FastXFormSynths.ppt

download FastXFormSynths.ppt

of 36

Transcript of FastXFormSynths.ppt

  • 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