-2
我对定制计数器有一个基本的了解。 我知道一种实现(8,4,2,1,2,4)计数器的方法,即使用FSM,但我无法弄清楚电路如何实现?振荡1s(1000,0100,0010,0001,0010,0100)计数器的电路是什么?
我对定制计数器有一个基本的了解。 我知道一种实现(8,4,2,1,2,4)计数器的方法,即使用FSM,但我无法弄清楚电路如何实现?振荡1s(1000,0100,0010,0001,0010,0100)计数器的电路是什么?
这是最好的勉强与编程有关,但它可能会更好在one of the other sites你肯定会得到比这更好的答案。
然而,根据实际答案(无论其缺点),这是很难做到的,因为每个州并不完全规定以下状态。因此,我的意思是无法判断0010
后面是0100
(左转)还是0001
(右转)。
然而,有是办法一起做这六位rotating shift register(一)如下:
b5 b4 b3 b2 b1 b0
+-> 1 0 0 0 0 0 --+
| |
+-----------------------+
然后,结合位,以产生实际结果位:
b5 -> r3
b4 OR b0 -> r2
b3 OR b1 -> r1
b0 -> r0
看到重复模式这样:
b5 b4 b3 b2 b1 b0 | b5 b4 ...
r3 r2 r1 r0 r1 r2 | r3 r2 ...
而且,如果你想在结束时有一些延迟,你只需使用一个具有稍微不同组合的8位移位寄存器。使得它不散两倍长的r3
和r0
:
b7 OR b0 -> r3
b6 OR b1 -> r2
b5 OR b2 -> r1
b4 OR b3 -> r0
这给:
b7 b6 b5 b4 b3 b2 b1 b0 | b7 b6 ...
r3 r2 r1 r0 r0 r1 r2 r3 | r3 r2 ...
(一)虽然这种联系似乎指定非旋转移寄存器,只需将最右边的位的输出回馈到最左边的位置,就可以创建一个旋转的应用程序。