




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录摘要1关键词11 引百22 同步时序逻辑电路的设计方法22 .1同步时序逻辑电路的概述23 .2同步时序逻辑电路的一般设计方法34 同步N进制计数器的设计43.1同步二进制加法计数器的设计53.2带进位输出端的十三进制计数器的设计83.2.1 具体电路实现83.2.2 电路自启动检查124仿真的实现134 .1仿真的原理135 .2仿真与结果分析146 结论157 心得体会15附:参考文同步NS制计数器的设计与仿真摘要:本课程设计首先从一般方法入手,介绍了同步时序电路设计的方法过程,然后将此方法应用于同步二进制电路的设计,再在同步二进制计数器的基础上进行分析给出十三进制电路状态方程、卡诺图
2、,得到带进位输出端得十三进制计数器的设计,最后用MUX+plus浏所得电路进行仿真,验证设计,并对电路延时等性能进行分析。关键词:同步时序逻辑电路,同步二进制计数器,带进位输出端得十三进制计数器,MUX+plus2SynchronousNintosystemdesignandsimulationofthecounterAbstract:Ourcourseisdesignedfromthegeneralmethodoffirst,whichintroducedthesynchronizationmethodofsequentialcircuitsdesignprocess,andthenthem
3、ethodisusedinsynchronousbinarycircuitdesign,andonthebasisofsynchronousbinarycounteranalysisgivententernarycircuitstateequation,canofigure,togetacarrytheoutputtotenternarycounterdesign,finalwithMUX+plus2ofthecircuit,andsimulationtestdesign,andthecircuitsuchasdelayperformanceanalysis.Keywords:synchron
4、oussequentiallogiccircuit,synchronousbinarycounters,binarycounterthirteenwithcarryout,MUX+plus21引言计数器是用来累计时钟脉冲个数的时序逻辑部件,在数字电路中,我们把记忆输入CP脉冲个数的操作叫做计数,把能实现计数状态的电子电路称为计数器。计数器也是数字系统中用途最广泛的基本部件之一,几乎在各种数字系统中都有计数器。它不仅可以计数,还可以对CP脉冲分频,以及构成时间分配器或时序发生器,对数字系统进行定时、程序控制操作。此外,还能用它执行数字运算,是数字电路中使用最多的一种时序逻辑电路。计数器不仅能用于
5、对时钟脉冲计数,还可以用于分频、定时,产生节拍脉冲和脉冲序列以及进行数字运算等。计数器的种类很多,从不同的角度出发,有不同的分类方法:按照计数进位制的不同,可分为二进制计数器、十进制计数器和N进制计数器;按照计数器中的触发器是否同时动作分类,可把计数器分为同步计数器和异步计数器;按照计数器中所表示的数字的变化规律是递增还是递减来分,有加法计数器、减法计数器和可逆计数器(递增计数的称为加法计数器,递减计数的称为减法计数器,既可递增又可递减的称为可逆计数器)。目前市场上所具有的计数器大多是二进制或是十进制计数器,而较少使用十三进制的计数器,除非是在专用的集成电路中,因此设计性能好、速度快的十三进制
6、计数器是有一定市场前景的。目前主要采用两种设计方法来进行计数器的设计,第一种为采用传统的硬件电路设计方法来设计硬件,第二种为采用HDL语言来设计系统硬件。电子设计自动化的普及与CPLD/FPG瑞件的广泛应用,使得计数器的设计变得非常容易。其中可编程计数器使用方便,灵活,能满足工程上的多种应用。计数器是时序电路但也有其特点:第一,计数器一般将触发器的输出直接构成电路的输出,在分析电路时往往只有状态方程而没有输出方程。第二,计数器电路直接将时钟信号作为输入信号。除了时钟信号以外,大部分电路没有其他输入。尽管计数器有上述特点,对他们的分析方法还是与其他时序电路一样,只是状态图和状态表略有不同。本文中
7、先对同步时序电路的一般方法进行介绍,然后根据一般方法设计带进位输出端的十三进制计数器电路,最后用MUX+plus2对电路进行仿真验证并分析其性能。2同步时序逻辑电路的设计方法2.1 同步时序逻辑电路的概述与组合逻辑电路不同,时序电路具有记忆功能,并且当时的输出和信号的历史有关,所以时序电路中除了包含组合逻辑电路之外,还包含有记忆单元。记忆单元的输出逻辑组合被称为时序电路的状态。状态只有在驱动信号来到之时发生改变。无论是时钟驱动还是事件驱动,在两次驱动间隔期间,系统的状态保持不变。x1x2y2Y2图1时序电路的基本框架时序电路又可以细分为摩尔型和米利型:摩尔模型中,时序电路在tk时刻的输出仅于当
8、时刻的现态有关,而与当前输入无关。米利模型中,时序电路在tk时刻的输出不仅与现态有关,并且与tk时刻的输入也有关。输入变量激励输出变量组合电路时钟记忆电路A(触发器)组合电路图2同步时序电路的米利模型输入输出图3同步时序电路的摩尔模型本课程设计中所要设计的计数器的工作特点是在时钟信号操作下自动地依次从一个状态转为下一个状态,所以它没有输入逻辑变量,只有进位输出信号。因此是属于摩尔型的一种简单时序电路。2.2 同步时序逻辑电路的一般设计方法 分析电路的功能要求或者时序图,设计描述该电路的有限状态机任何一个同步时序电路,在大多数情况下问题是以自然语言描述的,所以电路设计的第一步也是最为关键的一步,
9、就是通过分析自然语言所能表达的功能要求,列出该问题的状态转换表或者状态转换图。状态状态转换表或者状态转换图实际上可以表达该时序电路的所有信息,这样描述的时序电路也称为状态机。时序电路通常可以用一个通用模型来表示,就是有限状态机。所谓有限,是指在该状态机中的状态数是有限的,包含的信息量也是有限的。有限状态机要求可以在有限的状态内完成一个时序电路的所有操作。大部分实际时序电路问题可以满足这一限制,通常涉及时序电路的第一步就是设计一个有限状态机的问题。事实上设计有限状态机的过程还可以进一步细分为以下几个步骤:(1)确定采用何种模型(米利模型还是摩尔模型)来实现有限状态机;(2)根据问题的描述得到一个
10、初步的状态转换表或者状态转换图;(3)分析得到的状态转换表或者状态转换图。对其中的冗余状态进行化简,得到一个最初简单的状态机。 用实际的逻辑电路(触发器和其他组合逻辑电路)实现上述有限状态机上一步骤属于抽象的逻辑设计,而这一部分将是具体的实际设计过程。在这一过程中,要用具体的触发器和组合电路来完成上一步得到的有限状态机。具体来说这一过程也可以分成若干步骤:(1)状态编码,也就是给每一个状态赋予一个适当的二进制码;(2)确定采用何种具体的触发器,根据状态编码和触发器类型,从有限状态机的状(3)态转换关系得到电路的状态激励表;(4)根据状态激励表得到触发器的激励方程,根据状态转换表得到电路的输出方
11、程,根据电路的具体要求化简这两组方程,得到它们最合适的表达式;(5)由上述表达式得到最终的逻辑电路图。3同步N进制计数器的设计我们计算机中所用进制是二进制,数字电路设计中也是很容易用0和1来表示两种不同的状态,因此在数字电路设计中也是以二进制为基础的。本文要设计的带进位输出端的十三进制计数器需以同步二进制计数器为基础。下面首先对同步二进制加法计数器的逻辑电路、驱动方程、状态方程、输出方程等进行分析,然后在其基础上分析十三进制计数器的设计。2.1 同步二进制加法计数器的设计根据二进制加法运算规则可知,在一个多位二进制数的末位加1时,若其中第i位(既任何一位)一下各位皆为1时,则第i位应改变状态(
12、有0变成1,或者有1变成0)。而最低位的状态在每次加1时都要改变状态。同步计数器通常由T触发器构成,其结构形式有两种。一种是控制输入端T的状态。当每次T.1T0CLK信号(也就是计数脉冲)到达时,是该翻转的那些触发器输入控制端Ti不该翻转的Ti0另一种形式是控制时钟信号,每次计数脉冲到达时,只能加到该翻转的那些触发器的CLK输入端上,而不能加给那些不该翻转的触发器。同时,将所有的触发器接成T=1的状态。这样就可以用计数器电路的不同状态来记录输入的CLK脉冲数目。由此可知,当通过T端的状态控制时,第i位触发器输入端的逻辑式应为i1Ti=QiiQc.*Qo-ji.IQjj也(i=1,2,.n-1)
13、(1)只有最低位例外,按照计数规则,每次输入计数脉冲时它都要翻转,故70=1。图4就是按(1)式结成的四位同步二进制加法计数器。由图可见,各触发器的驱动方程为TTo=1T1=QoT2=Q0Q1IT3=QoQQ2将上式代入T触发器的特性方程式得到电路的状态方程QQo*=Qo'Q1*=QoQ1'+QoQQ2*=QoQ1Q2'十(QoQIQe37IQ3*=QoQ1Q2Q3'+(QoQ1Q2)'Q3电路的输出方程为bC=QoQ1Q2Q3(4)根据状态方程和输出方程求出电路的状态转换表,如表1所示。利用第16个计数脉冲到达时C端电位的下降可作为向高位计数器电路进位
14、的输出信号。0-TOCLKCLRN-t>QOQ19Q2Q3图4同步二进制计数器的时序图表1电路的状态转换表计数脉冲电路状态等效十进制数进位输出CQ3Q2Q1Qo00000*|0010001102001020300113040100405010150601106070111708100080910019010101010011101111012110012013110113014111014015111115116000000741070Tn1、.胆怔XjCI_KIQHXQHXCt_RH1U1<-VCCLg.u力ut%Ar6五肛旷.1驾1:HBIIBIIUIB|?沅g£XT
15、-4107o1JXGt_K0XKXQHXCLRN44-iLX9二<MW:TTTTTtwuairturr74和“OLrrptfTJ-QXQNXQLRHi1KCILRNdlTTiPlfT图5用T触发器构成的同步二进制加法计数器上图4为所示电路的时序图。由时序图可以看出,若计数输入脉冲的频率为f0,则Q0、Q1、1111fofofofoQ2和Q3端输出脉冲的频率将依次为2、4、8和16。针对计数器的这种分频功能,也将它称为分频器。此外,每输入16个计数脉冲计数器工作一个循环,并在输出端C产生一个进位输出信号,所以又将这个电路称为16进制计数器。计数器中能计到的最大数称为计数器的容量,它等于计数
16、器所有各位全为1时数值。n位二进制计数器的容量等于2n-1。在实际生产的计数器芯片中,往往还会附加一些控制电路,以增加电路的功能和使用的灵活性。例如增加预置数、保持和异步置零等附加功能。3.2带进位输出端的十三进制计数器的设计3.2.1具体电路实现首先进行逻辑抽象,因为计数器的工作特点是在时钟信号操作下依次从一个状态转为下一个状态,所以它没有输入逻辑变量,只有进位输出信号。因此计数器属于摩尔型的一种简单时序电路。取进位信号为输出逻辑变量C,同时规定有进位输出时0=1,无进位输出时C=0b十三进制计数器应该有十三个有效状态,若分别用SoS1S12来表示,则按照题意可以画出,如图5所示的电路状态转
17、换图。g图6状态转换图由于23v13<24,故应取触发器的位数n=4o假如对状态分配无特殊要求,可以取自然二进制数的00001100作为SoS12的编码。于是得到了表2中的状态编码。由于电路的次态Q*Q2*Q1*Q。*和进位输出C唯一地取决于电路现态QQQQ取值,故可根据表2画出表示次态逻辑函数和进位输出函数的卡诺图,如表3所示。因为计数器正常工作时不会出现1101,1110和1111的三个状态,所以可以将QQQQ和QsQzQJQo以及QsQzQq。'三个最小项作为约束项处理,在卡诺图中用X表示。表2电路的状态转换表状态父化顺序状态编码进位输出C等效十进制数Q3Q2QiQ0S00
18、00000Si000i0iS200i002S300ii03S40i0004S50i0i05S60ii006S70iii07S8i00008S9i00i09Si0i0i00i0Siii0ii0iiSi2ii00ii2S0000000为了清晰可见图7中的卡诺图分解为图8中的所示的五个卡诺图,分别表示Q3*,Q2*,Qi*,Q0DC这五个逻辑函数。从这些卡诺图得到电路的状态方程方程为(5)jQ3*=Q3Q2'+Q2QiQoQ2*=Q3QQi'+QsQQ09'Q1Q0<Qi*=Qi'Qo+Q1Q0'IQ0*=Q3,Q0,+Q2,Q0,输出方程为C=Q3Q2
19、(6)QiQ0Q3Q200011110000001/00010/00100/00011/0010101/00110/01000/00111/0110000/1xxxx/xxxxx/xxxxx/x101001/01010/01100/01011/0图7Q3*Q2*Qi*Q0*/C的卡诺图Q1Q0Q3Q2000111100000000100A0110xUx101111(a)Q3*(b)Q2*-10-Q1Q0Q3Q20001111000000001000011ux-n100000(e)C图8卡诺图分解如果选用JK触发器组成这个电路,则(5)式的状态方程变换成JK触发器特性方程的标准形式,即Q*=JQ
20、'+K'Q,然后就可以找出驱动方程了。为此,将式(5)改写成Q3*=Q3Q2'+Q2QlQ0(Q3+Q3')=(Q2QiQ0)Q3'+Q2'Q3Q2*=(Q0Qi)Q2'+(Q3'(QiQ0)')Q2Qi*=Q0Qi'+Q0'Qi(7)IQ0*=(Q3'+Q2')Q0'+1'Q0=(Q3Q2)'Q0'+1'Q0在变换Q3*的逻辑式时,删去了约束项Q3Q2Q1Q0。将(7)式中的各逻辑式与JK触发器的特性方程对照,则各个触发器的驱动方程应为J3=Q2Ql
21、Q0JJ2=QiQ。、Ji=Q0K3=Q2K2=(Q3'(QiQ0)')Ki=Q0(8)J0=(Q3Q2)'K0=1-11-根据(6)式和(8)式花的计数器的逻辑图为图9十三进制计数器原理图3.2.2电路的自启动检查我们在设计电路时,有时会遇到电路不能自启动问题.当电路不能自启动时,一般是不能应用于生产实践中的,而必须对电路进行修改。在本文中我们从电路的状态流程图中可以知道,电路的有效状态是0000至1100,无效状态时1101,1110和1111,将这三个无效状态代入(7)式中计算得到它们的次态分别为0010,0010和0000,也就是说此电路能够完成自启动。下图为它
22、完整的的状态转换图1*4图10完整的状态转换图-12-4仿真的实现4.1仿真的原理本文使用了MAX+plusII对设计的电路进行设计仿真。Max+plusn是Altera公司提供的FPGA/CPLM发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。Max+plusn界面友好,使用便捷,被誉为业界最易用易学的EDA软件。在Max+plusn上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。它有如下特点:1、开放的界面Max+plusn支持与Cadence,Exemplarlogic
23、,MentorGraphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。2、与结构无关Max+plusn系统的核心Complier支持Altera公司的FLEX10KFLEX800。FLEX600RMAX9000MAX7000MAX500解口Classic可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。3、完全集成化Max+plusn的设计输入、处理与较验功能全部集成在统一的开发环境下,这样可以加快动态调试、缩短开发周期。4、丰富的设计库Max+plusn提供丰富的库单元供设计者调用,其中包括74系列的全部器件和多种特殊的逻辑功能(Macro
24、-Function)以及新型的参数化的兆功能(Mage-Function)。5、模块化工具设计人员可以从各种设计输入、处理和较验选项中进行选择从而使设计环境用户化。6、硬件描述语言(HDLMax+plusn软件支持各种HDL设计输入选项,包括VHDLVerilogHDL和Altera自己的硬件描述语言AHDL7、Opencore特征Max+plusn软件具有开放核的特点,允许设计人员添加自己认为有价值的宏函数在本文中我们要用到它的CPLD/FPGAatN仿真功能。-13-4.2仿真与结果分析卜面将对带进位输出端的十三进制计数器电路进行比较全面的仿真。本设计为带进位输出端的十三机制计数器,首先要
25、生成仿真波形文件,在生成仿真波形文件以后,则可以开始进行仿真,此时观察的便是其时序波形图,研究电路随其时钟信号的到来而出现相应的脉冲;但仿真结果从波形上来看,很难给出定量的信号延迟关系,所以还要进行定时分析。当完全满足要求后就可以通过编辑器下载到指定的芯片中去,以生成ASIC芯片。(1)时序波形图图11时序波形图NmmaCLRACLKQ3Q2Q13GOaC从时序波形图中,我们可以了解到电路为上升沿有效。当清零端CLR为低电平时,电路回到0000的初始状态。在CLR为高电平且时钟上升沿到来时,计数器的数值加1,重复一直加到11,此时当下一个时钟上升沿到来时,计数器的输出翻转为1100也就是12,
26、同时进位输出C变为1,并维持一个时钟周期,当再下一个时钟上升沿来到时,计数器输出变成0000,进位输出端也恢复低电平,电路进入到下一个循环周期中。如此周而复始。由我们对电路时序波形图的分析可以验证之前电路设计的正确性,从功能上来讲我们已经完成时带进位输出端的十三进制计数器的设计。但是作为时序电路,一个非常重要的方面一一延时,在时序波形图中不能得到比较直接的反应,因此下面我们将对本电路进行定量的延时分析。(2)延时定性分析DelayMatrixDestinationCQ0Q1Q253CLK7.4ns2Bns2.Sns2.3ns2.8nsCLRK0图12电路延时-14-由上图可以知道,当时钟上升沿
27、到来时,Q0延时2.8ns,Qi延时2.8ns,Q2延时2.8ns,Q3延时2.8ns。C的输出延时7.4ns。电路越复杂其延时就会越长,分析也会越复杂。过长的延时对于高速的时序电路来说是致命的尽管在设计时没有既定的规律但一个设计的大致规则是:在能实现的电路预定功能的前提下,尽量使用少的元件。(3)最后生成芯片图13gdfQ2CLKQ0KOQ1C图13最后芯片5结论在本次课程设计中,进行了带进位输出端的十三进制计数器的设计然后再使用MUX+plus2软件进行仿真和时序波形图的分析验证了设计的正确性。通过对电路延时的分析,我们可以对时序电路中的延时有一个定量的了解,对于高速数字电路来说这是一个限制电路速度的关键问题,减少电路的延时成了一个非常具有实际意义的研究。减少电路延时大体有两种,一种是通过改进生产设备,可以生产出具有较少延时的门器件,但这是以高昂的价格为代价的。另一个减少模块延时的方法是靠设计者遵循一定得设计规则,通过化简逻辑表达式以及优化布线布图来减少延时,后者正是我们作为数字电路设计者所要重视并在平时认真学习积累经验的地方。6心得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 世界赛车活动方案
- 业主互动活动方案
- 业主抽奖活动策划方案
- 东东工厂活动方案
- 夏邑建业城活动方案
- 大学女教师体育活动方案
- 大型线下促销活动方案
- 大爷跳水活动方案
- 大型公司文案策划方案
- 圣诞烧烤活动方案
- 《我国税收制度》课件
- 2025年贵安发展集团有限公司招聘笔试参考题库含答案解析
- 行政副总岗位职责
- 《铁路轨道维护》课件-起道作业
- 生猪肉质检测与评价合同(二零二四年度)
- 2024年变压器性能检测服务合同
- 2023-2024学年广东省深圳市龙华区八年级(下)期末英语试卷
- 陕西省西安市(2024年-2025年小学五年级语文)统编版期末考试((上下)学期)试卷及答案
- 湿疹护理课件教学课件
- 草晶华产品培训课件
- 超级抗原问题
评论
0/150
提交评论