150 likes | 308 Views
Two-Level Logic Synthesis -- Quine-McCluskey Method. Two-Level Logic. What is Two-Level Logic? Why Two Levels? Universal Speed Simplicity Typical Two Level Circuits: AND-OR, OR-AND, NAND-NAND, NOR-NOR Cost Functions in Two-Level Circuits Number of gates Number of fanin (gate inputs).
E N D
Two-Level Logic • What is Two-Level Logic? • Why Two Levels? • Universal • Speed • Simplicity • Typical Two Level Circuits: AND-OR, OR-AND, NAND-NAND, NOR-NOR • Cost Functions in Two-Level Circuits • Number of gates • Number of fanin (gate inputs) ENEE 644
x’yz xyz z yz xy’z y x xyz’ x xy’z’ Quine’s PI Theorem • Review: Implicants and PIs: Let f: BnB • A minterm is an implicant in which all literals appear exclusively • An implicant with k literals has 2n-k such minterms, who share these k literals. • An implicant l1•••lkis prime iff l1•••lj-1lj+1•••lkis not an implicant for all 1jk. • In the cubical representation, for an implicant with k literals, • k = n: a vertex (minterm) • k = n-1: an edge • k = k: an (n-k)-dimension face (plane) • (Quine’s Theorem [1952]) A minimal SOP must always consist of a sum of prime implicants. • Minimal in terms of number of literals ENEE 644
Computing PIs: Tabular Method f(w,x,y,z) = x’y’ + wxy + x’yz’ + wy’z 1. Rewrite in minterm canonical form; f(w,x,y,z) = (wx’y’z+wx’y’z’+w’x’y’z+w’x’y’z’)+ (wxyz+wxyz’)+(wx’yz’+w’x’yz’)+(wxy’z+wx’y’z) 2. Group by number of complement literals; • Merge terms in adjacent groups; Xy + Xy’ = X -- distance-1 merging 4. Repeat step 3. until no new term is created. ENEE 644
wxyz x wxy wxz wxyz’ x wyz’ wxy’z x wy’z wx’y’z x wx’y’ x x’y’ wx’yz’ x x’y’z x x’z’ wx’z’ x x’yz’ x wx’y’z’ x x’y’z’ x w’x’y’z x w’x’y’ x w’x’yz’ x w’x’z’ x w’x’y’z’ x f(w,x,y,z) = (wx’y’z+wx’y’z’+w’x’y’z+w’x’y’z’)+ (wxyz+wxyz’)+(wx’yz’+w’x’yz’)+(wxy’z) Check for: Xy + Xy’ = X All prime implicants: wxy, wxz, wyz’, wy’z, x’y’, x’z’ More on Quine’s Method: Easy to implement Can handle don’t cares inefficient ENEE 644
Computing PIs: Iterated Consensus Method • Start with: SOP standard form (as compared to the canonical form in Tabular Method) • Goal: sum of all PIs -- complete sum • Basic idea: xY + x’Z = xY + x’Z +YZ-- consensus law • Theorem: A SOP formula is a complete sum iff • No term includes any other term; • The consensus of any two terms either does not exist or is contained in some term. ENEE 644
Example: Iterated Consensus Method f(w,x,y,z) = wx + x’y + xyz = wx + x’y + xyz + wy = wx + x’y + xyz + wy = wx + x’y + xyz + wy + yz = wx + x’y + wy + yz Start with any SOP form Need to compare every pair of terms Do they have consensus? Does one contain the other? xY + x’Z = xY + x’Z + YZ ENEE 644
Computing PIs: Recursive Method • Basic idea: if F1 and F2 are complete sums, the complete sum of F1•F2 can be obtained by: • Expanding F1 and F2 to POS (Boole’s Expansion) • Multiplying out F1 and F2 by distributive law • Applying x •x=x and x •x’=0 • Eliminating all terms that are contained in others • Example: f(w,x,y,z) = (w+x)(x’+y)(y+z) = (wx’+wy+xx’+xy)(y+z) = wx’y+wx’z+wyy+wyz+xyy+xyz = wy+xy+wx’y+wx’z+wyz+xyz = wy+xy+wx’z ENEE 644
Computing the PIs: Recursive Method • Given f(x,y,z….)= (x’ + f(1,y,z..))(x + f(0,y,z…)) (Boolean Expansion) • C-S(f) = ABSORB((x’ +C-S(f(1,y,z..))(x + C-S(f(0,y,z…))) • Essentially a recursive procedure. ABSORB is a manifestation of the result outlined in the previous slide. ENEE 644
f(0,x,y,z)=y’z+xyz = (y+z)(y’+xz) = y’z+xz f(0,x,0,z) = z f(0,x,1,z) = xz = (x+0)(x’+z) = xz f(0,0,1,z)=0 f(0,1,1,z)=z f(1,x,y,z)= xyz+yz’+x’y’ =(y+x’)(y’+x+z’) =xy+yz’+x’y’+x’z’ f(1,x,0,z) = x’ f(1,x,1,z) = xz+z’ = (z+1)(z’+x) = x+z’ f(1,x,1,0) =1 f(1,x,1,1) = x w x y y z 0 1 1 0 1 0 x’ z 1 0 1 0 1 x 0 z f(w,x,y,z) = (w+y’z+xz)(w’+xy+yz’+x’y’+x’z’) = wxy+wyz’+wx’y’+wx’z’+w’y’z+x’y’z+w’xz+xyz Compute Complete Sum by Recursion Tree f(w,x,y,z)=w’y’z+xyz+wyz’+wx’y’ f(x)= (x + f(0)) • (x’+f(1)) ENEE 644
Quine-McCluskey Method Problem: Given a Boolean function f (may be incomplete), find a minimum cost SOP formula. Q-M Procedure: • Generate all the PIs of f, {Pj} • Generate all the minterms of f, {mi} 3. Build the Boolean constraint matrix B, where Bij is 1 if mi Pj and is 0 otherwise 4. Solve the minimum column covering problem for B # of literals ENEE 644
wxy wxz wyz’ wy’z x’y’ x’z’ wx’y’z’ 1 1 w’x’y’z 1 w’x’y’z’ 1 1 wxyz 1 1 wxyz’ 1 1 wx’yz’ 1 1 w’x’yz’ 1 wxy’z 1 1 wx’y’z 1 1 Example: Quine-McCluskey Method f(w,x,y,z) = x’y’ + wxy + x’yz’ + wy’z minimum cover(s): {x’y’, x’z’,wxy, wxz}, {x’y’, x’z’,wxy, wy’z}, {x’y’, x’z’,wxz, wyz’}. ENEE 644
More on Quine-McCluskey Method • Goal: find a minimum SOP form • Why We Need to Find all PIs? f(w,x,y,z) = x’y’ +wxy+x’yz’+wy’z = x’y’+x’z’+wxy+wy’z = x’y’+x’z’+wxy+wxz = x’y’+x’z’+wxz+wyz’ • How We Find Them? • Quine’s tabular: start with minterm, the smallest I • Iterated consensus: complete sum theorem • Recursive: complete sum theorem • Are all terms PIs? • Is the form optimal? • Is the form unique? ENEE 644
x’yz xyz z Quine’s PI Theorem yz xy’z y x xyz’ • Review: Implicants and PIs: Let f: BnB • A minterm is an implicant if the corresponding discriminant is 1. • An implicant with k literals has 2n-k such minterms, who share these k literals. • An implicant l1•••lkis prime iff l1•••lj-1lj+1•••lkis not an implicant for all 1jk. • In the cubical representation, for an implicant with k literals, • k = n: a vertex (minterm) • k = n-1: an edge • k = k: an (n-k)-dimension face (plane) x xy’z’ • (Quine’s Theorem [1952]) A minimal SOP must always consist of a sum of prime implicants. ENEE 644
0 0 ? 1 x y y z x’ z A1 A2 A3 Testability Stuck-at-0? Stuck-at-0? • Testability • Stuck-at-0/1 Fault Model • Redundant Gate • Untestable Fault An area-optimal circuit must be fully testable for stuck-at faults. A3=1: y=1, z=1 A1=0: x=0 A2=x’z=1 ENEE 644