1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第五章 时序逻辑电路的分析与设计方法,3.2.1,时序逻辑电路概述,一、时序电路的特点,时序电路在任何时刻的稳定输出,不仅与该时刻的输入信号有关,而且还与电路原来的状态有关。即时序电路中存在记忆元件,触发器。,二、时序电路逻辑功能的表示方法,时序电路的逻辑功能可用逻辑表达式、状态表、卡诺图、状态图、时序图和逻辑图,6,种方式表示,这些表示方法在本质上是相同的,可以互相转换。,1.,逻辑表达式,输出方程,Y,(,t,n,),=FX,(,t,n,),,Q,(,t,n,),W,(,t,n,),=GX,(,t,n
2、Q,(,t,n,),Q,(,t,n+1,),=HW,(,t,n,),,Q,(,t,n,),状态方程,驱动方程,三、时序逻辑电路分类,1.,按逻辑功能划分有,:计数器、寄存器、移位寄存器、读写存储器、顺序脉冲发生器。,2.,按电路中触发器状态变化是否同步可分为,:同步时序电路和异步时序电路。,同步时序电路:电路状态改变时,电路中要更新状态的触发器是同步翻转的。因为在这种时序电路中,其状态的改变受同一个时钟脉冲控制。,异步时序电路:电路状态改变时,电路中要更新状态的触发器,有的先翻转,有的后翻转,是异步进行的。因为在这种时序电路中,有的触发器,使用,CP,信号作为输入时钟信号,有的触发器则
3、使用其它触发器的输出信号。,3,按电路输出信号的特性可分为,Mealy,型和,Moore,型。,Mealy,型时序电路:其输出不仅与现态有关,而且还决定于电路的输入。,Moore,型时序电路:其输出仅决定于电路的现态。,给定的时序逻辑电路图,5.1,时序逻辑电路的分析和设计方法,时序电路的分析步骤:,5.1.1,时序电路的基本分析方法,(一),时钟方程,:写各触发器时钟信号的表达式,输出方程,:写时序电路各输出信号的表达式,驱动方程,:写各触发器输入端信号的表达式,(二)求状态方程,:把驱动方程代入相应的触发器的特性方 程,即可求出时序电路的状态方程,即各触发器次态输出的逻辑表达式。,(三)计
4、算,:把电路输入和现态的各种取值,代入状态方程和输出方程进行计算求出相应的次态和输出。须注意!,l.,状态方程有效的时钟条件,凡不具备时钟条件的,方程式无效,触发器将保持原来状态不变;,2.,电路的现态,就是组成该电路各个触发器的现态的组合;,3.,不能漏掉任何可能出现的现态和输入的取值;,4,.,现态的起始值如果给定了,则可以从给定值开始依次进行计算,如未给定,那么就可以从自己设定的起始条件开始依次计算。,(四)画状态图、状态表或时序图,画状态图或列状态表、画时序图时应注意:,1.,状态转换是由现态转换到次态。,2.,输出是现态和输入的函数,不是次态和输入的函数;,3.,画时序图时要明确,只
5、有当,CP,触发沿到来时相应触发器才会更新状态,否则只会保持原状态不变。,(五)判断电路逻辑功能,一般情况下,用状态图或状态表就可以反映电路的工作特性。但是,在实际应用中,各个输人、输出信号都有确定的物理含义,因此,常常需要结合这些信号的物理含义,进一步说明电路的具体功能,或者结合时序图说明时钟脉冲与输入、输出及内部变量之间的时间关系。,例,1,写时钟方程:,输出方程:,输出仅与电路现态有关,为摩尔型时序电路。,同步时序电路的时钟方程可省去不写。,驱动方程:,1.,写方程式,2.,求状态方程,JK,触发器的特性方程:,将各触发器的驱动方程代入,即得电路的状态方程:,各触发器的驱动方程,3.,计
6、算、列状态表,0 0 0,0 0 1,0 1 0,0 1 1,1 0 0,1 0 1,1 1 0,1 1 1,0 0 1,0 1 1,1 0 1,1 1 1,0 0 0,0 1 0,1 0 0,1 1 0,1,1,1,1,0,1,1,1,0 0 0,0 0 1,0 1 0,0 1 1,1 0 0,1 0 1,1 1 0,1 1 1,0 0 1,0 1 1,1 0 1,1 1 1,0 0 0,0 1 0,1 0 0,1 1 0,1,1,1,1,0,1,1,1,4.,画状态图、时序图,状态图,时序图,000,001,011,111,110,100,000,5.,判断有效状态、有效循环、无效状态、无
7、效循环、能自启动和不能自启动的概念,(1),有效状态与有效循环,有效状态:在时序电路中,凡是能被利用了的状态,都叫做有效状态。例如,在状态图中,,(a),里的,6,个状态被利用了,故都是有效状态。,有效循环:在时序电路中,凡是由有效状态形成的循环,都称为有效循环。,(a),所示的循环,就是有效循环,因为,(a),中的,6,个状态都是有效状态。,(2),无效状态与无效循环,无效状态:在时序电路中,凡是没有被利用的状态,都叫做无效状态。例如图,(b),中的两个状态,010,、,101,,就是无效状态。,无效循环:如果无效状态形成了循环,那么这种循环就称为无效循环。图,(b),所示的循环就是无效循环
8、因,010,、,10l,是无效状态。,(3),能自启动与不能自启动,能自启动:在时序电路中,虽然存在一些无效状态,但它们本身没有形成循环,而且在,CP,脉冲的作用下能从这些无效状态自动进入有效的循环,这样的时序电路叫做能够自启动的时序电路。,不能自启动:在时序电路中,既有无效状态存在,它们本身又能形成了循环,这样的时序电路被称之为不能自启动的时序电路。例如,状态图中,既存在无效状态,010,、,10l,,又形成了无效循环,(b),,因此,所示时序电路是一个不能自启动的时序电路,在这种时序电路中,一旦因某种原因,例如受到干扰而落入无效循环,就再也回不到有效循环了,当然,再要正常工作也就不可能了
9、例,2,试画出下图所示时序电路的状态图和时序图,图中,S,为控制,信号。,时钟方程:,输出方程:,驱动方程:,求状态方程,JK,触发器的特性方程:,将各触发器的驱动方程代入,得电路的状态方程:,进行计算:,依次假设,S,、,Q,2,n,、,Q,1,n,、,Q,0,n,的取值,代人上式进行计算,求出相应的次态和输出。,输入,现态,次态,输出,S,Q,2,n,Q,1,n,Q,0,n,Q,2,n+1,Q,1,n+1,Q,0,n+1,Y,1,Y,2,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0 0 0,0 0 1,0 1 0,0 1 1,1 0 0,1 0 1,1 1 0,1
10、 1 1,0 0 0,0 0 1,0 1 0,0 1 1,1 0 0,1 0 1,1 1 0,1 1 1,0 0 1,0 1 0,0 1 1,1 0 0,1 0 1,1 1 0,1 1 1,0 0 0,0 0 1,0 1 0,0 1 1,1 0 0,1 0 1,0 0 0,1 1 1,0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 1,0 0,0 0,0 0,0 0,0 0,1 0,0 0,1 1,000,001,010,011,100,101,110,111,111,110,1/11,X/00,X/00,X/00,X/00,X/00,0/00,0/00,0/01,1/
11、00,1/10,4,画状态图与时序图,(1),状态图,见图,在状态图中:由,000,到,101,的转换是无条件的,即无论,S,取值是,0,还是,1,,在,CP,脉冲作用下,电路都将按照箭头指示的方向转换状态,图中,S,取值处记上的是,号;当电路处在,101,状态时,若,S=1,,来,CP,脉冲则回归,000,,若,S=0,,来,CP,脉冲则转换到,110,,直至,111,,来,CP,脉冲才回归,000,;当,S=1,时,电路有,110,和,111,两个无效状态,不过在,CP,脉冲作用下能转换到有效状态,000,,所以电路能够自启动。,排列,Q,2,n,Q,1,n,Q,0,n,S/Y,1,Y,2
12、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,例,3,试画出下图所示时序电路的状态图和时序图。,1,写方程式,时钟方程:,CP,0,=CP,2,=CP,,,CP,1,=Q,0,驱动方程:,2,求状态方程,D,触发器的特性方程 。,Q,n+1=,D,时钟脉冲上升沿时刻有效,将驱动方程分别代人特性方程,可得,CP,上升沿时有效,Q,0,上升沿时有效,CP,上升沿时有效,3.,进行计算,将现态取值,Q,2,n,Q,1,n,Q,0,n,入状态方程,计算次态。,现态,次态,注,Q,2,n,
13、Q,1,n,Q,0,n,Q,2,n+1,Q,1,n+1,Q,0,n+1,时钟条件,0 0 0,0 0,1,0 1 0,0 1,1,1 0 0,1 0,1,1 1 0,1 1,1,0 0 1,0 1,0,0 1 1,1 0,0,0 0 0,0 1,0,0 1 0,1 0,0,CP0 CP2,CP0 CP1 CP2,CP0 CP2,CP0 CP1 CP2,CP0 CP2,CP0 CP1 CP2,CP0 CP2,CP0 CP1 CP2,由于,CP,0,=CP,2,=CP,,所以时钟脉冲,CP,到来时,FF,0,、,FF,2,都具备时钟,条件。而,FF,1,的,CP,1,=Q,0,,只有在,Q,0,从
14、0,跳变到,1,,,FF,1,才具备条件。,4.,画状态图和时序图,000,001,010,110,101,011,100,111,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,5,1,2,时序电路的基本设计方法,给定设计要求,或是一段文字描述,或是状态图,待求的是满足要求的时序电路。,一、设计的一般步骤,(,一,),进行逻辑抽象,建立原始状态图,1,分析给定设计要求,确定输入变量、输出变量、电路内部状态间的关系及状态数;,2,定义输入变量、输出变量逻辑状态的含义,进行状态赋值,对电路的各个状态进行编号;,3,按照题意建立原始状态图。,(,二,),进行状态化简,求最简状态图,1
15、确定等价状态,原始状态图中,凡是在输入相同时,输出相同、要转换到的次态也相同的状态,都是等价状态。,2,合并等价状态,画最简状态图,对电路外部特性来说,等价状态是可以合并的,多个等价状态合并成一个状态。多余的都去掉,即可画出最简状态图。,(,三,),进行状态分配,画出用二进制数进行编码后的状态图,l,确定二进制代码的位数,如果用,M,表示电路状态数,用,n,代表要使用的二进制代码的位数,那么根据编码的概念,应根据下列不等式来确定,n,:,2,n-1,M2,n,2,对电路状态进行编码,n,位二进制代码有,2,n,种不同取值,用来对,M,个状态进行编码,方案很多。如果选择恰当,则可得到比较简单的
16、设计结果;反之,设计出来的电路就会复杂些。,3,画出编码后的状态图,状态编码方案确定之后,便可画出用二进制代码表示电路状态的状态图。在这种状态图中,电路次态、输出与现态及输入间的函数关系都准确无误地被规定了。,(,四,),选择触发器,求时钟方程、输出方程和状态方程,1,选择触发器,可供选择的是,JK,触发器和,D,触发器,前者功能齐全使用灵活,后者控制简单设计容易。触发器的个数,应等于对电路状态进行编码的二进制代码的位数,即为,n,。,2,求时钟方程,若采用同步方案,那么情况十分简单,各个触发器的时钟信号都选用输入,CP,脉冲就可以了。,如果采用异步方案,则需根据状态图先画出时序图,然后从翻转
17、要求出发,才能为各个触发器选择出合适的时钟信号。,3,求输出方程,可以从状态图中规定的输出与现态和输入的逻辑关系写出输出信号的标准与或表达式,用公式法求其最简表达式,如果由状态图画出输出信号的卡诺图,再用图形法求最简表达式也行。,注意,无效状态对应的最小项应该当成约束项处理,,因为在电路正常工作时,这些状态是不会出现的。,4,求状态方程,(1),采用同步方案时 既可以由状态图直接写出次态的标准与或表达式,再用公式法求最简与或式;也可以画出卡诺图,用图形法求次态的最简与或式。不管使用哪种方法,都要尽量利用约束项,无效状态所对应的最小项进行化简。,(2),采用异步方案时,若注意一些特殊约束项的确认
18、和处理,则可以得到更加简单的状态方程。,约束项的确认,电路无效状态对应的最小项可当成约束项处理,这和同步方案中的情况没有区别,而且对于各个触发器的次态函数都适用。,对于在输入,CP,信号到来电路转换状态时,不具备时钟条件的触发器,例如,FF,i,的次态,Q,i,n+1,来说,该时刻电路的现在状态所对应的最小项也可以当成约束项。因为不具备时钟条件,,FF,i,反正会保持原来状态不变,把这种最小项当成,0,还是,1,都无所谓。,约束项的应用,在求状态方程时,要充分地利用约束项进行化简,尤其是在求某些时刻不具备时钟条件的触发器的次态方程时。后者正是异步时序电路总是比同步时序电路简单的根本原因。,(,
19、五,),求驱动方程,1,变换状态方程,使之具有和触发器特性方程相一致的表达式形式。,2,与特性方程进行比较,按照变量相同、系数相等、两个方程必等的原则,求出驱动方程,即各个触发器同步输入端信号的逻辑表达式。,(,六,),画逻辑电路图,1,先画触发器,并进行必要的编号,标出有关的输入端和输出端。,2,按照时钟方程、驱动方程和输出方程连线。有时还需要对驱动方程和输出方程作适当变换,以便利用规定或已有的门电路。,(,七,),检查设计的电路能否自启动,l,将电路无效状态依次代人状态方程进行计算,观察在输入,CP,信号操作下能否回到有效状态。如果无效状态形成了循环,则所设计的电路不能自启动。注意进行计算
20、时所使用的应该是与特性方程做比较的状态方程,该方程就自身来说不一定是最简的。,2,若电路不能自启动,则应采取措施予以解决。例如,或修改设计重新进行状态分配,或利用触发器的异步输入端强行预置到有效状态等。,二、时序电路设计举例,介绍的设计方法比较抽象,通过举例作具体说明。,例,1,设计一个时序电路,要求见下图所示状态图。,000,001,010,011,100,101,/0,/0,/0,/0,/0,/1,Q,2,n,Q,1,n,Q,0,n,/Y,1,选择触发器,求时钟方程、输出方程和状态方程,(1),选择触发器,由于,JK,触发器功能齐全、使用灵活,在这里选用,3,个,CP,下降沿触发的边沿,J
21、K,触发器。,(2),求时钟方程,采用同步方案,故取,CP,0,=CP,1,=CP,2,=CP,CP,是整个要设计的时序电路的输入时钟脉冲。,(3),求输出方程,确定约束项,从给出的状态图可以看出,还有,110,、,111,两个代码状态没有出现,显然它们是没有使用的无效状态,其对应的最小项,Q,2,n,Q,1,n,Q,0,n,和,Q,2,n,Q,1,n,Q,0,n,是约束项。,用公式法求输出信号,Y,的最简表达式,由状态图所规定的输出与现态之间的逻辑关系,可以写出,利用约束项,Q,2,n,Q,1,n,Q,0,n,化简,用卡诺图求,Y,的最简表达式,(,4,)求状态方程,用公式法求状态方程的最简
22、与或式,利用状态图直接建立状态方程的方法:只要状态图中每一,位触发器次态为,1,时所对应现态的最小项加起来,所得的就是该,位次态的标准与或式;再将三个触发器次态的标准与或式组合起来,便构成了电路状态方程的标准与或表达式。,000,001,010,011,100,101,/0,/0,/0,/0,/0,/1,进一步利用约束项对上式进行化简,用图形法求状态方程的与或表达式,作卡诺图并化简得下式,2.,求驱动方程,根据,JK,触发器的特性方程:,进行状态方程的变换,约束项,得驱动方程,3.,画逻辑图,4,检查电路能否自启动,将无效状态,110,、,111,代人式输出方程和状态方程,进,行计算,,结果如
23、下:,/0 /1,110 111 000(,进入有效循环,),所设计的时序电路能够自启动,。,例,2,根据下面状态图设计一个时序电路,000,001,010,011,100,101,110,111,X/00,X/00,X/00,1/00,1/00,1/00,1/00,0/10,1/01,Q,2,n,Q,1,n,Q,0,n,P/Y,1,Y,2,1,选择触发器,求时钟方程、输出方程和状态方程,(1),选用,3,个,CP,上升沿触发的边沿,D,触发器。,(2),求时钟方程:采用同步方案,即取,(3),求输出方程:画出输出信号的卡诺图,用图形法求,Y,1,、,Y,2,的最简表达式。根据状态图给定的逻辑
24、关系,画出的输出信号的卡诺图。,Y,1,的卡诺图,PQ,2,n,Q,1,n,Q,0,n,=0011,Y,2,的卡诺图,PQ,2,n,Q,1,n,Q,0,n,=1111,(4),求状态方程,得状态方程,2.,求驱动方程,D,触发器的特性方程为:,3.,画逻辑电路图,4,检查设计出来的电路能否自启动,当,P=0,时,有,100,、,101,、,110,、,111 4,个无效状态,分别代人输出方程和状态方程进行计算得,0,00 0,00 0,00 0,11,100 101 110 111 000,电路能够自启动。,例,3,设计一个串行数据检测电路,,对它的要求是:连续输入,3,个或者,3,个以上,l
25、时输出为,1,,其它情况输出为,0,。,(,一,),进行逻辑抽象,建立原始状态图,检测电路的输入信号是串行数据,输出信号是检测结果,从起始状态出发,要记录连续输入,3,个和,3,个以上,1,的情况,大体上应设置,4,个内部状态,即取,M=4,。,现在用,X,和,Y,分别表示输入数据和输出信号,用,S,0,表示起始状态,用,S,1,、,S,2,、,S,3,表示连续输人,1,个,1,、,2,个,1,、,3,个,l,和,3,个以上,1,时电路的状态。,根据题意,可建立原始状态图。起始状态为,S,0,输入第一个,1,输出为,0,,状态转换到,S,1,,连续再输入一个,1,输出为,0,,状态转换到,S
26、2,,连续输入第三个,l,输出为,1,,状态转换到,S,3,,此后只要连续不断地输入,1,,输出应该总是,1,,电路也应保持,S,3,状态不变。电路无论处在什么状态,只要输入为,0,,都应回到,S,0,,以便重新进行检测。,S,0,S,1,S,2,S,3,1/0,1/0,1/1,1/1,0/0,0/0,0/0,0/0,(,二,),进行状态化简,画最简状态图,1,确定等价状态,仔细观察可以发现,,S,2,和,S,3,是等价的。因为无论是在状态,S,2,还是,S,3,,当输人为,1,时输出均为,l,,且都转换到次态,S,3,;当输人为,0,时输出均为,0,,且都转换到次态,S,0,。,2,合并等
27、价状态,把,S,2,和,S,3,合并起来,且用,S,2,表示。下图是经化简后得到的最简状态图。,S,0,S,1,S,2,1/0,1/0,1/1,0/0,0/0,0/0,(,三,),进行状态分配,画出用二进制数编码后的状态图,1,因状态数,M=3,,应取,n=2,。,2,。进行状态编码,取,S,0,=00,,,S,1,=0l,,,S,2,=11,3,画编码后的状态图。,(,四,),选择触发器,求时钟方程、输出方程和状态方程,1,选用两个,CP,上升沿触发的边沿,JK,触发器。,2,采用同步方案,即取,CP,0,=CP,1,=CP,3,求输出方程,先作输出信号,Y,的卡诸图。,00,01,11,1
28、/0,1/0,1/1,0/0,0/0,0/0,4,求状态方程:按状态图的规定,可画出电路次态的卡诺图。,(五)求驱动方程,根据,JK,触发器的特性方程:,1.,进行状态方程的变换,添加约束项,2.,作方程比较,(,六,),画逻辑电路图,根据所选用的触发器和时钟方程、输出方程、驱动方程,便可以画出如图所示的逻辑电路图。,(,七,),检查所设计的电路能否自启动,将电路无效状态,10,代入输出方程式和状态方程式进行计算,结果如下:,0,0 1,1,00 10 11,可见设计的电路能够自启动。,例,4,试设计一个时序电路,要求见状态图,。,/0,/0,000 001 010,/1 /0,100 011
29、/0,Q,2,n,Q,1,n,Q,0,n,/Y,1,选择触发器,求时钟方程、输出方程和状态方程,(1),选用,3,个,CP,下降沿触发的边沿,D,触发器,(2),求时钟方程,选用异步方案:,画出时序图,根据选用的触发器和给定的状态图先画出时序图,用以选择触发器时钟脉冲之用。,选择时钟脉冲,对于时钟触发器,只会在,CP,触发沿时刻改变状态,在其它时间均保持状态不变。反之,时钟触发器要翻转,在其时钟端必须具备相应的触发沿,也即必须具备时钟条件,否则这种翻转是不可能发生的。,在 时序图中,具体地表达了设计对每一个触发器的翻转要求。,触发器,FF,0,在,t,1,、,t,2,、,t,3,、,t,4,
30、时刻必须翻转,,t,5,时刻状态应保持不变;,FF,1,在,t,2,、,t,4,时刻必须翻转,,t,1,、,t,3,、,t,5,时刻不能改变状态;,FF,2,在,t,4,、,t,5,时刻必须翻转,,t,1,、,t,2,、,t,3,时刻状态应保持不变。,CP,是整个时序电路的时钟脉冲,它控制或管理着时序电路的工作,只有输入信号,CP,到来,时序电路才会改变状态。,选择时钟脉冲的一条基本原则,就是在满足翻转要求的条件下,触发沿越少越好。如果碰巧,要翻转时有触发沿,不翻转时无触发沿,那么用,T,触发器就最好。若找不到这种情况,则只好求其次,最不利情况就是直接选用输入,CP,脉冲。显然,对于一个具体的
31、触发器,在不需要翻转的时候而在其时钟,端又出现了相应的触发沿,则必须在同步输入端加控制信号,以保证其状态不变。不难理解,这就会导致电路的复杂化。为什么同步时序电路从电路组成看,总要比异步时序电路复杂一些的原因就在这里。,根据上述基本原则,根据时序图得出下列时钟方程:,CP,0,=CP,2,=CP,,,CP,1,=Q,0,(3),求输出方程,根据状态图画出的输出信号的卡诺图,并得到输出方程,(4),求状态方程,画出电路次态的卡诺图,画各个触发器次态的卡诺图,由于,CP,0,、,CP,2,选用的都是输入时钟脉冲,CP,,因此,只需把,Q,2,n,、,Q,0,n,的卡诺图从图中分离出来即可,但是,,
32、Q,1,n,的卡诺图却有所不同,因为,FF,1,的时钟信号选用的是,Q,0,,在电路状态转换的各个时刻,,t,2,、,t,4,时刻有下降沿,,FF,1,具备了时钟条件,,t,1,、,t,3,时刻是上升沿、,t,5,时刻没有沿,,FF,1,不具备时钟条件,其状态将保持不变,相应现态的最小项,(000),、,(010),、,(100),对,FF,1,的状态不会起作用,如果把,CP,1,=Q,0,的下降沿作为一个条件或者变量来考虑的话,它们的值总是,0,,即在,t,1,、,t,3,、,t,5,时刻,不会出现这三个乘积项,所以也应该把它们当成约束项处理。得,Q,1,n+1,的卡诺图。,用图形法求出状态方程的最简与或表达式,CP,的下降沿,Q,0,的下降沿,CP,的下降沿,3,画逻辑电路图,4,检查所设计的电路能否自启动,将无效状态,101,、,110,、,111,代入状态方程式进行计算,要特别注意每一个方程式有效的时钟条件。,/1,/1,/1,101 010 110 010 111 100,可见,所设计的电路能够自启动。,






