Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical.

Slides:



Advertisements
Similar presentations
Robust Window-based Multi-node Technology- Independent Logic Minimization Jeff L.Cobb Kanupriya Gulati Sunil P. Khatri Texas Instruments, Inc. Dept. of.
Advertisements

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
ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
EE 4271 VLSI Design1 Logic Synthesis. Starts from RTL description in HDL or Boolean expressions Outputs a standard cell netlist EE 4271 VLSI Design2.
Pseudorandom Testability – Study of the Effect of the Generator Type Petr Fišer, Hana Kubátová Czech Technical University in Prague Dept. of Computer Science.
Scalable Test Pattern Generator Design Method for BIST Petr Fišer, Hana Kubátová Czech Technical University in Prague Faculty of Electrical Engineering.
Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
1 Consensus Definition Let w, x, y, z be cubes, and a be a variable such that w = ax and y = a’z w = ax and y = a’z Then the cube xz is called the consensus.
Finite State Machine State Assignment for Area and Power Minimization Aiman H. El-Maleh, Sadiq M. Sait and Faisal N. Khan Department of Computer Engineering.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: February 25, 2009 Two-Level Logic-Synthesis.
Gate Logic: Two Level Canonical Forms
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
1 Generalized Cofactor Definition 1 Let f, g be completely specified functions. The generalized cofactor of f with respect to g is the incompletely specified.
Logic Verification 1 Outline –Logic Verification Problem –Verification Approaches –Recursive Learning Approach Goal –Understand verification problem –Understand.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Exact Two-level Minimization Quine-McCluskey Procedure.
ECE 667 Synthesis and Verification of Digital Systems
Two Level Logic Optimization. Two-Level Logic Minimization PLA Implementation Ex: F 0 = A + B’C’ F 1 = AC’ + AB F 2 = B’C’ + AB product term AB, AC’,
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
DEXA 2005 Quality-Aware Replication of Multimedia Data Yicheng Tu, Jingfeng Yan and Sunil Prabhakar Department of Computer Sciences, Purdue University.
June 10, Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs Tomasz S. Czajkowski and Stephen D. Brown University of Toronto.
1 A Flexible Minimization and Partitioning Method Petr Fišer, Jan Hlavička Czech Technical University in Prague
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Low-Power Gated Bus Synthesis for 3D IC via Rectilinear Shortest-Path Steiner Graph Chung-Kuan Cheng, Peng Du, Andrew B. Kahng, and Shih-Hung Weng UC San.
Pseudo-Random Pattern Generator Design for Column ‑ Matching BIST Petr Fišer Czech Technical University Dept. of Computer Science and Engineering.
Lecture 18: Dynamic Reconfiguration II November 12, 2004 ECE 697F Reconfigurable Computing Lecture 18 Dynamic Reconfiguration II.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Valued Logic.
Heuristic Two-level Logic Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization Jia Wang, Shiyan Hu Department of Electrical and Computer Engineering.
ICS 252 Introduction to Computer Design Lecture 9 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
BoolTool: A Tool for Manipulation of Boolean Functions Petr Fišer, David Toman Czech Technical University in Prague Dept. of Computer Science and Engineering.
How Much Randomness Makes a Tool Randomized? Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.
ICS 252 Introduction to Computer Design Lecture 10 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
2-1 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 4: October 5, 2005 Two-Level Logic-Synthesis.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic.
Chapter 2 Two- Level Combinational Logic. Chapter Overview Logic Functions and Switches Not, AND, OR, NAND, NOR, XOR, XNOR Gate Logic Laws and Theorems.
Two-Level Boolean Minimizer BOOM-II Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University Karlovo nam. 13,
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
Kanpur Genetic Algorithms Laboratory IIT Kanpur 25, July 2006 (11:00 AM) Multi-Objective Dynamic Optimization using Evolutionary Algorithms by Udaya Bhaskara.
On Logic Synthesis of Conventionally Hard to Synthesize Circuits Using Genetic Programming Petr Fišer, Jan Schmidt Faculty of Information Technology, Czech.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
Survey of the Algorithms in the Column-Matching BIST Method Survey of the Algorithms in the Column-Matching BIST Method Petr Fišer, Hana Kubátová Department.
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.
Mixed-Mode BIST Based on Column Matching Petr Fišer.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
1 Implicant Expansion Methods Used in The BOOM Minimizer Petr Fišer, Jan Hlavička Czech Technical University, Karlovo nám. 13, Prague 2
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
Finding Optimal Solutions to Cooperative Pathfinding Problems Trevor Standley Computer Science Department University of California, Los Angeles
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 17: March 11, 2002 Sequential Optimization (FSM Encoding)
Multiple-Vector Column-Matching BIST Design Method Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
ICS 252 Introduction to Computer Design Lecture 8- Heuristics for Two-level Logic Synthesis Winter 2005 Eli Bozorgzadeh Computer Science Department-UCI.
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
SINGLE-LEVEL PARTITIONING SUPPORT IN BOOM-II
ICS 252 Introduction to Computer Design
EE4271 VLSI Design Logic Synthesis EE 4271 VLSI Design.
Sungho Kang Yonsei University
ICS 252 Introduction to Computer Design
Reseeding-based Test Set Embedding with Reduced Test Sequences
Mixed-Mode BIST Based on Column Matching
Fast Boolean Minimizer for Completely Specified Functions
Presentation transcript:

Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University in Prague Karlovo nám. 13, Prague 2

Euromicro DSD'06, Cavtat2 Outline Introduction Brief Description of BOOM-II Main Phases of BOOM-II Experimental Results ApplicationsConclusions

Euromicro DSD'06, Cavtat3 Introduction BOOM-II is a heuristic multi-output two-level Boolean minimizer Combination of two minimizers  general purpose minimizer The performance is improved Minimization process can be influenced by many constraints (decomposition, low-power design, DFT, …)

Euromicro DSD'06, Cavtat4 BOOM-II Combination of BOOM and FC-Min Advantages & Drawbacks AdvantagesDrawbacks BOOM Good for functions with many inputs Slow for functions with many outputs FC-Min Good for functions with many outputs Bad for functions with few outputs

Euromicro DSD'06, Cavtat5 BOOM – CD Search This is the main phase of BOOM Produces a set of implicants satisfying the cover, not necessarily PIs These implicants are then expanded into PIs Can be very efficiently influenced to produce “good” implicants only single-output functions are considered Drawback: only single-output functions are considered

Euromicro DSD'06, Cavtat6 BOOM - Implicant Reduction Reduces PIs into group implicants Very time-consuming for functions with many outputs  Very time-consuming for functions with many outputs  here is the problem

Euromicro DSD'06, Cavtat7 Covering problem solution Creates an irredundant set of implicants covering the on-set Greedy heuristic is used

Euromicro DSD'06, Cavtat8 FC-Min Completely different approach to minimization First, the cover of the on-set is found, then the implicants are generated for this cover No PIs are produced, just the group implicants are found Generates only the necessary set of group implicants – fast, low memory demands

Euromicro DSD'06, Cavtat9 FC-Min – Find Cover Computes rectangle cover of the on-set Determines the number of product terms in the solution, not their structure Independent on literals

Euromicro DSD'06, Cavtat10 FC-Min – Find Cover Example PLA:

Euromicro DSD'06, Cavtat11 FC-Min – Find Implicants Phase Main Idea: When a term (cube) should cover a particular output vector, the corresponding input vector must be contained in this cube  Thus the minimum term for t i must be constructed as a minimum supercube of all the input vectors corresponding to rows of t i

Euromicro DSD'06, Cavtat12 FC-Min – Find Implicants Phase PLA: t 1 covers 4, 6 and

Euromicro DSD'06, Cavtat13 BOOM-II Most of the phases are randomized heuristics Thus, repeated runs of the minimization process could yield different solutions We repetitively run the minimizers, while alternating them and put all the implicants into a common pool Then we solve CP The ratio of FC-Min & BOOM runs can be adjusted – according to the nature of the problem

Euromicro DSD'06, Cavtat14 Iterative Minimization

Euromicro DSD'06, Cavtat15 BOOM-II

Euromicro DSD'06, Cavtat16 Structure of the Solution

Euromicro DSD'06, Cavtat17 Structure of the Solution BOOM is better to generate PIs FC-Min is better to generate group implicants BOOM IR phase can be omitted All implicantsSolution implicants

Euromicro DSD'06, Cavtat18 Experimental Results Random problem: 300 inputs 5 outputs 200 care terms Area (GEs) Runtime [s] ESPRESSO BOOM FC-Min BOOM-II (1:1) BOOM-II (1:1), no IR

Euromicro DSD'06, Cavtat19 Experimental Results Random problem: 20 inputs 10 outputs 500 care terms GEs Runtime [s] ESPRESSO BOOM FC-Min BOOM-II (1:1) BOOM-II (1:1), no IR

Euromicro DSD'06, Cavtat20 Applications Output grouping (decomposition) Design for testability Load balancing …

Euromicro DSD'06, Cavtat21 Applications Output grouping (single-level partitioning)

Euromicro DSD'06, Cavtat22 Applications Output grouping (single-level partitioning) Determine which outputs should stay together, to minimize the overall logics Based on FC-Min Grouping matrix is proposed

Euromicro DSD'06, Cavtat23 Output Grouping Based on Grouping Matrix G Symmetric matrix of dimensions [m, m], where m is the number of output variables The value G[i, j] defines the strength binding two output variables i and j together It is constructed from the cover obtained in the Find Cover phase

Euromicro DSD'06, Cavtat24 G-Matrix Derived from valid coverage of the on-set t1t1 t2t2 t3t3 t4t4 t6t6

Euromicro DSD'06, Cavtat25 G-Matrix This was a very simple example Values greater than 1 are there in practice Two outputs having the highest value in the matrix are grouped together The precision can be refined by repeating the process (Find Cover)

Euromicro DSD'06, Cavtat26 Influencing BOOM-II Run CD-Search Selection of literals is based on their frequency of occurrence in the on-set This “weight” can be somehow modified FC-Min Implicant Expansion Prefer removing “unwanted” literals Covering problem solution The selection function is modified

Euromicro DSD'06, Cavtat27 Output Grouping - Example Comparison with random grouping Final logic synthesized by SIS and decomposed into 2-input NAND gates benchoutputsblocksrandomFC-Minimpr. duke % jbp % mainpla % mish % misj % soar % spla % ti % x2dn %

Euromicro DSD'06, Cavtat28 Conclusions BOOM-II has been presented Combination of two different approaches to implicant generation Universal Boolean minimizer The minimization process can be influenced to meet given constraints Can be downloaded from Can be downloaded from