Ajay K. Verma, Philip Brisk and Paolo Ienne Processor Architecture Laboratory (LAP) & Centre for Advanced Digital Systems (CSDA) Ecole Polytechnique Fédérale.

Slides:



Advertisements
Similar presentations
ADDER, HALF ADDER & FULL ADDER
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Chapter 2 Logic Circuits.
Architectural Improvement for Field Programmable Counter Array: Enabling Efficient Synthesis of Fast Compressor Trees on FPGA Alessandro Cevrero 1,2 Panagiotis.
ECE 331 – Digital System Design
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapter 2 – Part 4.
DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.
Reducing Multi-Valued Algebraic Operations to Binary J.-H. Roland Jiang Alan Mishchenko Robert K. Brayton Dept. of EECS University of California, Berkeley.
Circuit Optimization Goal: To obtain the simplest implementation for a given function Optimization is a more formal approach to simplification that is.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
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)
ECE 667 Synthesis and Verification of Digital Systems
Canonical Forms and Logic Miniminization
ENEE244-02xx Digital Logic Design Lecture 7. Announcements Homework 3 due on Thursday. Review session will be held by Shang during class on Thursday.
Grover’s Algorithm in Machine Learning and Optimization Applications
1 CSE 20: Lecture 7 Boolean Algebra CK Cheng 4/21/2011.
Part 2: DESIGN CIRCUIT. LOGIC CIRCUIT DESIGN x y z F F = x + y’z x y z F Truth Table Boolean Function.
1 CK Cheng CSE Dept. UC San Diego CSE 140, Lecture 2 Combinational Logic.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Boolean Algebra and Logic Simplification. Boolean Addition & Multiplication Boolean Addition performed by OR gate Sum Term describes Boolean Addition.
Digital Logic Design Adil Waheed. BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION AND gate F = A.B OR gate F = A + B NOT gate F = A NAND gate F = A.B NOR gate.
Boolean Algebra and Logic Simplification
Chapter 2: Boolean Algebra and Logic Functions
Ajay K. Verma, Philip Brisk and Paolo Ienne Processor Architecture Laboratory (LAP) & Centre for Advanced Digital Systems (CSDA) Ecole Polytechnique Fédérale.
KU College of Engineering Elec 204: Digital Systems Design
Philip Brisk 2 Paolo Ienne 2 Hadi Parandeh-Afshar 1,2 1: University of Tehran, ECE Department 2: EPFL, School of Computer and Communication Sciences Efficient.
Lecture 4 Logic gates and truth tables Implementing logic functions
 Seattle Pacific University EE Logic System DesignSOP-POS-1 The Connection: Truth Tables to Functions abcF abcF
Digital Logic Basics Chapter 2 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 
Department of Computer Engineering
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 2 – Combinational Logic Circuits Part 2.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
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.
CSI-2111 Computer Architecture Ipage Revision  Objective : To examine basic concepts of: –2.1 Numbering Systems –2.2 Binary Numbers –2.3 Boolean.
Ajay K. Verma, Philip Brisk and Paolo Ienne Processor Architecture Laboratory (LAP) & Centre for Advanced Digital Systems (CSDA) Ecole Polytechnique Fédérale.
Module 9.  Digital logic circuits can be categorized based on the nature of their inputs either: Combinational logic circuit It consists of logic gates.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Circuit Optimization Logic and Computer Design Fundamentals.
Logic and Computer Design Simon Petruc-Naum CS 147 – Dr. S.M. Lee.
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
CSE 140, Lecture 2 Combinational Logic
Elements of discrete devices synthesis (module T170M012) 2012 Kaunas university of technology Electronic and measurement systems dep. Doc. dr. Žilvinas.
Venn Diagram – the visual aid in verifying theorems and properties 1 E.
1 ENGG 1015 Tutorial Digital Logic (II) (70 pages) 15 Oct Learning Objectives  Learn about Boolean Algebra (SoP/PoS, DrMorgan's Theorem, simplification),
+ CS 325: CS Hardware and Software Organization and Architecture Gates and Boolean Algebra Part 3.
Abstract To present a novel logic synthesis method to reduce the area of XOR-based logic functions. Idea: To exploit linear dependency between logic sub-
A Decomposition Algorithm to Structure Arithmetic Circuits Ajay K. Verma, Philip Brisk, Paolo Ienne Ecole Polytechnique Fédérale de Lausanne (EPFL) International.
CS151 Introduction to Digital Design Chapter Map Simplification.
1/16/ CSEE, UQ Lecture 3 Hardware Description Methods, Review of Switching Algebra.
C.S. Choy21 BOOLEAN ALGEGRA The Mathematics of logic Boolean variables have only two possible values (binary) Operators:. Product+ SumComplement A.B A+B.
Iterative Layering: Optimizing Arithmetic Circuits by Structuring the Information Flow Ajay K. Verma 1, Philip Brisk 2, Paolo Ienne 1 International Conference.
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC. De Morgan’s Theorem De Morgan’s Theorem.
DE MORGAN’S THEOREM. De Morgan’s Theorem De Morgan’s Theorem.
Philip Brisk 2 Paolo Ienne 2 Hadi Parandeh-Afshar 1,2 1: University of Tehran, ECE Department 2: EPFL, School of Computer and Communication Sciences Improving.
Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej.
Function Simplification. Outline  Function Simplification  Algebraic Simplification  Half Adder  Introduction to K-maps  Venn Diagrams.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
Ajay K. Verma, Philip Brisk and Paolo Ienne Processor Architecture Laboratory (LAP) & Centre for Advanced Digital Systems (CSDA) Ecole Polytechnique Fédérale.
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
Amit Verma National Institute of Technology, Rourkela, India
De Morgan’s Theorem,.
Chapter 2: Boolean Algebra and Logic Functions
CPE/EE 422/522 Advanced Logic Design
Reading: Hambley Chapters
ECE 667 Synthesis and Verification of Digital Systems
Chapter 2 Introduction to Logic Circuits
Overview Part 2 – Circuit Optimization
XOR Function Logic Symbol  Description  Truth Table 
Presentation transcript:

Ajay K. Verma, Philip Brisk and Paolo Ienne Processor Architecture Laboratory (LAP) & Centre for Advanced Digital Systems (CSDA) Ecole Polytechnique Fédérale de Lausanne (EPFL) csda XP 2 : A New Compact Representation for Manipulating Arithmetic Circuits

2 Logic Synthesis For Arithmetic Cicruits Sum-of-Product (SoP) and Product-of-Sum (POS) Form Well-studied (e.g., Espresso), but… Arithmetic circuits are XOR-dominated Reed-Muller Form (XOR of Products) In principle, good for arithmetic circuits, but… Exponential growth in size compared to POS/SUM Parallel counter Leading Zero Anticipator (LZA) Arithmetic circuits with control logic at the periphery. Contribution: XP 2 : A Reed-Muller alternative without the exponential blowup

3 Motivational Example z 0 = Maj (a 1, a 3, a 5, a 7, a 9, a 11, a 13 ) z 1 = Maj (a 0, a 1, a 2, a 3, a 4, a 5, a 6, a 7, a 8, a 9, a 10, a 11, a 12, a 13, a 14 ) 0.35 ns 705 μm ns 2200 μm ns 2275 μm ns 2815 μm 2 Synthesis from SoP Form: 0.79 ns μm 2

4 Outline Related work XP 2 : a new compact representation Superiority over other representations Results from abstract algebra Null spaces and their use in factorization Minimization algorithm for XP 2 representation Iterative split-merge approach Manipulation algorithms (CSE elimination) Results Conclusions and future work

5 Related Work General circuits SOP/POS Form Minimisation (e.g., Espresso) [Brayton84] Factored form [Brayton82, Brayton87] Binary Decision Diagram [Lee59] Minimisation algorithm by partitioning [Yang02] Representation of XOR-dominated circuits Generalized Reed-Muller form [Sasao90] Manipulation algorithms [Verma06, Verma07] 2-SPP form [Bernasconi06] Three-level Boolean expressions [Ishikawa04]

6 Sum of Products and Reed-Muller Form SP 1 = SP – SOP Form SP k – Sum of products of SP k-1 expressions The SP k representation of the XOR of n variables is exponentially large for any constant k. Theorem 2. The Reed-Muller expansion of the OR of n variables is exponentially large. The n-bit parity function is exponentially large in any SP k representation [Furst84]

7 XP 2 Form XP: Generalized Reed-Muller expression PXP: Product of XP expressions XP 2 : XOR of PXP expressions XP k : XOR of PXP k-1 expressions

8 Why XP 2 ? Theorem 3. If the SoP/PoS representation of a circuit has size k, then the size of the XP 2 representation is O(k) Linear growth! Reed-Muller Form grows exponentially in k f = ab + pqr + ac + xyr f = 1  (1  ab) (1  pqr) (1  ac) (1  xyr) f = (a + x) (p + y + r) (b + c) (a + r) f = (1  a x) (1  p y r) (1  b c) (1  a r) SOP XP 2 POS XP 2

9 Optimizing XP 2 Expressions (acy  ady  bcef  bdef  x) XOR (ay  bef) AND (x  z) 1. Factorize ((ay  bef)(c  d)  x) (p  q) AND Not a Generalized Reed-Muller Form Expression! 2. Split (p  q) AND (c  d) (ay  bef) x (p  q) AND 3. Merge (x  z  pc  pd  qc  qd)

10 CSE Elimination in XP 2 Representation find_CSE (expr E 1, expr E 2 ) { Introduce new variables λ and μ; E = λE 1  μE 2 ; minimize (E); S = set of PXP’s which have a product term of the form (λX  μY); T = {p | p(λX  μY)  S, for some X, Y}; return T; }

11 CSE Elimination: An Example E 1 = (ab  cd) (p  q)  pq (c  d) E 2 = (ab  pq) (c  d)  cd (a  b) E = λE 1  μE 2 = λ(ab  cd) (p  q)  λpq (c  d)  μ(ab  pq) (c  d)  μcd (a  b) E = pq (c  d) (λ  μ)  ab (λ (p  q)  μ (c  d))  cd (λ (p  q)  μ (a  b)) CSE = {pq (c  d), ab, cd} minimization

12 Experimental Setup Input circuit SOP form RM and Generalized RM form XP 2 form CSE elimination XP 2 form (CSE) Manually designed (CSE) Performance criteria: Literal Count

13 Results (1 of 4) BenchmarkSOP form Generalized Reed-Muller Form XP 2 form (no CSE) XP 2 form (CSE) Manually Designed 16-bit LZD 16-bit LOD 16-bit Barrel Shifter 16-bit Adder 16-bit Comparator 15:4 Counter 15-bit Majority 12-bit CSA 16-bit LZA x x x x 10 4 Large x x x x 10 4 Large 1.24 x Reed-Muller Form 1.81 x x x x x 10 4 Large 1.24 x Performance criteria: Literal Count

14 Results (2 of 4) Adder SOP/GRMExponential growth as a function of bitwidth XP 2 Linear growth as a function of bitwidth

15 Results (3 of 4) Barrel Shifter Not XOR-dominated XP 2 has a similar literal count as SoP/GRM

16 Results (4 of 4) Reed-Muller Diminishing returns observed as k increases XP 2

17 Conclusions and Future Work XP 2 XOR-based representation for arithmetic circuits Avoids exponential size complexity Logic optimization fundamentals Factorization Split Merge CSE Elimination Develop a complete logic synthesis package using XP 2

18 Results from Abstract Algebra: Null Space Factorization Null space of X, N (X): All expressions F, which satisfy FX = 0 ab  N (a  b) f = (a  b) (cd  e)  (c  d) (ab  e) ab  N (a  b) cd  N (c  d) f = (a  b) (cd  ab  e)  (c  d) (ab  cd  e) f = (a  b  c  d) (ab  cd  e) f = (a  b) (cd  e)  (c  d) (ab  e) f = (a  b) (cd  ab  e)  (c  d) (ab  e) f = (a  b) (cd  ab  e)  (c  d) (ab  cd  e) f = (a  b  c  d) (ab  cd  e)

19 Relative Compactness of SP k and XP k SP k (n) = set of Boolean expressions whose representation size in SP k is n XP k (n) = set of Boolean expressions whose representation size in XP k is n XP k : XOR of products of XP k-1 expressions

20 Minimization of XP 2 representation Minimize (expr E) { do { Factorize (E) Split (E); Merge (E); } while (there is a reduction in size) output E; } Accepting only smaller expressions might cause sub-optimality