Presentation is loading. Please wait.

Presentation is loading. Please wait.

Grouping Heuristics for Word-Level Decision Diagrams Rolf DrechslerMarc HerbstrittBernd Becker Institute of Computer Science University of Freiburg 79110.

Similar presentations


Presentation on theme: "Grouping Heuristics for Word-Level Decision Diagrams Rolf DrechslerMarc HerbstrittBernd Becker Institute of Computer Science University of Freiburg 79110."— Presentation transcript:

1 Grouping Heuristics for Word-Level Decision Diagrams Rolf DrechslerMarc HerbstrittBernd Becker Institute of Computer Science University of Freiburg 79110 Freiburg, Germany

2 Outline Introduction Word-Level Decision Diagrams (WLDDs) Variable Grouping Topology-based Heuristic Experimental results Conclusions

3 Motivation Formal verification is important task Very popular: Binary Decision Diagrams (BDDs)  Bryant 1986  Represent functions (bit-level)  Many extensions: FDDs, KFDDs,... But: not applicable to some important functions, i.e. arithmetic functions like multipliers Introduction of Word-Level Decision Diagrams  possible to verify large mutlipliers

4 Word-Level Decision Diagrams (WLDDs) Represent functions Directed acyclic graphs Variables are encountered in same order Canonical representation Graph size depends on variable ordering decomposition type choice grouping (in the case of multi-output circuits)

5 WLDD types EVBDDs:  Lay and Sastry 1992  additive weights, Shannon decomposition MTBDDs:  Clarke et. al 1993  Integer leaf values, Shannon decomposition *BMDs:  Bryant and Chen 1994  multiplicative weights, pos. Davio decomposition K*BMDs:  Drechsler et al. 1996  additive and multiplicative weights, Shannon/pos. Davio/neg. Davio decomposition

6 Decomposition Types Bit-Level: Word-Level: Shannon: pos. Davio: neg. Davio:

7 Example WLDD MTBDD EVBDD

8 Example WLDD MTBDD EVBDD *BMD

9 Variable Grouping 3 possibilities:  Consider only single primary outputs  Group all outputs by using a weighted sum  Divide the set of outputs in more than one set and group the individual sets by a weighted sum  reduction or blowup is obtained

10 Example Multiplier function as *BMD (Bryant 1995) grouped outputs: linear size bit-wise representation: exponential size

11 Example Consider MTBDDs for functions bit-wise representation: linear size weighted sum representation exponential size

12 Topology-based Heuristic Starting with the largest output largest output: the output with the largest support w.r.t. the primary inputs Group all outputs together that depend on the same variables (or on a subset) until no further grouping is possible Consider the next largest output until no output left Main idea: Group the outputs together that depend on the same variables

13 Step by step Initialization Evaluation of Support Matrix Variable Grouping  Heuristic H1  Heuristic H2 Notation: Netlist: G Number of primary inputs: #PI Number of primary outputs: #PO

14 Initialization Assign array of length #PI to each gate in the netlist G Compute the support by traversing the netlist in topological order. I.e. the support for the primary outputs is computed Runtime:

15 Evaluation of Support Matrix Compute the Output Correspondence Matrix (OCM)  Matrix dimensions:  Matrix is symmetric 1. Step: setting all entries to 0 Runtime: 2. Step: Compute which outputs are defined over the same support Runtime: Overall runtime:

16 OCM Computation for( i = 0; i < #PO; i++ ) for( j = 0; j < #PO; j++ ) for( l = 0; l < #PI; l++ ) if( i-th and j-th primary output is dependent on input l ) OCM[i][j] = OCM[i][j]+1;

17 Variable Grouping Heuristic H1: Include an output variable, if its support is contained in the largest one of the actual group Heuristic H2 : Include an output variable, if its support is contained in the support of all output variables that are in the actual group Group the output variables dependent on the OCM

18 Runtime Analysis Initialization: Evaluation of Support Matrix: Overall runtime:

19 Example H1 results in one group: (PO1, PO2, PO3) H2 results in two groups: (PO1, PO2), (PO3)

20 Experimental Results (1) Grouping results H1 is word-oriented H2 is bit-oriented

21 Experimental Results (2) Variable ordering: Interleaving H1 should be applied in Davio dominated WLDDs H2 should be used for Shannon-based WLDDs (Table entries denote number of nodes of the resulting WLDD)

22 Experimental Results (3)

23 Conclusions We presented heuristics for output grouping for Word-Level Decision Diagrams Due to this grouping large reductions are possible (up to an exponential factor) Grouping is dependent on the decomposition type choice Current and future work:  Incorporate output grouping in variable ordering and decomposition type choice process  Consideration of mixed DTLs for each group


Download ppt "Grouping Heuristics for Word-Level Decision Diagrams Rolf DrechslerMarc HerbstrittBernd Becker Institute of Computer Science University of Freiburg 79110."

Similar presentations


Ads by Google