1 A Flexible Minimization and Partitioning Method Petr Fišer, Jan Hlavička Czech Technical University in Prague

Slides:



Advertisements
Similar presentations
Reversible Gates in various realization technologies
Advertisements

FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Combinational Logic.
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
Flattened Butterfly Topology for On-Chip Networks John Kim, James Balfour, and William J. Dally Presented by Jun Pang.
It Is Better to Run Iterative Resynthesis on Parts of the Circuit Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University.
ECE 667 Synthesis and Verification of Digital Systems
Two-Level Logic Synthesis -- Heuristic Method (ESPRESSO)
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
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.
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
Chapter 3 Program Design and Branching Structures Dr. Ali Can Takinacı İstanbul Technical University Faculty of Naval Architecture and Ocean Engineering.
Logic Synthesis 5 Outline –Multi-Level Logic Optimization –Recursive Learning - HANNIBAL Goal –Understand recursive learning –Understand HANNIBAL algorithms.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: February 25, 2009 Two-Level Logic-Synthesis.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 12: March 2, 2009 Sequential Optimization (FSM Encoding)
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.
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
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
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.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
Testing phases. Test data Inputs which have been devised to test the system Test cases Inputs to test the system and the predicted outputs from these.
2-Level Minimization Classic Problem in Switching Theory
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Techniques for Analysis and Calibration of Multi- Agent Simulations Manuel Fehler Franziska Klügl Frank Puppe Universität Würzburg Lehrstuhl für Künstliche.
9/15/09 - L7 Two Level Circuit Optimization Copyright Joanne DeGroat, ECE, OSU1 Two Level Circuit Optimiztion An easier way to generate a minimal.
Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical.
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.
Copyright © 2004 by Miguel A. Marin1 COMBINATIONAL CIRCUIT SYNTHESIS CLASSIC TWO-LEVEL CIRCUIT SYNTHESIS MULTILEVEL-CIRCUIT SYNTHESIS FACTORIZATION DECOMPOSITION.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.
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.
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.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
On Logic Synthesis of Conventionally Hard to Synthesize Circuits Using Genetic Programming Petr Fišer, Jan Schmidt Faculty of Information Technology, Czech.
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.
Boolean Algebra and Reduction Techniques
Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu.
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.
Optimality Study of Logic Synthesis for LUT-Based FPGAs Jason Cong and Kirill Minkovich.
The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.
Give qualifications of instructors: DAP
1 Implicant Expansion Methods Used in The BOOM Minimizer Petr Fišer, Jan Hlavička Czech Technical University, Karlovo nám. 13, Prague 2
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 26, 2004 Sequential Optimization (FSM Encoding)
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Y=3x+1 y 5x + 2 =13 Solution: (, ) Solve: Do you have an equation already solved for y or x?
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect10: Two-level Logic Minimization.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
Science and Engineering Practices K–2 Condensed Practices3–5 Condensed Practices6–8 Condensed Practices9–12 Condensed Practices Developing and Using Models.
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
Example of application: Decomposition
Sungho Kang Yonsei University
ECE 667 Synthesis and Verification of Digital Systems
Technology Mapping I based on tree covering
Presentation transcript:

1 A Flexible Minimization and Partitioning Method Petr Fišer, Jan Hlavička Czech Technical University in Prague

2 Problem Statement The Goal: Two-level Boolean minimization performed together with the partitioning into stand-alone blocks (PLAs, GALs) Current methods (SIS): First do the minimization, then the decomposition  could be inefficient

3 Problem Statement Restrictions: Number of blocks’ inputs Number of blocks’ outputs Complexity of blocks Maximum load Size of the cones...

4 The Idea: 1. Not all primary inputs are needed to produce required output values 2. Some input variables can be substituted by others  Sometimes there is a great flexibility The function can be synthesized in many ways

5 What is it for? Partitioning into blocks with restricted # of inputs / outputs Load balancing DFT design (synthesis) - smaller cones Synthesis for better placement & wiring Can help in multi-level synthesis ???

6 Based on BOOM – the Boolean Minimizer Two main minimization phases: Implicant generation: CD-Search, Implicant Expansion, Implicant Reduction Covering problem solution  Both have to be modified

7 CD-Search Top-down approach – literals are added to a term until it becomes an implicant Literals are being selected by a scoring function Originally: Most frequent literals in the on-set are preferred Partitioning forces – literals not included in the block are penalized by some factor Load balancing – literals causing branchings are penalized by some factor

8 Covering Problem Solution Must be incremental - terms are added one by one  Some heuristic based on some scoring function Partitioning forces – terms constructed of literals not included in blocks are penalized Load balancing – terms constructed of literals causing branchings are penalized by some factor

9 The Whole Minimization Process: 1. Assign all the output variables to blocks 2. Generate implicants (CD-Search, IE, IR) for each output separately 3. Solve the group covering problem for each block separately 4. If the result do not meet the requirements, reassign the outputs and repeat from 2

10 Influence of the Partitioning Forces 50 inputs, 20 outputs, 200 care terms, 4x5-output blocks

11 Illustrative Example 100 inputs, 20 outputs, 100 care terms, 5x4-output blocks Partitioning appliedLoad balancing applied

12 Illustrative Example 100 inputs, 20 outputs, 100 care terms, 5x4-output blocks

13 Conclusions The minimization method combined with a single-level decomposition was presented We have shown that the top-down minimization method used in the BOOM minimizer suits very well for modifications like partitioning, load balancing and DFT The result of the minimization can suit our needs Both the CD-Search and CP solution must be modified