ECE 667 - Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Advertisements

Boolean Algebra and Logic Gates
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Factorization of DSP Transforms using Taylor Expansion Diagram
Chapter 2 Logic Circuits.
IT University of Copenhagen Lecture 7: BDD Construction and Manipulation 1. BDD construction 2. Boolean operations on BDDs 3. BDD-Based configuration.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits using Binary Moment Diagrams” by.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
ECE 667 Student Presentation Gayatri Prabhu [1]. *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification – Y. Chen, R. Bryant,
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
Department of Electrical and Computer Engineering M.A. Basith, T. Ahmad, A. Rossi *, M. Ciesielski ECE Dept. Univ. Massachusetts, Amherst * Univ. Bretagne.
ECE 331 – Digital System Design
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.
CS 151 Digital Systems Design Lecture 6 More Boolean Algebra A B.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Boolean Functions and their Representations
Rolf Drechlser’s slides used
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
ENGG3190 Logic Synthesis “Binary Decision Diagrams” BDDs Winter 2014 S. Areibi School of Engineering University of Guelph.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
ECE 667 Synthesis and Verification of Digital Systems
IT University of Copenhagen Lecture 8: Binary Decision Diagrams 1. Classical Boolean expression representations 2. If-then-else Normal Form (INF) 3. Binary.
1 High-Level Design Verification using Taylor Expansion Diagrams: First Results Priyank Kalla ECE Department University of Utah Maciej Ciesielski ECE Department.
By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams:
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Boolean Algebra and Logic Simplification
Chapter 2: Boolean Algebra and Logic Functions
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Polynomial Datapaths Optimization Using Finite Abstract Algebra(I) Presenter: 陳炳元 Graduate Institute of Electronics Engineering Graduate Institute of Electronics.
Binary Decision Diagrams (BDDs)
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
Exploiting Vanishing Polynomials for Equivalence Verification of Fixed-Size Arithmetic Datapaths Namrata Shekhar, Priyank Kalla, Florian Enescu, Sivaram.
SIMULATION BOUNDS FOR EQUIVALENCE VERIFICATION OF ARITHMETIC DATAPATHS WITH FINITE WORD-LENGTH OPERANDS Namrata Shekhar, Priyank Kalla, M. Brandon Meredith.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Ajay K. Verma, Philip Brisk and Paolo Ienne Processor Architecture Laboratory (LAP) & Centre for Advanced Digital Systems (CSDA) Ecole Polytechnique Fédérale.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
ENGIN112 L6: More Boolean Algebra September 15, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 6 More Boolean Algebra A B.
Verifying Programs with BDDs Topics Representing Boolean functions with Binary Decision Diagrams Application to program verification class-bdd.ppt
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
1 ECE 545—Digital System Design with VHDL Lecture 1 Digital Logic Refresher Part A – Combinational Logic Building Blocks.
1 Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits with Binary Moment Diagrams” by Randal.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 4 Dr. Shi Dept. of Electrical and Computer Engineering.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
IT 60101: Lecture #121 Foundation of Computing Systems Lecture 13 Trees: Part VIII.
Basics Combinational Circuits Sequential Circuits
ECE 667 Synthesis and Verification of Digital Systems
Binary Decision Diagrams
COMS 361 Computer Organization
Binary Decision Diagrams
A logic function f in n inputs x1, x2, ...xn and
Binary Decision Diagrams
A logic function f in n inputs x1, x2, ...xn and
Verifying Programs with BDDs Sept. 22, 2006
10 Design Verification and Test
Presentation transcript:

ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level (decision) Diagrams BMDs, TEDs

ECE Synthesis & Verification - Lecture 18 2 Outline Review of design representations – –common representations of Boolean and arithmetic functions Motivation for word-level diagrams – –RTL synthesis, verification and verification – –Need more abstract representation Higher level “decision” diagrams – –Binary Moment Diagram (BMD) – word level – –Taylor Expansion Diagram (TED) – symbolic level

ECE Synthesis & Verification - Lecture 18 3 Motivation – Design Representation Complex RTL designs – –Data flow and control Interaction – –Arithmetic and Boolean – –Data flow and control B A s 1010 F D akak bkbk > + * - Validate an RTL design –Generate functional tests (SAT problem) Verify equivalence of two RTL designs B A s 0101 F D akak bkbk <= + * -

ECE Synthesis & Verification - Lecture 18 4 Design Representations Boolean functions ( f : B  B ) – –Truth table, Karnaugh map – –SoP, PoS, ESoP – –Reed-Muller expansions (XOR-based) – –Decision diagrams (BDD, ZDD, etc.) Arithmetic functions ( f : B  Int ) – –Binary Moment Diagrams (*BMD, K*BMD, *PHDD) – –Multi-terminal, Algebraic Decision Diagrams (ADD) Arithmetic functions (f : Int  Int ) – –Taylor Expansion Diagrams (TED)

ECE Synthesis & Verification - Lecture 18 5 Canonical Representations Each minimal, canonical representation is characterized by – –Decomposition type Shannon, Davio, moment decomposition, Taylor exp., etc. – –Reduction rules Redundant nodes, isomorphic sub-graphs, etc. – –Composition method (“APPLY”, or compose rule) What they represent – –Boolean functions (f : B  B) – –Arithmetic functions (f : B  Int ) – –Algebraic expressions (f : Int  Int )

ECE Synthesis & Verification - Lecture 18 6 Decomposition Types Shannon expansion (used in BDDs) f = x f x + x’ f x’ Moment decomposition (BMD): replace x’=1-x, f = x f x + (1-x) f x’ = f x’ + x f  x where f  x = f x - f x’ – –also called positive Davio decomposition

ECE Synthesis & Verification - Lecture 18 7 Binary Moment Diagrams (* BMD ) Devised for word-level operations, arithmetic Based on modified Shannon expansion (positive Davio) f = x f x + x’ f x’ = x f x + (1-x) f x’ = f x’ + x (f x - f x’ ) = f x’ + x f  x where f x’ = f x=0, is zero moment f  x = (f x - f x’ ) is first moment, first derivative Additive and multiplicative weights on edges (*BMD)

ECE Synthesis & Verification - Lecture 18 8 *BMD - Construction Unsigned integer: X = 8x 3 + 4x 2 + 2x 1 + x 0 X(x 3 =1) = 8 + 4x 2 + 2x 1 + x 0 x3 X(x 3 =0) = 4x 2 + 2x 1 + x 0 X  x3 = 8 8 x2 x1 x x1 x x3 8 BMD *BMD Multiplicative edges

ECE Synthesis & Verification - Lecture 18 9 *BMD - Word Level Representation Efficiently modeling symbolic word-level operators Word level x0 x1 x y0 y1 y x0 x1 x2 y0 y1 y Word level X+Y X Y

ECE Synthesis & Verification - Lecture Limitations of * BMD *BMD requires bit-level expansion – –works on Boolean fundamentals – –modeled with constant and first moment only BMD representation of F = X 2, X={x 2, x 1, x 0 } 1 0 x0 x1 x2 x1 x

ECE Synthesis & Verification - Lecture Are BDDs and *BMDs sufficiently High Level? Both are canonical for fixed variable order BDDs – –Good for equivalence checking and SAT – –Inefficient for large arithmetic circuits (multipliers) BMDs – –Efficient for word-level operators – –Less compact for Boolean logic than BDDs – –Good for equivalence checking, but not for SAT – –Insufficient for high-order arithmetic expressions

ECE Synthesis & Verification - Lecture Symbolic Level Representation Can we devise a more general representation than “word-level” *BMD ? X + Y 1 0 X Y Symbolic level X Y 1 0 X Y Symbolic level

ECE Synthesis & Verification - Lecture Taylor Expansion Diagram (TED) Function F treated as a continuous functionFunction F treated as a continuous function Taylor Expansion (around x=0):Taylor Expansion (around x=0): F(x) = F(0) + x F’(0) + ½ x 2 F’’(0) + … Notation:Notation: –F 0 (x) = F(x=0) 0-child –F 1 (x) = F’(x=0) 1-child –F 2 (x) = ½ F’’(x=0) 2-child ====== –etc. F(x) = F 0 (x) + x F 1 (x) + x 2 F 2 (x) + … F(x) = F 0 (x) + x F 1 (x) + x 2 F 2 (x) + … x F 0 (x) F 1 (x) F 2 (x) … F(x)

ECE Synthesis & Verification - Lecture Construction - Your First TED F = A 2 B + 2C + 3 A F 0 (A) = F | A=0 = 2C + 3 F 1 (A) = F’ | A=0 = 2AB | A=0 = 0 F 2 (A) = ½ F’’ | A=0 = B B 10 A G= 2C + 3 H 0 (B) = B | B=0 = 0 H 1 (B) = B’ = 1 C G 0 (C) = (2C+3) | C=0 = 3 G 1 (C) = (2C+3)’ = 2 B C 23 H (normalization will move weights from terminals to edges)

ECE Synthesis & Verification - Lecture TED – a few Examples 1 x0 x1 x2 x x0 x1 x (A+B)C B C A 1 (A+B)(A+2C) 1 0 B C A B 1 2

ECE Synthesis & Verification - Lecture TED Reduction Rules - 1 a) Nodes with all empty edges 1.Eliminate redundant nodes: b) with only a constant term 0 f = 0 a a + g(b) = g(b), independent of a f = 0 a a + 0 = 0 a 0 f a b 0 f g b g

ECE Synthesis & Verification - Lecture TED Reduction Rules Merge isomorphic subgraphs (identical nodes) (A 2 + 5A + 6)(B + C) A B C B B C C A B C

ECE Synthesis & Verification - Lecture TED Normalization TED is normalized if – –there are no more than two terminal nodes: 0 and 1 – –weights of edges of a given node must be relatively prime (to allow sharing isomorphic graphs) 2 6 B A 2 2A + 2B + 6 normalized 3 0 B A B A (A + B + 3)

ECE Synthesis & Verification - Lecture Normalization - Example (A 2 + 5A + 6)(B + C) A B C B B C C A B C A B C B B C C 6 5 1

ECE Synthesis & Verification - Lecture TED: Composition (APPLY operation) Operation depends on relative order of variables x, y – –if x = y, then z = x, and h(x) = f(x) OP g(x) = f 0 (x) OP g 0 (y) + x [f 1 (x) OP g 1 (y)] + x 2 [f 2 (x) OP g 2 ], … – –if x > y, then z = x, and h(x) = f 0 (x) OP g(y) + x [f 1 (x) OP g(y)] + x 2 [f 2 (x) OP g], … – –else …. u f x v g y OP = Recursive composition of nodes, starting at the top h = f OP g q z OP = (+, -, )

ECE Synthesis & Verification - Lecture APPLY Operation - Example * A+B A B = A 0 5 C A+2C A B C C B C B = B C (A+B)(A+2C) C A BB 2

ECE Synthesis & Verification - Lecture Properties of TED Canonical (if ordered, reduced, normalized) Linear for polynomials of arbitrary degree Can contain word-level, and Boolean variables TEDs can be manipulated (add, mult) using simple APPLY operator, similar to BDD or BMD: f = g + h; APPLY(+, g, h) f = g * h; APPLY(*, g, h) f = g – h; APPLY(+, g, APPLY(*, -1, h))

ECE Synthesis & Verification - Lecture Properties of TED Canonical Compact Linear for polynomials of arbitrary degree – –TED for X k, k = const, with n bits, has k(n-1)+1 nodes. Can contain symbolic, word-level, and Boolean variables It is not a Decision Diagram 1 x0 x1 x2 x x0 x1 x X 2 =(8x 3 +4x 2 +2x 1 +x 0 ) 2 n = 4, k = 2

ECE Synthesis & Verification - Lecture TED for Boolean logic AND 1 0 x y x  y = x y 10 x 1 x’ = (1-x) NOT OR x  y = (x + y – x y) 1 0 x yy 1 XOR x 1 0 yy -2 1 x  y = (x + y – 2 x y) Needed to model arithmetic-Boolean interface Same as *BMD for Boolean logic

ECE Synthesis & Verification - Lecture TED for Arithmetic Circuits Arithmetic circuits contain related word-level (A, B) and Boolean (a k, b k ) variables A = [ a n-1, …, a k, …,a 0 ] = 2 (k+1) A hi + 2 k a k + A lo B A s1s F1F1 D akak bkbk > + * - s 1 = a k (1-b k ) A hi A lo 0 1 2k2k 2 (k+1) AhiAhi akak A lo

ECE Synthesis & Verification - Lecture Applications to RTL Verification Equivalence checking with TEDs – –interacting word-level and Boolean variables A B s2s F2F2 bkbk akak * * - D B A s1s F1F1 D akak bkbk > + * - F 1 = s 1 (A+B)(A-B) + (1-s 1 )D s 1 = (a k > b k ) = a k (1-b k ) F 2 = (1-s 2 ) (A 2 -B 2 ) + s 2 D s 2 = a k ’  b k = 1 - a k + a k b k A = [a n-1, …,a k,…,a 0 ] = [A hi,a k,A lo ], B = [b n-1, …,b k,…,b 0 ] = [B hi,b k,B lo ]

ECE Synthesis & Verification - Lecture RTL Verification – cont’d. Related word-level and Boolean variables F 1 = s 1 (A+B)(A-B) + (1-s 1 )D A = [A hi, a k, A lo ] B = [B hi, b k, B lo ] s 1 = (a k > b k ) = a k (1-b k ) 1 akak 1 A hi D akak bkbk bkbk B hi A lo B lo 2k2k 1 2 2k+2 2 k+2 -2 k k+2 F 1 = F 2 A lo 1 2 k+1 2k2k This is a common (isomorphic) TED for both designs: TED(F1)  TED(F2)

ECE Synthesis & Verification - Lecture Verification of Algorithmic Specifications x x x x FAB1 FAB2 FAB3 A0 A1 A3 A2 B0 B1 B2 B3 FFT(A) FFT(B) IFFT0 IFFT1 IFFT3 IFFT2 InvFFT(FAB) A[0:3] B[0:3] C0 C1 C2 C3 Conv(A,B) Use TED to prove equivalence: IFFT i =C i  

ECE Synthesis & Verification - Lecture Summary Features of TED – –Canonical, minimal, normalized – –Compact (linear for polynomials) – –Represents word-level blocks and Boolean logic Applications – –Equivalence checking, RTL verification – –Symbolic simulation (representation) – –Algorithm verification Open problems – –Satisfiability, functional test generation – –Finite precision arithmetic