Logic Decomposition of Asynchronous Circuits Using STG Unfoldings Victor Khomenko School of Computing Science, Newcastle University, UK.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Andrey Mokhov, Victor Khomenko Danil Sokolov, Alex Yakovlev Dual-Rail Control Logic for Enhanced Circuit Robustness.
Data Synchronization Issues in GALS SoCs Rostislav (Reuven) Dobkin and Ran Ginosar Technion Christos P. Sotiriou FORTH ICS- FORTH.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
1 BalsaOpt a tool for Balsa Synthesis Francisco Fernández-Nogueira, UPC (Spain) Josep Carmona, UPC (Spain)
1 Advanced Digital Design Synthesis of Control Circuits by A. Steininger and J. Lechner Vienna University of Technology.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
Hazard-free logic synthesis and technology mapping I Jordi Cortadella Michael Kishinevsky Alex Kondratyev Luciano Lavagno Alex Yakovlev Univ. Politècnica.
Hardware and Petri nets Synthesis of asynchronous circuits from Signal Transition Graphs.
Proof methods Proof methods divide into (roughly) two kinds: –Application of inference rules Legitimate (sound) generation of new sentences from old Proof.
Logic Synthesis for Asynchronous Circuits Based on Petri Net Unfoldings and Incremental SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University.
Detecting State Coding Conflicts in STGs Using Integer Programming Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne.
Hardware and Petri nets: application to asynchronous circuit design Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
Introduction to asynchronous circuit design: specification and synthesis Part III: Advanced topics on synthesis of control circuits from STGs.
1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.
Introduction to asynchronous circuit design: specification and synthesis Part II: Synthesis of control circuits from STGs.
Combining Decomposition and Unfolding for STG Synthesis (application paper) Victor Khomenko 1 and Mark Schaefer 2 1 School of Computing Science, Newcastle.
1 Logic synthesis from concurrent specifications Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain In collaboration with M. Kishinevsky,
Asynchronous Interface Specification, Analysis and Synthesis M. Kishinevsky Intel Corporation J. Cortadella Technical University of Catalonia.
1 Logic design of asynchronous circuits Part III: Advanced topics on synthesis.
Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle.
Bridging the gap between asynchronous design and designers Part II: Logic synthesis from concurrent specifications.
Resolution of Encoding Conflicts by Signal Insertion and Concurrency Reduction based on STG Unfoldings V. Khomenko, A. Madalinski and A. Yakovlev University.
Behaviour-Preserving Transition Insertions in Unfolding Prefixes
STG-based synthesis and Petrify J. Cortadella (Univ. Politècnica Catalunya) Mike Kishinevsky (Intel Corporation) Alex Kondratyev (University of Aizu) Luciano.
1 State Encoding of Large Asynchronous Controllers Josep Carmona and Jordi Cortadella Universitat Politècnica de Catalunya Barcelona, Spain.
Synthesis of Asynchronous Control Circuits with Automatically Generated Relative Timing Assumptions Jordi Cortadella, University Politècnica de Catalunya.
UFO’07 26 June 2007 Siedlce 1 Use of Partial Orders for Analysis and Synthesis of Asynchronous Circuits Alex Yakovlev School of EECE University of Newcastle.
A New Type of Behaviour- Preserving Transition Insertions in Unfolding Prefixes Victor Khomenko.
Detecting State Coding Conflicts in STGs Using SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne.
1 A Case for Using Signal Transition Graphs for Analysing and Refining Genetic Networks Richard Banks, Victor Khomenko and Jason Steggles School of Computing.
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
1 Petrify: Method and Tool for Synthesis of Asynchronous Controllers and Interfaces Jordi Cortadella (UPC, Barcelona, Spain), Mike Kishinevsky (Intel Strategic.
Automatic synthesis and verification of asynchronous interface controllers Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
Derivation of Monotonic Covers for Standard C Implementation Using STG Unfoldings Victor Khomenko.
Merged processes – a new condensed representation of Petri net behaviour V.Khomenko 1, A.Kondratyev 2, M.Koutny 1 and W.Vogler 3 1 University of Newcastle.
03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley.
Asynchronous Circuit Verification and Synthesis with Petri Nets J. Cortadella Universitat Politècnica de Catalunya, Barcelona Thanks to: Michael Kishinevsky.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
A Usable Reachability Analyser Victor Khomenko Newcastle University.
On Bridging Simulation and Formal Verification Eugene Goldberg Cadence Research Labs (USA) VMCAI-2008, San Francisco, USA.
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.
Behnam Ghavami and Hossein Pedram Presented by Wei-Lun Hung A CAD Framework for Leakage Power Aware Synthesis of Asynchronous Circuits.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Curtis A. Nelson 1 Technology Mapping of Timed Circuits Curtis A. Nelson University of Utah September 23, 2002.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
Proof Methods for Propositional Logic CIS 391 – Intro to Artificial Intelligence.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Structural methods for synthesis of large specifications
Victor Khomenko Newcastle University
Hybrid BDD and All-SAT Method for Model Checking
Synthesis from HDL Other synthesis paradigms
Asynchronous Interface Specification, Analysis and Synthesis
Synthesis of Speed Independent Circuits Based on Decomposition
Part IV: Synthesis from HDL Other synthesis paradigms
Hard Problems Introduction to NP
SAT-Based Area Recovery in Technology Mapping
Synthesis of asynchronous controllers from Signal Transition Graphs:
Clockless Logic: Asynchronous Pipelines
Synthesis of multiple rail phase encoding circuits
Solving Non-clausal Formulas with DPLL search
Presentation transcript:

Logic Decomposition of Asynchronous Circuits Using STG Unfoldings Victor Khomenko School of Computing Science, Newcastle University, UK

2 Asynchronous circuits  The traditional synchronous (clocked) designs lack flexibility to cope with contemporary design technology challenges Asynchronous circuits – no clocks: Low power consumption and EMI Tolerant of voltage, temperature and manufacturing process variations Modularity – no problems with the clock skew and related subtle issues [ITRS’09]: 22% of designs will be driven by ‘handshake clocking’ in 2013, and 40% in 2020  Synthesis algorithms are complicated  Computationally hard to synthesize efficient circuits

3 Motivation Logic decomposition is one of the most difficult tasks in logic synthesis The quality of the resulting circuit (in terms of area and latency) depends to a large extent on the way logic decomposition was performed

4 Speed-independency assumptions Gates are atomic (so no internal hazards) Gates’ delays are positive and unbounded (and perhaps variable) Wire delays are negligible (SI) or, alternatively, wire forks are isochronic (QDI) F instant evaluator delay …

5 Speed-independent decomposition G … H1H1 HkHk … … delay F instant evaluator delay …

6 VME Bus Controller Device VME Bus Controller lds ldtack d Data Transceiver Bus dsr dtack lds-d-ldtack-ldtack+ dsr-dtack+d+ dtack-dsr+lds+ csc+ csc-

7 Complex-gate implementation Device d Data Transceiver Bus dsr dtack lds ldtack csc May be not in the gate library and has to be decomposed

8 Naïve decomposition is hazardous d dsr dtack lds ldtack csc x lds-d-ldtack-ldtack+ dsr-dtack+d+ dtack-dsr+lds+ csc+ csc- Unexpected!

9 Decompose at the PN level! d dsr dtack lds ldtack csc dec lds-d-ldtack- ldtack+ dsr-dtack+d+ dtack-dsr+lds+ csc+ csc- dec+ dec- Insert a new signal dec whose implementation is [dec] = ldtack + csc Multiway acknowledgement

10 Latch utilisation d dsr dtack lds ldtack csc d dsr dtack lds ldtack csc C Only possible because there is no globally reachable state at which dsr=ldtack=0 and csc=1

11 State Graphs: Relatively easy theory Many algorithms  Not visual  State space explosion problem State Graphs vs. Unfoldings

12 State Graphs vs. Unfoldings Unfoldings: Alleviate the state space explosion problem More visual than state graphs Proven efficient for model checking  Quite complicated theory  Not sufficiently investigated  Relatively few algorithms

13 Function-guided signal insertion forever do for all non-input signals x do S[x] ← ∅ for all G  {latches, gates} do S[x] ← S[x]  decompositions(x,G) bestH[x] ← best SI candidate in S[x] if for each x, bestH[x] is implementable Library matching stop if for each x, bestH[x]=UNDEFINED fail H ← the most complex bestH Insert a new signal z implementing H into the STG Logic decomposition algorithm [Cortadella et al, ’99]

14 Function-guided signal insertion Problem: given a Boolean function F, insert a new signal dec (i.e. a set of new transitions labelled dec+ or dec-) with the implementation [dec]=F into the STG. Only unfolding prefix (rather than state graph) may be used.

15 Previous work: Transformations [PN’07] Sequential pre-insertionSequential post-insertion Concurrent insertion

16 Previous work: main results [PN’07] Validity criteria: safeness & bisimilarity  can be checked before the transformation is performed, i.e. on the original prefix (to avoid backtracking) Perform the insertion directly on the prefix  avoid re-unfolding  good for visualization (re-unfolding can dramatically change the look of the prefix)  Can transfer some information between the iterations of the algorithm The suite of transformations is good in practice for resolution of encoding conflicts

17 Motivation for more transformations The suite of transformations is not sufficient for logic decomposition; intuitively:  only linear (in the PN size) number of sequential pre- and post-insertions (assuming that the pre- and postset sizes are bounded)  only quadratic (in the PN size) number of concurrent insertions  exponential number of ‘cuts’ in the PN where a Boolean expression can change its value

18 Example: imec-sbuf-ram-write dec+ dec- dec Implementation of prbar: (csc2  req)  csc1  wsldin imec-sbuf-ram-write req precharged done wsldin wenin prbar wen wsen ack wsld

19 Generalised transition insertion [ICGT’10] s1s1 s2s2 s3s3 d1d1 d2d2 All previously listed good points hold for GTIs as well Exponentially many GTIs can exist:  more likely that an appropriate transformation exists  no longer practical to enumerate them all   can enumerate only the ‘potentially useful’ (for logic decomposition) GTIs sources destinations

20 Compatible insertions An insertion I is compatible with F if whenever an x  can fire and trigger I, F’ x =1, where F’ x = F x=0  F x=1 Intuitively, when x  fires, the value of F must change, as I becomes enabled. C xx I F=v F=  v

21 Compatible insertions lds- d- ldtack- ldtack+ dsr- dtack+ d+ dtack- dsr+lds+ csc+ dsr+ csc+csc- F =  ldtack  csc F=1 F=0 F=1

22 Find an optimal w.r.t. a heuristic cost function SAT assignment of the Boolean formula MUTEX  SA  CUTOFF  FUN depending on the variables I 1,..., I k corresponding to the compatible insertions, and conveying that:  no two insertions are non-commuting, or concurrent, or in auto-conflict, or one of them can trigger the other (MUTEX)  consistent assignment of signs is possible in the prefix (SA) and beyond cut-offs (CUTOFF)  F is a possible implementation of the newly inserted signal (FUN) Reduction to (incremental) SAT [ACSD’07]

23 Cost function Parameterised by the user; takes into account: the delay introduced by the insertion the number of syntactic triggers of all non- input signals the number of inserted transitions of a signal the number of signals which are not locked with the newly inserted signal …

24 Building FUN Let C be a configuration enabling some x , F’ x =1, and I be the set of compatible insertions such that: C xx I F=v F=  v Then the clause V I  I I is in FUN. One can build a Boolean formula FUNGEN depending on C and compatible insertions whose SAT assignments satisfy this condition.

25 Building FUN (cont’d) Problem: it is infeasible to enumerate all configurations. Idea 1: The same clause can be generated by many different configurations, and hence once one such configuration is found, the others can be excluded from the search. Idea 2: Clauses subsumed by already generated ones can be excluded from the search. It is enough to add a clause V I  I  I to FUNGEN whenever a new clause V I  I I is computed.

26 Building FUN (example) lds- d- ldtack- ldtack+ dsr- dtack+ d+ dtack- dsr+lds+ csc+ dsr+ csc+csc- F =  ldtack  csc F=1 F=0 F=1 C C

27 Experimental results Implemented in MPSAT (library matching not implemented yet) and compared with PETRIFY Assorted small benchmarks:  Similar failure rates and the quality of circuits – structural insertions seem sufficient  The tests reflect the quality of heuristics in choosing the decomposition in each step rather than the quality of the signal insertion routine  Large benchmarks  Tend to be non-decomposable by both tools   Only one series (scalable pipelines) was useful – can be solved by a single insertion, hence minimizes the impact of heuristics and reflects the quality of the signal insertion routine – huge reachability graphs, so unfoldings win

28 Conclusions Unfolding-based decomposition algorithm  alleviates state space explosion  completes the design cycle based fully on unfoldings (i.e. state graphs are never built) All advantages of state-based decomposition are retained:  multiway acknowledgement  latch utilisation  highly optimised circuits

29 Thank you! Any questions?