VHDL

4비트 존슨 카운터(4bit johnson counter)

전자자연인 2021. 6. 9. 21:41
반응형

1. 4비트 존슨 카운터

존슨 카운터(Johnson or twisted-ring counter)는 마지막(맨 오른쪽) 플립플롭의 반전출력(inverted output) Q'가 첫번째(맨 왼쪽) 플립플롭의 입력에 연결된다는 점을 제외하면 링 카운터와 동일한 구조를 갖는다.



 

2. 소스코드 및 설명

 

 

 

 

11 : signal tmp 4비트 로직벡터를 선언(3부터0까지 내림차순)

 

13 : CLK,RESET에 관한 process (CLK RESET값에 의해 출력결정)

 

15 : RESET 1일시 tmp 0000을 전달

 

18~20 : Ring Counter 와 같이 비트를 한비트씩 좌측으로 옮기는 과정이다.

 

21 : tmp(0)비트에 tmp(3)비트의 반전 값을 넣어준다

0000 > 0001 > 0011 > 0111 > 1111 > 1110... 이 된다.

 

24: 나온 tmp의 값을 Y에 전달하여 출력한다.

 

 

 

3.시뮬레이션 결과 및 설명

 

 

 

1.CLK 상승신호에 맞춰서 0비트는 1비트로, 1비트는 2비트로, 2비트는 3비트로 자리가 이동되고, 1이 우측부터 생기는건, 즉 링카운터와는 다르게 3비트의 반전값을 0비트로 옮기는 과정을 보여준다.

 

0000에서 3비트의 반전값이 반전되어 이동되므로 0001,  3비트의 반전값이 0비트로 가고 0비트의 값은 1비트로 이동하므로 0011, 똑같이 0111,1111이 되고,

다시 3비트의 반전값이 0비트로 이동하므로 1110이 되고 1100, 1000이 되어 다시 3비트의 값의 반전이 0비트로 이동하므로 000이 된다.

 

2. RESET신호가 1이 들어올 시 출력은 0000이된다.

반응형

'VHDL' 카테고리의 다른 글

램메모리 VHDL RAM(Random Access Memory) VHDL  (0) 2021.06.09
ROM memory (Read Only Memory) VHDL  (0) 2021.06.09
4 BIT RING COUNTER,4비트링카운터 VHDL  (1) 2021.06.09
모듈로 10 UP-DOWN-COUNTER  (0) 2021.06.09
5 bit updown counter  (0) 2021.06.09