새소식

컴퓨터공학 💻/디지털 시스템 회로 설계

[디지털 시스템 회로 설계] 레지스터와 카운터

  • -
레지스터와 카운터

레지스터

- 플립플롭의 집합체.

- 2진 정보 저장이 가능한 셀들의 집합.

- 플립플롭에 덧붙여 어떤 연산을 수행하는 조합회로를 포함할 수 있음.

- 플립플롭과 그들의 상태전이에 영향을 주는 회로의 집합으로 구성

 

카운터

- 입력펄스가 가해짐에 따라 미리 정해진 순서대로 상태를 전이하는 레지스터

- 레지스터의 특수한 형태라고도 볼 수 있음.

 

레지스터

D-플립플롭들과 하나의 공통된 클럭 펄스 입력으로 구성된 레지스터

Clock=1 입력 정보 저장(상승 전이)

Clock=0 변화없음

Clear=0 비동기적으로 모든 레지스터를 0으로 모두 클리어

 

병렬로드를 갖는 레지스터

병렬 로드 : 레지스터의 모든 비트가 하나의 클럭 펄스에서 동시에 로드됨.

Clock=1 입력 정보 로딩(상승 전이)

Clock=0 변화 없음

Load=1 레지스터에 입력 I 전송, 저장

Load=0 변화없음

 

시프트 레지스터

2진 정보를 한 방향 또는 양방향으로 이동시킬수 있는 레지스터

가장 단순한 형태의 시프트 레지스터 (직렬 형식)

 

<직렬 형식과 병렬 형식>

직렬형식으로 동작

- 디지털 시스템에서 정보가 한번에 1 비트씩 전송되거나 조작되는 것

- 레지스터가 단일 입력과 단일 출력을 갖음.

- 병렬 방식 보다 느리지만 적은 수의 부품으로 간단하게 구성됨

- 예: 시프트 레지스터를 이용한 직렬 전송

 

병렬방식으로 동작

- 레지스터의 모든 비트가 동시에 전송되거나 조작되는 것

- 정보가 레지스터의 모든 비트로부터 얻어질 수 있고 모든 비트가 한 클럭 펄스 동안 동시에 전송될 수 있음.

- 직렬 방식보다 일반적으로 빠름.

 

직렬 전송

예를 들어, 시프트 레지스터A에서 1101을 시프트 레지스터B에 전송한다.

만약 위 동그라미 부분 회로가 없다면 시프트 레지스터A에는 4번의 타이밍 펄스 이후 0000이 남게 된다.

 

직렬 덧셈기 (D플립플롭 이용 / 비동기식)

- 예를 들어, 시프트 레지스터A가 0101, 시프트 레지스터B가 0011이라면 4번의 펄스 이후 레지스터A에는 두 4비트의 합S의 값 1000이, 레지스터 B에는 0000이 저장된다.

- 오른쪽 박스의 D플립플롭에는 캐리 C값이 저장된다. 0이나 1을 가질 수 있으므로 2개의 상태를 가진다.

- 오른쪽 박스의 입력은 2개(x, y), 출력은 1개(S)이다. (클럭 제외)

 

직렬 덧셈기 (JK플립플롭 이용 / 비동기식)

상태표 (JK플립플롭)

쌍방향 시프트 레지스터

카운터

카운터

입력 펄스에 따라 미리 정해진 순서대로 전이가 진행되는 레지스터

입력펄스 : 클럭펄스이거나 다른 외부적 신호 / 주기적이거나 임의적(random)

카운터의 종류

리플 카운터 (ripple counter)

플립플롭들이 다른 플립플롭 출력에서 발생하는 전이에 의해 트리거됨.

입력 C가 다른 플립플롭의 출력과 연결.

 

동기식 카운터 (synchronous counter)

플립플롭들이 동일 클럭에 의해서 트리거됨

입력 C가 동일 클럭에 연결.

 

동기식 카운터

기타 카운터 (동기식)

 

2진 리플 카운터 (비동기식)

이전 비트(A)가 하강 전이일 때 보수화
이전 비트(A)가 1-&amp;gt;0 바뀔때 상태(A)가 바뀐다

BCD 리플 카운터 (비동기식)

3자리 BCD 리플 카운터

Q8에서 BCD 카운터로 이동하는 회로는 9에서 0으로 넘어가게 하기 위한 증가 신호이다.

 

상하향 2진 카운터(동기식)

상향 카운트 : 이전 비트가 모두 1일 때 토글

하향 카운트 : 이전 비트가 모두 0일 때 토글

 

BCD 카운터 (동기식)

병렬로드를 가진 2진식 카운터

병렬로드를 가진 2진식 카운터로 BCD 카운터 만들기

 

링 카운터

존슨(Johnson) 카운터

마지막 E의 보수값이 출력이 A인 플립플롭의 입력으로 들어가며 B, C, E는 이전의 플립플롭의 값이 시프트된 값이다.

- 비트가 4개인 경우 링카운터로는 상태 4개, 존슨카운터로는 상태 8개 반복한다.
- 비트가 5개인 경우 링카운터로는 상태 5개, 존슨카운터로는 상태 10개 반복한다.

- 비트가 k개인 경우 링카운터로는 상태 k개, 존슨카운터로는 상태 2k개 반복한다.

순서가 헷갈리게 되어있는데 간단하다. 처음 0000 상태는 1이므로 1000 0000 이다.

다음 1000 상태는 2이므로 0100 0000 이다.

다음 1100 상태는 3이므로 0010 0000 이다.

다음 1110 상태는 4이므로 0001 0000 이다.

다음 1111 상태는 5이므로 0000 1000 이다.

다음 0111 상태는 6이므로 0000 0100 이다.   . . . 이하 생략

 

 

 

자료참조 - Digital Design 6th Morris Mano

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.