5 조합회로 응용 설계 [호환 모드] - pusan national university · 2019-09-04 · x y z 3...
TRANSCRIPT
1
5. 조합회로응용설계
목표• 조합논리회로 응용 설계 방법 이해
• 7세그먼트 설계
• 가산기 회로 설계
• 감산기 회로 설계
• 비교회로 회로 설계
• 코드 변환, 패리티 발생 회로
• 인코더, 디코더 회로 설계
• 멀티플렉서, 디멀티 플렉서 회로
2
디지털 시스템
1) 조합회로
- 출력 = f(입력)
- 출력의 값이 현재의 입력값에 의해 결정
- 입력변수의 값에 따라 일정한 출력을 갖음
2) 순서회로
- 출력 = f(입력, 상태)
- 출력의 값이 시간적인 상태에 의해 결정
- 메모리 요소와 귀환기능을 포함
조합회로- n 입력변수 : 2n 조합 가능
- 진리표로 문제 기술
- AND, OR, NOT 등으로 구성
- 산술 연산 및 데이터 처리용 회로
조합회로의 설계절차1) 입출력 결정 및 기호 할당
2) 진리표 유도(입출력 간의 관계 정의)
3) 맵 등을 이용한 간략화된 부울함수 유도
4) 논리도 도시
5) 설계결과 확인
설계시 유의사항1) 게이트의 입력을 최소화한다.
2) 게이트의 수를 최소화한다.
3) 회로의 전파지연 시간을 최소화한다.
4) 상호 연결되는 수를 최소화한다.
3
예제 13 개의 입력과 1 개의 출력을 갖는 조합회로
출력은 입력이 001(3) 보다 작을 때 1 이고 다른 경우에는 0
예제 2- BCD-to-Excess-3 코드 컨버터(Code Converter) : BCD 코드 + 3
- 입력 : A, B, C, D
- 출력 : W, X, Y, Z
- 무정의 조건(1010 - 1111)
4
예제 3- BCD-to-7- 세그먼트 디코더 : 전자계산기, 디지털시계
- BCD 1010-1111 : 무정의 조건 모든 세그먼트를 꺼지도록
- 7 개의 맵
5
반가산기(half adder)- 1비트의 2개 2진수를 더하는 논리회로.
- 2개의 입력과 출력으로 구성.
- 2개 입력은 피연산수 x와 연산수 y 이고, 출력은 두 수를 합한 결과인 합 S(sum)과
올림수 C(carry)를 발생하는 회로.
: 피연산수
: 연산수
: 합
올림수
0110
S0001
C0 00 11 01 1
x y 0110
S0001
C0 00 11 01 1
x y yX
S
C
(a) 반가산기 (b) 반가산기 진리표 (c) 반가산기 회로도
: 하위 비트 올림수
: 연산수
: 합
올림수 0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
x y Ci
0 00 10 11 00 11 01 01 1
C0 S0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
x y Ci
0 00 10 11 00 11 01 01 1
C0 Sx
y
ci
c0
s
전가산기(full adder)- 하위비트에서 발생한 올림수를 포함하여 3개의 입력의 합을 구하는 조합논리회로.
- 3개의 입력과 2개의 출력으로 구성됨.
- 3개 입력은 피연산수 x와 연산수 y, 그리고 하위 비트에서 발생한 올림수 Ci 가 되고, 출
력변수는 출력의 합 S(sum)과 올림수C(carry)를 발생하는 회로.
6
다중 비트 병렬가산기
7
감산기 구현방법방법 1 : 연산수의 보수를 피연산수와 더하여 구하는 방법.
방법 2 : 피연산수에서 연산수를 빼서 구하는 방법.
0110
D0100
B0
0 00 11 01 1
x y0110
D0100
B0
0 00 11 01 1
x yx
yD
B0
반감산기(Half Subtractor)2개의 2진수를 감산하는 논리회로.
2개의 2진 입력과 2개의 2진 출력(차:D, 빌림수:B)을 가짐.
8
전감산기(Full Subtractor)- 3개의 입력(피연산수:x, 연산수:y, 빌려준 빌림수:Bi)비트들의 뺄
셈을 구하는 조합논리회로
- 출력은 2 개(차:D, 빌림수:B0)로 구성.
0 01 11 11 00 10 00 01 1
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
D B0x y Bi
0 01 11 11 00 10 00 01 1
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
D B0x y Bix
y
Bi
B0
D
9
1 의 보수 방법을 이용하여 가산기 활용
예) 4자리의 피감수 A와 감수 B가 있다고 가정하고 1의 보
수 방법을 이용
(10011)2의 최상위 비트에 1이 발생하므로 이를 다시 더해 주어야
한다. 즉, (0011)2 + 1 = (0100)2가 되어 정확한 값이 된다.
2의 보수를 이용하여 감산을 할 경우 2
감수 B를 2의 보수로 바꾸어야 하고 이 수를 피감수 A와 더하게
된다. 그리고 최종적으로 최상위에서 발생하는 캐리는 무시하면
된다.
10
대소 비교기
두 개의 수를 비교하여 두 수의 관계를 구하는 회로
2개의 입력 A,B와 출력 X,Y,Z가 결정
A = 0, B = 0 일 때, 출력 A = B. X = 0, Y = 1, Z = 0
A = 0, B = 1 일 때, 출력 A < B. X = 0, Y = 0, Z = 1
A = 1, B = 0 일 때, 출력 A > B. X = 1, Y = 0, Z = 0
A = 1, B = 1 일 때, 출력 A = B. X = 0, Y = 1, Z = 0
일치 회로
11
yx z
a b c
(2진수)
(그레이코드)
a b c (그레이코드)
yx z (2진수)
q 코드 변환기 : 같은 정보에 대해 서로 다른 코드에 사용
l 2진 코드와 그레이 코드 : 그레이 코드는 이웃한 수끼리 한 개비트만 다르게 구성된 코드.
l 2진 코드와 그레이 코드 비교표
0 0 00 0 10 1 10 1 01 1 01 1 11 0 11 0 0
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
a b c그레이 코드출력
x y z2진 코드 입력
0 0 00 0 10 1 10 1 01 1 01 1 11 0 11 0 0
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
a b c그레이 코드출력
x y z2진 코드 입력
wxy
z
a
b
d
c
l BCD 코드와 2421 코드 변환
* 각각 10진수의 한 자리를 4비트를 나타냄.
* 입력과 출력 변수에 대한 비교표와 변환회로
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
a b c d2421코드 출력
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 1
w x y zBCD 코드 입력
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
a b c d2421코드 출력
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 1
w x y zBCD 코드 입력
12
xy
zPE
l 패리티 발생기(parity bit generator) * 3개의 입력 정보 비트를 x, y, z 라 하고, 출력인 패리티 비트는 P라
한다.
* 정보비트가 3비트일 때 홀수 패리티와 짝수패리티의 진리표
01101001
PE
짝수 패리티
10010110
P0
홀수 패리티
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
x y z3 비트 정보
01101001
PE
짝수 패리티
10010110
P0
홀수 패리티
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
x y z3 비트 정보
xy
zP0
홀수 패리티 발생기 P0 = ( x y ) z = ( x y) z
짝수 패리티 발생기 PE = x y z = x y z
q 디코더와 인코더
l 디코더 : 조합논리회로로서 n비트의 2진 코드는 2n개의 출력으로 변환시켜 주는 회로.
* 3´8 디코더에 대한 진리표
1 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 1 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1
D0 D1 D2 D3 D4 D5 D6 D7
출 력
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
x y z입 력
1 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 1 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1
D0 D1 D2 D3 D4 D5 D6 D7
출 력
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
x y z입 력
x
y
z
D 0 = x y z
D 1 = x y z
D 2 = x y z
D 3 = x y z
D 4 = x y z
D 5 = x y z
D 6 = x y z
D 7 = x y z
13
엔코더(encoder)디코더의 반대기능을 수행하는 논리회로로, 2n개 이하의 입력과 n개의 출력.
인코더는 OR게이트로 구성되며, 이 OR게이트 입력은 아래의 진리표로부터
결정된다. (예 : 8진 - 2진 인코더)
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
x y z출 력
1 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 1 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1
D0 D1 D2 D3 D4 D5 D6 D7
입 력
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
x y z출 력
1 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 1 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1
D0 D1 D2 D3 D4 D5 D6 D7
입 력
D7
D5
D6
D4
D3
D2
D1
D0
x= D4 +D 5 +D 6 +D 7
y= D 2 +D 3 +D 6 +D 7
x= D1 +D3 +D5 +D7
멀티플렉서여러 개의 데이터 입력을 받아 그 중 하나를 선택하여 출력하는 조합논리회로이
며, 데이터 선택선이라고도 한다.
MUX
Z
I0
I1
IN-1
선택선
MUX
Z
I0
I1
IN-1
선택선
14
F(A, B, C)= (1, 3, 5, 6)을 4x1 MUX로 설계하라.
A’
A
B’C’ B’C BC’ BC
I I I I0 1 2 3
0 1 2 34 5 6 7
0 1 A A’
0
AA’
1 4x1MUX F
B C
Input
Output
Select
0IIII
1
2
3
디멀티 플렉서하나의 입력선에 정보를 싣고 2n개의 가능한 출력선 중 하나로 정보를 전송하
며 특정 출력의 선택선은 n개의 선택선에 의해 제어된다.
QN-1
DEMUX
입력선
Q0
Q1
선택선