5장. 순차 논리 회로 Lecture #5
순차 논리 회로 (1) 순차논리회로(Sequential Logic Circuit) Y(t) = X(t) · Y(t-1) 현재의 입력과 이전의 출력 상태에 의하여 현재 출력이 결정되는 회로 이전 상태를 저장하는 기억 소자와 귀환기능을 포함 메모리 상태는 시간순차에 의해 결정 Y(t) = X(t) · Y(t-1) 컴퓨터 구조론
순차 논리 회로 (2) 순차 논리회로의 분류 동기(Synchronous) 순차 논리회로 클럭(clock)을 이용하여 새로운 입력의 순차와 응답의 출력 생성이 일정한 시간 간격을 둔 상태에서 제어된다 일정한 시간 지연 디자인 과정의 단순화 비동기(Asynchronous) 순차 논리회로 출력이 외부로부터의 관리에 의해서가 아닌 내부의 지연에 의해 일정하지 않은 시간 간격을 두고 발생한다 동기 순차 논리회로보다 설계 과정이 어렵다 컴퓨터 구조론
순차 논리회로 (3) 순차 논리회로의 구성 조합 논리회로 + 기억 소자 기억 소자(Memory Element) 조합 논리회로 시스템의 상태를 기억(저장) 현재 상태(present state) = 기억 소자의 현재 저장 값 조합 논리회로 현재의 입력 신호와 기억 소자의 현재 상태 값을 이용하여 출력 값과 다음의 상태 값을 산출 동기 순차 논리회로는 클럭을 이용하여 조합 논리회로에서 산출된 다음 상태 값을 기억 소자에 저장하여 상태 값을 갱신한다 컴퓨터 구조론
순차 논리회로 (4) 동기 순차 논리회로의 동작 단계 1. 시스템의 초기 상태 또는 “power-up” 상태를 결정하는 기억 소자의 초기값을 가정한다 단계 2. 입력 신호를 인가한다 단계 3. 현재 상태와 새로운 입력을 이용하여 출력과 기억 소자의 다음 값을 산출한다 단계 4. 클럭 신호의 제어 하에 기억 소자의 내용이 갱신된다. 즉, 다음 상태의 값이 현재 상태 값이 된다 단계 5. 단계 2로 복귀 컴퓨터 구조론
순차 논리회로 (5) 동기 순차 논리회로의 종류 밀리(Mealy) 순차회로 : 무어(Moore) 순차회로 : 조합회로의 출력이 현재의 입력과 현재 상태 값에 의해 결정되는 회로 무어(Moore) 순차회로 : 조합회로의 출력이 단지 현재 상태 값에 의해 결정되는 회로 컴퓨터 구조론
기억 소자 (1) 기억 소자(Memory Element) 순차 논리회로에서 현재의 상태 값을 저장하기 위해 사용 기억 소자 분류 : 논리준위가 0 또는 1 일 때에 소자의 동작을 제어하는 레벨-감지 소자 논리준위가 0->1 또는 1->0 과 같이 변할 대에 소자의 동작을 제어하는 천이-감지 소자 컴퓨터 구조론
기억 소자 (2) Latch / Flip-Flop 쌍안정 기억 소자 시소에 비유 가능 두 개의 출력을 가지는데, 하나의 출력이 논리값 ‘1’을 가지면 다른 출력은 논리값 ‘0’을 가진다 출력 값의 변화를 전압 전위 이동으로 이루어진다 시소에 비유 가능 컴퓨터 구조론
래치(Latch) (1) SR(Set-Reset) 래치 래치(Latch)는 기억 소자 중에서 가장 간단한 소자 래치는 입력 신호의 레벨에 의해 출력이 제어되는 레벨-감지 기억 소자 SR 래치 두 개의 nor 게이트가 상호결합(cross-coupled)하여 구성 가장 기본적인 래치 컴퓨터 구조론
래치(Latch) (2) 래치의 안정 상태를 위반하는 부정입력 SR(Set-Reset) 래치의 동작 분석 컴퓨터 구조론
래치(Latch) (3) JK 래치 셋과 리셋 입력이 동시에 인가될 수 없다는 제한을 제거한 변형된 SR 래치 출력 진동 (Output Oscillate) Q+ = (J • Q’) + (K’ • Q) 컴퓨터 구조론
래치(Latch) (4) T(Toggle) 래치 JK 래치의 입력을 같이 연결한 변형된 JK 래치 JK 래치와 T 래치는 출력 진동으로 인해 실제 존재하지 않음 출력 진동 (Output Oscillate) 컴퓨터 구조론
래치(Latch) (5) D(Data) 래치 SR 래치에서 셋과 리셋 입력이 동시에 1이 인가되는 것을 방지 Transparent latch – 입력 신호를 그대로 기억하여 출력 컴퓨터 구조론
래치(Latch) (6) 게이트된 래치(Gated Latch) 기본 래치는 래치의 입력 레벨이 바뀔 때에 래치의 내용이 바뀌는 비동기적인 동작 방식으로 인해 동기 순차회로에 적용하기 힘들다 클럭(clock) 또는 가능(enabling) 신호를 입력에 추가하여 래치의 기억 내용이 갱신되는 시기를 제어 순차 논리회로에 포함되어 있는 조합 논리회로의 신호 지연이 갖는 다양성으로 인해 기억 소자의 내용을 동시에 변경하기 힘든 경우 기억 소자 갱신의 동기화가 요구될 때에 필요 컴퓨터 구조론
래치의 값이 갱신될 정도로 클럭 신호를 ‘1’로 인가하여 유지하여야 한다 래치(Latch) (7) 게이트된 래치(Gated Latch) Gated SR-Latch Gated D-Latch 래치의 값이 갱신될 정도로 클럭 신호를 ‘1’로 인가하여 유지하여야 한다 컴퓨터 구조론
플립플롭(Flip-Flop) (1) 플립플롭(Flip-Flop) 두 개의 게이트된 래치를 연결하여 클럭 펄스(clock pulse)의 인가 시간에 상관없이 기억 소자의 상태값이 일정하게 변화하도록 만든 기억 소자 정적 기억 소자로 가장 많이 적용 분류: 펄스-구동 플립플롭(Pulse-Triggered F/F) 클럭 펄스의 양 모서리(상승 & 하강)에 모두 동작 모서리-구동 플립플롭(Edge-Triggered F/F) 클럭 펄스의 양 모서리(상승 & 하강) 중에 하나에서만 동작 컴퓨터 구조론
플립플롭(Flip-Flop) (2) 펄스-구동 SR 플립플롭 컴퓨터 구조론
플립플롭(Flip-Flop) (3) 펄스-구동 JK 플립플롭 펄스-구동 T- 플립플롭 펄스-구동 D-플립플롭 컴퓨터 구조론
플립플롭(Flip-Flop) (4) 펄스-구동 플립플롭의 1 캐칭(1-catching) 문제 펄스-구동 플립플롭은 타이밍 문제를 유발 클럭이 1인 동안 예기치 않은 주 래치의 입력 스파이크는 주 래치를 셋하고, 클럭이 1->0 일 때에 종 래치와 출력을 셋한다 한번 셋되면 플립플롭이 리셋되기 전까지 셋된 상태로 남는다 컴퓨터 구조론
플립플롭(Flip-Flop) (5) 모서리-구동 플립플롭(Edge-Triggered Flip-Flop) 순차 논리회로에서 주로 사용되는 기억 소자 클럭 펄스의 상승 에지 또는 하강 에지에 기억 소자의 저장 내용을 갱신함으로써 타이밍 문제를 해결 일반적으로 말하는 플립플롭은 모서리-구동 플립플롭을 지칭한다 컴퓨터 구조론
플립플롭(Flip-Flop) (6) 모서리-구동 SR 플립플롭 컴퓨터 구조론
플립플롭(Flip-Flop) (7) 모서리-구동 D 플립플롭 컴퓨터 구조론
플립플롭(Flip-Flop) (8) 플립플롭의 여기표 플립플롭의 논리적 성격과 동작 표시. 특성표 : 현재 상태에서 입력 값이 입력될때 다음 상태가 어떻게 변하는 가를 나타내는 표. 여기표 : 현재 상태에서 다음 상태로 변화했을 때 플립플롭의 입력조건이 어떤 상태인가 나타내는 표. 플립플롭의 여기표 정리 현상태 다음상태 Q(t) Q(t+1) S-R F/F R S J-K F/F J K D F/F D T F/F T 0 0 0 1 1 0 1 1 0 d 1 0 0 1 d 0 1 d d 1 1 컴퓨터 구조론
순차 회로의 해석 (1) 순차 논리 회로의 해석 해석과정 순차 논리회로의 입·출력에 대한 변수명을 붙인다. 조합논리 회로가 있는 경우 부울함수를 구한다. 현재 상태, 다음상태, 출력관계를 기본상태표로 작성. 순차 논리 회로로부터 상태 방정식을 구한다. 플립플롭의 현재 상태에 대한 다음 상태의 상태표를 각각의 항에 맞게 작성한다. 상태표로부터 상태도를 구한다. 상태표와 상태도를 분석하여 순차논리회로의 동작을 작성. 컴퓨터 구조론
순차 회로의 해석 (2) 상태표 입력과 출력 및 플립플롭의 상태를 나타내며 현재 상태에 대하여 클럭펄스가 입력될 때 다음 상태와 출력 변화를 나타내는 표. 컴퓨터 구조론
순차 회로의 해석 (3) 상태도 상태표에 있는 상태변화와 동작 형태를 다이어그램에서 상태를 원으로 표시하고, 전이를 원을 잇는 화살표로 표시한 것 순차논리회로에 클록 펄스가 입력될 때마다 변화하는 내용을 쉽게 그림으로 나타낸 것. 컴퓨터 구조론
순차 회로의 해석 (4) 상태 방정식 플립플롭의 상태변화에 관한 조건을 명시하는 부울대수식 부울 대수식의 왼쪽은 플립플롭의 다음 상태를 나타내고 오른쪽은 다음 상태를 논리 1로 하는 현재 상태의 조건을 나타냄. 컴퓨터 구조론
순차 회로의 해석 (5) 아래의 순차 논리 회로를 분석하여라. 순차 논리 회로의 입력을 X, 출력을 Z라 정의 순차 논리 회로의 부울함수 구하기 T1 = X · Y D = X + Y T2 = X · Y Z = XY + XY 컴퓨터 구조론
순차 회로의 해석 (6) 상태표를 구한다. 상태방정식을 구한다. Y(t+1) = D 상태방정식에 의한 상태표를 구한다. 컴퓨터 구조론
순차 회로의 해석 (7) 상태표에 의한 상태도를 그린다. 순차회로 동작 분석 - 상태 0에서 입력이 0이면 현재 상태를 유지하고, 입력이 1이면 상태 1로 천이한다 - 상태 1에서는 입력 값에 상관없이 현재 상태를 유지한다 - 출력은 입력과 현재 상태 값의 XOR 결과로 나타남 1 0/0 1/1 1/0 0/1 컴퓨터 구조론
순차 논리회로의 설계 (1) 순차논리회로 설계 설계 사양이 상태도와 상태표가 주어진다. 동기식 순차 논리 회로는 플립플롭과 조합논리 회로로 구성되며, 플립플롭 수는 상태의 수에 의해 결정된다. 사용될 플립플롭 형태 일반적으로 R-S와 J-K 플립플롭을 많이 사용 R-S 플립플롭과 D 플립플롭 : 레지스터나 데이터 전송 시스템 설계할때 사용 T 플립플롭과 J-K 플립플롭 : 카운터 설계할 때 사용 컴퓨터 구조론
순차 논리회로의 설계 (2) 설계 과정 설계 사양으로부터 상태도와 설계도를 구한다. 플립플롭의 종류를 선택하고, 플립플롭의 수와 상태수를 결정한다. 플립플롭의 입력과 출력 및 각각의 상태에 문자 기호를 부여한다. 상태표로부터 순차 논리 회로의 여기표를 구하고, 여기표를 이용하여 플립플롭의 입력함수를 구하여 순차논리 회로의 여기표를 기록한다. 카르노 맵이나 부울 대수의 기본 정리를 이용하여 간소화된 순차 논리회로의 출력 함수와 플립플롭의 입력함수를 구한다. 논리회로를 구현한다. 컴퓨터 구조론
순차 논리회로의 설계 (3) 아래의 상태표를 보고 D 플립플롭을 이용하여 순차 논리 회로를 설계하여라. 상태도에서 상태표 구한다. 컴퓨터 구조론
순차 논리회로의 설계 (4) D 플립플롭을 이용하여 여기표를 구한다. 입력 함수(DA, DB)와 출력함수(y)를 아래와 같이 되고, 이를 간소화하여 순차논리 회로를 설계한다. DA(A,B,x) = ∑m(2,4,5,6) DB(A,B,x) = ∑m(1,3,5,6) y = ∑m(1,5) 컴퓨터 구조론
순차 논리회로의 설계 (5) 컴퓨터 구조론
카운터의 설계 (1) 비동기식 카운터(asynchronous counter) Ripple counter 설계방법이 간단하나 전파 지연시간의 누적에 의해 장시간 지나면 오차가 발생한다. 타이밍 차트를 이용 10진 카운터를 비동기식으로 구성한 예 컴퓨터 구조론
카운터의 설계 (2) 동기식 카운터(synchronous counter) 설계방법이 어려운 반면에 정확하다. 순차논리회로를 이용하여 설계. [ 동기식 3진 카운터와 상태도 ] 컴퓨터 구조론
카운터의 설계 (3) 워드 타임 공급기(word time generation) 직렬 데이터 전송 시 데이터 비트의 개수를 1개 비트씩 정확하게 직렬로 출력하여 데이터 비트수만큼 전송해주어야 한다. [ 워드 타임 공급기 회로 ] 컴퓨터 구조론
카운터의 설계 (4) 순차 타임 생성기(sequence time generation) 중앙처리 장치의 제어 장치를 설계할 때 순차적으로 타임클럭을 공급해 주어야 한다. 환상 카운터 타임 생성기와 디코더를 이용한 방법 존슨(johnson) 카운터-카운터와 디코더를 이용 [ 존슨 카운터의 카운터 디코더와 타이밍 순차 신호 ] 컴퓨터 구조론