Synthesis of Hardware Systems from Very High Level Behavioural Specifications
Where it appeared
| School | University of Edinburgh |
|---|
From bibtex.
Abstract
Electronics are now in wide use replacing mechanical controllers in products such as consumer goods and cars. Typically these electronic controllers consist of a microprocessor and some interfaces, such as digital-to-analogue converters, connected to the system being controlled. The design of the hardware and software is disjoint, with both being specified at a low level. Control software can be very complex, involving the handling of a number of concurrent tasks; consequently it is very difficult to write, and many revisions must be made before it is correct. As these controllers become single chips, mistakes in software become extremely expensive to rectify. This thesis presents a novel system which simulates and synthesises complete processor-based controllers from the software they are to run. The programming language OCCAM is used to describe both the structure and behaviour of the controller system at an extremely high level. The structure is expressed by declaring interface circuits as imported procedures, which are executed in parallel with the behaviour of the controller, specified as OCCAM code. The interface circuits are described in libraries. Associated with each is a number of OCCAM subprogram bodies. One of these is always a behavioural model of the circuit, for use in simulation, while the others are for different implementation technologies, communicating with the hardware and presenting a consistent interface to the control program. In this way a single design document can be used without change for simulation and synthesis. An expert system, the artificial engineer, uses the structural information extracted from the control program to design the required controller hardware. It consults the designer over issues such as performance and cost, and designs within these constraints. To demonstrate the practicality of the approach, a prototype has been built which can simulate designs and synthesise board-level controllers based on Z80 processors. Several complete examples are given. An architecture based on customised processors is proposed for VLSI implementation.