Minimization of P-Circuits using Boolean Relations Anna Bernasconi University of Pisa Valentina Ciriani and Gabriella Trucco University of Milano Tiziano.

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
Advertisements

Robust Window-based Multi-node Technology- Independent Logic Minimization Jeff L.Cobb Kanupriya Gulati Sunil P. Khatri Texas Instruments, Inc. Dept. of.
Gregory Shklover, Ben Emanuel Intel Corporation MATAM, Haifa 31015, Israel Simultaneous Clock and Data Gate Sizing Algorithm with Common Global Objective.
Match and Replace — A Functional ECO Engine for Multi-Error Circuit Rectification Shao-Lun Huangy, Wei-Hsun Linz, Chung-Yang (Ric) Huangyz ICCAD’11.
1 EECS 219B Spring 2001 Node minimization Andreas Kuehlmann.
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Realization of Incompletely Specified Reversible Functions Manjith Kumar Ying Wang Natalie Metzger Bala Iyer Marek Perkowski Portland Quantum Logic Group.
MVI Function Review Input X is p -valued variable. Each Input can have Value in Set {0, 1, 2,..., p i-1 } literal over X corresponds to subset of values.
An Optimal Algorithm of Adjustable Delay Buffer Insertion for Solving Clock Skew Variation Problem Juyeon Kim, Deokjin Joo, Taehan Kim DAC’13.
Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)
A Robust Algorithm for Approximate Compatible Observability Don’t Care (CODC) Computation Nikhil S. Saluja University of Colorado Boulder, CO Sunil P.
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Sequential Optimization without State Space Exploration A. Mehrota, S. Qadeer, V. Singhal, R. Brayton, A. Sangiovanni-Vincentelli, A. Aziz Presented by:
Proof: Synthesize cubes so that cube c k has n − i k literals and cubes c k and c l are disjoint, for any 0 ≤ k < l ≤ λ − 1. Weikang Qian and Marc D. Riedel.
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Logic Synthesis 1 Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
1 Exact Two-Level Minimization of Hazard-Free Logic with Multiple Input Changes Montek Singh Tue, Oct 16, 2007.
Sept. 19, 2002Workshop on Boolean Problems A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Logic Synthesis Primer
ECE 667 Synthesis and Verification of Digital Systems
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
Algebra Algebra – defined by the tuple:  A, o 1, …, o k ; R 1, …, R m ; c 1, …, c k  Where: A is a non-empty set o i is the function, o i : A p i  A.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
Shannon’s Expansion Muxes and Encoders. Tri-State Buffers  A tri-state buffer has one input x, one output f and one control line e Z means high impedance,
Lecture 3: Incompletely Specified Functions and K Maps CSE 140: Components and Design Techniques for Digital Systems Fall 2014 CK Cheng Dept. of Computer.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
2-Level Minimization Classic Problem in Switching Theory
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Valued Logic.
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Multiple Valued Logic Currently Studied for Logic Circuits with More Than 2 Logic States –Intel Flash Memory – Multiple Floating Gate Charge Levels – 2,3.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
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.
BDDs1 Binary Tree Representation The recursive Shannon expansion corresponds to a binary tree Example: Each path from the root to a leaf corresponds to.
Lecture # 5 University of Tehran
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Kanupriya Gulati * Mathew Lovell ** Sunil P. Khatri * * Computer Engineering, Texas A&M University ** Hewlett Packard Company, Fort Collins, CO Efficient.
Circuit Synthesis A logic function can be represented in several different forms:  Truth table representation  Boolean equation  Circuit schematic 
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
A New Logic Synthesis, ExorBDS
Heuristic Minimization of Two-Level Logic
Interpolating Functions from Large Boolean Relations
Delay Optimization using SOP Balancing
Reconfigurable Computing
A Boolean Paradigm in Multi-Valued Logic Synthesis
EE4271 VLSI Design Logic Synthesis EE 4271 VLSI Design.
ECB2212-Digital Electronics
Heuristic Minimization of Two Level Circuits
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Unit 6 part B.
Discrete Controller Synthesis
A logic function f in n inputs x1, x2, ...xn and
Canonical Computation without Canonical Data Structure
Delay Optimization using SOP Balancing
Canonical Computation without Canonical Data Structure
A logic function f in n inputs x1, x2, ...xn and
*Internal Synthesizer Flow *Details of Synthesis Steps
Fault Mitigation of Switching Lattices under the Stuck-At Model
Presentation transcript:

Minimization of P-Circuits using Boolean Relations Anna Bernasconi University of Pisa Valentina Ciriani and Gabriella Trucco University of Milano Tiziano Villa University of Verona

OutlineOutline  Scenario: logic synthesis with critical signals  Problem definition  P-circuits  Boolean relations  Synthesis of P-circuits with Boolean relations  Experimental results

ScenarioScenario  Logic synthesis  In presence of critical signals that should be moved toward the output  Application objectives:  To decrease power consumption:  signals with high switching activity  To decrease circuit delay:  signals with high delay

Problem Restructuring (or synthesis) of a circuit in order to move critical signals near to the output:while  minimizing the circuit area  keeping the number of levels bounded  performing an efficient minimization (using Boolean relations)

Simple solution: Shannon  Shannon decomposition  x is the critical signal  f x=0 and f x=1 do not depend on x  x is near to the output x f x=1 f x=0

Problem of Shannon approach x 3 x 4 x 1 x x 3 x 4 x 1 = x 3 x 4 x 1 = x2x2 x2x2 two cubes It is not synthesis oriented

(x,p)-Decomposition(x,p)-Decomposition  let p be a function non depending on x  and do not depend on x x f x=p p

Problem of the approach x 3 x 4 x 1 x * x 3 x 4 x 1 = x x 3 x 4 x 1 = x * 1 x2x2 x2x2 It is not area oriented Let x = x 1 and p = x 2

The idea  try not to split the cubes  idea: the crossing cubes that do not depend on x are not projected  problem: how to identify the points that may form crossing cubes that do not depend on x? They are in the intersection:

ExampleExample x 3 x x 3 x x2x2 x2x2 1 x 3 x x2x2 0 Intersection x 1 = 0 x 1 = 1 x 3 x 4 x 1 x We can remove the points of the intersection x = x 1 and p = 0

Example x 3 x x 3 x x2x2 x2x2 1 x 3 x x2x2 0 Intersection x 1 = 0 x 1 = 1 x 3 x 4 x 1 x * We can remove the points of the intersection But some cubes could be split!

Example x 3 x * * 1 0 x 3 x * * x2x2 x2x2 1 x 3 x x2x2 0 Intersection x 1 = 0 x 1 = 1 x 3 x 4 x 1 x * We insert don’t cares instead at the points of the intersection

Example x 3 x * * 1 0 x 3 x * * x2x2 x2x2 1 x 3 x x2x2 0 Intersection x 1 = 0 x 1 = 1 x 3 x 4 x 1 x * The cubes are not split

Example x 3 x x 3 x x2x2 x2x2 1 x 3 x x2x2 0 Intersection x 1 = 0 x 1 = 1 x 3 x 4 x 1 x * The cubes are not split

Example x 3 x x 3 x x2x2 x2x2 1 x 3 x * x2x2 0 Intersection x 1 = 0 x 1 = 1 x 3 x 4 x 1 x * Before minimizing the intersection, we set as don’t cares the points that are covered in both spaces The cubes are not split

P-circuit of a completely specified Boolean function f  Let P-circuit P(f) is:  A P-circuit P(f) is:where

P-circuitsP-circuits  The intersection does not depend on x optimal P-circuit P*(f)  An optimal P-circuit P*(f) for the function f is a P-circuit with minimum cost that can be synthesized for f

P-circuit of an incompletely specified Boolean function f  Let f = {f on, f dc }, with f on ∩ f dc = ∅ ;  Define P-circuit P(f) is:  A P-circuit P(f) is:where

Boolean Relations  A Boolean relation is a one-to-many multi- output Boolean mapping R : {0,1} n ➝ {0,1} m  A point in the input set {0,1} n can be associated with several points in the output set {0,1} m, which cannot always be represented using don’t cares

Boolean Relations  The set of multi-output functions compatible with a Boolean relation R is defined as F(R) = { f | f ⊆ R and f is a function}.  The solution of a Boolean relation R is a multi- output Boolean function f ∈ F(R)  The function f is an optimal solution of R according to a given cost function c, if for all f′ ∈ F(R), c(f) ≤ c(f′)

Minimization of P-circuits using Boolean Relation  P-circuit minimization:  find the sets f =, f ≠, f I leading to a P-circuit of minimal cost  This problem can be formalized and efficiently solved using Boolean relations  We define a relation R s.t.  F(R) corresponds exactly to the set of all possible P-circuits for f  an optimal solution of R is an optimal P-circuit P ∗ (f) for f

 f: {0,1} n → {0,1} R f : {0,1} n−1 → {0,1} 3  Input set: space spanned by all the variables but the critical signal x i  Output set: all possible tuples of functions f =, f ≠, f I defining a P-circuit for f Minimization of P-circuits using Boolean Relation

P-circuit minimization selecting among all possible functions compatible with R f,each corresponding to a tuple f =, f ≠, f I, the one whose overall SOP representation is minimal Minimization of P-circuits using Boolean Relation

Incompletely Specified Functions

Experimental results  ESPRESSO benchmark suite  Linux Intel Core i7, 3.40 GHz CPU, 8GB RAM  CUDD library for OBDDs to represent functions  BREL (Bañeres, Cortadella, and Kishinevsky, 2009) for the synthesis of Boolean relations  Multioutput benchmarks have been synthesized minimizing each single output independently from the others

Experimental results  μ L and μ BDD :  refer to P-circuits synthesized with cost function μ L that minimizes the number of literals  and μ BDD that minimizes the size of the BDDs used for representing the relations  modeling the P-circuit minimization problem using Boolean relations pays significantly:  P-circuit μ L and P-circuit μ BDD turned out to be more compact than the corresponding P-circuits proposed BCVT2009 in about 92% and 78% of our experiments, respectively

Experimental results

ConclusionsConclusions  We showed that to explore all possible P-circuit solutions one must cast the problem as the minimization of a Boolean relation  In the experiments we report major improvements with respect to the previously published results  Future work:  investigate the impact of using more general cofactoring functions  address simultaneously multi-ouput functions trading-off quality of results vs. scalability