Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Slides:



Advertisements
Similar presentations
Rectangle-Efficient Aggregation in Spatial Data Streams Srikanta Tirthapura David Woodruff Iowa State IBM Almaden.
Advertisements

Optimal Space Lower Bounds for All Frequency Moments David Woodruff MIT
Three Special Functions
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
MVI Function Review Input X is p -valued variable. Each Input can have Value in Set {0, 1, 2,..., p i-1 } literal over X corresponds to subset of values.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Weikang Qian Ph.D. Candidate Electrical & Computer Engineering
A Transformation Based Algorithm for Reversible Logic Synthesis D. Michael Miller Dmitri Maslov Gerhard W. Dueck Design Automation Conference, 2003.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
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.
Chapter 2 – Combinational Logic Circuits Part 1 – Gate Circuits and Boolean Equations Logic and Computer Design Fundamentals.
CS 151 Digital Systems Design Lecture 6 More Boolean Algebra A B.
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.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Weikang Qian The Synthesis of Stochastic Logic to Perform Multivariate Polynomial Arithmetic Abstract Ph.D. Student, University of Minnesota Marc D. Riedel.
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
Lecture 3. Boolean Algebra, Logic Gates
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.
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’,
BOOLEAN FUNCTION PROPERTIES
Square n-by-n Matrix.
June 10, Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs Tomasz S. Czajkowski and Stephen D. Brown University of Toronto.
1. The Simplex Method.
KU College of Engineering Elec 204: Digital Systems Design
Boolean Algebra and Digital Circuits
Switching functions The postulates and sets of Boolean logic are presented in generic terms without the elements of K being specified In EE we need to.
2-Level Minimization Classic Problem in Switching Theory
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 2 – Combinational Logic Circuits Part 2.
Chapter 10 (Part 2): Boolean Algebra  Logic Gates (10.3) (cont.)  Minimization of Circuits (10.4)
Topic III The Simplex Method Setting up the Method Tabular Form Chapter(s): 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.
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Circuit Optimization Logic and Computer Design Fundamentals.
DISCRETE COMPUTATIONAL STRUCTURES CS Fall 2005.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
Two-Level Boolean Minimizer BOOM-II Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University Karlovo nam. 13,
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.
Multiple Valued Logic Currently Studied for Logic Circuits with More Than 2 Logic States –Intel Flash Memory – Multiple Floating Gate Charge Levels – 2,3.
Linear Program Set Cover. Given a universe U of n elements, a collection of subsets of U, S = {S 1,…, S k }, and a cost function c: S → Q +. Find a minimum.
Solve a system of linear equations By reducing a matrix Pamela Leutwyler.
ENGIN112 L6: More Boolean Algebra September 15, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 6 More Boolean Algebra A B.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 4 Dr. Shi Dept. of Electrical and Computer Engineering.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
Standard & Canonical Forms COE 202 Digital Logic Design Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
The Matrix Equation A x = b (9/16/05) Definition. If A is an m  n matrix with columns a 1, a 2,…, a n and x is a vector in R n, then the product of A.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Approximation Algorithms based on linear programming.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Mu.com.lec 9. Overview Gates, latches, memories and other logic components are used to design computer systems and their subsystems Good understanding.
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
EE5393, Circuits, Computation, and Biology Computing with Probabilities 1,1,0,0,0,0,1,0 1,1,0,1,0,1,1,1 1,1,0,0,1,0,1,0 a = 6/8 c = 3/8 b = 4/8.
REVIEW Linear Combinations Given vectors and given scalars
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
Lecture #6 EGR 277 – Digital Logic
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 5. The Duality Theorem
Overview Part 2 – Circuit Optimization
ECE 352 Digital System Fundamentals
Presentation transcript:

Weikang Qian

Outline Intersection Pattern and the Problem Motivation Solution 2

Intersection Pattern of Cubes Sum-of-product Boolean function: A set of cubes Example: Notation V( f ) : number of minterms covered by f Intersection pattern: numbers of minterms covered by the intersections of all subsets of cubes 3

Example of Intersection Pattern 4 3 cubeson 4 variables Intersection pattern depends on the total number of variables!

Reverse Problem Given the number of variables and an intersection pattern, synthesize cubes to satisfy that pattern 5 Example: Synthesize 3 cubes on 4 variables so that Sol.: One solution is

Reverse problem (cont.) Sometimes, these is no solution! 6 Example: Synthesize 2 cubes on 4 variables so that Sol.: No solution! Why? c0c0 No way to put the rectangle of 4 ones so the intersection has 1 minterms!

Outline Intersection Pattern and the Problem Motivation Solution 7

Why Intersection Pattern? Probabilistic computation Digital circuit operating on random bit streams Transform probabilities into probabilities Application In test: Weighted random pattern generation Hardware implementation of probabilistic algorithms 8 P(x = 1) = 0.4 P(z = 1) = 0.2 P(y = 1) = 0.5 0,1,0,1,0,0,1,1,0,0 1,0,1,1,0,0,1,0,0,1 0,0,0,1,0,0,1,0,0,0

A Fundamental Synthesis Problem 9 Independent Combinational Logic 0.5 q ?

Output Probability: Analysis If the number of inputs is n, then q = m/2 n Each input combination has probability 1/2 n If the Boolean function has m minterms, then q = m/2 n 10 5 minterms q = 5/8

Output Probability: Synthesis Implement m/2 n Choose m minterms But, which m minterms to choose? 11 Example: q = 7/

Two Level Logic Synthesis Problem Given number of inputs n and m, find a SOP Boolean function with minimum cubes to cover m minterms. 12 Optimization Flow λ = Lower bound on the number of cubes to cover m minterms Exist λ cubes to cover m interms? end Y λ = λ + 1 N Related

Exist λ cubes to cover m miterms? Step 1 : Construct an intersection pattern so that it covers m minterms by Inclusion-Exclusion Principle: Step 2 : Synthesize cubes to satisfy the intersection pattern (Focus of this work) 13

Outline Intersection Pattern and the Problem Motivation Solution 14

Preliminaries Literals: If cube c has k literals, then V(c) = 2 n − k Empty cube: c = 0, V(c) = 0 For a cube c, 15

Cube-Variable Matrix D λ rows, each corresponding to a cube n columns, each corresponding to a variable 16 Example: If a row vector has k * ’s, V(c) = 2 k Synthesis a cube-variable matrix to satisfy the intersection pattern V(c) = 2

Properties Negation Column negation and column permutation of matrix maintain the intersection pattern. 17 exchange column 1 & 2 negate column 1 Same pattern:

Key Ideas of Solution Determine what each column should be Each column has 3 λ candidate choices: Only need to consider a subset of candidate choices For example, by column negation invariability, choice equivalent to choice Column permutation invariability: position does not matter; only number of occurrence of each candidate choice in cube-variable matrix matters 18

A Special Case A case where all-cube intersection is non-empty Candidate choices: those columns that do not contain both a 0 and a 1 Further reduction on candidate choices: only consider columns without 0 ’s 19 X Intersection Empty! } By column negation invariability: Replaced by

Special Case: Illustration with λ = 3 Candidate choices: Number of occurrences in cube-variable matrix matters Set equations between unknowns and knowns 20 y0y0 y1y1 y2y2 y3y3 y4y4 y5y5 y6y6 y7y7 unknowns: knowns: n, V(c 0 ), V(c 1 ), V(c 0 c 1 ), V(c 2 ), V(c 0 c 2 ), V(c 1 c 2 ), V(c 0 c 1 c 2 ) c0c0 c1c1 c2c2

Set up Equations 21 knowns: n, V(c 0 ), V(c 1 ), V(c 0 c 1 ), V(c 2 ), V(c 0 c 2 ), V(c 1 c 2 ), V(c 0 c 1 c 2 ) y0y0 y1y1 y2y2 y3y3 y4y4 y5y5 y6y6 y7y7 unknowns: c0c0 c1c1 c2c2 Equation on n Equation on V(c 0 ) If a row vector of c has k * ’s, V(c) = 2 k Relates to total number of columns with first entry * y 0 + y 1 + y 2 + y 3 + y 4 + y 5 + y 6 + y 7 = n Each column belongs to one of the candidate choices y 1 + y 3 + y 5 + y 7 = k 1 = log 2 V(c 0 ) y 2 + y 3 + y 6 + y 7 = log 2 V(c 1 ) Equation on V(c 1 ) y 4 + y 5 + y 6 + y 7 = log 2 V(c 2 ) Equation on V(c 2 )

Set up Equations (cont.) 22 knowns: n, V(c 0 ), V(c 1 ), V(c 0 c 1 ), V(c 2 ), V(c 0 c 2 ), V(c 1 c 2 ), V(c 0 c 1 c 2 ) y0y0 y1y1 y2y2 y3y3 y4y4 y5y5 y6y6 y7y7 unknowns: c0c0 c1c1 c2c2 Equation on V(c 0 c 1 ) If a row vector of c has k * ’s, V(c) = 2 k Relates to total number of columns with 1 st and 2 nd entry both * c0c0 c1c1 c2c2 c0c1c0c1 contribute to * in c 0 c 1 y 3 + y 7 = k 3 = log 2 V(c 0 c 1 ) Equation on V(c 0 c 2 ) y 5 + y 7 = log 2 V(c 0 c 2 ) Equation on V(c 1 c 2 ) y 6 + y 7 = log 2 V(c 1 c 2 )

Set up Equations (cont.) 23 knowns: n, V(c 0 ), V(c 1 ), V(c 0 c 1 ), V(c 2 ), V(c 0 c 2 ), V(c 1 c 2 ), V(c 0 c 1 c 2 ) y0y0 y1y1 y2y2 y3y3 y4y4 y5y5 y6y6 y7y7 unknowns: c0c0 c1c1 c2c2 Equation on V(c 0 c 1 c 2 ) Relates to total number of columns with 1 st, 2 nd, and 3 rd entry all * y 7 = log 2 V(c 0 c 1 c 2 )

System of Linear Equations 24 y 0 + y 1 + y 2 + y 3 + y 4 + y 5 + y 6 + y 7 = n = k 0 y 1 + y 3 + y 5 + y 7 = log 2 V(c 0 ) = k 1 y 2 + y 3 + y 6 + y 7 = log 2 V(c 1 ) = k 2 y 4 + y 5 + y 6 + y 7 = log 2 V(c 2 ) = k 4 y 3 + y 7 = log 2 V(c 0 c 1 ) = k 3 y 5 + y 7 = log 2 V(c 0 c 2 ) = k 5 y 6 + y 7 = log 2 V(c 1 c 2 ) = k 6 y 7 = log 2 V(c 0 c 1 c 2 ) = k 7 Matrix form Solution

Solution of the Special Case Solution If all entries of are non-negative, then we find one set of cubes satisfying the intersection pattern Otherwise, there is no set of cubes satisfying the intersection pattern 25

Example of Special Case 26 Synthesize 3 cubes on 5 variables so that V(c 0 ) = V(c 1 ) = 16, V(c 0 c 1 ) = V(c 2 ) = 8, V(c 0 c 2 ) = V(c 1 c 2 ) = 4, V(c 0 c 1 c 2 ) = 2 Sol.: y0y0 y1y1 y2y2 y3y3 y4y4 y5y5 y6y6 y7y7 Cube-variable matrix

General Cases Cases where all-cube intersection could be empty Same ideas Reduce candidate choices Take numbers of occurrences as unknowns Set up equations between unknowns and knowns A system of linear equalities and inequalities 27

Conclusion Problem: Synthesize a set of cubes to satisfy a given intersection pattern Important step in the two-level logic synthesis for probabilistic computation Solution: Determine the number of occurrences of each candidate choice Future work: integrate into the optimization problem 28

Thank You! 29