1. 简介
一个时序电路包括组合逻辑部分(combinational logic section)和存储部分(memory section),存储部分通常由flip-flops制作
设计时序电路本质上是设计组合逻辑
2. 步骤
第一步 绘制状态图(state diagram)
状态图显示状态(state)随时钟变化的顺序,示例如下:
第二步 绘制次态表(next-state table)
次态表列出了所有可能的当前状态和它们对应的下一状态,示例如下:
第三步 绘制触发器转换表
一个状态可能因为输入的不同而转变为不同的状态,触发器转换表列出了可能的输出与他们对应的输入,示例如下:
这个转换表是根据使用的设备来决定的,比如这里使用的是JK触发器,那么就要用JK触发器对应的转换表
可以看到,当前状态为0时,在J为0时保持不变,在J为1时变为1,K处画X的原因是这几种情况下J的值是确定的,而K的值是不确定的,并非与K无关
当前状态为1时,K为1时变为0,K为0时保持不变
第四步 绘制卡诺图
这里的卡诺图的数量与输出和输入有关,一般有几个输出就绘制几组卡诺图
每张卡诺图包含的变量数则与输出的数位相同,这里以输入为J,K,输出为
Q
0
,
Q
1
,
Q
2
Q_0,Q_1,Q_2
Q0,Q1,Q2的电路为例:
我们先绘制
J
0
,
K
0
J_0,K_0
J0,K0,即J,K根据
Q
0
Q_0
Q0的状态决定如何应用时的卡诺图
可以看到,仅与J有关的项被丢进了J的表中,仅与K有关的项被丢入了K的表中,并在无关的表中留下一个X
Q
0
=
0
Q_0=0
Q0=0时的表与K无关,
Q
0
=
1
Q_0=1
Q0=1时的表与J无关
接着,将下一状态对应的
Q
0
Q_0
Q0填入当前状态的方格内
所有表格完成图如下:
没有出现的状态全部设为X
从中选出所有1和X的组合,写出表达式,它们与各自对应的输出关系如下:
根据J和K的表达式,我们可以设计出对应的逻辑电路