Go to main content

School of Computer Science Intranet

APT research areas

Discover our main research areas

Low Power Implementations of an I2C-Bus Expander

C. Farnsworth


There has been a resurgence of interest in asynchronous design techniques as an alternative system design approach to synchronous design, since they offer potential solutions to problems faced by the system designer. Synchronous design techniques rely on global clock synchronisation. However, current trends in VLSI design suggest that clock skew and clock distribution problems are getting worse, because of the increasing numbers of transistors on chip and the shrinking of feature size. These problems do not apply to asynchronous design techniques since a local communication scheme is employed as an alternative to global clock synchronisation. Local communication also provides a means of reducing power consumption in CMOS design, since a functional unit's operation is only initiated when required. Greater composability and technology migration are also accommodated where suitable.

To gain wider acceptance in the digital design community, it must be demonstrated that asynchronous design techniques can be used with the existing synchronous world. This thesis compares a micropipeline and a synchronous solution to a problem interfacing the synchronous world to the asynchronous world. In addition, the results obtained using the Tangram silicon compiler are compared. The example chosen as the vehicle for comparison is an I/O Expander for the I2C-Bus. The I/O Expander translates the synchronous, serial bus protocol into an 8-bit asynchronous handshaking interface.

The clock frequency of the I2C-Bus is low, and the circuit is small, so the results focus on low power consumption and the relative merits of each design technique. To achieve this aim, the asynchronous solutions use local communications between functional blocks where possible. The synchronous solution demonstrates the effectiveness of using clock gating to achieve a low power solution. The implications of using such synchronous techniques and asynchronous techniques for a wider range of applications are also discussed.