Logic Synthesis for Asynchronous Circuits Based on Petri Net Unfoldings and Incremental SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University.

Slides:



Advertisements
Similar presentations
Shortest Violation Traces in Model Checking Based on Petri Net Unfoldings and SAT Victor Khomenko University of Newcastle upon Tyne Supported by IST project.
Advertisements

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.
Mining Compressed Frequent- Pattern Sets Dong Xin, Jiawei Han, Xifeng Yan, Hong Cheng Department of Computer Science University of Illinois at Urbana-Champaign.
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.
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
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.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
Logic Decomposition of Asynchronous Circuits Using STG Unfoldings Victor Khomenko School of Computing Science, Newcastle University, UK.
ECE 331 – Digital System Design
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
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 IV: Synthesis from HDL Other synthesis paradigms.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
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.
RESYN'09 March 2009 Newcastle upon Tyne 1 Workcraft – a Framework for Interpreted Graph Models Ivan Poliakov, Arseniy Alekseyev, Victor Khomenko, Alex.
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.
Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1 Electrical.
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.
ACSD Conference, Augsburg, Summer Flat Arbiters Andrey Mokhov 1, Victor Khomenko 2, Alex Yakovlev 1 1 School of Electrical, Electronic and Computer.
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.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Branching Processes of High-Level Petri Nets Victor Khomenko and Maciej Koutny University of Newcastle upon Tyne.
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.
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.

 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Derivation of Monotonic Covers for Standard C Implementation Using STG Unfoldings Victor Khomenko.
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.
UK Asynchronous Forum, September Synthesis of multiple rail phase encoding circuits Andrey Mokhov, Crescenzo D’Alessandro, Alex Yakovlev Microelectronics.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Cut-Based Inductive Invariant Computation Michael Case 1,2 Alan Mishchenko 1 Robert Brayton 1 Robert Brayton 1 1 UC Berkeley 2 IBM Systems and Technology.
Analysis and Synthesis of Synchronous Sequential Circuits A “synchronizing” pulse/edge signal (clock) controls the operation of the memory portion of the.
ENG241 Digital Design Week #7 Sequential Circuits (Part B)
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
Structural methods for synthesis of large specifications
Lecture 3: Incompletely Specified Functions and K Maps
Victor Khomenko Newcastle University
Week #7 Sequential Circuits (Part B)
Asynchronous Interface Specification, Analysis and Synthesis
Synthesis of Speed Independent Circuits Based on Decomposition
The Analysis of Cyclic Circuits with Boolean Satisfiability
Synthesis for Verification
Lecture 3: Incompletely Specified Functions and K Maps
Synthesis of asynchronous controllers from Signal Transition Graphs:
Victor Khomenko and Andrey Mokhov
Improved Design Debugging using Maximum Satisfiability
Synthesis of multiple rail phase encoding circuits
Lecture 3: Incompletely Specified Functions and K Maps
Presentation transcript:

Logic Synthesis for Asynchronous Circuits Based on Petri Net Unfoldings and Incremental SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne

2 Talk Outline Introduction  Asynchronous circuits  Logic synthesis based on state graphs  State graphs vs. net unfoldings Logic synthesis based on net unfoldings Experimental results Future work

3 Asynchronous Circuits Asynchronous circuits – no clocks: Low power consumption Average-case rather than worst-case performance Low electro-magnetic emission Modularity – no problems with the clock skew  Hard to synthesize  The theory is not sufficiently developed  Limited tool support

4 Example: VME Bus Controller lds-d-ldtack-ldtack+ dsr-dtack+d+ dtack-dsr+lds+ Device VME Bus Controller lds ldtack d Data Transceiver Bus dsr dtack

5 Example: CSC Conflict dtack-dsr+ dtack-dsr+ dtack-dsr ldtack lds lds+ ldtack+ d+ dtack+dsr- d M’’M’

6 Example: Enforcing CSC dtack-dsr+ dtack-dsr+ dtack-dsr ldtack lds lds+ ldtack+ d+ dtack+dsr- d csc+ csc M’’M’

7 Example: Deriving Equations CodeNxt dtack Nxt lds Nxt d Nxt csc Eqnd d  csccsc  ldtack dsr  (  ldtack  csc)

8 Example: Resulting Circuit Device d Data Transceiver Bus dsr dtack lds ldtack csc

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

10 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

11 Complex-gate synthesis State Graphs vs. Unfoldings SGUnf Checking consistency Checking semi-modularity Deadlock detection Checking CSC Enforcing CSC Deriving equations Technology mapping DATE’03 ACSD’04 DATE’02 & ACSD’03

12 Synthesis using unfoldings Outline of the algorithm: for each output signal z compute (minimal) supports of z for each ‘promising’ support X compute the projection of the set of reachable encodings onto X sorting them according to the corresponding values of Nxt z apply Boolean minimization to the obtained ON- and OFF-sets choose the best implementation of z

13 CSC z property The CSC property: the next-state function of every output signal is a well-defined Boolean function of encoding of current state, i.e., all the signals can be used in its support The CSC z property: Nxt z is a well-defined Boolean function of encoding of current state; again, all the signals can be used in its support The CSC z property: Nxt z is a well-defined Boolean function of projection of the encoding of the current state on set of signals X; i.e., X is a support X X

14 CSC z conflicts States M’ and M’’ are in CSC z conflict if  Code x (M’)=Code x (M’’) for all x  X, and  Nxt z (M’)  Nxt z (M’’) Nxt z can be expressed as a Boolean function with support X iff there are no CSC z conflicts X X X

15 Example: CSC z conflict X dtack-dsr+ dtack-dsr+ dtack-dsr ldtack lds lds+ ldtack+ d+ dtack+dsr- d csc+ csc Nxt csc (M’)=1 Nxt csc (M’’)=0 M’’ M’ X={dsr, ldtack}

16 Example: CSC z conflict in unfolding lds- d- ldtack- ldtack+ dsr- dtack+ d+ dtack- dsr+lds+ csc+ dsr+ e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 e7e7 e9e9 e 11 e 14 e 10 e8e8 X dsrldtackdtackldsdcsc Code(C’) Code(C’’) csc+csc- e 12 e 13 Nxt csc = dsr  (  ldtack  csc) X Nxt csc (C’)=1  Nxt csc (C’’)=0 C’C’’

17 Computing supports Using unfoldings, it is possible to construct a Boolean formula CSC z (X,…) such that CSC z (X,…)[Y/X] is satisfiable iff Y is not a support The projection of the set of satisfying assignments of CSC z (X,…) onto X is the set of all non-supports of z (it is sufficient to compute the maximal elements of this projection) The set of supports can then be computed as { Y | Y  X, for all maximal non-supports X }

18 Outline of the algorithm for each output signal z compute (minimal) supports of z for each ‘promising’ support X compute the projection of the set of reachable encodings onto X sorting them according to the corresponding values of Nxt z apply Boolean minimization to the obtained ON- and OFF-sets choose the best implementation of z Need to know how to compute projections!

19 Example: projections  =(a  b)(  a   b)(c  d  e) abcde a  b Proj {a,b,c}  abc max Proj {a,b,c}  abc min Proj {a,b,c}  abc

20 Computing projections Proj {a,b,c}  abcde UNSAT (a  b  c) a  b  =(a  b)(a  b)(c  d  e) Incremental SAT

21 Optimizations Triggers belong to every support – significantly improves the efficiency Further optimizations are possible for certain net subclasses, e.g. unique-choice nets

22 Experimental Results Unfoldings of STGs are almost always small in practice and thus well-suited for synthesis Huge memory savings Dramatic speedups Every valid speed-independent solution can be obtained using this method, so no loss of quality We can trade off quality for speed (e.g. consider only minimal supports): in our experiments, the solutions are the same as Petrify’s (up to Boolean minimization) Multiple implementations produced

23 Future Work SGUnf Checking consistency Checking semi-modularity Deadlock detection Checking CSC Enforcing CSC Deriving equations Technology mapping Timing assumptions?

24 Thank you! Any questions?