6장 순차회로 시스템 상태표와 상태도 래치와 플립플롭 순차 시스템의 해석
순차회로 시스템 메모리 기능 출력은 현재의 입력 뿐만이 아니고 과거의 입력에도 영향을 받음 출력은 현재의 입력 뿐만이 아니고 과거의 입력에도 영향을 받음 조합회로는 현재의 입력에 의해서만 결정됨 종류 동기식 (클럭에 의해 동작) 비동기식
클럭 일정한 주기로 반복하는 신호 주기(T) : 1 cycle 의 길이 주파수(frequency): 1/T 200Mhz 클럭의 주기: 1/ (200 X 106) = 5 * 10–9 = 5 nsec 그림 6.1
순차회로 시스템 개념도 combinational logic: n 개의 입력 (x’s) k 개 출력 (z’s) m 개의 저장장치 (q’s) combinational logic: 시스템 입력 (x’s ) 과 메모리 내용 (q’s) 에 대한 함수. 조합회로의 출력은 메모리내용을 변경시키는 입력이 되고 또한 시스템 출력이 된다.
저장장치 래치 비동기(클럭을 사용 안함. static) 간단하다 출력은 입력 신호가 바뀌는 순간에 결정되어 나타난다. 임시 저장장치로 사용 플립플롭 클럭을 사용 두개의 출력, q와 q´ 1 또는 2 개의 입력 출력은 클럭이 천이(상승 또는 하강)될 때 결정되어 나타난다. 초기화를 위한 비동기 입력도 있을 수 있다( clear, preset )
6.1 상태표와 상태도 예문 6. 입력 x와 하나의 출력 z를 갖는 시스템으로, 타이밍 추적(Trace) : - 연속적인 클럭에 대한 입력과 출력(또는 내부의 상태) 값 들을 나타냄 - 시스템의 동작을 설명하는데 사용. Trace 6.1 3개의 연속적인 1 * 이 시스템의 출력은 현재의 상태에 의하여 결정된다. 현재의 입력은 현재 출력에 관여하지 않고 다음 상태에 영향을 주기만 한다. – Moore 모델
상태표, 상태도 상태(state): 메모리에 저장되어 있는 2진수 값으로 나타냄 상태표(state table): 현재상태에서 각 입력에 대하여 출력은 무엇이고, 다음 상태는 무엇인지를 나타낸다. 상태도(state diagram) 또는 상태 그래프(state graph): 상태표를 그림으로 나타낸 것. 표 6.1 상태표 그림 6.3 상태도
래치와 플립플롭 래치: - 2진 저장장치 - feedback 그림 6.5 NOR 래치 (차기상태) 함수 식 P = (S + Q) Q = (R + P) 저장상태인 S=0, R=0 이면 P = Q 0 또는 1을 저장 S: Set R: Reset S=1, R=1 이 되면 안됨. P와 Q가 둘 다 0 이 되기 때문이다.
게이트된 래치 gate 신호가 0 이면 래치 값은 변하지 않는다.
마스터/슬레이브 플립플롭 두개의 게이트된 래치로 구성된 SR master/slave flip flop
플립플롭 - D, JK, SR, T 플립플롭 - 클럭으로 동작하는 2진 저장장치 클럭이 바뀔 때 출력이 바뀐다. 상승 에지 트리거(rising edge trigger, leading edge trigger) 하강 에지 트리거(falling edge trigger,trailing edge trigger)
D 플립플롭 - simple - 입력 신호가 1 클럭 Delay 되어 출력에 나타남. 그림 6.8 그림 6.9
D 플립플롭 타이밍 도 그림 6.10 * 입력은 다르지만 하강 에지 때의 D입력이 같으므로 출력은 위와 같음.
2개의 플립플롭 타이밍도 클럭 천이에서의 플립플롭의 동작은 클럭 천이 바로 전의 입력 값에 의해 결정 그림 6.12 클럭 천이에서의 플립플롭의 동작은 클럭 천이 바로 전의 입력 값에 의해 결정 - 따라서 같은 클럭을 사용하는 두개의 플립플롭을 그림 6.12 과 같이 연결가능 그림 6.13
비동기 입력: preset 과 clear 그림 6.14 표 6.4
Preset 과 clear의 타이밍 그림 6.15
SR 플립플롭 : S(et), R(eset) 입력 표 6.5 맵 6.1 그림 6.16 차기상태 식: q* = S + Rq
SR 플립플롭 타이밍 도 그림 6.17
T 플립플롭: T(oggle) 표 6.6 그림 6.18 차기 상태 식 q* = T q 그림 6.19
JK 플립플롭 표 6.7 그림 6.20 맵 6.2 차기상태 식 q* = Jq + Kq
JK 플립플롭 타이밍 도 그림 6.21
순차 시스템의 해석 - Moore 모델: 출력이 상태변수 만에 의한 함수. 현재 입력은 직접 출력을 제어하지 않음. 그림 6.22 D 플립플롭 Moore 모델 회로 1) 회로로 부터 플립플롭 입력들과 출력에 대한 식을 구한다. 2) 식들로 부터 상태표를 만든다. D1 = q1q2’ + xq1’ D2 = xq1 Z = q2’
Moore 모델 상태표 표 6.8a 부분 상태표 (q1*) 표 6.8b 완전한 상태표 (q1* q2*) D1 = q1q2’ + xq1’ D2 = xq1 Z = q2’
JK로 구성된 Moore 모델 1) 회로로 부터 플립플롭 입력들과 출력에 대한 식을 구한다. 그림 6.24 1) 회로로 부터 플립플롭 입력들과 출력에 대한 식을 구한다. 2) 식들로 부터 상태표를 만든다.
상태표 만들기 표 6.9a 첫 번째 두 입력 상태표 표 6.9c 완성된 상태표 A B = 0 0, x = 0 -> JA = KA = 0 and JB = KB = 1 플립플롭의 동작표(표5.6)에 의하여 A 는 상태가 바뀌지 않고, B 는 상태가 바뀐다. 따라서 0 1 상태로 바뀐다. A B = 0 1, x = 0 -> JA = KA = 0 and JB = KB = 1 위에서와 마찬가지로 B 는 상태가 바뀐다. 따라서 0 0 상태로 바뀐다. 이런 방법으로 계속하여, 표 6.8c 와 같이 상태표가 완성된다.
타이밍 추적 및 타이밍 도 입력 x와 초기값이 추어진 것에 대한 타이밍 추적을 나타낸다. Trace 6.4 표 6.9에 대한 추적 입력 x와 초기값이 추어진 것에 대한 타이밍 추적을 나타낸다. 그림 6.26 표 6.9의 상태도 그림 6.25 표 6.9에 대한 타이밍 도
상태표 없이 타이밍 추적이나 타이밍 도를 얻는 방법 각 클럭에서 회로의 각 플립플롭에 대한 동작을 알아내어 완성한다. 회로도를 이용하여 각 클럭마다 각 신호선 값을 결정 2) 또는, 차기상태에 대한 함수 식을 이용한다.
Mealy 모델 입력식과 출력식 D1 = xq1 + xq2 D2 = xq1’q2’ z = xq1 q1* = xq1 + xq2 q2* = xq1’q2’
Mealy 모델 상태표, 상태도 차기상태 식 q1* = xq1 + xq2 q2* = xq1’q2’ 위 식으로 부터 상태표를 구함. 상태도 - 예문 6의 해. (3개의 연속된 1을 체크) - 상태 11은 unreachable - 3 상태 문제 - 초기화를 하지 않아도 0 이 입력된 후에는 정상 동작
타이밍 추적 glitch (false output) 입력 x가 클럭 천이와 동시에 바뀌지 않아서 false output이 나왔다. Mealy 모델에서는 보통 출력이 클럭천이에서 중요하기 때문에 큰 문제가 안된다.