fast spectral transforms and logic synthesis
DESCRIPTION
Fast Spectral Transforms and Logic Synthesis. DoRon Motter August 2, 2001. Introduction. Truth Table Representation Value provides complete information for one combination of input variables Provides no information about other combinations Spectral Representation - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/1.jpg)
Fast Spectral Transforms and Logic Synthesis
DoRon Motter
August 2, 2001
![Page 2: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/2.jpg)
Introduction
• Truth Table Representation– Value provides complete information for one
combination of input variables
– Provides no information about other combinations
• Spectral Representation– Value provides some information about the behavior of
the function at multiple points
– Does not contain complete information about any single point
![Page 3: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/3.jpg)
Spectral Transformation
• Synthesis– Many algorithms proposed leveraging fast
transformation
• Verification– Correctness may be checked more efficiently
using a spectral representation.
![Page 4: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/4.jpg)
Review – Linear Algebra
• Let M be a real-valued square matrix.– The transposed matrix Mt is found by interchanging
rows and columns– M is orthogonal if
MMt = MtM = I
– M is orthogonal up to the constant k if MMt = MtM = kI
– M-1 is the inverse of M if MM-1 = M-1M = I
– M has its inverse iff the column vectors of M are linearly independent
![Page 5: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/5.jpg)
Review – Linear Algebra
• Let A and B be (n n) square matrices
• Define the Kronecker product of A and B as
BBB
BBB
BBB
BA
nnnn
n
n
aaa
aaa
aaa
21
22221
11211
![Page 6: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/6.jpg)
Spectral Transform
• General Transform Idea– Consider the 2n output values of f as a column
vector F– Find some transformation matrix T(n) and
possibly its inverse T-1(n)– Produce RF, the spectrum of F, as a column
vector by• RF = T(n)F• F = T-1(n)RF
![Page 7: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/7.jpg)
Walsh-Hadamard Transform
• The Walsh-Hadamard Transform is defined:
1)0( T
)1()1(
)1()1()(
nn
nnn
TT
TTT
![Page 8: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/8.jpg)
Walsh-Hadamard Matrices
1111
1111
1111
1111
(2)
11
11)1(
T
Τ
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
(3)T
![Page 9: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/9.jpg)
Walsh-Hadamard Example
1
0
0
0
0
1
1
0
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
321321321321 ),,( xxxxxxxxxxxxf
![Page 10: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/10.jpg)
Walsh-Hadamard Example
1
0
0
0
0
1
1
0
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
321321321321 ),,( xxxxxxxxxxxxf
3
![Page 11: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/11.jpg)
Walsh-Hadamard Example
3
1
1
1
1
1
1
3
1
0
0
0
0
1
1
0
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
321321321321 ),,( xxxxxxxxxxxxf
![Page 12: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/12.jpg)
Walsh-Hadamard Example
6
1
1
1
2
2
2
2
1
1
1
1
1
1
1
1
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
321321321321 ),,( xxxxxxxxxxxxf
![Page 13: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/13.jpg)
Walsh-Hadamard Transform
• Why is it useful?– Each row vector of T(n) has a ‘meaning’
1
x1
x2
x1 x2
– Since we take the dot product of the row vector with F we find the correlation between the two
1111
1111
1111
1111
(2)T
![Page 14: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/14.jpg)
Walsh-Hadamard Transform
Constant, call it x0
x1
x2
x1 x2
x3
x1 x3
x2 x3
x1 x2 x3
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
(3)T
![Page 15: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/15.jpg)
Walsh-Hadamard Transform
• Alternate Definition
• Recursive Kronecker Structure gives rise to DD/Graph Algorithm
11
11)(
1
n
inT
![Page 16: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/16.jpg)
Walsh-Hadamard Transform
• Alternate Definition
• Note, T is orthogonal up to the constant 2:
in
ixn 211)(
1
T
IΤΤ 220
02
11
11
11
11)1()1(
t
![Page 17: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/17.jpg)
Decision Diagrams
• A Decision Diagram has an implicit transformation in its function expansion– Suppose
– This mapping defines an expansion of f
)1()(1TT
n
in
1
01 )1()1(f
ff TT
![Page 18: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/18.jpg)
Binary Decision Diagrams
• To understand this expansion better, consider the identity transformation
• Symbolically,
101
0
1
01 )1()1(
fxfxf
fxxf
f
ff
iiii
II
ii xxn
10
01)(T
![Page 19: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/19.jpg)
Binary Decision Diagrams
• The expansion of f defines the node semantics
• By using the identity transform, we get standard BDDs
• What happens if we use the Walsh Transform?
![Page 20: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/20.jpg)
Walsh Transform DDs
in
ixn 211)(
1
T
1010
1
0
1
01
212
1
11
11211
2
1
)1()1(
ffxfff
f
fxf
f
ff
i
i
TT
![Page 21: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/21.jpg)
Walsh Transform DDs
1010 212
1ffxfff i •
102
1ff 102
1ff
1 ix21
![Page 22: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/22.jpg)
Walsh Transform DDs
• It is possible to convert a BDD into a WTDD via a graph traversal.
• The algorithm essentially does a DFS
![Page 23: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/23.jpg)
Applications: Synthesis
• Several different approaches (all very promising) use spectral techniques– SPECTRE – Spectral Translation– Using Spectral Information as a heuristic– Iterative Synthesis based on Spectral
Transforms
![Page 24: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/24.jpg)
Thornton’s Method
• M. Thornton developed an iterative technique for combination logic synthesis
• Technique is based on finding correlation with constituent functions
• Needs a more arbitrary transformation than Walsh-Hadamard– This is still possible quickly with DD’s
![Page 25: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/25.jpg)
Thornton’s Method
• Constituent Functions– Boolean functions whose output vectors are the
rows of the transformation matrix– If we use XOR as the primitive, we get the
rows for the Walsh-Hadamard matrix• Other functions are also permissible
![Page 26: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/26.jpg)
Thornton’s Method
1. Convert the truth table F from {0, 1} to {1, -1}
2. Compute transformation matrix T using constituent functions {Fc(x)}
• Constituent functions are implied via gate library
3. Compute spectral coefficients
4. Choose largest magnitude coefficient
5. Realize constituent function Fc(x) corresponding to this coefficient
![Page 27: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/27.jpg)
Thornton’s Method
6. Compute the error e(x) = Fc(x) F with respect to some operator,
7. If e(x) indicates w or fewer errors, continue to 8. Otherwise iterate by synthesizing e(x)
8. Combine intermediate realizations of chosen {Fc(x)} using and directly realize e(x) for the remaining w or fewer errors
![Page 28: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/28.jpg)
Thornton’s Method
• Guaranteed to converge
• Creates completely fan-out free circuits
• Essentially a repeated correlation analysis
• Extends easily to multiple gate libraries
![Page 29: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/29.jpg)
Thornton’s Method: Example
• Step 1: Create the truth table using {-1, 1}322132131)( xxxxxxxxxxf
1111
1111
1111
1111
1111
1111
1111
1111321
Fxxx
![Page 30: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/30.jpg)
Thornton’s Method: Example
• Step 2: Compute transformation matrix T using constituent functions.
• In this case, we’ll use AND, OR, XOR
![Page 31: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/31.jpg)
Thornton’s Method: Example
1
x1
x2
x3
x1 x2
x1 x3
x2 x3
x1 x2 x3
x1 + x2
x1 + x3
x2 + x3
x1 + x2 + x3
x1x2
x1x3
x2x3
x1x2x3
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
![Page 32: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/32.jpg)
Thornton’s Method: Example
• Step 3: Compute spectral coefficients
• S[Fc(x)]= [-2, -2, 2, -2, 2, -2, 2, -6, 2,
-2, 2, 2, -2, -2, -2, -4]
• Step 4: Choose largest magnitude coefficient.– In this case, it corresponds to x1 x2 x3
![Page 33: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/33.jpg)
Thornton’s Method: Example
• Step 5: Realize the constituent function Fc
– In this case we use XNOR since the coefficient is negative
![Page 34: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/34.jpg)
Thornton’s Method: Example
• Step 6: Compute the error function e(x)– Use XOR as a robust error operator
111111
111111
111111
111111
111111
111111
111111
111111321
eFxxx cF
![Page 35: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/35.jpg)
Thornton’s Method: Example
• Step 7: Since there is only a single error, we can stop, and realize the final term directly
![Page 36: Fast Spectral Transforms and Logic Synthesis](https://reader036.vdocument.in/reader036/viewer/2022062321/56813b1f550346895da3d343/html5/thumbnails/36.jpg)
Conclusion
• The combination of spectral transforms and implicit representation has many applications
• Many ways to leverage the spectral information for synthesis