Sie sind auf Seite 1von 27

2-Level Minimization

Classic Problem in Switching Theory Tabulation Method Transformed to Set Covering Problem Set Covering Problem is Intractable n-input Function Can Have 3n/n Prime Implicants n-input Function Can Have 2n Minterms Exponentially Complex Algorithms for Exact Solutions
NOTE: Sometimes the Covering Problem is Easy to Solve (when no cyclic tables result)

Heuristic Branch and Bound


Quine-McCluskey Method is Tabulation Method Using a Branch and Bound Algorithm with Heuristic in Branch Operation for Solution of the Cyclic Cover Branch and Bound Approaches BRANCH STEP
Reduce, HALT if not Cyclic Cover Heuristically Choose a PI Solve Cyclic Cover in Two Ways
1) 2) 3) Assume Chosen PI is in the Final Cover Set Assume Chosen PI is not in the Final Cover Set Select Between 1) and 2) Depending on Minimal Cost

BOUND STEP
If Current Solution is Better Than Previous, Return from this Level of Recursion (Note: Initially Set to Entire Set of PIs in Table) Go to Branching Step

Branch and Bound Diagram


Heuristically Choose a PI Reduce to CC2

Cyclic Cover 1

Initial CC1 Soln is All PIs

Heuristically Choose a PI Reduce to CC3

Cyclic Cover 2

Initial CC2 Soln is All PIs

Heuristically Choose a PI1 Reduce to CC3

Cyclic Cover 3

Initial CC3 Soln is All PIs Heuristically Choose a PI2 Reduce to CC3

CC3 Solution 1

CC3 Solution 2

Soln 2 Better CC3 Entire Set and Fully Reduced

Soln 1 Fully Reduced Equal to All PIs in CC3 No Bounding

Choosing Candidate PIs


Choose PI With Fewest Literals
That is, One that Covers the most Minterms

Select One that Covers a Minterm Covered by Very Few Other Minterms
Note if Minterm Covered by Single PI, it is EPI This Technique Chooses One that is Almost an EPI

Independent Set Heuristic

Independent Set Heuristic


Find Maximum Set of Independent Rows in Cover Matrix Partition Matrix as Shown
1 1 1 1 1 1 1 1 1 1 1

0 C

I is Sub-Matrix of Independent Rows I = {I1, I2, I3, ...}

1) Choose PI in I that Covers Most Rows in A 2) Reduce Matrix Using New EPI Selection and Dominance 3) If Matrix is 0 0 Solution is Found Else Go To 1)

Exact Method Petricks Method


When Cyclic Cover Table is Found use Covering Clauses in POS Form Each Product Corresponds to Minterm Transform the POS to SOP Product Terms Represent Selected Primes Minimum Cover Identified by Product with Fewest Literals Finds ALL Solutions to the Cyclic Cover

Petricks Method Example

Write Clauses as a POS Expression:

( A + D)( A + B )( B + C )(C + D)( B + D) = 1


We Solve this Equation

Solving the Satisfying Clause


It is Easy to Find a Satisfying Argument for a SOP Expression Classic Petricks Method Transforms POS to SOP

( A + D)( A + B)( B + C )(C + D)( B + D) = 1


( A + AB + AD + BD)( BC + BD + C + CD)( B + D) = 1

( A + BD )(C + BD )( B + D) = 1 ( A + BD )( BC + CD + BD ) = 1 ABC + ACD + ABD + BCD + BD = 1


SOLN = { ABC , ACD, ABD, BCD, BD}

Multi-Output Functions
Minimizing Each Output Separately Usually Results in Poor Minimization
Term Sharing Occurs Only by Chance

Can Use Multi-Output Prime Implicants


More Complex Version of Tabulation Method

Can Use Characteristic Function for Multi-Output Functions


Utilizes Principles in Multiple-Valued Logic

Product Functions
Consider
f1 ( x, y, z ) = x z + x y + x z f 2 ( x, y , z ) = z + x y
x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 f1 1 1 1 0 0 1 0 1 f2 0 1 1 1 0 1 0 1 f 1 f2 0 1 1 0 0 1 0 1

x y z

f1 f2

Minterms in f1f2 are Minterms for Both f1 and f2 f1f2 is a Product Function

Multi-Output Prime Implicant


DEFINITION
A MOPI for a set of switching functions f1, f2, , fm is a product of literals which is either: 1. A Prime Implicant of One of the functions, fi, for i=1,2,,m 2. A Prime Implicant of one of the Product Functions, fifjfk where i,j,k=1,2,,m and i j k

THEOREM The set of all MOPIs is sufficient for the determination of at least one multi-output minimized SOP.

Tagged Product Terms

Could Generate Using K-map or Tabulation Method for Each Output Separately AND all Product Functions
too lengthy instead use Tagged Product Terms

Tagged Product Terms have Two Parts:


1. 2. kernel a product term of literals (as normal) tag appended entity to kernel that indicates which function outputs it applies to
x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 f1 1 1 1 0 0 1 0 1 f2 0 1 1 1 0 1 0 1 f1 f 2 0 1 1 0 0 1 0 1 TPTs 000f1 001f1f2 010f1f2 011 -f2 101f1f2 111f1f2

Generating MOPIs
0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 f1 f1 f1 f1 f1 f2 f2 f2 f2 f2

Generating MOPIs
0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 f1 f1 f1 f1 f1 f2 f2 f2 f2 f2

0 0 0 0 1

0 0 1 1 -

0 1 1 1 1

f1 f1 f1 f1

f2 f2 f2 f2 f2

Generating MOPIs
0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 f1 f1 f1 f1 f1 f2 f2 f2 f2 f2

0 0 0 0 1

0 0 1 1 -

0 1 1 1 1

f1 f1 f1 f1

f2 f2 f2 f2 f2

B C D E F

f2

0-0f1- and 0-1-f2 DO NOT combine


No Common Tag Elements They WOULD Combine Under Cube Merging for Single Output Function

Only Place Check Mark on Terms with COMMON Tag Outputs


EXAMPLE 000f1- and 001f1f2 Results in 000f1- Being Checked ONLY

MOPI Cover Table


m0 X X m1 X f1 m2 X X X X X X X X X X 5 1&7 X X X X X X m5 m7 m1 m2 f2 m3 m5 m7

f1 f2 f1f2

B C A E D *F G

MOPI Cover Table


m0 X X m1 X f1 m2 X X X X X X X X X X 5 1&7
F is an essential row for f1, only Column dominance, remove m5 under f2

m5

m7

m1

m2

f2 m3 X X

m5 X X X

m7 X

f1 f2 f1f2

B C A E D *F G

MOPI Cover Table


m0 X X f2 m1 X f2 m2 X X X X X X X X B+C B+D C+G A+D E+G A+E A+F X X X m1 m2 m3 m7

f1 f2 f1f2

B C A E D *F G

Will use Petricks method applied to multiple outputs

Exact Solution
( B + C )( B + D)(C + G )( A + D)( E + G )( A + E )( A + F ) = 1 ( B + CD)(C + G )( A + DE )( E + G )( A + F ) = 1
( BC + BG + CD )( A + DEF )( E + G ) = 1 ( BC + BG + CD )( AE + AG + DEF ) = 1
( ABCE + ABCG + BCDEF + ACDE + ACDG +CDEF + ABEG + ABG + BDEFG ) = 1 ( ABCE + ACDE + ACDG + CDEF + ABEG + ABG + BDEFG ) = 1

Exact Solution (Cont.)


Minimum Product Term: {A,B,G} f1ON = All MOPIs that have f1 in Tag f2ON = All MOPIs that have f2 in Tag
f1 = F + B + G f2 = A + G

Hazard-Free 2-Level Minimization


Tabular Method Can Be Applied To Realize 2-Level Designs That Eliminate Certain Hazards Considers Delay of Logic Circuits

Example:

Hazard Types
Static Hazard Output value the same after input change
0-Hazard 1-Hazard

Dynamic Hazard Output value different after input change

Analysis of Networks with Static Hazards


SOP Expression with 1-Hazard

POS Expression with 0-Hazard

Elimination of Hazard

Prime Implicant added to eliminate static 1-hazard

Other Hazard Classifications for More than One Input Change


Logic Hazard Hazard caused by the particular implementation. Can be eliminated by adding Pis

Function Hazard Presence of hazard due to the function realized by the output. Present for transitions in which more than one input changes. Cannot be eliminated

Tabular Approach to Hazard-Free Design


Uses Minimum number of prime implicants A Network will contain no static or dynamic hazards if its 1-sets satisfy the following two conditions
1. For each pair of adjacent input states that both produce a 1 output, there is at least one 1-set that includes both input states of the pair 2. There are no 1-sets that contain exactly one pair of complementary literals

Tabular Approach Steps


1. Find prime implicants using tabular approach 2. Create prime implicant table, however, columns will be any essential single minterm & all pairs of adjacent states (these have been found in the second table of 1)
See Example Handout

Das könnte Ihnen auch gefallen