EE 365 Combinational-Circuit Synthesis 1 Combinational-Circuit Analysis • Combinational circuits -- outputs depend only on current inputs (not on history). • Kinds of combinational analysis: – exhaustive (truth table) – algebraic (expressions) – simulation / test bench • Write functional description in HDL • Define test conditions / test vectors, including corner cases • Compare circuit output with functional description (or known-good realization) • Repeat for “random” test vectors 2 Combinational-Circuit Design • Sometimes you can write an equation or equations directly using “logic” (the kind in your brain). • Example (alarm circuit): • Corresponding circuit: 3 Alarm-circuit transformation • Sum-of-products form – Useful for programmable logic devices (next lec.) • “Multiply out”: 4 Sum-of-products form AND-OR NAND-NAND 5 Product-of-sums form OR-AND NOR-NOR 6 Brute-force design • Truth table --> canonical sum (sum of minterms) • Example: prime-number detector – 4-bit input, N3N2N1N0 F = SN3N2N1N0(1,2,3,5,7,11,13) row N3 N2 N1 N0 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 0 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1 F 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0 7 Minterm list --> canonical sum 8 Algebraic simplification • Theorem T8, • Reduce number of gates and gate inputs 9 Resulting circuit 10 Visualizing T10 -- Karnaugh maps 11 3-variable Karnaugh map 12 Example: F = S(1,2,5,7) 13 Karnaugh-map usage • Plot 1s corresponding to minterms of function. • Circle largest possible rectangular sets of 1s. – # of 1s in set must be power of 2 – OK to cross edges • Read off product terms, one per circled set. – Variable is 1 ==> include variable – Variable is 0 ==> include complement of variable – Variable is both 0 and 1 ==> variable not included • Circled sets and corresponding product terms are called “prime implicants” • Minimum number of gates and gate inputs 14 Prime-number detector (again) 15 • When we solved algebraically, we missed one simplification -- the circuit below has three less gate inputs. 16 Another example 17 Yet another example • Distinguished 1 cells • Essential prime implicants 18 Quine-McCluskey algorithm • This process can be made into a program, using appropriate algorithms and data structures. – Guaranteed to find “minimal” solution • Required computation has exponential complexity (run time and storage)-- works well for functions with up to 8-12 variables, but quickly blows up for larger problems. • Heuristic programs (e.g., Espresso) used for larger problems, usually give minimal results. 19 Lots of possibilities • Can follow a “dual” procedure to find minimal products of sums (OR-AND realization) • Can modify procedure to handle don’t-care input combinations. • Can draw Karnaugh maps with up to six variables. 20 Real-World Logic Design • Lots more than 6 inputs -- can’t use Karnaugh maps • Design correctness more important than gate minimization – Use “higher-level language” to specify logic operations • Use programs to manipulate logic expressions and minimize logic. • PALASM, ABEL, CUPL -- developed for PLDs • VHDL, Verilog -- developed for ASICs 21
© Copyright 2026 Paperzz