나는 맞춤 카운터에 대한 기본적인 지식을 가지고있다. (8,4,2,1,2,4) 카운터를 구현하는 방법, 즉 FSM을 사용하는 방법을 알고 있지만 회로가 어떻게 구현되는지 알 수 없습니까?진동 1 (1000, 0100, 0010, 0001, 0010, 0100)이있는 카운터 회로는 어떻게됩니까?
-2
A
답변
0
이것은 프로그래밍과 관련하여 변두리로이지만, 이보다 더 좋은 대답을 얻을 수있는 one of the other sites에서 더 좋을 수도 있습니다.
그러나 실제 답변 (단점이 무엇이든간에)은 각 국가가 다음 상태를 전적으로 지시하지 않기 때문에 어렵습니다. 즉, 패턴 0010
뒤에 0100
(왼쪽으로 이동) 또는 0001
(오른쪽으로 이동)을 따라야하는지 여부를 알 수있는 방법이 없습니다.
그러나이 함께 할 수있는 방법이 하는 6 비트의 rotating shift register(A)을 다음과 같이 다음
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 ...
(A)를 링크가 지정하는 것 같지만 변화를 비 회전 레지스터의 경우 가장 오른쪽 비트의 결과를 맨 왼쪽 비트에 다시 공급하는 것만으로 회전하는 것을 만드는 것이 간단한 문제 여야합니다.