Emmanuel Boutillon, Eric Martin LESTER, Universite de Britagne Sud Lorient, France. HighLevel Design Verification using Taylor Expansion Diagrams: First Results. Maciej Ciesielski ECE Department. Univ. of Massachusetts. Priyank Kalla ECE Department University of Utah. F(x). x. ….
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.
Emmanuel Boutillon, Eric Martin
LESTER, Universite de Britagne Sud
Lorient, France
Maciej Ciesielski
ECE Department.
Univ. of Massachusetts
Priyank Kalla
ECE Department
University of Utah
x
…
F(0)
F’(0)
F’’(0)/2
Taylor Expansion Diagram (TED)F(x) = F(0) + x F’(0) + ½ x2 F’’(0) + …
F(x=0) 0child    
F’(x=0) 1child
½ F’’(x=0) 2child======
etc.
F(x) = 0child+ x (1child) + x2(2child) + …
X2 = (8x3 + 4x2 + 2x1 + x0)2
(A+B)(A+2C)
64
x3
A
1
16
1
16
x2
x2
B
B
8
1
4
C
4
x1
x1
2
4
1
2
1
x0
x0
1
0
1
1
1
1
0
TED – a few ExamplesA,B,C: arbitrary word width
X decomposed in bits
TED: not a BDD, not a *BMD, not a decision diagram
A*C + B*C + A*D + B*D = (A+B)*(C+D)
(arbitrary wordwidth)
Computation
A[ i ]
B[ j ]

+
Sum of Differences
Array ProcessingFIFOs
16x16
PE Array
PE
2
Previous PE
Computation
A[ i ]
Sum
2
B[ j ]

+
Sum of Differences
Of squares
PE Computation: A[ i ] – B[ j ], 8bit vectors
Effect of array size
Size (# nodes)
Time [s]
2
2
PE Computation: A[ i ] – B[ j ], 8bit vectors
Effect of array size
Size ( nodes)
Time [s]
= out of memory
A = [an1, …,ak,…,a0] = [Ahi,ak,Alo], B = [bn1, …,bk,…,b0] = [Bhi,bk,Blo]
B
A
+
*
F2
A
F1

0
1
1
0
*
B

*
D
s2
ak
s1
ak
D
>
bk
bk
F2 = (1s2) (A2B2) + s2 D
s2 = ak’ bk = 1  ak + ak bk
F1 = s1(A+B)(AB) + (1s1)D
s1 = (ak > bk) = ak (1bk)
A = 2(k+1)Ahi + 2k ak + Alo B = 2(k+1)Bhi + 2 kbk + Blo
F1 = F2
D
ak
ak
bk
bk
1
1
Ahi
22k+2
1
Bhi
2k+2
22k+2
Alo
Alo
2k+2
Blo
2k+1
2k
2k
1
1
1
RTL Verification – cont’d.F1 = s1(A+B)(AB) + (1s1)D
A = [Ahi, ak, Alo]
B = [Bhi, bk, Blo]
s1 = (ak > bk) = ak (1bk)
0
Vary k = size of Boolean logic
Time [s]
Size (nodes)
A1
FFT(A)
A2
FAB1
IFFT0
A3
IFFT1
FAB2
InvFFT(FAB)
IFFT2
FAB2
B0
IFFT3
FAB3
B1
FFT(B)
B2
B3
x
x
x
x
C0
A[0:3]
C1
Conv(A,B)
C2
B[0:3]
C3
Verification of Algorithmic SpecificationsA2
A1
A3
B0
B3
B1
4
0
Isomorphic TEDs: IFFT(i) Conv(i)IFFT0 = C0 = 4{ A0*B0 + A1*B3 + A2*B2 + A3*B1}
4
2
3
1
0
2
3
2
X
X
0
4
3
=
X
X
=
Y
4
3
Y
=
*
Y
Y
2
1
4
0
3
2
1
0
1
3
1
+
= 0
1
1
0
0
Applications to Galois Field Computationslet be primitive element of GF(8)
Compact
Linear for polynomials of arbitrary degree
TED for Xk, k = const, with n bits, hask(n1)+1 nodes
*BMD is polynomial in n
Can contain symbolic, wordlevel, and Boolean variables
It is not a Decision Diagram
X2 = (8x3 + 4x2 + 2x1 + x0)2
64
x3
1
16
16
x2
x2
8
1
4
4
x1
x1
4
1
2
1
x0
x0
1
1
1
1
0
Properties of TEDn = 4, k = 2
PE Computation: A[ i ] – B[ j ]
A[ i ], B[ j ]:8bit vectors
2
2
PE Computation: A[ i ] – B[ j ]
A[ i ], B[ j ]: 8bit vectors
Vary k = size of Boolean logic