在Verilog中设计边缘触发的桶形移位器/旋转器

时间:2011-03-19 05:23:34

标签: verilog shift

我制作了一个组合桶式变速器/旋转器。现在我必须使边缘触发一个。如果你使用控制信号告诉边沿触发的移位器/旋转器向右移一位,那么如果不改变控制,输出最终是否会变为0?

我应该使用组合移位器/旋转器和D寄存器来设计它。为什么需要D寄存器?

2 个答案:

答案 0 :(得分:1)

根据我的理解,如果你只是移位,位将会下降,零将填充空位位置。如果你正在旋转,比特永远不会掉下来,而是转向另一端。这是位ABCD的一位位置的旋转,两次:ABCD DABC CDAB。您可以看到,如果控件停留在旋转状态,则这些位将保持循环。这是一位位置的 shift ,三次:ABCD 0ABC 00AB 000A,如果控件不变,你可以看到这种情况最终会变为零。至于使用D寄存器,这是我的猜测:寄存器是存储元件,必须存储位值,因此D寄存器是由D触发器组成的寄存器来存储其元素,并且你使用D触发器,因为D触发器是边缘触发的设备。你很可能有一个J-K寄存器,它使用J-K触发器来存储存储器元件。希望这可以帮助。

答案 1 :(得分:1)

它最终不会变为0,因为输出不会作为输入反馈。由于组合移位器/旋转器对其不敏感,因此需要D寄存器以提供对时钟上升沿的灵敏度。在上升沿,D寄存器会将其保持的任何内容转储到移位器/旋转器中。