School of Computer Science Intranet
Design for testability of asynchronous VLSI circuits
Asynchronous design methodologies are a subject of growing research interest since they appear to offer benefits in low power applications and promise greater design modularity. However, before these advantages can be exploited commercially, it must be shown that asynchronous circuits can be tested effectively in volume production. This thesis presents the results of research into various aspects of the design for testability of asynchronous circuits.
Low power is often achieved by minimising circuit activity. However, testable designs require high transition probabilities. It is shown that design for testability and design for low power are in direct conflict. As a result, the more testable a circuit is, the more power it consumes. The resolution of this conflict can be found in the separation of normal operation and test modes. In test mode the circuit activity is increased, dissipating more power.
Many asynchronous designs use Muller C-elements in a large variety of applications including both control and data paths. Testable CMOS designs for C-elements are presented which provide for the detection of transistor stuck-at and stuck-open faults.
The scan test technique is used to test stuck-at and delay faults in micropipelines. This technique is generalised to the design for testability of either two-phase or four-phase micropipelines. An asynchronous built-in self test (BIST) micropipeline design based on the BILBO technique is presented. The proposed design for the BILBO register allows stuck-at and delay faults to be detected inside the combinational circuits of the micropipeline.
Structural designs for random pattern testability techniques applicable to asynchronous sequential circuits are described. The proposed random test procedure provides for the detection of all single stuck-at faults in the control and data paths of the sequential circuit under test, reducing the overall test complexity to the testing of its combinational network.
Case studies of testable implementations of some high-level asynchronous functions, including an adder and a block sorter, are analysed for their testability, performance and area cost. These designs show that, as expected, there is a trade-off to be made between testability and cost. However, satisfactory testability can be achieved for a circuit designed with a small area overhead for test circuitry and little performance degradation.