1 / 11

Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)

Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO). Exact and Heuristic Minimizers. Exact Minimizers: guaranteed optimal solution(s) PIs and/or minterms Complexity Heuristic Minimizers Quality of the solution Complexity. solution space. solution space. search space. cost. local

thor-slater
Download Presentation

Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)

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. Two-Level Logic Synthesis-- Heuristic Method (ESPRESSO)

  2. Exact and Heuristic Minimizers • Exact Minimizers: guaranteed optimal solution(s) • PIs and/or minterms • Complexity • Heuristic Minimizers • Quality of the solution • Complexity ENEE 644

  3. solution space solution space search space cost local optimal Local Search • Approach • Find a starting point • Search the neighborhood • Move to neighbor point(s) • Continue until a local optimal is reached • Components • Solution space • Neighborhood structure • Move strategy • Action on local optimal ENEE 644

  4. Local Search for Logic Minimization • Goal: Given a Boolean function, find a SOP with minimal cost • Local Search: • Search space: all SOP forms on given variables solution space: SOP forms equal to the given function • Neighborhood: two SOP forms are of distance 1 if • they have only one product term not in common • they have only one literal not in common in this term How to find neighbors: expansion and reduction • Greedy move strategy: move to a neighbor with less cost • Halt (or try again) at a local minimal ENEE 644

  5. Neighborhood Structure • Two solutions, s and t, are of distance r if there exist a sequence of (r+1) solutions, s0,s1,…,sr, s.t. s0=s, sr=t, and siand si+1are of distance 1. • (I) xy+wy’z+w’x’y (II) xy’+wy’z+w’x’y (III) x’y’+wy’z+w’x’y • A local search algorithm usually is based on searching neighbors within a given distance (radius). Larger radius in general leads to more neighbors, better movement, shorter search time before reach a local optimal, but longer run-time overall and no guarantee on the quality of the local optimal. ENEE 644

  6. Expand • The expansion of an implicant is obtained by deleting one (or more) of its literals. • A k-literal implicant can have 2k-1 expansions. • Literal vs. minterm • Check for: Valid Implicant • Stop at: Prime Implicant • Goal: expand non-prime implicant to prime with the least literals ENEE 644

  7. Example: Expand f=x’y’z’+xy’z’+x’yz’+x’y’z with xyz’ as don’t care • x’y’z’  y’z’ (xy’z’ )  z’ (xyz’, x’yz’ )  1(x) • x’y’z’  x’z’ (x’yz’ )  x’ (x’yz x) • x’y’z y’z (xy’z x) • Questions: • Where to start: one that is unlikely to be covered by others • How to check validity: • compare with off-set • compare with on-set + don’t care set • Which literal to delete? z y x ENEE 644

  8. Reduce • The reduction of an implicant is obtained by adding one or more literals. • Reduction increases the cost (fanins) • Why Reduce? f = xz’ + xy’ + x’y + x’z = xy’ + x’z + yz’ (???, see next slide) • Check for: Valid Cover • Stop at: Maximally reduced implicant • Goal: decrease the size of implicants such that expansion may lead to a better solution ENEE 644

  9. z y z z x y y x x z y x Example: Reduce f = xz’ + xy’ + x’y + x’z • No implicant can be expanded (I.e., all are PIs) • Reduce x’y to x’yz’ • Reduce xz’ to xyz’ • Expand x’yz’ to yz’ • f = xy’ + x’z + yz’ • Reduction is for further expansion, one way to get out of local optimal. ENEE 644

  10. z y x z z y y x x Irredundant cover (non-expandable) Minimum cover (after reduction + expansion) Redundant cover Irredundant • An implicant in a cover is redundant if all the minterms covered by it are contained in other implicants in the cover. irredundant cover vs. minimum cover redundant PI(s) should be out, but what must be in the cover? ENEE 644

  11. The Espresso Heuristic • First it applies the Expand and Irredundant operators to optimize the current function specification • Then it uses the reduce operator to get out of local minimum • This is iterated till the solution converges • (This was espresso in a nutshell) ENEE 644

More Related