Download presentation
Presentation is loading. Please wait.
Published byDaniella Flowers Modified over 9 years ago
1
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)
2
Heuristic – Branch and Bound
3
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 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
4
Branch and Bound Diagram
Cyclic Cover 1 Initial CC1 Soln is All PIs Heuristically Choose a PI – Reduce to CC2 Cyclic Cover 2 Initial CC2 Soln is All PIs Heuristically Choose a PI – Reduce to CC3 Cyclic Cover 3 Initial CC3 Soln is All PIs Heuristically Choose a PI1 – Reduce to CC3 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
5
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
6
Independent Set Heuristic
Find Maximum Set of Independent Rows in Cover Matrix Partition Matrix as Shown I is Sub-Matrix of Independent Rows I = {I1, I2, I3, ...} A C Choose PI in I that Covers Most Rows in A Reduce Matrix Using New EPI Selection and Dominance If Matrix is 00 Solution is Found Else Go To 1)
7
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
8
Petrick’s Method Example
9
Petrick’s Method Example
Write Clauses as a POS Expression: We Solve this Equation
10
Solving the Satisfying Clause
It is Easy to Find a Satisfying Argument for a SOP Expression Classic “Petrick’s Method” Transforms POS to SOP
11
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
12
Product Functions Consider
x f1 y f2 z Minterms in f1•f2 are Minterms for Both f1 and f2 f1•f2 is a Product Function
13
Multi-Output Prime Implicant
DEFINITION A MOPI for a set of switching functions f1, f2, …, fm is a product of literals which is either: A Prime Implicant of One of the functions, fi, for i=1,2,…,m 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.
14
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: kernel – a product term of literals (as normal) tag – appended entity to kernel that indicates which function outputs it applies to
15
Generating MOPIs
16
Generating MOPIs
17
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 f1- and 001f1f2 Results in 000f1- Being Checked ONLY
18
MOPI Cover Table
19
MOPI Cover Table F is an essential row for f1, only
Column dominance, remove m5 under f2
20
MOPI Cover Table Will use Petrick’s method applied to multiple outputs
21
Exact Solution
22
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
23
Hazard-Free 2-Level Minimization
24
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:
25
Hazard Types Static Hazard – Output value the same after input change
0-Hazard 1-Hazard Dynamic Hazard – Output value different after input change
26
Analysis of Networks with Static Hazards
SOP Expression with 1-Hazard POS Expression with 0-Hazard
27
Elimination of Hazard Prime Implicant added to eliminate static 1-hazard
28
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
29
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 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 There are no 1-sets that contain exactly one pair of complementary literals
30
Tabular Approach Steps
Find prime implicants using tabular approach 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
31
Problems to consider Finding prime implicants using tabular approach
Hazard, what is it? Use Covering to solve non-hazard realizations Petrick Function and its uses How to program Petrick Function? How to program Backtracking? How to program Branch–and-Bound? How can we generalize the concept of Petrick Function?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.