3. 0. 개요 HIGH LOW LOW HIGH +5 +3.5 +0.8 0 전압 [V] +2.5 +1.5 출력신호 입력신호
4. 1. 부울 대수의 개념 부울 대수와 명제 논리 집합 이론 수학적 대상을 원소로 하는 집합 집합의 원소에 대해 정의된 연산 (operation) 의 집합 집합의 여러가지 법칙 명제이론 - 논리 참과 거짓 다양한 연산자 이용 : 참과 거짓만 갖은 여러가지 법칙 [ 참고 ] 부울 대수는 1854 년 영국의 수학자 부울 (George Boole: 1815~1864) 에 의해 수학적 논리 형태로 소개되어 , 논리회로의 설계를 비롯한 중요한 컴퓨터 분야에 응용되고 있음 집합 B 의 원소인 1 과 0 은 명제와 논리에서 각각 T( 참 ; true) 와 F( 거짓 ; false) 에 대응하며 , 집합 O 의 원소는 집합의 연산과 논리의 연산을 포괄하는 개념임
5. 1. 부울 대수의 개념 부울 대수 (Boolean Algebra) 란 ? 대수계 (Algebraic system) 의 구성요소 수학적 대상을 원소로 하는 집합 집합의 원소에 대해 정의된 연산 (operation) 의 집합 연산이 만족하는 기본적인 법칙으로 구성된 공리 (axiom) 의 집합 부울 대수의 정의 : ( B , O , A )= (B,+, , ’, 0,1) B 는 2 진수를 표현하는 단위 숫자의 집합 {0, 1} O 는 B 에 적용되는 연산의 집합 ( 예 : {+( 부울합 ), ( 부울곱 ), ’ ( 보수 )}) Commutative laws: a + b = b + a, a C b=b a Distributive laws: a +(b c)=(a+b) (a+c), a (b+c)=a b+a c Identity laws: a +0=a, a 1=a Complement laws: a+ a ’ =1, a a ’ =0
6. 1. 부울 대수의 개념 부울 연산자 (Boolean Operators) 부울합 (Boolean sum) 부울합은 + ( 또는 ∨ , OR) 로 표기하며 , 이항 연산 (binary operation) 임 연산 규칙 부울곱 (Boolean product) 부울곱은 ( 또는 ∧ , AND) 로 표기하며 , 이항 연산임 연산 규칙 x + y 0 1 1 x y 0 0 0 1 1 0 1 1 1 x y 0 0 0 x y 0 0 0 1 1 0 1 1 1
7. 1. 부울 대수의 개념 부울 연산자 ( 계속 ) 보수 (Complementation) 보수는 ’ ( 또는 ~, NOT) 로 표기하며 , 단항 연산 (unary operation) 임 연산 규칙 연산자 우선순위 (Precedence) 괄호 ≫ NOT( ’ ) ≫ AND( ) ≫ OR(+) 예제 ① x + y z = x + ( y z ) ≠ ( x + y ) z ② x y ’ = x ( y ’ ) ≠ ( x y ) ’ = x + yz [ 참고 ] 특별히 혼돈이 없는 경우에 AND( ) 기호는 생략이 가능함 예제 – 다음 부울 연산의 결과는 ? 1 + 1 = 1 1 ’ + 0 = 0 + 0 = 0 0 + 0 ’ = 0 + 1 = 1 1 1 ’ = 1 0 = 0 (1 1) ’ = 1 ’ = 0 0 + 1 ’ 1 = 0 + (0 1) = 0 + 0 = 0 x x ’ 0 1 1 0
8. 2. 부울 대수의 법칙 부울 대수 법칙 (Laws of Boolean Algebra) [ 참고 ] 멱등법칙 9) 의 증명 x + x = ( x + x ) 1 항등법칙 6) 에 의해서 = ( x + x )( x + x ’ ) 보법칙 7) 에 의해서 = x + xx ’ 분배법칙 4) 에 의해서 = x + 0 보법칙 8) 에 의해서 = x 항등법칙 5) 에 의해서 종류 기본법칙 비고 교환법칙 (commutative laws) 1) x + y = y + x 2) xy = yx 멱등법칙 (idempotent laws) 9) x + x = x 10) xx = x 분배법칙 (distributive laws) 3) x ( y + z ) = xy + xz 4) x + yz = ( x + y )( x + z ) 4) 는 일반 수식에서는 성립하지 않음 항등법칙 (identity laws) 5) x + 0 = x 6) x 1 = x + 에 대한 항등원 0 이 존재하며 , 에 대한 항등원 1 이 존재함 보법칙 (complement laws) 7) x + x ’ = 1 8) xx ’ = 0
9. 2. 부울 대수의 법칙 부울 대수 법칙 ( 계속 ) 종류 기본법칙 비고 지배법칙 (dominance laws) 11) x + 1 = 1 12) x 0 = 0 [ 증명 ] 11) x + 1 = 1 x + 1 = 1 ( x + 1) 항등법칙 6) = ( x + x ’ )( x + 1) 보법칙 7) = x + x ’ 1 분배법칙 4) = x + x ’ 항등법칙 6) = 1 보법칙 7) 이중보수법칙 (double complement laws) 13) ( x ’ ) ’ = x 결합법칙 (associative laws) 14) x + ( y + z ) = ( x + y ) + z 15) x ( yz ) = ( xy ) z 드모르강법칙 (De Morgan ’ s laws) 16) ( x + y ) ’ = x ’ y ’ 17) ( xy ) ’ = x ’ + y ’ ( x 1 + x 2 + … + x n ) ’ = x 1 ’ x 2 ’ … x n ’ ( x 1 x 2 … x n ) ’ = x 1 ’ + x 2 ’ + … + x n ’ 흡수법칙 (absorption laws) 18) x + xy = x 19) x ( x + y ) = x [ 증명 ] 18) x + xy = x x + xy = x 1 + xy 항등법칙 6) = x (1 + y ) 분배법칙 3) = x ( y + 1) 교환법칙 1) = x 1 지배법칙 11) = x 항등법칙 6)
10. 부울 함수 (Boolean Function) 3. 부울 함수와 부울식 정의 집합 B = {0, 1} 일 때 , 부울 함수 (Boolean function) f : B n -> B 는 B n 내의 임의의 n - 튜플 {( x 1 , x 2 , … , x n ) | x i ∈ B , 1≤ i ≤ n } 에서 B 로 사상되는 함수임 부울 변수 (Boolean variable) 인 x i 는 0 또는 1 의 값을 가지므로 비트 (bit; binary digit) 라고도 함 정의역은 곱집합 (Cartesian product) 인 B n = {0, 1} 1 x {0, 1} 2 x … x {0, 1} n 이고 , 치역은 B = {0, 1} 임 진리표 (truth table) 부울 함수의 n 개의 부울 변수는 2 n 개의 0 과 1 의 조합을 가질 수 있으므로 2 n 개의 열 (column) 을 갖는 진리표를 구성하여 함수 값을 표현할 수 있음 예제 – 부울 함수 f ( x , y ) = x ’ + xy ’ 에 대한 진리표를 나타내면 ? x ’ + xy ’ 1 1 1 0 x y 0 0 0 1 1 0 1 1 x ’ 1 1 0 0 y ’ 1 0 1 0 xy ’ 0 0 1 0
11. 부울 함수 ( 계속 ) 3. 부울 함수와 부울식 동치 함수 (Equal function) n 개의 변수로 구성된 부울 함수 f 와 g 의 모든 변수값 b 1 , b 2 , … , b n 에 대해 f ( b 1 , b 2 , … , b n ) = g ( b 1 , b 2 , … , b n ) 이면 , f 와 g 는 동치 (equal) 라고 하고 f = g 로 표현함 예제 – 부울 함수 f ( x , y , z ) = ( x + y + z ) ’ 와 g ( x , y , z ) = x ’ y ’ z ’ 에 대해서 f 와 g 가 동치 ( 즉 , f = g ) 임을 진리표를 사용하여 보이면 ? f = g x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 x + y 0 0 1 1 1 1 1 1 x + y + z 0 1 1 1 1 1 1 1 ( x + y + z ) ’ 1 0 0 0 0 0 0 0 x ’ y ’ 1 1 1 1 1 0 1 0 z ’ 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 x ’ y ’ 1 1 0 0 0 0 0 0 x ’ y ’ z ’ 1 0 0 0 0 0 0 0
12. 부울 함수 ( 계속 ) 3. 부울 함수와 부울식 보함수 (Complementary function) 부울 함수 f 의 모든 변수값 b 1 , b 2 , … , b n 에 대해 항상 그 결과가 보수의 값을 갖는 함수 f ’ 를 f 의 보함수 (complementary function) 라고 함 즉 , f ’ ( b 1 , b 2 , … , b n ) = ( f ( b 1 , b 2 , … , b n )) ’ 가 성립함 예제 – 부울 함수 f ( x , y , z ) = x ’ + yz 의 보함수는 f ’ ( x , y , z ) = xy ’ + xz ’ 임을 진리표를 사용하여 보이면 ? f ’ ( x , y , z ) = ( f ( x , y , z )) ’ x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 x ’ 1 1 1 1 0 0 0 0 yz 0 0 0 1 0 0 0 1 x ’ + yz 1 1 1 1 0 0 0 1 y ’ 1 1 0 0 1 1 0 0 z ’ 1 0 1 0 1 0 1 0 xy ’ + xz ’ 0 0 0 0 1 1 1 0 xy ’ 0 0 0 0 1 1 0 0 xz ’ 0 0 0 0 1 0 1 0
13. 3. 부울 함수와 부울식 부울식 (Boolean Expression) 부울식이 아님 ( 2 는 집합 B 의 원소가 아님 ) 정의 부울 대수 ( B , O , A ) 에서 부울 변수 x 1 , x 2 , … , x n 에 대한 부울식은 다음과 같이 재귀적으로 정의됨 0, 1, x 1 , x 2 , … , x n 은 각각 부울식임 E 1 과 E 2 가 부울식이면 , ( E 1 ), E 1 ’ , E 1 + E 2 , E 1 E 2 도 각각 부울식임 부울 함수를 구성하는 수식을 부울식 (Boolean expression) 이라고 함 예제 다음 중 부울 변수 x 1 , x 2 , x 3 에 대한 부울식을 고르면 ? 0 1 + x 1 + ( x 2 x 3 ’ ) ( x 1 ’ + 1) ’ ( x 1 + 0) (0 + 2) x 1 x 1 + x 2 + x 3 (1 – 0) + ( x 1 + x 2 ) ’ 부울식임 부울식임 부울식임 부울식이 아님 ( – 는 부울 연산자가 아님 )
14. 3. 부울 함수와 부울식 쌍대성 원리 (Principles of Duality) 정의 집합 ( 제 2 강 참고 ) 과 마찬가지로 부울 대수에서도 다음 규칙을 적용하여 쌍대 (dual) 가 되는 부울식을 구성할 수 있음 부울식에서 부울곱 ( ) 은 부울합 (+) 으로 , 부울합은 부울곱으로 변경 부울식에서 0 은 1 로 , 1 은 0 으로 변경 부울 대수의 유효한 법칙에 대해서 그 쌍대가 되는 법칙도 항상 유효함 예제 다음 각 부울식의 쌍대를 구하면 ? 1 + xy 0 ( x + y ) ( xy ) ’ + x ( x + y ) ’ x 0 + ( x + yz ) 1 ( x ( y + z )) x + xy = x x ( x + y ) = x ( x ’ + z )( xy ’ + z ) = z x ’ z + ( x + y ’ ) z = z
15. 4. 최소항 / 최대항 표현 가능한 부울 함수의 개수 문제 n 개의 부울 변수로 만들 수 있는 부울 함수는 몇 개나 되는가 ? ( 단 , 동치인 함수는 하나로 카운트함 ) 2 2 n 개 이유 n 개의 부울 변수가 가질 수 있는 값의 조합 c = 2 n 가지임 c 가지의 경우에 대해 진리표에서 표현할 수 있는 결과의 개수는 2 c (= 2 2 n ) 개임 예제 2 개의 부울 변수 x , y 로 만들 수 있는 부울 함수의 개수는 ? 2 2 2 = 2 4 = 16 ( 개 ) 가능한 부울 함수를 모두 나타내면 ? ( 뒷장에 계속 )
16. 표현 가능한 부울 함수의 개수 ( 계속 ) 4. 최소항 / 최대항 예제 ( 계속 ) x 0 0 1 1 y 0 1 0 1 f 0 0 0 0 0 f 1 0 0 0 1 f 2 0 0 1 0 f 3 0 0 1 1 f 4 0 1 0 0 f 5 0 1 0 1 f 6 0 1 1 0 f 7 0 1 1 1 f 8 1 0 0 0 f 9 1 0 0 1 f 10 1 0 1 0 f 11 1 0 1 1 f 12 1 1 0 0 f 13 1 1 0 1 f 14 1 1 1 0 f 15 1 1 1 1 f 0 ( x , y ) = 0 f 1 ( x , y ) = xy f 2 ( x , y ) = xy ’ f 3 ( x , y ) = xy ’ + xy f 4 ( x , y ) = x ’ y f 5 ( x , y ) = x ’ y + xy f 6 ( x , y ) = x ’ y + xy ’ f 7 ( x , y ) = x ’ y + xy ’ + xy f 8 ( x , y ) = x ’ y ’ f 9 ( x , y ) = x ’ y ’ + xy f 10 ( x , y ) = x ’ y ’ + xy ’ f 11 ( x , y ) = x ’ y ’ + xy ’ + xy f 12 ( x , y ) = x ’ y ’ + x ’ y f 13 ( x , y ) = x ’ y ’ + x ’ y + xy f 14 ( x , y ) = x ’ y ’ + x ’ y + xy ’ f 15 ( x , y ) = 1
17. 최소항 (Minterms)/ 최대항 (Maxterms) 4. 최소항 / 최대항 최소항 부울 변수의 곱으로만 표현되는 부울식을 최소항 (minterms) 이라고 함 최소항과 최대항은 서로 보수의 관계가 성립함 ( 즉 , 최소항을 m i , 최대항을 M i 라고 할 때 , m i ’ = M i 임 ) 예 : ( xy ’ z ) ’ = x ’ + y + z ’ n 개의 부울 변수 x 1 , x 2 , … , x n 에 대한 최소항의 형식 y 1 y 2 … y n ( 단 , y i = x i 또는 y i = ( x i ) ’ 이며 , 1≤ i ≤ n ) 부울 변수의 값을 대입하면 최소항의 결과는 1 이 됨 ( 예 : 부울 변수의 값이 x = 1, y = 0, z = 1 일 때 , 최소항은 xy ’ z 로 표현함 ) 최대항 부울 변수의 합으로만 표현되는 부울식을 최대항 (maxterms) 이라고 함 n 개의 부울 변수 x 1 , x 2 , … , x n 에 대한 최대항의 형식 y 1 + y 2 + … + y n ( 단 , y i = x i 또는 y i = ( x i ) ’ 이며 , 1≤ i ≤ n ) 부울 변수의 값을 대입하면 최대항의 결과는 0 이 됨 ( 예 : 부울 변수의 값이 x = 1, y = 0, z = 1 일 때 , 최대항은 x ’ + y + z ’ 로 표현함 )
18. 최소항 / 최대항 ( 계속 ) 4. 최소항 / 최대항 예제 3 개의 부울 변수 x , y , z 에 대한 최소항과 최대항을 구하면 ? 최소항과 최대항은 진리표에 대응하는 부울 함수를 정규화된 형식으로 표현하기 위하여 주로 사용함 n 개의 변수에 대한 진리표는 2 n 개의 최소항과 2 n 개의 최대항을 가짐 특징 x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 최소항 x ’ y ’ z ’ ( m 0 ) x ’ y ’ z ( m 1 ) x ’ yz ’ ( m 2 ) x ’ yz ( m 3 ) xy ’ z ’ ( m 4 ) xy ’ z ( m 5 ) xyz ’ ( m 6 ) xyz ( m 7 ) 최대항 x + y + z ( M 0 ) x + y + z ’ ( M 1 ) x + y ’ + z ( M 2 ) x + y ’ + z ’ ( M 3 ) x ’ + y + z ( M 4 ) x ’ + y + z ’ ( M 5 ) x ’ + y ’ + z ( M 6 ) x ’ + y ’ + z ’ ( M 7 )
19. 5. 곱의 합 / 합의 곱 곱의 합 (Sum of Products)/ 합의 곱 (Product of Sums) 곱의 합 모든 부울 함수는 결과가 1 인 최소항들의 부울합 으로 표현할 수 있으며 , 이런 표현을 곱의 합 (sum of products) 형식이라고 함 논리합 정형 (disjunctive normal form) 이라고도 함 예 : f ( x , y , z ) = x ’ y ’ z + xy ’ z ’ + xyz 합의 곱 모든 부울 함수는 결과가 0 인 최대항들의 부울곱 으로 표현할 수 있으며 , 이런 표현을 합의 곱 (product of sums) 형식이라고 함 논리곱 정형 (conjunctive normal form) 이라고도 함 예 : f ( x , y , z ) = ( x + y + z ’ )( x ’ + y + z )( x ’ + y ’ + z ’ ) [ 참고 ] 정규형 (Canonical form) 곱의 합 또는 합의 곱으로 표현된 부울식을 정규형 (canonical form) 이라고 하며 , 그렇지 않은 식은 비정규형이라고 함
20. 예제 5. 곱의 합 / 합의 곱 진리표에 대한 부울 함수 구하기 3 개의 부울 변수 x , y , z 에 대한 진리표가 다음과 같을 때 부울 함수 f ( x , y , z ) 를 곱의 합 형식으로 표현하면 ? 또한 합의 곱 형식으로 표현하면 ? 곱의 합 형식 : f ( x , y , z ) = x ’ y ’ z + x ’ yz ’ + xy ’ z ’ + xy ’ z = m 1 + m 2 + m 4 + m 5 = ∑(1, 2, 4, 5) 합의 곱 형식 : f ( x , y , z ) = ( x + y + z )( x + y ’ + z ’ )( x ’ + y ’ + z )( x ’ + y ’ + z ’ ) = M 0 M 3 M 6 M 7 = ∏(0, 3, 6, 7) x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 최소항 x ’ y ’ z ’ ( m 0 ) x ’ y ’ z ( m 1 ) x ’ yz ’ ( m 2 ) x ’ yz ( m 3 ) xy ’ z ’ ( m 4 ) xy ’ z ( m 5 ) xyz ’ ( m 6 ) xyz ( m 7 ) 최대항 x + y + z ( M 0 ) x + y + z ’ ( M 1 ) x + y ’ + z ( M 2 ) x + y ’ + z ’ ( M 3 ) x ’ + y + z ( M 4 ) x ’ + y + z ’ ( M 5 ) x ’ + y ’ + z ( M 6 ) x ’ + y ’ + z ’ ( M 7 ) f ( x , y , z ) 0 1 1 0 1 1 0 0
21. 예제 ( 계속 ) 5. 곱의 합 / 합의 곱 곱의 합 / 합의 곱 형식이 동치임을 증명 곱의 합 형식인 f ( x , y , z ) = x ’ y ’ z + x ’ yz ’ + xy ’ z ’ + xy ’ z 과 합의 곱 형식인 f ( x , y , z ) = ( x + y + z )( x + y ’ + z ’ )( x ’ + y ’ + z )( x ’ + y ’ + z ’ ) 이 동치임을 보이면 ? [ 증명 ] 곱의 합 형식인 f ( x , y , z ) = x ’ y ’ z + x ’ yz ’ + xy ’ z ’ + xy ’ z = ∑(1, 2, 4, 5) 일 때 , 그 보함수는 f ’ ( x , y , z ) = x ’ y ’ z ’ + x ’ yz + xyz ’ + xyz = ∑(0, 3, 6, 7) 이 됨 . 보함수의 정의에 따라 f ( x , y , z ) = ( f ’ ( x , y , z )) ’ 이므로 ( f ’ ( x , y , z )) ’ = ( x ’ y ’ z ’ + x ’ yz + xyz ’ + xyz ) ’ 드모르강 법칙을 적용하면 = ( x ’ y ’ z ’ ) ’ ( x ’ yz ) ’ ( xyz ’ ) ’ ( xyz ) ’ = ( x + y + z ) ( x + y ’ + z ’ ) ( x ’ + y ’ + z ) ( x ’ + y ’ + z ’ ) 따라서 합의 곱 형식인 f ( x , y , z ) = ∏(0, 3, 6, 7) 이 성립함
22. 예제 ( 계속 ) 5. 곱의 합 / 합의 곱 일반적인 부울 함수의 정규형 변환 부울 함수 f ( x , y , z ) = x ’ y + z ’ 를 정규형 ( 즉 , 곱의 합 형식과 합의 곱 형식 ) 으로 표현하면 ? 곱의 합 형식 : f ( x , y , z ) = ∑(0, 2, 3, 4, 6) = m 0 + m 2 + m 3 + m 4 + m 6 = x ’ y ’ z ’ + x ’ yz ’ + x ’ yz + xy ’ z ’ + xyz ’ 합의 곱 형식 : f ( x , y , z ) = ∏(1, 5, 7) = M 1 M 5 M 7 = ( x + y + z ’ )( x ’ + y + z ’ )( x ’ + y ’ + z ’ ) x y 0 0 0 0 0 1 0 1 z 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 최소항 x ’ y ’ z ’ ( m 0 ) x ’ y ’ z ( m 1 ) x ’ yz ’ ( m 2 ) x ’ yz ( m 3 ) xy ’ z ’ ( m 4 ) xy ’ z ( m 5 ) xyz ’ ( m 6 ) xyz ( m 7 ) 최대항 x + y + z ( M 0 ) x + y + z ’ ( M 1 ) x + y ’ + z ( M 2 ) x + y ’ + z ’ ( M 3 ) x ’ + y + z ( M 4 ) x ’ + y + z ’ ( M 5 ) x ’ + y ’ + z ( M 6 ) x ’ + y ’ + z ’ ( M 7 ) f ( x , y , z ) 1 0 1 1 1 0 1 0 x ’ y 0 0 1 1 0 0 0 0 x ’ 1 1 1 1 0 0 0 0 z ’ 1 0 1 0 1 0 1 0
23. 6. 논리 게이트 논리 게이트 (Logic Gate) 란 ? 정의 디지털 신호를 갖는 전자 회로를 표현하는 가장 기본이 되는 단위로서 하나 이상의 입력과 하나의 출력을 갖는 장치를 논리 게이트 (logic gate) 라고 함 부울 대수의 B n 에서 B 로의 함수 ( 여기서 B = {0, 1} 임 ) 로 표현이 가능함 종류 AND 게이트 OR 게이트 NOT 게이트 NAND(NOT-AND) 게이트 NOR(NOT-OR) 게이트 XOR(Exclusive-OR) 게이트 XNOR(Exclusive-NOR) 게이트 Buffer 게이트
24. 6. 논리 게이트 AND 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 xy 를 출력으로 얻는 게이트 진리표 다이어그램 다중입력 AND 게이트 x y xy x y 0 0 0 1 1 0 1 1 입력 xy 0 0 0 1 출력 xy = 1 if x = y = 1 0 otherwise x 1 x 2 … x n x 1 x 2 x n ∙ ∙ ∙
25. 6. 논리 게이트 OR 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x + y 를 출력으로 얻는 게이트 진리표 다이어그램 다중입력 OR 게이트 x y 0 0 0 1 1 0 1 1 입력 x + y 0 1 1 1 출력 x + y = 0 if x = y = 0 1 otherwise x y x + y x 1 + x 2 + … + x n x 1 x 2 x n ∙ ∙ ∙
26. 6. 논리 게이트 NOT 게이트 정의 임의의 x ∈ {0, 1} 를 입력하여 x ’ 를 출력으로 얻는 게이트 진리표 다이어그램 인버터 (inverter) 라고도 함 x 0 1 입력 x ’ 1 0 출력 x ’ = 1 if x = 0 0 if x = 1 x x ’
27. NAND 게이트 6. 논리 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x ↑ y = ( xy ) ’ 를 출력으로 얻는 게이트 진리표 다이어그램 동치인 NAND 게이트 x y 0 0 0 1 1 0 1 1 입력 x ↑ y 1 1 1 0 출력 x ↑ y = 0 if x = y = 1 1 otherwise x y x ↑ y x y x ’ + y ’
28. NOR 게이트 6. 논리 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x ↓ y = ( x + y ) ’ 를 출력으로 얻는 게이트 진리표 다이어그램 동치인 NOR 게이트 x y 0 0 0 1 1 0 1 1 입력 x ↓ y 1 0 0 0 출력 x ↓ y = 1 if x = y = 0 0 otherwise x y x ↓ y x y x ’ y ’
29. XOR 게이트 6. 논리 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x y = x ’ y + xy ’ 를 출력으로 얻는 게이트 진리표 다이어그램 x y 0 0 0 1 1 0 1 1 입력 x y 0 1 1 0 출력 x y = 0 if x = y 1 otherwise x y x y
30. XNOR 게이트 6. 논리 게이트 정의 임의의 x , y ∈ {0, 1} 를 입력하여 x y = x ’ y ’ + xy 를 출력으로 얻는 게이트 진리표 다이어그램 x y 0 0 0 1 1 0 1 1 입력 x y 1 0 0 1 출력 x y = 1 if x = y 0 otherwise x y x y
31. Buffer 게이트 6. 논리 게이트 정의 임의의 x ∈ {0, 1} 를 입력하여 x 를 그대로 출력으로 얻는 게이트 진리표 다이어그램 입력 시간을 지연시키는데 사용됨 x 0 1 입력 x 0 1 출력 x = 1 if x = 1 0 if x = 0 x x
32. 논리 회로 (Logic Circuit) 란 ? 7. 논리 회로 정의 논리 게이트의 조합으로 구성된 회로를 논리 회로 (logic circuit) 라고 함 모든 부울 함수는 논리 회로로 변환이 가능함 부울 함수의 논리 회로 표현 방법 합의 곱 (product of sums) 형식 다수의 OR 게이트가 하나의 AND 게이트에 연결되는 형태로 표현함 곱의 합 (sum of products) 형식 다수의 AND 게이트가 하나의 OR 게이트에 연결되는 형태로 표현함 [ 참고 ] 여러 게이트가 하나의 입력을 공유하면 입력선을 분기하여 표현하기도 함
33. 예제 7. 논리 회로 곱의 합 형식의 논리 회로 표현 부울 함수 f ( x , y ) = xy + xy ’ 를 논리 회로로 표현하면 ? 또는 x y xy + xy ’ x y xy x y xy ’ xy + xy ’
34. 예제 ( 계속 ) 7. 논리 회로 합의 곱 형식의 논리 회로 표현 부울 함수 f ( x , y ) = ( x + y )( x ’ + y ) 를 논리 회로로 표현하면 ? 또는 x y x ’ + y x y x + y ( x + y )( x ’ + y ) x y ( x + y )( x ’ + y )
35. 예제 ( 계속 ) 7. 논리 회로 논리 회로의 부울 함수 표현 다음 논리 회로를 부울 함수로 표현하면 ? w ’ x ’ y ( w ’ x ’ y ) ’ ( w ’ x ’ y ) ’ y ( w ’ x ’ y ) ’ y + ( w ’ x ’ y ) ’ + z ’ f ( w , x , y , z ) = ( w ’ x ’ y ) ’ y + ( w ’ x ’ y ) ’ + z ’ z w x y
36. 완전 연산자 집합 (Complete Set of Operators) 8. 완전 연산자 집합 정의 모든 부울 함수를 표현하기에 충분한 연산자의 집합 예 : { (AND), +(OR), ’ (NOT)} [ 이유 ] 모든 부울 함수는 곱의 합 / 합의 곱 형식으로 표현이 가능하므로 예제 집합 { (AND), ’ (NOT)} 가 완전 연산자 집합임을 보이면 ? [ 증명 ] +(OR) 를 { , ’ } 만으로 표현이 가능한지 증명함 부울식 x + y 에 대해서 이중보수법칙과 드모르강법칙을 적용하면 x + y = (( x + y ) ’ ) ’ = ( x ’ y ’ ) ’ 이 성립함 즉 , 모든 부울 함수에서 + 는 과 ’ 를 결합하여 표현할 수 있으므로 { , ’ } 는 완전 연산자 집합임 [ 참고 ] { , ’ } 과 마찬가지로 {+, ’ } 도 완전 연산자 집합임 완전 연산자 집합은 실제 전자 회로를 구성할 때 사용되는 게이트의 종류를 최소화하는데 도움이 됨
37. 완전 연산자 집합 {NAND}/{NOR} 8. 완전 연산자 집합 정의 모든 부울 함수는 NAND(NOT-AND; ↑) 또는 NOR(NOT-OR; ↓) 만을 사용하여 표현이 가능함 증명 집합 {↑(NAND)} 와 {↓(NOR)} 가 완전 연산자 집합임을 보이면 ? 우선 과 ’ 를 ↑만으로 표현이 가능한지 증명함 따라서 {↑} 는 완전 연산자 집합임 NAND 의 정의인 x ↑ y = ( x y ) ’ 와 멱등법칙인 x x = x 를 적용하면 x ↑ x = ( x x ) ’ = x ’ 가 성립함 . 즉 , x ’ = x ↑ x 임 또한 x y = ( x ↑ y ) ’ = ( x ↑ y )↑( x ↑ y ) 가 성립함 마찬가지로 + 과 ’ 를 ↓만으로 표현이 가능한지 증명함 따라서 {↓} 는 완전 연산자 집합임 NOR 의 정의인 x ↓ y = ( x + y ) ’ 와 멱등법칙 x + x = x 를 적용하면 x ↓ x = ( x + x ) ’ = x ’ 가 성립함 . 즉 , x ’ = x ↓ x 임 또한 x + y = ( x ↓ y ) ’ = ( x ↓ y )↓( x ↓ y ) 가 성립함
38. 완전 연산자 집합 {NAND}/{NOR} ( 계속 ) 8. 완전 연산자 집합 예제 진리표를 사용하여 x ’ = x ↑ x 와 x y = ( x ↑ y )↑( x ↑ y ) 가 성립함을 보이면 ? x ’ = x ↑ x x y = ( x ↑ y )↑( x ↑ y ) x 0 1 x ’ 1 0 x ↑ x 1 0 x y 0 0 0 1 1 0 1 1 x y 0 0 0 1 x ↑ y 1 1 1 0 ( x ↑ y )↑( x ↑ y ) 0 0 0 1
39. 부울 함수의 간소화 (Simplifying Boolean Expression) 9. 부울 함수의 간소화 정의 동치인 부울 함수가 있을 때 , 복잡한 것보다는 간소화된 것을 이용한 전자 회로의 구성이 게이트의 수를 줄일 수 있어서 더 효율적임 간소화 방법 부울 대수의 기본 법칙 을 이용하는 방법 카르노 맵 (Karnaugh map) 을 이용하는 방법 곱의 합 ( 또는 합의 곱 ) 형식으로 표현된 부울 함수를 K-map 이라는 특수한 행렬로 표시함 인간의 패턴 매칭 (pattern matching) 능력을 사용하여 가장 간단한 표현을 결정함 [ 제 11 강 ] 에서 배운 다양한 부울 대수의 기본 법칙을 적용하여 간소화함 적용할 법칙의 선택이 어렵고 , 가장 간소화된 것인지 확인하기 힘듬 부울 함수의 간소화 란 부울 함수의 표현에 사용되는 부울 변수의 개수와 부울 연산자의 개수를 최소한으로 줄이는 것을 의미함
40. 부울 대수의 법칙을 이용한 간소화 9. 부울 함수의 간소화 예제 부울 함수 f ( x , y , z ) = xyz + xy ’ z + xyz ’ + x ’ yz + xy ’ z ’ 를 부울 대수의 기본 법칙을 사용하여 간소화시키면 ? f ( x , y , z ) = xyz + xy ’ z + xyz ’ + x ’ yz + xy ’ z ’ = xyz + xy ’ z + xyz ’ + x ’ yz + ( xy ’ z ’ + xy ’ z ’ ) 멱등법칙 = xyz + xy ’ ( z + z ’ ) + xz ’ ( y + y ’ ) + x ’ yz 교환법칙 , 분배법칙 = xyz + xy ’ 1 + xz ’ 1 + x ’ yz 보법칙 = xyz + xy ’ + xz ’ + x ’ yz 항등법칙 = xyz + x ( y ’ + z ’ ) + x ’ yz 분배법칙 = xyz + x ( yz ) ’ + x ’ yz 드모르강법칙 = ( xyz + xyz ) + x ( yz ) ’ + x ’ yz 멱등법칙 = x [ yz + ( yz ) ’ ] + ( x + x ’ ) yz 교환법칙 , 분배법칙 = x 1 + 1 yz 보법칙 = x + yz 항등법칙
41. 카르노 맵 (Karnaugh Map) 10. 카르노 맵 정의 부울 함수를 최소로 간소화하기 위해 사용되는 부울 행렬 1953 년 Bell Lab 의 전기통신 공학자인 Maurice Karnaugh 가 고안함 간소화 방법 주로 2~6 개의 변수를 가진 부울 함수에 적용됨 ( 이론상으로는 제한이 없음 ) 2- 변수 맵은 2 x 2 행렬 , 3- 변수 맵은 2 x 4 행렬 , 4- 변수 맵은 4 x 4 행렬임 행렬은 인접하는 원소가 한 비트만 다르게 부울 변수를 조합할 수 있도록 그레이 코드 (grey code) 형식으로 구성됨 부울 함수가 곱의 합 형식으로 표현된 경우에 최소항의 값이 1 이면 1 로 0 이면 0 으로 해당하는 행렬의 위치에 표시함 부울 함수가 합의 곱 형식으로 표현된 경우에 최대항의 값이 1 이면 0 으로 0 이면 1 로 해당하는 행렬의 위치에 표시함 행렬에서 인접한 1 을 2 n ( 예 : 1, 2, 4, 8, … ) 개의 직사각형으로 묶은 후 ( 가능한 큰 그룹으로 ), 행과 열에서 공통인 변수의 곱 (AND) 으로 묶음을 표현함 묶은 곱의 합 (OR) 형식으로 함수를 표시하면 간소화된 형식임
42. 2- 변수 맵 (2 Variable Map) 10. 카르노 맵 템플릿 [ 제 11 강 참고 ] f 0 ( x , y ) = 0 f 0 ’ ( x , y ) = 1 f 1 ( x , y ) = xy f 1 ’ ( x , y ) = x ’ + y ’ f 2 ( x , y ) = xy ’ f 2 ’ ( x , y ) = x ’ + y f 3 ( x , y ) = xy ’ + xy = x f 3 ’ ( x , y ) = x ’ 부울 함수의 표현 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) x 0 0 1 1 y 0 1 0 1 f 0 0 0 0 0 f 1 0 0 0 1 f 2 0 0 1 0 f 3 0 0 1 1 0 0 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 0 0 0 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 1 0 0 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 2 0 0 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 3
43. 2- 변수 맵 ( 계속 ) 10. 카르노 맵 f 6 ( x , y ) = x ’ y + xy ’ f 6 ’ ( x , y ) = x ’ y ’ + xy f 7 ( x , y ) = x ’ y + xy ’ + xy = x + y f 7 ’ ( x , y ) = x ’ y ’ f 8 ( x , y ) = x ’ y ’ f 8 ’ ( x , y ) = x + y f 9 ( x , y ) = x ’ y ’ + xy f 9 ’ ( x , y ) = x ’ y + xy ’ 부울 함수의 표현 ( 계속 ) f 4 ( x , y ) = x ’ y f 4 ’ ( x , y ) = x + y ’ f 5 ( x , y ) = x ’ y + xy = y f 5 ’ ( x , y ) = y ’ 0 1 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 6 0 1 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 7 1 0 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 8 1 0 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 9 x 0 0 1 1 y 0 1 0 1 f 4 0 1 0 0 f 5 0 1 0 1 f 6 0 1 1 0 f 7 0 1 1 1 f 8 1 0 0 0 f 9 1 0 0 1 0 1 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 4 0 1 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 5
44. 2- 변수 맵 ( 계속 ) 10. 카르노 맵 f 12 ( x , y ) = x ’ y ’ + x ’ y = x ’ f 12 ’ ( x , y ) = x f 13 ( x , y ) = x ’ y ’ + x ’ y + xy = x ’ + y f 13 ’ ( x , y ) = xy ’ f 14 ( x , y ) = x ’ y ’ + x ’ y + xy ’ = x ’ + y ’ f 14 ’ ( x , y ) = xy f 15 ( x , y ) = 1 f 15 ’ ( x , y ) = 0 부울 함수의 표현 ( 계속 ) f 10 ( x , y ) = x ’ y ’ + xy ’ = y ’ f 10 ’ ( x , y ) = y f 11 ( x , y ) = x ’ y ’ + xy ’ + xy = x + y ’ f 11 ’ ( x , y ) = x ’ y 1 1 0 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 12 1 1 0 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 13 1 1 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 14 1 1 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 15 1 0 1 0 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 10 1 0 1 1 0 ( y ’ ) 1 ( y ) 0 ( x ’ ) 1 ( x ) f 11 x 0 0 1 1 y 0 1 0 1 f 10 1 0 1 0 f 11 1 0 1 1 f 12 1 1 0 0 f 13 1 1 0 1 f 14 1 1 1 0 f 15 1 1 1 1
45. 3- 변수 맵 (3 Variable Map) 10. 카르노 맵 템플릿 부울 함수의 표현 f ( x , y , z ) = xy ’ z + xyz f ( x , y , z ) = xz f ( x , y , z ) = ∑(2, 3, 4, 6) f ( x , y , z ) = x ’ y + xz ’ 000 ( x ’ y ’ z ’ ) 100 ( xy ’ z ’ ) 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 001 ( x ’ y ’ z ) 101 ( xy ’ z ) 01 ( y ’ z ) 011 ( x ’ yz ) 111 ( xyz ) 11 ( yz ) 010 ( x ’ yz ’ ) 110 ( xyz ’ ) 10 ( yz ’ ) 0 0 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 1 01 ( y ’ z ) 0 1 11 ( yz ) 0 0 10 ( yz ’ ) 0 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 0 01 ( y ’ z ) 1 0 11 ( yz ) 1 1 10 ( yz ’ )
46. 3- 변수 맵 ( 계속 ) 10. 카르노 맵 부울 함수의 표현 ( 계속 ) f ( x , y , z ) = ∑(0, 1, 2, 3) f ( x , y , z ) = x ’ f ( x , y , z ) = ∑(2, 3, 6, 7) f ( x , y , z ) = y f ( x , y , z ) = ∏(1, 3, 5, 7) f ( x , y , z ) = z ’ 1 0 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 1 0 01 ( y ’ z ) 1 0 11 ( yz ) 1 0 10 ( yz ’ ) 0 0 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 0 01 ( y ’ z ) 1 1 11 ( yz ) 1 1 10 ( yz ’ ) 1 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 0 01 ( y ’ z ) 0 0 11 ( yz ) 1 1 10 ( yz ’ )
47. 3- 변수 맵 ( 계속 ) 10. 카르노 맵 부울 함수의 표현 ( 계속 ) f ( x , y , z ) = ∑(0, 1, 3, 4, 5) f ( x , y , z ) = y ’ + x ’ z f ( x , y , z ) = ∏(0, 2) f ( x , y , z ) = x + z f ( x , y , z ) = ∑(0, 2, 3, 4, 5, 6) f ( x , y , z ) = z ’ + xy ’ + x ’ y 1 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 1 1 01 ( y ’ z ) 1 0 11 ( yz ) 0 0 10 ( yz ’ ) 0 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 1 1 01 ( y ’ z ) 1 1 11 ( yz ) 0 1 10 ( yz ’ ) 1 1 00 ( y ’ z ’ ) 0 ( x ’ ) 1 ( x ) 0 1 01 ( y ’ z ) 1 0 11 ( yz ) 1 1 10 ( yz ’ )
48. 4- 변수 맵 (4 Variable Map) 10. 카르노 맵 템플릿 부울 함수의 표현 f ( w , x , y , z ) = w ’ x ’ y ’ z + w ’ x ’ yz + w ’ xy ’ z + w ’ xyz + wxy ’ z + wxyz + wx ’ y ’ z + wx ’ yz = ∑(1, 3, 5, 7, 9, 11, 13, 15) = ∏(0, 2, 4, 6, 8, 10, 12, 14) f ( w , x , y , z ) = z 0000 ( w ’ x ’ y ’ z ’ ) 0100 ( w ’ xy ’ z ’ ) 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 0001 ( w ’ x ’ y ’ z ) 0101 ( w ’ xy ’ z ) 01 ( y ’ z ) 0011 ( w ’ x ’ yz ) 0111 ( w ’ xyz ) 11 ( yz ) 0010 ( w ’ x ’ yz ’ ) 0110 ( w ’ xyz ’ ) 10 ( yz ’ ) 1100 ( wxy ’ z ’ ) 1000 ( wx ’ y ’ z ’ ) 11 ( wx ) 10 ( wx ’ ) 1101 ( wxy ’ z ) 1001 ( wx ’ y ’ z ) 1111 ( wxyz ) 1011 ( wx ’ yz ) 1110 ( wxyz ’ ) 1010 ( wx ’ yz ’ ) 0 0 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 1 1 01 ( y ’ z ) 1 1 11 ( yz ) 0 0 10 ( yz ’ ) 0 0 11 ( wx ) 10 ( wx ’ ) 1 1 1 1 0 0
49. 4- 변수 맵 ( 계속 ) 10. 카르노 맵 이산수학 Discrete Mathematics 부울 함수의 표현 ( 계속 ) f ( w , x , y , z ) = ∑(1, 3, 5, 6, 7, 12, 13, 14, 15) f ( w , x , y , z ) = ∏(3, 5, 8, 9, 14) f ( w , x , y , z ) = w ’ z + wx ’ + w ’ xy f ( w , x , y , z ) = w ’ z ’ + x ’ y ’ + xy + wyz [ 참고 ] 5- 변수 이상의 카르노 맵은 본 강의에서 다루지 않음 0 0 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 1 1 01 ( y ’ z ) 1 1 11 ( yz ) 0 1 10 ( yz ’ ) 0 1 11 ( wx ) 10 ( wx ’ ) 0 1 0 1 0 1 1 1 00 ( y ’ z ’ ) 00 ( w ’ x ’ ) 01 ( w ’ x ) 1 0 01 ( y ’ z ) 0 1 11 ( yz ) 1 1 10 ( yz ’ ) 0 1 11 ( wx ) 10 ( wx ’ ) 0 1 1 1 1 0
50. 11. 조합회로 조합 논리 회로는 기억 특성을 가지고 있지 않으므로 회로의 출력은 현재 가해지는 입력의 조합에 의해서만 결정된다 . 반가산기 (half adder) 2 진수 한 자리를 더하는 회로를 반가산기라 하며 , 연산회로의 기본이 된다 . 2 개의 비트 X, Y 를 산술적으로 더하여 합 S 와 캐리 C 를 구하는 회로 X Y S C 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1
51. 11. 조합회로 전가산기 (full adder) X, Y 와 밑자리에서 올라오는 Carry 까지 고려해서 3bit 를 더하여 S , C 를 구하는 회로 (2 개의 반가산기와 1 개의 OR 게이트 ) X Y C i S C 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1
52. 11. 조합회로 비교기 (comparator) 2 개의 수 A, B 를 비교하여 대소를 결정하는 회로 A B A>B A=B A<B 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0
53. 11. 조합회로 디코더 (decoder : 해독기 , 복조기 ) N 개의 2 진 입력 신로로 부터 최대 2 n 개의 출력신호를 만드는 조합회로 디지털 데이터를 아날로그 데이터로 바꿔주는 컴퓨터 회로 ( 해독기 ) 압축된 신호를 원래 압축되기 전의 신호로 복원 한다는 의미 ( 복조기 ) 예 : 음향 시스템 ( DVD) A B Y 0 Y 1 Y 2 Y 3 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
55. 11. 조합회로 인코더 (encoder) 디코더의 반대 기능을 가진 조합회로 2 n 개 또는 그 이하의 입력으로 부터 N 개의 출력을 만드는 조합 회로 디지털 전자회로에서 어떤 부호계열의 신호를 다른 부호계열의 신호로 바꾸는 변환기 D 0 D 1 D 2 D 3 A B 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1
56. 11. 조합회로 멀티플렉서 (multiplexer : 다중화기 - MUX ) 데이터 선택기 여러 개의 입력 신호선 ( 채널 ) 중 하나를 선택하여 출력선에 연결하여 주는 조합 논리회로 S 0 S 1 Y 0 0 0 1 1 0 1 1 I 0 I 1 I 2 I 3
57. 11. 조합회로 디멀티플렉서 (demultiplexer) 한 개의 입력선을 여러 개의 출력선 중에 하나를 선택하여 연결하여 준다 . E S 0 S 1 D 0 D 1 D 2 D 3 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
58. 12. 순서논리회로 순서 논리 회로는 플립플롭 (flip-flop) 과 조합 논리 회로로 구성된 논리 회로를 의미 순서 논리 회로에서는 회로의 상태를 기억하는 기억 소자가 필요한데 가장 대표적인 기억 소자가 플립플롭이다 . 순서 논리 회로는 동기식 (synchronous) 과 비동기식 (asynchronous) 으로 분류 동기식 순서 논리 회로는 클록 (clock) 펄스를 사용해서 여러 개의 플립플롭을 동시에 동작 비동기식 순서 논리 회로는 클록 펄스를 사용하지 않고 플립플롭을 동작시킨다 . 기본적인 플립플롭 (SR 래치 ) S R Q 0 0 0 1 1 0 1 1 불변 1 0 불안정
59. 12. 순서논리회로 S-R 플립플롭 D 플립플롭 S R Q 0 0 0 1 1 0 1 1 불변 1 0 불능 ( 허용 안됨 ) D Q 1 0 1 0
60. 12. 순서논리회로 J-K 플립플롭 T 플립플롭 RS 플립플롭에서 R=S=1 을 허용하지 않는 보완한 것이 JK 플립플롭이다 . J,K 값이 동시에 1 이 될때 원래값에 반전된다… Toggle 플립플롭이다 . JK 플립플롭의 입력을 묶어서 하나의 입력 T 로 많든 플립플롭 J K Q 0 0 0 1 1 0 1 1 불변 0 1 토글 ( 반전 ) T Q 0 1 불변 보수
61. 13.ROM ROM: Two dimensional array of 1's and 0's Row is called a "word"; index is called an "address" Width of row is called bit-width or wordsize Address is input, selected word is output Dec 0 n-1 Address 2 -1 n 0 Word Line 0011 Word Line 1010 Bit Lines j i +5V +5V +5V +5V
62. 13.ROM F0 = A' B' C + A B' C' + A B' C F1 = A' B' C + A' B C' + A B C F2 = A' B' C' + A' B' C + A B' C' F3 = A' B C + A B' C' + A B C' address outputs A B C Address by ROM 8 w ords ¥ 4 bits F 0 F 1 F 2 F 3 B 0 0 1 1 0 0 1 1 W ord Contents A 0 0 0 0 1 1 1 1 C 0 1 0 1 0 1 0 1 F 0 0 1 0 0 1 1 0 0 F 1 0 1 1 0 0 0 0 1 F 2 1 1 0 0 1 0 0 0 F 3 0 0 0 1 1 0 1 0