논리회로 설계 제4장 부울 대수 개요 부울 대수(Boolean Algebra)  George Boole이 논리적 프로세스들을 표현하기 위하 여 개발한 대수학  부울 대수에 근거하여 표현되는 부울.

Download Report

Transcript 논리회로 설계 제4장 부울 대수 개요 부울 대수(Boolean Algebra)  George Boole이 논리적 프로세스들을 표현하기 위하 여 개발한 대수학  부울 대수에 근거하여 표현되는 부울.

논리회로 설계
제4장 부울 대수
개요
부울 대수(Boolean Algebra)
 George Boole이 논리적 프로세스들을 표현하기 위하
여 개발한 대수학
 부울 대수에 근거하여 표현되는 부울 함수의 구성 요소
들:
• {0,1}
• 2진 변수들(binary variables)
• 연산자: 부울 합(Boolean sum)의 기호(+) 및
부울 곱(Boolean product)의 기호(•)
 부울 함수의 예
F = A + B'C
• A, B, C : 입력 변수들
• F : 출력 변수
4.1 부울 연산의 표현
부울 보수(Boolean complement)
_
 A' 혹은 A (A = 1  A' = 0, A = 0  A' = 1)
 ‘A 프라임’ 으로 읽기로 함
 인버터로 구현 (F = A')
부울 덧셈(Boolean addition)
 부울 덧셈의 규칙
0
0
1
1
+
+
+
+
0
1
0
1
=
=
=
=
0
1
1
1
 OR 게이트로 구현
 입력 변수의 수에 따른 함수의 표현
 2-변수 OR 함수: F2 = A+B
 3-변수 OR 함수: F3 = A+B+C
 4-변수 OR 함수: F4 = A+B+C+D
 부울 덧셈 함수의 구현
부울 곱셈(Boolean multiplication)
 부울 곱셈의 규칙
0
0
1
1
•
•
•
•
0
1
0
1
=
=
=
=
0
0
0
1
 AND 게이트로 구현
 입력 변수의 수에 따른 함수의 표현
 2-변수 AND 함수: F2 = AB
 3-변수 AND 함수: F3 = ABC
 4-변수 AND 함수: F4 = ABCD
 부울 곱셈 함수의 구현
 기타 부울 함수들
 NOR 함수 : F = (A+B)'
 기타 부울 함수들 (계속)
 NAND 함수 : F = (AB)'
4.2 부울 대수의 법칙과 규칙들
논리회로의 설계 과정에서 부울 함수를 간략화 시
키는 데 활용
 회로 구현에 필요한 부품의 수 및 크기 최소화,
처리 속도 향상
부울 대수의 법칙들
 부울 대수는 2진 변수들과 2진 연산자인 AND 및 OR에
대하여 다음과 같은 법칙들과 규칙들을 만족
[법칙 1] 교환 법칙(Commutative law)
(a) A + B = B + A
(b) AB = BA
[증명]
부울 대수의 법칙들 (계속)
[법칙 2] 결합 법칙(Associative law)
(a) (A + B) + C = A + (B + C)
(b) A(BC) = (AB)C
[증명]
부울 대수의 법칙들 (계속)
[법칙 3] 분배 법칙(Distributive law)
(a) A(B + C) = AB + AC
(b) A + BC = (A + B)(A + C)
[(b)에 대한 증명]
부울 대수의 법칙들 (계속)
 팩터링(factoring) : 공통 변수의 묶음
[예] AB + AC = A(B + C)
부울 대수의 규칙들
[규칙 1] A • 0 = 0
[규칙 2] A • 1 = A
부울 대수의 규칙들 (계속)
[규칙 3] A • A = A
[규칙 4] A • A' = 0
부울 대수의 규칙들 (계속)
[규칙 5] A + 0 = A
[규칙 6] A + 1 = 1
부울 대수의 규칙들 (계속)
[규칙 7] A + A = A
[규칙 8] A + A' = 1
쌍대성의 원리(Principle of Duality)
 AND 연산에 관한 규칙에서 연산자 및 변수값을 반대
로 바꾸면 OR 연산자 규칙이 된다 (반대의 경우도 성
립)
<AND ↔ OR, 1 ↔ 0>
부울 대수의 규칙들 (계속)
[규칙 9] A'' = A
[규칙 10] A + AB = A
[증명]
부울 대수의 규칙들 (계속)
[규칙 11] A + A'B = A + B
[증명]
부울 대수의 규칙들 (계속)
[규칙 12] (A + B)(A + C) = A + BC
[증명]
부울 대수의 규칙들 (계속)
드모르간의 정리(DeMorgan's theorem)
 (A + B)' = A' • B'
 (A • B)' = A' + B'
 (A + B + C + ...)' = A' • B' • C' • ...
 (A • B • C • ...)' = A' + B' + C' + ...
부울 대수의 규칙들 (계속)
[증명] (A + B)' = A' • B'
부울 대수의 규칙들 (계속)
[증명] (A • B)' = A' + B'
4.3 부울 대수를 이용한 논리회로의 분석
 분석 절차
1.논리회로에 대한 부울함수를 유도한다.
2.유도된 부울함수로부터 회로의 논리적 연산 과정을 파
악한다.
3.진리표(truth table)를 작성하여 전체적인 연산 과정 및
입출력 관계를 확인한다.
부울 대수를 이용한 논리회로의 분석 (계속)
[예]
부울 대수를 이용한 논리회로의 분석 (계속)
 부울함수 F = D + C(A+B) 를 이용한 (그림 4-12) 회로
의 특성 분석 결과
• D = 1이면, 출력 F는 다른 입력 값들에 상관없이 항상
1이 된다.
• D = 0일 때 C = 0이라면, F= 0이 된다.
• D = 0일 때 C = 1이라면, A와 B 중의 어느 하나라도 1
이면 F=1이 된다.
진리표를 이용한 (그림 4-12) 회로 분석
<연산과정 및 입출력 관계>
4.4 부울 대수를 이용한 논리회로의 설계
 설계 절차
① 설계할 회로의 기능을 나타내는 진리표를 작성한다
② 진리표로부터 부울함수를 유도한다
③ 부울함수를 간략화 한다
④ 논리 게이트들을 이용하여 회로를 구성한다
4.4.1 최소항(minterm)과 최대항(maxterm)
 진리표로부터 부울 함수를 유도하는 방법
: 최소항(minterm) 혹은 최대항(maxterm) 을 이용
 최소항 구하는 방법
 입력값 = 1 인 변수는 정상 형(normal form)으로 표현하고,
 입력값 = 0 인 변수는 보수 형(complement form)으로 표현한 후,
 변수들을 곱(product)의 형태로 표현
 표준 곱(standard product) 이라고도 부름
 각 항은 입력변수들 간의 AND 연산 결과가 ‘1’이 되도록 표현한
결과에 해당
부울 대수를 이용한 논리회로의 설계 (계속)
[예] 두 변수(A,B)에 대한 최소항 및 최대항
부울 대수를 이용한 논리회로의 설계 (계속)
 최대항 구하는 방법
 입력값 = 0 인 변수는 정상 형(normal form)으로 표현하고,
 입력값 = 1 인 변수는 보수 형(complement form)으로 표현한 후,
 변수들을 합(sum)의 형태로 표현
 표준 합(standard sum) 이라고도 부름
 각 항은 입력변수들 간의 OR 연산 결과가 ‘0’ 이 되도록 표현한
결과에 해당
부울 대수를 이용한 논리회로의 설계 (계속)
4.4.2 최소항을 이용한 부울 함수의 유도
[예] [표 4-5]로부터 최소항을 이용하여 F1 및 F2에 대한 부울 함수를
구하라
<방법> 출력 = 1이 되게 해주는 입력 조합에 대응되는 최소항들을
구하고, 그들 간의 합으로 표현
F1 (A,B,C) = A'B'C' + A'BC + AB'C' + ABC'
= m0 + m3+ m4 + m6
= Σ(0,3,4,6)
 위의 함수 형태를 최소항들의 합
(sum of minterms)이라고 부름
부울 대수를 이용한 논리회로의 설계 (계속)
 F2(A,B,C) = A'B'C + AB'C' + AB'C + ABC' + ABC
= m1 + m 4 + m 5 + m 6 + m 7
= Σ(1,4,5,6,7)
4.4.3 최대항을 이용한 부울 함수의 유도
 방법: 출력 = 0 이 되게 해주는 입력 값들에 대응되는 최
대항들을 구하고, 그들 간의 곱으로 표현
[예] [표 4-5]로부터 최대항을 이용하여 F1 및 F2에 대한
부울 함수를 구하라
F1 (A,B,C) = (A+B+C')(A+B'+C)(A'+B+C')(A'+B'+C')
= M1 M2 M5 M7
= ∏ (1,2,5,7)
 위의 함수 형태를 최대항들의 곱(product of maxterms)이라 부름
 F1에 대한 최대항들의 합을 구하는 다른 방법
① F1 = 0 이 되게 하는 입력 조합들에 대한 최소항들을 OR 연산으
로 묶고, F1' 으로 표시
② 그 결과에 보수를 취하고, ‘드모르간의 정리’를 적용
[예]
F1'(A,B,C) = A'B'C + A'BC' + AB'C + ABC
F1 = (F1')'
= (A'B'C + A'BC' + AB'C + ABC)'
= (A'B'C)'(A'BC')'(AB'C)'(ABC)'
= (A+B+C')(A+B'+C)(A'+B+C')(A'+B'+C')
= M1 M2 M5 M7
F2(A,B,C) = (A+B+C)(A+B'+C)(A+B'+C')
= M0 M2 M3
= ∏(0,2,3)
혹은,
F2 = (F2')' = (A'B'C' + A'BC' + A'BC)'
= (A'B'C')'(A'BC')'(A'BC)'
= (A+B+C)(A+B'+C)(A+B'+C')
= M0 M2 M3
4.4.4 부울 함수의 간략화
 부울 함수를 간략화시키는 목적 : 구현에 필요한 부품 수
의 최소화 및 회로의 단순화
[예]
부울 함수의 간략화 (계속)
[예] F2 = A'B'C + AB'C' + AB'C + ABC' + ABC
= A'B'C + AB'C + AB'C' + AB'C + ABC’ + ABC {AB'C 항의 추가}
= B'C(A'+A) + AB'(C'+C) + AB(C'+C)
= B'C + AB' + AB
= B'C + A(B'+B)
= A + B'C
부울 함수의 간략화 (계속)
 간략화 효과 : 그림 4-13(b)의 회로와 비교
4.4.5 논리회로 설계의 사례
[예]설계할 회로의 기능 설정
세 개의 입력들로 이루어지는 2진수 조합이 나타내는 10
진수 값이 0부터 4까지일 때는 출력으로 ‘0’을, 5 이상인
경우에는 출력으로 ‘1’을 발생한다
[1] 진리표 작성
설계 사례 (계속)
[2] 진리표로부터 부울 함수를 구하고, 간략화
[3] 회로 구성:
4.5 표준형 부울 함수의 표현
 표준형 함수: 부울 곱으로 이루어진 항들의 합, 혹은 부울 합으로
이루어진 항들의 곱으로 표현된 함수
[예] 함수 형태 및 구현 회로 비교
 일반형
F(A,B,C) = A(B+C) + BC
 표준형 (standard form): 분배법칙을 이용하여 곱의 합으로
변형
F(A,B,C) = AB + AC + BC
• 처리 시간 단축 (두 단계)
• 회로 구성의 단순화
표준형 부울 함수 (계속)
4.5.1 SOP 표현(Sum-of-Products representation)
 논리적 곱으로 이루어진 두 개 이상의 항들이 부울 덧
셈에 의해 합해진 형태의 부울 함수
[예]
F(A,B,C) = A + BC + A'BC'
F(A,B,C,D) = AB'C + BC'D' + ABCD'
<특징>
 항들 중의 하나 이상이 1이면, 출력 F = 1
 AND-OR 회로에 의해 구현
표준형 부울 함수 (계속)
 정규형 SOP 표현(canonical SOP representation): SOP
형 부울 함수의 각 항이 도메인(domain) 내 모든 변수들
을 포함한 형태의 부울 표현
 정규형 SOP 표현이 아닌 함수의 예
F(A,B,C,D) = A'CD + AB' + ABC'D
B
C,D  포함되지 않은 변수들
 정규형 SOP 표현의 장점
• 부울 함수의 분석을 위한 진리표 작성이 용이
• 카노프 맵의 작성이 용이 (부울 함수 간략화 과정)
표준형 부울 함수 (계속)
 정규형 SOP 표현으로의 변환 [예]
 F(A,B,C,D) = A'CD + AB' + ABC'D
[방법] 각 항들이 모든 변수들을 포함시키기 위하여 각
항에 없는 변수에 대한 (x+x')을 곱한 후, 전개한다.
A'CD = A'CD(B + B') = A'BCD + A'B'CD
AB' = AB'(C+ C') = AB'C + AB'C'
= AB'C(D + D') + AB'C'(D + D')
= AB'CD + AB'CD' + AB'C'D + AB'C'D'
[결과]
F(A,B,C,D) = A'BCD + A'B'CD + AB'CD + AB'CD'
+ AB'C'D + AB'C'D' + ABC'D
표준형 부울 함수 (계속)
4.5.2 POS 표현(Product-of-Sums representation)
 논리적 합으로 이루어진 두 개 이상의 항들이 부울 곱
에 의해 곱해진 형태의 부울 함수
[예] F(A,B,C) = A(B + C)(A' + B + C')
F(A,B,C) = (A' + B)(A + B' + C)(A + C)
F(A,B,C,D) = (A + B' + C)(B + C' + D')(A + C + D')
<특징>
 항들 중의 하나 이상이 0 이면, 출력 F = 0
 OR-AND 회로에 의해 구현
표준형 부울 함수 (계속)
POS형 함수의 OR-AND 회로 구현 예
F = (A' + B)(A + B' + C)(A + C)의 구현:
표준형 부울 함수 (계속)
 SOP형 부울 함수를 POS형으로 변형하는 방법 :
분배 법칙 중의 x + yz = (x+y)(x+z) 를 이용
[예] F = A'B + AC
= (A'B + A)(A'B + C)
= (A' + A)(B + A)(A' + C)(B + C)
= (A + B)(A' + C)(B + C)
표준형 부울 함수 (계속)
 정규형 POS 표현(canonical POS representation): POS
형 부울 함수의 각 항이 도메인(domain) 내 모든 변수들
을 포함한 형태의 부울 표현
 정규형 POS 표현이 아닌 함수의 예
F(A,B,C) = (A' + B)(A + B' + C)(A + C)
C
B  포함되지 않은 변수들
표준형 부울 함수 (계속)
 정규형 POS 표현으로의 변환 방법: 항에 포함되지 않은
변수에 대한 xx' 을 더해준 후, 분배법칙으로 전개
[예] F(A,B,C) = (A + B)(A' + C)(B + C)
<변환 과정>
A + B = A + B + CC' = (A + B + C)(A + B + C')
A' + C = A' + C + BB' = (A' + B + C)(A' + B' + C)
B + C = B + C + AA' = (A + B + C)(A' + B + C)
 F(A,B,C) = (A + B + C)(A + B + C')(A' + B + C)
(A' + B' + C)
 F=0 이 되게 하는 입력 조합들: 000, 001, 100, 110
표준형 부울 함수 (계속)
[진리표 작성 방법]
F=0 이 되게 하는 입력 조합들(000, 001, 100, 110)에 대
응되는 출력을 ‘0’으로 표시하고, 나머지는 ‘1’로 표시
표준형 부울 함수 (계속)
4.5.3 정규형 SOP와 정규형 POS 표현 간의 변환
 정규형 SOP → 정규형 POS 표현 변환 절차
① SOP 형으로 표현된 부울 함수에 포함된 항들에
대한 2진수 조합들을 나열한다.
② ①번 결과에 포함되지 않은 2진수 조합들을 찾는다.
③ ②번 결과로 나타난 2진수 조합들에 대한 POS 표현
을 구한다.
표준형 부울 함수 (계속)
[예] F1 = A'B'C + A'BC + AB'C + ABC' + ABC
 위의 항들에 대응되는 2진수 조합들:
001, 011, 101, 110, 111
② 위의 표현에 포함되지 않은 2진수 조합들:
000, 010, 100
③ 위의 2진수 조합들에 대하여, 비트가 ‘0’이면 해당 변수를
정상형으로, ‘1’이면 보수형으로 표현하고, 합을 구한 다
음에, 그들 간에 곱하면 POS 표현이 된다.
F1 = (A + B + C)(A + B' + C)(A' + B + C)
표준형 부울 함수 (계속)
 정규형 POS을 정규형 SOP 표현으로 변환하는 방법
 함수가 ‘0’이 되게 해주는 입력조합들을 구한 후, 포함되지 않은
입력 조합들을 찾아서 SOP 표현을 유도
[예] F2 = (A' + B + C')(A' + B + C)(A + B' + C)
F2 = 0 이 되게 해주는 입력 조합들: 101, 100, 010
포함되지 않은 입력 조합들: 000, 001, 011, 110, 111
 F2 = A'B'C' + A'B'C + A'BC +ABC' +ABC
표준형 부울 함수 (계속)
 정규형 표현들 간의 다른 변환 방법
 정규형 SOP  POS 변환 예
F1 = A'B'C + A'BC + AB'C + ABC' + ABC
= m1 + m3 + m5 + m6 + m7
= Σ(1,3,5,6,7)
F1' = Σ(0,2,4) = m0 + m2 + m4
F1 = (F1' )' = (m0 + m2 + m4 )'
= m0' m2' m4'
= M0 M2M4
= ∏ (0,2,4)
= (A+B+C)(A+B'+C)(A'+B+C)
표준형 부울 함수 (계속)
 정규형 POS  SOP 변환 예
F2 = (A' + B + C')(A' + B + C)(A + B' + C)
= ∏(2,4,5)
F2' = ∏ (0,1,3,6,7) = M0 • M1 • M3 • M6 • M7
F2 = (F2')' = (M0 M1 M3 M6 M7)'
= M0' + M1' + M3' + M6' + M7'
= m0 + m1 + m3 + m6 + m7
= Σ(0,1,3,6,7)
= A'B'C' + A'B'C + A'BC + ABC' + ABC
4.6 NAND 및 NOR 게이트를 이용한 구현
 NAND 게이트 : 기본 게이트 혹은 범용 게이트(generalpurpose gate)라고도 부름
• 인버터
• AND 게이트
• OR 게이트
NAND 및 NOR 게이트를 이용한 구현 (계속)
 부울 함수를 NAND 게이트만으로 구현하는 방법
: 부울함수를 SOP 형으로 변환한 후, NAND 함수로 변형
[예] F = A(B+C) = AB + AC
= [(AB)']'+[(AC)']'
= [(AB)'(AC)']'
NAND 및 NOR 게이트를 이용한 구현 (계속)
NAND 게이트들을 이용한 회로로의 변환하는 다른 방법
: 하나의 라인에 두 개의 인버터들을 연속 추가
[예] F(A,B,C) = A + B'C + BC'
한 개의 7400칩(NAND 게이트 4개)으로
구현 가능
NAND 및 NOR 게이트를 이용한 구현 (계속)
 3-input NAND 게이트의 그래픽 기호들
NAND 및 NOR 게이트를 이용한 구현 (계속)

NAND 게이트만으로 구현하는 경우의 이점:
(1) 기본 게이트인 NAND 게이트들을 이용하므로, 동작 시간이
더 빨라진다.
(2) 7400 칩에는 네 개의 NAND 게이트들이 포함되어 있으므로,
AND-OR 회로 구현에 필요한 칩의 수를 줄일 수 있다.
NAND 및 NOR 게이트를 이용한 구현 (계속)
 NOR 게이트 : NAND 게이트와 쌍대 관계
• 인버터
• OR 게이트
• AND 게이트
NAND 및 NOR 게이트를 이용한 구현 (계속)
 NOR 게이트의 그래픽 기호들
 부울 함수를 NOR 게이트만으로 구현하는 방법
: 부울 함수를 POS 형으로 변환한 후, NOR 함수로 변형
[예] F = (A+B)(C+D)
= [(A+B)']' [(C+D)' ]'
= [(A+B)'+(C+D)']'
4.7 XOR 연산과 XNOR 연산
 XOR 연산에 대한 기호 및 진리표
 XOR 함수 유도 :
F = AB = A'B + AB'
 XOR 함수에 적용되는 규칙과 법칙들
A 0 = A
 A  1 = A'
A A =0
 A  A' = 1
 A B = BA
{교환법칙}
 (A  B ) C = A (B C) = A B C {결합법칙}
 A(B  C) = AB AC
{분배법칙}
 (A  B)' = A' B = A  B'
 입력 변수의 1의 개수가 홀수일 때 F = 1  홀수 함수(odd function)
3-input XOR 게이트의 등가회로 및 기호
 XOR 함수의 분배 법칙에 대한 증명: 역방향의 함수 유
도를 이용
 XNOR 연산 = 등가 연산(equivalence operation)
XNOR 연산 (계속)
 F = (A ⊙ B) = AB + A'B'
 (A  B)' = (A'B + AB')'
= (A'B)'(AB')'
= (A + B')(A' + B)
= AB + A'B'
=A⊙B

 입력 변수의 1의 개수가 짝수일 때 F = 1
 XNOR 함수는 짝수 함수(even function)