The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
1.8 Combinations of Functions: Composite Functions The composition of the functions f and g is “f composed by g of x equals f of g of x”
Evaluating “find a path” reachability queries P. Bouros 1, T. Dalamagas 2, S.Skiadopoulos 3, T. Sellis 1,2 1 National Technical University of Athens 2.
The Theory of NP-Completeness
The Out of Kilter Algorithm in Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal.
FUNDAMENTAL PROBLEMS AND ALGORITHMS Graph Theory and Combinational © Giovanni De Micheli Stanford University.
1 Tutorial: ITI1100 Dewan Tanvir Ahmed SITE, UofO.
ECE 301 – Digital Electronics Circuit Design and Analysis (Lecture #9A) The slides included herein were taken from the materials accompanying Fundamentals.
CSE-221 Digital Logic Design (DLD)
Cyclic Combinational Circuits: Analysis for Synthesis Marc D. Riedel and Jehoshua Bruck California Institute of Technology.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
Combining Technology Mapping and Retiming EECS 290A Sequential Logic Synthesis and Verification.
The Synthesis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology {riedel,
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
Cyclic Combinational Circuits Theory Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million year old Trilobite)(novel.
Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback.
A General approach to MPLS Path Protection using Segments Ashish Gupta Ashish Gupta.
Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million.
Timing Analysis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology IWLS, Temecula Creek, CA, June 4,
Branch and Bound Algorithm for Solving Integer Linear Programming
Minimum spanning tree Prof Amir Geva Eitan Netzer.
Boolean Algebra and Logic Simplification
Unit 1.3 USE YOUR CALCULATOR!!!.
Electric Circuit Theory
Logic Function Optimization. Combinational Logic Circuit Regular SOP and POS designs Do not care expressions Digital logic circuit applications Karnaugh.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
2-Level Minimization Classic Problem in Switching Theory
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
ECE 331 – Digital System Design Circuit Design and Analysis (Lecture #9A) The slides included herein were taken from the materials accompanying Fundamentals.
Chun-Yao Wang ( 王俊堯 ) 2011/12/16 Department of Computer Science, National Tsing Hua University Hsinchu, Taiwan, R.O.C.
Nearest Neighbor Queries Chris Buzzerd, Dave Boerner, and Kevin Stewart.
Timing Analysis Predicated on a topological ordering. l 1 = 1 level: l 2 = 1 x y x y z z c s g1g1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
CAS 721 Course Project Minimum Weighted Clique Cover of Test Set By Wei He ( )
Online Social Networks and Media
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
6-2B Solving by Linear Combinations Warm-up (IN) Learning Objective: to solve systems of equations using linear combinations. Solve the systems using substitution.
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Unit 1.3 USE YOUR CALCULATOR!!! MM3A5c. Unit 1 – Algebra: Linear Systems, Matrices, & Vertex- Edge Graphs  1.3 – Solve Linear Systems Algebraically 
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
Introduction to Clock Tree Synthesis
A multi-objective synthesis of optimal control system by the network operator method 1 A.I. Diveev Institution of Russian Academy of Sciences Dorodnicyn.
CS151 Introduction to Digital Design Chapter 2: Combinational Logic Circuits Lecture 5: Binary Logic and Gates.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
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.
ECE 320 Homework #3 1. Simplify the Boolean function F using the don’t care conditions d, in both S.O.P. and P.O.S. form: a) F=A’B’D’+A’CD+A’BC d=A’BC’D+ACD+AB’D’
1 CS 151: Digital Design Chapter 3: Combinational Logic Design 3-1Design Procedure CS 151: Digital Design.
1 Recursive algorithms Recursive solution: solve a smaller version of the problem and combine the smaller solutions. Example: to find the largest element.
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Y=3x+1 y 5x + 2 =13 Solution: (, ) Solve: Do you have an equation already solved for y or x?
Digital Design Module 2 Decoder Amit Kumar AP SCSE, GU Greater Noida.
DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs Deming Chen, Jason Cong , Computer Science Department , UCLA Presented.
School of Computer and Communication Engineering, UniMAP DKT 122/3 - DIGITAL SYSTEM I Chapter 4A:Boolean Algebra and Logic Simplification) Mohd ridzuan.
Topic 6.5. Solve Systems by Substitution Objectives: Solve Systems of Equations using Substitution Standards: Functions, Algebra, Patterns. Connections.
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC. De Morgan’s Theorem De Morgan’s Theorem.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
Circuit Synthesis A logic function can be represented in several different forms:  Truth table representation  Boolean equation  Circuit schematic 
Discrete Systems I Lecture 09 Minterms and Decoders Profs. Koike and Yukita.
Chapter 1 Connections to Algebra Review
The Analysis of Cyclic Circuits with Boolean Satisfiability
Solving Systems of Linear Equations in 3 Variables.
Timed Automata Formal Systems Pallab Dasgupta Professor,
Notes Solving a System by Elimination
Logic Gates Dr.Halimah Alshehri.
Solving Systems of Linear Equations in 3 Variables.
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
Laws & Rules of Boolean Algebra
Chapter 2 Digital Design and Computer Architecture, 2nd Edition
Presentation transcript:

The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng

Introduction  7-segment display decoder There are 4 PIs and 7 POs x 3 x 2 x 1 x 0 Digit a b c d e f g

Introduction  LED Display

Introduction  The display of “ e ” should be light up at “ 0 ” “ 2 ” “ 3 ” “ 5 ” “ 6 ” “ 8 ”. So the original PO : e = x 0 ’ x 1 ’ x 2 ’ x 3 ’ + x 0 ’ x 1 x 2 ’ x 3 ’ + x 0 x 1 x 2 ’ x 3 ’ + x 0 x 1 ’ x 2 x 3 ’ + x 0 ’ x 1 x 2 x 3 ’ + x 0 ’ x 1 ’ x 2 ’ x 3 x 3 x 2 x 1 x 0 Digit

Introduction  Cyclic Network (These outputs are synthesized) a = x 0 ’ x 3 ’ c + x 1 ’ c b = x 0 ’ (x 1 ’ x 2 ’ + x 1 x 3 ’) c = x 0 x 2 ’ x 3 ’ + x 2 ’ (x 1 ’ x 3 + e) d = x 1 x 2 ’ x 3 ’ + a (x 2 + x 3 ) e = x 0 x 3 ’ d + b f = x 2 ’ c + x 3 ’ e’ g = x 0 x 3 ’ + a g a b c d e f

Introduction  With x 3 = 0, x 2 = 0, x 1 = 0, x 0 = 1 a = c = 0 b = 0 c = e = 0 d = 0 e = b + d = 0 f = e ’ + c = 1 g = 1 bd e c a f a b c d e f g

Definition  Target function : The original PO (Composed by boolean input variables)  Ex: b = x 0 ’ x 1 ’ x 2 ’ x 3 ’ + x 0 ’ x 1 x 2 ’ x 3 ’ + x 0 ’ x 1 ’ x 2 x 3 ’ + x 0 ’ x 1 ’ x 2 ’ x 3  In the network, f = x 2 ’ c + x 3 ’ e ’ f is node function, c, e are internal variables g a b c d e f

Synthesis  The goal is to construct a network that computes target functions with the cost as low as possible.  The operation we use is Substitution.  Using target functions to represent each other e = x0 x3’ d + b e = x 0 ’ x 1 ’ x 2 ’ x 3 ’ + x 0 ’ x 1 x 2 ’ x 3 ’ + x 0 x 1 x 2 ’ x 3 ’ + x 0 x 1 ’ x 2 x 3 ’ + x 0 ’ x 1 x 2 x 3 ’ + x 0 ’ x 1 ’ x 2 ’ x 3

Synthesis f 1 = x 1 ’ x 2 x 3 ’ + x 2 ’ (x 1 + x 3 ) f 2 = x 1 ’ x 2 ’ x 3 ’ + x 1 (x 2 + x 3 ) f 3 = x 3 ’ (x 1 ’ + x 2 ’ ) + x 1 ’ x 2 ’ Substitution f 3 into f 1 we got f 1 = f 3 (x 1 +x 2 )+x 2 ’ x 3 Substitution f 3 into f 2 we got f 2 = x 1 ’ x 2 ’ x 3 ’ + x 1 f 3 ’ Substitution f 2 and f 3 into f 1 we got f 1 = x 2 ’ x 3 + f 2 ’ f 3

Synthesis  Each target function can try substituting different sets of functions.  For f 1, it can be substitution by : ( none, [f 2 ], [f 3 ], [f 2 +f 3 ] ) = > 4 ways to substitution. f 1 = x 1 ’ x 2 x 3 ’ + x 2 ’ (x 1 + x 3 ) f 1 = f 3 (x 1 + x 2 ) + x 2 ’ x 3 f 1 = x 2 ’ x 3 + f 2 ’ f 3

Synthesis Different substitution sets cause different cost. f 1 = x 1 ’ x 2 x 3 ’ + x 2 ’ (x 1 + x 3 ) => cost 6 f 1 = f 3 (x 1 + x 2 ) + x 2 ’ x 3 => cost 5 f 1 = x 2 ’ x 3 + f 2 ’ f 3 => cost 4 In general, augmenting the set of functions available for substitution, makes the cost unchanged or lower.

Algorithm  The goal is to select a choice of node functions that minimize the cost and make the whole circuit combinational.  With n nodes, there are 2 n-1 substitutional sets of for each node. The total possibilities is n ‧ 2 n-1.  It ’ s evidently intractable search all the conditions, so we use branch-and-bound approach.

The “ Break-Down ” Approach  A branch terminates when it hits a combinational solution.  Begins with a densely connected network.  As edges are excluded in the process, the cost of the network remains the same or increase.

The “ Break-Down ” Approach  Analyze the current branch. If it ’ s combinational, add it to the solution list. Otherwise, select a set of edges to exclude. It’s not combinational Select edge f 1 ←f 2 Select edge f 2 →f 3

The “ Break-Down ” Approach  For each edge in the set, create a new branch for a new node expression  If the cost of the new branch equals or exceeds that of a solution found, kill the branch.

The “ Break-Down ” Approach  Mark the current branch as “ explored ”  Set the current branch to be the lowest cost unexplored branch ← Current branch Explored ← Current branch

The “ Build-Up ” Approach  A branch terminates when it hits a non-combinational solution.  Begins with an empty edge set.  This initial branch provides a lower bound on the cost.  As edges are included, the cost of the network remains the same or decreases.

The “ Build-Up ” Approach  Analyze the current branch. If it ’ s not combinational, then discard it. Otherwise, select a set of edges to include. It’s combinational Select edge f 2 → f 3 Select edge f 2 → f 1

The “ Build-Up ” Approach  For each edge in the set, create a new branch for a new node expression.

The “ Build-Up ” Approach  Mark the current branch as “ explored ”  Set the current branch to be the lowest cost unexplored branch ← Current branch Explored ← Current branch

Results Randomly Generates Networks # In# OutCyclic Solutions Found Avg. Improvement Range 55100%8.5 %3% - 17 % 5796%9.1 %0% - 18 % %12.0 %2% - 20 % %13.4 %7 % - 23 % %14.2 %8 % - 18 % %5.6 %0 % - 11 % %3.6 %0 % - 10 %

Thank You