조합 논리 회로 설계 예
Download
Report
Transcript 조합 논리 회로 설계 예
제 2 장 디지털 논리회로
논리 게이트(gate)
구성
부울 대수(Boolean Algebra)
조합 논리 회로
순차 논리 회로
Computer System Architecture
논리 게이트
논리회로는 서로 다른 두 가지 값 (0,1)을 다루는 회로
동작 특성 : 부울 대수로 표현
디지털 컴퓨터에서 이진 정보 : ADC(Analog to Digital Conversion)
0 : 0.5V
Physical Quantity
예 : V, A, F, 거리
Computer System Architecture
Signal
Binary Information
Discrete Value
1 : 3V~5V
논리 게이트
게이트
이진 정보를 처리하는 가장 기초적인 논리회로 소자
각 게이트의 동작 : 부울 대수/함수
게이트의 입출력 관계 : 진리표(Truth table)
George Boole
출생 : 영국의 링컨에서 출생
사고법칙에 대한 고찰(Investigation of the Laws of
Thought)이라는 제목으로 책을 만들었는데, 여기에서
형식논리와 오늘날 부울 대수라 알려진 집합의 대수인
새로운 대수학을 확립.
부울 대수는 전기 스위치 회로이론 등과 같은 수많은
분야에 응용되고 있다.
1859년에 부울은 <미분방정식론, Treatise on
Differential Equations>, 1860년에는 <차분법론, the
Calculus of finite differenes>을 발표
Computer System Architecture
논리 게이트
표 2-1 Digital Logic Gates
AND, OR, INVERTER, BUFFER, NAND, NOR, XOR, XNOR
A
F
B
A
F = A·B
A
F
F = A’
F =A+B
OR gate
AND gate
NOT gate
A
A
F
B
B
F = (A·B)’
NAND gate
F
F = (A + B)’
NOR gate
A
A
F
B
F =A B
XOR gate
Computer System Architecture
F
B
B
F
F =A B
XNOR gate
A
F
F=A
Buffer gate
논리 게이트
[문제 2-1] 두 개의 입력(two input)을 가지는 게이트에서 입
력 신호 A, B의 조합에 따른 출력 타이밍도(timing diagram)
를 그려라.
0
1
1
0
0
0
1
1
0
A
B
1
AND : AB
0
1
OR : A+B
0
1
NOT : A'
0
Computer System Architecture
0
유니버설 게이트
NAND와 NOR 게이트 : 표준 논리 게이트
모든 부울 함수 : NAND와 NOR 게이트로서 쉽게 구현
NOT 게이트
A
A
AND 게이트
A
B
A
A
OR 게이트
A
AB
B
AB
Computer System Architecture
A+B
A
A
B
Fig. 2-2
A+B
B
W IRED -L OGIC
NAND와 NOR 게이트 : 둘 이상의 게이트 출력을 선(Wire)으로 연결
하면 AND/OR 논리를 수행
Wired-logic
개방 콜렉터형 NAND 게이트
vcc
Fig. 2-3
R
A
B
Fig. 2-4
F=(AB)'(CD)'=(AB+CD)'
C
ECL NOR 게이트
D
A
B
C
D
Computer System Architecture
F=(A+B)'+(C+D)'
=[(A+B)(C+D)]'
부울 대수( BOOLEAN A LGEBRA )
부울대수(Boolean Algebra)
이진 변수(binary variable) + 논리 동작(logic operation) 을 취급하는 대수
(A, B, x, y 등)
(AND, OR, NOT…)
부울대수의 기본 연산
AND, OR, NOT 연산
부울대수의 사용 목적 : 디지털 회로의 설계와 해석을 용이
Computer System Architecture
부울 대수( BOOLEAN A LGEBRA )
부울대수를 이용하면
① 변수 사이의 진리표 관계를 대수형식으로 표시하기가 용이
② 논리도의 입출력 관계를 대수형식으로 표시하기가 용이
③ 동일 기능을 가진 더 간단한 회로(논리식의 간소화)를 설계하는 것이 용이
Truth Table : Fig. 2-5
Logic Diagram : Fig. 2-5
Relationship between
a function and variable
2n Combination
Variable n = 3
Computer System Architecture
A B C
F
0
0
0
0
1
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
대수적 표현
논리도(Logic
Diagram)(gates로 표현)
A
F
B
C
부울 대수( BOOLEAN A LGEBRA )
p60~p65 참조
부울대수 법칙 : Table. 2-5 참조
- Operation with 0 and 1: x + 0 = x , x + 1 = 1 , x • 1 = x , x • 0 = 0
- Idempotent Law: x + x =x , x • x = x
- Complementary Law: x + x' = 1 , x • x' = 0
- Commutative Law: x + y = y + x , x • y = y • x
- Associative Law: x + (y + z) = (x + y) + z , x • ( y • z) = (x • y) • z
- Distributive Law: x • ( y+ x) = (x • y) + (x • z) , x + (y • z) = (x + y) • (x + z)
- DeMorgan's Law: (x + y)' = x' • y’ , (x • y )’ = x’ + y’
n개의 변수로 확장한 일반식
(x1 + x2 + x3 + … xn)' = x1' • x2' • x3' • … xn’
(x1 • x2 • x3 • … xn) ' = x1' + x2' + x3' + … xn’
Computer System Architecture
드모르강 정리
드모르강의 정리
DeMorgan's Law: (x + y)' = x' • y’ , (x • y )’ = x’ + y’
연산자와 변수로 구성된 임의의 함수가 있을 때 이 함수의 전체 부정은
연산자 +는 ·로, ·는 +로 바꾸고(+ ↔ ·) 함수에 포함된 변수는 긍정은
부정으로 부정은 긍정으로(A' ↔ A)으로 바꾸어 각각의 변수에 대한
부정을 취하는 것과 결과가 같음을 나타내는 법칙으로 NAND와 NOR를
취급하는데 유용
graphic symbols for NOR gate
x
y
z
(x+y+z)’
(a) OR-invert
Computer System Architecture
=
x
y
z
x’ y’z’
(b) invert-AND
graphic symbols for NAND gate
x
y
z
(xyz)’
(a) AND-invert
=
x
y
z
(x’+y’+z’)
(b) invert-OR
[표 2-5]의 부울대수 기본관계식의 적용 예
A
Fig. 2-6
B
F
C
F=AB'C+AB'C'+A'C
Computer System Architecture
[표 2-5]의 부울대수 기본관계식의 적용 예
F=AB'C+AB'C'+A'C
=AB'(C+C')+A'C
=AB'+A'C
[표 2-5]의 1-5와 2-2에 의해
Fig. 2-7
A
B
F
C
F=AB'+A'C
간소화된 함수식에 의한 회로로서 다섯 개의 게이트들만을
이용하여 [그림 2-6]과 동일한 결과
Computer System Architecture
수식의 보수
수식의 보수
어떤
함수 F의 보수는 F'이며, 드모르강 정리를 이용하여 얻을 수
있다. 드모르강 정리는 부울 함수식에서 모든 OR연산은 AND로, 모든
AND 연산은 OR로 바꾸어 주고, 함수 내의 각 변수를 보수화하면
된다.
예를
F
들어 다음과 같은 부울 함수식의 보수를 만들어 보자.
= AC + C'D + B'D'의 보수는
F'= (A'+C')(C+D')(B+D) 이 된다.
Computer System Architecture
부울 함수
부울함수(Boolean Function) :
variable + operation(AND, OR, NOT) + 괄호 + 등호
예
F1 = ABC'
F2 = A + B'C
F3 = AB'C+AB'C'+A'C
F4 = AB' + A'C
위 부울함수의 입출력 관계 진리표
n개의 2진 변수 2n개의 조합
F1은 A=1, B=1, C=0일 때만 출력 F1 = 1
마찬가지로 함수 F2, F3, F4도 같은 방법 적용
Computer System Architecture
부울 함수
부울 함수 F1 , F2 , F3 , F4 에 대한 진리표
A
B
C
F1
F2
F3
F4
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
0
1
0
1
1
1
0
0
Tab. 2-6
F1 = ABC', F2=A+B'C, F3 = AB'C+AB'C'+A'C, F4 = AB'+A'C에 대한 진리표
진리표에서 F3과 F4는 동일한 함수값,
같은 부울 함수에 대해 서로 다른 대수적 표현이 가능하다는 것을 의미,
이 두 함수는 같다고 말한다. 함수 F4는 함수 F3을 간소화 한 것이다.
Computer System Architecture
부울 함수
부울 함수
논리도(Logic Diagram)
A
A
B
F1
F2
C
C
B
(a) F1 = ABC'
(b) F2=A+B'C
A
A
B
B
F3
C
F4
C
(c) F3 = AB'C+AB'C'+A'C
Computer System Architecture
(d) F4 = AB'+A'C
함수 F4가 함수 F3 보다 더 경제적
부울 함수의 표준형( STANDARD
FORM )
2 variables example
최대항(Minterm)과 최소항(Maxterm)
최소항(Minterm) : n variables product ( x=1, x’=0)
최대항(Maxterm) : n variables sum (x=0, x’=1)
x
0
y
0
Minterm
x'y' m0
Maxterm
x + y M0
0
1
x'y
m1
x + y'
M1
1
0
x y'
m2
x'+ y
M2
1
1
xy
m3
x'+ y'
M3
m0 + m1 + m2 + m3
Computer System Architecture
M0 M1 M2 M3
A
B
AB
AB
AB
AB
최소항의 합( SUM OF PRODUCT )
부울 함수는 주어진 진리표를 보고 대수적으로 표시
최소항의 합
최대항의 곱
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
X
0
1
0
1
0
1
0
1
F1
0
1
0
0
1
1
1
0
F2
1
0
1
1
0
0
0
1
최소항의 합 진리표에서 출력값이 1이 되는 최소항을 구하고 이 최소
항에 대해 모두 OR연산을 취함
F1 = x'y'z + xy'z' + xy'z + xyz' = m1 + m4 + m5 + m6 = ∑(1, 4, 5, 6)
= M0 · M2 · M3 · M7 = ∏(0, 2, 3, 7) (Complement = M0
Computer System Architecture
M2 M3 M7 )
최대항의 곱( PRODUCT OF SUM)
부울 함수는 주어진 진리표를 보고 대수적으로 표시
최소항의 합
최대항의 곱
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
X
0
1
0
1
0
1
0
1
F1
0
1
0
0
1
1
1
0
F2
1
0
1
1
0
0
0
1
최대항의 곱 진리표에서 출력값이 0이 되는 최대항을 구하고 이들 최대항들에
대해 모두 AND연산을 취함
F2 = (x+y+z')·(x'+y+z)·(x'+y+z')·(x'+y'+z) = M1 · M4 · M5 · M6
= ∏(1,4, 5, 6)
Computer System Architecture
부울함수의 간소화
식에 포함된 문자와 항들의 개수를 줄여 간단한 형태로 유도하는 절차
논리 게이트를 이용한 설계가 간단하여 구현시 가격, 유지보수에 유리
(1) 정리와 가설을 이용한 간소화 방법
Tab. 2-5
A
B
F = AB' + B
1-7 적용
= B + A B'
1-12 적용
= (B + A)(B + B')
= (B + A)·1
1-5 적용
=B+A
2-3 적용
=A+B
1-7 적용
F = AB' + B
A
B
Computer System Architecture
F=A+B
부울함수의 간소화
(2) Map을 이용한 간소화 방법
3 variables
2 variables
B
A
0
1
2
3
4 variables
C
B
A
0
1
3
2
4
5
7
6
A
C
5 variables
0
1
3
2
4
5
7
6
12 13 15 14
8
C
B
9
11 10
D
A
0
1
3
2
6
7
5
4
8
9
11 10 14 15 13 12
B
24 25 27 26 30 31 29 28
16 17 19 18 22 23 21 20
E
D
F
논리적으로 인접한 항이 포함되도록 2, 4, 8, 16개 그룹으로 묶으면
그만큼 지워지는 변수가 많아지므로 가능한 한 많은 수의 항을
묶어야 하며, 간소화된 항들은 최소항의 합형이나 최대항의 곱형으로 표현
Computer System Architecture
부울함수의 간소화
[예제] F= x + y’z
(2) F ( x, y , z ) (1,4,5,6,7)
(1) 진리표
x
0
y
0
z
0
F
0
Minterm
0
0
1
1
m1
0
1
0
0
m2
0
1
1
0
m3
1
0
0
1
m4
1
0
1
1
m5
1
1
0
1
m6
1
1
1
1
m7
Computer System Architecture
(3) 인접 영역을 묶는다
y
m0
0
x
1
4
1
1
1
5
3
1
7
z
F= x + y’z
2
1
6
부울함수의 간소화
인접 영역
인접 영역의 수 = 2n (1, 2, 4, 8, ….)
The squares at the extreme ends of the
same horizontal row are to be considered
adjacent
The same applies to the top and bottom
squares of a column
0
1
3
2
4
5
7
6
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
3
2
0
The four corner squares of a map must be
considered to be adjacent
Groups of combined adjacent squares may
share one or more squares with one or
more group
Computer System Architecture
4
1
5
7
6
0
1
3
2
4
5
7
6
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
부울함수의 간소화
[예제]F ( A, B, C ) (3,4,6,7)
B
A
F=AC’ + BC
[예제] F ( A, B, C ) (0,2,4,5,6)
0
1
3
2
4
5
7
6
F=C’ + AB’
A
0
1
3
2
4
5
7
6
F=C’ + AB’
Product-of-Sums Simplification
F ( A, B, C , D ) (0,1,2,5,8,9,10)
A
A
Product of Sum
Computer System Architecture
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
D
B
C
D
Sum of product
F’=AB + CD + BD’(square marked 0’s)
(F’)’=(A’ + B’)(C’ + D’)(B’ + D)
C
C
[예제] F ( A, B, C , D ) (0,1,2,6,8,9,10)
F=B’D’ + B’C’ + A’C’D
B
C
B
MAND/NOR 게이트로의 구
현
NAND Implementation
Sum of Product : F=B’D’ + B’C’ + A’C’D
B’
D’
C’
A’
D
A’
B’
C’
D’NOR
Implementation
D’
Product of Sum : F=(A’ + B’)(C’ + D’)(B’ + D)
B
A
0
1
1 X
4
5
X
C
Computer System Architecture
3
X
7
1
1
2
6
조합 논리 회로
(C OMBINATIONAL C IRCUIT)
조합 논리 회로(Combinational Circuits)
Fig. 2-12 조합회로
블록도
i0
Combinational
i1
...
입력과 출력을 가진 논리 게이트(logic gates)의 집합으로 출력은
현재의 입력값에 의해 결정
in
Circuits
(Logic Gates)
...
f0
f1
fm
Experience
해석(Analysis)
Logic circuits diagram
설계(Design)(Analysis의 반대)
Computer System Architecture
Boolean function or Truth table
조합 논리 회로
(C OMBINATIONAL C IRCUIT)
in
Combinational
Circuits
(Logic Gates)
...
i0
i1
...
조합 논리 회로(Combinational Circuits)
f0
f1
fm
【문제2.6】위의 그림과 비교하면서 다음 문제를 생각해 봅시다.
그림 2-13에서 몇 개의 입력 조합이 나타나는가?
또 몇 개의 출력이 나오는가?
A
B
C
F1
D
E
F2
Computer System Architecture
Fig. 2-13
조합 논리 회로 해석 예
조합 회로의 해석은 주어진 논리 회로도로부터 부울 함수나
진리표 를 구하고 논리 회로의 동작을 해석
해석 과정
(1)논리 회로도에서 해석을 위해 필요한 입·출력 변수명을
결정한다.
(2) n개의 입력 변수에 대한 2n개의 입력조합과 출력
변수에 대한 진리표를 작성하거나 각 게이트의 출력
부울 함수를 구한다.
(3) 최종 출력 부울 함수를 구한 후 간소화한다.
(4) 출력 부울 함수와 진리표를 통해 논리 회로의 동작을
해석한다.
Computer System Architecture
조합 논리 회로 해석 예
그림 2-14와 같은 조합 회로를 해석
3개의 입력변수와 1개의 출력변수
A
B
T1
T2
C
Fig. 2-14
F
T3
(1) 입력변수 : A, B, C 출력변수 : F
해석을 위한 임시변수 : T1, T2, T3을 결정
(2) 입력변수에 대한 진리표를 작성 혹은 각 게이트의 출력을 구한다.
T1 = AB', T2 = AB'C, T3 = A'B
간소화
(3) 최종 출력 부울 함수를 구한다.
F = T1 + T2 + T3 = AB' + AB'C + A'B
F = AB' + A'B
Computer System Architecture
조합 논리 회로 설계 예
C0
가산기( Adder)
전가산기(Full Adder : FA)
A
A
반가산기(Half Adder : HA)
┼
B
C
┼
B
C1
S
반가산기
S
전가산기
A
B
C0
0
0
0
0
0
1
A
B : 2 입력(A,
S
CB)과 2 출력(합 : S, 자리올림
반가산기
:
C)
0
1
0
0
0
0
0
0
1
1
전가산기
0
1: 3 입력
1 (Carry
0 considered)(A, B, 1C0)과0
0
1
0
1
0
1
0
1
2 출력 (합 : S, 자리올림 : C1)
1
1
0
1
1
0
1
1
1
1
1비트의 두 2진수를 더하는 조합 논리 회로
진리표
Computer System Architecture
하위 비트 캐리
S
0
1
1
0
1
0
0
1
C1
0
0
0
1
0
1
1
1
조합 논리 회로 설계 예
설계 예 : 전가산기(Full Adder)를 설계하시오.
1. 문제 분석
2. 입출력 변수의 개수를 결정/ 변수를 할당
4. 맵을 이용한 간소화
3 입력(A, B, C0), 2 출력(S: sum, C1: carry)
A
0
3.
0
0
0
1
1
1
1
B
C0
0
0
진리표
0
1
1
0
1
1
0
0
0
1
1
0
1
1
S
C1
0
0
작성
1
0
1
0
0
1
1
0
0
1
0
1
1
1
A
BC0
00
01
0
11
10
A
1
1
1
BC0
00
0
1
1
C1 = AB’C0 + A’BC0 + AB
=C0(AB’ + A’B) + AB
= C0 (A B) + AB
5. 논리 회로도
1
01
11
1
1
10
1
1
S=AB’C0’ + A’B’C0 + ABC0 + A’BC0’
= C0’(AB’ + A’B) + C0(A’B’ + AB)
= C0’(A B) + C0(A B)’
= a’b + ab’ (let a= C0, b=AB)
= A B C0
A
B
S
A
B
C0
C1
Computer System Architecture
C0
S
FA
C1
(AB)’=(AB’+A’B)’
=(A’+B)(A+B’)
=A’A+A’B’+AB+BB’
=A’B’+AB
조합 논리 회로 설계 예
상위 비트 빌림
감산기( Subtractor)
반감산기(Half Subtractor : HS)
X
X
┼
Y
B0
┼
Y
전감가산기(Full Subtractor : FS)
B
반감산기
B1
D
D
전감산기
X
Y
B0
0
0
0
0
0
1
X
Y : 2 입력(X,
D
BY)과 2 출력(차 : D, 자리빌림
반감산기
:
B)
0
1
0
0
0
0
0
0
1
1
전감산기
Y,1 B0)과 2 출력 (차 : D,
자리빌림
0
1: 3 입력(X,
1
1
0
0 : B1)
1
0
1
0
1
0
1
진리표
1
1
0
1
1
0
0
1
1
1
1비트의 두 2진수를 감산하는 조합 논리 회로
Computer System Architecture
D
0
1
1
0
1
0
0
1
B1
0
1
1
1
0
0
0
1
조합 논리 회로 설계 예
디코더(Decoder)
n비트의 2진 입력을 받아 2n 개의 출력 중 하나를 활성화
활용 : 메모리 칩 선택 신호, 명령어 해독과 제어 장치 등에 사용
A
n×2n 디코더 : n개의 입력과 2n개의 출력0
0
1
1
2 × 4 디코더를 설계
1. 입출력 변수의 개수를 결정/변수를 할당
A
2 입력 (A, B), 4 출력(D
0, D 1, D 2, D 3)
D1
0
1
0
0
D2
0
0
1
0
D0
D1
4. 논리회로 작성
B
2×4 디코더
D2
D3
Computer System Architecture
D0
1
0
0
0
2. 진리표를 작성
Fig.3.2-21
맵을 이용한 간소화
B
0
1
0
1
D3
0
0
0
1
조합 논리 회로 설계 예
디코더(Decoder)
A
회로동작 제어를 위해 인에이블(enable)
입력 사용
예 : 그림 [2-22]
D0
B
C
D1
enable input =Fig.
1, 2-22
정상 동작
D2
enable input = 0, 모든 출력 0
D3
인에이블 입력을 가지는 3×8 디코더
D4
Input
3X8
디코더
D5
Output
D6
Enable
블록도
D7
Enable
Computer System Architecture
조합 논리 회로 설계 예
디코더(Decoder)를 이용한 조합 논리 회로 설계
n개의 입력변수들에 대한 2n개의 최송항 표현
이를 이용하여 임의의 조합 논리 회로 설계시 디코더를 사용
즉, 모든 부울함수는 최소항의 합형으로 표현 가능
디코더 최소항 표현, 합 OR게이트 이용
n개의
입력과) m개의
S(A,B,C
= ∑(1,출력을
2, 4, 7)가지는 임의의 조합 회로를 설계하려
0
면
C1(A,B,C0) = ∑(3, 5, 6, 7)
n × 2n 디코더와 m개의 OR 게이트로 구현 가능
0
1
2
3
4
5
6
7
예 A: 전가산기를
디코더로 설계(입력변수 3개, 출력변수 2개)
22
Computer System Architecture
B
21
C0
20
3X8
디코더
S
C1
Fig. 2-23
조합 논리 회로 설계 예
인코더(Encoder)
디코더의 반대 기능을 수행, OR 게이트로 구성
2n개의 입력과 n개의 출력
8진× 2진 인코더 설계
Computer System Architecture
1. 입출력 변수의 개수를 결정/변수를 할당
D0 D1 D2 D3 D4 D5 D6 D7
18 입력
0 (D
0 0, D01, D20, D3,0 D4,0D5, D
0 6,
0
1
0
0
0
0
0
0
02. 진리표를
0
1
0작성
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
A B C
D
0 7),03 출력(A,B,C)
0
0 0
1
0 1
0
0 1
1
1 0
0
1 0
1
1 1
0
1 1
1
조합 논리 회로 설계 예
D0
A = D4+D5+D6+D7
D1
Fig. 2-24
D2
D3
B = D2+D3+D6+D7
D4
D5
C = D1+D3+D5+D7
D6
D7
8진-2진 인코더
입력 D0은 어떤 OR 게이트에도 연결되지 않았는데 이 경우에
2진 출력은 모두 0이 되어야 하기 때문이다.
회로에서 인코더의 입력은 단지 하나의 입력만이 1이 된다고 가정.
왜냐하면 이 회로에서 입력은 8개이므로 28=256가지의 입력 조합이
나타난다. 그러나 이들 중 단지 8개만이 의미 있는 입력이므로
다른 입력들은 전부 무관조건이 된다.
Computer System Architecture
조합 논리 회로 설계 예
멀티플렉서(Multiplexer)
여러 개의 입력선 중의 한 선으로부터 정보를 받아들여 단일의 출력
선
으로 정보를 출력하는 조합 논리 회로
특정 입력선의 선택은 선택선(Select line)에 의해 제어
Fig. 2-25(a)
2n개의 입력과 1개의 출력, n개의
선택선
3. 논리회로
작성
S0
S1
Y
4× 1 멀티플렉서
설계
I0
0
0
I0
I1
1. 입출력
변수의
개수를
결정/변수를
할당
0
1
I1
1 (I0, I01, I2, I3),
I2 1 출력(Y), 2 선택선(S
4 입력
I2
0, S 1)
1
1
I3
2. 함수표(진리표)를 작성
I3
S1
Computer System Architecture
S0
Y
조합 논리 회로 설계 예
4개의 2×1 멀티플렉서(Multiplexer)
Enable input = 0 , 정상 동작
선택선 S와 인에이블 입력선 E는 공통으로 인가
B0
2X1
MUX
1
E
S
Y0
A1
0
2X1
MUX
1
E
S
Y1
A0
B1
A2
B2
0
2X1
MUX
1
E
S
0
Y2
Fig. 2-25(a)
E
S
Yi
1
X
0
0
0
0
1
Ai
Bi
(b) 함수표
A3
B3
2X1
MUX
1
E
S
0
E
S
(a) 블록도
Computer System Architecture
Y3
조합 논리 회로 설계 예
디멀티플렉서(DeMultiplexer)
멀티플렉서의 역기능을 수행
하나의 입력선과 2n개의 출력선, n개의 선택선으로 구성 Fig. 2-27
1×4 디멀티플렉서
S0
0
0
1
1
Y0
Y1
Y2
I
S1
0
1
0
1
Y
Y0
Y1
Y2
Y3
(b) 함수표
0
Y3
입력
I
1X4
DEMUX
S1
S1
S0
S0
선택
(a) 회로도
Computer System Architecture
(c) 블록도
1
출력
2
3
조합 논리 회로 설계 예
코드 변환 회로(2진/그레이 코드 변환기)
그레이 코드 : 서로 이웃한 수끼리 1비트만 다르게 구성된 코드
3비트의 2진수를 그레이 코드로 변환하는 회로 설계
1. 입출력 변수의 개수를 결정/변수를 할당
4. 논리 회로 작성
a
b b, c),
c 3 출력(x,
x
y
3 입력
(a,
y, z)
Fig. 2-28(a)
2.
0
0
0
0
진리표를
0
1
0
1
1
0
1
0
1
1
1
1
0
1
작성
0
1
0
1
0
1
0
0
0
0
1
1
1
1
a
z
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
0
b
x
c (2진수)
y
z
(그레이 코드)
3. 맵을 이용한 간소화 : 출력 부울 함수 유도
bc
a
00
01
11
10
0
1
bc
a
00
01
0
1
1
1
x=a
Computer System Architecture
1
1
1
11
10
1
1
1
y = a'b + ab'
bc
a
00
01
11
10
0
1
1
1
1
1
z = b'c + bc'
조합 논리 회로 해석 예
2진수/그레이 코드 변환 과정
① 2진수의 최상위 비트는 그레이 코드의 최상위 비트가
된다.
② 최상위 비트부터 한 비트씩 오른쪽으로 진행하면서
이웃하는 2개의 2진수에 대한 XOR 연산을 수행하면
그 결과가 그레이 코드가 된다.
③ 마지막 코드가 얻어질 때까지 ②번을 반복한다.
① 그레이 코드의 최상위 비트는 2진수의 최상위 비트가
된다.
② 최상위 비트와 두 번째 비트를 XOR 연산하면 결과가
된다.
그레이 2진수가
코드/2진수
변환 과정
③ 두 번째 2진수 비트와 세 번째 그레이 코드의 비트를
XOR 연산하면 결과가 2진수가 된다.
④ 마지막 코드가 얻어질 때까지 ③번을 반복한다.
Computer System Architecture
조합 논리 회로 설계 예
ROM을 이용한 조합 회로 설계
2.3.4에서 디코더를 이용한 조합회로 설계
ROM = 디코더 + OR
디코더의 출력들과 OR게이트의 입력들을 서로 연결 ROM을 프로그
래밍
A
Fig. 2-34
A
n개의
입력선과 m개의 출력선으로 구성
2n개의
An
1
2
A3
2nx m
ROM
MAR
MBR
워드(word)와 워드당 m 비트로 구성
(DECODER)
ROM 블록도
n개의 입력과 m개의 출력을 가지는 조합회로를 ROM을 이용하여 구현
2n x m ROM이 필요
예
A
0
0
1
1
Computer System Architecture
B
0
1
0
1
F1
0
1
1
1
F2
0
1
0
1
F1(A, B) = ∑(1, 2, 3)
F2(A, B) = ∑(1, 3)
조합 논리 회로 설계 예
ROM을 이용한 조합 회로 설계
구현 : 2개의 입력과 2개의 출력을 가지는 ROM 필요
ROM의 크기 4 x 2
0
2X4 1
DECODER 2
3
A1
A2
A
0
0
1
1
B
0
1
0
1
F1
0
1
1
1
F2
0
1
0
1
F1(A, B) = ∑(1, 2, 3)
F2(A, B) = ∑(1, 3)
Computer System Architecture
Fig. 2-35
F1
F2
4 x 2 ROM으로 조합 회로 구현
순차 논리 회로(S EQUENTIAL
LOGIC
CIRCUIT
)
순차 논리 회로
Combinational Circuit = Gate
Sequential Circuit = Gate + F/F
조합 논리 회로 + 메모리 요소(플립플롭)
출력 : 입력변수의 값과 현재상태[
입
력
조합회로
Q(t)]의 값에 의해 결정
출
력
Fig. 2-36
순차회로 블록도
메모리요소
[현재상태 : Q(t)]
Clock
동기식(synchronous)
비동기식(asynchronous)
Computer System Architecture
플립 플롭(F LIP
FLOP )
기본 플립 플롭 회로
2개의 NAND 게이트 혹은 NOR 게이트로 구성
Fig. 2-38
SR 래치(latch)
1
0
S(set)
1
0
1
0
R(reset)
R(reset)
1
0
Computer System Architecture
S(set)
Q
Q'
Q
Q'
S
1
1
0
1
0
R
0
1
1
1
0
Q(t)
0
0
1
1
1
Q'(t)
1
1
(after S=1, R=0)
0
0
(after S=0, R=1)
1
(불능 상태)
S
1
0
0
0
1
R
0
0
1
0
1
Q(t)
1
1
0
0
0
Q'(t)
0
0
(after S=1, R=0)
1
1
(after S=0, R=1)
0
(불능 상태)
플립 플롭(F LIP
SR(Set/Reset) 플립플롭
Fig. 2-39
R
Q
CP
(클럭 펄스)
Q'
S
논리도
SR
Q
00
01
11
10
X
1
0
Q
Q'
1
S
1
X
R
CP
기호
Computer System Architecture
Q( t +1) = S + R' Q
SR = 0
특성 방정식
FLOP )
1
Q
0
0
0
0
1
1
1
1
S
0
0
1
1
S
0
0
1
1
0
0
1
1
R
0
1
0
1
R
0
1
0
1
0
1
0
1
Q(t)
0
1
?
Q(t+1)
0
0
1
불능
1
0
1
불능
Q(t+1)
no change
clear to 0
set to 1
Indeterminate
특성표
플립 플롭(F LIP
FLOP )
D(Data) 플립플롭
D
Q'
Q
D
D
0
1
0
1
Q(t+1)
clear to 0
set to 1
0
Q
1
0
1
1
1
Q( t +1) = D
CP
Fig. 2-40
Fig. 2-41
“no change”플립플롭
condition이 없다 : Q(t+1)=D
JK(Jack/King)
Q'
Q
K
J
CP
Computer System Architecture
해결방법
1) Disable Clock
J :K
Q(t+1)
2)0 Feedback
output
input
0
Q(t)
no into
change
0 1
0
clear to 0
1 0
1
set to 1
1 1
Q(t)' Complement
JK
Q
00
0
1
01
11
10
1
1
1
1
Q( t +1) = JQ' + K' Q
플립 플롭(F LIP
FLOP )
T(Toggle) 플립플롭
Fig. 2-42
T
Q
CP
Q'
T
0
1
Q(t+1)
Q(t) no change
Q'(t) Complement
논리도
T
Q
Q'
Q
특성표
0
0
1
1
1
1
T
Q(t +1) = TQ' + T' Q
CP
기호
Computer System Architecture
특성 방정식
주-종(MASTER -S LAVE ) 플립
플롭
주-종 플립플롭
CP = 0 : 주(master) 플립플롭 비활성화
CP = 1 : 종(slave) 플립플롭 비활성화
S
Y
S
R
R
Q
S
Master
Slave
Y'
R
Q'
CP
CP
주-종 플립플롭
S
Y
Q
Computer System Architecture
Fig. 2-43
주-종 플립플롭에서의 시차 관계
플립 플롭의 트리거링
( TRIGGERING )
Positive clock transition
에지 트리거 플립플롭(Edge-Triggered F/F)
상태 변화 : Clock Pulse
상승 에지(Rising Edge) : positive-edge transition
하강 에지(Falling Edge) : negative-edge transition
minimum time that D input must remain at constant value before the
transition.
홀드 시간(Hold time : 5ns)
th
셋-업 시간(Setup time : 20ns)
ts
minimum time that D input must not change after the positive
transition.
전파 지연(Propagation delay : max 50ns )
time between the clock input and the response in Q
일반 논리 gate에서는 2-20 ns이며 setup 및 hold time은 F/F에서만 정
의되며 일반 논리 gate에서는 정의되지 않음.
Computer System Architecture
플립 플롭의 트리거링
( TRIGGERING )
Race 현상
조건 - Setup time > Propagation delay
증상 - 0 과 1을 반복하다가 Unstable한 상태가 된다
CP
해결책 - Edge triggered F/F 또는
Master/Slave F/F 사용
Fig. 2-46
R
예제
S
상승 에지
하강 에지
Q(상승)
Q(하강)
(a) 클록 펄스의 에지
Q
Q'
Q
Q'
S
R
S
R
CP
(c) 상승 에지 플립플롭 블록도
Computer System Architecture
(b) 출력 파형(초기상태 = low)
CP
(d) 하강 에지 플립플롭 블록도
플립 플롭의 트리거링
( TRIGGERING )
레벨 트리거 플립플롭(Level -Triggered F/F)
상태 변화 : Clock Pulse가 1인 상태를 유지하는 동안의 입력신호
변화가 출력에 반영
Fig. 2-45
예제
CP
Q
Q'
S
R
R
S
CP
Q
(a) 출력 파형(초기상태 = low)
Computer System Architecture
(b) 블록도
플립 플롭의 여기표
여기표(Excitation Table)
현재 상태와 다음 상태를 알 때 플립플롭의 입력 조건 정의한 표
현재 상태(Present
표현
SR F/F State) 와 다음 상태(Next
JK State)로
F/F
Q(t) Q(t+1)
S R
Q(t) Q(t+1) J K
0
0
0 X
0
0
0 X
0
1
1 0
0
1
1 X
1
0
0 1
1
0
X 1
1
1
X 0
1
1
X 1
1 : Set to 1
0 : Complement
Don’t Care
D F/F
Q(t) Q(t+1)
0
0
0
1
1
0
1
1
Computer System Architecture
D
0
1
0
1
T F/F
Q(t) Q(t+1)
0
0
0
1
1
0
1
1
1 : Clear to 0
0 : No change
T
0
1
1
0
순차 논리 회로의 해석
순차 논리 회로의 해석
논리도로 부터 상태표 혹은 상태도를 도출
Input
Clocked Combinational
synchronous
Circuit
sequential circuit
Fig. 2-47
Output
1
Flip-Flops
Clock
Clock
xx
1
DA
DA
A
A
A
A'
A'
A’
B
B
B
B'
B’
B'
C
DB
플립플롭 입력식(
)
clock
Boolean expression for F/F input
입력식
Computer System Architecture
DA = Ax + B’x, DB = A’x
DB
C
Clock
y
y
순차 논리 회로의 해석
상태표(State Table)
Present state, input, next state, output 표현
Input Equ. = Next State
Present State
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
Input
x
0
1
0
1
0
1
0
1
Input Equ.
DA
0
1
0
0
0
1
0
1
DB
0
1
0
1
0
0
0
0
Next State
A
0
1
0
0
0
1
0
1
B
0
1
0
1
0
0
0
0
0/1
Output
상태도(State Diagram)
10
1/0
y
1
0
0
0
1
0
1
0
0/1
1/0
0/0
1/0
01
1/0
Computer System Architecture
0/1
00
11
순차 논리 회로의 설계
순차 논리 회로 설계 과정
① 설계 사양으로부터 상태표와 상태도를 구한다.
② 사용할 플립플롭의 종류를 선택하고 플립플롭의 수를 결정한다.
③ 플립플롭의 입력과 출력 각각에 문자 기호를 붙인다.
④ 상태표를 확장하여 여기표와 출력표를 구한다.
⑤ 맵을 이용하여 간소화된 플립플롭의 입력함수와 조합 회로 부분의
출력함수를 구한다.
⑥ 논리도를 그린다.
Computer System Architecture
순차 논리 회로의 설계
설계 예 : 이진 카운터 설계
2비트 이진 카운터를 설계, JK 플립플롭 사용
JK F/F 상태 00,01,10,11,00,…를
단 상태의 변화는 외부입력 x=1일 때 이진
Q(t) Q(t+1) J K
반복
0
0
0 X
x=0 0/00
0
1
1
x=0
00
1. 상태도 작성
x=1
1
0
1
01
x=0
Computer System Architecture
x=1
JK특성표
Next State =
Output
10
Present State
x=1 1/01
1 X
X 1
X 0
x=1
11
x=0
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
2. 상태표/여기표 작성
Input
x
0
1
0
1
0
1
0
1
Next State
A
B
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
F/F Input(여기표)
JA
0
0
0
1
x
x
x
x
KA
x
x
x
x
0
0
0
1
JB
0
1
x
x
0
1
x
x
KB
x
x
0
1
x
x
0
1
순차 논리 회로의 설계
3. 맵을 이용한 간소화
Bx
A
00
01
0
1
Bx
A
0
10
X
X
X
X
00
01
11
10
X
X
X
X
1
11
10
0
1
X
X
1
1
X
X
JA = Bx
Q'
Q
Q'
Q
KA
JA
KB
JB
CP
KA = Bx
00
2비트 이진 카운터 논리도
JB = x
Fig. 2-52
Bx
00
01
11
0
X
X
1
1
X
X
1
A
B
x
01
A
A
1
1
Bx
11
4. 논리 회로 작성
Computer System Architecture
10
KB = x
카운터의 설계
동기식 카운터, 비동기식 카운터(리플 카운터)
Fig. 2-53
비동기식 예제
CP
Q1
Q2
Q3
Q4
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
(a) 타이밍 차트
Q4
Q3
Q
J
1
Q2
Q
J
1
Q1
Q
J
1
Q
J
1
CP
K
1
K
1
K
1
K
1
Clear
(b) 10진 카운터 회로
Computer System Architecture
카운터의 설계
동기식 예제(3비트 이진 카운터)
n비트의 2진 카운터는 n개의 플립플롭으로 구성되며 0에서 2n-1
까지 카운터
1. 상태도 작성
2. 상태도 작성
000
상태표
111
001
010
110
101
011
100
상태도
Computer System Architecture
현재상태
A
B
C
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
여기표
다음상태
플립플롭 입력
A* B* C* TA TB TC
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
(b) 상태도와 여기표
카운터의 설계
동기식 예제(3비트 이진 카운터)
3. 맵을 이용한 간소화
BC
A
00
01
11
10
BC
A
00
01
11
BC
10
A
00
01
11
10
0
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
TA = BC
TB = C
TC = 1
4. 논리 회로 작성
A
Q'
Q
TA
B
Q'
Q
TB
Fig. 2-56
C
Q'
Q
TC
CP
(카운터 펄스)
1
Computer System Architecture
레지스터
레지스터
2진 정보를 저장하는 기억소자
여러 개의 플립플롭으로 구성
Fig. 2-57
n비트 레지스터 : n개의 플립플롭으로 구성
A4
A3
기능 : 저장,
시프트(Shift),
회전 등 A2
A1
Q
Q
Q
Q
D
D
D
D
CP
I4
I3
4비트 레지스터
Computer System Architecture
I2
I1
시프트 레지스터
시프트 레지스터
오른쪽, 왼쪽으로 이진 정보를 시프트
n비트 시프트 레지스터 : n개의 플립플롭 + 제어 게이트
Parallel outputs
Fig. 2-58
Shift-right
REGISTER A
Serial output
Serial input
오른쪽 시프트 레지스터의 블록도
직렬
직렬
병렬
병렬
Computer System Architecture
입력
입력
입력
입력
- 직렬
- 병렬
- 직렬
- 병렬
출력
출력
출력
출력
집적 회로
집적 회로
크기가 작다.
동작 속도가 빠르다.
전력 소모가 적다.
수명이 길며, 고장률이 낮아 신뢰도가 높다.
외부 회로와 연결 회로가 간단하다.
따라서, 경제적이다.
하이브리드(hybrid)
박막형(thin film)
후막형(thick film)
디지털 IC
반도체 제조 기술에 따른 집적단극형(unipolor)
회로의 분류
모노리틱(monolithic)
양극형(bipolor)
MOSFET(P,N,C,H형)
포화형
RTL,DTL,TTL
불포화형
ECL
I2L
Computer System Architecture
집적 회로
회로의 집적도에 따른 분류
소규모 집적 회로(SSI : Small scale Integrated circuit)
중규모 집적 회로(MSI : Medium scale Integrated circuit)
대중규모 집적 회로(LSI : Large scale Integrated circuit)
초대규모 집적 회로(VLSI : Very Large scale Integrated circuit)
DIP 모형
Computer System Architecture
집적 회로
TTL IC
마이크로프로세서
Computer System Architecture