Presentation is loading. Please wait.

Presentation is loading. Please wait.

DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.

Similar presentations


Presentation on theme: "DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical."— Presentation transcript:

1 DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical & Computer Engineering LIRMM University of Massachusetts, Amherst, USAMontpellier, France ciesiel@ecs.umass.edurouzeyre@lirmm.fr

2 DATE-2002TED2 Outline Motivation – RTL verification Background –BDD (binary), BMD (word-level) New canonical representation: TED –Construction and manipulation –Properties –Applications Conclusions –Limitations, future work

3 DATE-2002TED3 Motivation – RTL Verification Complex RTL designs –Data flow and control –Arithmetic and Boolean B A s 1010 F D akak bkbk > + * - B A s 0101 F D akak bkbk <= + * - Equivalence verification –Need representation that can handle arithmetic/Boolean Efficient, compact Canonical

4 DATE-2002TED4 Common Representations Boolean functions ( f : B  B ) –Truth table, Karnaugh map –SoP, PoS, ESoP, Reed-Muller, etc. –Binary Decision diagrams (BDD, ZDD, KFDD, …) Arithmetic functions ( f : B  Int ) –Binary Moment Diagrams (*BMD, K*BMD, …) –Multi-terminal, Algebraic Decision Diagrams (ADD) Need more abstract representation for arithmetic functions (f : Int  Int )

5 DATE-2002TED5 Binary Decision Diagrams ( BDD ) Based on recursive Shannon expansion: f = x f x + x’ f x’ where: f x = f( x=1 ), f x’ =f( x=0 ) Compact data structure for Boolean logic Canonical representation –reduced ordered BDDs (ROBDD) Essential for verification –equivalence checking, satisfiability (SAT) fxfx f x’ f x

6 DATE-2002TED6 Application to Verification Canonicity: equivalence checking of logic circuits 10 a b c F = a’bc + abc +ab’c G = (a+b)c 10 a b c  Limitations –Require bit-level expansion of word-level variables –Size explosion for some functions (arithmetic)

7 DATE-2002TED7 Binary Moment Diagrams ( BMD ) Devised for word-level, arithmetic operations Based on modified Shannon expansion (pos. Davio) f = x f x + x’ f x’ = x f x + (1-x) f x’ = f x’ + x (f x - f x’ ) = f x’ + x f  x where f x’ = f x=0 is zero moment f  x = (f x - f x’ ) is first moment (derivative)

8 DATE-2002TED8 BMD – Example Unsigned integer: X = 8x 3 + 4x 2 + 2x 1 + x 0 1 0 x0 x1 x2 1 2 4 x3 8 *BMD x3 8 x2 x1 x0 421 0 BMD

9 DATE-2002TED9 *BMD Efficiently models word-level operators 4 1 0 x0 x1 x2 1 2 4 y0 y1 y2 2 1 X Y X + Y 1 0 x0 x1 x2 y0 y1 y2 1 2 4 2 4 1 Limitation: requires bit-level representation of a word

10 DATE-2002TED10 Symbolic Representation Why expand words into bits? Can we do better? –Abstract words into symbolic variables Word level 4 1 0 x0 x1 x2 1 2 4 y0 y1 y2 2 1 X + Y 1 0 X Y Symbolic X Y 1 0 X Y Symbolic 1 0 x0 x1 x2 y0 y1 y2 1 2 4 2 4 1 Word level

11 DATE-2002TED11 Taylor Expansion Diagram (TED) F = arithmetic function (F : Int  Int ) –Treat F as a continuous function –Taylor Expansion (around x=0): F(x) = F(0) + x F’(0) + ½ x 2 F’’(0) + … Notation –F 0 (x) = F(x=0) 0-child - - - - - - –F 1 (x) = F’(x=0) 1-child ---------- –F 2 (x) = ½ F’’(x=0) 2-child ====== –etc. x F 0 (x) F 1 (x) F 2 (x) … F(x) F(x) = F 0 (x) + x F 1 (x) + x 2 F 2 (x) + …

12 DATE-2002TED12 Construction - Your First TED F = A 2 B + 2C + 3 A F 0 (A) = F | A=0 = 2C + 3 F 1 (A) = F’ | A=0 = 2AB | A=0 = 0 F 2 (A) = ½ F’’ | A=0 = B B 1 A G= 2C + 3 0 B 0 = B(0) = 0 B 1 =B’ = 1 C G 0 (C) = (2C+3) | C=0 = 3 G 1 (C) = (2C+3)’ = 2 C 2 3 B B (without normalization)

13 DATE-2002TED13 TED – a few Examples (A+B)C +1 1 0 B C A 1 (A+B)(A+2C) 1 0 B C A B 1 2 1 x0 x1 x2 x3 2 4 1 0 1 x0 x1 x2 1 1 1 4 4 8 16 64 1 1 X 2 = (8x 3 + 4x 2 + 2x 1 + x 0 ) 2

14 DATE-2002TED14 TED - Reduction Rules a b 0 f g b g 1.Eliminate redundant nodes: –Nodes with all edges  0 –Nodes with only constant term A B C 1 0 0 1 1 B B C C 6 5 1 A B C 0 1 6 5 1 2. Merge isomorphic subgraphs (A 2 + 5A + 6)(B + C) f = 0 a 2 + 0 a + g(b) = g(b)

15 DATE-2002TED15 TED Normalization TED can be normalized –weights of edges of a given node must be relatively prime (to allow sharing isomorphic graphs) 2 6 B A 2 2A + 2B + 6 3 0 B A 1 2 2 1 3 B A 1 2 1 1 2(A + B + 3)

16 DATE-2002TED16 TED: Composition Operation depends on relative order of variables x, y –if x = y, then z = x, and h(x) = f(x) OP g(x) = f 0 (x) OP g 0 (y) + x [f 1 (x) OP g 1 (y)] + x 2 [f 2 (x) OP g 2 ], … –if x > y, then z = x, and h(x) = f 0 (x) OP g(y) + x [f 1 (x) OP g(y)] + x 2 [f 2 (x) OP g], … –else …. u f x v g y OP = Recursive composition of nodes, starting at the top h = f OP g q z OP = (+, -, )

17 DATE-2002TED17 COMPOSE Operator – ADD/SUB Nodes indexed by same variable Nodes indexed by different variable (x > y) u u0u0 u1u1 x v v0v0 v1v1 x + = u u0u0 u1u1 x v v0v0 v1v1 y + = u + v u 0 +v 0 u 1 +v 1 x u + v u 0 + v x u1u1

18 DATE-2002TED18 COMPOSE Operator – MULT Nodes indexed by same variable Nodes indexed by different variable (x > y) u u0u0 u1u1 x v v0v0 v1v1 x = u u0u0 u1u1 x v v0v0 v1v1 y = u v u 0 v u 1 v x u v u 0v 0 x u 0v 1 +u 1 v 0 u 1v 1

19 DATE-2002TED19 COMPOSE Operation - Example * A+B 01 4 3 A B = 3 5 4 6 A 0 5 C A+2C 01 6 5 A 2 1 5 B 0 0 2 1 0 1 2 C C 1 5 1 0 1 2 + 1 B 3 1 0 1 1 C 0 7 2 B 0 8 1 + = 0+70+7 8+78+7 B 0+00+0 0+20+2 1 C (A+B)(A+2C) 2 0 1 C A BB 2

20 DATE-2002TED20 Properties of TED Canonical Compact Linear for polynomials of arbitrary degree –TED for X k, k = const, with n bits, has k(n-1)+1 nodes. Can contain symbolic, word- level, and Boolean variables It is not a Decision Diagram 1 x0 x1 x2 x3 2 4 1 0 1 x0 x1 x2 1 1 1 4 4 8 16 64 1 1 X 2 =(8x 3 +4x 2 +2x 1 +x 0 ) 2 n = 4, k = 2

21 DATE-2002TED21 TED for Boolean logic AND 1 0 x y x  y = x y 10 x 1 x’ = (1-x) NOT OR x  y = (x + y – x y) 1 0 x yy 1 XOR x 1 0 yy -2 1 x  y = (x + y – 2 x y) Needed to model arithmetic-Boolean interface

22 DATE-2002TED22 TED for Arithmetic Circuits Arithmetic circuits contain related word-level (A, B) and Boolean (a k, b k ) variables A = [ a n-1, …, a k, …,a 0 ] = 2 (k+1) A hi + 2 k a k + A lo B A s1s1 1010 F1F1 D akak bkbk > + * - s 1 = a k (1-b k ) A hi A lo 0 1 2k2k 2 (k+1) AhiAhi akak A lo

23 DATE-2002TED23 Applications to RTL Verification Equivalence checking with TEDs –interacting word-level and Boolean variables A B s2s2 0101 F2F2 bkbk akak * * - D B A s1s1 1010 F1F1 D akak bkbk > + * - F 1 = s 1 (A+B)(A-B) + (1-s 1 )D s 1 = (a k > b k ) = a k (1-b k ) F 2 = (1-s 2 ) (A 2 -B 2 ) + s 2 D s 2 = a k ’  b k = 1 - a k + a k b k A = [A hi,a k,A lo ], B = [B hi,b k,B lo ]

24 DATE-2002TED24 RTL Verification – Result Related word-level and Boolean variables F 1 = s 1 (A+B)(A-B) + (1-s 1 )D s 1 = (a k > b k ) = a k (1-b k ) F 1 = (a k -a k b k ){ (2 k+1 A hi + 2 k a k +A lo ) 2 - (2 k+1 B hi + 2 k b k + B lo ) 2 } + (1–a k + a k b k ) D 1 akak 1 A hi D akak bkbk bkbk B hi A lo B lo 1 1 2 2k+2 2 k+2 -2 k+2 2k2k -2 2k+2 F 1 = F 2 A lo 2k2k 2 k+1 0

25 DATE-2002TED25 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 (a x ) Open problems –Application to satisfiability (SAT), functional test generation


Download ppt "DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical."

Similar presentations


Ads by Google