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
10 - Syntax-directed translation
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
As discussed in Chapter 3, a common means of describing asynchronous design is with a high-level language that includes primitives for communication along channels, as described in Hoare's Communicating Sequential Processes. Syntax-directed translation is a synthesis process that generates an asynchronous circuit from such a high-level language specification by translating each language construct in the specification into a hardware component. Thus the structure of the circuit corresponds closely to the syntax of its program specification.
Phillips pioneered this approach in the early 1990s with the development of the Tangram language and compiler. An intermediate set of components called handshake circuits formed the building blocks of Tangram implementations. Initially, quasi-delay-insensitive (QDI) versions of each handshake component were developed and, subsequently, single-rail versions; these were faster, smaller, and consumed significantly lower power. This approach, referred to as VLSI programming, has been commercialized by an offshoot of Phillips called Handshake Solutions. A similar language and academic synthesis tool called Balsa has been developed by Manchester University.
The benefit of the syntax-directed approach is that it provides a tighter connection between the input language and the resulting circuits. Designers can easily map circuit bottlenecks back to the circuit design and improve the language-level specification, quickly exploring the design space by altering parallelism, pipelining, and resource sharing. The perceived disadvantage with the syntax-directed approach is the lack of optimality. However, peephole optimizations, akin to compiler optimizations, can identify common handshake circuit structures and replace them where necessary with known efficient implementations.
- Type
- Chapter
- Information
- A Designer's Guide to Asynchronous VLSI , pp. 172 - 199Publisher: Cambridge University PressPrint publication year: 2010