1 / 18

Fast Boolean Minimizer for Completely Specified Functions

Fast Boolean Minimizer for Completely Specified Functions. Petr Fi š er 1 , P ř emysl Ruck ý 1 , Irena V áň ov á 2 1 Czech Technical University in Prague Dept. of Computer Science and Engineering 2 UTIA, CAS. Outline. Motivation Ternary tree The minimization algorithm

Télécharger la présentation

Fast Boolean Minimizer for Completely Specified Functions

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. Fast Boolean Minimizer for Completely Specified Functions Petr Fišer1, Přemysl Rucký1, Irena Váňová2 1Czech Technical University in Prague Dept. of Computer Science and Engineering 2UTIA, CAS

  2. Outline • Motivation • Ternary tree • The minimization algorithm • Experimental results • Conclusions DDECS’2008, Bratislava

  3. Motivation Standard two-level minimizers are not able to handle “huge” functions • “Normal” functions → Espresso • Many input variables → BOOM • Many output variables → FC-Min • Many defined terms → ??? DDECS’2008, Bratislava

  4. Motivation • Functions having many (up to millions) product terms often emerge in logic synthesis (e.g., collapsing, Boolean manipulations with functions, etc.) • These functions often contain redundancies, easily detectable absorptions, … • Early detection of these would significantly reduce memory consumption and the computation time → There is a need for a two-level minimizer able to handle such functions. The priority is speed, not the result quality: “Do something with it, but I want the result immediately” DDECS’2008, Bratislava

  5. Ternary Tree Recall: • Many terms = tenths of thousands, millions • There could occur redundancies (duplicate terms) → An efficient storage structure is needed DDECS’2008, Bratislava

  6. Ternary Tree Used as a storage of terms. It is not a function representation (like BDDs)! Ternary tree node: 0 1 - Depth = number of input variables DDECS’2008, Bratislava

  7. Ternary Tree a b c d e 00000 0001- -0-10 -0-11 101-1 11--0 11111 DDECS’2008, Bratislava

  8. Ternary Tree Properties: • Insertion of a term in O(n) • Looking up a term in O(n) • Size: between n and 3n+1 Comparison of look-up speeds: DDECS’2008, Bratislava

  9. Ternary Tree Look-up Example Searching: ab‘c‘d (1001-) a b failure c d e 00000 0001- -0-10 -0-11 101-1 11--0 11111 DDECS’2008, Bratislava

  10. TT Minimization Very simple. Only two rules applicable to the leaves only: • Absorption of one variable a + ab = a (00-) + (001) = (00-) • Complement property ab + a’b = b (000) + (001) = (00-) ???- ???1 ???- ???1 ???- ???0 DDECS’2008, Bratislava

  11. TT Minimization Example 001010011100101110111 00101-10-11- DDECS’2008, Bratislava

  12. Tree Rotation The operations can be performed on leaves only => the tree must be rotated • Cut off the root node → TT is split into three (at most) • Append the root variable to all the leaves • Merge the trees DDECS’2008, Bratislava

  13. Tree Rotation Example DDECS’2008, Bratislava

  14. TT Minimization Example cont. … 10-00-01-11- 001-1-10- DDECS’2008, Bratislava

  15. Experimental Results - Collapsing DDECS’2008, Bratislava

  16. Experimental Results - Collapsing DDECS’2008, Bratislava

  17. Experimental Results – Random Functions DDECS’2008, Bratislava

  18. Conclusions • A new two-level minimizer based on ternary trees • Good for functions described by many terms • Ternary tree is a good “storage” for a large number of terms • The minimization is very fast, the result quality is not optimum, though • Anyway, we are lucky that at least some minimization is done, since standard tools are completely unusable for these functions • Practice has shown that such a fast minimization is essential for many logic synthesis processes (multi-level network collapsing, Boolean manipulation with functions…) DDECS’2008, Bratislava

More Related