Transcript Document
Chapter 03
순서 논리회로
순서 논리회로
Computer Architecture
순서 논리회로(Sequential logic circuit)의 특징 – P72
–입력 값과 현재 출력 상태에 의해 출력이 결정됨
–피드백(feedback)을 가진 조합 논리회로로 구성
–플립플롭과 같은 기억 회로를 가짐
–클록(Clock) 펄스에 의해 동기화 됨
순서 논리회로의 구조
피드백이란 입출력을 갖춘 시스템에서 출력에 의하여 입력이 변화되는 것을 뜻함
2/48
동작
플립플롭
Computer Architecture
플립플롭 – P73
–1 비트를 저장할 수 있는 기억 소자
–래치(Latch)로 부터 개발된 출력의 상태를 일시적으로 기억하는 소자
–펄스와 주어진 입력과 상태에 따라 출력의 2진 정보를 변경
0
1
S
1
S
Q
0
CP
1
1
0
R
0
Q’
R
S
CP
FF
R
3/48
Q
Q’
플립플롭
Computer Architecture
레지스터(register)
–플립플롭을 여러 개 병렬로 접속하여 여러 비트의 2진 정보를 저장하는
장치를 레지스터라 함
–CPU내의 연산에서 중간결과를 임시 보관하는데 사용되며 다양한 종류가
있음
S
Q
S
FF4
R
Q
S
FF3
Q’
R
Q
S
FF2
Q’
CP
4/48
R
Q
FF1
Q’
R
Q’
RS 플립플롭
Computer Architecture
RS(Reset Set) 플립플롭 – P73
–R(Reset)과 S(Set)의 입력과 Q(현 상태)와 Q’(반대 상태)의 2가지
출력을 갖는 플립플롭으로 NAND 게이트나 NOR 게이트로 구성
–CP는 제어 입력인 클럭(clock)을 의미하며 CP가 0일 때에는 출력이
변하지 않으며 CP가 1일 때만 입력 값에 의해 출력이 변경됨
–S가 1이면 세트되고 R이 1이면 리세트(reset)됨
–S,R 모두 0이면 변화가 없으며 S,R 둘 다 1이면 불능 상태가 됨
5/48
RS 플립플롭
Computer Architecture
동작 특성
–펄스를 가하지 않으면 변화 없음
–R에 펄스를 가하면 출력은 0
–S에 펄스를 가하면 출력은 1
–S와 R로부터 동시에 펄스를 가하면 결과를 알 수 없음
RS 플립플롭의 진리표
6/48
RS 플립플롭
Computer Architecture
RS 플립플롭의 상태표
?
JK FF
7/48
D FF
RS 플립플롭
Computer Architecture
RS(Reset Set) 플립플롭
1
0
0
1
1
0
1
1
0
1
1
0
1
0
8/48
JK 플립플롭
Computer Architecture
JK 플립플롭 – P75
–RS 플립플롭을 보완한 것으로서 RS 플립플롭에서 R=S=1인 경우에 츨
력이 불안정한 상태가 되는 단점을 해결한 플립플롭
–입력 J와 K는 RS 플립플롭의 입력 S와 R에 대응되고 J=K=1일 때 클럭
펄스 입력은 플립플롭의 출력을 반전시킴
S
Q
J
Q
K
R
Q’
Q’
9/48
JK 플립플롭
Computer Architecture
동작 특성
–J와 K로부터 동시에 펄스를 가하지 않으면 Q는 변화 없음
–K에 펄스를 가하면 Q=0
–J에 펄스를 가하면 Q=1
–J와 K로부터 동시에 펄스를 가하면 Q는 보수를 출력
JK 플립플롭의 진리표
10/48
JK 플립플롭
Computer Architecture
JK 플립플롭의 상태표
RS FF
11/48
T FF
T 플립플롭
Computer Architecture
T(Toggle) 플립플롭 – P76
–JK 플립플롭의 J와 K단자를 연결한 것으로, 입력은 T 단자 1 개이며
입력이 있을 때마다 플립플롭의 출력 값은 반전됨
–이러한 기능은 주로 계수기(counter)회로에 사용됨
Q
J
CP
T
Q
J
CP
Q’
K
JK 플립플롭
Q
T
CP
Q’
K
T 플립플롭
Q’
T 플립플롭
동작 특성
–T가 0이면 클록 펄스는 현재 상태를 변화시키지 못하지만 T가 1이면 현
재 상태를 반전시킴
–결과는 XOR 회로와 동일하며, T입력이 0이면 그전의 상태를 유지하고,
1이면 상태가 반전됨
12/48
T 플립플롭
Computer Architecture
T 플립플롭의 진리표
T 플립플롭의 상태표
Q(t)
13/48
JK FF
D 플립플롭
Computer Architecture
D(Delay) 플립플롭 – P77
–RS 플립플롭의 변형으로, S와 R을 인버터(NOT)로 연결해서 입력이
D 단자 1 개뿐이며 입력과 플립플롭의 출력 값은 동일함
RS의 R=1, S=0 또는 R=0, S=1입력만 가능하게 됨
S
Q
CP
R
D
S
Q
CP
Q’
RS 플립플롭
Q
D
CP
R
D 플립플롭
14/48
Q’
Q’
D 플립플롭
D 플립플롭
Computer Architecture
D 플립플롭의 진리표
D 플립플롭의 상태표
0
15/48
RS FF
여기표
Computer Architecture
여기표 – P78
–플립플롭 출력의 현재와 다음의 상태 변화를 알고 이것을 설계하기 위해
해당 플립플롭의 입력에 어떤 값을 넣어야 하는가를 나타내는 표
RS 플립플롭의 상태표와 여기표-1
S
Q
CP
R
S
0
CP
Q’
S
0
0
CP
1
R
16/48
R
X
1
설계
여기표
Computer Architecture
RS 플립플롭의 상태표와 여기표-2
17/48
설계
여기표
Computer Architecture
JK 플립플롭의 상태표와 여기표
T 플립플롭의 상태표와 여기표
18/48
여기표
Computer Architecture
D 플립플롭의 상태표와 여기표
19/48
주종 플립플롭
Computer Architecture
주종 플립플롭(Master slave flip-flop) – P79
–2개의 플립플롭과 1개의 인버터로 구성되며 시간 펄스가 상승 또는 하강
함에 따라 입력에 따른 출력을 생성하는 플립플롭 (레이스 현상 방지)
–일반적으로 하나는 주(主)로 동작하고, 다른 하나는 종(從)으로 동작하는
플립플롭으로 레이스 현상을 방지함
–CP=1이면 주 플립플롭이 동작하고, CP가 1에서 0으로 바뀔 때 종 플립
플롭이 동작하여 출력을 생성
–일반적으로 2개의 플립플롭이 180° 위상 차이를 가지고 동작되도록 하
며 1개의 NOT 게이트가 양쪽을 연결하도록 함
20/48
주종 플립플롭
Computer Architecture
주종 D 플립플롭의 구성도
주종 D 플립플롭의 파형도
21/48
주종 플립플롭
Computer Architecture
주종 JK 플립플롭
–CP 제어입력을 가진 RS 플립플롭과 D 플립플롭으로 구성
–RS 플립플롭의 문제 해결과 시간적인 차이를 두고 동작하여 출력이 입력
에 영향을 주는 레이스 현상을 방지함
–Q가 1인 경우에 J와 K 및 CP가 모두 1이면 주(Master)는 0이 되나, 종
은 CP가 0이므로 출력은 현재 상태인 1을 그대로 유지함
레이스 현상이란 JK 플립플롭의 피드백 연결로 인해서 J=K=1에서 출력이 반전된
다음에도 클럭 펄스가 계속 남아있으면 다시 반전시키려는 연속된 현상을 뜻함
22/48
주종 플립플롭
Computer Architecture
주종 JK 플립플롭
–레이스현상과 그 해결법
1 => 0 => 1
1 =>0
=> 1
0 => 1 => 0 => 1
1
S
J
CP
Q
CP
CP
K
1
R
0 =>1
Q’
CP
1 => 0 => 1 => 0
=> 0
피드백 발생, 레이스 현상
0 => 1 => 0
1
1
1
0 => 1
1
CP
1
CP
1 => 0
0
피드백 없음, 레이스 방지
0
23/48
순서 논리회로의 설계
Computer Architecture
상태도(State diagram)와 순서논리회로의 동작
출력 상태 : 불 켜짐
불 꺼짐
노터치
노터치
터치
불 꺼짐
불 켜짐
터치
입력 : touch
No touch
24/48
특징
순서 논리회로의 설계
Computer Architecture
상태도(State diagram) – P81
–순서 논리 회로 동작의 상태 변화를 그림으로 나타낸 것으로, 순서 논리
회로 설계의 초기 단계에서 사용
–상태도 구성에서 원은 상태를 표현하고, 화살표는 다음상태 전환을 위한
입력 값을 나타냄
상태도의 예
25/48
순서 논리회로의 설계
Computer Architecture
RS 플립플롭을 이용한 순서 논리회로 설계의 예
–상태 AB는 00, 01, 10, 11의 4개이고 입력 x는 0, 1로 2개
–상태도는 그에 따른 상태표를 만들 수 있음
–상태표를 통해서 현재 상태와 입력 값에 대한 다음 상태를 만들기 위한
플립플롭 입력 SA, RA, RB, RB를 설계함
–상태표의 SA, RA, SB, RB는 해당 플립플롭의 여기표를 가지고 구함
–상태표에 의해 순서논리회로 구성
26/48
순서 논리회로의 설계
Computer Architecture
플립플롭의 상태표
–순서논리회로 설계를 위해 상태도 값과 그에 대한 플립플롭 입력을 구한 표
27/48
순서 논리회로의 설계
Computer Architecture
현재 상태와 다음 상태는 각각 2비트이므로 2개의 플립플롭이 필요
하며, 플립플롭 입력 조건을 아래와 같이 카르노 도표로 구함
28/48
순서 논리회로의 설계
Computer Architecture
간소화된 결과를 가지고 회로도를 그리면 아래 그림과 같음
RA
SA
RB
29/48
SB
순서 논리회로의 설계
Computer Architecture
순서 논리회로의 설계
–동작설계 => 상태도 => 상태표 => 논리식 => 순서논리회로
입력 값
현재 상태
조합논리회로
(플립플롭
입력 설계)
FF
입력
다음 상태 (출력)
플립플롭
클럭
(1) 상태도를 이용해서 현재상태, 입력값, 다음상태를 구한다 (상태표의 왼편 반쪽)
(2) 여기표를 이용해서 현재상태와 다음상태에 대한 플립플롭 입력을 구한다 (상태표의 오른편 반쪽)
(3) 현재상태와 입력값 그리고 플립플롭 입력을 이용해서 플립플롭 입력 설계에 대한 최종식을 구한다
(4) 최종 논리식을 이용해서 순서논리회로를 완성한다
30/48
여기표 회로
순서 논리회로의 설계
Computer Architecture
상태도(State diagram)와 순서논리회로의 동작
출력 상태 : 불 켜짐
노터치
불 꺼짐
노터치
터치
불 꺼짐
불 켜짐
터치
0
0
1
0
입력 : touch
1
1
No touch
31/48
순서 논리회로의 설계
Computer Architecture
순서논리회로의 상태표(State table) – P83
–순서논리회로 설계를 위해 상태도 값과 그에 대한 플립플롭 입력을 구한 표
–현재의 상태는 시간 펄스가 발생하기 전에 플립플롭 회로가 기억하고 있는
상태이고, 다음 상태는 시간 펄스에 의해 트리거된 이후의 플립플롭 회로
의 상태임
–위의 상태표에 대한 상태도는 아래와 같음
32/48
순서 논리회로의 설계
Computer Architecture
상태표(State table)의 완성
–현재 상태와 다음 상태는 각각 1비트이므로 1개의 플립플롭이 필요
–RS 플립플롭을 사용한다고 가정하면, 현재 상태와 다음 상태는 00, 01,
11, 10이므로 플립플롭 입력 SA와 RA는 아래의 여기표에서 보듯이 0X,
10, X0, 01 값을 갖고 아래의 카르노 도표와 같이 작성됨
33/48
순서 논리회로의 설계
Computer Architecture
상태도와 상태표
여기표
X=0
X=0
X=1
A=0
A=1
X=1
0과 1로
2가지 경우
2 X 2로
4가지 경우
0과 1로
2가지 경우
상태도를
통해 완성
현재 상태
입력, X
다음 상태
0
0
0
0
X
0
1
1
1
0
1
0
1
X
0
1
1
0
0
1
34/48
RSFF-S입력, SA RSFF-R입력, RA
순서 논리회로의 설계
Computer Architecture
상태표와 최종 논리식
플립플롭 입력의
최종 논리식 SA
플립플롭 일력의
최종 논리식 RA
현재상태, A
입력, X
0
0
0
0
X
0
1
1
1
0
1
0
1
X
0
1
1
0
0
1
다음상태, A RSFF-S입력, SA RSFF-R입력, RA
35/48
순서 논리회로의 설계
Computer Architecture
회로도
–카르노 도표를 통한 간소화 결과를 가지고 회로도 작성
A’
x
x
S
Q
A
CP
x
A
R
A
SA = A’x
,
36/48
Q’
A’
RA = Ax
설계
순서 논리회로의 설계
Computer Architecture
기본 예제 – P85
–다음 상태도에 대한 순서 논리회로를 JK 플립플롭을 이용해 설계하라
상태 A는 0과 1을 가지며, 입력 xy는 00, 01, 10, 11을 가짐
현재 상태 A와 입력 xy에 따라 상태표를 작성
37/48
순서 논리회로의 설계
Computer Architecture
상태표에 따라 카르노 도표와 논리회로를 아래와 같이 작성
X,Y
A
FF
입력
회로
38/48
CP
JK
FF
카운터
Computer Architecture
카운터(Counter) – P87
–플립플롭으로 구성되며, 시간 펄스를 계수하여 원하는 동작 설계에 사용
–제어장치에서 각종 회로 동작을 제어하는 대표적인 순서 논리회로
–입력 펄스에 의해 미리 정해진 순서대로 플립플롭 회로의 상태가 변하는
것을 이용
카운터의 분류
–동기식 카운터와 비동기식 카운터
카운터 종류
–상향 카운터, 하향 카운터, 링 카운터, 시프트 카운터
39/48
카운터
Computer Architecture
동기 카운터 – P87
–모든 플립플롭이 같은 클럭 펄스를 받아서 같은 시간을 기준으로 동작
비동기 카운터 – P87
–앞 단의 플립플롭 출력이 다음 단의 플립플롭 클럭 입력으로 연속적으로
전달되어 연결된 카운터로, 리플 카운터(ripple counter)라고도 함
–주로 T나 JK 플립플롭을 사용하여 구성
–동작하는 시간이 많이 걸리지만 회로가 간단하다는 장점이 있음
–플립플롭 회로의 수를 n이라 한다면 2n개 까지의 독립된 상태의 수가 되
므로 2n진 카운터라고 함
40/48
카운터
Computer Architecture
동기 및 비동기 카운터
1
J
Q1
J
Q2
J
Q3
K
Q1’
K
Q2’
K
Q3’
J
Q1
J
Q2
J
Q3
K
Q1’
K
Q2’
K
Q3’
CP
1
CP
41/48
카운터
Computer Architecture
2진 상향 카운터 – P87
–초기상태가 0인 상태에서 1씩 증가되는 카운터를 2진 상향 카운터
(binary up counter)라 함
–카운트 값이 00, 01, 10, 11로 순환하는 2진 상향 카운터 설계의 예
2비트로 표현되므로 플립플롭 2개가 사용되고, JK 플립플롭을 이용함
상태 변화를 위해 1개의 입력 x를 가지며 상태도는 아래 그림과 같음
42/48
카운터
Computer Architecture
현재 상태 AB는 00, 01, 10, 11이고 입력 x는 0이나 1을 가지므로 이에 따른
AB와 x의 조합에 대한 상태표는 아래와 같음
43/48
카운터
Computer Architecture
현재 상태, 입력, 다음 상태를 가지고 카르노 도표를 아래와 같이 작성
44/48
카운터
Computer Architecture
간소화된 결과를 가지고 회로도를 그리면 아래와 같음
45/48
카운터
Computer Architecture
2진 하향 카운터(binary down counter) – P90
–초기상태로 카운터의 최대값을 기억시킨 다음, 펄스가 하나씩 입력될 때
마다 기억된 내용을 1씩 감소하는 카운터를 2진 하향 카운터라 함
–JK 플립플롭 회로를 사용하여 구성할 수 있음
링 카운터(Ring counter, Circulating counter) – P90
–1 값이 첫 번째 플립플롭에서부터 마지막 플립플롭까지 반복적으로 계속
이동하는 카운터
–여러 장치에 시간을 일정하게 배분하는 것과 같이 전체를 순환하는 일을
제어하는 데에 알맞은 카운터
시프트 카운터(Shift counter) – P90
–1 값이 첫 번째 플립플롭부터 차례대로 모두 채워진 후에 , 다시 0 값이
첫 번째 플립플롭부터 차례대로 모두 채워지는 과정을 반복하는 카운터
46/48
카운터
Computer Architecture
상향 카운터(binary up counter)
0 0 0
0 0 1
0 1 0
1 1 1
하향 카운터(binary down counter)
1 1 1
1 1 0
1 0 1
0 0 0
링 카운터(Ring counter, Circulating counter)
0 0 1
0 1 0
1 0 0
0 0 1
0 0 0
0 0 1
0 1 1
1 1 1
1 1 1
1 1 0
1 0 0
0 0 0
0
1
0
1
1
0
1
0
시프트 카운터(Shift counter)
47/48
0
1
1
0
주요 학습 내용
Computer Architecture
순서논리회로의 개념
플립플롭
여기표
상태도와 상태표
순서논리회로의 설계
카운터
48/48