2- level minimization

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 3 n /n Prime Implicants n-input Function Can Have 2 n Minterms Exponentially Complex Algorithms for Exact Solutions NOTE: Sometimes the Covering Problem is Easy to Solve (when no cyclic tables result)

Upload: kamil

Post on 15-Jan-2016

33 views

Category:

Documents


0 download

DESCRIPTION

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 3 n /n Prime Implicants n -input Function Can Have 2 n Minterms - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 2- Level Minimization

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)

Page 2: 2- Level Minimization

Heuristic – Branch and BoundQuine-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 Ways1) Assume Chosen PI is in the Final Cover Set

2) Assume Chosen PI is not in the Final Cover Set

3) 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

Page 3: 2- Level Minimization

Branch and Bound Diagram

CyclicCover 1

CyclicCover 2

CyclicCover 3

CC3Solution 1

CC3Solution 2

Initial CC1 Soln is All PIs

Heuristically Choose a PI – Reduce to CC2

Initial CC2 Soln is All PIs

Heuristically Choose a PI – Reduce to CC3

Initial CC3 Soln is All PIs

Heuristically Choose a PI1 – Reduce to CC3

Heuristically Choose a PI2 – Reduce to CC3

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

Soln 2 Better CC3 Entire Set and Fully Reduced

Page 4: 2- Level Minimization

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

Page 5: 2- Level Minimization

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

CA

• 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 00 Solution is Found Else Go To 1)

Page 6: 2- Level Minimization

Exact Method – Petrick’s 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

Page 7: 2- Level Minimization

Petrick’s Method Example

Write Clauses as a POS Expression:

( )( )( )( )( ) 1A D A B B C C D B D

We Solve this Equation

Page 8: 2- Level Minimization

Solving the Satisfying Clause• It is Easy to Find a Satisfying Argument for a SOP Expression• Classic “Petrick’s Method” Transforms POS to SOP

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

( )( )( ) 1A BD C BD B D ( )( ) 1A BD BC CD BD

1ABC ACD ABD BCD BD

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

Page 9: 2- Level Minimization

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

Page 10: 2- Level Minimization

Product Functions

• Consider

1( , , )f x y z x z x y x z

2 ( , , )f x y z z x y x

y

z

f1

f2x y z f1 f2 f1

f2 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1

• Minterms in f1•f2 are Minterms for Both f1 and f2

• f1•f2 is a Product Function

Page 11: 2- Level Minimization

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, fi•fj•…•fk

where i,j,k=1,2,…,m and ij k

THEOREM

The set of all MOPIs is sufficient for the determination of

at least one multi-output minimized SOP.

Page 12: 2- Level Minimization

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. kernel – a product term of literals (as normal)

2. tag – appended entity to kernel that indicates which function outputs it

applies tox y z f1 f2 f1 f2 TPTs 0 0 0 1 0 0 000f1 - 0 0 1 1 1 1 001f1f2 0 1 0 1 1 1 010f1f2 0 1 1 0 1 0 011 -f2 1 0 0 0 0 0 1 0 1 1 1 1 101f1f2 1 1 0 0 0 0 1 1 1 1 1 1 111f1f2

Page 13: 2- Level Minimization

Generating MOPIs

0 0 0 f1 - 0 0 1 f1 f2 0 1 0 f1 f2 0 1 1 - f2 1 0 1 f1 f2 1 1 1 f1 f2

Page 14: 2- Level Minimization

Generating MOPIs

0 0 0 f1 - 0 0 1 f1 f2 0 1 0 f1 f2 0 1 1 - f2 1 0 1 f1 f2 1 1 1 f1 f2

0 0 - f1 - 0 - 0 f1 - 0 - 1 - f2 - 0 1 f1 f2 0 1 - - f2 - 1 1 - f2 1 - 1 f1 f2

Page 15: 2- Level Minimization

Generating MOPIs

• 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

0 0 0 f1 - 0 0 1 f1 f2 0 1 0 f1 f2 G 0 1 1 - f2 1 0 1 f1 f2 1 1 1 f1 f2

0 0 - f1 - B 0 - 0 f1 - C 0 - 1 - f2 - 0 1 f1 f2 D 0 1 - - f2 E - 1 1 - f2 1 - 1 f1 f2 F

- - 1 - f2 A

Page 16: 2- Level Minimization

MOPI Cover Table

f1 f2 m0 m1 m2 m5 m7 m1 m2 m3 m5 m7

B X X f1 C X X

A X X X X f2 E X X

D X X X X *F X X X X f1

f2 G X X

5 1&7

Page 17: 2- Level Minimization

MOPI Cover Table

• F is an essential row for f1, only

• Column dominance, remove m5 under f2

f1 f2 m0 m1 m2 m5 m7 m1 m2 m3 m5 m7

B X X f1 C X X

A X X X X f2 E X X

D X X X X *F X X X X f1

f2 G X X

5 1&7

Page 18: 2- Level Minimization

MOPI Cover Table

• Will use Petrick’s method applied to multiple outputs

f2 f2 m0 m1 m2 m1 m2 m3 m7

B X X f1 C X X

A X X X f2 E X X

D X X *F X f1

f2 G X X

B+C B+D C+G A+D E+G A+E A+F

Page 19: 2- Level Minimization

Exact Solution

( )( )( )( )( )( )( ) 1B C B D C G A D E G A E A F

( )( )( )( )( ) 1B CD C G A DE E G A F

( )( )( ) 1BC BG CD A DEF E G

( )( ) 1BC BG CD AE AG DEF

(

) 1

ABCE ABCG BCDEF ACDE ACDG

CDEF ABEG ABG BDEFG

( ) 1ABCE ACDE ACDG CDEF ABEG ABG BDEFG

Page 20: 2- Level Minimization

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

1

2

f F B G

f A G

Page 21: 2- Level Minimization

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:

Page 22: 2- Level Minimization

Hazard Types

• Static Hazard – Output value the same after input change

0-Hazard 1-Hazard

• Dynamic Hazard – Output value different after input change

Page 23: 2- Level Minimization

Analysis of Networks with Static Hazards

• SOP Expression with 1-Hazard

• POS Expression with 0-Hazard

Page 24: 2- Level Minimization

Elimination of Hazard

• Prime Implicant added to eliminate static 1-hazard

Page 25: 2- Level Minimization

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

Page 26: 2- Level Minimization

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

Page 27: 2- Level Minimization

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