CS 공부/컴퓨터 구조

순차논리회로

학습하는 청년 2024. 12. 26. 18:13

최종 수정 : 24.12.26

순차논리회로

순차논리회로(sequential logic circuit)는 조합논리와 플립플롭(flipflop)으로 구성된 회로이며 출력값은 입력값과 회로의 내부상태에 의해 정해지는 논리회로이다. 내부상태는 현재의 입력값과 이전의 내부상태에 의해 정해진다. 순차논리회로는 동기식(synchronous)과 비동기식(asynchronous)으로 구분한다. 동기식 순차논리는 클록(clock)신호와 입력신호의 순서에 따라 출력신호가 발생되는 회로이다. 비동기 순차논리는 클록신호와 상관없이 입력신호의 변화순서에 따라 출력신호가 발생한다. 대부분 순차논리회로는 동기식 순차논리이다.

순차논리회로 블록도


1. 플립플롭(F/F ; Flip Flop)

순차논리회로에서의 메모리 요소가 플립플롭이다. 0또는 1의 안정된 상태를 갖고 있으며 2가지 상태 중 한 상태에 머물러 있다. 상태를 바꾸려면 외부에서 입력신호를 가해야 한다. 플립플롭은 1비트를 저장한다.

 

1) 기본 플립플롭

☞ 2개의 NAND 게이트나 NOR 게이트로 구성되어 있다. 한 게이트의 출력에서 다른 게이트의 입력으로 피드백(feedback)되는 형태이다. 이러한 회로를 래치(latch)라고 한다.

NOR 게이트로 구성된 비공기식 R-S 플립플롭

 

 

2) R-S 플립플롭

기본 플립플롭의 입력에 게이트를 추가해서 1개의 클록 펄스(CP ; Clock Pulse) 발생 동안에만 출력이 발생한다. 기본 NOR 래치와 2개의 AND 게이트로 구성된다. 클록 펄스가 0인 동안은 전 상태를 유지하고 클록 펄스가 1인 동안에는 R과 S의 입력값이 전달된다.

 

  • 클록 펄스가 0이면 S, R 입력값에 상관없이 S, R 입력값에 상관없이 전 상태를 그대로 유지한다.
  • 클록 펄스가 1이면서
    S = 0, R = 0이면 출력상태 Q, Q'는 전 상태를 유지한다.
    S = 1, R = 0이면 출력상태 Q = 1, Q' = 0
    S = 0, R = 1이면 출력상태 Q = 0, Q' = 1
  • Q(t)는 현재상태, Q(t+1)은 다음 상태를 나타낸다.

 

3) D 플립플롭

☞ 동기식 R-S 플립플롭의 변형으로 R-S 플립플롭에서 R = 0, S = 0과 R = 1, S = 1인 상태를 제거한 회로이다.

 

  • 클록 펄스가 0이면 S, R 입력값에 상관없이 전 상태를 그대로 유지한다.
  • 클록 펄스가 1이면서
    D = 0이면서 출력상태 Q = 0, Q' = 1의 상태를 나타낸다.
    D = 1이면서 출력상태 Q = 1, Q' = 0의 상태를 나타낸다.

 

4) J-K 플립플롭

☞ R-S 플립플롭의 R = S = 1인 불완전한 상태를 보완한 것이다. J = K = 1이 되면 출력은 전 상태를 반전시킨다.

 

  • 클록 펄스가 0이면 J, K 입력값에 상관없이 전 상태를 그대로 유지한다.
  • 클록 펄스가 1이면서
    K = 0, J = 0이면 출력상태 Q, Q'는 전 상태를 유지한다.
    K = 0, J = 1이면 출력상태 Q = 1, Q' = 0
    K = 1, J = 0이면 출력상태 Q = 0, Q' = 1
    K = 1, J = 1이면 출력상태 Q, Q'는 전 상태를 반전시킨다.

 

5) T 플립플롭

☞ J-K 플립플롭의 변형으로 입력신호는 클록 펄스, T(Toggle) 2개이다. J-K 플립플롭에서 같은 입력신호 J = K = 0과 J = K = 1인 상태만 선택한 회로이다.

 

  • 클록 펄스가 0이면 T 입력값에 상관없이 전 상태를 그대로 유지한다.
  • 클록 펄스가 1이면서
    T = 0이면 출력상태 Q, Q'는 전 상태를 유지한다.
    T = 1이면 출력상태 전 상태의 보수상태가 된다.

 

6) 클록 펄스의 트리거(tigger) 방식

☞ 신호의 변화를 주는 방법에는 레벨(level) 트리거, 에지(edge) 트리거 방식이 있다. 플립플롭은 동작시간보다도 클록 펄스의 지속시간이 길게 되면 플립플롭이 계속해서 동작이 수행된다. 따라서 플립플롭은 클록 펄스의 끝 부분에서만 동작하는 에서 트리거 방식을 사용한다. 에지 트리거는 플립플롭의 내부 구조를 바꾸어 클록이 0에서 1로 변하거나 1에서 0으로 변할 때의 순간에만 입력을 받아들이게 하는 방법으로 라이징(rising) 에지, 폴링(falling) 에지 방식으로 나뉜다. 보통 플립플롭이라고 하는 것은 에지 트리거 방식이며 레벨 트리거를 사용하거나 클록을 사용하지 않는 방식을 래치라 한다.

 

7) 에지 트리거 R-S 플립플롭의 논리도, 기호, 진리표, 타이밍도

 

8) 에지 트리거 D 플립플롭의 논리도, 기호, 진리표, 타이밍도

 

9) 에지 트리거 J-K 플립플롭의 논리도, 기호, 진리표, 타이밍도

 

10) 에지 트리거 T 플립플롭의 논리도, 기호, 진리표, 타이밍도

 

11) D-F/F 주종(master-slave) 플립플롭

☞ 2개의 독립된 플립플롭과 인버터로 구성되며 앞 플립플롭이 주인 플롭플롭이고, 뒤에 있는 플립폴롭이 종 플립플롭이다. 인버터와 연결된 NOT 데이트에 의해서 2개의 플립플롭 중 1개만 활성화가 된다.

 

  • CP = 1이면 Y, Y'는 값이 변화되는데 Q, Q'는 변화가 없다.
  • CP = 0이면 Y, Y'는 변화가 없고 Q, Q'만 변화가 있다.

 

12) 플립플롭의 여기표

☞ 플립플롭의 진리표는 논리적인 성격과 특성을 보여주는 표이며 여기표란 현 상태와 다음 상태를 알고 있을 때 입력값을 제시하는 표이다. 여기표 회로 설계 시에 유용하게 사용한다.

 

13) 비동기 입력

☞ 클록 펄스에 상관없이 상태를 강제로 변환시킬 수 있는 비동기 입력인 preset(프리셋)과 clear(클리어) 입력이 있다.

 

14) 순차논리회로의 설계

☞ 순차논리회로는 상태의 흐름을 설계해야 하므로 각 상태를 분석해야 한다. 상태분석을 위해서는 상태표와 상태도를 사용하며 간략화 과정으로 논리식을 세우고 플립플롭 회로를 대응시켜야 회로를 설계한다.

 

상태도(status diagram)는 순서논리회로의 동작상태의 흐름을 그림으로 나타낸 것이다. 회로 설계의 초기단계에서 사용한다. 현재의 상태를 원 내에 표시하고 다음 상태의 변환은 화살표로 나타낸다. 원의 바깥에는 입력값과 출력값을 나타낸다.


2. 레지스터(register)

레지스터는 2진 정보를 저장하는 기억소자로 플립플롭이 여러 개 모여서 구성된다. 중앙처리장치에는 기억장치로 많이 이용한다. 레지스터의 기능은 저장, 시프트, 로테이트가 있다.

 

n개의 시프트 레지스터는 n의 플립플롭과 시프트 동작을 하는 제어 게이트로 구성되어 있다.


3. 카운터(counter)

카운터는 여러 개의 플립플롭으로 구성되며 레지스터의 특수한 형태이다. CP와 플립플롭의 상태가 순차적으로 변하는 순차논리회로이다.

1) 동기식 카운터(synchronous counter)

설계방법이 까다롭지만 오차가 없고 정확도가 크며, 회로 구성에 사용한 모든 플립플롭들이 하나의 공통 클록을 동시에 공급받도록 구성된 회로이다. 따라서 모든 플립플롭은 같은 동기신호 클록 펄스에 따라 동작된다.

 

2) 비동기식 카운터(asynchronous counter)

설계는 쉬운 편이나 오차 발생 가능성이 크며, 플립플롭들이 서로 다른 클록을 사용하는 형태로 구성된 회로를 말한다. 따라서 모든 플립플롭은 비동기 방식이므로 서로 다른 동기신호인 클록 펄스에서 동작한다.


4. 메모리셀

순차논리회로를 이용하여 1비트씩 저장하는 공간이다.

 

주소신호선은 여러 개의 기억소자 중에서 선택된 소자를 선택하는 특정 주소를 지정한다. 입력신호는 기억소자에 기억시킬 데이터가 입력되는 회선이고 출력신호선은 기억된 내용이 읽기 명령에 의해 CPU의 레지스터에 전해진다. R/W 제어신호는 이 소자에서 데이터를 읽어 올 것인지 쓰기를 할 것인지를 선택해주는 신호이다.