分析时序逻辑电路也就是找出该时序逻辑电路的逻辑功能,即找出时序逻辑电路的状态和输出变量在输入变量和时钟信号作用下的变化规律。上面讲过的时序逻辑电路的驱动方程、状态方程和输出方程就全面地描述了时序逻辑电路的逻辑功能。因此,只要写出时序逻辑电路的这3组方程,它的逻辑功能也就描述清楚了。但是用3组方程描述电路的逻辑功能非常不直观,不能直接看出电路状态和输出变量的与输入变量和时钟信号之间的对应关系,为了直观地描述时序电路的逻辑功能,还有其他的表示方法:状态转换表、状态转换图和时序图。下面结合时序电路的分析,具体介绍这3种时序电路逻辑功能的描述方法。
由于触发器电路中的触发器元件动作特点不同,在时序逻辑电路中又分为同步时序逻辑电路和异步时序逻辑电路。在同步时序逻辑电路中,各触发器状态的变化都是在同一时钟脉冲的作用下同时发生的。而在异步时序逻辑电路中,各触发器状态的变化不是同时发生的。
图1就是一个同步时序逻辑电路。下面以此为例介绍同步时序电路的分析方法。
图1 同步时序逻辑电路图 |
第一步:分析电路结构,写出各触发器的驱动方程。
该时序电路包含3个触发器FF1,FF2,FF3,这3个触发器都是上升沿触发的边沿JK触发器,而且它们的时钟脉冲相同,都是CP脉冲,即3个触发器的触发时刻都是CP脉冲的上升沿,因此该时序电路是同步的。该时序电路没有输入变量,有输出变量Y。
列写方程时,各触发器的输入、输出变量、时钟脉冲分别用相应字母加触发器编号的下角标表示。如FF1触发器的输入、输出变量分别表示为J1、K1、Q1、,其时钟脉冲为C1或CP1。其他以此类推。
根据电路图写出各个触发器的驱动方程
(1) |
说明:如果触发器的输入端悬空,则相当于接高电平“1”,故K1=1。FF3触发器的J端有两个输入,它们“与”运算后作为J端的输入,故J3=Q1·Q2。Q1n、Q2n、Q3n表示触发器的现态(原态)。
第二步:将驱动方程代入相应触发器的特性方程,求得各触发器的次态方程,也就是时序逻辑电路的状态方程。
将式(1)代入JK触发器的特性方程,求得各触发器的次态方程
(2) |
第三步:根据电路图写出输出方程。
(3) |
第四步:根据状态方程和输出方程,列出该时序带电路的状态表,画出状态图或时序图。
为了形象地描述时序逻辑电路的逻辑功能,可以把电路在一系列时钟信号作用下状态转换的全部过程描述出来。描述时序逻辑电路状态转换全部过程的方法有状态转换表、状态转换图和时序图等几种。
1、状态转换表
列写时序逻辑电路状态转换表的方法:将任何一组输入变量及电路初态的取值代入状态方程和输出方程,可以算出电路的次态和现态下的输出值;再以电路的次态作为新的初态,和这时的输入变量的取值一起代入状态方程和输出方程,又可以算出新的电路次态和输出值。如果继续下去,把全部的计算结果列成真值表的形式,就得到了时序逻辑电路的状态转换表。
由图1或式(2)可知,该时序逻辑电路没有输入逻辑变量,电路的次态和输出变量只取决于电路的初态。设电路的初态为Q3nQ2nQ1n=000,代入式(2)和式(3),得
再将结果作为新的初态,即Q3nQ2nQ1n=001,重新代入式(2)和式(3),又得到新的次态和输出值。如此继续下去,当Q3nQ2nQ1n=110时,计算出的次态方程为Q3n+1Q2n+1Q1n+1=000,返回到了最初设定的初态,完成了时序逻辑电路的一个循环,如果继续计算下去,电路的状态和输出将按照前面的变化顺序反复循环。这样得到了图1所示时序逻辑电路的状态转换表,如表1所示。
表1 图1电路的状态转换表 |
CP | Q3n | Q2n | Q1n | Q3n+1 | Q2n+1 | Q1n+1 | Y |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
2 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
3 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
4 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
5 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
6 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
7 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
时序逻辑电路的状态转换表应该包含电路的所有状态。Q3Q2Q1共有8种组合,Q3Q2Q1=111不在循环中。此时,应该将状态Q3nQ2nQ1n=111,作为初态,代入式(2)和式(3),计算时钟脉冲来临后的次态和此时的输出值填入状态转换表中,才得到完整的状态转换表,如表6-4-1所示。
也可将表1列成表6-4-2所示的形式。这种状态转换表给出了时钟脉冲作用下电路状态的转换顺序,比较直观。
2、状态转换图
为了更加形象地显示时序逻辑电路的逻辑功能,还可以将状态转换表的内容以图形的形式表现出来,形成状态转换图。图2是图1所示电路的状态转换图。
图2 图1电路的状态转换图 |
在状态转换图中,以圆圈表示电路的各个状态,箭头表示状态转换的方向。在箭头旁边注明状态转换前的输入变量取值和输出值。通常将输入变量的取值写在斜线的上方,将输出值写在斜线的下方。在状态转换图旁边要标出图例,以说明电路状态中各触发器的排列顺序和输入变量取值与输出值的排列顺序。如果电路中没有输入变量,则在状态转换图中省略输入变量取值的标注,如图2所示。
3、时序图
除了用状态转换图形象地表示时序电路的逻辑功能外,还可以用时序图的形式直观地表示电路的逻辑功能。时序图是在时钟脉冲序列作用下,电路状态、输出状态随时间变化的波形图。它与用实验方法观察到的时序逻辑电路的各触发器的输出与时序逻辑电路的输出端的波形图相同。图3所示为图2所示电路的时序图。
图3 图1电路的时序图 |
第五步:逻辑功能分析。
由状态图可知:该电路一共有7个状态,即000、001、010、011、100、101、110,在时钟脉冲作用下,按照加1规律循环变化,所以该时序逻辑电路对时钟脉冲信号有计数功能。同时,每经过7个脉冲输出端Y输出一个高电平,所以这是一个七进制计数器,Y端的输出就是进位脉冲。
例1 试分析图4所示的时序逻辑电路
图4 例1的逻辑电路图 |
解:由于图中的两个触发器都接至同一个时钟脉冲源CP,所以图4所示为同步时序逻辑电路,各触发器的时钟方程可以不写。
(1)写出输出方程:
(4) |
(2)写出驱动方程:
(5) |
(3)写出JK触发器的特性方程,然后将各驱动方程代入JK触发器的特性方程,得各触发器的次态方程:
(6) |
(4)作状态转换表及状态图
由于输入控制信号X既可以取1也可以取0,所以分两种情况列状态转换表和画图状态图。
①当X=0时,将X=0代入输出方程(4)和触发器的次态方程(6),则输入方程简化为
触发器的次态方程简化为
设电路的初态为Q1nQ0n=00,一次代入上述触发器的次态方程和输出方程中进行计算,得到电路的状态转换表,如表3所示。
根据表3所示的状态转换表,www.ippipp.com可得状态转换图如图5所示。
表3 X=0时的状态表 |
Q1n | Q4n | Q1n+1 | Q4n+1 | Z |
0 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 0 |
图5 X=0时的状态转换图 |
② 当X=1时,输出方程简化为
触发器的次态方程简化为
计算可得电路的状态转换表如表4所示,状态转换图如图6所示。
表3 X=0时的状态表 |
Q1n | Q4n | Q1n+1 | Q4n+1 | Z |
0 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
图6 X=1时的状态转换图 |
将图5和图6合并起来,就是电路完整的状态转换图,如图7所示。
图7 例1完整的状态转换图 |
(5)画时序图,如图8所示。
图8 例1电路的时序波形图 |
(6)逻辑功能分析。
该电路一共有3个状态,即00、01、10.当X=0时,按照加1规律从00→01→10→00循环变化,并每当转换为10状态(最大数)时,输出Z=1。当X=1时,按照减1规律从10→01→00→10循环变化,并每当转换为00状态(最小数)时,输出Z=1。所以该电路是一个可控的三进制计数器,当X=0时,作加法计数,Z是进位信号;当X=1时,作减法计数,Z是借位信号。