Fast Boolean Minimizer for Completely Specified Functions - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Fast Boolean Minimizer for Completely Specified Functions

Description:

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 ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 19
Provided by: petr89
Category:

less

Transcript and Presenter's Notes

Title: Fast Boolean Minimizer for Completely Specified Functions


1
Fast Boolean Minimizer for Completely Specified
Functions
  • Petr Fier1, Premysl Rucký1, Irena Vánová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

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 ? ???

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

5
Ternary Tree
  • Recall
  • Many terms tenths of thousands, millions
  • There could occur redundancies (duplicate terms)
  • ? An efficient storage structure is needed

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
7
Ternary Tree
a
b
c
d
e
00000
0001-
-0-10
-0-11
101-1
11--0
11111
8
Ternary Tree
  • Properties
  • Insertion of a term in O(n)
  • Looking up a term in O(n)
  • Size between n and 3n1
  • Comparison of look-up speeds

9
Ternary Tree Look-up Example
Searching abcd (1001-)
a
b
failure
c
d
e
00000
0001-
-0-10
-0-11
101-1
11--0
11111
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 ab b
  • (000) (001) (00-)

???-
???1
???-
???1
???-
???0
11
TT Minimization Example
001010011100101110111
00101-10-11-
12
Tree Rotation
  • The operations can be performed on leaves only gt
    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

13
Tree Rotation Example
14
TT Minimization Example cont.

10-00-01-11-
001-1-10-
15
Experimental Results - Collapsing
16
Experimental Results - Collapsing
17
Experimental Results Random Functions
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)
  • If it is used as a preprocessor to Espresso, the
    overall minimization time is reduced and the
    result quality is retained
Write a Comment
User Comments (0)
About PowerShow.com