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

Slides:



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

CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.
ELEC Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
ECE 667 Synthesis & Verification - Algebraic Division 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Multi-level Minimization Algebraic.
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.
ELEN 468 Lecture 121 ELEN 468 Advanced Logic Design Lecture 12 Synthesis of Combinational Logic I.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
Technology Mapping.
Chapter 3 Simplification of Switching Functions
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
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,
ECE 667 Synthesis and Verification of Digital Systems
ENGIN112 L12: Circuit Analysis Procedure September 29, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 12 Circuit Analysis Procedure.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
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.
1 VLSI CAD Flow: Logic Synthesis, Lecture 13 by Ajay Joshi (Slides by S. Devadas)
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.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Department of Computer Engineering
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
Zvi Kohavi and Niraj K. Jha 1 Multi-level Logic Synthesis.
1 Multi-Level Logic Synthesis Slides courtesy of Andreas Kuehlmann (Cadence)
1 © 2015 B. Wilkinson Modification date: January 1, 2015 Designing combinational circuits Logic circuits whose outputs are dependent upon the values placed.
Optimization Algorithm
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Circuit Optimization Logic and Computer Design Fundamentals.
Two Level and Multi level Minimization
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
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 Lect15: Heuristic Two Level Logic.
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.
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.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
Karnaugh Maps (K maps).
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)
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
Logic Synthesis Boolean Division.
ECE 331 – Digital System Design
Boolean Algebra & Logic Gates
DeMorgan’s Theorem DeMorgan’s 2nd Theorem
ECE 667 Synthesis and Verification of Digital Systems
ECE 667 Synthesis and Verification of Digital Systems
Multi-Level Minimization
Lecture 13 Logistics Last lecture Today HW4 up, due on Wednesday PLDs
EECS150 - Digital Design Lecture 7 - Boolean Algebra II
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 Lect18: Multi Level Logic Minimization Dr. Yaser Khalifa Electrical and Computer Engineering Department State University of New York at New Paltz

Irredundant The IRREDUNDANT procedure generates an ISOP with as few products as possible from the given set of PIs.

Let f = {c 1, c 2, c 3, …, c n } be the given set of PIs. Partition the PIs of F into three sets: –Relatively essential set: –Totally redundant set: –Partially redundant set: Find a subset of RP that together with ER covers F. For each c i in the RP, find the set H(c i ) of minimum sets MS RP, such that c i (RP – MS) ER

Algorithm Let f = {c 1, c 2, c 3, …, c n } be the given set of PIs. Partition the PIs of F into three sets: –Relatively essential set: –Totally redundant set: –Partially redundant set: Find a subset of RP that together with ER covers F. For each c i in the RP, find the set H(c i ) of minimum sets MS RP, such that c i (RP – MS) ER

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

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 othe kernel, the level of the kernel is 0. –If the kernel contains kernels of level n-1 but does not contain kernels of whose level is more than 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