The Synthesis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology {riedel,

Slides:



Advertisements
Similar presentations
The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
Advertisements

Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million.
Abdullah Aldahami ( ) Jan 29,  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques.
Address comments to FPGA Area Reduction by Multi-Output Sequential Resynthesis Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Glitches & Hazards.
Registers and Counters
The Analysis of Cyclic Circuits with Boolean Satisfiability John Backes, Brian Fett, and Marc Riedel Electrical Engineering, University of Minnesota.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
01/25/2005 Combinationality of cyclic circuits EECS 290A – Spring 2005 UC Berkeley.
Efficiently Exploring Compiler Optimization Sequences With Pairwise Pruning Milind Chabbi John Mellor-Crummey Keith Cooper RICE UNIVERSITY DEPARTMENT OF.
Cyclic Combinational Circuits: Analysis for Synthesis Marc D. Riedel and Jehoshua Bruck California Institute of Technology.
ELEN 468 Lecture 121 ELEN 468 Advanced Logic Design Lecture 12 Synthesis of Combinational Logic I.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
Technology Mapping.
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.
EECS 40 Spring 2003 Lecture 11S. Ross and W. G. OldhamCopyright Regents of the University of California TO REVIEW AMPLIFIERS… Prove formulas for various.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
1 Fault Nodes in Implication Graph for Equivalence/Dominance Collapsing, and Identifying Untestable and Independent Faults R. Sethuram
Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
Timing Analysis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology IWLS, Temecula Creek, CA, June 4,
Layout-based Logic Decomposition for Timing Optimization Yun-Yin Lien* Youn-Long Lin Department of Computer Science, National Tsing Hua University, Hsin-Chu,
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
AOI Logic Implementation © 2014 Project Lead The Way, Inc.Digital Electronics.
AOI Logic Implementation
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
KU College of Engineering Elec 204: Digital Systems Design
Digital Electronics. Introduction to Number Systems & Codes Digital & Analog systems, Numerical representation, Digital number systems, Binary to Decimal.
1 Lecture 10 PLDs  ROMs Multilevel logic. 2 Read-only memories (ROMs) Two dimensional array of stored 1s and 0s  Input is an address  ROM decodes all.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
ECE 331 – Digital System Design
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Sneha.  Gates Gates  Characteristics of gates Characteristics of gates  Basic Gates Basic Gates  AND Gate AND Gate  OR gate OR gate  NOT gate NOT.
How Much Randomness Makes a Tool Randomized? Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
Jehoshua (Shuki) Bruck. From Screws to Systems… The Lineage of BMW.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
ITEC 352 Lecture 3 Low level components(2). Low-level components Review Electricity Transistors Gates Really simple circuit.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Materialized View Selection and Maintenance using Multi-Query Optimization Hoshi Mistry Prasan Roy S. Sudarshan Krithi Ramamritham.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.
Designing Combinational Logic Circuits
Wajid Minhass, Paul Pop, Jan Madsen Technical University of Denmark
Counters.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Combinational network delay. n Logic optimization.
Manufacture Testing of Digital Circuits
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
Kanupriya Gulati * Mathew Lovell ** Sunil P. Khatri * * Computer Engineering, Texas A&M University ** Hewlett Packard Company, Fort Collins, CO Efficient.
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
The Analysis of Cyclic Circuits with Boolean Satisfiability
“Definition” of Combinational
A Dynamic System Analysis of Simultaneous Recurrent Neural Network
Example: Verification
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
A Random Access Scan Architecture to Reduce Hardware Overhead
CS137: Electronic Design Automation
Presentation transcript:

The Synthesis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology {riedel,

Combinational Circuits The outputs depend only on the present values of inputs. time t inputs 1 x 2 x m x Combinational Circuit  ),,( 11m xxf  ),,( 12m xxf  ),,( 1mn xxf  time (t+Δt) outputs }1,0{}1,0{:,  m j fj }1,0{,  i xi

Generally acyclic (i.e., feed-forward) structures. Combinational Circuits y x y x y x z z z 1 f 2 f

Generally acyclic (i.e., feed-forward) structures. Combinational Circuits

Circuits With Cycles abc 1 f 2 f 3 f May depend on timing. May have unstable/unknown outputs.

Circuits With Cycles 01 1 ? ?? 0: non-controlling for OR 1: non-controlling for AND May depend on timing. May have unstable/unknown outputs.

Cyclic Combinational Circuits Cyclic circuits can be combinational. Example due to Rivest (1977): abcabc f1f1 f2f2 f3f3 f4f4 f5f5 f6f6

Cyclic Combinational Circuits bcbc f1f1 f2f2 f3f3 f4f4 f5f5 f6f6 1 1 Cyclic circuits can be combinational. Example due to Rivest (1977):

Cyclic Combinational Circuits bcbc f1f1 f2f2 f3f3 f5f5 f6f Cyclic circuits can be combinational. Example due to Rivest (1977):

Cyclic Combinational Circuits bcbc f1f1 f2f2 f3f3 f5f5 f6f6 aa f4f4 Cyclic circuits can be combinational. Example due to Rivest (1977):

Cyclic Combinational Circuits bcbc f1f1 f2f2 f3f3 f4f4 f5f5 f6f6 0 0 Cyclic circuits can be combinational. Example due to Rivest (1977):

Cyclic Combinational Circuits bcbc f2f2 f3f3 f4f4 f5f5 f6f Cyclic circuits can be combinational. Example due to Rivest (1977):

Cyclic Combinational Circuits There is feedback is a topological sense, but not in an electrical sense. bcbc f2f2 f3f3 f4f4 f5f5 f6f6 f1f1 aa Cyclic circuits can be combinational. Example due to Rivest (1977):

Cyclic Combinational Circuits There is feedback is a topological sense, but not in an electrical sense. bcbcaa )(cba  )(bac  )(cab  cab  cba  bac  Cyclic circuits can be combinational. Example due to Rivest (1977):

3 inputs, 6 fan-in two gates. An equivalent acyclic circuit requires 7 fan-in two gates. Cyclic Combinational Circuits bcbcaa )(cba  )(bac  )(cab  cab  cba  bac  Cyclic circuits can be combinational. Example due to Rivest (1977):

Cyclic Combinational Circuits bcbcaa )(cba  )(bac  )(cab  cab  cba  bac  Cyclic circuits can be combinational. Example due to Rivest (1977): n inputs, 2n fan-in two gates ( n odd). An equivalent acyclic circuit requires 3n – 2 fan-in two gates.

Prior Work F(X)F(X)G(X)G(X) e.g., add e.g., shift Stok (1992) observed cycles in designs that reuse functional units: Malik (1994), Shiple et al. (1996), Edwards (2003) proposed techniques for analyzing cyclic combinational circuits. X G(F(X)) Y F(G(Y))

Synthesis of Cyclic Combinational Circuits We propose a general methodology: optimize by introducing cycles in the substitution/minimization phase. We demonstrate that optimizations are significant and applicable to a wide range of circuits.

Example: 7 Segment Display Inputs a b c d e f g Output xxxx

Example: 7 Segment Display a b c d e f g Output

Substitution/Minimization Basic minimization/restructuring operation: express a function in terms of other functions. Substitute b into a: (cost 9) a  ))(( xxxxxxxxx  (cost 8) Substitute c into a: (cost 5) Substitute c, d into a: (cost 4) a  )( bxxxxxbx  a  cxxcx 321  a  dccx  1

Acyclic Substitution g f e b a c d Select an acyclic topological ordering: g f e d c b a       

g f d c b a       edcaxx  21 dccx  1 xxxxxxxxx  ))((dxxxxxx  )(cdxx  10 )( Select an acyclic topological ordering: Cost (literal count): 37 Acyclic Substitution e   3 cxb d ba  f

Select an acyclic topological ordering: Nodes at the top benefit little from substitution. g f d c b a       edcaxx  21 dccx  1 xxxxxxxxx  ))((dxxxxxx  )(cdxx  10 )( e   3 cxb d ba  f

Cyclic Substitution Try substituting every other function into each function: Not combinational! Cost (literal count): 30  0 1 ex dccx fba geex bcdx gxaxex egxxax      f g f d c b a       e 

Cyclic Substitution g f e d c b a        Cost (literal count): 34 Combinational solution: xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f

Cyclic Substitution Cost (literal count): 34 Combinational solution: topological cycles g f e d c b a        xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f

Inputs x 3, x 2, x 1, x 0 Cost (literal count): 34 ba ga e e e c        1 no electrical cycles Cyclic Substitution g f e d c b a        xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f = [0,0,1,0]:

g f e d c b a        Cost (literal count): 34 ba ga e e e c        1        Cyclic Substitution no electrical cycles xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f Inputs x 3, x 2, x 1, x 0 = [0,0,1,0]:

g f e d c b a        Cost (literal count): 34 ba ga e e e c        1        a b c d e f g Cyclic Substitution xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f Inputs x 3, x 2, x 1, x 0 = [0,0,1,0]:

g f e d c b a        Cost (literal count): 34 ba ga e e e c        1        a b c d e f g Cyclic Substitution xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f Inputs x 3, x 2, x 1, x 0 = [0,0,1,0]:

g f e d c b a        Cost (literal count): 34 ba ga e e e c        1        a b c d e f g Cyclic Substitution xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f Inputs x 3, x 2, x 1, x 0 = [0,0,1,0]:

g f e d c b a        Cost (literal count): 34 Cyclic Substitution xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f Inputs x 3, x 2, x 1, x 0 = [0,1,0,1]:

g f e d c b a        Cost (literal count): 34 Cyclic Substitution ba a a 1 0 c        f xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f Inputs x 3, x 2, x 1, x 0 = [0,1,0,1]: no electrical cycles

g f e d c b a        Cost (literal count): 34        Cyclic Substitution ba a a 1 0 c        f xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f no electrical cycles Inputs x 3, x 2, x 1, x 0 = [0,1,0,1]:

g f e d c b a        Cost (literal count): 34 a b c d e f g Cyclic Substitution        ba a a 1 0 c        f xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f Inputs x 3, x 2, x 1, x 0 = [0,1,0,1]:

g f e d c b a        Cost (literal count): 34 Cyclic Substitution        ba a a 1 0 c        f a b d e f g xe 0 bxa 3  gxxxax 1023 )(  axxex 321 )(  exxxxxx )(  cxxcx 301  xxxfx 1023 )(  f Inputs x 3, x 2, x 1, x 0 = [0,1,0,1]: c

Analysis Efficient, symbolic framework for analysis (BDD-based). Analysis is integrated with synthesis phase. For details see: “Cyclic Combinational Circuit: Analysis for Synthesis,” IWLS’03, available at

Combinationality Analysis: ensure that there are no sensitized cycles. Timing Analysis: find the length of sensitized paths. Analysis

Synthesis Strategy: Allow cycles in the substitution phase of logic synthesis. Find lowest-cost combinational solution )( )( )( xxxxxc xxxxxxb xxxxxxa       Collapsed: Cost: xxaxc cxxxxb xxbxa       Solution: Cost: 13

“Break-Down” approach Exclude edges Search performed outside space of combinational solutions cost 12 cost 13 cost 12 cost 13 combinational cost 14 Branch and Bound

“Build-Up” approach Include edges Search performed inside space of combinational solutions cost 17 cost 16 cost 15 not combinational cost 14 Branch and Bound cost 13 best solution

Implementation: CYCLIFY Program Incorporated synthesis methodology in a general logic synthesis environment (Berkeley SIS package). Trials on wide range of circuits –randomly generated –benchmarks –industrial designs. Consistently successful at finding superior cyclic solutions.

Benchmark Circuits Cost (literals in factored form) of Berkeley SIS Simplify vs. Cyclify Circuit# Inputs# OutputsBerkeleySimplifyCaltechCyclifyImprovement dc % ex % p % t % bbsse % sse % 5xp % s % dk % apla % tms % cse % clip % m % s % t % ex % exp % (best examples)

Benchmarks Example: EXP circuit Cyclic Solution (Caltech CYCLIFY ): cost 262 Acyclic Solution (Berkeley SIS ): cost 320 cost measured by the literal count in the substitute/minimize phase

Discussion Should think of combinational circuits as cyclic, in general. Most circuits can be optimized with cycles. Optimizations are significant. General methodology for synthesis. Efficient, symbolic framework for analysis. Cyclic Combinational Circuits: Paradigm shift:

Future Directions Extend ideas to a decomposition and technology mapping phases of synthesis. Address optimization of cyclic circuits for delay, power, fault tolerance.