基于MATLAB的时序逻辑电路设计与仿真.pdf

上传人:wj151****6093 文档编号:82092599 上传时间:2023-03-24 格式:PDF 页数:32 大小:1.48MB
返回 下载 相关 举报
基于MATLAB的时序逻辑电路设计与仿真.pdf_第1页
第1页 / 共32页
基于MATLAB的时序逻辑电路设计与仿真.pdf_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《基于MATLAB的时序逻辑电路设计与仿真.pdf》由会员分享,可在线阅读,更多相关《基于MATLAB的时序逻辑电路设计与仿真.pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-课程设计任务书 学生姓名:田鑫 专业班级:电子科学与技术 班 指导教师:钟毅 工作单位:信息工程学院 题目:基于的时序逻辑电路设计与仿真 初始条件:软件 微机 要求完成的主要任务:深入研究和掌握数字电路中时序逻辑电路的理论知识。利用强大的图形处理功能、符号运算功能和数值计算功能,实现时序逻辑电路的设计和仿真。一、以寄存器为例仿真下列波形 并行寄存器输出波形(以基本触发器构造);移位寄存器输出波形(用触发器构造)二、以双向移位寄存器为例实现子系统的设计和封装并仿真下列波形 位双向移位寄存器并行输出波形;位双向移位寄存器串行右移输出波形;位双向移位寄存器串行左移输出波形 三、以扭环计数器为例仿真

2、下列波形 扭环计数器的输出波形(以触发器实现)时间安排:学习语言的概况 第天 学习语言的基本知识 第、天 学习语言的应用环境,调试命令,绘图能力 第、天 课程设计 第天 答辩 第天 指导教师签名:年月日 系主任(或责任教师)签名:年月日 -目 录 摘 要 绪论 简介 程序设计 的 特 点 程序设计 文件 仿 真 设 计 创建和使用模型 选择和定制模块 建立和编辑模型 配置子系统 条件执行子系统 时序逻辑电路设计 锁存器和触发器 双稳态 锁 存 器 触 发 器 时序逻辑电路设计 移位寄存器 扭环计数器 基于的组合逻辑电路设计 以寄存器仿真波形 并寄存器的设计 移位寄存器的设计 以双向移位寄存器实

3、现子系统的设计和封装仿真波形 以扭环计数器为例仿真下列波形 收获、体会与建议 致谢 参考文献 -摘要 是当今最优秀的科技应用软件之一,具有强大的科学计算与可视化功能、简单易用、开放式可扩展环境。本文介绍了时序逻辑电路的设计和仿真,在这种电路中,任意时刻的输出信号不但取决于当时的输入信号,还取决于电路当时的状态,或者说,还与以前的输入有关。具备这种逻辑功能特点的电路叫做时序逻辑电路。时序逻辑电路中需要将某一时刻的电路状态进行存储,利用触发器组成寄存器和计数器。在时序逻辑电路的仿真的过程中,将使用到中的触发器模块。同时也介绍了仿真中的子系统的设计和封装,进一步介绍强大的数字处理功能。关键词:触发器

4、,寄存器,计数器,仿真,封装 -,.,.,.,.,.:,-绪论 和、并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用来解算问题要比用,等语言完成相同的事情简捷得多,并且也吸收了像等软件的优点,使成为一个强大的数学软件。在新的版本中也加入了对,的支持。可以直接调用,用户也可以将自己编写的实用程序导入到函数库中方便自己以后调用,此外

5、许多的爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。简介 是矩阵实验室()的简称,是美国公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括和两大部分。-的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 函数集)扩展了 环境,以解决这些应用领域内特定类型的问题。的特点 是当今最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计

6、算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。具有其他高级语言难以比拟的一些优点,编写简单,编程效率高,易学易懂,因此语言也被通俗地称为演算纸式的科学算法语言。在控制、通信、信号处理及科学计算等领域中,都被广泛地应用,已经被认可为能够有效提高工作效率、改善设计手段的工具软件,掌握了就好比掌握了开启这些专业领域大门的钥匙。的程序设计()行命令方式 行命令方式是在命令窗中写程序,每个程序只能是一行,因为计算机每次只能对一行命令做出反应,就像计算器那样工作。行命令方式适合于简单的语句编写。()程序文本方式 程序文本方式也叫程序文件模式,它是把多行语句写成一个程序,保存在一个文件名下,让

7、计算机来执行这个文件。程序文本方式的语句编写和修改是在文本编辑器中进行,它适合于复杂的语句编写 文件 文件的语法类似于语言,但又有其自身特点。它只是一个简单的码文本文件,执行程序时逐行解释运行程序,是解释性的编程语言。文件有两类:独立的文件 称命令文件;可调用文件 称函数文件。程序文本方式分成脚本文件和函数文件。仿真设计 是最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。-在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点已被广泛应用于控制理论和数字信号处理

8、的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于。创建和使用模型 通过可使用大量的预定义模块快速地推导、建模和维护系统详细的模块图。提供层次化建模、数据管理、定制子系统工具,无论工程师的系统有多复杂,都可以轻松完成简明精确的模型描述.选择和定制模块 包含广泛的用于对系统建模的模块库。这些库包括:.连续和离散动态模块,如和 .算法模块,如,.信号结构模块,如,可定制这些内联的模块或直接在中创建新的模块然后将其放置到自己的库中.额外的模块库扩展了的特殊应用功能,如对航空航天、通讯、无线电频率、信号处理、视频和图像处理和其他领域的应用.启动时可以在工具栏点击;同样也可以在命令窗口

9、中输入,结果是在桌面上出现一个称为的窗口,在这个窗口中列出了按功能分类的各种模块的名称;同样也可以通过单击主窗口菜单选择,弹出一个的模型窗口,再选择,弹出模块库窗口。图所示为窗口。-图窗口 建立和编辑模型 在使用时,从中拖放模块到图形编辑器、然后用线连接模块来建立模块之间的数学关系,从而完成模型的建立,同时可以通过使用图形编辑功能来对模型布局,如拷贝、粘贴、撤销、对齐、分布和改变尺寸等.使得在屏幕上的所见所用都可以得到全面控制。用户可以添加指令和子菜单到编辑器和文件菜单中,也可以对菜单、菜单项和对话框进行禁用和隐藏等控制.配置子系统 中的配置子系统可以在一个模型中将子系统与设计变量相关联,该功

10、能通过共享部件设计方式简化了设计过程和管理,因为一个模型可以代表一类设计.条件执行子系统 条件执行子系统可以通过控制逻辑信号的使能或非使能来改变系统的动态行为。在中用户可以根据特定的时间或事件来创建控制信号,使得子系统以使能或触发的模式来执行.同时,中提供了逻辑模块,可用于对简单的控制指令来建模,从而控制使能或触发子系统。-时序逻辑电路设计 时序逻辑电路在任一时刻的输出信号不仅与当时的输入信号有关,并且与原来状态有关。也就是说,时序电路中具有逻辑运算功能的组合电路外,还必须有能够记忆电路状态的存储单元或延迟单元,这些存储或延迟逻辑单元主要由锁存器或触发器来实现。时序电路是状态以来的,成为状态机

11、,时序逻辑电路具有以下特征:时序逻辑电路由组合电路和存储电路组成;时序逻辑电路的状态与时间因素相关,即时序电路在任一时刻的状态变量不仅是当前的输入信号的函数,而且还是电路以前状态的函数,时序电路的输出信号由输入信号和电路的状态共同决定。锁存器和触发器 双稳态 双稳态电路一般有一个输出端和两个输入端(“”、“”端各一个),当输入端的“”端有触发信号时,输出端不管原来是什么状态,都会立即变为高电平,且一直稳定地输出高电平。如果当输入端的“”端有触发信号时,输出端不管原来是什么状态,都会立即变为低电平,且一直稳定地输出低电平。锁存器 锁存器是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电

12、平作用下改变状态。输出端的状态不会随输入端的状态变化而变化,只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号。通常只有和两个值。图为基本锁存器,表为其真值表。表基本锁存器真值表 状态 维持 图基本锁存器 触发器 触发器()是一种可以存储电路状态的电子元件。最简单的是由两个或非门,两个输入端和两个输出端组成的触发器(见图)。复杂一些的有带时钟()段和()端,在端为高电平时跟随端状态,而在端变为低电平的瞬间锁存信号的触发器。更常用的是两个简单触发器级联而成的在时钟下跳沿所存信号的边缘触发器,广泛应用于计数-器、运算器、存储器等电子部件。常见的还有触发器和触发器。1.触发器 触发器基本表

13、示及状态图和真值表见下。图触发器逻辑符号 图触发器状态图 表触发器真值表 ,这是触发器满足的基本条件。2.触发器 触发器基本表示及状态图和真值表见下。其中DQn1。图触发器逻辑符号 图触发器状态图 表触发器真值表 )(01约束条件SRQRSQnn-3.触发器 触发器基本表示及状态图和真值表见下。nnnQKQJQ1 图触发器逻辑符号 图触发器状态图 表触发器真值表 时序逻辑电路设计 移位寄存器 移位寄存器:不但可以寄存数码,在移位脉冲作用下,寄存器中的数码还可根据需要向左或向右移动。基本(单向)移位寄存器()右移寄存器(触发器组成的位右移寄存器)-结构特点:左边触发器的输出端接右邻触发器的输入端

14、。图 右移寄存器逻辑图 图 右移寄存器状态图.双向移位寄存器 将右移寄存器和左移寄存器组合起来,并引入一控制端便构成既可左移又可右移的双向移位寄存器。QRC11D1DC1RQ1DC1RQ1DQRC1Q0Q1Q2Q3CPCRID串行输入串行输出D0D1D20FF1FF2FF3FF并 行 输 出D3RFF1DC13Q&1R1DC12FFQ&1R1DC11FFQ&1FF&C1R01DQ1111QQQQ1302CPCR串行输入SLD(左移)串行输入DSR(右移)串行输出DOR(右移)串行输出DOL(左移)移位控制SS=1:右移S=0:左移并 行 输 出-图 双向移位寄存器逻辑图 扭环计数器 扭环计数器

15、可以进一步提高电路状态的利用率,图所示扭环计数器,有效循环中的状态数提高至个,但电路仍无法自启动。图基本扭环计数器 图是可以自启动的扭环计数器,电路工作原理如下。图改进型扭环计数器()写方程式。驱动方程:n23n2n1n0n1n2n0n12n01n30QDQQQQQQQDQDQD 将驱动方程代入触发器的特性方程DQ1n,得到扭环计数器的状态方程。状态方程:n231n3n2n1n0n121n2n011n1n301n0QDQQQQQDQQDQQDQ()列状态转换真值表,画出状态转换图。CP1DC11DC11DC11DC1FF0FF1FF2FF3&CP1DC11DC11DC11DC1FF0FF1FF

16、2FF3-设扭环计数器现态n0n1n2n3QQQQ,代入状态方程进行推导,得表所示的状态转换真值表。表环形计数器状态转换真值表 计数脉冲 序号 现态 次态 n3Q n2Q n1Q n0Q 1n3Q 1n2Q 1n1Q 1n0Q 根据状态转换真值表,画出状态转换图,见图。图改进型扭环计数器状态转换图()检查电路自启动能力。经检查,该电路能够自启动。()画出电路时序图,见图。135CPQ0Q1Q27Q3-图改进型扭环计数器时序图 ()电路逻辑功能说明。由以上分析,位扭环计数器有效循环有种状态,可计个数。扭环计数器的优点是每次状态变化只有一个触发器翻转,译码器不存在竞争冒险现象,电路比较简单。缺点是

17、电路状态利用率仍然不高。基于的组合逻辑电路设计 以寄存器仿真波形 并寄存器的设计 这个设计中使用基本触发器构造一个为并行寄存器。所谓并行寄存器就是能够同时存储几个数据源数据的寄存器。(1)触发器功能介绍 中提供了基本触发器模块。首先运行中运行,然后新建一个模型,将触发器的模块添加到模型中,触发器位置是:.如图所示。然后在这个模块上右击鼠标,单击弹出菜单中的“”(查看下封装下的电路)命令,可以看到这个模块内部电路,如图所示。设计一个位并行寄存器需要两个触发器,而且需要这个寄存器下在一个始终的激Q3Q2Q1Q000000110110110110111111011111001010000101010

18、00111000110000010101-励下,先从输入端读入数据,并存储一段时间,然后在下个周期将信号输出,同时读入新的信号。这将需要将时钟源信号作为输入信号的控制端,同时由于输入信号不能同时为,所以最好将它们通过一个非门联系起来,使得它们永远分开为高定平。图触发器模块及内部电路(2)用基本触发器构造并行寄存器 第一步:添加模块有五个模块。触发器,.;时钟源,;脉冲源,;逻辑运算模块,;.将它们全部拖入一个新建模型中。第二步:修改模块参数 首先我们双击触发器模块,将会看到如图所示的对话框。在对话框里只有一个参数填写,就是触发器的初始状态,即端的初始值,默认值。复制两个。双击时钟源,将会看到图

19、所示对话框。填写参数时钟周期,采用默认值。接着讲逻辑运算模块复制个,通过双击模块将这个设置为输入与非门。-图触发器参数设置 图 时钟源参数设置 将脉冲源的选择。将表内容填入图所示的对话框中。并行寄存器脉冲源参数设置 幅度 周期 脉宽 延迟相位 抽样时间 图 脉冲源参数设置 最后将示波器输入端口该为个,完成参数设计。第三步:连线及仿真 将各模块摆放合适,参照图连线。示波器分别件事时钟源,两个脉冲模型和两个触发器的输出信号。完成连线,将示波器上的线通过双击进行标注。最后将整个模型保存在的的子目录下。仿真时间默认为秒,单击工具栏上图标,开始仿真。最后双击示波器观察输出波形,如图所示。-图位并行寄存器

20、电路图 图 并行寄存器输出 从波形看出,在时钟源位于低电平时,触发器输出维持它在时钟下跳前的值,对于输入的变化没有改变,而当时钟源位于高电平时,输入的信号全部送入输出端,这是一个不稳定的因素,也是电平触发的触发器的一个缺点。而且发现两个触发器完全独立工作,互不影响,这就是并行的特点。移位寄存器的设计 在这个设计中,将使用另一种触发器,触发器,来实现移位寄存器。所谓移位寄存器就是只能接收一个输入源的寄存器,它将这个输入依次通过寄存器堆进行缓存。-(1)触发器功能介绍 在上面的介绍中已讲过触发器的功能与其真值表,在这就不多概述。(2)用触发器构造移位寄存器 第一步:添加模块 方法同上,分别找到个模

21、块,触发器,时钟源,单位延迟单元,常数源,脉冲源,示波器。运行,将这些模块拖入新建模型中。第二步:修改模块参数 触发器复制个即可,时钟源依然默认即可,双击单位延时模块,可以看到对话框,修改参数初始值为,抽样时间改为,复制这个单元个。脉冲源设置幅度为,周期为,脉宽为,相位延迟为,采样时间为。然后将这个脉冲命名为。常数源设置为,最后将示波器输入端设置为个。第三步:连线及仿真 将各模块摆放整齐,参照图连线。然后同样保存好。单击菜单下的命令,将仿真时间设为秒,单击工具栏中的运行图标,开始仿真。然后双击示波器观察波形,如图所示。图位移位寄存器-图 移位寄存器输出波形 由图看出在时钟信号上升沿,各个触发器

22、的输出端才会变化。而且四个触发器的输出一次延时一个周期,这个分析一致。以双向移位寄存器实现子系统的设计和封装仿真波形 这个设计以基本触发器为基础,一步步完成比较大的系统,四位双向移位寄存器,并介绍子系统的封装,最后完成顶层文件。首先介绍的功能,它能够提供串行寄存器和移位寄存器两种功能。器内部是沿触发的触发器。()带职位复位的触发器设计 首先要改装触发器,使其具有置位和复位端,加强其功能。得到带置位复位端的触发器如图所示。下面简述一下此过程。-图 带置位端的下降沿触发的触发器 首先启动,然后将一个子系统()添加到一个新建模型中。然后双击打开这个子系统,将触发器添加一个到其中。然后再加入两个逻辑运

23、算模块,都改为二输入与门然后再加入个输入端口,和个输出端口,分别命名为置位端,复位端,然后按图连接各自重新命名。这将触发器加上置位端和复位端。并且双击 将改为。(2)四位双向移位寄存器子系统的设计和封装 第一步:电路设计 有十个输入端口,个输出端口。其中三个是控制信号(、),一个时钟信号(),还有两个串行输入端口(、),个必行输入端口()。控制端对工作状态的控制如表所示。表工作状态 工作状态 *清零 保持 右移 左移 并行输入-这个系统由个下降沿触发的触发器构成。同时需要其他逻辑功能非常多,最后实现如图的内部电路。图内部电路 分别将每个触发器双击设置初始值依次为、。然后按照图所示将电路连接完成

24、,圈器电路,然后单击“”菜单下的“”命令,生成一个子系统,并命名为,就可以生成子系统的设计。然后保存。第二步:封装子系统 首先单击子系统,然后再“”菜单下选择”命令,只是出现对话框:。如图所示,将这个对话框设置好。-图 中设置 图 中设置 首先设置页,左侧 下有四个栏目,依次设置为、。在右侧的中填写如下命令:(双向移位寄存器)()其中“”是使用回车的命令。然后设置页,单击,添加一个新的内容,在栏下填入“触发器初始状态”,然后在栏内填入“”。然后依次按图填入如图所示个内容,其他则不需改动。最后设置页,在项内填写;在下填入“这个模块是双向移位寄存器(),既可以进行双向移位,又可以串行输入输出。”在

25、下填入如下内容:-用于将所有输出清零,低电平有效;时,所有输出保持原有值;时,处于数据右移的状态,将右移;时,处于数据左移的状态,将左移;时,处于数据并行输出状态,将并行输出。就完成了对最后一页的设置如图所示。图 中设置 然后单击“”就可以完成封装后的模块了。然后双击该模块出现如图所示的对话框。-图 封装后模块的对话框 单击“”出现帮助内容。如图所示。图 封装后模块窗口(3)完成仿真电路并进行仿真 在完成模块封装后,我们设置下外围电路,如图所示。添加入个脉冲源,一个时钟源,-然后加入示波器,改为输入。显示个输出信号和时钟波形。图 双向移位寄存器顶层图 各个脉冲源参数设置参照表.表的脉冲参数设置

26、 幅度 周期 脉宽 相位延迟 抽样时间 最后根据开关的状态,分别决定工作状态。通过开关将设置成,然后点击工具栏运行,开始仿真。可以看到并行输出的波形,任意图所示;置成,观察右移的波形,如图所示;置成,观察右移的波形,如图所示。从波形看到实现的各种功能。-图并行输出波形 图串行右移输出波形-图串行左移输出波形 以扭环计数器为例仿真下列波形 设计扭环计数器内部电路和封装 扭环计数器内部电路如图所示。图 扭环计数器内部电路 先运行,然后新建一模型,添加一个子系统,然后双击打开该模块,将图绘入其中。-下面进行参数设置。四个触发器初始值设置为、。相应的单位延时模块也同它连接的端一致。然后单击顶层文件进行

27、封装。按照前边的步骤即可,设置完成后,双击这个模块,可以看到图所示内容,设置其出示值,设置为即可,输入时应输入。图 扭环计数器封装后的对话框 然后在做顶层文件的设计,添加增益、相加器、仿真时间和平面图模块。这样可以用十进制的方式观察输出。再加入时钟源即可。进行参数设置,时钟源周期外围,平面模块的横坐标范围设为到,纵坐标设置为到。然后单击命令,将仿真时间改到秒。保存文件。然后单击运行。观察波形,如图所示。图 扭环计数器的输出 收获、体会与建议 -通过这次课设,我认识到了功能非常的强大,使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的变成效率。我也熟悉了的工作环

28、境,可以很熟练的对进行常规的操作,快速进行程序编辑和仿真。本文次课设通过一个设计实例,利用实现时序逻辑电路的设计与仿真,从仿真结果可以看出它们均可以达到技术指标要求,而且方法简单、快捷,大大减轻了工作量。我对本次设计的结果还比较满意,经过一周的设计、分析,终于圆满的完成此次课程设计。虽然在这个过程中也遇到一些困难,但通过与同学的交流和自己查资料,我对有了更深的体会。通过本次设计我感觉到自己对的仿真不是很熟悉,在用到所需元件时都要进行查阅,在今后要进一步增加自己的学习,提高自己汇编技能。在本次设计中主要是应用各种基本组合逻辑器件的真值表化简出对应的逻辑表达式,然后根据这些逻辑表达式在环境下画出对

29、应的原理图,设定了初始信号之后就可以得到相应的输出波形。在完成所有的设计后,由于本设计所需的逻辑单元种类单一,因此感觉本次设计并没有想象中的那么难,但是对于中的其他函数并不是十分了解,在以后的学习中需要加强其他方面的学习和应用。本次设计需要我们熟悉的一些函数的基本功能以及它们的基本语句。当然,经过了课程设计,我也发现了自己的很多不足。但是通过自己的动手动脑,既增加了知识,又给了我专业知识以及专业技能上的提升,我也会更加努力,认真学习,争取在以后的课程中做得更好!致谢 通过这次课设,我学到了不少东西,很感谢在这次报告中给予过我帮助的老师和同学,再搜集资料时遇到了许多困难,受到了许多人的帮助,很感

30、激他们为我这次报告所做的贡献。这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多软件上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提-高了自己的设计能力。最后,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计上的难题。同时也感谢学院为我提供良好的做设计的环境,提高了自己自己动手学习与制作的能力,得到了成长。参考文献 张志涌.精通版(第一版).北京:北京航空航天大学出版社,.阮沈勇、王永利.程序设计.北京:电子工业出版社,.-黄忠霖、黄京著.符号运算及其应用.北京:国防工业出版社,.陈怀琛.及在电子信息课程中的应用.北京:电子工业出版社,.康华光.电子技术基础数字部分(第五版).高等教育出版社.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁