Fast Spectral Transforms and Logic Synthesis DoRon Motter August 2, 2001.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

Three Special Functions
Chapter 9 Approximating Eigenvalues
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Ch 7.7: Fundamental Matrices
Applied Informatics Štefan BEREŽNÝ
ECE 3110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices XOR, Parity Circuits, Comparators.
1 Combinational Logic Design&Analysis. 2 Introduction We have learned all the prerequisite material: – Truth tables and Boolean expressions describe functions.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
Quantum One: Lecture 16.
Linear Transformations
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
Calculating Spectral Coefficients for Walsh Transform using Butterflies Marek Perkowski September 21, 2005.
08/07/041 CSE-221 Digital Logic Design (DLD) Lecture-8:
1 COMP541 Combinational Logic Montek Singh Jan 16, 2007.
High-Performance Simulation of Quantum Computation using QuIDDs George F. Viamontes, Manoj Rajagopalan, Igor L. Markov, and John P. Hayes Advanced Computer.
Boolean Functions and their Representations
Ch 7.3: Systems of Linear Equations, Linear Independence, Eigenvalues
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
ECE 667 Synthesis and Verification of Digital Systems
Matrix Algebra THE INVERSE OF A MATRIX © 2012 Pearson Education, Inc.
Lecture 3. Boolean Algebra, Logic Gates
Boot Camp in Linear Algebra Joel Barajas Karla L Caballero University of California Silicon Valley Center October 8th, 2008.
New Approach to Quantum Calculation of Spectral Coefficients Marek Perkowski Department of Electrical Engineering, 2005.
ROM-based computations: quantum versus classical B.C. Travaglione, M.A.Nielsen, H.M. Wiseman, and A. Ambainis.
INDR 262 INTRODUCTION TO OPTIMIZATION METHODS LINEAR ALGEBRA INDR 262 Metin Türkay 1.
Boyce/DiPrima 9th ed, Ch 7.3: Systems of Linear Equations, Linear Independence, Eigenvalues Elementary Differential Equations and Boundary Value Problems,
Linear Algebra Review 1 CS479/679 Pattern Recognition Dr. George Bebis.
1 February 24 Matrices 3.2 Matrices; Row reduction Standard form of a set of linear equations: Chapter 3 Linear Algebra Matrix of coefficients: Augmented.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Presentation by: H. Sarper
Binary Decision Diagrams (BDDs)
CPS120: Introduction to Computer Science
Combinational Logic 1.
Boolean Algebra 1854, George Boole created a two valued algebraic system which is now called Boolean algebra. 1938, Claude Shannon adapted Boolean algebra.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Part 3 Chapter 11 Matrix Inverse and Condition Part A All images copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
2-1 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the.
Section 2.3 Properties of Solution Sets
4.4 Identify and Inverse Matrices Algebra 2. Learning Target I can find and use inverse matrix.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Functional Modeling.
Lecture 6 - Single Variable Problems & Systems of Equations CVEN 302 June 14, 2002.
Instructor: Mircea Nicolescu Lecture 8 CS 485 / 685 Computer Vision.
BOOLEAN ALGEBRA LOGIC GATES. Introduction British mathematician George Boole( ) was successful in finding the link between logic and mathematics.
Boot Camp in Linear Algebra TIM 209 Prof. Ram Akella.
1 Objective To provide background material in support of topics in Digital Image Processing that are based on matrices and/or vectors. Review Matrices.
4–1. BSCS 5 th Semester Introduction Logic diagram: a graphical representation of a circuit –Each type of gate is represented by a specific graphical.
Circuit Synthesis A logic function can be represented in several different forms:  Truth table representation  Boolean equation  Circuit schematic 
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
Boolean Algebra & Logic Gates
Dr.Ahmed Bayoumi Dr.Shady Elmashad
Linear Algebra Review.
CS479/679 Pattern Recognition Dr. George Bebis
Systems of First Order Linear Equations
Binary Decision Diagrams
Quantum One.
Numerical Analysis Lecture14.
Logic Gates.
Sungho Kang Yonsei University
Dr. Clincy Professor of CS
Matrix Definitions It is assumed you are already familiar with the terms matrix, matrix transpose, vector, row vector, column vector, unit vector, zero.
Math review - scalars, vectors, and matrices
ECE 352 Digital System Fundamentals
Matrix Algebra THE INVERSE OF A MATRIX © 2012 Pearson Education, Inc.
Circuit Simplification and
Presentation transcript:

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 –Value provides some information about the behavior of the function at multiple points –Does not contain complete information about any single point

Spectral Transformation Synthesis –Many algorithms proposed leveraging fast transformation Verification –Correctness may be checked more efficiently using a spectral representation.

Review – Linear Algebra Let M be a real-valued square matrix. –The transposed matrix M t is found by interchanging rows and columns –M is orthogonal if MM t = M t M = I –M is orthogonal up to the constant k if MM t = M t M = kI –M -1 is the inverse of M if MM -1 = M -1 M = I –M has its inverse iff the column vectors of M are linearly independent

Review – Linear Algebra Let A and B be (n  n) square matrices Define the Kronecker product of A and B as

Spectral Transform General Transform Idea –Consider the 2 n output values of f as a column vector F –Find some transformation matrix T(n) and possibly its inverse T -1 (n) –Produce R F, the spectrum of F, as a column vector by R F = T(n)F F = T -1 (n)R F

Walsh-Hadamard Transform The Walsh-Hadamard Transform is defined:

Walsh-Hadamard Matrices

Walsh-Hadamard Example

3

Walsh-Hadamard Transform Why is it useful? –Each row vector of T(n) has a ‘meaning’ 1 x 1 x 2 x 1  x 2 –Since we take the dot product of the row vector with F we find the correlation between the two

Walsh-Hadamard Transform Constant, call it x 0 x 1 x 2 x 1  x 2 x 3 x 1  x 3 x 2  x 3 x 1  x 2  x 3

Walsh-Hadamard Transform Alternate Definition Recursive Kronecker Structure gives rise to DD/Graph Algorithm

Walsh-Hadamard Transform Alternate Definition Note, T is orthogonal up to the constant 2:

Decision Diagrams A Decision Diagram has an implicit transformation in its function expansion –Suppose –This mapping defines an expansion of f

Binary Decision Diagrams To understand this expansion better, consider the identity transformation Symbolically,

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?

Walsh Transform DDs

1

Walsh Transform DDs It is possible to convert a BDD into a WTDD via a graph traversal. The algorithm essentially does a DFS

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

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

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

Thornton’s Method 1.Convert the truth table F from {0, 1} to {1, -1} 2.Compute transformation matrix T using constituent functions {F c (x)} Constituent functions are implied via gate library 3.Compute spectral coefficients 4.Choose largest magnitude coefficient 5.Realize constituent function F c (x) corresponding to this coefficient

Thornton’s Method 6.Compute the error e(x) = F c (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 {F c (x)} using  and directly realize e(x) for the remaining w or fewer errors

Thornton’s Method Guaranteed to converge Creates completely fan-out free circuits Essentially a repeated correlation analysis Extends easily to multiple gate libraries

Thornton’s Method: Example Step 1: Create the truth table using {-1, 1}

Thornton’s Method: Example Step 2: Compute transformation matrix T using constituent functions. In this case, we’ll use AND, OR, XOR

Thornton’s Method: Example 1 x 1 x 2 x 3 x 1  x 2 x 1  x 3 x 2  x 3 x 1  x 2  x 3 x 1 + x 2 x 1 + x 3 x 2 + x 3 x 1 + x 2 + x 3 x 1 x 2 x 1 x 3 x 2 x 3 x 1 x 2 x 3

Thornton’s Method: Example Step 3: Compute spectral coefficients S[F c (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 x 1  x 2  x 3

Thornton’s Method: Example Step 5: Realize the constituent function F c –In this case we use XNOR since the coefficient is negative

Thornton’s Method: Example Step 6: Compute the error function e(x) –Use XOR as a robust error operator

Thornton’s Method: Example Step 7: Since there is only a single error, we can stop, and realize the final term directly

Conclusion The combination of spectral transforms and implicit representation has many applications Many ways to leverage the spectral information for synthesis