同步时序逻辑电路的设计是根据给定的逻辑功能要求设计出相应的时序逻辑电路。其设计步骤一般如下:
(1)根据功能要求列出原始状态图;
(2)进行状态化简,去除多余状态;
(3)对状态进行编码,并列出状态图和状态转换表;
(4)选定触发器类型和数目,求驱动方程;
(5)画出逻辑电路图;
(6)检查能否自启动。
时序逻辑电路设计流程如图7 − 5 − 1所示。
图7 − 5 − 1 时序逻辑电路设计流程图
【例7 − 5 − 1】设计一个六进制计数器。
解:(1)根据功能要求列出原始状态表。
题中要求设计六进制计数器,这就需要六种状态来表示,每种状态之间的关系如图7 − 5 − 2所示。
(2)进行状态化简,去除多余状态。
由于此计数器状态关系简单,也无多余状态,故无须化简。
(3)对状态进行编码,通常按照自然二进制编码并列出状态图和状态转换表。
按照自然二进制编码方式进行编码,状态图如图7 − 5 − 3所示,状态转换表如表7 − 5 − 1所示。
图7− 5− 2 六进制计数器原始状态图
图7− 5− 3 六进制计数器状态图
表7 − 5 − 1 状态转换表
(4)选定触发器类型和数目,求驱动方程。
触发器数目一般由状态数决定,假设状态数为 M,触发器数为 n,则一般需满足2n−1<M≤2n。本题一共有6种状态,故选三个触发器。
根据状态转换表画出三个触发器次态和输出的卡诺图,如图7 − 5 − 4所示。
图7 − 5 − 4 触发器次态和输出的卡诺图
由卡诺图可得到三个触发器的状态方程:
输出方程:
触发器类型的选择一般根据状态方程的复杂程度,如状态方程简单,可直接选用D触发器,如状态方程较为复杂,则可选用JK触发器,本题选用JK触发器。
有了三个触发器的状态方程后,将其与JK触发器的特性方程Qn+1=进行比较,就可以得到驱动方程,如下:
J0=1 K0=1
(5)画出逻辑电路图。
根据驱动方程和输出方程,画出电路,如图7 − 5 − 5所示。
图7 − 5 − 5 六进制计数器电路图
(6)检查能否自启动。
设计出电路后,要检查没有用到的无效状态在CP 脉冲作用下的状态转换情况,若能回到正常的计数有效状态,则为能够自启动电路,若发生了无效状态之间的无效循环,则为不能自启动电路,一般要修改逻辑设计,使之变为能够自启动电路。
根据电路图和触发器状态方程,无效状态110的下一个状态为111,无效状态111的下一个状态为100,均能回到正常的有效状态,其实际状态转换图如图7 − 5 − 6所示,故为能够自启动电路,无须对电路进行修改。
图7 − 5 − 6 实际电路状态转换图
【例7 − 5 − 2】设计一个串行数据检测器,要求在连续输入三个或三个以上“1”时输出为1,其余情况下输出为0。
解:(1)逻辑抽象,画出原始状态转换图。
用X(1位)表示输入数据,用Y(1位)表示输出(检测结果),根据题意,如:
当X输入 10110111001011110……
则输出Y的值 00000001000000110……
设当电路在没有输入1时状态为S0,在输入一个1时状态为S1,在连续输入两个1时状态为S2,在连续输入三个1时状态为S3。在S0状态下,如果输入一个0,则次态仍为S0,输出为0;当输入一个1,则次态为S1,输出为0;在S1状态下,如果输入一个0,则次态为S0,输出为0;当输入一个1,则次态为S2,输出为0;在S2状态下,如果输入一个0,则次态为S0,输出为0;当输入一个1,则次态为S3,输出为1;……
根据上述分析,我们可以画出电路的原始状态图,如图7 − 5 − 7所示。
(2)状态化简。
若两个状态在相同的输入下有相同的输出,并转换到同一个次态,则称为等价状态;等价状态可以合并。
比较一下图7 − 5 − 7的状态S2和状态S3,可以看出,当输入0时输出均为0,次态为S0,当输入1时,输出都是1,次态均为S2。所以状态S2和状态S3为等价状态,可以合并成一个状态。化简后的状态转换图如图7 − 5 − 8所示。
图7− 5− 7 原始状态图
图7− 5− 8 简化后的状态图
(3)状态分配。
电路有3个状态,选用2个触发器,即可满足要求。取n=2,2位二进制的组合00、01、11为状态赋值,则状态转换图如图7 − 5 − 9所示。
根据电路的状态转换图,可以画出触发器的现态、次态、输入和输出的卡诺图如图7 − 5 − 10所示,化简后,触发器的状态方程如式(7 − 5 − 4),输出方程如式(7 − 5 − 5):
图7− 5− 9 电路状态转换图
图7− 5− 10 触发器次态和输出卡诺图
(4)选用JK触发器,变换状态方程。
对照JK触发器的特性方程Qn+1=可以得到触发器的驱动方程:
(5)画逻辑电路图。
其逻辑电路图如图7 − 5 − 11所示。
图7 − 5 − 11 逻辑电路图
(6)检查能否自启动。
为了验证电路是否能够自启动,要检查没有用到的无效状态在CP脉冲作用下的状态转换情况。根据电路图和触发器状态方程、输出方程,无效状态10在X=0时的次态为00,输出为0,X=1时的次态为01,输出为1,可以看出,能回到正常的有效状态,故能够自启动,其实际状态转换图如图7 − 5 − 12所示。
图7 − 5 − 12 状态转换图
异步时序逻辑电路的设计与同步时序逻辑电路稍有不同,其区别在于得到状态转换图后,需画出电路的时序图,根据时序图选择合适时钟脉冲,从而根据所选时钟脉冲和状态图得到其状态转换真值表,最后求驱动方程,画出电路图。这里不再详细叙述。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。