CAFE

[ 구인/구직게시판 ]

링카운터(6-2) 문제 제기에 대한 답변의 글(평가원에서 퍼옴)

작성자☆ⓙⓘ - ⓝⓞ☆|작성시간03.12.26|조회수818 목록 댓글 0

**** 출제위원회에서는 다음과 같이 답변을 합니다. 답변의 용량이 한정되어 있어서 나누어서 올립니다.******

1. 링 카운터는 시프트 레지스터를 응용한 가장 간단한 카운터로서 문제6의 문항6-2의 그림과 같이 Serial-In, Parellel-Out 시프트 레지스터의 최종출력을 다시 입력에 귀환시킨 일종의 순환 시프트 레지스터이다.
링카운터는 임의의 시간에 오직 1개의 플립플롭만 1이 되고, 나머지는 모두 클리어된다.
4진 링카운터는 각각의 플립플롭에 주어진 초기값(2진수 값 0또는 1)을 오른쪽으로 전달하고 마지막 플립플롭의 출력이 다시 입력으로 되돌아가도록 하는, 즉 환형(링) 형태를 이루도록 설계된 카운터이다. 그러므로 각 플립플롭은 독립적으로 동시에 2진수(0,1 -- 회로적으로는 0V, +5V)값을 가지게 된다.

그림에서 볼 수 있듯이 링 카운터는 항상 첫 번째 플립플롭(D0)은 1로, 나머지 플립플롭은 모두 0으로 Preload를 걸어준다.
(초기값을 0000으로 줄 경우 출력값은 항상 Low(0)가 되어 출력이 없는 것과 같이 되므로 링카운터가 형성되지 않음)
그러므로 이때 네개의 출력은 1, 0, 0, 0 (이를 흔히 초기값이라고 함: 그러므로 플립플롭의 각 출력값은 명확히 2진수 값임)가 되고,
다음 클럭 펄스 CK가 한번 들어오면 플립플롭의 네 개의 출력은 각각 0, 1, 0, 0으로 되고, 클럭 펄스의 수만큼 1이 오른쪽으로 이동하게 된다. 네 번째 펄스후에는 0001의 상태로 되고,
다섯 번째 클럭 펄스에 대해서는 다시 처음의 상태로 되돌아가서 1000으로 되므로 링 카운터는 서로 구분되는 4가지의 상태를 가지는것이다.
중요한 것은 이러한 동기식 4진 링 카운터의 개념을 정확히 이해 해야한다는 것이다. (흔히 부모 중 남자쪽을 아버지라고 호칭하는것은 그렇게 하기로 약속을 한 것과 같이 링 카운터라는 것도 마찬가지로 이와 같이 동작하는 것을 링카운터라 하자 라고 약속한 것임- 임의대로 링카운터에서 각 플립플롭의 자리를 가중치를 두어 해석해서는 안된다.

2. 문항 6-2의 회로와 같이 플립플롭을 배치 했을 때(순서 D0, D1, D2, D3), 동기식 4진 링 카운터 와 동기식 4진(2^2) 카운터의 여기표는 아래와 같이 서로 다르다. 두개의 여기표를 비교해보면(이때 동기식 4진 카운터는 두개의 플립플롭만 필요하다. D0, D1 --- 출력은 Q0, Q1임)

동기식 4진 링 카운터 동기식 4진 카운터
CK Q0 Q1 Q2 Q3 CK Q1 Q0 10진수값<- Q1, Q0 자리 위치를 주의해서 보세요
0 1 0 0 0 0 0 0 0
1 0 1 0 0 1 0 1 1
2 0 0 1 0 2 1 0 2
3 0 0 0 1 3 1 1 3
4 1 0 0 0 4 0 0 0 <---- Q1, Q0 값을 주의해서 보세요
5 0 1 0 0 5 0 1 1

(* 5번째 클록펄스(클록 4)에서 동기식 4진 링 카운터는 0000이 되지 않는 것에 주목하세요 -- 이는 링 카운터의 개념에 의한 것임)
(만일 문항 6-2회로와 같은 방식으로 4개의 플립플롭을 이용해서 동기식 2^4 카운터를 만든다면, 각 비트에 가중치를 두어 0~15를 카운트 할 수 있는 동기식 16진 카운터가 만들어 진다. 물론, 플립플롭의 종류도 D-FF이 아닌 JK-FF을 이용한다.)

--> 이의를 제기한 내용 중 "6-2)문제에서만 보면..." 에서 링 카운터의 개념을 일반적인 동기식 카운터의 개념으로 해석해 버렸으니 당연히 논리적으로 맞을 수가 없게 된다.
그러므로 문항6-1과 문항6-2에 대해 제기한 논리적 오류에 대한 이의내용은 그 자체가 모순이다.

일반적으로 N개의 플립플롭으로 구성된 카운터는 N가지의 출력 상태가 나오면 8421 이진 카운터가 2^n 가지로 나오는 것과는 구분해서 생각해야 한다, 링 카운터는 일반 동기식 2^n 카운터에 비할 때 카운터로서는 극히 비효율적이나
링 카운터는 복호기가 별도로 필요하지 않다는 장점이 있고, 일련의 타이밍 신호의 순차를 발생하기 위하여 1개의 비트가 한 플립플롭에서 다음 플립플롭으로 이동하도록 되어 있어 주로 병렬방식으로 작동하는 제어장치의 타이밍 신호로 이용된다.
(참고로, 16개의 타이밍 신호는 링 카운터의 기능을 갖도록 연결된 16비트 자리이동 카운터나 16개의 플립플롭이 필요함)

3. 또한, 동기식 카운터는 모든 플립플롭이 공통된 클록펄스로 일제히 동작하므로 1개의 입력에 4개의 플립플롭 출력이 동시에 출력된다.

만일, 이의를 제기한 대로 초기값 1000 이라고 주어진 조건을 [ 2^3, 2^2, 2^1, 2^0 ]으로 해석했다면 문항6-2에 그려진 회로에서 보면 'Q0, Q1, Q2, Q3' 가 동시에 출력되므로 위의 여기표에서와 같이 일반적인 동기식 2^4카운터 에서는 'Q0'의 자리값은 2^0, 'Q1'은 2^1, 'Q2'는 2^2, 'Q3'은 2^3 이 되나, 동기식 링 카운터에서는 'Q0, Q1, Q2, Q3' 의 자리값 없이 위의 여기표와 주어진 회로에서와 같이 각각의 FF 값이 출력됨과 동시에 이 출력이 뒤 이어 연결 되어 있는 FF의 입력으로 인가되고(흔히 이를 시프트라고 함)
다음 클록에서는 시프트 된 값이 출력 되게 된다.
(이의를 제기한 본인도 링 카운터에 주어지는 값을 '2진수'라는 가중치가 있는 코드를 사용한다는 자체가 말이 안된다고 했음)

4. 그리고 4진 링 카운터는 Mod-4 링 카운터 이며, 4비트 카운터는 Mod-16 카운터(즉, 6진 카운터)가 되는 것이다.(명확히 구분되어야 함)
또한 링 카운터에 주어진 값 '2진수'는 각 플립플롭의 출력값이 2진수(=2진코드) 값이라는 것이지 이를 4비트의 2진수로 해서 회로를 설계 하라고 것도 아니다. (이 역시 링 카운터의 개념에 의한 것임)

5. 이상으로 볼 때, 제기된 이의 내용은 이의를 제기한 분이 동기식 n진 링 카운터의 동작 개념을 일반적인 동기식 2^n 카운터의 동작과 동일하게 생각하고 이를 링 형태로만 만든 것을 링 카운터라고 생각한 데서 비롯된 착오라고 봅니다.

6. 참고로 고등학교 교과서 '디지털 논리 회로'(교육인적자원부, 2003) .198~203, p.255~256, p.275~276 의 내용을 보시기 바랍니다. (고등학교 교과서는 각분야의 전문가들이 연구, 집필, 심의, 검토한 서적이니 신뢰도가 높고 공증된 도서임을 알려드립니다)

-끝-
다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼