Title: By Tariq Bashir Ahmad
1Taylor Expansion Diagrams (TED)
Adapted from the paper M. Ciesielski, P. Kalla,
Z. Zeng, B. Rouzeyre,Taylor Expansion
DiagramsA Compact Canonical Representation for
Symbolic Verification, in DATE, 2002.
2Presentation Structure
- Motivation RTL verification
- Background
- BDD (binary), BMD (word-level)
- New canonical representation TED
- Construction and manipulation
- Properties
- Applications
3Motivation RTL Verification
- Complex RTL designs
- Data flow and control
- Arithmetic and Boolean
- Equivalence verification
- Need representation that can handle
arithmetic/Boolean - Efficient, compact
- Canonical
4Levels of Abstraction
We can design at a higher level of abstraction,
Can we verify at a higher level of abstraction ?
5Common Representations
- Boolean functions ( f B ? B )
- Truth table, Karnaugh map
- SoP, PoS etc.
- Binary Decision diagrams (BDD)
- Arithmetic functions ( f B ? Int )
- Binary Moment Diagrams (BMD)
- Need more abstract representation for arithmetic
functions (f Int ? Int )
6Binary Decision Diagrams (BDD)
- Based on recursive Shannon expansion f
x fx x fx - where fx f(x1), fxf(x0)
- Compact data structure for Boolean logic
- Canonical representation
- reduced ordered BDDs (ROBDD)
- Essential for verification
- equivalence checking, satisfiability (SAT)
7Application to Verification
- Canonicity equivalence checking of logic circuits
F abc abc abc
G (ab)c
?
- Limitations
- Require bit-level expansion of word-level
variables - Size explosion for some functions (arithmetic)
8Binary Moment Diagrams (BMD)
- Devised for word-level, arithmetic operations
- Based on modified Shannon expansion (pos. Davio)
- f x fx x fx x fx (1-x) fx
- fx x (fx - fx ) fx x f?x
- where fx fx0 is zero moment
- f? x (fx - fx ) is first moment
(derivative)
9BMD Example
- Efficiently models word-level operators
X Y X2x1x0 y2y1y0 0 1 1 1 0 1 8
X Y X2x1x0 . y2y1y0 0 1 1 . 1 0 1 15
- Limitation requires bit-level representation of
a word
10Symbolic Representation
- Why expand words into bits? Can we do better?
- Abstract words into symbolic variables
11Taylor Expansion Diagram(TED)
- F arithmetic function (F Int ? Int )
- Treat F as a continuous function
- Taylor Expansion (around x0)
- F(x) F(0) x F(0) ½ x2 F(0)
- Notation
- F0(x) F(x0) 0-child - - - - - -
- F1(x) F(x0) 1-child ----------
- F2(x) ½ F(x0) 2-child
- So
F(x) F0(x) x F1(x) x2 F2(x)
12Construction of TED example
F A2B 2C 3 with order AltBltC
G 2C 3
(without normalization)
13Few more examples
14TED Reduction Rules
- 1. Eliminate redundant nodes
- Nodes with all edges ? 0
- Nodes with only constant term
f 0 a2 0 a g(b) g(b)
2. Merge isomorphic subgraphs
(A2 5A 6)(B C)
15TED Normalization
- TED can be normalized
- weights of edges of a given node must be
relatively prime (to allow sharing isomorphic
graphs)
2A 2B 6
2(A B 3)
16TED Composition
- Recursive composition of nodes, starting at the
top
- Operation depends on relative order of variables
x, y - if x y, then z x, and
- h(x) f(x) OP g(x)
- f0(x) OP g0(y) x f1(x) OP g1(y)
x2 f2(x) OP g2, - if x gt y, then z x, and
- h(x) f0(x) OP g(y) x f1(x) OP g(y)
x2 f2(x) OP g, - else .
17COMPOSE Operator ADD/SUB
- Nodes indexed by same variable
- Nodes indexed by different variable (x gt y)
18Compose Operation Example
B
C
2AB2C
19Comparison of BDD and TED
Property BDD TED
Decomposition Shannon Taylor
Composition And/OR Multiply/Add
Canonicity Yes Yes
Canonicity Reduction rules Reduction rules normalization
Satisfiability Yes No
20TED for Arithmetic Circuits
- Arithmetic circuits contain related word-level
(A, B) and Boolean (ak, bk) variables - A an-1, , ak , ,a0 2(k1)Ahi 2k
ak Alo
21Application to RTL Verification
- Equivalence checking with TEDs
- interacting word-level and Boolean variables
F2 (1-s2) (A2-B2) s2 D s2 ak ? bk 1 - ak
ak bk
F1 s1(AB)(A-B) (1-s1)D s1 (ak gt bk) ak
(1-bk)
A Ahi,ak,Alo, B Bhi,bk,Blo
22Result RTL Verification
- Related word-level and Boolean variables
- F1 s1(AB)(A-B) (1-s1)D
- s1 (ak gt bk) ak (1-bk)
F1 (ak-akbk) (2k1Ahi 2kak Alo)2 -
(2k1Bhi 2k bk Blo)2 (1ak akbk)
D
23Questions?