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
3 - Modeling channel-based designs
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
Digital system designers usually use hardware description languages (HDLs) to design and model their circuits at several levels of abstraction; Verilog and VHDL have been the most popular. Asynchronous circuit designers, however, often use some form of communicating sequential process (CSP) to model the intended architectural behavior because it has two essential features: channel-based communication and fine-grained concurrency. The former makes data exchange between modules abstract actions. The latter allows one to define nested sequential and concurrent threads in a model. Thus, a practical HDL for high-level asynchronous design should implement the above two constructs. Furthermore, as found in many standard HDLs, the following features are highly desired:
Support for various levels of abstraction There should be constructs that describe the module at both high and low levels of abstraction (e.g. at module level and at transistor level). This feature enables the modeling of designs at mixed levels of abstraction, which provides incremental verification as units are decomposed into lower levels and also enables arrayed units (e.g. memory banks) to be modeled at high levels of abstraction in order to decrease simulation run-time. Also, this enables the mitered co-simulation of two levels of abstraction, in which the lower-level implementation can be verified against the higher-level, golden, specification with a common input stream.
Support for synchronous circuits A VLSI chip might consist of both synchronous and asynchronous circuits. The design flow is considerably less complex if a single language can describe both, so that the entire design can be simulated using a single tool. Consequently, the modeling of clocked units should be straightforward.
[…]
- Type
- Chapter
- Information
- A Designer's Guide to Asynchronous VLSI , pp. 43 - 65Publisher: Cambridge University PressPrint publication year: 2010