해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition] 책과 ktword의 <정보통신기술용어해/카운터>을 기반으로 작성되었습니다
Counter
- Counter
- Asynchronous Counter
- Synchronous Counter
- Other types of counters
Counter
카운터(Counter)란?
2개 이상의 플립플롭으로 구성되며, 매 입력 펄스(Pulse) 마다, 미리 정해진 순서대로 상태가 주기적으로 변하는 레지스터임.
카운터의 용도
계수, 타이버, 주파수 계수기 등 발생 횟수를 세거나 동작 순서를 제어(순서제어)하기 위한 타이밍 신호 생성에 적합.
클럭 펄스의 인가 방식에 따른 카운터의 구분
1. 비동기식 카운터(Asynchoronous Counter, Ripple Counter)
2. 동기식 카운터(Synchoronous Counter, Parallel Counter)
카운터 기타 구분
1. BCD 카운터
2. Ring 카운터
3. Johnson 카운터
Asynchronous Counter
비동기식 카운터(Asynchronous Counter, Ripple Counter)란?
클럭 펄스에 모든 플립플롭이 동기화되지 않으며 동작하는 카운터로 리플 카운터라고도 함
타이밍 다이어그램(Timing Diagram)
Synchronous Counter
동기식 카운터(Synchronous Counter, Parallel Counter)란?
클럭 펄스에 모든 플립플롭이 동시에(병렬로)/동기화되어 동작하는 카운터로 병렬 카운터라고도 함
타이밍 다이어그램(Timing Diagram)
모듈로-N 카운터(Modulo-N Counter)
카운터는 일반적으로 아래의 상태전이도(State diagram)에 나타난 것처럼 클럭 펄스(Clk pulse)가 하나씩 인가될 때마다 미리 정해진 순서대로(up/down) 상태(state)가 반복되는 순차회로를 말하며, 모듈로-N 카운터는 N개의 상태를 갖는 카운터를 말한다.
n비트 이진 카운터(n-bit binary counter)
가장 흔한 형태의 카운터로, n개의 플립플롭(Flip-Flop)으로 구성되며, $2^n$개의 상태를 가지는 카운터를 말한다. 예로 3비트의 이진 카운터는 3개의 플립플롭으로 구성되고, $2^3=8$가지 상태를 가진다. 이 카운터의 상태값이 아래 그림의 좌측과 같이 증가하는 순서로 변화한다면 증가형 카운터(up counter)라고 하며, 우측과 같이 감소하는 순서로 변화한다면 감소형 카운터(down counter)라고 한다. 경우에 따라서 이 두가지를 모두 가질 수 있고 이 경우 증감형 카운터(up/down counter)라고 한다.
*추가로 3비트 이진카운터는 8개의 상태를 가지므로 modulo-8 카운터라고 말한다.
카운터 설계 예시
1. 모듈러-6 카운터 설계
1-1. T Flip Flop으로 구현
2. 3비트 이진 증감형 카운터(3-bit binary up counter, same as modulo-8 up counter)
1-1. JK Flip Flop으로 구현
Other types of counters
BCD 카운터(Binary Coded Decimal Counter)란?
10진 카운터(Decimal Counter)의 대표적인 카운터로, 10진 카운트는 0에서 9까지 10개의 상태를 카운트한다. 10진수를 2진 코드로 표현하는데 적어도 4비트가 필요하다. BCD 카운터의 회로와 상태도는 다음과 같다.
두 자리수 7-segment를 BCD Counter로 구현
링 카운터(Ring Counter)란?
전체적으로 데이터가 회전하는 시프트 레지스터(Shift Register)를 말하며, 맨 마지막 플립플롭의 출력이 첫 번째 플립플롭의 입력에 연결됨. 입력된 데이터는 클록(Clk)의 펄스(Pulse)마다 한 칸씩 이동하게 된다.
존슨 카운터(Johnson Counter)란?
맨 마지막 플립플롭의 출력 중 NOT 출력을 첫 번째 플립플롭의 입력과 연결한 회로이다. 존슨 카운터의 대표적인 응용 예로 Decade Counter, 8 Counter로 쓰인다.
'Computer Science > 논리회로' 카테고리의 다른 글
[Sequential Logic Circuit] 레지스터(Register) (0) | 2022.06.13 |
---|---|
[Sequential Logic Circuit] 플립플롭(Flip-Flop) (0) | 2022.06.12 |
[Sequential Logic Circuit] 래치(Latch) (0) | 2022.06.11 |
[Combinational Logic Circuit] 코드 컨버터(Code converters) (0) | 2022.06.08 |
디지털 논리회로(Digital Logic Circuit) 소개 (0) | 2022.06.08 |