Book contents
- Frontmatter
- Contents
- Acknowledgments
- 1 Introduction
- 2 Channel-based asynchronous design
- 3 Modeling channel-based designs
- 4 Pipeline performance
- 5 Performance analysis and optimization
- 6 Deadlock
- 7 A taxonomy of design styles
- 8 Synthesis-based controller design
- 9 Micropipeline design
- 10 Syntax-directed translation
- 11 Quasi-delay-insensitive pipeline templates
- 12 Timed pipeline templates
- 13 Single-track pipeline templates
- 14 Asynchronous crossbar
- 15 Design example: the Fano algorithm
- Index
- References
5 - Performance analysis and optimization
Published online by Cambridge University Press: 26 February 2010
- Frontmatter
- Contents
- Acknowledgments
- 1 Introduction
- 2 Channel-based asynchronous design
- 3 Modeling channel-based designs
- 4 Pipeline performance
- 5 Performance analysis and optimization
- 6 Deadlock
- 7 A taxonomy of design styles
- 8 Synthesis-based controller design
- 9 Micropipeline design
- 10 Syntax-directed translation
- 11 Quasi-delay-insensitive pipeline templates
- 12 Timed pipeline templates
- 13 Single-track pipeline templates
- 14 Asynchronous crossbar
- 15 Design example: the Fano algorithm
- Index
- References
Summary
Many different mathematical tools have been used for modeling concurrent systems. One of the most common is Petri nets. This chapter focuses on their use in architectural performance analysis and the optimization of asynchronous pipelines. In later chapters we will discuss the more specific forms of Petri nets used in specifying asynchronous controllers for automated synthesis. In addition, we will also use Petri nets to describe the abstract behavior of various implementation templates. More extensive analyses of Petri nets can be found in references.
Petri nets
A Petri net is a four-tuple N = (P, T, F, m0), where P is a finite set of places pi and T is a finite set of transitions ti (see Figure 5.1); F ⊆ (P × T) ∪ (T × P) is a flow relation and m0 ∈ N|P| is the initial marking (see below), where N is the set of natural numbers. As can be seen in the figure, a Petri net is usually represented as a bipartite graph in which the pi and ti are the nodes. For any two nodes x and y, if (x, y) ∈ F then there is a directed arc from x to y. An arc runs between a place and a transition or between a transition and a place, but arcs do not run between two places or two transitions.
- Type
- Chapter
- Information
- A Designer's Guide to Asynchronous VLSI , pp. 84 - 105Publisher: Cambridge University PressPrint publication year: 2010
References
- 1
- Cited by