Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.

Slides:



Advertisements
Similar presentations
New Ways of Generating Large Realistic Benchmarks for Testing Synthesis Tools Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical.
Advertisements

CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Functions and Functional Blocks
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
ITEC 352 Lecture 4 Boolean logic / Karnaugh Maps.
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.
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.
Common Subexpression Elimination Involving Multiple Variables for Linear DSP Synthesis 15 th IEEE International Conference on Application Specific Architectures.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
Technology Mapping.
1 Generalized Buffering of PTL Logic Stages using Boolean Division and Don’t Cares Rajesh Garg Sunil P. Khatri Department of Electrical and Computer Engineering,
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.
Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1 Electrical.
Graph Coloring Algorithms for Fast Evaluation of Curtis Decomposition Marek Perkowski, Rahul Malvi, Stan Grygiel, Mike Burns, and Alan Mishchenko Portland.
Logic Synthesis for Programmable Devices Onur Bay & Debatosh Debnath
Gate Logic: Two Level Canonical Forms
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
A Probabilistic Method to Determine the Minimum Leakage Vector for Combinational Designs Kanupriya Gulati Nikhil Jayakumar Sunil P. Khatri Department of.
Layout-based Logic Decomposition for Timing Optimization Yun-Yin Lien* Youn-Long Lin Department of Computer Science, National Tsing Hua University, Hsin-Chu,
Ugur Kalay, Marek Perkowski, Douglas Hall Universally Testable AND-EXOR Networks Portland State University Speaker: Alan Mishchenko.
Gate-Level Minimization1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
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
Computer Science 101 Circuit Design Algorithm. Circuit Design - The Problem The problem is to design a circuit that accomplishes a specified task. The.
Unit 7 Multi-Level Gate Circuits / NAND and NOR Gates Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
1 A Flexible Minimization and Partitioning Method Petr Fišer, Jan Hlavička Czech Technical University in Prague
2-Level Minimization Classic Problem in Switching Theory
Department of Computer Engineering
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
Chapter 10 (Part 2): Boolean Algebra  Logic Gates (10.3) (cont.)  Minimization of Circuits (10.4)
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.
DISCRETE COMPUTATIONAL STRUCTURES CS Fall 2005.
Digital Logic Problems (II) Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Combinational Design, Part 3: Functional Blocks
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.
Chun-Yao Wang ( 王俊堯 ) 2011/12/16 Department of Computer Science, National Tsing Hua University Hsinchu, Taiwan, R.O.C.
1 Quine-McCluskey Method. 2 Motivation Karnaugh maps are very effective for the minimization of expressions with up to 5 or 6 inputs. However they are.
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.
Kuo-Hua Wang, Chung-Ming Chan, Jung-Chang Liu Dept. of CSIE Fu Jen Catholic University Slide: Chih-Fan Lai Simulation and SAT-Based Boolean Matching for.
On Logic Synthesis of Conventionally Hard to Synthesize Circuits Using Genetic Programming Petr Fišer, Jan Schmidt Faculty of Information Technology, Czech.
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.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
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 Carry Lookahead Logic Carry Generate Gi = Ai Bi must generate carry when A = B = 1 Carry Propagate Pi = Ai xor Bi carry in will equal carry out here.
Logic Gates M. AL-Towaileb1. Introduction Boolean algebra is used to model the circuitry of electronic devices. Each input and each output of such a device.
Optimality Study of Logic Synthesis for LUT-Based FPGAs Jason Cong and Kirill Minkovich.
1 Implicant Expansion Methods Used in The BOOM Minimizer Petr Fišer, Jan Hlavička Czech Technical University, Karlovo nám. 13, Prague 2
Unate Covering, Binate Covering, Graph Coloring Maximum Cliques part B.
Multiple-Vector Column-Matching BIST Design Method Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
Matrix Multiplication in Hadoop
Minimization of Circuits
A New Logic Synthesis, ExorBDS
University of Maryland Baltimore County Department of Computer Science and Electrical Engineering   CMPE 212 Laboratory (Discussion 6) Hasib Hasan
SINGLE-LEVEL PARTITIONING SUPPORT IN BOOM-II
Logic Gates L Al-zaid Math110.
Logic Gates Dr.Halimah Alshehri.
Mixed-Mode BIST Based on Column Matching
Chapter 11 (Part 2): Boolean Algebra
Fast Boolean Minimizer for Completely Specified Functions
Presentation transcript:

Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University

Outline Motivation Motivation Single-Level Partitioning Single-Level Partitioning Proposed Method Proposed Method Basic FC-Min Principles Basic FC-Min Principles Output Grouping Output Grouping Experimental Results Experimental Results Conclusions Conclusions

Motivation Typical logic synthesis process: Perform Boolean minimization Perform Boolean minimization Multi-level synthesis, decomposition Multi-level synthesis, decomposition Technology mapping Technology mapping These phases are often independent on each other - ineffective

Motivation Boolean minimization should be driven towards the target technology

Single-Level Partitioning Two-level AND-OR network Limited number of inputs/outputs in real devices Solution: divide the circuit into stand-alone blocks, while reducing the number of their inputs and complexity of the blocks

Single-Level Partitioning The way how to minimize the number of inputs of the blocks proposed before The way how to minimize the number of inputs of the blocks proposed before Fišer, P. - Kubátová, H.: Single-Level Partitioning Support in BOOM-II, Proc. 2nd Descrete-Event System Design 2004 (DESDes'04), Dychów, Poland, , pp Reducing the input set means an increase of the size of the circuits (some of the group terms cannot be shared) Reducing the input set means an increase of the size of the circuits (some of the group terms cannot be shared) The issue: how to group the outputs to minimize the complexity of the blocks

Proposed Method Method to determine the “output grouping” Method to determine the “output grouping” Based on FC-Min, even when no minimization is involved Based on FC-Min, even when no minimization is involved Significant reduction in area overhead, for both the two-level and multi-level implementations Significant reduction in area overhead, for both the two-level and multi-level implementations Input set is reduced as well Input set is reduced as well

FC-Min Two-level Boolean minimizer Two-level Boolean minimizer Primarily designed for group minimization Primarily designed for group minimization Produces only the necessary group implicants – no excessive implicants are generated Produces only the necessary group implicants – no excessive implicants are generated First, the on-set cover is found (Find Cover) First, the on-set cover is found (Find Cover) Then implicants are computed Then implicants are computed

Find Cover 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 Directly determines group implicants

Find Cover

Output Grouping Main idea: outputs that share many group implicants should be grouped together Main idea: outputs that share many group implicants should be grouped together The effects are obvious for two-level minimization, however the same can be observed for multi-level implementation The effects are obvious for two-level minimization, however the same can be observed for multi-level implementation

Output Grouping Grouping matrix (G-Matrix) Combines influences of various group implicants Combines influences of various group implicants Symmetric matrix of dimensions [m, m] Symmetric matrix of dimensions [m, m] The value of G[i, j] defines the strength binding the two output variables i and j together The value of G[i, j] defines the strength binding the two output variables i and j together

Output Grouping G-Matrix Example Initial State

Output Grouping G-Matrix Example T 1 added

Output Grouping G-Matrix Example T 2 added

Output Grouping G-Matrix Example T 3 added

Output Grouping G-Matrix Example T 4 added

Output Grouping G-Matrix Example T 6 added

Output Grouping G-Matrix Example T 1 added Another cover, 2 nd G-Matrix

Output Grouping G-Matrix Example T 2 added Another cover, 2 nd G-Matrix

Output Grouping G-Matrix Example T 3 added Another cover, 2 nd G-Matrix

Output Grouping G-Matrix Example T 4 added Another cover, 2 nd G-Matrix

Output Grouping G-Matrix Example T 5 added Another cover, 2 nd G-Matrix

Output Grouping G-Matrix Example T 6 added Another cover, 2 nd G-Matrix

Output Grouping G-Matrix Example Normalization – transform into :2

Output Grouping G-Matrix Example Summing the two matrices: =

Output Grouping G-Matrix Example Final output grouping Task: Divide the 5-output circuit into max. 3-output blocks

Output Grouping G-Matrix Example Final output grouping Find maximum 6 possibilities – one at random G[1, 2] B 1 = {1, 2}

Output Grouping G-Matrix Example Final output grouping Find maximum in row 1 and column 2 B 1 = {1, 2, 4} Select 4

Output Grouping G-Matrix Example Final output grouping B 1 = {1, 2, 4} B 2 = {0, 3}

Experimental Results Hard MCNC benchmarks 3 experiments for each: 1. Minimize by Boom and decompose into 2-input gate network using SIS 2. Randomly divide the circuit into several blocks, then Divide the circuit using the proposed method, the 1.

Experimental Results

Conclusions A new output-grouping method A new output-grouping method Based on FC-Min Based on FC-Min Significant area reduction observed, with respect to the random technique Significant area reduction observed, with respect to the random technique Input support reduced too Input support reduced too Very fast Very fast