Taylor Expansion Diagrams

Compact data structure for Boolean logic. • Canonical representation. – reduced ordered BDDs (ROBDD). • Essential for verification. – equivalence checking ...
456KB taille 0 téléchargements 359 vues
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