Upload
mkraokiran
View
214
Download
0
Embed Size (px)
Citation preview
7/30/2019 FastXFormSynths.ppt
1/36
Fast Spectral Transforms andLogic Synthesis
DoRon Motter
August 2, 2001
7/30/2019 FastXFormSynths.ppt
2/36
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 singlepoint
7/30/2019 FastXFormSynths.ppt
3/36
Spectral Transformation
Synthesis
Many algorithms proposed leveraging fast
transformation
Verification
Correctness may be checked more efficiently
using a spectral representation.
7/30/2019 FastXFormSynths.ppt
4/36
ReviewLinear Algebra
Let M be a real-valued square matrix.
The transposed matrix Mt is found by interchangingrows and columns
M is orthogonal if
MMt = MtM = I
M is orthogonal up to the constant kif
MMt = MtM = kI
M-1 is the inverse ofM if
MM
-1
= M-1
M = IM has its inverse iff the column vectors ofM are
linearly independent
7/30/2019 FastXFormSynths.ppt
5/36
ReviewLinear Algebra
Let A and B be (nn) square matrices
Define the Kronecker product of A and B as
BBB
BBB
BBB
BA
nnnn
n
n
aaa
aaaaaa
21
22221
11211
7/30/2019 FastXFormSynths.ppt
6/36
Spectral Transform
General Transform Idea
Consider the 2n output values of f as a columnvectorF
Find some transformation matrix T(n) andpossibly its inverse T-1(n)
Produce RF, the spectrum ofF, as a columnvector by
RF = T(n)F F = T-1(n)RF
7/30/2019 FastXFormSynths.ppt
7/36
Walsh-Hadamard Transform
The Walsh-Hadamard Transform is defined:
1)0( T
)1()1(
)1()1()(
nn
nnn
TT
TTT
7/30/2019 FastXFormSynths.ppt
8/36
Walsh-Hadamard Matrices
1111
1111
1111
1111
(2)
11
11)1(
T
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
(3)T
7/30/2019 FastXFormSynths.ppt
9/36
Walsh-Hadamard Example
1
00
0
0
1
1
0
11111111
1111111111111111
11111111
11111111
11111111
11111111
11111111
321321321321 ),,( xxxxxxxxxxxxf
7/30/2019 FastXFormSynths.ppt
10/36
Walsh-Hadamard Example
1
00
0
0
1
1
0
11111111
1111111111111111
11111111
11111111
11111111
11111111
11111111
321321321321 ),,( xxxxxxxxxxxxf 3
7/30/2019 FastXFormSynths.ppt
11/36
Walsh-Hadamard Example
3
11
1
1
1
1
3
1
00
0
0
1
1
0
11111111
1111111111111111
11111111
11111111
11111111
11111111
11111111
321321321321 ),,( xxxxxxxxxxxxf
7/30/2019 FastXFormSynths.ppt
12/36
Walsh-Hadamard Example
6
11
1
2
2
2
2
1
11
1
1
1
1
1
11111111
1111111111111111
11111111
11111111
11111111
11111111
11111111
321321321321 ),,( xxxxxxxxxxxxf
7/30/2019 FastXFormSynths.ppt
13/36
Walsh-Hadamard Transform
Why is it useful?
Each row vector ofT(n) has a meaning
1x1
x2
x1x2
Since we take the dot product of the row vector
with F we find the correlation between the two
1111
1111
11111111
(2)T
7/30/2019 FastXFormSynths.ppt
14/36
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
7/30/2019 FastXFormSynths.ppt
15/36
Walsh-Hadamard Transform
Alternate Definition
Recursive Kronecker Structure gives rise to
DD/Graph Algorithm
11
11)(
1
n
inT
7/30/2019 FastXFormSynths.ppt
16/36
Walsh-Hadamard Transform
Alternate Definition
Note, T is orthogonal up to the constant 2:
in
i
xn 211)(1
T
I 22002
1111
1111)1()1(
t
7/30/2019 FastXFormSynths.ppt
17/36
Decision Diagrams
A Decision Diagram has an implicit
transformation in its function expansion
Suppose
This mapping defines an expansion of f
)1()(1
TT
n
i
n
1
01
)1()1( f
f
fTT
7/30/2019 FastXFormSynths.ppt
18/36
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
7/30/2019 FastXFormSynths.ppt
19/36
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?
7/30/2019 FastXFormSynths.ppt
20/36
Walsh Transform DDs
in
ixn 211)(
1
T
1010
1
0
1
01
212
1
11
11211
2
1
)1()1(
ffxfff
f
fxf
fff
i
i
TT
7/30/2019 FastXFormSynths.ppt
21/36
Walsh Transform DDs
1010 212
1ffxfff i
1021
ff 1021
ff
1 ix21
7/30/2019 FastXFormSynths.ppt
22/36
Walsh Transform DDs
It is possible to convert a BDD into a
WTDD via a graph traversal.
The algorithm essentially does a DFS
7/30/2019 FastXFormSynths.ppt
23/36
Applications: Synthesis
Several different approaches (all very
promising) use spectral techniques
SPECTRESpectral Translation
Using Spectral Information as a heuristic
Iterative Synthesis based on Spectral
Transforms
7/30/2019 FastXFormSynths.ppt
24/36
Thorntons 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 DDs
7/30/2019 FastXFormSynths.ppt
25/36
Thorntons Method
Constituent Functions
Boolean functions whose output vectors are the
rows of the transformation matrix
If we use XOR as the primitive, we get therows for the Walsh-Hadamard matrix
Other functions are also permissible
7/30/2019 FastXFormSynths.ppt
26/36
Thorntons 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 library3. Compute spectral coefficients
4. Choose largest magnitude coefficient
5. Realize constituent functionFc(x) correspondingto this coefficient
7/30/2019 FastXFormSynths.ppt
27/36
Thorntons Method
6. Compute the errore(x) =Fc(x) F withrespect to some operator,
7. If e(x) indicates w or fewer errors,
continue to 8. Otherwise iterate bysynthesizing e(x)
8. Combine intermediate realizations ofchosen {F
c(x)} using and directly realize
e(x) for the remaining w or fewer errors
7/30/2019 FastXFormSynths.ppt
28/36
Thorntons Method
Guaranteed to converge
Creates completely fan-out free circuits
Essentially a repeated correlation analysis
Extends easily to multiple gate libraries
7/30/2019 FastXFormSynths.ppt
29/36
Thorntons Method: Example
Step 1: Create the truth table using {-1, 1}
322132131)( xxxxxxxxxxf
1111
1111
1111
1111
1111
1111
1111
1111
321
Fxxx
7/30/2019 FastXFormSynths.ppt
30/36
Thorntons Method: Example
Step 2: Compute transformation matrix T
using constituent functions.
In this case, well use AND, OR, XOR
7/30/2019 FastXFormSynths.ppt
31/36
Thorntons 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
7/30/2019 FastXFormSynths.ppt
32/36
Thorntons 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
7/30/2019 FastXFormSynths.ppt
33/36
Thorntons Method: Example
Step 5: Realize the constituent function FcIn this case we use XNOR since the coefficient
is negative
7/30/2019 FastXFormSynths.ppt
34/36
Thorntons Method: Example
Step 6: Compute the error function e(x)
Use XOR as a robust error operator
111111
111111
111111
111111
111111
111111
111111
111111
321
eFxxx cF
7/30/2019 FastXFormSynths.ppt
35/36
Thorntons Method: Example
Step 7: Since there is only a single error, we
can stop, and realize the final term directly
7/30/2019 FastXFormSynths.ppt
36/36
Conclusion
The combination of spectral transforms and
implicit representation has many
applications
Many ways to leverage the spectralinformation for synthesis