본문 바로가기
2학년 2학기/컴퓨터 구조

1.7 Sequential circuit - 순차회로의 분석

by kkkkk1023 2024. 9. 22.

순차회로(Sequential circuit)란?

출력이 현재의 입력뿐만 아니라 이전 상태에도 의존하는 디지털 회로이다. 

 

이제 우리는 이 순차회로도가 주어지면 그 회로도를 보고 어떤 입력들이 왔을 때, 어떤 값을 출력하는지에 대한 분석을 해보려고 한다.

 

[분석 방법]
1. 회로도를 보고 각 플립플랍과 출력에 대한 function 도출하기
2. 도출된 function을 바탕으로 State table 도출하기
3. State table을 바탕으로 State diagram 만들기

 

아래 JK flip-flop 순차회로를 바탕으로 분석을 해보자!

 

 

 

 

1. function 도출하기

우선, 각 플립플랍과 출력에 대한 function을 도출해야하지만 현재 출력은 없기 때문에 각 플립플랍에 대한 function만 도출해보자.

 

 

 

플립 플랍은 출력 A에 있는 J, K와 출력 B에 있는 J, k가 있기 때문에 이에 대한 function을 도출해보자.

J(A) = B
K(A) = BX'

J(B) = X'
K(B) = A⊕X = AX' + A'X

 

 


2. State table 만들기

 

<채우는 순서>

 

순서 - 1

Present state(현재) Input Next state(현재 +) Output Flip - Flop Inputs 필수x
A B X A+ B+ 없음 J(A) K(A) J(B) K(B) A'
0 0 0              
0 0 1              
0 1 0              
0 1 1              
1 0 0              
1 0 1              
1 1 0              
1 1 1              

 

넣은 값은 그냥 3 변수에서 나올 수 있는 모든 경우의 수를 작성한 것이다.


 

순서 - 2

Present state(현재) Input Next state(현재 +) Output Flip - Flop Inputs 필수x
A B X A+ B+ 없음 J(A) K(A) J(B) K(B) A'
0 0 0     0 0 1 0 1
0 0 1     0 0 0 1 1
0 1 0     1 1 1 0 1
0 1 1     1 0 0 1 1
1 0 0     0 0 1 1 0
1 0 1     0 0 0 0 0
1 1 0     1 1 1 1 0
1 1 1     1 0 0 0 0

 

참고) A'는 K(B) 연산을 위해서 만들어 놓은 것으로 필수는 아니지만 옆에 만들어 놓으면 편해진다.

 

Function을 기반으로 A, B, X 값에 따른 연산 값을 넣은 것이다.

 


순서 - 3 

Present state(현재) Input Next state(현재 +) Output Flip - Flop Inputs 필수x
A B X A+ B+ 없음 J(A) K(A) J(B) K(B) A'
0 0 0 0 1 0 0 1 0 1
0 0 1 0 0 0 0 0 1 1
0 1 0 1 1 1 1 1 0 1
0 1 1 1 0 1 0 0 1 1
1 0 0 1 1 0 0 1 1 0
1 0 1 1 0 0 0 0 0 0
1 1 0 0 0 1 1 1 1 0
1 1 1 1 1 1 0 0 0 0

 

A+와 B+는 JK 진리표를 기반으로 입력하면 된다.

 

 

 

4개의 경우의 수를 따져보자.

 

J(A) = 0, K(A) = 0 인 경우 Q -> Q+ 이다. 따라서 A의 현재 상태는 0이기 때문에 A+는 0이다. 

J(A) = 0, K(A) = 1 인 경우 Q -> 0 이다. 따라서 A의 현재 상태는 0이기 때문에 A+는 0이다. 

J(A) = 1, K(A) = 0 인 경우 Q -> 1 이다. 따라서 A의 현재 상태는 0이기 때문에 A+는 1이다. 

J(A) = 1, K(A) = 1 인 경우 Q -> Q+' 이다. 따라서 A의 현재 상태는 0이기 때문에 A+는 1이다. 

 

B도 마찬가지이다.

 


3. State Diagram 만들기

 

[State Diagram의 규칙]

1. 화살표 시작에는 입력 값 A B의 현재 이, 화살표 끝에는 입력 값 A B의 다음 값이 있어야한다.
2. 화살표 중간에는 Input / Output 형식으로 작성되어야한다. (출력 값이 없다면 Input만 작성)

 

상태표를 분석해보자.

  • 현재 값 A = 0, B = 0 이고 Input X = 0이면 다음 값은 A = 0, B = 1 
  • 현재 값 A = 0, B = 0 이고 Input X = 1이면 다음 값은 A = 0, B = 0
  • 현재 값 A = 0, B = 1 이고 Input X = 0이면 다음 값은 A = 1, B = 1
  • 현재 값 A = 0, B = 1 이고 Input X = 1이면 다음 값은 A = 1, B = 0
  • 현재 값 A = 1, B = 0 이고 Input X = 1이면 다음 값은 A = 1, B = 1
  • 현재 값 A = 1, B = 0 이고 Input X = 0이면 다음 값은 A = 1, B = 0
  • 현재 값 A = 1, B = 1 이고 Input X = 1이면 다음 값은 A = 0, B = 0
  • 현재 값 A = 1, B = 1 이고 Input X = 0이면 다음 값은 A = 1, B = 1

이제 이 분석으로 그림을 그리면 아래와 같다.