1 / 24

FUNCTION OPTIMIZATION

FUNCTION OPTIMIZATION. Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary) Operators. EXAMPLES. 1-Level. 2-Level. multi-level. a. c. b. b. k -Level functions.

matia
Download Presentation

FUNCTION OPTIMIZATION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FUNCTION OPTIMIZATION • Switching Function Representations can be Classified in Terms of Levels • Number of Levels, k, is Number of Unique Boolean (binary) Operators EXAMPLES 1-Level 2-Level multi-level

  2. a c b b k-Level functions • 22n Possible Switching Functions of n Variables (actually much fewer types obtained by permuting and/or complementing input variables) • 1-Level Forms • Cannot Represent all Possible Functions • 2-Level Forms • Can Represent all Possible Functions • With Additional Restrictions – CANONICAL • k-Level Forms (k2) • Many Different Ways to Represent a Given Functions • If a multi-input Gate Represents a (binary or greater) Boolean Operator • Expression can Represent a Netlist • k Indicates “depth” of Netlist EXAMPLES 2-Level Multi-Level a 1-Level a b f a f c f b c d b e c

  3. k-Level function properties • 1-Level Forms • Due to Restriction of Representable Functions, Not as Useful • 2-Level Forms • Can be Canonical • Longest PI to PO Path is Always 2 Related to Delay • Minimization Usually Means • Minimum Number of “Terms” • Minimum Number of “Literals” in Expression • k-Level Forms (k2) • Many More Possible Representations • Can be Optimized for Area • Delay is More Complicated • False Path Problem • Spatio-temporal Correlations • Typically an Area versus Delay Tradeoff (e.g., Ripple versus CL Adder)

  4. Common Terms for 2-Level Minimization • Literal – A variable in complemented or uncomplemented form • Product – The disjunction (AND) of a set of literals; also represents a cube • Support Set – Set of all variables that define the domain of a switching function • Minterm – A disjunction (AND) containing an instance of each literal corresponding to a variable in the support set that is in the on-set, fon,of a function • Don’t Care – The absence of a supporting variable in a product term • Implicant – A product term that covers one or more minterms in the on-set, fon, of a function • Prime Implicant – An implicant in the on-set, fon, of a function such that it is not a subproduct of any other possible implicant in the set. • Essential Prime Implicant – A prime implicant that covers at least one minterm NOT covered by any other implicant in the on-set, fon.

  5. SOP Minimization – Terms Example • Each Element offonis an Implicant • Prime Implicants are: Consider: • abc is a Prime Implicant but NOT anEssential Prime Implicant • bcd is an Implicant but NOT aPrime Implicant • bd is an Essential Prime Implicant • Product abc: • covers minterms: m4=abcd and m5=abcd • disjunction of literals a, b, c • variable d is a Don’t Care • f Represented by fon has Support Set: {a, b, c, d}

  6. Karnaugh Map • Simplification Using Karnaugh Map • Use as “few loops” as possible • Use as “large loop” as possible • Prime Implicant Corresponds to as “large loop” as Possible • Karnaugh Map Simplification is Finding fon such that: • fon contains as few prime implicants as possible • fon must contain all essential prime implicants • fon contains NO implicants that are NOT prime

  7. Tabulation Method - Notation • Consider Support Set of f: S={x1, x2, …, xn} • xici denotes:xi if ci = ‘1’xi if ci = ‘0’1 if ci = ‘-’ • If NO ci = -, then we have a minterm • Can be Represented by Decimal Equivalent of ci EXAMPLE (S={x1, x2, x3, x4}) x11x02x03x14 = m9, a minterm  c1c2c3c4 = 1001 = 9x01x-2x-3x04 = a 4-cube  0--0

  8. Cube Merging • Basic Operation in Tabulation Method • 2 Cubes that Differ in a SINGLE ci can be Merged into a Single Cube EXAMPLE = 1-01= 0-01 Merge and  into  = --01

  9. Tabulation Method Input: f on as a set of minterms Output: f on as a set of • All Essential Prime Implicants • As Few Prime Implicants as Possible Finding as few Prime Implicants as Possible is an NP-Hard Problem!!!!! • Reduces to the “Set Covering” Problem for Unate Functions Unate function – a constant or is represented by a SOP using either uncomplemented or complemented literals for each variable • Reduces to the “Minimum Cost Assignment” Problem for Binate Functions (ex. EXOR) This is 2-Level (SOP) Optimization (Minimization)

  10. Tabulation Method • STEP 1: • Convert Minterm List (specifying f on) to Prime Implicant List • STEP 2: • Choose All Essential Prime Implicants • If all minterms are covered HALTElse GO To STEP 3 • STEP 3: • Formulate the Reduced Cover Table Omitting the rows/cols of EPI • If Cover Table can be Reduced using Dominance Properties, Go To Step 2 • Else Must Solve the “Cyclic Cover” Problem 1) Use Exact Method (exponentially complex) 2) Use Heuristic Method (possibly non-optimal result) NOTE: “Quine-McCluskey” Refers to Using a “Branch and Bound” Heuristic NOTE: “Petrick’s Method” is Exact Technique – Generates all Solutions Allowing the Best to be Used

  11. Tabulation Method – STEP 1 • Partition Prime Implicants (or minterms) According to Number of 1’s • Check Adjacent Classes for Cube Merging Building a New List • If Entry in New List Covers Entry in Current List – Disregard Current List Entry • If Current List = New List HALTElse Current List  New List New List  NULL Go To Step 1

  12. STEP 1 - EXAMPLE f on = {m0, m1, m2, m3, m5, m8, m10, m11, m13, m15} =  (0, 1, 2, 3, 5, 8, 10, 11, 13, 15)

  13. STEP 1 - EXAMPLE f on = {m0, m1, m2, m3, m5, m8, m10, m11, m13, m15} =  (0, 1, 2, 3, 5, 8, 10, 11, 13, 15)

  14. STEP 1 - EXAMPLE f on = {m0, m1, m2, m3, m5, m8, m10, m11, m13, m15} =  (0, 1, 2, 3, 5, 8, 10, 11, 13, 15)

  15. STEP 1 - EXAMPLE f on = {m0, m1, m2, m3, m5, m8, m10, m11, m13, m15} =  (0, 1, 2, 3, 5, 8, 10, 11, 13, 15) f on = {A,B,C,D,E,F,G} = {00--, -01-, -0-0, 0-01, -101, 1-11, 11-1}

  16. STEP 2 – Construct Cover Table • PIs Along Vertical Axis (in order of # of literals) • Minterms Along Horizontal Axis NOTE: Table 4.2 in book is incomplete

  17. STEP 2 – Finding the Minimum Cover • Extract All Essential Prime Implicants, EPI • EPIs are the PI for which a Single x Appears in a Column • C is an EPI so: f on={C, ...} • Row C and Columns 0, 2, 8, and 10 can be Eliminated Giving Reduced Cover Table • Examine Reduced Table for New EPIs

  18. STEP 2 – Reduced Table Distinguished Column Essential row • The Row of an EPI is an Essential row • The Column of the Single x in the Essential Row is a Distinguished Column

  19. Row and Column Dominance • If Row P has x’s Everywhere Row Q Does Then Q Dominates P if P has fewer x’s • If Column i has x’s Everywhere j Does Then j Dominates iif ihas fewer x’s • If Row P is equal to Row Q and Row Q does not cost more than Row P, eliminate Row P, or if Row P is dominated by Row Q and Row Q Does not cost more than Row P, eliminate Row P • If Column i is equal to Column j, eliminate Column ior if Column i dominates Column j, eliminate Column i

  20. STEP 3 – The Reduced Cover Table • Initially, Columns 0, 2, 8 and 10 Removed • No EPIs are Present • No Row Dominance Exists • No Column Dominance Exists • This is Cyclic Cover Table • Must Solve Exactly OR Use a Heuristic

  21. The Cyclic Cover Table • For now, we Arbitrarily Choose a PI • Later we will Study Exact and Heuristic Methods • Arbitrarily Choose F so: fon={C, F, ...}This Choice May Lead to a Non-Optimal Result!!!! • Form Reduced Cover and Go To Step 2

  22. STEP 3 – Dominance • Initially, Reduced Table has Columns 11 and 15 Removed • G is Dominated by E • B is Dominated by A • Form Reduced Cover Table and Go To Step 2

  23. STEP 2 – The Reduced Cover • Initially, Table has Rows GandB Removed • Secondary EPIs – A and E • All Columns Covered • Eliminate D • fon={C, F, A, E}

  24. Result Check cd cd ab 0 0 0 1 1 1 1 0 ab 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 Final Result f on={A, C, E, F} Initial Minterm List fon = {m0, m1, m2, m3, m5, m8, m10, m11, m13, m15} =  (0, 1, 2, 3, 5, 8, 10, 11, 13, 15)

More Related