5.3同步时序逻辑电路的设计
- 基本任务:根据给定的功能描述,设计出相应的逻辑电路
- 根据功能要求建立原始状态图和状态表
- 状态化简(消去多余状态)
- 状态分配(状态编码)
- 求输出函数和激励函数表达式
- 根据输出函数和激励函数的表达式画出逻辑电路
一、建立原始状态图和状态表
原始状态图(表):根据逻辑功能的文字描述,直接建立起来的状态图(表)
- 对设计要求的最原始的抽象,是设计电路的初始依据
建立原始状态图和原始状态表要从四个方面着手:
- 确定电路模型(Mealy型还是Moore型)
- 设立电路初始状态
- 根据需要记忆的信息来增加新的状态
- 确定各个时刻电路的输出(在不同输入条件下,要确定输出)
由于在开始时不知道要描述多少个状态,在原始状态表和原始状态图中一般用字母或者数字表示
模⑤加1加2计数器(记满五个状态后,输出 1 )
有五个状态设为0,1,2,3,4,初始状态设0
现态 次态,输出 次态,输出 x = 0 x = 1 0 1/0 2/0 1 2/0 4/0 2 3/0 1/0 3 4/0 3/0 4 0/1 0/1 如果初始状态变成 3 ,那么 x = 0时,再回到 3 才输出 1
序列检测器(检测 011)
Mealy
- 由于状态数未知,设初始状态为A,A为与检测序列无关的序列
- 如果第一位输入1,我们想要的是0,次态还是A
- 如果从 A 状态检测到了0,变成状态B
- 从 B 检测 0,变为状态 B
- 从 B 检测 1,变成状态 C
- 从 C 检测 0,变成状态 B
- 从 C 检测 1,变成状态 D,输出1
- 从 D 检测 0,变成状态 B
- 从 D 检测 1,变成状态 A
Moore
- 设 A 为初始状态,与检测序列无关
- B表示检测到了 : 0, C : 01, C : 011
- A/0 B/0 C/0 D/1
炸弹引爆(检测 1111),炸掉后无次态
- 设 A 为初始状态, B,C,D分别表示 1, 11, 111
检测串行输入的 8421BCD码是否合法,不合法输出 1
Mealy
串行码字检测和序列检测最大的区别就是串行码字检测时分组进行的,每组的检测过程相同。当码字最后一位输入后,电路转向为初始状态进行下一组检测,因此是Mealy型