




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录摘词 22 同步时序逻辑 电路的设计方法 22 .1同步时 序 逻辑电路的概述 22 . 2 同 步 时 序 逻 辑 电 路 的 一 般 设 计 方 法 3 3 同 步 N 进 制 计 数 器 的 设3.1同步二进制加法计数器的设3.2 带进位输出端的十三进制计数器的设计 83 . 2 . 1 具 体 电 路 实 现 83.2.2 电路自启动检查 12 4 仿 真 的 实 现 1 34 . 1 仿 真 的 原 理 134 . 2 仿 真 与 结 果 分 析 14 5结 论 1 5 6 心 得 体 会 1 5 附:参考文同步 N进制计数器的设计与仿真摘 要:本课程设计首先从一般方法入手,介绍
2、了同步时序电路设计的方法过程,然后将此方法应用于同步二进制电路的设计, 再在同步二进制计数器的基础上进行分析给出十三进制电路状态方 程、卡诺图,得到带进位输出端得十三进制计数器的设计,最后用MUX+plus2对所得电路进行仿真,验证设计,并对电路延时等性能进行分析。关键词: 同步时序逻辑电路,同步二进制计数器,带进位输出端得十三进制计数器, MUX+plus2Synchronous N into system design and simulation of the counterAbstract: Our course is designed from the general method
3、of first, which introduced the synchronization method of sequential circuits design process, and then the method is used in synchronous binary circuit design, and on the basis of synchronous binary counter analysis given ten ternary circuit state equation, cano figure, to get a carry the output to t
4、en ternary counter design, final with MUX + plus2 of the circuit, and simulation test design, and the circuit such as delay performance analysis.Keywords: synchronous sequential logic circuit, synchronous binary counters, binary counter thirteen with carry out , MUX+plus21 引言计数器是用来累计时钟脉冲个数的时序逻辑部件, 在
5、数字电路中, 我们把记忆输入 CP脉冲个数 的操作叫做计数,把能实现计数状态的电子电路称为计数器。计数器也是数字系统中用途最广泛的 基本部件之一,几乎在各种数字系统中都有计数器。它不仅可以计数,还可以对CP脉冲分频,以及构成时间分配器或时序发生器,对数字系统进行定时、程序控制操作。此外,还能用它执行数字运 算,是数字电路中使用最多的一种时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于 分频、定时,产生节拍脉冲和脉冲序列以及进行数字运算等。计数器的种类很多,从不同的角度出 发,有不同的分类方法:按照计数进位制的不同,可分为二进制计数器、十进制计数器和N 进制计数器;按照计数器中的触发器是
6、否同时动作分类,可把计数器分为同步计数器和异步计数器;按照 计数器中所表示的数字的变化规律是递增还是递减来分,有加法计数器、减法计数器和可逆计数器 (递增计数的称为加法计数器, 递减计数的称为减法计数器, 既可递增又可递减的称为可逆计数器 ) 。目前市场上所具有的计数器大多是二进制或是十进制计数器,而较少使用十三进制的计数器, 除非是在专用的集成电路中,因此设计性能好、速度快的十三进制计数器是有一定市场前景的。目 前主要采用两种设计方法来进行计数器的设计, 第一种为采用传统的硬件电路设计方法来设计硬件, 第二种为采用 HDL语言来设计系统硬件。电子设计自动化的普及与CPLD/FPGA器件的广泛
7、应用,使得计数器的设计变得非常容易。其中可编程计数器使用方便,灵活,能满足工程上的多种应用。计数器是时序电路但也有其特点:第一,计数器一般将触发器的输出直接构成电路的输出,在 分析电路时往往只有状态方程而没有输出方程。第二,计数器电路直接将时钟信号作为输入信号。 除了时钟信号以外,大部分电路没有其他输入。尽管计数器有上述特点,对他们的分析方法还是与 其他时序电路一样,只是状态图和状态表略有不同。本文中先对同步时序电路的一般方法进行介绍,然后根据一般方法设计带进位输出端的十三进 制计数器电路,最后用 MUX+plus2 对电路进行仿真验证并分析其性能。2 同步时序逻辑电路的设计方法2.1 同步时
8、序逻辑电路的概述与组合逻辑电路不同,时序电路具有记忆功能,并且当时的输出和信号的历史有关,所以时序 电路中除了包含组合逻辑电路之外,还包含有记忆单元。记忆单元的输出逻辑组合被称为时序电路 的状态。状态只有在驱动信号来到之时发生改变。无论是时钟驱动还是事件驱动,在两次驱动间隔 期间,系统的状态保持不变。x1x2y2Y2图 1 时序电路的基本框架时序电路又可以细分为摩尔型和米利型:摩尔模型中,时序电路在tk 时刻的输出仅于当时刻的现态有关,而与当前输入无关。米利模型中,时序电路在tk 时刻的输出不仅与现态有关,并且与tk时刻的输入也有关。输入变量激励输出变量组合电路时钟记忆电路(触发器)组合电路图
9、2 同步时序电路的米利模型输入 输出图 3 同步时序电路的摩尔模型本课程设计中所要设计的计数器的工作特点是在时钟信号操作下自动地依次从一个状态转为下 一个状态,所以它没有输入逻辑变量,只有进位输出信号。因此是属于摩尔型的一种简单时序电路。2.2 同步时序逻辑电路的一般设计方法 分析电路的功能要求或者时序图,设计描述该电路的有限状态机任何一个同步时序电路,在大多数情况下问题是以自然语言描述的,所以电路设计的第一步也是最为关键的一步,就是通过分析自然语言所能表达的功能要求,列出该问题的状态转换表或者状 态转换图。状态状态转换表或者状态转换图实际上可以表达该时序电路的所有信息,这样描述的时序电路 也
10、称为状态机。时序电路通常可以用一个通用模型来表示,就是有限状态机。所谓有限,是指在该 状态机中的状态数是有限的,包含的信息量也是有限的。有限状态机要求可以在有限的状态内完成 一个时序电路的所有操作。大部分实际时序电路问题可以满足这一限制,通常涉及时序电路的第一 步就是设计一个有限状态机的问题。事实上设计有限状态机的过程还可以进一步细分为以下几个步骤:(1) 确定采用何种模型(米利模型还是摩尔模型)来实现有限状态机;(2) 根据问题的描述得到一个初步的状态转换表或者状态转换图;(3) 分析得到的状态转换表或者状态转换图。 对其中的冗余状态进行化简, 得到一个最初简单的 状态机。 用实际的逻辑电路
11、(触发器和其他组合逻辑电路)实现上述有限状态机 上一步骤属于抽象的逻辑设计,而这一部分将是具体的实际设计过程。在这一过程中,要用 具体的触发器和组合电路来完成上一步得到的有限状态机。 具体来说这一过程也可以分成若干步骤: (1)状态编码,也就是给每一个状态赋予一个适当的二进制码;(2) 确定采用何种具体的触发器,根据状态编码和触发器类型,从有限状态机的状(3) 态转换关系得到电路的状态激励表;(4) 根据状态激励表得到触发器的激励方程,根据状态转换表得到电路的输出方程,根据电路 的具体要求化简这两组方程,得到它们最合适的表达式;(5) 由上述表达式得到最终的逻辑电路图。3 同步 N 进制计数器
12、的设计我们计算机中所用进制是二进制, 数字电路设计中也是很容易用 0 和 1 来表示两种不同的状态, 因此在数字电路设计中也是以二进制为基础的。本文要设计的带进位输出端的十三进制计数器需以 同步二进制计数器为基础。下面首先对同步二进制加法计数器的逻辑电路、驱动方程、状态方程、 输出方程等进行分析,然后在其基础上分析十三进制计数器的设计。3.1 同步二进制加法计数器的设计根据二进制加法运算规则可知,在一个多位二进制数的末位加1 时,若其中第 i 位(既任何一位)一下各位皆为 1 时,则第 i 位应改变状态(有 0 变成 1,或者有 1 变成 0)。而最低位的状态在 每次加 1 时都要改变状态。同
13、步计数器通常由 T 触发器构成,其结构形式有两种。一种是控制输入端 T 的状态。当每次T 1 T 0CLK 信号 (也就是计数脉冲 )到达时, 是该翻转的那些触发器输入控制端 Ti 1,不该翻转的 Ti 0另一种形式是控制时钟信号,每次计数脉冲到达时,只能加到该翻转的那些触发器的 CLK 输入端 上, 而不能加给那些不该翻转的触发器。同时, 将所有的触发器接成 T 1的状态。这样就可以用计数器电路的不同状态来记录输入的 CLK 脉冲数目。 由此可知,当通过 T端的状态控制时,第 i 位触发器输入端的逻辑式应为i1Ti Qi 1 Qi 2 . Q1 Q0Qjj 0 (i 1,2, .n. 1)只
14、有最低位例外,按照计数规则,每次输入计数脉冲时它都要翻转,故 T 式结成的四位同步二进制加法计数器。由图可见,各触发器的驱动方程为T0 1T1 Q0T2 Q0Q1T3 Q0Q1Q2将上式代入 T 触发器的特性方程式得到电路的状态方程Q0* Q0 Q1* Q0Q1 Q0Q1Q2* Q0Q1 Q2 (Q0 Q1 )Q2Q3* Q0Q1Q2Q3 (Q0Q1Q2 ) Q3 电路的输出方程为 b C Q0Q1Q2Q3 根据状态方程和输出方程求出电路的状态转换表, 如表 1 所示。利用第(1)=1。图 4 就是按( 1)2)(3)(4)16 个计数脉冲到达时C 端电位的下降可作为向高位计数器电路进位的输出
15、信号。表 1 电路的状态转换表计数脉冲电路状态等效十进制数进位输出CQ3Q2Q1Q0000000010001102001020300113040100405010150601106070111708100080910019010101010011101111012110012013110113014111014015111115116000000图 4 同步二进制计数器的时序图- 6 -图 5 用 T 触发器构成的同步二进制加法计数器图 4 为所示电路的时序图。由时序图可以看出,若计数输入脉冲的频率为f0 ,则 Q0、 Q1、Q2和 Q3 端输出脉冲的频率将依次为12f0、14、81 f 0和
16、 16 。针对计数器的这种分频功能,也将它称为分频器。此外,每输入 16个计数脉冲计数器工作一个循环, 并在输出端 C 产生一个进位输出信号, 所以 又将这个电路称为 16 进制计数器。 计数器中能计到的最大数称为计数器的容量, 它等于计数器所有 各位全为 1时数值。 n 位二进制计数器的容量等于 2n-1。在实际生产的计数器芯片中,往往还会附加一些控制电路,以增加电路的功能和使用的灵活性。 例如增加预置数、保持和异步置零等附加功能。3. 2 带进位输出端的十三进制计数器的设计3.2.1 具体电路实现 首先进行逻辑抽象,因为计数器的工作特点是在时钟信号操作下依次从一个状态转为下一个 状态,所以
17、它没有输入逻辑变量,只有进位输出信号。因此计数器属于摩尔型的一种简单时序电路。 取进位信号为输出逻辑变量 C,同时规定有进位输出时 C=1,无进位输出时 C=0。十三进制计数器应 该有十三个有效状态,若分别用 S0S1S12来表示,则按照题意可以画出,如图5 所示的电路状 态转换图。图 6 状态转换图由于 23 13 2 4 ,故应取触发器的位数 n=4。假如对状态分配无特殊要求,可以取自然二进制数的00001100 作为 S0 S12 的编码。于是得 到了表 2 中的状态编码。由于电路的次态 Q3* Q2* Q1* Q 0*和进位输出 C唯一地取决于电路现态 Q3Q2Q1Q0取值,故可根据表
18、2 画出表示次态逻辑函数和进位输出函数的卡诺图,如表 3 所示。因为计数器正常工作时不会出现1101,1110 和 1111的三个状态,所以可以将 Q3Q2Q1Q0和 Q3Q2Q1Q0以及 Q3Q2Q1Q0 三个最小项作为约束项处理,在卡诺图中用 X 表示。表 2 电路的状态转换表状态变化 顺序状态编码进位输 出 C等效十进制 数Q3Q2Q1Q0S0000000S1000101S2001002S3001103S4010004S5010105S6011006S7011107S8100008S9100109S101010010S111011011S121100112S0000000为了清晰可见图
19、7 中的卡诺图分解为图 8 中的所示的五个卡诺图, 分别表示 Q3*, Q2*,Q1* , Q0*和 C 这五个逻辑函数。从这些卡诺图得到电路的状态方程方程为5)Q3*=Q3Q2 Q2Q1Q0Q2*=Q3 Q2Q1 Q3Q2Q0 Q2 Q1Q0Q1*=Q1 Q0 Q1Q0Q0*= Q3Q0 Q2Q0 输出方程为 C=Q3Q2(6)Q1Q0Q3Q200011110000001/00010/00100/00011/0010101/00110/01000/00111/0110000/1xxxx/xxxxx/xxxxx/x101001/01010/01100/01011/0Q1Q0Q3Q2000111
20、10000000010010110xxx101111(a) Q3*Q1Q0Q3Q20001111000001001110111xxxx1000xx(b) Q2*QQQ1Q0Q3Q200011110001001011001110xxx101001- 10 -图 7 Q3* Q2* Q1* Q0*/C 的卡诺图Q1Q0Q3Q200011110000000010000111xxx100000(e) C 图 8 卡诺图分解如果选用 JK触发器组成这个电路,则( 5)式的状态方程变换成 JK 触发器特性方程的标准形式,即 Q* JQ K Q ,然后就可以找出驱动方程了。为此,将式(5)改写成Q3* Q3
21、Q2 Q2Q1Q0(Q3 Q3) (Q2 Q1Q0 )Q3 Q2 Q3Q2* (Q0Q1)Q2 (Q3 (Q1Q0 )Q22 0 1 2 3 1 0 2Q1* Q0Q1 Q0Q1(7)Q0* (Q3 Q2 )Q0 1Q0 (Q3Q2 )Q0 1Q0在变换 Q3* 的逻辑式时,删去了约束项Q3Q2Q1Q0 。将( 7)式中的各逻辑式与 JK 触发器的特性方程对照,则各个触发器的驱动方程应为J3Q2Q1Q0K3 Q2J2Q1Q0K2 (Q3 (Q1Q0)J1Q0K1 Q0J0(Q3Q2)K 0 1(8)- 11 -根据( 6)式和( 8)式花的计数器的逻辑图为图 9 十三进制计数器原理图3.2.2
22、 电路的自启动检查我们在设计电路时 , 有时会遇到电路不能自启动问题 . 当电路不能自启动时 , 一般是不能应用于 生产实践中的 , 而必须对电路进行修改。 在本文中我们从电路的状态流程图中可以知道, 电路的有效 状态是 0000 至 1100,无效状态时 1101,1110 和 1111,将这三个无效状态代入( 7)式中计算得到 它们的次态分别为 0010 ,0010 和 0000,也就是说此电路能够完成自启动。下图为它完整的的状态转换图图 10 完整的状态转换图- 12 -4 仿真的实现4.1 仿真的原理本文使用了 MAX+plus II 对设计的电路进行设计仿真。Max+plus 是 A
23、ltera 公司提供的 FPGA/CPLD开发集成环境, Altera 是世界上最大可编程逻辑器 件的供应商之一。 Max+plus 界面友好, 使用便捷, 被誉为业界最易用易学的 EDA软件。在 Max+plus 上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结 构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。它有如下特点 :1、开放的界面Max+plus 支持与 Cadence, Exemplarlogic ,Mentor Graphics , Synplicty , Viewlogic 和其 它公司所提供的 EDA工具接口。2、与结
24、构无关Max+plus 系统的核心 Complier 支持 Altera 公司的 FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、 MAX5000和 Classic 可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设 计环境。3、完全集成化Max+plus 的设计输入、处理与较验功能全部集成在统一的开发环境下,这样可以加快动态调 试、缩短开发周期。4、丰富的设计库Max+plus 提供丰富的库单元供设计者调用, 其中包括 74 系列的全部器件和多种特殊的逻辑功 能( Macro-Function )以及新型的参数化的兆功能( Mage-Functi
25、on )。5、模块化工具 设计人员可以从各种设计输入、处理和较验选项中进行选择从而使设计环境用户化。6、硬件描述语言( HDL)Max+plus 软件支持各种 HDL设计输入选项,包括 VHDL、Verilog HDL和 Altera 自己的硬件描 述语言 AHDL。7、Opencore 特征Max+plus 软件具有开放核的特点,允许设计人员添加自己认为有价值的宏函数 在本文中我们要用到它的 CPLD/FPGA设计 N 仿真功能。- 13 -4.2 仿真与结果分析下面将对带进位输出端的十三进制计数器电路进行比较全面的仿真。本设计为带进位输出端的十三机制计数器,首先要生成仿真波形文件,在生成仿
26、真波形文件以 后,则可以开始进行仿真,此时观察的便是其时序波形图,研究电路随其时钟信号的到来而出现相 应的脉冲;但仿真结果从波形上来看,很难给出定量的信号延迟关系,所以还要进行定时分析。当 完全满足要求后就可以通过编辑器下载到指定的芯片中去,以生成 ASIC 芯片。(1) 时序波形图图 11 时序波形图从时序波形图中, 我们可以了解到电路为上升沿有效。 当清零端 CLR 为低电平时, 电路回到 0000 的初始状态。在 CLR 为高电平且时钟上升沿到来时,计数器的数值加1,重复一直加到 11,此时当下一个时钟上升沿到来时, 计数器的输出翻转为 1100也就是 12,同时进位输出 C变为 1,并
27、维持一 个时钟周期,当再下一个时钟上升沿来到时,计数器输出变成 0000,进位输出端也恢复低电平,电 路进入到下一个循环周期中。如此周而复始。由我们对电路时序波形图的分析可以验证之前电路设计的正确性, 从功能上来讲我们已经完成时 带进位输出端的十三进制计数器的设计。但是作为时序电路,一个非常重要的方面延时,在时 序波形图中不能得到比较直接的反应,因此下面我们将对本电路进行定量的延时分析。(2) 延时定性分析图 12 电路延时- 14 -由上图可以知道, 当时钟上升沿到来时, Q0延时 2.8ns,Q1延时 2.8ns, Q2延时 2.8ns, Q3延时 2.8ns。 C 的输出延时 7.4ns
28、。电路越复杂其延时就会越长,分析也会越复杂。过长的延时对于高速的时序电 路来说是致命的尽管在设计时没有既定的规律但一个设计的大致规则是:在能实现的电路预定功能 的前提下,尽量使用少的元件。(3) 最后生成芯片图13gdfQ2CLKQ0Q1Q3KOCLR图 13 最后芯片5 结论在本次课程设计中,进行了带进位输出端的十三进制计数器的设计然后再使用 MUX+plus2 软件 进行仿真和时序波形图的分析验证了设计的正确性。通过对电路延时的分析,我们可以对时序电路 中的延时有一个定量的了解,对于高速数字电路来说这是一个限制电路速度的关键问题,减少电路 的延时成了一个非常具有实际意义的研究。减少电路延时大体有两种,一种是通过改进生产设备, 可以生产出具有较少延时的门器件,但这是以高昂的价格为代价的。另一个减少模块延时的方法是 靠设计者遵循一定得设计规则,通过化简逻辑表达式以及优化布线布图来减少延时,后者正是我们 作为数字电路设计者所要重视并在平时认真学习积累经验的地方。6 心得体会在本次课程设计的过程中,我们通过查找资料、文献,反复研究了数字逻辑电路基础及其相关 知识,在有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外国教育史试题及答案
- 甜心小米测试题及答案
- 土木目标控制试题及答案
- 2025年域名更新注册管理协议
- 2025年建筑安装劳务分包协议样本
- 2025年夫妻债务承担协议标准文本
- 综合管线与设备安装在施工中的协调与管理
- 教联体发展中的师生互动模式创新
- 推动健美操创新的背景意义及必要性
- 区域影视产业链的优化与产业升级路径
- T/CEPPEA 5028-2023陆上风力发电机组预应力预制混凝土塔筒施工与质量验收规范
- 2025年大学英语四级真题试卷及答案
- 2025年大学生心理健康教育试题及答案
- GB 5768.1-2025道路交通标志和标线第1部分:总则
- 2025年商业模式创新能力考试卷及答案
- 2025山西太原化学工业集团有限公司所属企业社会招聘100人笔试参考题库附带答案详解
- 2025年国际关系与外交专业考试试题及答案
- 涉外投资协议书
- 2025年物流行业安全生产考试题库(物流安全生产法规与事故处理)试题
- 第一单元:列方程解应用题“压轴版”专项练习-2023-2024学年五年级数学下册典型例题系列(解析版)苏教版3
- 完善土地清表协议书
评论
0/150
提交评论