Title: BDS : A BDDBased Logic Optimization System
1BDS A BDD-BasedLogic Optimization System
Congguang Yang
Synopsys, Inc.
Maciej Ciesielski
University of Massachusetts, Amherst Department
of Electrical and Computer Engineering
Vigyan Singhal
Tempus Fugit, Inc.
2Outline
- Introduction Background, Motivation, Goals.
- Logic Optimization Through BDD Decomposition
-BDDlopt, ICCD99 - BDD-Based Logic Synthesis System - BDS
- Conclusion
3Binary Decision Diagrams
- Proposed by Lee 1959
- A switching function can be efficiently
implementedby a series of binary switch. - Akers 1978
- Binary Decision Diagram (BDDs)
- A set of reduction rules
- Bryant 1986
- Ordered BDDs (OBDDs)
- A set of efficient operators
4Binary Decision Diagrams
Example F ac bc abc
5Drawback of Traditional Logic Optimization
- A Boolean formula is treated as a polynomial
formula. - Weak Boolean factorization capability.
- Two-level techniques are used to perform Boolean
simplification. - Separate platforms for Boolean simplification and
factorization. - Our goal to use a common platform to carry out
both Boolean simplification and factorization.
6Mini-history of Logic Representation
Minterm
Sum-of-product
Cube
Factored Form
BDD
7Advantages of BDDs
8Advantages of BDDs
- BDD is canonical.
- Implicit factored representation.
- BDD variable reordering performs implicit logic
simplification. - Some redundancy removed during BDD construction.
- Problem How to translate a BDD into a
multi-level representation?
9Previous work on BDD Decomposition Karplus
1988
10BDD Decompositions in BDS
- Boolean AND/OR Decomposition
- Boolean XOR Decomposition (skip)
- MUX Decomposition (skip)
11Logic Optimization Flow of BDDlopt
Boolean Network
12Experimental Results
XOR-intensive
AND/OR-intensive
13Trade-off Between Local and Global Representation
14BDD-Based Logic Optimization System (BDS)
15Sweep Boolean Network
Goal Network preprocessing.
- Constant propagation.
- Remove single-input Boolean nodes.
- Remove functionally equivalent Boolean nodes.
16Sweep Boolean Network (continued)
17 Functionally Duplicated Nodes
18Boolean Node Elimination
19Results of Iterative Eliminate
20Sharing Extraction
21BDD-Based Logic Optimization System (BDS)
Boolean Network
Eliminate
Sweep
Sharing Extraction
Boolean Factorization
Final Factoring Tree Processing
Technology Mapping
22Experimental Results
23Conclusions Future Work
- First unified approach to both AND/OR- and
XOR-intensive Boolean functions. - Implementation of first working BDD-based
multi-level logic optimization system (BDS). - Network partitioning. Group collapse.
- More general BDD decompositions.
- http//www-unix.ecs.umass.edu/cyang/bds.html
24Boolean XOR Decomposition Generalized
x-Dominators
XOR Decomposition (generalized x-dominator)
Given F and g,
h F g h h F g.
h
F
a
a
g
Generalized x-dominator
b
b
c
c
c
c
d
d
d
1
1
1
25Special Case of Generalized x-Dominator
F
a
cd
ab
x-dominator
b
c
a
c
b
d
d
1
1
1
26Algorithm for Iterative Eliminate
27Algorithm for Iterative Eliminate
Naive
BDS
28Experimental Results
29Trade-off Between Local and Global Representation
30Factoring Tree Processing
31Lessons Learnt from BDDlopt
- BDD decomposition is a good alternative to
traditional logic optimization. - BDD decomposition-based logic optimization is
fast. - Stand-alone BDD decomposition scheme is not
amenable to large circuits.
32Boolean AND/OR Decomposition (Boolean Division)
Goal F Q D.
33Boolean AND/OR Decomposition
- Boolean DivisionIf D gt F, F F D Q D
Q F/D.
34Boolean AND/OR Decomposition
- Boolean DivisionIf D gt F, F F D Q D
Q F/D.
Boolean Space
35Boolean AND/OR Decomposition
- Boolean DivisionIf D gt F, F F D Q D
Q F/D.
- Boolean SubtractionIf D lt F, F F D R
D R F/D.
- D Generalized Dominator ?
36Generation of Generalized Dominator
37Generation of Generalized Dominator
38Example of Boolean Division
- F abg acg adf aef afg bd ce be
cd. - Algebraic F (b c)(d e ag) (d e
g)af. (11 lit) - Boolean F (af b c)(ag d e). (8 lit)
39Boolean Division Based on Generalized Dominator