我做了一个组合桶形移位器/旋转器。现在我必须做一个边缘触发的。如果您使用控制信号告诉边沿触发的移位器/旋转器右移一位,那么如果您不更改控制,输出最终会变为 0 吗?
我应该通过使用组合移位器/旋转器和 D 寄存器来设计它。为什么需要 D 寄存器?
它最终不会变为 0,因为输出不会作为输入反馈。需要一个 D 寄存器来提供对时钟上升沿的灵敏度,因为组合移位器/旋转器对它不敏感。在上升沿,D 寄存器会将其保存的任何内容转储到移位器/旋转器中。
据我了解,如果您只是在移动,位会脱落,并且零会填充空位。如果你在旋转,钻头永远不会脱落,而是粘在另一端。这是位 ABCD 一个位位置,两次旋转:ABCD DABC CDAB。您可以看到,如果控件卡在旋转状态,则这些位将继续循环。这是一个转变一个位的位置,三次:ABCD 0ABC 00AB 000A,可以看到如果控制不变,这个case最终会归零。至于 D 寄存器的使用,这是我的猜测:寄存器是内存元素,必须存储位值,因此 D 寄存器是由 D 触发器组成的寄存器来存储其元素,而您使用 D 触发器,因为 D触发器是边沿触发设备。您很可能拥有一个使用 JK 触发器来存储内存元素的 JK 寄存器。希望这可以帮助。