Book contents
- Frontmatter
- Contents
- Foreword
- Preface
- 0 Introduction
- 1 Introduction to Tangram and handshake circuits
- 2 Examples of VLSI programs
- 3 Handshake processes
- 4 Handshake circuits
- 5 Sequential handshake processes
- 6 Tangram
- 7 Tangram → handshake circuits
- 8 Handshake circuits → VLSI circuits
- 9 In practice
- A Delay insensitivity
- B Failure semantics
- Bibliography
- Glossary of symbols
- Index
6 - Tangram
Published online by Cambridge University Press: 14 January 2010
- Frontmatter
- Contents
- Foreword
- Preface
- 0 Introduction
- 1 Introduction to Tangram and handshake circuits
- 2 Examples of VLSI programs
- 3 Handshake processes
- 4 Handshake circuits
- 5 Sequential handshake processes
- 6 Tangram
- 7 Tangram → handshake circuits
- 8 Handshake circuits → VLSI circuits
- 9 In practice
- A Delay insensitivity
- B Failure semantics
- Bibliography
- Glossary of symbols
- Index
Summary
Introduction
Tangram is a VLSI-programming language based on CSP, and has much in common with the programming language OCCAM [INM89] (see Section 2.7 for some of the differences). The main construct of Tangram is the command. Commands are either primitive commands, such as a?x and x := x + 1, or composite commands, such as R; S and R ∥ S, where R and S are commands themselves.
Execution of a command may result in a number of communications with the environment through external ports. Another form of interaction with the environment is the reading from and writing into external variables. A Tangram program is a command without external variables, prefixed by an explicit definition of its external ports.
Not all compositions of commands are valid in Tangram. For instance, in a sequential composition the two constituent commands must agree on the input/output direction of their common ports. Also, two commands composed in parallel may not write concurrently into a common variable. Similarly, concurrent reading from and writing into a common variable is not allowed. Section 6.1 defines the syntax of Tangram, including these composition rules. The meaning of each command is described informally.
For a subset of the Tangram commands the handshake-process denotations are given in Section 6.3. This subset is referred to as Core Tangram.
Tangram
The main syntactic constructs of Tangram are program, command, guarded-command set, and expression. With each construct we associate a so-called alphabet structure: a set of typed ports and variables.
- Type
- Chapter
- Information
- Handshake CircuitsAn Asynchronous Architecture for VLSI Programming, pp. 111 - 122Publisher: Cambridge University PressPrint publication year: 1994