Detecting State Coding Conflicts in STGs Using Integer Programming Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne.

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

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.
Logic Decomposition of Asynchronous Circuits Using STG Unfoldings Victor Khomenko School of Computing Science, Newcastle University, UK.
Logic Synthesis for Asynchronous Circuits Based on Petri Net Unfoldings and Incremental SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University.
Chapter 11 Section 1 Introduction to Difference Equations.
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.
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.
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.
Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle.
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.
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.
Parallel LTL-X Model Checking of High- Level Petri Nets Based on Unfoldings Claus Schröter* and Victor Khomenko** *University of Stuttgart, Germany **University.
Synthesis of Asynchronous Control Circuits with Automatically Generated Relative Timing Assumptions Jordi Cortadella, University Politècnica de Catalunya.
Canonical Prefixes of Petri Net Unfoldings Walter Vogler Universität Augsburg in cooperation with V. Khomenko, M. Koutny (CAV 2002, Acta Informatica 2003)
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 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.
Asynchronous Circuit Verification and Synthesis with Petri Nets J. Cortadella Universitat Politècnica de Catalunya, Barcelona Thanks to: Michael Kishinevsky.
HELSINKI UNIVERSITY OF TECHNOLOGY *Laboratory for Theoretical Computer Science Helsinki University of Technology **Department of Computing Science University.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
A Usable Reachability Analyser Victor Khomenko Newcastle University.
The Program Development Cycle
Substitute 0 for y. Write original equation. To find the x- intercept, substitute 0 for y and solve for x. SOLUTION Find the x- intercept and the y- intercept.
How do I solve exponential equations and inequalities?
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
Parallel Distributed Programming Introduction.
MonkeySort Keith Gallagher University of Durham Loyola College in Maryland presented by Lewis Berman.
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.
3.7 Absolute value DAY 2. Solve for x----no notes on this slide (just watch). |x| = 5 |x + 2| = 5 x = 5 or x = -5 x + 2 = 5 or x + 2 = -5 x =
Solving Systems of Equations: The Elimination Method Solving Systems of Equations: The Elimination Method Solving Systems of Equations: The Elimination.
Solve by Factoring Zero Product Property.
2.1 – Linear and Quadratic Equations Linear Equations.
Chapter 15: Recursion. Objectives In this chapter, you will: – Learn about recursive definitions – Explore the base case and the general case of a recursive.
Solving a System of 3 Equations with 3 Unknowns. Breakdown Step 1 Labeling Step 2 Reduce to a 2 by 2 Step 3 Substitute Back In Step 4 Check Solution.
Chapter 15: Recursion. Objectives In this chapter, you will: – Learn about recursive definitions – Explore the base case and the general case of a recursive.
Structural methods for synthesis of large specifications
Victor Khomenko Newcastle University
Asynchronous Interface Specification, Analysis and Synthesis
Solve an equation with two real solutions
A quadratic equation is written in the Standard Form,
Solving Linear Systems by Graphing
Objective of This Course
Synthesis of asynchronous controllers from Signal Transition Graphs:
Heuristic Algorithms via VBA
2 Understanding Variables and Solving Equations.
} 2x + 2(x + 2) = 36 2x + 2x + 4 = 36 4x + 4 = x =
Heuristic Algorithms via VBA
Heuristic Algorithms via VBA
Exercise Solve for x, telling what property was used to solve the equation. x − 3 = 7 x = 10; Addition Property of Equality.
Solving Multi Step Equations
Example 5A: Solving Simple Rational Equations
Solving Multi Step Equations
Complexity Theory: Foundations
Presentation transcript:

Detecting State Coding Conflicts in STGs Using Integer Programming Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne

2 Talk Outline Introduction  Asynchronous circuits (AC)  Algorithmic problems in AC synthesis  State graphs vs. net unfoldings Translating a CSC problem into an IP problem Solving the IP problem Analysis of the algorithm Experimental results Future work

3 Asynchronous Circuits AC – circuits without clocks: Low power consumption Average-case rather than worst-case performance Low electro-magnetic emission 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 dsw dtack

5 Checking consistency Checking semi-modularity Deadlock detection Checking CSC Enforcing CSC Deriving equations Technology mapping Problems in AC Synthesis

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

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

8 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 State Graphs vs. Unfoldings

9 SGUnf Checking consistency Checking semi-modularity Deadlock detection Checking CSC Enforcing CSC Deriving equations Technology mapping State Graphs vs. Unfoldings

10 Translation Into an IP Problem lds- d- ldtack- ldtack+ dsr- dtack+ d+ dtack- dsr+lds+ dsr+ e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 e7e7 e9e9 e 11 e 12 e 10 e8e8 x’= Code(x’)=10110 x’’= Code(x’’)=10110

11 Translation Into an IP Problem lds- d- ldtack- ldtack+ dsr- dtack+ d+ dtack- dsr+lds+ dsr+ e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 e7e7 e9e9 e 11 e 12 e 10 e8e8 x’= Code(x’)=10110 x’’= Code(x’’)=10110 Code(x’)=Code(x’’) M 0 + I x’  0 & M 0 + I x’’  0 Out(x’)  Out(x’’)

12 Solving the IP Problem 1 dtack- d- dsr+ ldtack+ dsr- dtack+ d+ lds- dsr+ lds+ ldtack- dtack+ dsw+ d+ dsw- lds+ ldtack+ d- dsw+ d+ lds+

13 Solving the IP Problem dtack- d- dsr+ ldtack+ dsr- dtack+ d+ lds- dsr+ lds+ ldtack- dtack+ dsw+ d+ dsw- lds+ ldtack+ d- dsw+ d+ lds+ 0

14 Solving the IP Problem Code(x’)=Code(x’’) M 0 + I x’  0 & M 0 + I x’’  0 Out(x’)  Out(x’’)

15 Analysis of the Algorithm Moderate memory requirements: O(|E|) The algorithm can be stopped after the first solution is found Usual IP solvers’ heuristics can be applied The algorithm can easily be generalized to check other coding properties, e.g. USC and normalcy Optimization is possible for certain net subclasses, e.g. unique-choice nets

16 Experimental Results Unfoldings are usually not much bigger than the original STGs, i.e. unfoldings are well-suited for synthesis If there is a CSC conflict the algorithm finds it almost instantly If there is no CSC conflict the algorithm proves this in a reasonable time, often faster than BDD-based algorithms No page swapping!

17 SGUnf Checking consistency Checking semi-modularity Deadlock detection Checking CSC Enforcing CSC Deriving equations Technology mapping Future Work