Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits using Binary Moment Diagrams” by.

Slides:



Advertisements
Similar presentations
Boolean Algebra and Logic Gates
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Chapter 2 Logic Circuits.
Combinational Circuits. Analysis Diagram Designing Combinational Circuits In general we have to do following steps: 1. Problem description 2. Input/output.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Grouping Heuristics for Word-Level Decision Diagrams Rolf DrechslerMarc HerbstrittBernd Becker Institute of Computer Science University of Freiburg
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.
ECE 331 – Digital System Design
Cpe 252: Computer Organization1 Lo’ai Tawalbeh Lecture #2 Standard combinational modules: decoders, encoders and Multiplexers 1/3/2005.
DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
Section 10.3 Logic Gates.
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
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
ECE 331 – Digital System Design
ECE 301 – Digital Electronics
By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams:
Propositional Calculus Math Foundations of Computer Science.
CS 105 Digital Logic Design
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
1 CHAPTER 4: PART I ARITHMETIC FOR COMPUTERS. 2 The MIPS ALU We’ll be working with the MIPS instruction set architecture –similar to other architectures.
Outline Analysis of Combinational Circuits Signed Number Arithmetic
3-1 Chapter 3 - Arithmetic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles of Computer Architecture.
Chapter 3.5 Logic Circuits. How does Boolean algebra relate to computer circuits? Data is stored and manipulated in a computer as a binary number. Individual.
ADDERS Half Adders Recall that the basic rules of binary addition are as indicated below in Table 2-9. A circuit known as the half-adder carries out these.
Discrete Mathematics CS 2610 February 19, Logic Gates: the basic elements of circuits Electronic circuits consist of so-called gates connected.
Chapter 4 – Arithmetic Functions and HDLs Logic and Computer Design Fundamentals.
Topic: Arithmetic Circuits Course: Digital Systems Slide no. 1 Chapter # 5: Arithmetic Circuits.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
IKI b-Arithmetic Logic Unit (ALU) Bobby Nazief Semester-I The materials on these slides are adopted from: CS231’s Lecture Notes at UIUC,
Gate-Level Minimization
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 8 Arithmetic.
Digital Logic Design (CSNB163)
CS 105 DIGITAL LOGIC DESIGN Chapter 4 Combinational Logic 1.
Topics covered: Arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
Boolean Algebra and Logic Gates CSE-1108 Ahsanullah University of Science and Technology (AUST)
Outline Binary Addition 2’s complement Binary Subtraction Half Adder
1 Chapter 4 Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables,
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 9 Boolean Algebras and Combinatorial Circuits.
Karnaugh Map and Circuit Design.
Chapter 4 Register Transfer and Microoperations Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2010.
1 Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits with Binary Moment Diagrams” by Randal.
Module 11.  In Module 9, we have been introduced to the concept of combinational logic circuits through the examples of binary adders.  Meanwhile, in.
1 Ethics of Computing MONT 113G, Spring 2012 Session 4 Binary Addition.
ECE DIGITAL LOGIC LECTURE 15: COMBINATIONAL CIRCUITS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 10/20/2015.
Explain Half Adder and Full Adder with Truth Table.
LOGIC CIRCUITLOGIC CIRCUIT. Goal To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations.
Logic Design (CE1111 ) Lecture 4 (Chapter 4) Combinational Logic Prepared by Dr. Lamiaa Elshenawy 1.
Gunjeet Kaur Dronacharya Group of Institutions. Binary Adder-Subtractor A combinational circuit that performs the addition of two bits is called a half.
Chapter 12. Chapter Summary Boolean Functions Representing Boolean Functions Logic Gates Minimization of Circuits (not currently included in overheads)
Prof. Sin-Min Lee Department of Computer Science
Combinational Circuits
Chapter 4 Register Transfer and Microoperations
Combinational Circuits
Computer Architecture CST 250
ECE 667 Synthesis and Verification of Digital Systems
King Fahd University of Petroleum and Minerals
Binary Decision Diagrams
13 Digital Logic Circuits.
Digital System Design Combinational Logic
Overview Part 1 – Design Procedure Part 2 – Combinational Logic
A logic function f in n inputs x1, x2, ...xn and
Chapter-4 Combinational Logic
XOR Function Logic Symbol  Description  Truth Table 
Overview of Digital Electronics
A logic function f in n inputs x1, x2, ...xn and
Presentation transcript:

Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits using Binary Moment Diagrams” by Randal E. Bryant and Yirng-An Chen

Outline Introduction Binary Moment Diagrams (BMDs) MTBDDs, BMDs *BMDs - Illustration Construction rules of *BMDs Boolean functions using *BMDs Word level Operations using *BMDs Verification using *BMDs Summary

Introduction Some function representations discussed in this course Sum of the Product form Factored forms Truth Table Binary Decision Diagrams Simple in representing and manipulating Boolean functions Reduced Ordered BDDs are canonical (useful for verification) Drawbacks of BDDs Does not handle functions with non-Boolean range Bit level representation but specs are in word level Not good in terms of memory for multiplications Consider a 32 bit multiplication using BDDs M Ciesielski, D K Pradhan and A M Jabir, “Decision diagrams for verification”, chapter-7, Practical Design Verification.

Shannon Expansion Boolean function f decomposed in terms of a variable x can be represented by Shannon expansion as f = x fx + x’ fx’ Function decomposed into positive and negative co-factors at the node variable x fx = f(x=1) fx ’ = f(x=0) Point-wise decomposition

Binary Moment Diagrams (BMDs) Modified Shannon Expansion Boolean variable treated as a binary (0,1) integer variable Complement of x modeled as (1-x) Now the function can be represented as f = x fx + x’ fx’ = x fx + (1-x) fx’ = fx’ + x (fx - fx’ ) = fx’ + x fx Function is branched into two components Constant Component (Negative co-factor) Linear Component Comparison with shannon expansion for Boolean M Ciesielski, D K Pradhan and A M Jabir, “Decision diagrams for verification”, chapter-7, Practical Design Verification.

Binary Moment Diagrams (BMDs) from truth table For variable y, y = 1 is encoded as y y = 0 is encoded as (1-y) With this encoding, linear expression can be directly obtained from the truth table Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995

Representation with MTBDDs and BMDs Multi Terminal BDDs Extending BDDs to allow numeric leaf values Point-wise decomposition based on Shannon expansion BMDs Linear moment decomposition Dotted node represents constant moment and solid line represents linear moment Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995

Multiplicative BMDs (*BMDs) BMDs simply encode the numerical values into terminal vertices. In *BMDs edge weights are used to share any common sub-expressions. *BMDs Not decision diagrams as they are based on the moment decomposition Multiplicative diagrams – each path is a product of nodes and the edge weights Function is evaluated by adding all the encoded paths like in BDDs

BMD reduction rules Irredundancy Merge the duplicates When a linear moment of at a node v is 0, the function has only a constant term and thus does not depend on ‘v’. Hence node ‘v’ can be removed. Merge the duplicates Similar to BDDs Two nodes with same index variable and having same two moments can be merged. M Ciesielski, D K Pradhan and A M Jabir, “Decision diagrams for verification”, chapter-7, Practical Design Verification.

Normalization of weights Rules imposed on manipulating edge weights to make the graph canonical Normalized by factoring out gcd of the argument weights w=gcd(wl(x),wh(x)) Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995

Illustration f=8-20z+2y+4yz+12x+24xz+15xy Variable order (say) x,y,z f= fx’ + x fx Linear = fx Constant = fx’ x 8+2y+4yz-20z 12+15y+24z y y 8-20z 12+24z 4z+2 z z z 8 -20 2 4 12 24 15

Illustration x y y z z z 2 -5 1 2 1 2 5 f=8-20z+2y+4yz+12x+24xz+15xy Variable order (say) x,y,z Introducing the edge weights x 8+2y+4yz-20z 12+15y+24z 2 3 4+y+2yz-10z y 4+5y+8z y 4-10z 8z+4 2 4 2-5z 2z+1 2z+1 z z z 2 -5 1 2 1 2 5

Illustration x y y z z 1 f=8-20z+2y+4yz+12x+24xz+15xy = 8-20z+2y (1+2z) + 12x(1+2z) +15xy Variable order (say) x,y,z *BMD after reduction x 2 3 4+y+2yz-10z y 4+5y+8z y 2 4 2-5z 5 z z 2z+1 2 -5 2 1

Illustration BMD and *BMD Unsigned integer: X = 8x3 + 4x2 + 2x1 + x0 x3 8 x2 x1 x0 4 2 1 BMD 1 x0 x1 x2 2 4 x3 8 *BMD Slide taken from Prof. Ciesielski’s TED presentation.

Representation of Integers Unsigned – sum of the weighted bits Signed – Two’s complement, Sign-Magnitude Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995

Representation of Boolean Logic NOT : x’ = (1-x) AND: x.y OR: x+y-(x.y) XOR: x+y-2(x.y) x x x x y y y y y -1 -1 -2 1 1 1 1 NOT AND OR XOR M Ciesielski, D K Pradhan and A M Jabir, “Decision diagrams for verification”, chapter-7, Practical Design Verification.

Representation of word level operations - Addition SUM X+Y Both X and Y here are 3 bit wide X= 4x2+2x1+x0 Y= 4y2+2y1+y0 X+Y = (4x2+2x1+x0)+(4y2+2y1+y0) = 4*(x2 +y2) + 2*(x1 +y1) + (x0 +y0) Linear with n- #bits Why is it called word level? Bit level vs word level in *BMDs - example x2 y2 4 x1 4 y1 2 2 x0 1 y0 1 1 M Ciesielski, D K Pradhan and A M Jabir, “Decision diagrams for verification”, chapter-7, Practical Design Verification.

Bit level representation of addition Derived using gate level representation of the circuit Sum using XORs and carry using AND, OR gates Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995

Representation of word level operations - Product Product X*Y Both X and Y here are 3 bit wide X= 4x2+2x1+x0 Y= 4y2+2y1+y0 X*Y = (4x2+2x1+x0)*(4y2+2y1+y0) = 4x2 *(4y2+2y1+y0) + 2x1 *(4y2+2y1+y0) + x0*(4y2+2y1+y0) Variable order x2x1x0y2y1y0 Linear with n- #bits x2 x1 4 x0 2 1 y2 4 y1 2 y0 1 1 M Ciesielski, D K Pradhan and A M Jabir, “Decision diagrams for verification”, chapter-7, Practical Design Verification.

Verification Problem Goal: To prove equivalence between the bit level circuit and word level specification Circuit output interpreted as word should match the specification when applied to word level interpretations of the input Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995

Hierarchical verification using *BMDs *BMDs can represent both bit level and word level functions efficiently Circuit partitioned into component modules based on word level structures Each component verified against the word level specification Word level functions are composed and compared to overall circuit specification Addition Compute P using the bitwise *BMD results Compare the *BMD for P with the word level representation of X+Y

Hierarchical verification using *BMDs Multiplication Circuits like multipliers cannot be verified efficiently at bit level (why?) Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995

Hierarchical verification using *BMDs Each box (i,j) represents a cell containing an AND gate to form the partial product and a Full Adder (FA) to add this bit to the product Vertical rectangles indicate the word level partitioning of the circuit Add Stepi has input multiplicand word X One bit multiplier yi Partial sum input word Pi Generates a output word Po using Verification involves Checking each component Composition of word level functions matching integer multiplication

Results Number of multiplier circuits with different word sizes are used (16 bit, 64 bit and 256 bit) Metrics – CPU minutes and memory Maximum 33 min on 256 bit word and 14.4 MB of memory Can verify circuits with upto 256 bit word sizes requiring 653,056 logic gates Ochi et. al verified successfully 15 bit word size using 12 million vertices Increasing one bit increases number of vertices by 2.7 Jain et al used Indexed BDDs to verify multipliers It took almost 4 hours of CPU time Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995

Summary *BMDs for mapping Boolean variables to numeric values Construction of *BMDs reduction rules Normalization Representing Boolean logic Word level Hierarchical verification Component verification Word level comparison

References [1] Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995 [2] M Ciesielski, D K Pradhan and A M Jabir, “Decision diagrams for verification”, chapter-7, Practical Design Verification

Thank You!