Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu.

Slides:



Advertisements
Similar presentations
Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
Advertisements

Greedy Algorithms Greed is good. (Some of the time)
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
Beyond Trilateration: On the Localizability of Wireless Ad Hoc Networks Reported by: 莫斌.
Author: Jie chen and Yousef Saad IEEE transactions of knowledge and data engineering.
Chapter 8-3 Markov Random Fields 1. Topics 1. Introduction 1. Undirected Graphical Models 2. Terminology 2. Conditional Independence 3. Factorization.
CSL758 Instructors: Naveen Garg Kavitha Telikepalli Scribe: Manish Singh Vaibhav Rastogi February 7 & 11, 2008.
Implementation of Graph Decomposition and Recursive Closures Graph Decomposition and Recursive Closures was published in 2003 by Professor Chen. The project.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Technology Mapping.
Graphs.
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,
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
1 BDS: A BDD-Based Logic Optimization System “BDS: A BDD-Based Logic Optimization System”, by Congguang Yang and Maciej Ciesielski, 2000 By Chang Seok.
EDA (CS286.5b) Day 6 Partitioning: Spectral + MinCut.
MRF Labeling With Graph Cut CMPUT 615 Nilanjan Ray.
ECE Synthesis & Verification - Lecture 14 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems BDD-based.
Applications of Depth-First Search
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2009 Partitioning 2 (spectral, network flow)
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski Univ. of Massachusetts Amherst, MA.
ECE 667 Synthesis and Verification of Digital Systems
Tools for Planar Networks Grigorios Prasinos and Christos Zaroliagis CTI/University of Patras 3 rd Amore Research Seminar – Oegstgeest, The Netherlands,
Constant Factor Approximation of Vertex Cuts in Planar Graphs Eyal Amir, Robert Krauthgamer, Satish Rao Presented by Elif Kolotoglu.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
1 Physical Mapping --An Algorithm and An Approximation for Hybridization Mapping Shi Chen CSE497 04Mar2004.
Introduction to Graph Theory
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
Faster Logic Manipulation for Large Designs Alan Mishchenko Robert Brayton University of California, Berkeley.
Digital Logic Chapter 4 Presented by Prof Tim Johnson
All that remains is to connect the edges in the variable-setters to the appropriate clause-checkers in the way that we require. This is done by the convey.
Graphs Rosen, Chapter 8. Isomorphism (Rosen 560 to 563) Are two graphs G1 and G2 of equal form? That is, could I rename the vertices of G1 such that the.
Reconstructing shredded documents through feature matching Authors: Edson Justino, Luiz S. Oliveira, Cinthia Freitas Source: Forensic Science International.
Graphs. 2 Graph definitions There are two kinds of graphs: directed graphs (sometimes called digraphs) and undirected graphs Birmingham Rugby London Cambridge.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
1 Closures of Relations: Transitive Closure and Partitions Sections 8.4 and 8.5.
Graphs, Puzzles, & Map Coloring
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: February 4, 2014 Partitioning 2 (spectral, network flow)
An Efficient Linear Time Triple Patterning Solver Haitong Tian Hongbo Zhang Zigang Xiao Martin D.F. Wong ASP-DAC’15.
Matrices Section 2.6. Section Summary Definition of a Matrix Matrix Arithmetic Transposes and Powers of Arithmetic Zero-One matrices.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
1 Prim’s algorithm. 2 Minimum Spanning Tree Given a weighted undirected graph G, find a tree T that spans all the vertices of G and minimizes the sum.
Relation. Combining Relations Because relations from A to B are subsets of A x B, two relations from A to B can be combined in any way two sets can be.
A Decomposition Algorithm to Structure Arithmetic Circuits Ajay K. Verma, Philip Brisk, Paolo Ienne Ecole Polytechnique Fédérale de Lausanne (EPFL) International.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Walks, Paths and Circuits. A graph is a connected graph if it is possible to travel from one vertex to any other vertex by moving along successive edges.
Timing Model Reduction for Hierarchical Timing Analysis Shuo Zhou Synopsys November 7, 2006.
Graphs. Contents Terminology Graphs as ADTs Applications of Graphs.
Network Theory: Community Detection Dr. Henry Hexmoor Department of Computer Science Southern Illinois University Carbondale.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
Faster Symmetry Discovery using Sparsity of Symmetries Paul T. Darga Karem A. Sakallah Igor L. Markov The University of Michigan.
Liaoruo Wang and John E. Hopcroft Dept. of Computer Engineering & Computer Science, Cornell University In Proc. 7th Annual Conference on Theory and Applications.
Efficient Placement and Dispatch of Sensors in a Wireless Sensor Network You-Chiun Wang, Chun-Chi Hu, and Yu-Chee Tseng IEEE Transactions on Mobile Computing.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Graphs Rosen, Chapter 8. NOT ONE OF THESE! One of these!
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Paths and circuits.
Graphs David Kauchak cs302 Spring Admin HW 12 and 13 (and likely 14) You can submit revised solutions to any problem you missed Also submit your.
On the Ability of Graph Coloring Heuristics to Find Substructures in Social Networks David Chalupa By, Tejaswini Nallagatla.
Ruei-Rung Lee, J.-H. Roland Jiang, and Wei-Lun Hung
Introduction to Algorithms
The Analysis of Cyclic Circuits with Boolean Satisfiability
Graphs Rosen, Chapter 8.
A. Mishchenko S. Chatterjee1 R. Brayton UC Berkeley and Intel1
ECE 667 Synthesis and Verification of Digital Systems
Quality of Service in Multimedia Distribution
Sungho Kang Yonsei University
Algorithms for Budget-Constrained Survivable Topology Design
CS 201 Compiler Construction
Presentation transcript:

Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

  Introduction  Terminology  Algorithm  Illustration  Experimental Result  Conclusion Outline

 Introduction

  Bi-decomposition is a special kind of functional decomposition  Functional decomposition  Break a large function into a network of smaller functions  Reduce circuit and communication complexity and thus simplify physical design  Bi-decomposition plays an important role in logic synthesis for restructuring Boolean networks Introduction

 Problem f fAfA f B h XAXA XBXB XCXC XBXB XCXC Bi-decompose XAXA

 Terminology

  Blocking Edge Graph (BEG):  It’s an undirected graph.  Every vertex represent a variable.  One graph represents only one non-decomposability of and, or, or xor.  The edges connected variable pair {i, j} means no variable partition can decompose this variable pair.  BEG can extract variable partition. Terminology

  ( a, b) and ( b, d) are not blocked in the and BEG.  ( c, d) and ( c, b) are not blocked in the or BEG.  The xor BEG is complete graph. BEG Example OR AND ab dc ab dc XOR ab dc

 Algorithm

  1.Construct BEG  2.Do variable partition on the BEG.  3.Compute the decomposed functions.  4.Recursively bi-decompose the decomposed functions from 3.  In 4. if the function is not decomposable it will do some relaxation to make further decompose. (It’s not bi-decomposition) Algorithm

 Illustration

 Construct BEG

  Blocking condition:  One square blocks the others. Construct BEG

 K-map ij\k Example AND i kj OR i kj XOR i kj For { i, j } pair : assign k=0 assign k=1 i\j 0 1 i\j or xor square square Blocking all { i, j} in all BEGs. Other pair do the same thing to finish constructing the BEGs.

 K-map ij\k Example AND i kj OR i kj XOR i kj For { i, j } pair : assign k=0 assign k=1 i\j 0 1 i\j Literal Zero square square

  We can compute whether the edge ( i, j) should be added or not in and and or BEGs by compute x. If x is not constant 0 the edge will be added. Construct BEG i j k On-Set Off-set

  The same for or and and : Construct BEG i j k On-Set Off-set

 Whether the function is bi-decomposable or not? Guarantee the existence of variable partition. Variable Partition

 Who can be common variable? Vertex cut is necessary but not sufficient condition. Variable Partition

  Vertex Cut: A set of vertices whose removal renders a connected graph disconnected.  Examples: Variable Partition ab dc Legal cut Not a vertex cut a b d c e Legal cut Another legal cut

  Decomposed function for or and and :  For an or bi-decomposition. Decomposed Function Off-set On-set An and bi-decomposition can be obtained in a similar manner by interchanging the off-set and the on-set of f. It’s subset of off-set of f. It’s obtained from expanding on-set of f and does not overlap with off-set of decomposed function.

  For xor : Decomposed Function

 Example

 Experimental Result

 Conclusion

  The experimental result looks good.  This work implemented in ABC using CUDD package, it might have memory problem when function is large.  Solving problem with new graph structure might be a good idea.  The BEG has global view of the decomposability of every variable pairs to choose the best partition.  Maybe we can improve our bi-decomposition work. Conclusion

Thanks for Attention