State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.

Slides:



Advertisements
Similar presentations
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Factored Forms.
Advertisements

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.
Multilevel Logic Synthesis -- Introduction. ENEE 6442 Multilevel Logic Synthesis: Outline > Introduction =What is multilevel logic? =Why we need it? =Problems.
ECE 667 Synthesis & Verification - Algebraic Division 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Multi-level Minimization Algebraic.
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
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
1 Outline Division is central in many operations. –What is it (in the context of Boolean functions)? –What to divide (divisor) with? –How to divide (quotient.
Multilevel Logic Minimization -- Introduction. ENEE 6442 Outline > Multi-level minimization: technology independent local optimization. > What to optimize:
ELEN 468 Lecture 121 ELEN 468 Advanced Logic Design Lecture 12 Synthesis of Combinational Logic I.
Technology Mapping.
CS 151 Digital Systems Design Lecture 6 More Boolean Algebra A B.
Boolean Functions and their Representations
Lecture 5 Multilevel Logic Synthesis
ECE Synthesis & Verification - Lecture 14 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems BDD-based.
Multilevel Logic Synthesis -- Algebraic Methods. ENEE 6442 Why Algebraic Methods? > What is our goal? minimization, maximally factored form. > Algebraic.
Logic Synthesis 3 Outline –Multi-Level Logic Optimization –Local Transformations –Weak Division Goal –Understand multi-level optimization –Understand local.
Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski Univ. of Massachusetts Amherst, MA.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Canonical Forms and Logic Miniminization
ENGIN112 L12: Circuit Analysis Procedure September 29, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 12 Circuit Analysis Procedure.
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.
ECE 667 Synthesis and Verification of Digital Systems
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Multi-level.
CSE Autumn Combinational Logic - 1 Multi-Level Optimization z1. Reduce number of literals yfewer literals means less transistors (less space)
KU College of Engineering Elec 204: Digital Systems Design
Dr. Ahmed El-Bialy, Dr. Sahar Fawzy Combinational Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
1 Lecture 10 PLDs  ROMs Multilevel logic. 2 Read-only memories (ROMs) Two dimensional array of stored 1s and 0s  Input is an address  ROM decodes all.
Boolean Algebra and Digital Circuits
Department of Computer Engineering
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
Zvi Kohavi and Niraj K. Jha 1 Multi-level Logic Synthesis.
1 Multi-Level Logic Synthesis Slides courtesy of Andreas Kuehlmann (Cadence)
ECE 331 – Digital System Design NAND and NOR Circuits, Multi-level Logic Circuits, and Multiple-output Logic Circuits (Lecture #9) The slides included.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Circuit Optimization Logic and Computer Design Fundamentals.
Elements of discrete devices synthesis (module T170M012) 2012 Kaunas university of technology Electronic and measurement systems dep. Doc. dr. Žilvinas.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 2 – Combinational Logic Circuits Part 2.
ETE 204 – Digital Electronics
Multi-Level Logic Optimization. Multi-Level Logic Synthesis Two Level Logic : –Espresso –Programmable Logic Array (PLA) Multilevel Logic : –Standard Cell.
1 BOOLEAN ALGEBRA Basic mathematics for the study of logic design is Boolean Algebra Basic laws of Boolean Algebra will be implemented as switching devices.
ENGIN112 L6: More Boolean Algebra September 15, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 6 More Boolean Algebra A B.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
CEC 220 Digital Circuit Design Boolean Algebra I Wed, Sept 2 CEC 220 Digital Circuit Design Slide 1 of 13.
Ch.5 Logic Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology 1.
Boolean Algebra & Logic Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
Output Grouping Method Based on a Similarity of Boolean Functions Petr Fišer, Pavel Kubalík, Hana Kubátová Czech Technical University in Prague Department.
CSE 140: Components and Design Techniques for Digital Systems Lecture 3: Incompletely Specified Functions and K Maps CK Cheng Dept. of Computer Science.
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.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect10: Two-level Logic Minimization.
BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)
School of Computer and Communication Engineering, UniMAP DKT 122/3 - DIGITAL SYSTEM I Chapter 4A:Boolean Algebra and Logic Simplification) Mohd ridzuan.
1 CS 352 Introduction to Logic Design Lecture 4 Ahmed Ezzat Multi-level Gate Circuits and Combinational Circuit Design Ch-7 + Ch-8.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
ECE 331 – Digital System Design
Boolean Algebra & Logic Gates
Prof. Hsien-Hsin Sean Lee
DeMorgan’s Theorem DeMorgan’s 2nd Theorem
ECE 667 Synthesis and Verification of Digital Systems
ECE 667 Synthesis and Verification of Digital Systems
Lecture 13 Logistics Last lecture Today HW4 up, due on Wednesday PLDs
EECS150 - Digital Design Lecture 7 - Boolean Algebra II
Topics Logic synthesis. Placement and routing..
Overview Part 2 – Circuit Optimization
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
Presentation transcript:

State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization Dr. Yaser Khalifa Electrical and Computer Engineering Department State University of New York at New Paltz

Why Multi-Level Two-level may need a large number of product terms. Some primary outputs may have huge fanouts. Example XOR logic –Number of product terms of n inputs is exponential in n in 2-level –Number of product terms of n inputs is linear in n in Multi-level

Multi-level logic optimzation is the process of trying to reduce the cost of the representations for the given logic functions. The cost criteria for optimization can be: –Number of literals (targeting areas of the circuits) –Numbers of levels (targeting delays in the circuits) –Power –wireability

If the specification is given in sum of product forms, the first step is to make it more compact by introducing more logic levels in the representation. This is typially done by “factoring a logic expression” and “dividing a logic expression with another logic expression” For example, acf + bcf + adf + bdf + ef + acg + bcg + adg + bdg + eg is an optimum 2-level representation. There are 28 literals. It can be factored to (( a + b)(c + d) + e)(f + g) which needs only 7 literals.

Optimization Methods Boolean Methods: Optimization methods that consider logic functions and their representations. Algebric Methods: Optimization methods that consider only logic representations. Algebric methods treat logic functions as polynomial expressions. Boolean methods recognize Boolean algebra rules that can transform one logic representation to another.

Algebric Methods We use graph model called Boolean network to represent a technology independent multi level circuit structure. Primary input nodes: represent the primary input to the circuit Primary output nodes: nodes that have no outing edges. Intermediate nodes: internal structure of the circuit.

Each intermediate node is associated with a Boolean function called the local function of a node. All nodes are associated with Boolean variables. We treat a node and a variable associated with the node interchangeably. An edge from node n i to node n j represents that the local function of node n j directly depends on n i. Since Boolean networks are not bound to any particular circuit technology, it is very generic and is widely used in various logic systhesis applications.

Optimization Methods Boolean Methods: Optimization methods that consider logic functions and their representations. Algebric Methods: Optimization methods that consider only logic representations. Algebric methods treat logic functions as polynomial expressions. Boolean methods recognize Boolean algebra rules that can transform one logic representation to another.

There are several ways to represent a local function of a node: –SOP expression is the most popular form to manipulate –Factored form is a good measurement for area estimation by counting literals. But manipulation is difficult. –Simple gate (AND/OR/NAND/NOR) this mode is easy to manipulate. But it is not suitable for representing structure containing more complex gates. Models used in Algebric Methods

In algebric methods, we treat a SOP expression in a different manner from the Boolean method A literal is a variable or its negation. A positive and negative literal (e.g. a and a/) have no relation to each other and are treated as mutually independent. A cube is a set of literals An expression is a set of cubes –For example F = ab + c is represented as {F1, F2} = {{a,b},{c}}. A capital letter (C) denotes a cube, and a small letter (a) denotes a literal.

A cube is considered a set of literals, not a product of literals. A cube ab is contained in a cube abc as a set of literals, i.e. An expression is called algebric if no cube in the expression contains another. The support is the set of variables that appear in a given expression. SUP(F) If two expressions F={F1, F2, …} and g = {G1, G2, …} have no common support variables, i.e. , we can define the algebric product of two expressions f and g as follows, For example the product of a + bc and d + f is ad + af + + bcd + bcf

Algebric Division Algebric Division is an operation to compute a quotient expression Q and a reminder expression R from a given expression F and divisor expression D such that F and Q.D + R are the same expressions. Before describing the weak division algorithm we define the cube division operation, F/D, where F is an expression and D is a cube.

We say that g divides f weakly if there exist h,r such that F=gh +r and g is orthogonal on h Example: f=ab + ac + d g= b = c f = a(b +c) +d h=a r=d We say that g divides f evenly if r= 

Pseudo code for the weak division algorithm

fifi

Kernels An expression is called cube-free if no cube divides the expression evenly (no reminder) The primary divisors of an expression F, denoted by D(F), are the set of quotients that are derived by dividing F by all possible cubes. The Kernels of an expressions F, denoted by K(F), is the set of cube free primary divisors of F. A cube that is used to drive a kernel is called co- kernel.

Each kernel has a level –If a kernel does not contain any other kernel, the level of the kernel is 0. –If the kernel contains kernels of level n-1, the level of the kernel is n. Example F= adf + aef + bdf + bef + cdf + cef + bfg + h = (a + b + c)(d + e)f + bfg + h