用D触发器和必要的门电路设计一个2位双向移位寄存器. 具体要求见下表(A、B为控制端), 左移串行输入信号为L, 右移串行信号为R

A

B

输出

0

0

保持原状态

0

1

右移

1

0

左移

1

1

清零

        在开始分析前, 我们要理清以下四个概念: ①保持原状态: 在下一系统CLK信号来临时, 寄存器状态不变. ②右移: 设寄存器现态为10, 在下一系统CLK信号来临时, 寄存器次态变为R1, 其中R为右移串行输入信号. ③左移: 设寄存器现态为01, 在下一系统CLK信号来临时, 寄存器次态变为1L, 其中L为左移串行输入信号. ④清零: 寄存器状态立即变为00.

        上述的分析十分重要, 请读者务必理清.

        根据表格中的要求, 我们得到下述状态转换真值表:

A B Q1* Q0* 输出
0 0 Q1 Q0 保持
0 1 Q0 R 右移
1 0 L Q1 左移
1 1 0 0 清零

        根据状态表, 得到状态激励表:

A B D1 D0 输出
0 0 Q1 Q0 保持
0 1 Q0 R 右移
1 0 L Q1 左移
1 1 0 0 清零

        由状态激励表, 得到D1、D0的逻辑表达式: D1=A'B'Q1+A'BQ0+AB'L, D0=A'B'Q0+A'BR+AB'Q1. 为了实现即刻清零的功能, 我们令D触发器清零引脚CLK'=(AB)'即可.

        用D触发器和门电路实现电路原理图如下示:

用D触发器和必要的门电路设计一个2位双向移位寄存器. 具体要求见下表(A、B为控制端), 左移串行输入信号为L, 右移串行信号为R

        用D触发器和中规模集成电路芯片74153(4选1数据选择器)实现电路原理图如下示:

用D触发器和必要的门电路设计一个2位双向移位寄存器. 具体要求见下表(A、B为控制端), 左移串行输入信号为L, 右移串行信号为R

        本例设计的核心是根据题目要求绘制出状态表, 读者应对此部分加以推敲.

        在完成本例的设计后, 我们可以直观地理解寄存器的组成和移位过程. 用D触发器和门电路完成寄存器设计, 其重要性与之前的基础设计相当.