N. L. V. Calazans, R. P. Jacobi, Q. Zhang, C. Trullemans Universit - - PowerPoint PPT Presentation

n l v calazans r p jacobi q zhang c trullemans universit
SMART_READER_LITE
LIVE PREVIEW

N. L. V. Calazans, R. P. Jacobi, Q. Zhang, C. Trullemans Universit - - PowerPoint PPT Presentation

Improving BDDs Manipulation Through Incremental Reduction and Enhanced Heuristics N. L. V. Calazans, R. P. Jacobi, Q. Zhang, C. Trullemans Universit Catholique de Louvain - Laboratoire de Microlectronique Summary Introduction MBDs


slide-1
SLIDE 1
  • N. L. V. Calazans, R. P. Jacobi, Q. Zhang, C. Trullemans

Université Catholique de Louvain - Laboratoire de Microélectronique

Improving BDDs Manipulation Through Incremental Reduction and Enhanced Heuristics

slide-2
SLIDE 2

Summary

  • Introduction
  • MBDs and Boolean Verification
  • Ordering of Input Variables
  • Incremental Manipulation
  • Benchmark Results
  • Conclusions and Future Work
slide-3
SLIDE 3

Canonical BDDs Characteristics

  • Used to represent and manipulate Boolean functions

(general);

  • Applied to design verification, symbolic simulation,

logic synthesis, etc;

  • Subject to a problem: Establishing the variable
  • rdering.
slide-4
SLIDE 4

Our Approach:

  • Generalization of BDDs for logic synthesis

applications;

  • New initial ordering heuristics;
  • Incremental techniques to change the ordering

dynamically.

slide-5
SLIDE 5

Summary

√ Introduction

  • MBDs and Boolean Verification
  • Ordering of Input Variables
  • Incremental Manipulation
  • Benchmark Results
  • Conclusions and Future Work
slide-6
SLIDE 6

Example

x0 x1 x1 x2 x0 x1 x1 x2 f g

X X X 1 X 1 1 X X X X 1

fon foff fdc

x0 x1 x2 1 1 x1 x2 x 2 x 0 1 x1 x2 x 0 1 x 0 x 1 x2 x2 x 0 x1 x 2 1 1 x 0 x1 x2

gdc goff g on

slide-7
SLIDE 7

Corresponding MBD X 1 x0 x 0 x1 x2 x2

f g

slide-8
SLIDE 8

Boolean Verification

Relies on the computation of: If this results in a tautology, f≡g.

gon ⊂ fon + fdc * fon ⊂ gon + gdc

  • For BDDs, 2-4 calls to apply;
  • For MBDs, 1-2 calls to apply;
  • For CSFs, no calls to apply needed.
slide-9
SLIDE 9

Summary

√ Introduction √ MBDs and Boolean Verification

  • Ordering of Input Variables
  • Incremental Manipulation
  • Benchmark Results
  • Conclusions and Future Work
slide-10
SLIDE 10

Initial Ordering for Input Variables

  • Exact solution to date: O(n 3 );
  • Heuristics are unavoidable;
  • Fujita et al. proposed depth-first search with pivots.

2 n

slide-11
SLIDE 11

Depth-first ordering example

a b c d e f g t 8 t 12 t 9 t 13 t 14 t 10 t 11

  • One possibility: <(c b a) (e d g f)>
slide-12
SLIDE 12

Tentative Enhancements

  • Sort intermediate/output variables;
  • Sort pivoted lists using transitive fan-in;
  • Combination of both.

"Results were still rather erratic and dependent on input description."

slide-13
SLIDE 13

Weighted Nodes Heuristic

a b c d t 1 t 2 t 3

t4 a b c d 1/2 1/2 1/4 1/4 1/8 1/8 1/2 1 t 1 t 2 t4

a b d 1/2 1/2 1/4 1/4 1 t 1

slide-14
SLIDE 14

Summary

√ Introduction √ MBDs and Boolean Verification √ Ordering of Input Variables

  • Incremental Manipulation
  • Benchmark Results
  • Conclusions and Future Work
slide-15
SLIDE 15

Supportive Statements

  • "Exchanging two adjacent variables in the ordering

underlying a BDD changes only the levels of the BDD involved in the operation."

  • "The reduced BDD corresponding to the new ordering

differs from the original reduced BDD only in the exchanged levels."

slide-16
SLIDE 16

Operations needed

  • Swap, in order to exchange two variables in the
  • rdering;
  • Local-Reduce, in order to put the BDD back into a

canonical form.

(c) A B A B x x x y A B C y x A C B C (b) x (a) x A B C D x x y A B C D y y

slide-17
SLIDE 17

Example of Application:

Incremental reduction of the number of nodes in an MBD using heuristics

  • Successive applications of Swap + Local-Reduce
  • n

selected pairs of adjacent levels ;

  • Heuristics for ordering selection of pairs and stop

conditions:

  • best-pair swap (swap-all-red);
  • greedy swap (swap-run-down).
  • Best results were obtained with sequential

application of both heuristics.

slide-18
SLIDE 18

Summary

√ Introduction √ MBDs and Boolean Verification √ Ordering of Input Variables √ Incremental Manipulation

  • Benchmark Results
  • Conclusions and Future Work
slide-19
SLIDE 19

In our benchmarks:

  • MBDs provided average gain of 35% over separated

BDDs;

  • Initial MBDs are 10% smaller in average, if weighted

nodes heuristics is used; Difference is the same after incremental reduction;

  • Incremental reduction provided additional average

gain of 21%.

  • More than 40 examples of various sizes run. Most

benchmarks taken from MCNC and ISCAS.

slide-20
SLIDE 20

Summary

√ Introduction √ MBDs and Boolean Verification √ Ordering of Input Variables √ Incremental Manipulation √ Benchmark Results

  • Conclusions and Future Work
slide-21
SLIDE 21

Conclusions

  • MBDs - a compact and efficient way of representing

Boolean functions;

  • Underlying structure of network is explicit in MBDs;
  • Sharing among functions is also explicit;
  • Single graph for the whole network, on-, off-, and dc-

sets;

  • New heuristic + inc. reduction = smaller MBDs, thus

faster execution;

  • Incremental techniques provide a way to surpass the

intrinsic limitation of BDDs/MBDs (total ordering of input variables).

slide-22
SLIDE 22

Future Work

  • Extraction of sum-of-products representation from

MBDs;

  • Factorization and decomposition;
  • Boolean division and other optimization techniques;
  • Sequential circuits considerations.