Transcript 1 +a
논리공학 고려대학교 전기전자전파공학부 김종국 1 논리 공학 1 or 0, yes or no, true or false … 디지털 시스템을 위한 기초 거의 모든 전기전자제품은 디지털 시스템 e.g., 핸드폰, 전자시계, 컴퓨터 … 이진수 필요성 십진수에서 이진수 변환 불 대수 논리회로 설계 (combinational circuits) 논리회로 간소화/최적화 2 논리 공학 자동판매기(vending machine)? output (출력) input (입력) ? 3 이진수 a5a4a3a2a1a0.a-1a-2a-3 = anrn+an-1rn-1+...+a2r2+a1r+a0+a-1r-1+a-2r-2+...+a-mr-m (power series) 7392 = 7 × 103 + 3 × 102 + 9 × 101 +2 × 100 (11010.11)2 = 2n 2n 210 = 1Kilo 220 = 1Mega 230 = 1Giga 4 2n 이진수 101101 101101 1011 +10011 1 -100111 ×101 101010 0 000110 1011 0000 1011 110111 5 수체계 변환 베이스 r 수에서 십진수로 변환 Power series를 이용 Term들을 더함 (11010.11)2 = 1×24+1×23+0×22+1×21+0×20+1×2-1+1×2-2 = (26.75)10 십진수에서 베이스 r 수로 변환 정수 부분과 소수 부분을 따로함 정수 부분: 숫자를 베이스 r로 나누고 이후 몫을 다시 r 로 나누고 나머지를 읽으면 됨 소수 부분은? (41.6875)10 = (?)2 (153.513)10 = (?)8 6 수체계 변환 Ex 1-1) Convert decimal 41 to binary. Integer Quotient Remainder Coefficient Integer Remainder 41 41/2 = 20 + ½ a0 = 1 20 1 20/2 = 10 + 0 a1 = 0 10 0 10/2 = 5 + 0 a2 = 0 5 0 5/2 = 2 + ½ a3 = 1 2 1 2/2 = 1 + 0 a4 = 0 1/2 = 0 + ½ a5 = 1 1 0 0 1 answer : (41)10 = (a5a4a3a2a1a0)2 = (101001)2 7 answer = 101001 수체계 변환 Ex 1-2) Convert decimal 153 to octal. 153 19 1 2 3 = (231)8 0 2 Ex 1-3) Convert (0.6875)10 to binary. Integer Fraction Coefficient 0.6875×2 = 1 + 0.3750 a-1 = 1 0.3750×2 = 0 + 0.7500 a-2 = 0 0.7500×2 = 1 + 0.5000 a-3 = 1 0.5000×2 = 1 + 0.0000 a-4 = 1 answer:(0.6875)10 = (0.a-1a-2a-3a-4)2 = (0.1011)2 8 수체계 변환 (41.6875)10 = (101001.1011)2 (153.513)10 = (231.406517)8 9 Binary Logic definition of binary logic logic gates 10 Theorems and Properties of Boolean Algebra operator precedence 1. parentheses 2. NOT 3. AND 4. OR 11 Boolean Algebra commutative law: the order doesn’t affect the result X + Y = Y + X XY = YX associative law: parentheses can be removed (X + Y) + Z = X + (Y + Z ) (XY)Z = X(YZ) distributive law: X(Y+Z) = XY + XZ X + YZ = (X + Y)(X + Z) DeMorgan’s theorem: complement of an expression (X + Y) = XY (XY) = X + Y can be extended to three or more variables 12 Boolean Functions 13 Simplification (Minimization)? 14 Boolean Functions – Algebraic Manipulation ex 2-1) Simplify the following Boolean functions to a minimum number of literals. 1. x(x'+y) = xx' + xy = 0 + xy = xy. 2. x +x'y = (x+x')(x+y) = 1(x+y) = x + y. 3. (x+y)(x+y') = x + xy + xy' + yy' = x(1+y+y') = x. 4. xy + x'z + yz = xy + x'z + yz(x+x') = xy + x'z + xyz + x'yz = xy(1+z) + x'z(1+y) = xy + x'z 15 Complement of a Function (A + B + C)'= (A+x)' let B+C=x = A'x' by theorem 5(a)(DeMorgan) = A'(B+C)' substitute B+C=x = A'(B'C') by theorem 5(a)(DeMorgan) = A'B'C' by theorem 4(b)(associative) => (A+B+C+D+…+F)' = A'B'C'D'…F' (ABCD…F)' = A' +B'+ C' + D' + … + F' 16 Complement of a Function ex 2-2) Find the complement of the functions F1=x'yz'+x'y'z, F2=x(y'z'+yz). F1' = (x'yz'+x'y'z)' = (x'yz')'(x'y'z)' = (x+y'+z)(x+y+z') F2' = [x(y'z'+yz)]' = x'+(y'z'+yz)' = x'+(y'z')'(yz)' = x'+(y+z)(y'+z') ex 2-3) Find the complement of the functions F1 And F2 in Ex 2-2 by taking their duals and complementing each literal. 1. F1 = x'yz' + x'y'z. The dual of F1 is (x'+y+z')(x'+y'+z) Complement each literal : (x+y'+z)(x+y+z')=F1' 2. F2 = x(y'z'+yz). The dual of F2 is x+(y'+z')(y+z)이다. Complement each literal : x'+(y+z)(y'+z')=F2' 17 Simplification Example F = XYZ + XYZ + XY = XZ(Y + Y) + XY = XZ + XY circuit simplification less gates (a) 2 NOT, 3 AND, and 1 OR (b) 1 NOT, 2 AND, and 1 OR less fan-in 18 Minterm and Maxterm (1) minterm ( a product term) and Maxterm (a sum term) all variables appear exactly once, either complemented or uncomplemented show exactly one combination of the binary variables 2n distinct terms for n variables 19 Minterm and Maxterm (2) minterm term: x, y, z are such values, when do they give us 1? maxterm term: x, y, z are such values, when do they give us 0? j is the designation number for terms: Mj = mjc m3 = (XYZ) = X + Y + Z = M3 20 Canonical and Standard Forms f1 = x'y'z+xy'z'+xyz = m1+m4+m7 f2 = x'yz+xy'z+xyz'+xyz = m3+m5+m6+m7 f1 = (x+y+z)(x+y'+z)(x'+y+z')(x'+y'+z) = M0M2M3M5M6 f2 = (x+y+z)(x+y+z‘)(x+y'+z)(x'+y+z) = M0M1M2M4 21 Canonical and Standard Forms conversion between canonical forms F(A, B, C) = ∑(1, 4, 5, 6, 7) F' (A, B, C) = ∑(0, 2, 3) = m0 + m2 + m3 F = (m0+m2+m3)' = m0'm2'm3' = M0M2M3 = ∏(0, 2, 3) , mj' = Mj ex) F = xy + x'z F(x, y, z) = ∑(1, 3, 6, 7) F(x, y, z) = ∏(0, 2, 4, 5) 22 Gray Code gray code of three variables 1 bit difference between neighbors convert from the lower bit order if the converted binary number already exists, then try to convert the bit that is one higher 23 Karnaugh Map (K-Map) simplify Boolean functions of up to four variables (5 or 6 variables can be drawn, but cumbersome to use) simplified expressions are in sum-of-products or product-ofsums (two-level implementations) diagram of squares, one indicating one minterm 24 Karnaugh Map (K-Map) Algorithm pick the largest 2n element group (n = 0, 1, …) the already-grouped element can be regrouped for another group all elements in a group cannot be a member of another group 25 Two-Variable Map m1+m2+m3 = x'y +xy' +xy = x +y 26 Three-Variable Map 27 Three-Variable Map Examples 28 Four-Variable Map 29 Four-Variable Map Examples Ex 3-5) Simplify the Boolean function, F(w, x, y, z) = Σ(0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14) 30 Product-of-Sum from sum-of-products to product-of-sums complement the function (taking the dual) combine squares marked with 0’s change the function, which was expressed in sum-ofproducts to product-of-sums 31 Product of Sums Simplification ex 3-8) Simplify the Boolean function, F(A, B, C, D) = Σ(0, 1, 2, 5, 7, 9, 10) a) sum of products F = B'D' + B'D' +A'C'D' b) product of sum F' = AB + CD + BD' F = (A' +B')(C' +D')(B' +D) 32 Product of Sums Simplification F( x, y, z) = Σ(1, 3, 4, 6) = Π(0, 2, 5, 7) F = x'z +xz' F' = xz +x'z' F = (x'+z)(x + z') 33 So Far… simplification Boolean algebra K-map group 1’s: sum-of-products (minterms) group 0’s: product-of-sums (maxterms) 34 Don’t care condition unspecified minterms of a function marked with a cross or a “d” provides further simplification of the function “d” can become 0 or 1 35 Don’t-Care Conditions Example ex 3-9) Simplify the Boolean function, F(w, x, y, z) = Σ(1,3,7,11,15) Don’t-care conditions, d(w, x, y, z) = Σ(0, 2, 5) F(w, x, y, z) = yz + w'x' = Σ(0, 1, ,2, 3, 7, 11, 15) F(w, x, y, z) = yz + w'z = Σ(1, 3, 5, 7, 11, 15) 36 Digital Logic Gate Extension to Multiple Inputs - The NAND and NOR operators are not associative. (x↓y)↓z≠x↓(y↓z) (x↓y)↓z= [(x+y)'+z]' = (x+y)z'= xz' + yz' x↓(y↓z)= [x+(y+z)'] ' = x'(y+z)= x'y + x'z x↓y↓z= (x+y+z)' x↑y↑z= (xyz)' F = [(ABC)'(DE)']' = ABC + DE 37 NAND Implementation NAND Circuit 38 NAND Implementation F = ((AB)'(CD)')' = AB + CD ex 3-10) Implement the following Boolean function with NAND gates: F(x, y, z) = Σ(1, 2, 3, 4, 5, 7) = xy' + x'y + z 39 NAND Implementation 40 NOR Implementation F = (AB' + A'B)(C + D') 41 Exclusive-OR Function x y = xy' + x'y (x y)' = (xy' + x'y)' = xy + x'y' x 0=x x 1=x' x x=0 x x'=1 x y'=x' y=(x y)‘ AB=BA (A B) C = A (B C) =ABC 42 Exclusive-OR Function Application parity generation and checking P=xyz C=xyzP 43