3 Goals of Circuit Minimization (1) Minimize the number of primitive Boolean logic gates needed to implement the circuit.Ultimately, this also roughly minimizes the number of transistors, the chip area, and the cost.Also roughly minimizes the energy expenditureamong traditional irreversible circuits.This will be our focus.(2) It is also often useful to minimize the number of combinational stages or logical depth of the circuit.This roughly minimizes the delay or latency through the circuit, the time between input and output.Note: Goals (1) and (2) are often conflicting!In the real world, a designer may have to analyze and optimize some complex trade-off between logic complexity and latency.
4 Minimizing Expressions We would like to find the smallest sum-of-products expression that is equivalent to a given function.This will yield a fairly small circuit.
20 Simplification of Switching Functions using K-MAPS Karnaugh Maps (K-Map)Simplification of Switching Functionsusing K-MAPS
21 Terminology/Definition LiteralA variable or its complementLogically adjacent termsTwo minterms are logically adjacent if they differ in only one variable positionEx:andm6 and m2 are logically adjacentNote:Or, logically adjacent terms can be combined
22 Terminology/Definition ImplicantProduct term that could be used to cover minterms of a functionPrime ImplicantAn implicant that is not part of another implicantEssential Prime ImplicantA prime implicant that covers at least one minterm that is not contained in another prime implicantCoverA minterm that has been used in at least one group
23 Guidelines for Simplifying Functions Each square on a K-map of n variables has n logically adjacent squares. (i.e. differing in exactly one variable)When combing squares, always group in powers of 2m , where m=0,1,2,….In general, grouping 2m variables eliminates m variables.
24 Guidelines for Simplifying Functions Group as many squares as possible. This eliminates the most variables.Make as few groups as possible. Each group represents a separate product term.You must cover each minterm at least once. However, it may be covered more than once.
25 K-map Simplification Procedure Plot the K-mapCircle all prime implicants on the K-mapIdentify and select all essential prime implicants for the cover.Select a minimum subset of the remaining prime implicants to complete the cover.Read the K-map
26 ExampleUse a K-Map to simplify the following Boolean expression
27 Three-Variable K-Map Example Step 1: Plot the K-map11111
28 Three-Variable K-Map Example Step 2: Circle ALL Prime Implicants11111
29 Three-Variable K-Map Example Step 3: Identify Essential Prime ImplicantsPIEPIPI11EPI111
30 Three-Variable K-Map Example Step 4: Select minimum subset of remainingPrime Implicants to complete the cover.PIEPI11EPI111
31 Three-Variable K-Map Example Step 5: Read the map.11111