Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.

Slides:



Advertisements
Similar presentations
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Advertisements

ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Properties of SLUR Formulae Ondřej Čepek, Petr Kučera, Václav Vlček Charles University in Prague SOFSEM 2012 January 23, 2012.
Scalable Test Pattern Generator Design Method for BIST Petr Fišer, Hana Kubátová Czech Technical University in Prague Faculty of Electrical Engineering.
1.2 Row Reduction and Echelon Forms
Linear Equations in Linear Algebra
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.
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 1 Ryan Kinworthy CSCE Advanced Constraint Processing.
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.
Boolean Unification EE219B Presented by: Jason Shamberger March 1, 2000.
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.
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
Carmine Cerrone, Raffaele Cerulli, Bruce Golden GO IX Sirmione, Italy July
Rule Induction with Extension Matrices Leslie Damon, based on slides by Yuen F. Helbig Dr. Xindong Wu, 1998.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
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.
Efficient and Effective Practical Algorithms for the Set-Covering Problem Qi Yang, Jamie McPeek, Adam Nofsinger Department of Computer Science and Software.
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.
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
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.
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
ICS 252 Introduction to Computer Design Lecture 10 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Two Level Networks. Two-Level Networks Slide 2 SOPs A function has, in general many SOPs Functions can be simplified using Boolean algebra Compare the.
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.
ECE2030 Introduction to Computer Engineering Lecture 8: Quine-McCluskey Method Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering.
1 ECE2030 Introduction to Computer Engineering Lecture 8: Quine-McCluskey Method Prof. Hsien-Hsin Sean Lee School of ECE Georgia Institute of Technology.
Lecture 11 Data Structures, Algorithms & Complexity Introduction Dr Kevin Casey BSc, MSc, PhD GRIFFITH COLLEGE DUBLIN.
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.
Yen-Ting Yu Iris Hui-Ru Jiang Yumin Zhang Charles Chiang DRC-Based Hotspot Detection Considering Edge Tolerance and Incomplete Specification ICCAD’14.
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.
A local search algorithm with repair procedure for the Roadef 2010 challenge Lauri Ahlroth, André Schumacher, Henri Tokola
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.
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
Different Local Search Algorithms in STAGE for Solving Bin Packing Problem Gholamreza Haffari Sharif University of Technology
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.
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.
1 1.2 Linear Equations in Linear Algebra Row Reduction and Echelon Forms © 2016 Pearson Education, Ltd.
CS 721 Project Implementation of Hypergraph Edge Covering Algorithms By David Leung ( )
Giving Presentations Hey-Jin Lee WMN Lab. - Writing for Computer Science -
Technical Seminar II Implementation of
Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University.
SINGLE-LEVEL PARTITIONING SUPPORT IN BOOM-II
Linear Algebra Lecture 4.
ICS 252 Introduction to Computer Design
CSE140 HW2 Preparation Xinyuan Wang 04/20/2018.
SAT-Based Optimization with Don’t-Cares Revisited
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
On the Designing of Popular Packages
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:

Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering

Outline Main Features of FC-Min Main Features of FC-Min Basic Principles Basic Principles An Example An Example Details on the Find Cover Phase Details on the Find Cover Phase Experimental Results Experimental Results Conclusions Conclusions

Main Features Extremely fast two-level Boolean minimizer Extremely fast two-level Boolean minimizer Capable to handle functions with a large number of input & output variables Capable to handle functions with a large number of input & output variables Advantageous for highly unspecified functions Advantageous for highly unspecified functions Low memory demands Low memory demands

Principles Implicant generation is different from standard methods (Q-M based) Implicant generation is different from standard methods (Q-M based) No prime implicants are being generated No prime implicants are being generated Only necessary group implicants are produced Only necessary group implicants are produced The cover of the on-set is found first The cover of the on-set is found first Then the implicants with the properties of the cover are computed Then the implicants with the properties of the cover are computed

Preliminaries Given: Input matrix I[n, p] Output matrix O[m, p]  A Boolean function of: n input variables m output variables p defined terms, the rest are don’t cares

Three Main Phases Find Cover (thus FC-Min) Find Implicants Expand Input

Three Main Phases Find Cover (thus FC-Min) Find Implicants Expand Input

Find Cover Phase  We try to find a rectangle cover of the on-set  The elements of the cover will determine the implicants of the final solution  The tentative implicants are being derived from the Output matrix only!

Example

The Algorithm Find Cover is NP-hard  Some heuristic has to be used We use a greedy heuristic based on a gradual search for coverage elements consisting of the maximum number of “1”s We use a greedy heuristic based on a gradual search for coverage elements consisting of the maximum number of “1”s

The Algorithm 1. Select a row containing the most of “1”s 2. Continue the search for a next row to add in order to increase the number of the covered “1”s 3. Repeat 2. until the number of “1”s increases (or stop – see next slide) 4. Repeat all until the whole on-set is covered

The Depth Factor Finding a cover consisting of many “1”s in the output matrix is advantageous – but the implicants are hard to find – and the IG phase fails Finding a cover consisting of many “1”s in the output matrix is advantageous – but the implicants are hard to find – and the IG phase fails Solution – the Depth Factor DF Solution – the Depth Factor DF With a given probability we decide whether to “prolong” C(t i ) or not

The Depth Factor

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 satisfying the particular cover can be constructed as a minimum supercube of all the input vectors corresponding to C(t i )

Find Implicants Phase Both Matrices: t 1 covers 4, 6 and

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 '

Experimental Results  Significantly faster than ESPRESSO  Result quality comparable to ESPRESSO & BOOM  Produces results having a low number of terms  Details in the Proceedings

MCNC Benchmarks 120 Benchmarks were solved 120 Benchmarks were solved 72% were solved in a shorter time than ESPRESSO 72% were solved in a shorter time than ESPRESSO In 86% FC-Min reached the same or better result In 86% FC-Min reached the same or better result In 67% both In 67% both

Time Complexity

Conclusions  A new two-level Boolean minimizer has been proposed  Novel method of implicant generation  Usable for extremely large problems  Extremely good for problems with a large number of output variables