Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification
M. Ciesielski, P. Kalla, Z. Zeng Electrical & Computer Engineering University of Massachusetts, Amherst, USA
[email protected] DATE-2002
TED
B. Rouzeyre LIRMM Montpellier, France
[email protected] 1
Outline • Motivation – RTL verification • Background – BDD (binary), BMD (word-level)
• New canonical representation: TED – Construction and manipulation – Properties – Applications
• Conclusions – Limitations, future work DATE-2002
TED
2
Motivation – RTL Verification B A
• Complex RTL designs – Data flow and control – Arithmetic and Boolean
+ *
ak bk
• Equivalence verification – Need representation that can handle arithmetic/Boolean • Efficient, compact • Canonical
DATE-2002
B A
D
>
s
+ ak
F
0 1
*
bk
TED
F
1 0
D
s
y, then z = x, and h(x) = f0(x) OP g(y) + x [f1(x) OP g(y)] + x2 [f2(x) OP g], … – else ….
DATE-2002
TED
16
COMPOSE Operator – ADD/SUB • Nodes indexed by same variable x u
x v
=
+ u0
u1
v0
v1
x u+v u0+v0
u1+v1
• Nodes indexed by different variable (x > y) x u
y
+ u0 DATE-2002
u1
v0
v
= v1
TED
x u+v u0+ v
u1 17
COMPOSE Operator – MULT • Nodes indexed by same variable x u
x
x v
=
• u0
u1
v0
u•v
u0•v0
v1
u1•v1 u0•v1+u1•v0
• Nodes indexed by different variable (x > y) x u
y
• u0 DATE-2002
u1
v0
v
= v1
TED
x u•v u0 • v
u1 • v 18
COMPOSE Operation - Example A+B
A 4
A 6
A+2C
B 3 C 5
* 0
A B
=
1•1 3•1 B
3•5
+ C
0•5
1•5 C
1•5
0 2 1
1
0•0 0•2 1•0 1•2 1•0 1•2 0•1 1•1
A B
(A+B)(A+2C)
B
B
C
8+7
C 0+7
2
0
4•6
2
DATE-2002
1
0+0 0+2 1 TED
C 7
= 0 2
8 B
+ 0 1 19
Properties of TED n = 4, k = 2
• Canonical • Compact • Linear for polynomials of arbitrary degree – TED for X , k = const, with n bits, has k(n-1)+1 nodes. • Can contain symbolic, wordlevel, and Boolean variables • It is not a Decision Diagram
X2=(8x3+4x2+2x1+x0)2 64
1 16
1
k
DATE-2002
TED
x3
4
x1
1 1
1
16 x2
x2
8 x1
4
4
2 x0
x0 1
0
1
1 20
TED for Boolean logic • Needed to model arithmetic-Boolean interface x’ = (1-x)
x ∧y = x y x
x 1
-1
0
x ∨ y = (x + y – x y) x
y
y
x y
1 1
NOT
0
1
AND
DATE-2002
x ⊕ y = (x + y – 2 x y)
y -1 1
0
OR
TED
y 1
0
-2 1
XOR
21
TED for Arithmetic Circuits • Arithmetic circuits contain related word-level (A, B) and Boolean (ak, bk) variables A = [ an-1, …, ak , …,a0 ] = 2(k+1)Ahi + 2k ak + Alo Ahi
Alo B A
Ahi 2(k+1)
ak
ak
Alo
DATE-2002
bk
F1
1 0
*
-
2k
0
+ D
>
s1
s1 = ak (1-bk)
1 TED
22
Applications to RTL Verification • Equivalence checking with TEDs – interacting word-level and Boolean variables B A
A
+ *
ak bk
D
>
F1
1 0
B
* *
s1
ak
F2
0 1
D
s2
bk F2 = (1-s2) (A2-B2) + s2 D s2 = ak’ ∨ bk = 1 - ak + ak bk
F1 = s1(A+B)(A-B) + (1-s1)D s1 = (ak > bk) = ak (1-bk)
A = [Ahi,ak,Alo], B = [Bhi,bk,Blo] DATE-2002
TED
23
RTL Verification – Result F1 = F2
D
• Related word-level and Boolean variables F1 = s1(A+B)(A-B) + (1-s1)D s1 = (ak > bk) = ak (1-bk)
-1
Ahi
2 k+
Alo
Alo
2
1
2
Bhi
2k
2k TED
-2k+2 1 k+
2k
+2
2
- (2k+1Bhi + 2k bk + Blo)2 } + (1–ak + akbk) D
DATE-2002
bk
-2
F1 = (ak-akbk){ (2 Ahi + 2 ak +Alo)
bk -1
2 k
ak
0 2 2k+
k+1
ak
1
Blo
1
1 24
Conclusions • TED representation, features – Canonical – Compact (linear for polynomials) – Represents arithmetic (word-level) operators + Boolean logic
• Applications – Equivalence checking, symbolic simulation
• Limitations – – – –
TED still needs to be implemented: efficiency, robustness? How to represent relations (X < Y) without bit expansion? Normalization: more complicated than in *BMD Infinite series for some functions (ax)
• Open problems – Application to satisfiability (SAT), functional test generation DATE-2002
TED
25