26th International Conference on Application and Theory of Petri Nets and Other Models of Concurrency Miami, Florida, USA, June 20-25, 2005

Advanced Tutorial on Hardware Design and Petri Nets

by Alex Yakovlev
Tuesday, June 21, 2005

Intended audience:

Researchers, PhD students working in the area of digital system design (looking for methods and tools to aid their design techniques), and those working with Petri nets and models of concurrency (looking for applications to their modelling, analysis, and synthesis methods).


We aim at familiarising the audience with the basic ideas, techniques, and tools and developing practical skills in using Petri nets for modelling, analysing and synthesising digital systems, with the emphasis on asynchronous circuits.


Hardware Modelling

Here we will consider methods for representing the behaviour of (predominantly asynchronous) hardware using Petri nets. The behaviour of circuits will be described at different levels of abstraction, ranging from high level models of processors down to the models of low level switching behaviour of logic circuits. Petri nets with suitable interpretation, such as Signal Transition Graphs (STGs) will be introduced. Problems with adequate capturing of hardware with analogue components, such as arbiters and circuits with hazards, as well as circuits with timing conditions will also be addressed.

Synthesis of Asynchronous Circuits

We will define the overall problem of synthesis of asynchronous circuits from their formal specifications based on interpreted Petri nets. The logic synthesis from STGs will be considered to a greater detail, covering steps involving the transformation of behavioural models at the STG and state graph levels. Some problems involved in efficient synthesis of large-scale asynchronous controllers will be discussed.

Automated Design Flow for Asynchronous Circuits

We will consider relationship between Petri nets and Hardware Description Languages, such as VHDL and Verilog, and describe an example of design flow for asynchronous circuits, which starts from a front end specification of the system described in behavioural Verilog. This specification is compiled into an interpmediate representation based on labelled Petri nets. The compilation process involves partitioning of the model into control and data paths and scheduling of the control flow. After that a number of tools are applied to synthesise logic implementation for control and data paths.

Additional topics

Time permitting we will also look at:

  • use of Petri nets for analysis of performance of hardware structures
  • real-life design examples involving use of Petri nets

    Schedule of the tutorial

     9.00-9:30 Introduction to Hardware design and Petri nets.
     9.30-10.00 Hardware modelling with Petri nets
     10.00-10.30 Logic synthesis of asynchronous circuits from Petri nets and STGs (Pt.1)
    10.30-11.00 Coffee Break
    11.00-11.30 Logic synthesis of asynchronous circuits from Petri nets and STGs (Pt.2)
    11.30-12.00 Design flow for asynchronous circuits using Petri nets
    12.00-12.30 Additional topics