6.1.2脉冲异步时序逻辑电路的设计 例2:用D触发器作为存 储元件,设计“x1-x2-x2 序列检测器。 电路有两个输入x1、x2 一个输出Z。仅当x1输出一个 脉冲后x2连续输出两个脉冲, 输出Z由0变1,x1或x2再出 现脉冲则Z由1变0 输出时间图如下图。 解:该序列检测器仅与状x1几 态有关,属于 Moore型异步时 「几几 序电路 (1)作出原始状态图和状态表 设初始状态为A,表中用x1和x2分别表示x1和x2端有脉冲输入
11 6.1.2 脉冲异步时序逻辑电路的设计 例 2:用 D 触发器作为存 储元件,设计 “ x1 — x2 — x2 序列检测器。 电路有两个输入x1 、x2, 一个输出 Z。仅当 x1 输出一个 脉冲后 x2 连续输出两个脉冲, 输出 Z 由 0 变 1,x1 或 x2 再出 现脉冲则 Z 由 1 变 0。 输出时间图如下图。 解:该序列检测器仅与状 态有关,属于 Moore 型异步时 序电路。 x1 x2 Z ⑴ 作出原始状态图和状态表 设初始状态为A,表中用 x1 和 x2 分别表示 x1 和 x2 端有脉冲输入
6.1.2脉冲异步时序逻辑电路的设计 在状态A,若接收的第一个脉冲为x1,进入状态B,若为x2,停留 在状态A,输出为0 在状态B,若接收x1,状态不变,若为x2,进入状态C,输出为0。 在状态C,若接收x1,返回状态B,若为x,进入状态D,输出为1 在状态D,若接收x1,返回状态B,若为x2,返回状态A,输出为0 据此可作出状态表和状态图 X2 现态次态输出 A/0 B/0 X X? A BA O B B C X X C B D 0 DBA 1 D/1 C/0 (2)状态编码 状态表中有4个状态,需采用两个触发器,用y2、y1表示4个状态
12 6.1.2 脉冲异步时序逻辑电路的设计 在状态A,若接收的第一个脉冲为x1,进入状态 B,若为 x2,停留 在状态A,输出为 0。 在状态 B,若接收 x1,状态不变,若为 x2,进入状态 C,输出为 0 。 在状态C,若接收x1,返回状态B,若为x2,进入状态D,输出为1。 在状态D,若接收x1,返回状态B,若为x2,返回状态A,输出为0。 据此可作出状态表和状态图。 ⑵ 状态编码 状态表中有 4 个状态,需采用两个触发器,用 y2、y1 表示 4 个状态。 现态 次态 输出 x1 x2 Z A B C D B B B B A C D A 0 0 0 1 x2 x1 x1 A/0 B/0 x2 x1 x1 x2 D/1 x2 C/0
6.1.2脉冲异步时序逻辑电路的设计 状态编码方案可采用相邻编码法,其原则为 (1)在相同输入条件下,具有相同次态的现态应尽可能分配相邻二 进制编码。 (2)在相邻输入条件下,同一现态的次态应尽可能分配相邻二进制 编码。 (3)输出完全相同的现态应尽可能分配相邻二进制编码。 根据此原则,可设定编码方案及对应的二进制状态表。 编码方案 二进制状态表 2 0 状态 编码匚现态次态ymy1输出 y OAB A 0 0 0 1CD B C0 10 01 0 10 00
13 6.1.2 脉冲异步时序逻辑电路的设计 状态编码方案可采用相邻编码法,其原则为: ⑴ 在相同输入条件下,具有相同次态的现态应尽可能分配相邻二 进制编码。 ⑵ 在相邻输入条件下,同一现态的次态应尽可能分配相邻二进制 编码。 ⑶ 输出完全相同的现态应尽可能分配相邻二进制编码。 根据此原则,可设定编码方案及对应的二进制状态表。 编码方案 二进制状态表 状态 编码 y2 y1 A B C D 0 1 0 1 0 0 1 1 现态 次态 y2 (n+1) y1 (n+1) 输出 y2 y1 x1 =1 x2 =1 Z 0 0 1 1 0 1 0 1 10 10 10 10 00 11 01 00 0 0 0 1 A B C D y2 y1 0 1 0 1
6.1.2脉冲异步时序逻辑电路的设计 (3)确定激励函数和输出函数 假定次态和现态相同时,时钟端取值为0,D端取值任意;次态和 现态不同时,时钟端取值为1,D端取值与次态相同 根据以上约定及二进制状态表,可作出激励函数和输出函数真值表。 激励函数和输出函数真值表 输入 现态 次态 激励函数 输出函数 X2 X1 y2 yI y2 C2 D2 C Di 0 0 0 01 01 10 00 0d0 Z0001 0 0d1 00 0 0 0d0 0 110 10 d0d0dd10 000 0 01 0 0 101
14 6.1.2 脉冲异步时序逻辑电路的设计 ⑶ 确定激励函数和输出函数 假定次态和现态相同时,时钟端取值为0,D 端取值任意;次态和 现态不同时,时钟端取值为1,D 端取值与次态相同。 根据以上约定及二进制状态表,可作出激励函数和输出函数真值表。 激励函数和输出函数真值表 输入 现态 次态 激励函数 输出函数 x2 x1 y2 y1 y2 (n+1) y2 (n+ 1 C2 D2 C1 D1 Z 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 d d 0 1 0 1 d 0 d 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 d 1 0 0 0 0 1 1 d d 1 0 0 0 0 1
6.1.2脉冲异步时序逻辑电路的设计 两个输入端同时为0时状态不变,不允许两个输入端同时为1,因 此将两个输入端同时为0和两个输入端同时为1作为无关条件处理,可 得激励函数和输出函数卡诺图。 XX 2y00011110 00011110 00 0 d 0 d1 dd 01/0 01 d|1|d 00(d ddd 0 1000|(d 10 d 0 在C2的卡诺图中,将x2、x1同时为1作为无关条件处理,得到激 励函数表达式:C2=x,y2+x2y1+x2y2 在D2的卡诺图中,将ⅹ2、x1同时为0和同时为1都作为无关条件 处理,得到激励函数表达式:D2=y2 15
15 6.1.2 脉冲异步时序逻辑电路的设计 两个输入端同时为0 时状态不变,不允许两个输入端同时为1,因 此将两个输入端同时为0 和两个输入端同时为1 作为无关条件处理,可 得激励函数和输出函数卡诺图。 在 C2 的卡诺图中,将x2、x1 同时为 1 作为无关条件处理,得到激 励函数表达式: 在 D2 的卡诺图中,将x2、x1 同时为 0 和同时为 1 都作为无关条件 处理,得到激励函数表达式: 0 1 d 0 0 1 d 1 0 0 d 1 0 0 d 1 x2 x1 C2 y2 y1 00 01 11 10 00 01 11 10 d 1 d d d 1 d 1 d d d 0 d d d 0 x2 x1 D2 y2 y1 00 01 11 10 00 01 11 10 2 1 2 2 1 2 2 C = x y + x y + x y 2 2 D = y