300 likes | 1.07k Views
6 장 순차회로 시스템. 상태표와 상태도 래치와 플립플롭 순차 시스템의 해석. 순차회로 시스템. 메모리 기능 출력은 현재의 입력 뿐만이 아니고 과거의 입력에도 영향을 받음 조합회로는 현재의 입력에 의해서만 결정됨 종류 동기식 ( 클럭에 의해 동작 ) 비동기식. 그림 6.1. 클럭. 일정한 주기로 반복하는 신호 주기 (T) : 1 cycle 의 길이 주파수 (frequency): 1/T 200Mhz 클럭의 주기 : 1/ (200 X 10 6 ) = 5 * 10 –9 = 5 nsec.
E N D
6장 순차회로 시스템 • 상태표와 상태도 • 래치와 플립플롭 • 순차 시스템의 해석
순차회로 시스템 • 메모리 기능 • 출력은 현재의 입력 뿐만이 아니고 과거의 입력에도 영향을 받음 • 조합회로는 현재의 입력에 의해서만 결정됨 • 종류 • 동기식 (클럭에 의해 동작) • 비동기식
그림 6.1 클럭 • 일정한 주기로 반복하는 신호 • 주기(T) : 1 cycle 의 길이 • 주파수(frequency): 1/T • 200Mhz 클럭의 주기: 1/ (200 X 106) = 5 * 10–9 = 5 nsec
순차회로 시스템 개념도 • 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를 갖는 시스템으로, 최소한 3 클럭 주기동안 연속하여 x가 1이었을 때만 z가 1이 된다. 타이밍 추적(Trace) : - 연속적인 클럭에 대한 입력과 출력(또는 내부의 상태) 값 들을 나타냄 - 시스템의 동작을 설명하는데 사용. Trace 6.1 3개의 연속적인 1 * 이 시스템의 출력은 현재의 상태에 의하여 결정된다. 현재의 입력은 현재 출력에 관여하지 않고 다음 상태에 영향을 주기만 한다. – Moore 모델
상태표, 상태도 상태(state): 메모리에 저장되어 있는 2진수 값으로 나타냄 상태표(state table): 현재상태에서 각 입력에 대하여 출력은 무엇이고, 다음 상태는무엇인지를 나타낸다. 상태도(state diagram) 또는 상태 그래프(state graph): 상태표를 그림으로 나타낸 것. 표 6.1 상태표 그림 6.3 상태도
그림 6.5 래치와 플립플롭 래치: - 2진 저장장치 - feedback • 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)
그림 6.8 그림 6.9 D 플립플롭 - simple - 입력 신호가 1 클럭 Delay 되어 출력에 나타남.
그림 6.10 D 플립플롭 타이밍 도 * 입력은 다르지만 하강 에지 때의 D입력이 같으므로 출력은 위와 같음.
그림 6.12 그림 6.13 2개의 플립플롭 타이밍도 • 클럭 천이에서의 플립플롭의 동작은 • 클럭 천이 바로 전의 입력 값에 의해 결정 • - 따라서 같은 클럭을 사용하는 두개의 • 플립플롭을 그림 6.12 과 같이 연결가능
그림 6.14 표 6.4 비동기 입력: preset 과 clear
그림 6.15 Preset 과 clear의 타이밍
표 6.5 맵 6.1 그림 6.16 SR 플립플롭 : S(et), R(eset) 입력 차기상태 식: q* = S + Rq
그림 6.17 SR 플립플롭 타이밍 도
표 6.6 그림 6.18 그림 6.19 T 플립플롭: T(oggle) 차기 상태 식 q* = T q
표 6.7 그림 6.20 맵 6.2 JK 플립플롭 차기상태 식 q* = Jq + Kq
그림 6.21 JK 플립플롭 타이밍 도
그림 6.22 D 플립플롭 Moore 모델 회로 순차 시스템의 해석 - Moore 모델: 출력이 상태변수 만에 의한 함수. 현재 입력은 직접 출력을 제어하지 않음. 1) 회로로 부터 플립플롭 입력들과 출력에 대한 식을 구한다. 2) 식들로 부터 상태표를 만든다. D1 = q1q2’ + xq1’ D2 = xq1 Z = q2’
표 6.8b 완전한 상태표 (q1* q2*) 표 6.8a 부분 상태표 (q1*) Moore 모델 상태표 D1 = q1q2’ + xq1’ D2 = xq1 Z = q2’
그림 6.24 JK로 구성된 Moore 모델 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 위에서와 마찬가지로 A 는 상태가 바뀌지 않고, B 는 상태가 바뀐다. 따라서 0 0상태로 바뀐다. 이런 방법으로 계속하여, 표 6.8c 와 같이 상태표가 완성된다.
Trace 6.4 표 6.9에 대한 추적 그림 6.26 표 6.9의 상태도 그림 6.25 표 6.9에 대한 타이밍 도 타이밍 추적 및 타이밍 도 • 입력 x와 초기값이 추어진 것에 대한 타이밍 추적을 나타낸다.
상태표 없이 타이밍 추적이나 타이밍 도를 얻는 방법 • 각 클럭에서 회로의 각 플립플롭에 대한 동작을 알아내어 완성한다. • 회로도를 이용하여 각 클럭마다 각 신호선 값을 결정 2) 또는, 차기상태에 대한 함수 식을 이용한다.
Mealy 모델 • 입력식과 출력식 • D1 = xq1 + xq2 • D2 = xq1’q2’ • z = xq1 • 차기상태 식 (q* = D 이므로) • 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 모델에서는 보통 출력이 클럭천이에서 중요하기 때문에 큰 문제가 • 안된다.