- 58 Views
- Uploaded on
- Presentation posted in: General

Taylor Expansion Diagrams (TED): Verification

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

EC667: Synthesis and Verification of Digital Systems

Spring 2011

Presented by: Sudhan

- 1. What is a TED?
- 2. What is the Motivation behind TEDâ€™s development?
- 3. How to create a TED?
- 4. How TED is used for Verification?

- Canonical representation for arithmetic expressions useful for equivalence checking of a design among others.
- Works at a higher level of abstraction.
- Built on Taylor series expansion.
(Representation of a function as a sum of infinite terms)

f(x) is a real, differentiable function corresponding to an algebraic expression F. F1(x=0) is the first derivative of the function w.r.t x and evaluated at x0=0.

F(x,y,..) = F0(x=0)+ x F1(x=0) + x2 F2(x=0) + â€¦

- Size and complexity of digital designs steadily increasing.
- So does the need for verification tools capable of working at higher abstraction levels.
- Typically high level descriptions contain word-level arithmetic computations along with Boolean logic.
- This need for canonical representations working with symbolic, algebraic word-level computations was the motivation behind creating a new representation.

X + Y

4

2

1

4

0

0

1

1

x2

x1

x0

y0

y1

y2

Y

X

2

1

Symbolic

Bit level

- Logic of equality with uninterpreted functions. [J. Burch, â€™94]
- Use of Propositional logic Formula. [R. Bryant, 01]
- Reduced, ordered Binary Decision Diagrams
(ROBDD) and its variants. [R.E. Bryant, â€˜86]

- Binary Moment Diagrams. [R.E. Bryant, 95]
- Symbolic Algebra Methods.[G. DeMicheli, 03]
- Drawbacks:
- Requires bit level functions for word level signals.
- Algebra tools require canonical representations for equivalence checking.

- It represents a set of binary valued decisions in a rooted directed acyclic graph(DAG).
- It is based on a recursive Shannon decomposition and has a set of reduction rules.
- Advantages :
- Widely available software Packages and used for combinational equivalence checking.
- BDD based verification systems successful in verifying control dominated circuits.
- Drawbacks:
- Not successful for data path design.
- With complex circuits, BDD representations face size limits.

- Performs decomposition of a linear function based on its first two moments (linear moment) and (constant moment).
- Uses modified Shannonâ€™s expansion, in which a binary variable is treated as a (0,1) integer.
- Drawbacks:
- For high degree polynomials defined over words with large bit-width, it becomes an expensive representation.
- It has a set of restrictions imposed to make it canonical and thus makes it difficult to construct.

- Notation:
- f(x=0) 0-child
- fâ€™(x=0) 1-child
- fâ€™â€™(x=0) 2-child

f(x)

x

1

x

x2

â€¦

fâ€™(x)

f(x)

fâ€™â€™(x)

3. Creating a TED - Steps

- 1.Start with the algebraic Expression and ordering of variables.
- 2. Recursively, from F find the values for all the constant, first and second derivative terms w.r.t to each variable.
- 3. Form the TED with this information based on the notation.
- 4. Apply reduction rules and Normalization to get Normalized TED.

Arithmetic expression : F = (A+B) (A+2C) = A2 + AB + 2AC + 2BC

Consider ordering : A,B,C

Decomposition w.r.t A:

F(A=0) = 2BC

Fâ€™(A=0) = B + 2C

1/2Fâ€™â€™(A=0) = 1

Decomposition of G=F(A=0), H=Fâ€™(A=0), Fâ€™â€™(A=0) w.r.t B:

G(B=0) = 0 H(B=0) = 2C

Gâ€™(B=0) = 2C Hâ€™(B=0) = 1

Similarly, Decomposition w.r.t C:

F(C=0) = 0

Fâ€™(C=0) = 2

F

A

1

A

A2

G=2BC

B

B

H=B+2C

B

1

1

B

C

2C

1

C

0

2

1

From TED: F = A2+AB+2AC+2BC

Every path from root node to non zero vertex is a non zero term in the expression

0

u

3. Creating a TED â€“ Reduction Rules

1. Eliminate redundant nodes:

- Nodes with all non zero edges connected to terminal 0

v

x

f = 0 v2 + 0 v + y(u) = y(u)

u

y

y

- 2. Merge Isomorphic Graph:
- Isomorphic if structure and attributes of the two TEDâ€™s match.

- All 3 subgraphs are isomorphic i.e. one to one mapping between vertex sets and edge sets.

â€˜Taylor Expansion Diagrams: A Canonical Representation for Verification of Data Flow Designsâ€™ â€“ Maciej Ciesielski, Priyank kalla, Serkan Askar

- Applied to reduce the graph.
- Move numeric values from nonzero terminal nodes to terminal edges.
- A reduced ordered TED representation
is normalized when:

- The weights assigned to edges spanning
Out of a node are prime.

- Numeric value 0 appears only in the terminal nodes.
- Graph contains no more than two terminal nodes.
Applying Normalization to example

- The weights assigned to edges spanning

F

A

B

B

C

2

0

1

2

â€˜Taylor Expansion Diagrams: A Canonical Representation for Verification of Data Flow Designsâ€™ â€“ Maciej Ciesielski, Priyank kalla, Serkan Askar

Like the apply operator in BDD, TEDâ€™s can be similarly composed, following specific rules.

Starting from root node of the two TEDâ€™s, the final TED is constructed by recursively:

- constructing all the non zero terms from two functions.
- combining the terms according to a given operation.
Rules:

Case 1: Nodes w and y with same index:

- 0-child is obtained by pairing 0-child of w,y.
- 1-child is obtained by the sum of two cross products of 0 and 1 children.
- 2-child is obtained by pairing the 1-children of w,y.
Case 2: Nodes w and y with different indices:

The node with the lower index is added to the 0-child of the node corresponding to variable

with higher index.

Case 3: Both the nodes are terminal nodes: val= val(w) + val(y) if add operation, val = val(w)*val(y) for

multiplication.

w

y

x

z

1

1

0

0

Apply composition and verify if the final TED is the same as the one constructed by expansion of the expression.

F = (A+B) (A+2C) = A2 + AB + 2AC + 2BC

Ordering : A,B,C

0-child is obtained by pairing 0-child of w,y.

w.y

A

A+B

A+2C

A

A

B

1

x.z

B

C

*

B

C

C

0.z

1.z

C

1.z

x.1

2

2

+

2

0

0

0

1

1

0

1

0

For terminal nodes,

val = val(u)*val(v)

1-child is obtained by the sum of two cross products of 0 and 1 children.

B

C

B

The node with the lower index is added to the 0-child of the node corresponding to variable with higher index.

x.1

C

0.z

2

1

0

0

w.y

The two TEDâ€™s are equal

A

On replacing

w.y

A

1

x.z

B

B

B

x.z

1.z

1.z

x.1

x.1

x.1

C

0.z

1.z

+

+

C

2

2

C

1.z

2

+

2

0

0

1

1

1

1

1

0

0

0

0

0

1

0

Given RTL design,

- Build TEDâ€™s for Primary Inputs
- Expansion of word level signals needed
- When one or more bits from i/p used in other parts of design.
- Then, TEDâ€™s constructed for all components of the design.
- TEDâ€™s for the primary outputs are generated by composing the TEDâ€™s in topological order from PI to PO.
- After constructing normalized TED for each design, the test for functional equivalence is performed by checking for isomorphism of the resulting graphs.

- Partitioning of word level signals into subvectors creates an issue for polynomial representation.
- Only finite Taylor expansionspermitted.
- They cannot represent relational operators in symbolic form.
- TEDs cannot represent modular arithmetic.

Salient features of TED:

- Represents arithmetic (word-level) operators and Boolean logic.
- Canonical(Based on Taylorâ€™s theorem which states the uniqueness of the Taylorâ€™s series representation of a function, evaluated at a particular point)

Applications

Useful for High-level synthesis, equivalence checking, symbolic simulation.

- Priyank Kalla, Maciej Ciesielski, Emmanuel Boutillon, Erric Martin, â€˜High-Level Design Verification using Taylor Expansion Diagrams: first Resultsâ€™
- Maciej Ciesielski, Priyank Kalla, Serkan Askar, â€˜Taylor Expansion Diagrams: A Canonical Representation for Verification of Data Flow Designsâ€™