Two-Level Boolean Minimizer BOOM-II Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University Karlovo nam. 13,

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
K-Map Simplification COE 202 Digital Logic Design Dr. Aiman El-Maleh
Universal logic design algorithm and its application to the synthesis of two-level switching circuits §H.-J.Mathony §IEEE Proceedings 1989.
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.
ELEC Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
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.
It Is Better to Run Iterative Resynthesis on Parts of the Circuit Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University.
Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)
ECE 331 – Digital System Design
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.
Chapter 3 Simplification of Switching Functions
1 Multi-Valued Logic Up to now…two-valued synthesis –Binary variables take only values {0, 1} Multi-Valued synthesis –Multi-valued variable X i can take.
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: February 25, 2009 Two-Level Logic-Synthesis.
1 Multi-Valued Logic Up to now…two-valued synthesis –Binary variables take only values {0, 1} Multi-Valued synthesis –Multi-valued variable X i can take.
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 Synthesis Primer
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
Canonical Forms and Logic Miniminization
Carmine Cerrone, Raffaele Cerulli, Bruce Golden GO IX Sirmione, Italy July
Simple Minimization Loop F = EXPAND(F,D); F = IRREDUNDANT(F,D); do { cost = F ; F = REDUCE(F,D); F = EXPAND(F,D); F = IRREDUNDANT(F,D); } while ( F < cost.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
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’,
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
1 A Flexible Minimization and Partitioning Method Petr Fišer, Jan Hlavička Czech Technical University in Prague
Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical.
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.
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.
Karnaugh map covering Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
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.
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
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
CSE 140: Components and Design Techniques for Digital Systems Lecture 3: Incompletely Specified Functions and K Maps CK Cheng Dept. of Computer Science.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
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.
Heuristic Minimization of Two Level Circuits
ICS 252 Introduction to Computer Design
Mixed-Mode BIST Based on Column Matching
Fast Boolean Minimizer for Completely Specified Functions
Presentation transcript:

Two-Level Boolean Minimizer BOOM-II Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University Karlovo nam. 13, Prague 2

Outline Introduction Introduction Problem Statement Problem Statement Description of BOOM-II Description of BOOM-II The Individual Phases The Individual Phases Experimental Results Experimental Results Conclusions Conclusions

Introduction BOOM-II is a heuristic multiple-output two-level Boolean minimizer BOOM-II is a heuristic multiple-output two-level Boolean minimizer Composition of two minimizers – a general purpose minimizer Composition of two minimizers – a general purpose minimizer

Problem Statement Given: n-input, m-output function given by a truth table (PLA) F 1 (x 1, x 2, … x n ), F 2 (x 1, x 2, … x n ), … F m (x 1, x 2, … x n ) The function is specified by on-set and off-set Our Aim: to minimize it, the result is a set of SOP forms

BOOM-II Composition of BOOM and FC-Min BOOM is good for functions with many inputs BOOM is good for functions with many inputs FC-Min is good for functions with many outputs FC-Min is good for functions with many outputs Iterative minimization – both the minimizers are being alternated Iterative minimization – both the minimizers are being alternated

BOOM-II

BOOM  CD-Search  Implicant Expansion (IE)  Implicant Reduction (IR)  CP Solution (CP)

BOOM – CD-Search Just for single-output functions – the multiple-output function has to be divided Just for single-output functions – the multiple-output function has to be divided Implicants are generated top-down – by reducing the universal hypercube Implicants are generated top-down – by reducing the universal hypercube We add literals to a term, until it becomes an implicant We add literals to a term, until it becomes an implicant Based on a frequency of occurrence in on-set Based on a frequency of occurrence in on-set

BOOM - IE Implicant Expansion The implicants from CD-search are expanded into PIs

BOOM - IR Implicant Reduction Reduces PIs into group implicants Very time-consuming for functions with many outputs

BOOM - CP Covering problem solution Selects an irredundant set of implicants covering the on-set greedy heuristic is used

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  Generates only the necessary set of group implicants – fast, low memory demands Find-Coverage Find-Coverage Generate Implicants Generate Implicants Expand Implicants Expand Implicants

FC-Min – Find Coverage Generates rectangle cover of the on-set Generates rectangle cover of the on-set Determines the number of product terms in the solution, not their structure Determines the number of product terms in the solution, not their structure Independent on literals Independent on literals

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

FC-Min – Find Implicants Phase PLA: t 1 covers 4, 6 and

FC-Min – Find Implicants Phase t 1 : t 2 : t 3 : t 4 : t 5 : t 6 : All the implicants: SOP Forms: y 0 = t 3 + t 5 = x 0 x 2 x 3 ' + x 0 x 2 ' x 4 ’ y 1 = t 2 + t 4 = x 2 'x 3 ' + x 0 ' x 1 x 2 x 3 x 4 y 2 = t 2 + t 3 + t 6 = x 2 'x 3 ' + x 0 x 2 x 3 ' + x 0 ' x 1 ' y 3 = t 1 + t 4 = x 1 'x 2 + x 0 ' x 1 x 2 x 3 x 4 y 4 = t 1 + t 6 = x 1 'x 2 + x 0 ' x 1 '

FC-Min – Expand Implicants The minimum implicants can be further expanded The minimum implicants can be further expanded Literals are removed from the obtained PLA matrix, until some term intersects off-set Literals are removed from the obtained PLA matrix, until some term intersects off-set

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

Experimental Results Random problem: 100 inputs 15 outputs 125 care terms LiteralsOcTermsSpeedup ESPRESSO BOOM BOOM-II (1:1) FC-Min

Experimental Results Random problem: 25 inputs 1 output 500 care terms LiteralsOcTermsSpeedup ESPRESSO BOOM BOOM-II (1:1) FC-Min

Structure of the Solution

BOOM is better for PIs FC-Min is better for group implicants BOOM IR phase can be omitted All implicantsSolution implicants

Conclusions BOOM-II has been presented BOOM-II has been presented Combination of two different approaches to implicant generation Combination of two different approaches to implicant generation Universal Boolean minimizer Universal Boolean minimizer Very scalable (tradeoff between solution quality & runtime) Very scalable (tradeoff between solution quality & runtime) Useful for extremely large problems, very fast Useful for extremely large problems, very fast Can be downloaded from Can be downloaded from