Top Banner
Area-Efficient Design of Low-Pow Asynchronous Circuits 著者 Xia Zhengfan 学位授与機関 Tohoku University 学位授与番号 11301甲第15917号 URL http://hdl.handle.net/10097/58708
127

Area-Efficient Design of Low-Power Asynchronous Circuits

Feb 24, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Area-Efficient Design of Low-Power Asynchronous Circuits

Area-Efficient Design of Low-PowerAsynchronous Circuits

著者 Xia Zhengfan学位授与機関 Tohoku University学位授与番号 11301甲第15917号URL http://hdl.handle.net/10097/58708

Page 2: Area-Efficient Design of Low-Power Asynchronous Circuits

Doctoral Thesis

Area-Efficient Design of

Low-Power Asynchronous Circuits

(低電力非同期回路の面積高効率化設計)

Zhengfan Xia

Department of Computer and Mathematical Sciences

Graduate School of Information Sciences

Tohoku University, Japan

January, 2014

Page 3: Area-Efficient Design of Low-Power Asynchronous Circuits
Page 4: Area-Efficient Design of Low-Power Asynchronous Circuits

Contents

List of Figures 5

List of Tables 10

1 Introduction 12

2 Asynchronous Domino Logic Pipeline Based on Con-

structed Critical Data Path 22

2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2 Related works . . . . . . . . . . . . . . . . . . . . . . 25

2.2.1 PS0 . . . . . . . . . . . . . . . . . . . . . . . 26

2.2.2 Pre-Charge Half-Buffer (PCHB) . . . . . . . . 35

2.2.3 Look-ahead Pipelines (LPs) . . . . . . . . . . 36

2.3 Architecture of APCPD . . . . . . . . . . . . . . . . 37

2.3.1 Synchronizing logic gates . . . . . . . . . . . . 39

2.3.2 Construction of the critical data path . . . . . 45

2

Page 5: Area-Efficient Design of Low-Power Asynchronous Circuits

2.3.3 Single-rail/Dual-rail hybrid logic design . . . . 50

2.3.4 Robustness analysis . . . . . . . . . . . . . . . 53

2.3.5 Extension to complex structures . . . . . . . . 58

2.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . 62

2.4.1 Experiment Setup . . . . . . . . . . . . . . . . 62

2.4.2 Results and Discussions . . . . . . . . . . . . 64

2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 74

3 Asynchronous FPGA based on self-adaptive multi-

voltage control scheme 78

3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . 78

3.2 Asynchronous FPGA architectures . . . . . . . . . . 81

3.2.1 Bundled-data architectures . . . . . . . . . . . 83

3.2.2 Delay-insensitive architectures . . . . . . . . . 83

3.3 Path delay evaluation methods for multi-voltage design 85

3.3.1 Worst-case delay evaluation . . . . . . . . . . 86

3.3.2 Input-based delay evaluation . . . . . . . . . . 88

3.3.3 Output-based delay evaluation . . . . . . . . . 89

3.4 Architecture of the proposed FPGA . . . . . . . . . . 92

3.4.1 Architecture overview . . . . . . . . . . . . . . 92

3.4.2 Output-based self-adaptive multi-voltage con-

trol . . . . . . . . . . . . . . . . . . . . . . . . 94

3

Page 6: Area-Efficient Design of Low-Power Asynchronous Circuits

3.4.3 Circuit implementation . . . . . . . . . . . . . 100

3.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . 104

3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 108

4 Conclusion 110

Bibliography 113

Acknowledgment 124

4

Page 7: Area-Efficient Design of Low-Power Asynchronous Circuits

List of Figures

2.1 Domino logic pipelines—1-bit FIFO function. (a) A

synchronous design. (b) An asynchronous design. . . 23

2.2 An example of data transfer based on 4-phase dual-

rail protocol. . . . . . . . . . . . . . . . . . . . . . . . 26

2.3 Block diagram of PS0. . . . . . . . . . . . . . . . . . 27

2.4 (a) A dual-rail domino AND gate. (b) A 2-bit com-

pletion detector. . . . . . . . . . . . . . . . . . . . . . 28

2.5 Problems of domino logic. (a) Problem of single-rail

domino logic. (b) Dual-rail design of domino logic. . . 30

2.6 An example of ripple-carry adder. . . . . . . . . . . . 32

2.7 Block diagram of PCHB. . . . . . . . . . . . . . . . . 35

2.8 Block diagram of LP2/2. . . . . . . . . . . . . . . . . 36

2.9 Block diagram of the proposed pipeline (APCPD). . . 37

2.10 The critical path varies according to input data pat-

terns. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5

Page 8: Area-Efficient Design of Low-Power Asynchronous Circuits

2.11 States of pull-down transistor paths on different data

patterns. . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.12 Synchronizing AND gate and the truth table of dual-

rail AND logic. . . . . . . . . . . . . . . . . . . . . . 41

2.13 An example of 2-input SLG that synchronizes all in-

puts. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2.14 Synchronizing AND gate with a latch function and

the table of latch states. . . . . . . . . . . . . . . . . 45

2.15 Structure of asynchronous pipeline based on critical

data path (APCDP). . . . . . . . . . . . . . . . . . . 46

2.16 Concept of critical path construction by using SLGs. 47

2.17 Data flow diagram of encoding converter. . . . . . . . 50

2.18 Data transfer in single-rail/dual-rail hybrid logic de-

sign. (a) Error data transfer. (b) Correct data transfer. 52

2.19 Encoding converters. (a) Intuitive design. (b) Pro-

posed design. . . . . . . . . . . . . . . . . . . . . . . 54

2.20 (a) Fork structure. (b) Join structure. . . . . . . . . . 59

2.21 The energy consumption for processing different data

patterns. . . . . . . . . . . . . . . . . . . . . . . . . . 68

6

Page 9: Area-Efficient Design of Low-Power Asynchronous Circuits

2.22 The performances of power consumption (all designs

operate at 3.6G data-set/s). (a) Injected data pat-

terns: ff*00⇔ff*ff. (b) Injected data patterns: ff*00⇔ff*0f 69

2.23 Workload definition. . . . . . . . . . . . . . . . . . . 70

2.24 Photo of the fabricated chip and the measured wave-

form. . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

2.25 Waveform result for 0011*0001 computation in the

fabricated 4×4 multiplier. . . . . . . . . . . . . . . . 75

2.26 Waveform result for 0001*0001 computation in the

fabricated 4×4 multiplier. . . . . . . . . . . . . . . . 76

2.27 Waveform result for 0000*0001 computation in the

fabricated 4×4 multiplier. . . . . . . . . . . . . . . . 77

3.1 (a) FPGA using single supply voltage. (b) FPGA

using multiple supply voltage. . . . . . . . . . . . . . 79

3.2 A simple bundled-data pipeline. . . . . . . . . . . . . 82

3.3 A simple delay-insensitive pipeline. . . . . . . . . . . 84

3.4 Concept of multi-voltage design. . . . . . . . . . . . . 85

3.5 Worst-case delay evaluation. . . . . . . . . . . . . . . 86

3.6 Concept of input-based delay evaluation and self-

adaptive multi-voltage control. . . . . . . . . . . . . . 87

7

Page 10: Area-Efficient Design of Low-Power Asynchronous Circuits

3.7 Input-based self-adaptive controller. (a) A 2-bit con-

troller. (b) A 3-bit controller. . . . . . . . . . . . . . 87

3.8 Concept of output-based delay evaluation and self-

adaptive multi-voltage control. . . . . . . . . . . . . . 90

3.9 Handshake processes for data transfer. (a) Initial

state. (b) Ask for data or Data ready. (c) Ask for

data & Data ready. (d) Output data. . . . . . . . . . 91

3.10 Overall structure. . . . . . . . . . . . . . . . . . . . . 92

3.11 Programmable interconnection resources. . . . . . . . 93

3.12 Block diagram of a delay-insensitive pipeline in asyn-

chronous FPGA. . . . . . . . . . . . . . . . . . . . . 94

3.13 Handshake delay model. . . . . . . . . . . . . . . . . 95

3.14 Handshake timing chart (tl0 + th0 +∆t ≤ tl1 + th1). . 97

3.15 Handshake timing chart (tl0 + th0 < tl1 + th1 < tl0 +

th0 +∆t). . . . . . . . . . . . . . . . . . . . . . . . . 98

3.16 Handshake timing chart (tl0 + th0 < tl1 + th1 < tl0 +

th0 +∆t). . . . . . . . . . . . . . . . . . . . . . . . . 99

3.17 Self-adaptive voltage controller. . . . . . . . . . . . . 100

3.18 Self-adaptive voltage control scheme. . . . . . . . . . 101

3.19 Structure of logic block. . . . . . . . . . . . . . . . . 102

3.20 Protection of short circuit current. . . . . . . . . . . 103

8

Page 11: Area-Efficient Design of Low-Power Asynchronous Circuits

3.21 Relationship between the energy consumption and

the ratio of cells supplied with VDDL to 100 cells. . . 107

3.22 Comparison between a synchronous FPGA and the

proposed FPGA (8×8 array style multiplier). . . . . . 108

4.1 Mixed synchronous-asynchronous architecture. . . . . 111

9

Page 12: Area-Efficient Design of Low-Power Asynchronous Circuits

List of Tables

2.1 Code table of 4-phase dual-rail encoding . . . . . . . 26

2.2 States of pull-down transistor paths on different data

patterns. . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.3 Gate delays of AND gates on different data patterns. 42

2.4 truth table of encoding converter . . . . . . . . . . . 50

2.5 Evaluation results of 8×8 array style multipliers. . . . 64

2.6 Features of the fabricated chip . . . . . . . . . . . . . 72

3.1 Code table of 4-phase dual-rail encoding . . . . . . . 84

3.2 Comparison of input-based design and output-based

design . . . . . . . . . . . . . . . . . . . . . . . . . . 104

3.3 Evaluation results of the proposed logic cell . . . . . 106

10

Page 13: Area-Efficient Design of Low-Power Asynchronous Circuits
Page 14: Area-Efficient Design of Low-Power Asynchronous Circuits

Chapter 1

Introduction

Most digital circuits designed and fabricated today are ”synchronous”.

In essence, they are based on two fundamental assumptions that

greatly simplify their design: (1) all signals are binary, (2) all com-

ponents share a common and discrete notion of time, as defined by

a clock signal distributed throughout the circuit [1].

However, along with the continued CMOS technology scaling,

digital circuits become more and more complex. Future VLSI cir-

cuits will often be System-on-Chip (SoC), or even multiple systems

on a same chip [22]. The physical-design issues such as global

clock tree synthesis and top-level timing optimization become se-

rious problems. Even if technology scaling offers more integration

possibilities, modularity and scalability are difficult to be realized

at the physical-level [19]. Because problems with distributing the

12

Page 15: Area-Efficient Design of Low-Power Asynchronous Circuits

global clock between subsystems in a chip are unavoidable, SoC will

effectively lose the global notion of time and permit actions that the

different parts of a system are executed in parallel or independent

from each other. Such systems will inevitably become more asyn-

chronous and concurrent [2, 21].

Therefore, there has been a revival in research on asynchronous

circuits during the last decade. Asynchronous circuits are funda-

mentally different: they also assume binary signals, but there is no

common and discrete time. Instead the circuits use handshaking be-

tween their components in order to perform the necessary synchro-

nization, communication, and sequencing of operations. Expressed

in ‘synchronous terms’, this results in a behavior that is similar to

systematic fine-grain clock-gating and local clocks that are not in

phase and whose period is determined by actual circuit delays -

registers are only clocked where and when needed [20].

This difference gives asynchronous circuits inherent properties

that can be (and have been) exploited in the following areas:

• Low power consumption: fine-grain clock gating and zero dy-

namic power in standby state. [3, 4]

• High operating speed: operating speed is determined by actual

local latencies rather than global worst-case latency. [5, 6]

13

Page 16: Area-Efficient Design of Low-Power Asynchronous Circuits

• Less emission of electromagnetic noise: the local clocks tend to

tick at random points in time. [3, 7]

• Robustness towards variations in supply voltage, temperature,

and fabrication process parameters: timing is based on matched

delays (and can even be insensitive to circuit and wire de-

lays). [8, 9]

• Better composability and modularity: because of the simple

handshake interfaces and the local timing. [10, 11]

• No clock distribution and clock skew problems: there is no

global signal that needs to be distributed with minimal phase

skew across the circuit.

Although asynchronous circuits have many advantages, there

are also some drawbacks. One common problem is that the asyn-

chronous handshake circuits normally represent an overhead in terms

of silicon area, circuit speed and power consumption. The possible

handshake overhead always limits the application of asynchronous

design. Normally, it is pertinent to ask whether the use of asyn-

chronous techniques results in a substantial improvement in one or

more of the above areas [20].

14

Page 17: Area-Efficient Design of Low-Power Asynchronous Circuits

Special topics of concern in this thesis

Asynchronous pipeline

Pipelining is a key element in the design of high-performance digital

system [12]. In synchronous systems, pipelining has been the fun-

damental technique used to increase parallelism and boost system

throughput. In asynchronous, or clockless, digital systems, pipelin-

ing is also the fundamental technique which is worth being studied.

As mentioned before, asynchronous circuits have many interest-

ing properties compared to synchronous circuits. These properties

are very useful to improve the performance of digital circuits in

the specific areas. The problem is that asynchronous pipelines can

hardly be designed in area & power efficiency. Normally, handshake

circuits are more complicated than a clock distribution network.

Although handshake circuits save dynamic power in standby state,

they actually consume more power when the pipeline works fast.

This is one of the important obstacles that blocks the popular use

of asynchronous pipelines in practical design, especially, in the de-

sign of data-intensive processing units.

To our best know, currently proposed asynchronous pipelines al-

most all focus on improving the performance of throughput and

try to avoid discussing the area & power efficiency problems [26,

15

Page 18: Area-Efficient Design of Low-Power Asynchronous Circuits

27, 29, 30]. Undoubtedly, an improved asynchronous pipeline with

high area & power efficiency would greatly increase the attractive-

ness of using asynchronous circuits. Especially, when the improved

asynchronous pipeline is more efficient than the classic synchronous

pipeline.

Asynchronous FPGA

Field-Programmable Gate Arrays (FPGAs) is an integrated circuit

designed to be configured by a customer or a designer after manu-

facturing [41, 42]. It is a low cost solution which has been widely

used in the design of application specific processors. Users program

the same logic resources and routing lines for difference purposes.

This does not only accelerate the development speed but also re-

duce the development cost. However, FPGAs’ programmable logic

resources and routing lines need a redundant design which causes

a large hardware overhead. Compared to custom ICs, FPGAs have

slow circuit speed and high power consumption. This limits the

application areas of FPGAs, such as the portable devices.

Asynchronous circuits have been applied in the design of high-

performance FPGA [40, 23, 25]. Achronix Semiconductor Corp an-

nounced that their asynchronous FPGA, Speedster22i, is 3x to 4x

16

Page 19: Area-Efficient Design of Low-Power Asynchronous Circuits

faster than synchronous FPGAs [16]. The high-speed benefit is re-

alized by exploiting the asynchronous property that asynchronous

circuits can work insensitive to circuit or wire delays. In FPGAs,

the data paths have many delay uncertainties because of the redun-

dant design for programmability. In synchronous design, a large

delay margin has to be added to cope with these delay uncertain-

ties. This greatly affects the circuit speed [17]. On the other hand,

asynchronous circuits work at actual circuit speed instead of worst-

case delay evaluation. It is easier to realize high-speed performance.

Although asynchronous circuits improve the throughput of FP-

GAs, it causes serious high power consumption problem. The reason

is same as that we have discussed in asynchronous pipeline. Nor-

mally, delay-insensitive circuits have to be used to cope with the

delay uncertainties in FPGAs. This kind of circuits are the most

robust circuits designed by using the strictest timing assumption.

However, the robustness is realized at the expense of hardware over-

head which causes high power consumption. Since it is difficult to

reduce power by applying a simpler asynchronous circuit (such as

bundled-data circuit), low power technique becomes important to

save power in asynchronous FPGA.

17

Page 20: Area-Efficient Design of Low-Power Asynchronous Circuits

Contributions of this thesis

Asynchronous domino logic pipeline

An extremely area & power efficient asynchronous domino logic

pipeline is proposed in this thesis [35]. The proposed pipeline has

small overhead in both handshake circuits and logic circuits. In the

evaluation of 8×8 array style multiplier, the proposed pipeline re-

duces the transistor counts by 18% and the power consumption by

53% compared to classic synchronous pipeline (composed of static

gates and registers).

A stable critical data path construction method is proposed. Nor-

mally, it is difficult to get a stable critical data path in VLSI circuits.

The main reason is that traditional logic gates have gate-delay data-

dependence problem. According to different input data patterns,

the critical data path varies in circuits. In order to solve the prob-

lem, synchronizing logic gates (SLGs) are proposed [31]. SLGs solve

the gate-delay data-dependence problem and obtains two more fea-

tures: First, it can synchronize the inputs. Second, its gate-delay

depends on the number of inputs. Based on these features, a stable

critical data path is easily constructed with small overhead.

Based on the constructed critical data path, the handshake cir-

cuits are simplified to a single NOR gate. This does not only in-

18

Page 21: Area-Efficient Design of Low-Power Asynchronous Circuits

crease handshake speed but also decrease handshake power. Even

compared to a clock network, it also has small overhead.

Moreover, single-rail domino logic becomes applicable in the non-

critical data paths. This greatly reduce the logic overhead. Domino

data paths are normally composed of dual-rail domino logic. Single-

rail domino logic would broken domino path because it cannot gen-

erate an odd number of inversions. In the proposed pipeline, single-

rail domino logic is successfully applied in the non-critical data paths

by using SLGs with a timing assumption. As a result, the proposed

pipeline is designed by using a mixture of dual-rail domino logic and

single-rail domino logic [34].

Self-adaptive multi-voltage design

An efficient self-adaptive multi-voltage design method is proposed

for saving power in asynchronous FPGAs [45]. Self-adaptive multi-

voltage design is an online voltage control method which can accu-

rately evaluate data path delay by exploiting the delay-insensitive

property of asynchronous circuits [43, 44]. Compared to the offline

analysis of conventional multi-voltage design, such design is more

easy to get the optimal voltage assignments.

A self-adaptive controller is designed to evaluate the deadline of

19

Page 22: Area-Efficient Design of Low-Power Asynchronous Circuits

each logic block and assign with a proper supply voltage. By using

delay-insensitive property, logic cell’s deadline can be evaluated by

comparing the data transfer time and pipeline cycle time. When a

low supply voltage does not violate the deadline, the supply voltage

is autonomously switched to the low voltage. Since this process is

hardware control, it saves the design effort of offline analysis for the

voltage assignments.

The self-adaptive voltage controller has small overhead which is

applied in a fine-grained level (each logic cell). A global enable

signal controls the controller. When the voltage assignments are

done, the enable signal disables the controllers to save power.

Moreover, the architecture of the logic cell is carefully designed

that level converters are unnecessary in the proposed FPGA. This

does not only avoid the level converter overhead problem but also

maintain the flexibility of placement and routing.

Organization of this thesis

The remainder of the thesis is organized as follows:

Chapter 2, asynchronous domino logic pipeline based on con-

structed critical data path.

Chapter 3, asynchronous FPGA based on self-adaptive multi-

20

Page 23: Area-Efficient Design of Low-Power Asynchronous Circuits

voltage control scheme.

Chapter 4, conclusion.

21

Page 24: Area-Efficient Design of Low-Power Asynchronous Circuits

Chapter 2

Asynchronous Domino Logic

Pipeline Based on Constructed

Critical Data Path

2.1 Overview

Domino logic data paths are common in high-performance digital

systems [28, 37]. By eliminating pull-up transistor networks, domino

gates provide the benefits of reduced chip area and switched capac-

itance. This leads to higher signal transition speed and lower power

consumption [18]. For several reasons, domino logic is an especially

good match for 4-phase dual-rail protocol in asynchronous circuit

design. The precharge & evaluation phases of domino logic respec-

tively transfer spacer and data. By exploiting the implicit latch-

22

Page 25: Area-Efficient Design of Low-Power Asynchronous Circuits

clock

inout

inout

req ack

(a) Synchronous design of domino logic pipeline

(b) Asynchronous design of domino logic pipeline

Figure 2.1: Domino logic pipelines—1-bit FIFO function. (a) A synchronousdesign. (b) An asynchronous design.

ing functionality of domino logic, the pipeline can entirely avoid

explicit storage elements (registers or latches). This latchless fea-

ture provides the benefits of reduced critical delays, smaller silicon

area, and lower power consumption. Figure 2.1 shows domino logic

pipelines—1-bit FIFO function. Figure 2.1 (a) shows a synchronous

design and Figure 2.1 (a) shows an asynchronous design.

Conventional designs of asynchronous domino logic pipeline rely

on dual-rail domino logic data paths to transfer data and encoded

handshake signals, and use full completion detectors to detect and

collect the handshake signals throughout the entire data paths [26,

23

Page 26: Area-Efficient Design of Low-Power Asynchronous Circuits

27, 28]. Such design method is very robust for dealing with de-

lay variations in data paths. However, it causes serious overhead

problems. First, dual-rail domino logic data paths have large logic

overhead, which consume almost double silicon area and power com-

pared to single-rail logic data paths. Second, a full completion de-

tector has a large detection overhead. The overhead does not only

affect the handshake speed but also consume a lot of power. The

most serious problem is that the overhead of a full completion de-

tector is growing with the width of data paths, which makes asyn-

chronous domino logic pipelines hardly applicable in the design of

large functional block that has a considerable width of data paths.

This chapter presents a novel design method of asynchronous

domino logic pipeline, which focuses on improving the area & power

efficiency and making asynchronous domino logic pipeline more prac-

tical for a wide range of application. The novel design method

reduces both the logic overhead and the detection overhead by de-

signing based on a constructed critical data path. A stable criti-

cal data path is constructed by using redesigned dual-rail domino

gates. By detecting the stable critical data path, 1-bit completion

detector is enough to get the correct handshake signal regardless

of the width of data paths. This greatly reduces the handshake

24

Page 27: Area-Efficient Design of Low-Power Asynchronous Circuits

overhead. Moreover, the dual-rail logic overhead in the non-critical

data paths is reduced by using single-rail domino gates since the

encoded handshake signal does not have to be transfered in the non-

critical data paths. As a result, the proposed asynchronous domino

logic pipeline has small overhead in both handshake circuits and

logic circuits, which greatly improves the area & power efficiency.

According to the design features, we name the proposed pipeline

as Asynchronous Pipeline based on constructed Critical Data Path

(abbreviated APCDP).

2.2 Related works

The classic work on asynchronous domino logic pipeline is done

by Williams, which introduced several implementation styles [26].

PS0 pipeline is a classic implementation style which has optimized

handshake control logic and no explicit latches or registers between

pipeline stages. It is always introduced as the basis of asynchronous

domino logic pipeline design. We will begin by reviewing the prin-

ciple and problems of PS0 pipeline. Then, I will introduce other

improved styles: a timing-robust style called the pre-charge half-

buffer (PCHB) and a high-throughput style called the look-ahead

pipelines (LPs).

25

Page 28: Area-Efficient Design of Low-Power Asynchronous Circuits

Table 2.1: Code table of 4-phase dual-rail encoding

Figure 2.2: An example of data transfer based on 4-phase dual-rail protocol.

2.2.1 PS0

4-phase dual-rail protocol

PS0 is designed based on 4-phase dual-rail protocol. Table 2.1 shows

the code table of the 4-phase dual-rail encoding, and Figure 2.2

shows an example of data transfer based on 4-phase dual-rail proto-

col. 4-phase dual-rail encoding encodes the ack signal into the data

signal by using two wires, (w t, w f). The data value 0 is encoded

as (0, 1) and value 1 is encoded as (1, 0); the spacer is encoded as

(0, 0); (1, 1) is not used. When transferring the valid data, a spacer

is inserted between them. A receiver can easily obtain the valid data

26

Page 29: Area-Efficient Design of Low-Power Asynchronous Circuits

F1 F2 F3

D1 D2 D3pc pc pc

Dual-rail data paths Sum all signals

C

C

C2 Total

done

Figure 2.3: Block diagram of PS0.

by monitoring the two wires. This protocol is very robust since a

sender and a receiver can communicate reliably regardless of de-

lays in the combinational logic block and wires between them. The

dual-rail encoded data path is known as the delay-insensitive data

path.

Figure 2.3 shows a block diagram of PS0. In PS0, each pipeline

stage is composed of a function block and a completion detector.

Each function block is implemented using dual-rail domino logic.

Each completion detector generates separate local handshake signal

to control the flow of data through the pipeline. The handshake

27

Page 30: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 2.4: (a) A dual-rail domino AND gate. (b) A 2-bit completion detector.

signal is transferred to the precharge/evaluation control port of the

previous pipeline stage.

Structure of PS0

Figure 2.4 shows an example of dual-rail domino AND gate and

2-bit completion detector. A 2-input NOR gate serves as the 1-bit

completion detector to generate a bit done signal by monitoring

the outputs of dual-rail domino gate. To build a 2-bit completion

detector, C-element is needed to combine the bit done signals. A

full completion detector is formed by combining all bit done signals

from the entire data paths with a tree of C-elements as shown in

Figure 2.3.

28

Page 31: Area-Efficient Design of Low-Power Asynchronous Circuits

Protocol of PS0

The protocol of PS0 is quite simple. F(N) is precharged when

F(N+1) finishes evaluation. F(N) evaluates when F(N+1) finishes

its reset, or precharge. In Figure 2.3, if we observe a single data flow

through an initially empty pipeline which every pipeline stage is in

evaluation phase, the complete cycle of events are as follows,

• F1 evaluates and data flows to F2.

• F2 evaluates and data flows to F3. F2’s completion detector

detects completion of evaluation and sends a precharge signal

to F1.

• F1 precharges and F3 evaluates. F3’s completion detector de-

tects completion of evaluation and sends a precharge signal to

F2.

• F2 precharges. F2’s completion detector detects the completion

of precharge and sends a evaluation signal (enable signal) to

F1. The evaluation signal enables F1 to evaluate new data

once again.

There are 3 evaluations, 2 completion detections and 1 precharge

in the complete cycle for a pipeline stage. The pipeline cycle time

29

Page 32: Area-Efficient Design of Low-Power Asynchronous Circuits

In precharge phase,

high voltage signal

onoff

phase0 phase1

a

b

ab

ab

Sa Sb

Sa*(ab)+Sb*(ab)

Broken domino path

In precharge phase,

low voltage signal

offoff

phase0 phase1

a

b

ab

ab

Sa Sb

Sa*(ab)+Sb*(ab)

baComplementary logic

(a) Problem of single-rail domino logic

(b) Dual-rail design of domino logic

Figure 2.5: Problems of domino logic. (a) Problem of single-rail domino logic.(b) Dual-rail design of domino logic.

30

Page 33: Area-Efficient Design of Low-Power Asynchronous Circuits

Tcycle is:

Tcycle = 3tEval + 2tCD + tPrech (2.1)

where tEval and tPrech are the evaluation and precharge times for

each stage, and tCD is the delay through each completion detector.

Overhead of handshake circuits

Domino logic needs dual-rail implementation to realize full logic

functions. Figure 2.5 shows the problems of domino logic. Figure 2.5

(a) shows the problem of single-rail logic that it cannot implement

an odd number of inversions. If using a not gate to implement the

complementary logic, the initial high voltage signal in precharge

phase would broken domino path. Figure 2.5 (b) shows the dual-

rail design of domino logic. A specific complementary logic gate is

built in dual-rail domino logic to solve the problem in single-rail

domino logic. The problem is that the complementary logic gate

causes logic overhead which consumes more power and silicon area.

In PS0, full completion detectors have to be used to deal with

data path delay variations by detecting the entire data paths. Such

design causes a large detection overhead which greatly affects the

pipeline speed and power consumption. The most serious problem

31

Page 34: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 2.6: An example of ripple-carry adder.

32

Page 35: Area-Efficient Design of Low-Power Asynchronous Circuits

is that the detection overhead is growing the width of data paths,

which makes PS0 hardly applicable in the design of large functional

block that has a considerable width of data paths.

Figure 2.6 shows an example of ripple-carry adder. In 4-bit ripple

carry adder, the width of data paths is between 8-bit and 5-bit. The

detection overheads of 8-bit to 5-bit completion detectors might be

acceptable in practical design. However, in 32-bit ripple carry adder

design, the width of data paths is at least 33-bit. The overhead of

33-bit completion detector is so large that PS0 is hardly applicable

in such situation. Even the detection time can be reduced by parti-

tioning wide data path into several data streams [29], the detection

power is not reduced.

Overhead of logic circuits

In PS0, domino logic is used not only for implementing logic function

but also storing data between pipeline stages. Since there are no

explicit storage elements (latches or registers), a lot of dual-rail

domino buffers have to be added to levelize each pipeline stage.

The added dual-rail domino buffers consume a lot of silicon area

and power.

Figure 2.6 shows that 18 dual-rail domino buffer gates are added

33

Page 36: Area-Efficient Design of Low-Power Asynchronous Circuits

in 4-bit ripple carry adder. The added dual-rail domino buffers

cause a large overhead and almost cancel out the benefit of removing

explicit storage elements.

34

Page 37: Area-Efficient Design of Low-Power Asynchronous Circuits

F1

C

Di Do

F2

C

Di Do

F3

C

Di Do

Figure 2.7: Block diagram of PCHB.

2.2.2 Pre-Charge Half-Buffer (PCHB)

Figure 2.7 shows a block diagram of PCHB (precharge half-buffer

pipeline). PCHB is a timing-robust implementation style which uses

quasi-delay-insensitive (QDI) control circuits [27]. Two completion

detectors in a PCHB stage: one on the input side (Di) and one on

the output side (Do). The complete cycle of events for a PCHB

stage is quite similar to that of PS0, except that a PCHB stage

verifies its input bits. Because of the input completion detector

(Di), a PCHB stage does not start evaluation until all input bits

are valid. This design absorbs skew across individual bits in the data

paths. Although this design makes PCHB more timing-robust, it

causes two times handshake overhead compared to PS0. Besides,

PCHB has the same logic overhead problem as PS0.

35

Page 38: Area-Efficient Design of Low-Power Asynchronous Circuits

D1

F1 F2 F3

D2 D3

Dual-ra

il data

DoneC

pc pc pc

pcDone

at af

bt bf

pc

Figure 2.8: Block diagram of LP2/2.

2.2.3 Look-ahead Pipelines (LPs)

LPs (lookahead pipelines) are a high-throughput implementation

style [29]. There are three dual-rail implementations: LP3/1, LP2/2

and LP2/1. They improve the throughput of PS0 by optimizing

the sequential of handshake events. However, they do not solve the

handshake power and logic overhead problems. For example, LP2/2

shown in Figure 2.8. LP2/2 has the same functional block as PS0.

The differences are that asymmetric completion detectors are em-

ployed and placed ahead of functional blocks. Although this pipeline

structure improves the handshake cycle time, the large handshake

power remains unsolved since the asymmetric completion detector

still needs to detect the entire data paths.

36

Page 39: Area-Efficient Design of Low-Power Asynchronous Circuits

Dual-rail logic

F2

Single-rail logic

F1

Single-rail logic

Dual-rail logic

F3

Single-rail logic

The critical data path

Dual-rail logic

Ack Ack Ack

Data, Req Data, Req Data, Req

Data Data Data

(pc) (pc) (pc)

Figure 2.9: Block diagram of the proposed pipeline (APCPD).

2.3 Architecture of APCPD

Figure 2.9 shows the block diagram of the proposed pipeline (APCPD).

The proposed pipeline is structurally based on PS0. The difference

is that the completion detector is simplified to a single NOR gate

by detecting only the critical data path instead of the entire data

paths [35]. Such design has two merits:

1. The completion detector has small overhead, and the overhead

is not growing with the width of data paths.

2. The non-critical data paths do not have to transfer dual-rail

encoding data.

The first merit does not only increase the handshake speed but

also decrease the handshake power. It improves asynchronous domino

logic pipeline design to be more practical in the applications that

have a wide data paths. The second merit can be used to reduce

37

Page 40: Area-Efficient Design of Low-Power Asynchronous Circuits

Combinational

domino logic

block

Inp

ut

da

ta p

att

ern

The critical path

varies according to

input data pattern

Figure 2.10: The critical path varies according to input data patterns.

logic overhead in the non-critical data paths. Because the non-

critical data paths do not have to transfer dual-rail encoding data,

single-rail domino logic can be used to minimize the logic over-

head [34]. As a result, the proposed pipeline has small handshake

overhead and logic overhead, which improves the performance of

throughput as well as power consumption.

Finding a stable critical data path in a functional block is very

important in the proposed pipeline design. Normally, the critical

path varies according to input data patterns, shown in Figure 2.10.

The problem is that it is difficult to get a stable critical data path by

using traditional logic gates. Traditional logic gates have the gate-

delay data-dependence problem—the gate delay is dependent on

input data patterns. For example, the ripple carry adder in Figure

2.6. The ripple carry path seems to be the stable critical data path.

But actually the critical data path varies according to different input

data patterns. Because of the gate-delay data-dependence problem,

the carry function gate can be early triggered by the input bits (an

38

Page 41: Area-Efficient Design of Low-Power Asynchronous Circuits

& bn) regardless of the carry bit. Since the input bit travels faster

in the buffer path than the carry bit in the ripple carry path, it

cannot guarantee that the critical transition signal always presents

on the ripple carry path.

Adding delay elements is an intuitive way to construct a stable

critical data path. However, this method needs complex timing

analysis and would cause huge overhead of delay elements. In the

thesis, an efficient solution is proposed to construct the critical data

path by using synchronizing logic gate (SLG). SLG solves the gate-

delay data-dependence problem by making sure that SLG cannot be

triggered until all inputs become valid [31]. This feature not only

helps to construct a stable critical data path but also enables the

adoption of single-rail domino logic in the non-critical data paths.

As a result, the proposed design is significantly area and power

efficient.

2.3.1 Synchronizing logic gates

Gate-delay data-dependence problem

In VLSI circuits, it is difficult to get a stable critical data path by

using traditional logic gates due to the gate-delay data-dependence

problem. Figure 2.4(a) shows a traditional dual-rail domino AND

39

Page 42: Area-Efficient Design of Low-Power Asynchronous Circuits

a_t

b_t

out_t

out_f a_f b_f

pc

pc

Input Pattern 1

(a_t, a_f)=(0, 1)

(b_t, b_f)=(0, 1)

a_t

b_t

out_t

out_f a_f b_f

pc

pc

Input Pattern 2

(a_t, a_f)=(0, 1)

(b_t, b_f)=(1, 0)

a_t

b_t

out_t

out_f a_f b_f

pc

pc

Input pattern 3

(a_t, a_f)=(1, 0)

(b_t, b_f)=(0, 1)

a_t

b_t

out_t

out_f a_f b_f

pc

pc

Input pattern 4

(a_t, a_f)=(1, 0)

(b_t, b_f)=(1, 0)

Figure 2.11: States of pull-down transistor paths on different data patterns.

Table 2.2: States of pull-down transistor paths on different data patterns.

40

Page 43: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 2.12: Synchronizing AND gate and the truth table of dual-rail AND logic.

gate. The true side of logic is implemented by out t=a t·b t and

the false side by out f=a f+b f . Figure 2.11 shows the states

of pull-down transistor paths on different data patterns. In tradi-

tional dual-rail domino AND gate, there are three transistor paths:

[a t, b t], [a f ], [b f ]. First of all, these paths have different number

of transistors at the sequential position. When they turn on respec-

tively, [a f ] and [b f ] cause less delays than [a t, b t]. Moreover,

when the data pattern is (0, 1, 0, 1), [a f ] and [b f ] will be both ON,

which leads to a much quicker signal transfer. As a result, the gate

delay has a large variation depending on different data patterns. In

order to solve the gate-delay data-dependence problem, synchroniz-

ing logic gate and synchronizing logic gate with a latch function are

introduced [31].

41

Page 44: Area-Efficient Design of Low-Power Asynchronous Circuits

Table 2.3: Gate delays of AND gates on different data patterns.

Gate type TemperatureData pattern (a_t, a_f),(b_t, b_f)

���� − �� !

(0, 1), (0, 1) (0, 1), (0, 1) (0, 1), (0, 1) (0, 1), (0, 1)

Figure 2.11

(Conventional)

25⁰C 16ps 18.2ps 17.7ps 23.5ps 7.5ps

45⁰C 16.2ps 18.4ps 17.8ps 24.ps 7.8ps

65⁰C 16.4ps 18.6ps 18ps 24.4ps 8ps

85⁰C 17.2ps 18.8ps 18.1ps 24.8ps 7.6ps

Figure 2.12

(SLG)

25⁰C 25.6ps 25.6ps 26ps 24.3ps 1.7ps

45⁰C 26ps 26ps 26.3ps 24.7ps 1.6ps

65⁰C 26.4ps 26.4ps 28.3ps 25.1ps 3.2ps

85⁰C 26.7ps 26.7ps 28.6ps 25.4ps 3.2ps

Schematic simulation results in a 90nm design rule

42

Page 45: Area-Efficient Design of Low-Power Asynchronous Circuits

Synchronizing logic gates (SLGs)

SLGs are dual-rail domino gates which have no gate-delay data-

dependence problem. Figure 2.12 shows the synchronizing AND

gate and the truth table of dual-rail AND logic. The principle

is that, in the pull-down network, there is exactly one path ac-

tivated according to one data pattern and the stack of all possi-

ble paths is kept constant at the sequential position. Compared

to traditional design, the false side logic expression is changed to

out f=a t·b f+a f ·(b t+b f). Table2.2 shows that, there are four

transistor paths: [a t, b t], [a t, b f ], [a f, b t], [a f, b f ]. Every path

has two transistors at the sequential position and there is only one

path turns on corresponding to an input data pattern. As a result,

the gate delay becomes independent on different data patterns. Ta-

ble2.3 shows the gate delays of AND gates on different data pat-

terns. This kind of gates is named as synchronizing logic gates

because they cannot start evaluation until all inputs become valid.

In other word, SLGs can synchronize its inputs.

The characteristics of SLGs are listed as follows:

• An SLG has a certain number, inputs number, of transistors

in pull-down transistor paths at the sequential position.

43

Page 46: Area-Efficient Design of Low-Power Asynchronous Circuits

Data Spacer

SLG(Wait)

in0

in1

SLG is waiting for the slowest inputs

SLG(Wait)

in0

in1SLG(Wait)

in0

in1

in0

in1SLG(Trigger)

All inputs become valid data,

SLG is trigged

Figure 2.13: An example of 2-input SLG that synchronizes all inputs.

• An SLG has no gate-delay data-dependence problem. Its gate

delay relates to the inputs number.

• An SLG can synchronize its inputs. The absence of any inputs

will postpone the evaluation of the gate, shown in Figure 2.13

Synchronizing logic gates with a latch function (SLGLs)

Based on the characteristics of SLGs, SLGLs are extended. Figure

2.14 shows synchronizing AND gate with a latch function and the

table of latch states. An SLGL has an enable port, (en t, en f),

which controls the opaque and transparent state of the SLGL. The

principle is that SLGLs cannot start evaluation without the presence

of the enable signal.

Same as the dual-rail AND logic, all traditional dual-rail domino

44

Page 47: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 2.14: Synchronizing AND gate with a latch function and the table of latchstates.

logic can be redesigned to become an SLG or an SLGL. The criti-

cal data path in dual-rail asynchronous pipeline can be easily con-

structed by using SLGs and SLGLs.

2.3.2 Construction of the critical data path

Figure 2.15 shows the structure of asynchronous domino logic pipeline

based on constructed critical data path (APCDP). The solid arrow

represents a constructed critical data path (dual-rail data path), the

dotted arrow represents the non-critical data paths (single-rail data

paths), and the dashed arrow represents the output of single-rail to

dual-rail encoding converter.

In each pipeline stage, a static NOR gate is used as 1-bit comple-

45

Page 48: Area-Efficient Design of Low-Power Asynchronous Circuits

Stage1 Stage2 Stage4

SLG

S_logic

S_logic

SLG

S_logic

S to D

PC

PC

PC

PC

PC

PC

S_logic

SLGL

PC

PC

PC

Stage3

S_logic

S to D

S_logic

PC

PC

PC SLGL

Sub-critical path (dual-rail)

enable

enable

Input

Interface

Output

Interface Other

Stages

Other

Stages

2 2 2

2

2

2

2

Critical path (dual-rail) Sub-critical path (single-rail)

S to D encoding converter

in_ctl out_ctl

S_logic Single-rail domino logic SLG Dual-rail domino logic SLGL & S to D

Figure 2.15: Structure of asynchronous pipeline based on critical data path (APCDP).

46

Page 49: Area-Efficient Design of Low-Power Asynchronous Circuits

Stage0

Domino

Logic

Domino

Logic

SLG

Stage1

Domino

Logic

Domino

Logic

Stage2

Domino

Logic

Domino

Logic

SLG

SLG

Critical Path

The largest input gate

in each stage

Wait slow

inputs

Wait slow

inputs

Inp

uts

arr

ive

at

the

sa

me

tim

e

Figure 2.16: Concept of critical path construction by using SLGs.

tion detector to generate a total done signal for the entire data paths

by detecting the constructed critical data path. Driving buffers de-

liver each total done signal to the precharge/evaluation control port

of the previous stage. Since the completion detector only detects

the constructed critical data path, the non-critical data paths do

not have to transfer encoded handshake signal anymore. Therefore,

single-rail domino gates are used in the non-critical data path to

save logic overhead. Encoding converter is used to bridge the con-

nection between single-rail domino gate and dual-rail domino gate.

It is difficult to construct a stable critical data path by using

traditional logic gates for their gate-delay data-dependence problem.

The critical signal transition varies from one data path to others

according to different input data patterns. Since SLGs have solved

47

Page 50: Area-Efficient Design of Low-Power Asynchronous Circuits

the gate-delay data-dependence problem, a stable critical data path

can be easily constructed by following steps:

1. Finding a gate (named as Lin gate) that has the largest number

of inputs in each pipeline stage.

2. Changing these Lin gates to SLGs.

3. Linking SLGs together to form a stable critical data path.

Figure 2.16 shows the concept of critical path construction by

using SLGs. The basic idea of finding the critical signal transition

is that, embedding an SLG in each pipeline stage and making the

SLG to be the last gate to start and finish evaluation. First of all,

the embedded SLG has the largest gate delay in a pipeline stage.

The reasons are as follows:

• The SLG has the largest stack in the pull-down network com-

pared to other gates.

• The SLG has only one pull-down transistor path activated for

each input data pattern.

Then, if all gates evaluate at the same time or the SLG is the last

gate to start evaluation in the pipeline stage, the critical signal

transition would present on the output of the SLG.

48

Page 51: Area-Efficient Design of Low-Power Asynchronous Circuits

In practical, making all gates evaluate at the same time is diffi-

cult, especially, without the help of intermediate latches or registers.

Therefore, we make the SLG become the last gate to start evalu-

ation by linking each pipeline stage’s SLG together. In the first

pipeline stage, the critical signal transition is on the output of the

SLG because all gates evaluate at the same time for the input con-

trol of latches or registers. After linking each pipeline stage’s SLG

together, the SLG in the following pipeline stage would be the last

gate to start evaluation since it always waits for the critical signal

transition from the previous SLG. As a result, the linked SLG data

path becomes a stable critical data path.

Linking each pipeline stage’s SLG together is partially done in the

process of selecting Lin gate in each pipeline stage. When search-

ing Lin gate, there might be more than one option. It is best to

select the Lin gate which are originally linked to the Lin gate in the

following pipeline stage. After changing these Lin gates to SLGs,

SLGs are naturally linked. For example, the linkage between Stage1

and Stage2 in Figure 2.15. However, if we cannot find the linked

Lin gates in neighbor stages, SLGL needs to be used to solve the

linking problem. The linkage between Stage2 and Stage3 is in such

situation. The linkage is established by connecting the output of

49

Page 52: Area-Efficient Design of Low-Power Asynchronous Circuits

Table 2.4: truth table of encoding converter

Evaluation Evaluation

Precharge Precharge

No signal change Signal change(0,1)

Initial state

Data 0

(0,1)

Data 0

(1,0)

Data 1

Infinite fast Conversion Delay

Figure 2.17: Data flow diagram of encoding converter.

SLG in Stage2 and the enable port of SLGL in Stage3.

2.3.3 Single-rail/Dual-rail hybrid logic design

Since the completion detector detects only the constructed criti-

cal data path, the non-critical data paths do not have to transfer

encoded handshake signal anymore. The logic overhead in the non-

critical data paths can be reduced by using single-rail domino gates

instead of dual-rail domino gates. However, single-rail domino gate

and dual-rail domino gate use different encoding schemes. It has

encoding compatibility problem when a single-rail domino gate con-

50

Page 53: Area-Efficient Design of Low-Power Asynchronous Circuits

nects to a dual-rail domino gate. Encoding converter needs to be

designed to solve the problem.

Table2.2 is the truth table of encoding converter. Figure 2.17

shows the data flow diagram of encoding converter. In precharge

phase pc=0 (initial state), encoding converter outputs a dual-rail

data0 (out, out)=(0, 1). In evaluation phase pc=1, if the input is

a single-rail data0 in=0, the converter keeps the dual-rail data0.

If the input is a single-rail data1 in=1, the converter outputs a

dual-rail data1 (out, out)=(1, 0). Since single-rail encoding only

has two states that respectively represent data0 and data1, there is

no other state can be converted to spacer (out, out)=(0, 0). The

disappearance of spacer violates the 4-phase dual-rail handshake

protocol, which would cause data transfer error.

In order to avoid the data transfer error, the encoding converters

are used with a timing assumption. Figure 2.18 shows data transfer

in single-rail/dual-rail hybrid logic design. Figure 2.18 (a) shows

error data transfer. Figure 2.18 (b) shows correct data transfer.

Figure 2.15 shows two examples that encoding converters are used

to bridge the connection between single-rail domino gate and dual-

rail domino gate. Focusing on the encoding converter in Stage2.

When Stage2 enters the precharge phase, the SLG outputs a spacer

51

Page 54: Area-Efficient Design of Low-Power Asynchronous Circuits

Single-rail

logicSLGL

enableSLG

Invalid data

Spacer

Single-rail

logicSLGL

enableSLG

Valid data

Single-rail

logicSLGL

enableSLG

Valid data

Data

Single-rail

logicSLGL

enableSLG

Invalid data

Spacer

Single-rail

logicSLGL

enableSLG

Invalid data

Data

(a) Error data transfer

(b) Correct data transfer

Spacer

T1: Invalid data T2: Absorb data

T1: Invalid data T2: Valid data T3: Absorb data

Figure 2.18: Data transfer in single-rail/dual-rail hybrid logic design. (a) Errordata transfer. (b) Correct data transfer.

but the converter outputs a invalid data0. This invalid data0 cannot

be absorbed by the SLGL in Stage3 since the spacer impedes its

evaluation. However, when Stage2 enters the evaluation phase, it

has a risk that the invalid data0 might be erroneously absorbed if

the output of the SLG becomes valid earlier than the output of the

converter. The earlier arrived valid data from the SLG triggers the

SLGL to start evaluation and absorb the invalid data0. In order to

avoid this problem, the encoding converter needs to satisfy a timing

constraint that the output of the converter should become valid

earlier than the output of SLG. In other words, the constructed

critical data path should be robust.

52

Page 55: Area-Efficient Design of Low-Power Asynchronous Circuits

In addition to protect data transfer error by enhancing the ro-

bustness of the critical data path, we can also improve the con-

version speed of the encoding converter. Interestingly, we do not

have to care about the conversion from the single-rail data0 in=0

to the dual-rail data0 (out, out)=(0, 1). Figure 2.17 shows that the

converter initially outputs a dual-rail data0, this conversion can be

considered infinite fast. We only have to focus on improving the

conversion from the single-rail data1 in=1 to the dual-rail data1

(out, out)=(1, 0). Figure 2.19 (b) shows the proposed design of

the encoding converter. When the converter enters the evaluation

phase, the input in=1 can immediately pull down out. No matter

the output (out, out) is a instant spacer (0, 0) or the valid data1 (1,

0), it effectively protects the data transfer error. On the other hand,

the intuitive design in Figure 2.19 (a) has a longer signal transition

delay. out cannot be pulled down until out becomes 1. It has a

higher possibility of causing data transfer error than the proposed

encoding converter.

2.3.4 Robustness analysis

APCDP has pipeline failure in the situation that: a pipeline stage

does not finish evaluating before its previous stage start precharge.

53

Page 56: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 2.19: Encoding converters. (a) Intuitive design. (b) Proposed design.

In such situation, the pipeline stage cannot correctly finish evaluat-

ing because the precharge of its previous pipeline stage removes the

valid data from the inputs. In order to avoid this pipeline failure,

APCDP needs to satisfy an assumption that: in a pipeline stage,

none of the other bits across the entire data paths is slower than

the detected bit by more than the delay through a static NOR gate

and the drive buffer chain following it. The robustness of APCDP

is analyzed based on this assumption.

According to the pipeline structure of APCDP, the hold time

Thold of valid data on the inputs of each pipeline stage is:

Thold = tSLG Eval + tNOR + tBuf + tSLG Prech (2.2)

where tSLG Eval is the evaluation time for the SLG in a pipeline stage

and tSLG Prech is the precharge time for the SLG in the previous

pipeline stage. tNOR + tBuf is the delay through the NOR gate and

54

Page 57: Area-Efficient Design of Low-Power Asynchronous Circuits

the drive buffer.

The pipeline structure of APCDP is quite robust since the hold

time Thold supplies sufficient time margins. In the construction of

the critical data path, we introduced that the SLG is embedded as

the last gate to finish evaluation in each pipeline stage. Even there

are some gates are slower than the SLG because of delay variations

in practical, Thold supplies tNOR + tBuf + tSLG Prech time margins

for pipeline failure protection. We believe that these time margins

are sufficient for dealing with delay variations in practical design.

However, for safety, we supplies several enhance measurements for

the constructed critical data path in the following section.

We first use the method of logical effort [36] to analyze the ro-

bustness of the constructed critical data path. Then, we discuss

how to further enhance the robustness of the constructed critical

path.

The method of logical effort is an easy way to estimate delay in

CMOS circuit. In the method, modeling delay of a logic gate isolates

the effects of a particular fabrication process by expressing all delays

in terms of a basic delay unit particular to that process. The delay

incurred by a logic gate is comprised of two components, a fixed

part called the parasitic delay p and a part that is proportional to

55

Page 58: Area-Efficient Design of Low-Power Asynchronous Circuits

the load on the gate’s output, called the effort delay f . This effort

delay depends on the load and on properties of the logic gate driving

the load. There are two related terms for these effects: the logical

effort g captures the effect of the logic gate’s topology on its ability

to produce output current, while the electrical effort h describes

how the electrical environment of the logic gate affects performance

and how the size of the transistors in the gate determines its load-

driving capability. Electronic effort is also called fanout by many

CMOS designer. As a result, the delay of a logic gate is expressed

as:

delay = f + p = gh+ p = gCout

Cin

+ p (2.3)

where Cout is the capacitance that loads the output of the logic gate

and Cin is the capacitance presented by the input terminal of the

logic gate.

In each pipeline stage, the SLG/SLGL has a larger gate delay

than other gates according to the method of logic effort. First,

the SLG/SLGL has more complicated topology than other gates

in the pull-down network. It slightly increases the parasitic delay

p and the logical effect g. Second, the output of SLG/SLGL is

connected to a static NOR gate and the SLG/SLGL in the next

56

Page 59: Area-Efficient Design of Low-Power Asynchronous Circuits

stage. Compared with the outputs of other gates, the SLG/SLGL

has a larger fanout, Cout which increases the electrical effort h.

As a result, the SLG/SLGL has a larger gate delay than traditional

logic gates even they have same number of inputs. When linking all

SLGs/SLGLs together, these imposed delays increase the robustness

of the constructed critical data path.

In practical, the robustness of the constructed critical path is

affected by delay variations. As a matter of fact, it is a common

problem in VLSI circuit design, same as the robustness of a clock

signal in synchronous design and a match delay line in bundled-data

asynchronous design [20]. As we all know, these designs all suffer

from delay variations. In order to resist the influence of delay varia-

tions, synchronous design enlarges the cycle time of a clock signal to

get some margin. On the other hand, bundled-data asynchronous

design adds extra delay margin on the matched delay line to match

the worst case delay in combinational logic block. Same like these

solutions, the delay variations problem in the proposed design can

be solved by enlarging delay margin on the constructed critical data

path. We supply four measures to enlarge the delay margin, which

are listed as follows:

1. Size the pull-down transistors of SLGs and SLGLs to increase

57

Page 60: Area-Efficient Design of Low-Power Asynchronous Circuits

gate delays.

2. Apply a low priority in circuit layout for the constructed critical

path.

3. Improve the non-critical paths delay.

4. Add delay elements on the critical path.

Depends on the design requirements, one measure or multiple mea-

sures can be applied to protect the constructed critical path from

delay variations.

In addition, the use of domino logic introduces many design

risks because it is very sensitive to noise, circuit and layout topolo-

gies [37]. The solutions to alleviate these problems are not in the

scope of this research. We only recommend to limit the largest stack

of domino logic when designing APCDP.

2.3.5 Extension to complex structures

The previous sections just analyzed the linear pipeline structure.

For more complex data paths, forks and joins are needed [20]. Fig-

ure 2.20 shows fork structure and join structure in APCDP. In fork

structure, the outputs of function block A are split to connect with

function block B and C. C-element is used to to collect the hand-

58

Page 61: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 2.20: (a) Fork structure. (b) Join structure.

59

Page 62: Area-Efficient Design of Low-Power Asynchronous Circuits

shake signal from A’s successors. The construction of the critical

data path in fork structure is same as that of described in the linear

structure. The problem is that the data paths from A to B and

C are more complex than the linear structure. The complex data

paths cause large delay variations which affect the correctness of

the critical data paths at the inputs of B and C. Pipeline failure

happens when B and C do not finish their evaluations before A

finish its precharge. The delivery time of the precharge signal from

B and C to A is that:

Tdel = TNOR + TC + Tbuffer (2.4)

where TNOR, TC and Tbuffer are delay time of a static NOR gate, a

C-element and the buffer gate.

If the delay variations on the data paths are smaller than Tdel,

no pipeline failure happens.

In join structure, the outputs of function block A and B merge

together at function block C, which requires sending an acknowledge

signal from C to all its predecessors. In function block C, the critical

data paths from function block A and B need to simultaneously

connect to an SLG/SLGL. The design process is similar to that of

described in the linear structure. The problem in join structure is

60

Page 63: Area-Efficient Design of Low-Power Asynchronous Circuits

that the acknowledge signal networks at function block B and C are

more complex than the linear structure. Pipeline failure happens

when A and B do not completely finish their precharge process

before C enters the next evaluation phase, which means that C

would mistakenly absorb old data from A or B. The delivery time

of the precharge signal from C to A and B is that:

Tdel = TNOR + Tbuffer (2.5)

According to the handshake protocol, the time for C to enter the

next evaluation phase is that:

TnextEval = 2TEval + 2TNOR + 2Tbuffer (2.6)

where TEval is the evaluation time for a function block. Therefore,

the margin time is that:

Tmargin = TnextEval − Tdel = 2TEval + TNOR + Tbuffer (2.7)

If the delay variations on the acknowledge signal networks are smaller

than Tmargin, no pipeline failure happens.

61

Page 64: Area-Efficient Design of Low-Power Asynchronous Circuits

2.4 Evaluation

This section presents the evaluation results of APCDP. An 8×8

array style multiplier is chosen as the test case, which is respec-

tively designed by using the proposed APCDP, bundled-data de-

sign of LP2/2 (abbreviated LP2/2-SR) [29], classic synchronous

pipeline (abbreviated Sync) and synchronous pipeline with a se-

quential clock-gating (abbreviated Sync-CG) [32, 33]. Conventional

dual-rail asynchronous pipelines are not selected as the evaluation

counterparts because they are hardly applicable in the design of

large functional block (such as the 8×8 array style multiplier).

2.4.1 Experiment Setup

Four 8×8 array style multipliers are designed by using HSPICE in a

65nm design technology. All designs are simulated at 1.2-V normal

supply voltage, 85◦C temperature, and a normal process corner.

LP2/2-SR is chosen as a representative of latchless pipeline for

comparing with APCDP. LP2/2-SR was proposed along with LP2/2,

which is significantly more area and energy efficient. It was reported

that LP2/2-SR had about 60% smaller area and 55% lower energy

consumption than LP2/2 in FIFO design [29]. Besides, LP2/2-SR

resembles the design of latchless synchronous pipeline. The differ-

62

Page 65: Area-Efficient Design of Low-Power Asynchronous Circuits

ence is that latchless synchronous pipeline uses a complex multi-

phase clocking instead of bundled-data handshaking. Because of

their similarity, the performance of LP2/2-SR can be used as a ref-

erence for comparing APCDP with latchless synchronous pipeline.

8×8 array style multiplier is extremely fine-grain or gate-level

pipelined by using LP2/2-SR as well as APCDP. The depth of each

pipeline stage is only one domino logic gate, and there are no explicit

storage elements between stages. Their comparisons show not only

the circuit efficiency of APCDP but also the merits of dual-rail

asynchronous design.

In order to make a further comparison, Sync and Sync-CG are

also designed. They are used as comparison references since they do

not belong to latchless pipeline. 8×8 array style multiplier is divided

into 5 pipeline stages. The logic blocks are composed of static logic

gates, and D flip-flops are used as intermediate storage elements

between pipeline stages. The sequential clock-gating in Sync-CG is

designed by using six D flip-flops, which realizes fine-grain clock-

gating that is similar to the handshake behaviors in APCDP and

LP2/2-SR.

63

Page 66: Area-Efficient Design of Low-Power Asynchronous Circuits

Table 2.5: Evaluation results of 8×8 array style multipliers.

Logic gate

4G data-set/s

0.44ns

0

56

7375

APCDP

NA NANASLG & SLGL

4G data-set/s

1.3ns

278 (D flip-flop)

9010

Sync

0.37ns 1.3nsLatency

8 8 multiplierFunction

0284

(D flip-flop)

Storage

element

5.2G data-set/s 4G data-set/sThroughput

(schematic)

9874 9154Transistor

counts

LP22-SR(Bundled-data design)

Sync-CG

Domino gate Static gate

2.4.2 Results and Discussions

Table 2.5 shows the evaluation results of 8×8 array style multiplier.

The performances of throughput are evaluated without consider-

ing design margins, which are ideal results. The results show that

APCDP has high throughput, the smallest transistor count and

the lowest forward latency in all designs. Figure 2.21 shows the

energy consumption for processing different data patterns. Figure

2.22 shows the performances of power consumption under differ-

ent workloads. The results show that APCDP is the most power

efficient design.

64

Page 67: Area-Efficient Design of Low-Power Asynchronous Circuits

Transistor counts

Table 2.5 shows that APCDP respectively reduces the transistor

count by 25.3% and 18.1% compared to LP2/2-SR and Sync. APCDP

uses a mixture of dual-rail domino logic and single-rail domino logic.

The single-rail domino logic gates in the non-critical data paths

save a lot of the transistor count. Although the SLGs & SLGLs in

APCDP consume more transistors than traditional dual-rail domino

gates, they are in a small quantity (only 56, used in the critical data

path) which have small impact on the transistor count.

The results also show that the transistor count of LP2/2-SR is

larger than that of synchronous pipeline, which indicates that con-

ventional latchless pipelines are difficult to realize the potential ad-

vantage of small silicon area. There are mainly two reasons: First,

latchless pipelines normally operate on dual-rail domino data paths

which have logic overhead. Domino logic needs dual-rail imple-

mentation to realize full logic functions because single-rail domino

logic cannot implement an odd number of inversions. Second, im-

plicit storage elements (dual-rail domino buffers) need to be added

at each pipeline stage to store data. The added dual-rail domino

buffers are a large overhead. Although LP2/2-SR is significantly

more area efficient than LP2/2, it still consumes more transistors

65

Page 68: Area-Efficient Design of Low-Power Asynchronous Circuits

than Sync and Sync-CG.

Forward latency

APCDP and LP22-SR have about one-third lower forward latency

than Sync and Sync-CG. This is because latchless design has no

sequential overhead (no registers or latches) on its forward path.

Compared to LP22-SR, APCDP has a little larger latency. The

larger latency is a tradeoff to construct a stable critical data path.

Fortunately, this degradation is not serious.

Throughput

The performances of throughput are evaluated without consider-

ing design margins, which are all ideal results from the schematic

simulations.

The results show that LP2/2-SR has the best throughput perfor-

mance. This benefits from the bundled-data asynchronous design

of LP2/2-SR. Traditional dual-rail domino data paths in LP2/2-SR

actually have better signal transition speed than the data paths

composed of SLGs/SLGLs. Bundled-data design can exploit this

benefit to increase the pipeline throughput. However, delay mar-

gins need to be added in practical bundled-data design, which would

decrease the performance of throughput.

66

Page 69: Area-Efficient Design of Low-Power Asynchronous Circuits

Because of the dual-rail asynchronous design, APCDP does not

have to add design margins in practical design. In the section of

analyzing the robustness of the pipeline structure, it shows that the

pipeline structure of APCDP originally supplies some time mar-

gins. Although APCDP has a slower pipeline speed and a higher

forward latency than LP2/2-SR in the ideal evaluation, it is possible

that APCDP may have a faster pipeline speed and a lower latency

than LP2/2-SR in practical design if the timing margins required

in LP2/2-SR exceed the detection overhead in APCDP.

The throughputs of Sync and Sync-CG relate to the pipeline

granularity. Although the throughput performance can be improved

by using fine-grain design, the power consumption increases simulta-

neously. Therefore, Sync and Sync-CG are carefully designed con-

sidering the trade-off between throughput and power. Although

Sync and Sync-CG have the same throughput performance with

APCDP, they hardly can win APCDP in practical design because

synchronous design has to add design margins.

Energy consumption

The energy consumption of VLSI circuits relates to the toggling

rate in data paths. In APCDP, the adoption of single-rail domino

67

Page 70: Area-Efficient Design of Low-Power Asynchronous Circuits

0 1 2 3 4 5 6 7

ff*ff

ff*7f

ff*3f

ff*1f

ff*0f

ff*07

ff*03

ff*01

ff*00

APCDP

LP22-SR

Sync-CG

Energy (pJ)

Da

ta P

atte

rn

Figure 2.21: The energy consumption for processing different data patterns.

gates in the non-critical data paths saves not only silicon area by

reducing transistor count but also energy consumption by reducing

the toggling rate.

Figure 2.21 shows the energy consumption for processing differ-

ent data patterns, which is calculated from the average energy con-

sumption in one cycle time when processing a certain data pattern.

The results show that APCDP consumes much less energy than

LP2/2-SR. The adoption of single-rail domino gates in APCDP re-

duces the toggle rate in data paths since single-rail domino logic

does not toggle when transferring low voltage signal. Besides, the

toggling rate relates to the injected data patterns. Therefore, the en-

ergy consumption of APCDP varies a lot according to different data

68

Page 71: Area-Efficient Design of Low-Power Asynchronous Circuits

0

5

10

15

20

25

0 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

LP22-SR

APCDP (ff*ff)

Sync (ff*ff)

Sync-CG (ff*ff)

Workload

Pow

er (m

W)

0

5

10

15

20

25

0 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

LP22-SR

APCDP (ff*0f)

Sync (ff*0f)

Sync-CG (ff*0f)

Workload

Pow

er (m

W)

(a) Injected data pattern: ff*00 ó ff*ff

(b) Injected data pattern: ff*00 ó ff*0f

Figure 2.22: The performances of power consumption (all designs operate at 3.6Gdata-set/s). (a) Injected data patterns: ff*00⇔ff*ff. (b) Injected data patterns:ff*00⇔ff*0f

69

Page 72: Area-Efficient Design of Low-Power Asynchronous Circuits

ff

*

ff

ff

*

00

ff

*

ff

ff

*

00

ff

*

00

1 cycle

(560ps)

ff

*

ff

N cycles M cycles

N/(N+M) workload

Consecutive

data injection cycles

Consecutive

empty cycles

time

Figure 2.23: Workload definition.

patterns. On the other hand, the energy consumption of LP2/2-SR

remains almost constant. LP2/2-SR’s full dual-rail domino data

paths have almost a constant toggling rate regardless of the in-

jected data patterns. Compared to LP2/2-SR, APCDP saves up to

60.2% of energy in the best case when processing data pattern ff*00

(hexadecimal digit), and 24.5% of energy in the worst case when

processing data pattern ff*ff.

Furthermore, the power performance with different workloads are

evaluated. Figure 2.22 shows the performance of power consump-

tion when all designs operate at 3.6G data-set/s. Figure 2.22 (a)

shows the power consumption when the injected data patterns are

recurring between ff*ff ⇀↽ ff*00. Figure 2.22 (b) shows the power

consumption when the injected data patterns are recurring between

ff*0f ⇀↽ ff*00. The workload refers to the rate of the number of

70

Page 73: Area-Efficient Design of Low-Power Asynchronous Circuits

68um

80um

2.1

mm

2.1mm

4 4 APCDP

multiplier

Chip micro-photograph

Measured waveform

Req

Out

50ns

Figure 2.24: Photo of the fabricated chip and the measured waveform.

active-state cycles to the total number of cycles. In our case, the

workload is calculated based on a period of consecutive data injec-

tion cycles (active-state cycles) following consecutive empty cycles.

Figure 2.23 shows the workload definition. The workload is calcu-

lated as N/(N + M), where N is the number of consecutive data

injection cycles and M is the number of consecutive empty cycles.

The solid and dotted lines respectively show that APCDP re-

71

Page 74: Area-Efficient Design of Low-Power Asynchronous Circuits

Table 2.6: Features of the fabricated chip

duces the power by 41.6% and 52.9% compared to LP2/2-SR. This

evaluation also verifies that Sync and Sync-CG have a better perfor-

mance of power than LP2/2-SR in most situations, except for pro-

cessing data pattern ff*ff. However, Sync and Sync-CG can hardly

win APCDP. APCDP saves up to 43.9% and 38.6% of power com-

pared to Sync-CG when respectively processing ff*ff and ff*0f. In

addition, the results also show that Sync-CG saves a lot of clock

power compared to Sync. However, because of the clock-gating de-

sign, Sync-CG consumes a little more power than Sync when the

circuits work at peak speed.

Fabricated chip

Figure 2.24 shows the fabricated chip with a 4×4 multiplier func-

tion. Table 2.6 shows features of the fabricated chip. In order to

reduce the influences of delay variations in practical design, we took

72

Page 75: Area-Efficient Design of Low-Power Asynchronous Circuits

three measures. First, we managed to make the critical data path

has longest routing wire by reducing its routing priority. Second,

we slightly reduced the transistor size in SLGs and SLGLs to in-

crease their delay times. Third, we added some delay elements at

the dangerous corner to enhance the robustness of the critical data

path. As a result, the fabricated chip works correctly. Figure 2.25

shows the multiply computation result of 0001×0011=00000011 and

part of the waveform. The inputs are defined as [a3, a2, a1, a0] and

[b3, b2, b1, b0]. The outputs are defined as [(t0, f0), (t1, f1), (t2, f2),

..., (t7, f7)]. It shows that inputs a0, b0 and b1 are high signal

and all other inputs are low signal. Outputs (t0, f0) and (t1, f1)

are data1 signal, (1, 0), and all other outputs are data0 signal,

(0,1). Every output data-set is triggered by an ack signal from

the receiver. Figure 2.26 shows the multiply computation result of

0001×0001=00000001 and part of the waveform. Figure 2.26 shows

the multiply computation result of 0000×0001=00000000 and part

of the waveform. When the supply voltage is changed from 1.2V

to 0.75V, all computation results have been verified to be correct.

To a certain degree, it demonstrates the robustness of APCDP. The

simulation results show that the post-layout multiplier works well

at 2.16GHz.

73

Page 76: Area-Efficient Design of Low-Power Asynchronous Circuits

2.5 Conclusion

This chapter introduces a novel design method for asynchronous

domino logic pipeline based on dual-rail handshake protocol. The

pipeline is realized based on a constructed critical data path. The

design method greatly reduces the overhead of handshake circuits as

well as logic circuits, which not only increases the pipeline through-

put but also decreases the power consumption. The evaluation re-

sults show that the proposed design has better performance than

bundled-data asynchronous domino logic pipeline. It is even com-

parable to a synchronous pipeline with sequential clock-gating.

74

Page 77: Area-Efficient Design of Low-Power Asynchronous Circuits

b0b1a0reqt0f0t1f1t2f2t3f3t4f4t5f5

data1

data1

data0

data0

data0

data0

111

101001010101

Inputs

Outputs

Require

Figure 2.25: Waveform result for 0011*0001 computation in the fabricated 4×4 multiplier.

75

Page 78: Area-Efficient Design of Low-Power Asynchronous Circuits

b0b1a0

reqt0f0t1f1t2f2t3f3t4f4t5f5

data1

data0

data0

data0

data0

data0

101

100101010101

Inputs

Outputs

Require

Figure 2.26: Waveform result for 0001*0001 computation in the fabricated 4×4 multiplier.

76

Page 79: Area-Efficient Design of Low-Power Asynchronous Circuits

b0b1a0reqt0f0t1f1t2f2t3f3t4f4t5f5

data0

data0

data0

data0

data0

data0

001

010101010101

Inputs

Outputs

Require

Figure 2.27: Waveform result for 0000*0001 computation in the fabricated 4×4 multiplier.

77

Page 80: Area-Efficient Design of Low-Power Asynchronous Circuits

Chapter 3

Asynchronous FPGA based on

self-adaptive multi-voltage

control scheme

3.1 Overview

Field-programmable gate arrays (FPGAs) are widely applied to im-

plement application specific processors. It is a low cost VLSI so-

lution for low volume productions. Users can freely program the

function of logic resources and the connections of routine lines. De-

spite the advantages, FPGAs have a large power overhead compared

to the custom VLSIs. The overhead prohibits the application of FP-

GAs in portable devices.

Reducing the supply voltage is an effective technique for reducing

78

Page 81: Area-Efficient Design of Low-Power Asynchronous Circuits

(a) FPGA using single supply voltage

(b) FPGA using multiple supply voltage

VH VL

MUX

LB

M

LC

MU

X

M

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

LB

LB: Logic block

LC: Level converter

M: Memory

Figure 3.1: (a) FPGA using single supply voltage. (b) FPGA using multiplesupply voltage.

power in VLSI circuits [47, 48]. However, it also has negative affects

on the circuit performance. A well-known technique to reap the

benefits of voltage scaling without the performance penalty is the

use of multiply supply voltages. The timing critical blocks operate

on the normal supply voltage and the non-critical blocks operate

on a low supply voltage. While this technique has been successfully

applied in low-power custom ICs, it is difficult to be applied in

FPGAs for power reduction [38, 46].

The difficulty of designing a multiple supply voltage FPGA is

that the optimal voltage assignment changes from one design to

79

Page 82: Area-Efficient Design of Low-Power Asynchronous Circuits

another. Voltage programmability is necessary to tune the voltage

assignment according to the application. However, it is difficult

to realize such a fine-grained multi-voltage design that the sup-

ply voltage of each logic block is programmable. Figure 3.1 (b)

shows the block diagram of FPGA using multiple supply voltage.

The fine-grained multiple supply voltage design would cause large

implementation overhead. Almost all previous works chose to use

coarse-grained architecture, such as cluster-based architecture [33].

Despite the overhead for implementing voltage programmability, de-

termining the voltage assignments to each logic block is a challenge.

Especially, level converters are needed when a low supply voltage

logic block drives a high supple voltage logic block. The imposed

delay and energy overheads by level converters should be carefully

considered when performing the voltage assignments.

This chapter presents a low-power FPGA that the supply volt-

age of each logic block autonomously changes to suit their deadlines.

Dual-rail coding is used in FPGA data paths to make data trans-

fer time sensible in each pipeline stage. A self-adaptive voltage

controller is designed to evaluate the deadline of a logic block by

comparing the data transfer time and the pipeline cycle time. When

a low supply voltage does not violate the deadline, the supply volt-

80

Page 83: Area-Efficient Design of Low-Power Asynchronous Circuits

age of the logic block is autonomously switched to the low voltage.

Since this process is hardware control, it saves the design effort of of-

fline analysis for the voltage assignments. The self-adaptive voltage

controller has small overhead which is applied in a fine-grained level

(each logic block). A global enable signal controls the controllers.

When the voltage assignments are done, the enable signal disables

the controllers to save power. Moreover, the architecture of the logic

block is carefully designed that level converters are unnecessary in

the proposed FPGA. This does not only avoid the level converter

overhead problem but also maintain the flexibility of placement and

routing. The evaluation result shows that the proposed logic block

has no extra power consumption in its normal working state.

3.2 Asynchronous FPGA architectures

In the development of asynchronous FPGAs, the architectures can

be generally separated into two types:

• Bundled-data architectures

• Delay-insensitive architectures

In custom VLSI design, bundled-data architectures normally lead

to better circuit efficiency due to the extensive use of timing as-

81

Page 84: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.2: A simple bundled-data pipeline.

sumptions. However, such circuit efficiency is difficult to be re-

alized in FPGAs. At first, almost all asynchronous FPGAs are

based on bundled-data architecture. For example, MONTAGE [13],

PGA-STC [14] and STACC [40]. The problem is that bundled-

data FPGA architectures need a programmable distributed delay

elements which causes large overhead and complex timing analy-

sis. In order to cope with the complex timing uncertainties in FP-

GAs, delay-insensitive architectures are proposed [23, 25]. Achronix

Semiconductor Corp successfully developed an asynchronous FPGA

called Speedster22i which is based on delay-insensitive architecture.

They announced that Speedster22i is 3x to 4x faster than syn-

chronous FPGAs. Our proposed asynchronous FPGA is also based

on delay-insensitive architecture.

82

Page 85: Area-Efficient Design of Low-Power Asynchronous Circuits

3.2.1 Bundled-data architectures

Bundled-data architectures are designed based on bundled-data en-

coding such as 2-phase bundled-data encoding and 4-phase bundled-

data encoding. Bundle-data encoding use normal Boolean levels to

encode data signals. Separated require and acknowledge wires are

bundled with these data signals. Figure 3.2 shows a simple bundled-

data pipeline based on 4-phase bundled-data encoding. Bundled-

data encoding has an efficient handshake structure that a specific

handshake line indicates the whole data transfer is done in the data

path. A delay element is analyzed and added at each pipeline stage

to match the delay of the logic block. Bundled-data encoding is

preferable in the design of custom ICs. The delay elements can be

optimized accordingly. However, it is not suitable for FPGAs since

the data path is reconfigurable. Reconfigurable delay elements need

to be designed and distributed, which causes large overhead and

difficult to realize high performance.

3.2.2 Delay-insensitive architectures

Delay-insensitive architectures are designed based on delay-insensitive

encoding such as 4-phase dual-rail encoding and LEDR encoding.

Delay-insensitive encoding encodes the handshake signal with data.

83

Page 86: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.3: A simple delay-insensitive pipeline.

Table 3.1: Code table of 4-phase dual-rail encoding

A receiver knows the arrival of a data regardless of the delay on

data path. Therefore, matched delay elements are unnecessary in

pipeline, which is suitable for the reconfigurable data path in FP-

GAs. Figure 3.2 shows a simple delay-insensitive pipeline based on

4-phase dual-rail encoding.

Table 3.1 shows the code table of 4-phase dual-rail encoding.

Data 0 is encoded as (0, 1) and data 1 is encoded as (1, 0), the

spacer is encoded as (0, 0). Figure ?? shows an example of data

transfer based on 4-phase dual-rail protocol. Each data is separated

by a spacer. A receiver knows the arrival of a data or a spacer by

84

Page 87: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.4: Concept of multi-voltage design.

detecting the signal changes. As a result, the receiver can get a

valid data without considering the delay on data path.

3.3 Path delay evaluation methods for multi-

voltage design

Figure 3.4 shows the concept of multi-voltage design. In multi-

voltage design, the timing critical blocks operate on the normal

supply voltage and the non-critical blocks operate on a low supply

voltage. Level converter connects low voltage cell to high voltage

cell, which is used for protecting short circuit current. In order to

efficiently apply multi-voltage design in FPGAs, path delay evalua-

tion methods are very important. In this section, I will respectively

introduce path delay evaluation methods in synchronous design and

85

Page 88: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.5: Worst-case delay evaluation.

asynchronous design. Then, I will introduce the proposed path de-

lay evaluation method.

3.3.1 Worst-case delay evaluation

In synchronous design and bundled-data asynchronous design, there

is an important timing assumption that the data signal have become

valid when register starts absorbing data. In order to decide global

clock speed or local handshake speed, worst-case delay evaluation

is used to guarantee the timing assumption. Figure 3.5 shows the

worst-case delay evaluation. For safety, a delay margin has to be

added to cope with delay uncertainties in VLSI circuits.

In multi-voltage design, worst-case delay evaluation has to be

used for evaluating the path delay and finding the non-critical path.

However, such evaluation method has low efficiency. First, it takes

a lot of time to do offline path delay analysis. Second, many po-

tential non-critical paths might be ignored because delay margins

are added. In custom VLSI design, it is easy to optimized these

86

Page 89: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.6: Concept of input-based delay evaluation and self-adaptive multi-voltage control.

Figure 3.7: Input-based self-adaptive controller. (a) A 2-bit controller. (b) A3-bit controller.

problems accordingly. However, these problems become serious in

FPGAs. Because of the programmable architecture of FPGAs, there

are more delay uncertainties in data paths. The evaluated path de-

lay has to add more delay margins which greatly affects the efficiency

of multi-voltage design.

87

Page 90: Area-Efficient Design of Low-Power Asynchronous Circuits

3.3.2 Input-based delay evaluation

In order to solve the problems in the worst-case delay evaluation

method, an input-based delay evaluation is proposed [43, 44]. In

delay-insensitive asynchronous design, the data becomes detectable

because of delay-insensitive encoding. Therefore, the non-critical

data path can be accurately evaluated by comparing the arrival

times of inputs data. Figure 3.6 shows the concept of input-based

delay evaluation and self-adaptive multi-voltage control. According

to 4-phase dual-rail encoding, the outputs of cells are spacers in

initial state. When dual-rail encoded data arrives at the inputs

of cells, they can be detected. If the output of cell 1 arrives at

the input of cell 3 earlier than the output of cell 2, it means that

cell1 is in non-critical path and cell 2 is in critical path. Signal

comparator compares the arrival times of cell 1’s output and cell 2’s

output and decides whether their supply voltage can be switched

to the low supply voltage. Such multi-voltage design method can

autonomously find the critical data paths and assign them with a

low supply voltage.

The problems are that input-based self-adaptive multi-voltage

control has large hardware overhead with low control ability. Figure

3.7 shows the input-based self-adaptive controller. Signal compara-

88

Page 91: Area-Efficient Design of Low-Power Asynchronous Circuits

tors are used to evaluate all inputs to find the non-critical paths.

In 2-input logic cell design, a self-adaptive controller is composed of

two signal comparators. In 3-input logic cell design, a self-adaptive

controller is composed of three signal comparators. The number of

signal comparators are equal to the number of inputs. Normally,

4-input logic cell is used in FPGAs. 4-bit self-adaptive controller

causes a large overhead if it is applied in fine-grain level (each logic

cell). Moreover, a specific voltage control line (VDD-ctl) has to be

added in the routine lines which also occupies a lot of silicon area. In

addition, input-based self-adaptive controller has low control ability.

Because the non-critical data path is evaluated by comparing only

inputs, the controller is insensitive to the pipeline speed. When the

pipeline speed becomes slow, all paths can operate with low sup-

ply voltage. However, input-based self-adaptive controller cannot

adaptive to such situation.

3.3.3 Output-based delay evaluation

In order to make an efficient self-adaptive multi-voltage control,

an output-based delay evaluation method is proposed [45]. Figure

3.6 shows the concept of output-based delay evaluation and self-

adaptive multi-voltage control. In order to explain the principle of

89

Page 92: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.8: Concept of output-based delay evaluation and self-adaptive multi-voltage control.

output-based delay evaluation, I will first introduce the handshake

processes in asynchronous circuits.

Figure 3.9 shows the handshake processes for data transfer. In

initial state (a), req signal is in the state of ”ask for spacer”, ack

signal is in the state of ”spacer ready” and the spacer presents in

the output. In the second state (b), req signal: ”ask for data” or

ack signal: ”data ready”. In the third state (c), req signal: ”ask for

data” and ack signal: ”data ready”. At last (c), output data.

In this handshake processes, there are two possibilities in second

state (b). First, req signal becomes ”ask for data” but ack signal

remains ”spacer ready”. This situation means that data arrives

slow at the handshake circuit. The logic block is in a critical path.

Second, ack signal becomes ”data ready” but req signal remains

”ask for spacer”. This situation means that data arrives fast. The

logic block is in a non-critical path. Therefore, the non-critical path

90

Page 93: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.9: Handshake processes for data transfer. (a) Initial state. (b) Ask fordata or Data ready. (c) Ask for data & Data ready. (d) Output data.

is evaluated by comparing handshake signals (req and ack).

Based on output-based delay evaluation, self-adaptive multi-voltage

control can be efficiently designed with high control ability. First,

the non-critical path is evaluated by using only one signal compara-

tor. Second, the controller is adaptable to low speed requirement.

When the pipeline speed becomes slow, the req signal will become

91

Page 94: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.10: Overall structure.

slow accordingly. The controller can sense this change and assign

a low voltage to logic block if the low voltage satisfies the timing

requirement.

3.4 Architecture of the proposed FPGA

3.4.1 Architecture overview

The proposed FPGA is built on asynchronous island-style FPGA ar-

chitecture, with the configuration stored in SRAM cells [40, 23, 42].

Figure 3.10 shows the overall structure. Figure 3.11 shows the pro-

grammable interconnection resources. The proposed FPGA consists

of logic blocks (LBs), connection blocks (CBs) and switch blocks

92

Page 95: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.11: Programmable interconnection resources.

(SBs). Each LB performs an arbitrary 4-input 1-output function.

LBs are connected with each other through CBs and SBs. The pro-

grammable switches in CBs and SBs control the routing direction

of the input and output ports of LBs. Because of the asynchronous

architecture and dual-rail encoding data path, a routing line con-

sists of three wires: two wires for the data and encoded acknowledge

signal transfer, one wire for the requirement signal transfer.

A self-adaptive controller is embedded in each LB, which is glob-

ally controlled by an enable signal. When the pipeline circuits work

at stable state, a high pulse enable signal is asserted for several

pipeline cycle times. During the enable time, the controller eval-

uates the deadline of each LB and decides whether the low sup-

93

Page 96: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.12: Block diagram of a delay-insensitive pipeline in asynchronous FPGA.

ply voltage satisfies the deadline. If the low supply voltage does

not violate the deadline of a logic block, its supply voltage is au-

tonomously switched to the low voltage. This self-adaptive voltage

control scheme saves power consumption without deteriorating the

circuit performance.

3.4.2 Output-based self-adaptive multi-voltage control

Handshake delay model

Figure 3.12 shows the block diagram of a delay-insensitive pipeline

in asynchronous FPGA. Figure 3.13 shows a handshake delay model

derived from the block diagram. Handshake delay contains hand-

shake circuit delay, data path delay and other delay uncertainties.

Logic delay contains only logic block delay. The delay model con-

sists of two pipeline stages, which is used as a simple example for

94

Page 97: Area-Efficient Design of Low-Power Asynchronous Circuits

Figure 3.13: Handshake delay model.

easy understanding of the handshake process in a delay-insensitive

pipeline.

In the handshake delay model, the out of C-element is considered

to be a start point. When stage1 requires a spacer (req=0) and the

spacer is ready in stage0 (ack=0), the output of C-element is set to

0. From this start point, stage1 starts to absorb the spacer from

stage0 and set req signal to 1 (require a data) after logic delay

and handshake delay, tl1 + th1. At the same time, stage0 starts

to prepare a data. The data will be ready after handshake delay

and logic delay, tl0 + th0. When req=1 and ack=1, the output of

C-element is set to 1. Then, stage1 starts to absorb the data from

stage0, and stage0 starts to prepare next spacer. The handshake

enters next cycle.

Self-adaptive multi-voltage control

In asynchronous pipeline, the pipeline operating rate is limited by

the slowest cycle stage. If slowing down the fast cycle stages by

95

Page 98: Area-Efficient Design of Low-Power Asynchronous Circuits

lowering the supply voltage of logic block, the pipeline throughput is

not affected. However, the modified stage cycle speed cannot slower

than the slowest cycle stage, or it would deteriorate the pipeline

performance.

Figure 3.14 shows a handshake timing chart when tl0+th0+∆t ≤

tl1 + th1. The handshake timing chart is used to explain the multi-

voltage design on logic block in stage0. ∆t is the imposed delay

time by lowering down the supply voltage of logic block in stage0.

At the first start point, the output of C-element is low. Req signal

becomes high (require data) after the delay time tl1 + th1. In high,

or normal, supply voltage, ack signal becomes high (data ready)

after the delay time tl0+ th0. Because tl0+ th0 < tl1+ th1, ack signal

becomes high earlier than req signal. Ack signal needs to wait req

signal for twait = (tl1 + th1) − (tl0 + th0). If low down the supply

voltage of logic block in stage0, the logic delay becomes tl0 + ∆t.

Because ∆t < twait, ack signal satisfies the deadline of second start

point, which does not affect the pipeline cycle speed. Therefore,

low supply voltage can be assigned to logic block in stage0 to save

power.

Figure 3.15 shows a handshake timing chart when tl0+th0 < tl1+

th1 < tl0+th0+∆t. In this conditions, low voltage cannot be assigned

96

Page 99: Area-Efficient Design of Low-Power Asynchronous Circuits

ack

req

Stage0 ���

Logic delay ��� + ∆�

Require data

Require spacer

Spacer ready

Data ready

Spacer ready

Data ready

�!"��" �!"��"

�!� ��� �#$%� �!� ��� �#$%�

�!� ∆���� �!� ∆����

Output spacerOutput data

C_out

High Voltage(logic block only)

Low Voltage(logic block only)

Start point Start pointTime

High Voltage (VH):

Low Voltage (VL):

Pipeline Cycle Time

Figure 3.14: Handshake timing chart (tl0 + th0 +∆t ≤ tl1 + th1).

97

Page 100: Area-Efficient Design of Low-Power Asynchronous Circuits

ack

req

Require data

Require spacer

Spacer ready

Data ready

Spacer ready

Data ready

���� � ���� �

��! � ! �"#$� ��! � ! �"#$�

��! ∆�� ! ��! ∆�� !

Output spacerOutput dataC_out

Start point Start pointTime

Pipeline Cycle Time

Low Voltage

violates

deadline!!

High Voltage

(a) %&' + %(' < %&) + %() < %&' + %(' + ∆%Figure 3.15: Handshake timing chart (tl0 + th0 < tl1 + th1 < tl0 + th0 +∆t).

98

Page 101: Area-Efficient Design of Low-Power Asynchronous Circuits

ack

req

Require data

Require spacer

Spacer ready

Data ready

Spacer ready

Data ready

���� �

��! � !

Output spacerOutput dataC_out

Start point Start pointTime

Pipeline Cycle Time

Low Voltage

Slows down

pipeline!!

High Voltage

����� � !�"! �����

� # �"#

� # ∆��"# � # ∆��"#

%&' + %(' < %&) + %() < %&' + %(' + ∆%

(b) %&' + %(' > %&) + %()Figure 3.16: Handshake timing chart (tl0 + th0 < tl1 + th1 < tl0 + th0 +∆t).

99

Page 102: Area-Efficient Design of Low-Power Asynchronous Circuits

MUX

VH VL delay

∆�

latch

enable

ack

reqvddDomino

BufferDomino

AND

Figure 3.17: Self-adaptive voltage controller.

to logic block in stage0. Low voltage makes ack signal arrive later

than req signal. This would postpone the second start point and

increase the pipeline cycle time. In other word, low voltage violates

the deadline of logic block in stage0.

Figure 3.16 shows a handshake timing chart when tl0 + th0 >

tl1 + th1. In this conditions, ack signal becomes the critical hand-

shake signal which decides the pipeline speed. If lowering the supply

voltage of logic block, it would slow down the pipeline speed.

3.4.3 Circuit implementation

Self-adaptive voltage controller

Figure 3.17 shows the proposed self-adaptive controller. Delay

element has a delay time ∆t which is equal to the imposed delay on a

logic block when the low supply voltage is applied. When ack signal

100

Page 103: Area-Efficient Design of Low-Power Asynchronous Circuits

Enable SAC

Initial Data Processing

Enable:

Circuits State:

Disable SAC

Autonomously

voltage assignments Saves control power

Time

Figure 3.18: Self-adaptive voltage control scheme.

becomes high, the signal needs a delay time ∆t to arrive at domino

AND gate. If req signal becomes high during ∆t, domino AND gate

maintains untriggered and the supply voltage uses high voltage. If

req signal is still low, domino AND gate outputs 1 and the supply

voltage switches to low voltage. When the voltage assignment task

is finished, the assignment information is stored in latch and the

controller is disabled to save power.

Figure 3.18 shows the self-adaptive voltage control scheme. When

the circuits work at stable state, a high pulse enable signal is as-

serted for several pipeline cycle times. During the enable time, the

supply voltage is autonomously assigned by the self-adaptive volt-

age controller. When the voltage assignments are done, the enable

signal disables the controllers to save power.

101

Page 104: Area-Efficient Design of Low-Power Asynchronous Circuits

RS

latch

CReq_in

LUT

ackMulti-Voltage Domain

Self-Adaptive

Voltage Controller

enable

pc

in out

Domino Buffer

VDDReq_out

in0

out

in1

in2

in3

Figure 3.19: Structure of logic block.

Structure of logic cell

Figure 3.20 shows the structure of the proposed logic cell. There

are two power domains in logic cell. The gray region shows the

multi-voltage power domain, which consists of a 4-input 1-output

dual-rail LUT, a RS latch, and an OR gate. Handshake circuits and

self-adaptive voltage controller are in the high (or normal) voltage

power domain. The delay element in self-adaptive voltage controller

is sized equal to the imposed delay when low voltage is chosen in the

multi-voltage domain. This structure guarantees the correctness of

self-adaptive multi-voltage control and makes level converter unnec-

essary.

High supply voltage of handshake circuits prevents the low volt-

102

Page 105: Area-Efficient Design of Low-Power Asynchronous Circuits

in

ack

out

C-element

On

Off

Off

On

Dynamic Latch

Low voltage

domain out

Req_in

Req_outLogic cell

High voltage

domain

Figure 3.20: Protection of short circuit current.

age signal transfer on routing lines. In FPGAs, the routing di-

rections of the input and output ports of LBs are controlled by

programming CBs and SBs. Therefore, the reconfigurable routing

line has an unpredictable and considerable delay. The signal volt-

age would have a great impact on this delay. When low voltage is

applied on handshake circuits and low voltage signal is transferred

on the routing line, the imposed delay becomes unpredictable. As a

result, the self-adaptive multi-voltage control cannot correct work.

Although level converter can be used to convert low voltage signal

to high voltage signal, it increases delay and power overheads.

Figure 3.20 shows the protection of short circuit current. In the

proposed logic cell, the interface between low voltage block and high

voltage block is done by using domino gate. Figure 3.20 shows that

the outputs of RS latch are connected to domino buffers. Because C-

103

Page 106: Area-Efficient Design of Low-Power Asynchronous Circuits

Table 3.2: Comparison of input-based design and output-based design

Self-adaptive

multi-voltage control

Output-based Input-based

LUT 4-input 1-output function

Signal

comparator1 4

VDD control

routing lineUnnecessary Necessary

Adaptable to

low speedYes No

element always outputs high voltage signal, domino buffer protects

short-circuit current occur when RS latch outputs low voltage signal.

The domino buffer in self-adaptive voltage controller serves the same

function when the ack signal is low voltage signal. In addition, C-

element can also protects short-circuit current occur since the req

signal is always high voltage signal. As a result, level converters are

unnecessary in the proposed FPGA.

3.5 Evaluation

The proposed FPGA is designed and evaluated by using HSPICE in

a 65nm design technology. Table 3.3 shows the comparison of input-

based design and output-based design. Input-based self-adaptive

multi-voltage control needs 4 signal comparators and a specific VDD

104

Page 107: Area-Efficient Design of Low-Power Asynchronous Circuits

control routine line. However, output-based design uses only 1 sig-

nal comparator without the need of a specific VDD control routing

line, which is efficiently designed with small hardware overhead.

Moreover, because of the path delay evaluation method, output-

based design is adaptive to the low speed requirement, which has a

higher control ability compared to input-based design.

Table 3.3 shows the evaluation results of the proposed logic cell.

The multiple supply voltages use 1.2V for high voltage (VDDH), and

1V for low voltage (VDDL) as an example. Compared to normal

logic cell with normal supply voltage, the energy consumption is

reduced by 25.3% and the data processing speed is reduced by 47.8%

when the proposed logic cell uses VDDL as the supply voltage.

Although the proposed logic cell in VDDH has same supply voltage

with the normal logic cell, its data processing speed is a little slower.

This is because the voltage selecter (MUX) causes some voltage

drop. The actual voltage in multi-voltage domain is a little lower

than 1.2V. The low voltage slightly slows down the data processing

speed, but also reduces some energy consumption. The evaluation

is done when the self-adaptive voltage controller is disabled.

Figure 3.21 shows the relationship between the energy consump-

tion and the ratio of cells supplied with VDDL to 100 cells. In

105

Page 108: Area-Efficient Design of Low-Power Asynchronous Circuits

Table 3.3: Evaluation results of the proposed logic cell

the application of MPEG-4 video codec, 68% of the cells can be

supplied with VDDL in normal working state [15]. If 0.8V is used

as VDDL, the energy consumption is reduced by 30% compared to

the single voltage design of the conventional asynchronous FPGA.

In slow working state, if low supply voltage does not violate the

deadline, all cells can be assigned with VDDL. The output-based

self-adaptive voltage controller is adaptable to such situation. If

100% of the cells are supplied with VDDL, the energy consumption

is reduced by 45%.

In order to compare to a synchronous FPGA, 8×8 array style

multiplier is chosen as a test case. Figure 3.22 shows the comparison

between the synchronous FPGA and the proposed FPGA. Because

the clock tree network in the synchronous FPGA always consumes

power even the circuits are not working. The evaluation is based on

106

Page 109: Area-Efficient Design of Low-Power Asynchronous Circuits

5

7

9

11

13

15

0 20% 40% 60% 80% 100%

[10

0 c

ell

s] E

ne

rgy

(p

J)

Ratio of cells supplied with VDDL to all cells

Proposed (VDDH:1.2V, VDDL:1V)

Proposed (VDDH:1.2V, VDDL:0.8V)

Single Supply Voltage Asynchronous FPGA

Figure 3.21: Relationship between the energy consumption and the ratio of cellssupplied with VDDL to 100 cells.

the relationship between the energy consumption and the workload.

The workload refers to the rate of the number of active-state cycles

to the total number of cycles, which has been explained in chapter

2. In typical applications of array style multiplier, the workloads

are in the range of 20% to 40%. In this situation, the proposed

FPGA reduces the energy consumption by 25% to 45% compared

to the synchronous FPGA.

107

Page 110: Area-Efficient Design of Low-Power Asynchronous Circuits

0

4

8

12

16

0 20% 40% 60% 80% 100%

En

erg

y (

nJ)

Workload

Proposed FPGA (VDDL:0.8V)

Normal Synchronous FPGA

Figure 3.22: Comparison between a synchronous FPGA and the proposed FPGA(8×8 array style multiplier).

3.6 Conclusion

This chapter introduces a low-power FPGA based on self-adaptive

multi-voltage control. An output-based self-adaptive voltage con-

troller is designed and embedded in each logic cell. The controller

evaluates the deadline of each logic cell and selects a low voltage if

it does not violate the deadline. This control scheme saves power

without deteriorating the pipeline performance. Level converters

are unnecessary in the proposed FPGA which has a simple and

efficient architecture.

108

Page 111: Area-Efficient Design of Low-Power Asynchronous Circuits
Page 112: Area-Efficient Design of Low-Power Asynchronous Circuits

Chapter 4

Conclusion

In this research, there are two topics. The first topic focuses on asyn-

chronous pipeline. A novel design method of asynchronous domino

logic pipeline is introduced. The pipeline is realized based on a con-

structed critical data path. The design method greatly reduces the

overhead of handshake circuits as well as logic circuits, which not

only increases the pipeline throughput but also decreases the power

consumption. The evaluation results show that the proposed design

has better performance than bundled-data asynchronous domino

logic pipeline. It is even better than synchronous pipeline with se-

quential clock-gating when they work in peak speed. The second

topic focuses on asynchronous FPGA. A self-adaptive multi-voltage

low-power technique is introduced for saving power in FPGA. By

exploring the sequence of handshaking process, an efficient self-

110

Page 113: Area-Efficient Design of Low-Power Asynchronous Circuits

Synchronous(Complex control)(CC(C(CC xpl op epleplp e c ncooc n

Asynchronous(Simple functional

module)

Asynchronous(Simple functional

module)

l)ool)l)o

Figure 4.1: Mixed synchronous-asynchronous architecture.

adaptive control is designed. It evaluates the non-critical paths on-

line and autonomously assigns a low supply voltage to save power.

In normal state, non-critical paths work at low voltage. In low speed

state, all paths are assigned with low voltage to save more power.

In the future work, mixed synchronous-asynchronous architec-

ture for high-performance processing unit design is an interesting

topic. Figure 4.1 shows the mixed synchronous-asynchronous archi-

tecture. The proposed asynchronous domino pipeline has a great

potential to realize high-performance processing unit since it shows

area & power efficiency even comparing to classic synchronous pipeline.

However, because of the circuit verification problem in asynchronous

design, processing unit with complex control structure is difficult to

be designed by using entirely asynchronous solution. In order to

solve this problem, synchronous circuits can be used to design the

111

Page 114: Area-Efficient Design of Low-Power Asynchronous Circuits

complex control part since synchronous design has mature design

methods and CAD tools. Such design method can decrease the de-

sign difficulty of asynchronous circuits without losing the benefits

of asynchronous design.

With CMOS technology scaling and 3-dimensional integration,

Process-Voltage-Temperature (PTV) variations become more and

more large. It is difficult to distribute a high quality clock net-

work and control the delay variations across the whole chip die. In

the foreseeable future, Globally Asynchronous Locally Synchronous

(GALS) solution or entirely asynchronous solution will be widely

used. I believe the mixed synchronous-asynchronous solution is an

important supplement in this area.

112

Page 115: Area-Efficient Design of Low-Power Asynchronous Circuits
Page 116: Area-Efficient Design of Low-Power Asynchronous Circuits

Bibliography

[1] T.M. McWilliams, ”Verification of Timing Constraints on

Large Digital Systems,” 17th Conference on Design Automa-

tion, pp.139-147, June 1980.

[2] A. Yahovlev, L. Gomes and L. Lavagno, ”Hardware Design and

Petri Nets,” Kluwer Academic Publishers, March 2000.

[3] C.H. van Berkel, R. Burgess, J. Kessels, A. Peeters, M. Roncken

and F. Schalij, ”Asynchronous circuits for low power: a DCC

error corrector,” IEEE Design Test, Volume 11, Issue 2, pp.22-

32, 1994.

[4] L.S. Nielsen. ”Low-power Asynchronous VLSI Design,” PhD

Thesis, Department of Information Technology, Technical Uni-

versity of Denmark, 1997.

[5] T.E. Williams and M.A. Horowitz, ”A zero-overhead self-timed

160 ns 54 bit CMOS divider,” IEEE Journal of Solid State

114

Page 117: Area-Efficient Design of Low-Power Asynchronous Circuits

Circuits, Volume 26, Issue 11, pp.1651-1661, 1991.

[6] A.J. Martin, A. Lines, R. Manohar, M. Nystrom, P. Penzes,

R. Southworth, U.V. Cummings and T.K. Lee, ”The Design

of an Asynchronous MIPS R3000,” In Proceedings of the 17th

Conference on Advanced Research in VLSI, pp.164-181, MIT

Press, 1997.

[7] N.C. Paver, P. Day, C. Farnsworth, D.L. Jackson, W.A. Lien

and J. Liu, ”A Low-Power, Low-Noise Configurable Self-Timed

DSP,” In Proc. International Symposium on Advanced Re-

search in Asynchronous Circuits and Systems, pp.32-42, 1998.

[8] L.S. Nielsen, C. Niessen, J. Sparø and C.H. van Berkel, ”Low-

Power Operation Using Self-Timed Circuits and Adaptive Scal-

ing of the Supply Voltage,” IEEE Transactions on VLSI Sys-

tems, Volume 2, Issue 4, pp.391-397, 1994.

[9] A.J. Martin, S.M. Burns, T.K. Lee, D. Borkovic and P.J.

Hazewindus, ”The first asynchronous microprocessor: The test

results,” Computer Architecture News, 17(4), pp.95-98, 1989.

[10] J. Sparø and J. Staunstrup, ”Delay-Insensitive Multi-Ring

Structures,” INTEGRATION, the VLSI Journal, Volume 15,

Issue 3, pp.391-397, 1994.

115

Page 118: Area-Efficient Design of Low-Power Asynchronous Circuits

[11] I.E. Sutherland, ”Micropipelines,” Communications of the

ACM, 32(6), pp.720-738, 1989.

[12] I. Pantazi-Mytarelli, ”The history and use of pipelinging com-

puter architecture: MIPS pipelining implementation,” IEEE

Long Island Systems, Applications and Technology, pp.1-7,

2013.

[13] S. Hauck, S. Burns, G. Borriello and C. Ebeling, ”An FPGA for

Implementing Asynchronous Circuits,” IEEE Design and Test

of Computers, Volume 11, Issue 3, pp.60-69, 1994.

[14] K. Maheswaran, ”Implementing self-timed circuits in field pro-

grammable gate arrays,” Master’s thesis, U.C.Davis, 1995.

[15] T. Kuroda and M. Hamada, ”Low-Power CMOS Digital Design

with Dual Embedded Adaptive Power Supplies,” IEEE Jour-

nal of Solid-State Circuits, Volume 35, Number 4, pp.652-655,

2000.

[16] Achronix, ”Speedster22i Family,” Product Brief, 2013.

[17] ”Synthesis and Simulation Design Guide,” Xilinx Inc., 2008.

116

Page 119: Area-Efficient Design of Low-Power Asynchronous Circuits

[18] R.H. Krambeck, C.M. Lee and H.F.S. Law, ”High-speed com-

pact circuits with CMOS,” IEEE Journal of Solid-State Cir-

cuits, Volume 17, Number 3, pp.614-619, 1982.

[19] B.H. Calhoun, Yu Cao, Xin Li, Ken Mai, L.T. Pileggi and R.A.

Rutenbar, ”Digital Circuit Design Challenges and Opportuni-

ties in the Era of Nanoscale CMOS,” Proceedings of the IEEE,

Volume 96, Issue 2, pp.343-365, February 2008.

[20] J. Sparsø and S. Furber, ”Principles of Asynchronous Circuit

Design: A Systems Perspective,” Kluwer Academic Publishers,

2001.

[21] M. Krstic, E. Grass, F.K. Gurkaynak and P. Vivet, ”Globally

Asynchronous, Locally Synchronous Circuits: Overview and

Outlook,” IEEE, Design and Test of Computers, Volume 24,

Issue 5, pp.430-441, 2007.

[22] A.J. Martin, M. Nystrom, ”Asynchronous Techniques for

System-on-Chip Design,” Proceedings of the IEEE, Volume 94,

Issue 6, pp.1089-1120, 2006.

[23] J. Teifel, R. Manohar, ”An asynchronous dataflow FPGA archi-

tecture,” IEEE Transactions on Computers, Volume 53, Issue

11, pp.1376-1392, 2004.

117

Page 120: Area-Efficient Design of Low-Power Asynchronous Circuits

[24] Hock Soon Low, Delong Shang, F. Xia, and A. Yakovlev, ”Vari-

ation Tolerant AFPGA Architecture,” International Sympo-

sium on Asynchronous Circuits and Systems (ASYNC), pp.77-

86,

[25] M. Hariyama, S. Ishihara, and M. Kameyama, ”Evaluation of

a Field-Programmable VLSI Based on an Asynchronous Bit-

Serial Architecture,” IEICE Transactions on Electronics, Vol.

E91-C, No. 9, pp.1419-1426, 2008.

[26] T.E. Williams, ”Self-Timed Rings and their Application to Di-

vision,” PhD Thesis, Stanford University, June 1991.

[27] A.M. Lines, ”Pipelined Asynchronous Circuits,” tech. report,

Dept. of Computer Science, California Inst. of Technology,

1998.

[28] S.M. Nowick and M. Singh, ”High-Performance Asynchronous

Pipelines An Overview,” IEEE Design & Test of Computers,

Volume 28, Issue 5, pp.8-22, 2011.

[29] M. Singh and S.M. Nowick, ”The Design of High-Performance

Dynamic Asynchronous Pipelines: High-Capacity Style,” IEEE

Transactions on Very Large Scale Integration (VLSI) Systems,

Vol. 15, No.11, pp.1270-1283, September 2007.

118

Page 121: Area-Efficient Design of Low-Power Asynchronous Circuits

[30] M. Singh and S.M. Nowick, ”The Design of High-Performance

Dynamic Asynchronous Pipelines: Lookahead Style,” IEEE

Transactions on Very Large Scale Integration (VLSI) Systems,

Vol. 15, No.11, pp.1256-1269, September 2007.

[31] Z. Xia, S. Ishihara, M, Hariyama and M. Kameyama, ”Synchro-

nising logic gates for wave-pipelining design,” IEE Electronics

Letters, Vol. 46, No.16, August, 2010.

[32] S. Ahuja and S. Shukla, ”MCBCG: Model checking based se-

quential clock-gating,” High Level Design Validation and Test

Workshop, pp.20-25, 2009.

[33] Li Li, Wei Wang, Ken Choi, Seongmo Park, Moo-Kyoung

Chung, ”SeSCG: Selective Sequential Clock Gating for Ultra-

Low-Power Multimedia Mobile Processor,” IEEE International

Conference on Electro/Information Technology (EIT), pp.1-6,

2010.

[34] Z. Xia, S. Ishihara, M. Hariyama and M. Kameyama, ”Dual-

Rail/Single-Rail Hybrid Logic Design for High-Performance

Asynchronous Circuit,” IEEE International Symposium on Cir-

cuits and Systems (ISCAS), pp.3017-3020, 2012.

119

Page 122: Area-Efficient Design of Low-Power Asynchronous Circuits

[35] Z. Xia, S. Ishihara, M. Hariyama and M. Kameyama, ”Design of

High-performance Asynchronous Pipeline Using Synchronizing

Logic Gates,” IEICE Transaction on Electronics, Vol. E95-C,

NO. 8, August 2012.

[36] I. Sutherland, B. Sproull, and D. Harris, ”Logical Effort: De-

signing Fast CMOS Circuits,” San Mateo, CA: Morgan Kauf-

mann, 1999.

[37] P. Srivastava, A. Pua, and L. Welch, ”Issues in the Design of

Domino Logic Circuits,” Proceedings of the 8th Great Lakes

Symposium on VLSI, pp. 108-112, Feb. 1998.

[38] M. Takahashi et.al., ”A 60-mW MPEG4 Video Codec Us-

ing Clustered Voltage Scaling with Variable Supply-Voltage

Scheme,” In IEEE Journal of Solid-State Circuits, Vol. 33, No.

11, Nov. 1998.

[39] F. Li, D. Chen, L. He, and J. Cong, ”Low-Power FPGA

using Pre-Defined Dual-Vdd/Dual-Vt Fabrics,” In Proceed-

ings of ACM/SIGDA International Symposium on Field-

programmable gate arrays, 2003.

120

Page 123: Area-Efficient Design of Low-Power Asynchronous Circuits

[40] R. Payne, ”Asynchronous FPGA architectures,” IEE Proceed-

ings Computers and Digital Techniques, Volume 143, Issue 5,

pp. 282-286, Sep. 1996.

[41] P. Chow, Soon Ong Seo, J. Rose, K. Chung, G. Paez-

Monzon and I. Rahardja, ”The design of a SRAM-based field-

programmable gate array-Part I: Architecture,” IEEE Trans.

on Very Large Scale Integration (VLSI) Systems, Volume 7,

Issue 2, pp. 191-197 1999.

[42] P. Chow, Soon Ong Seo, J. Rose, K. Chung, G. Paez-

Monzon and I. Rahardja, ”The design of a SRAM-based field-

programmable gate array-Part II: Circuit design and layout,”

IEEE Trans. on Very Large Scale Integration (VLSI) Systems,

Volume 7, Issue 3, pp. 321-330 1999.

[43] S. Ishihara, Z. Xia, M. Hariyama and M. Kameyama, ”Archi-

tecture of a Low-Power FPGA Based on Self-Adaptive Vot-

lage Control,” in Proc. International SoC Design Conference

(ISOCC), pp.274-277 2009.

[44] S. Ishihara, Z. Xia, M. Hariyama and M. Kameyama, ”Evalua-

tion of a Self-Adaptive Votlage Control Scheme for Low-Power

121

Page 124: Area-Efficient Design of Low-Power Asynchronous Circuits

FPGAs,” Journal of Semiconductor Technology and Science

(JSTS), Volume 10, Number 3, pp.165-175 2010.

[45] Z. Xia, M. Hariyama and M. Kameyama, ”A Low-Power FPGA

Based on Self-Adaptive Multi-Voltage Control,” in Proc. Inter-

national SoC Design Conference (ISOCC), pp.166-169 2013.

[46] W. Chong, M. Hariyama and M. Kameyama, ”Low-Power

Field-Programmable VLSI Using Multiple Supply Voltages,”

IEICE Transactions on Fundamentals of Electronics, Com-

munications and Computer Sciences, Volume 88, Number 12,

pp.3298-3305, 2005.

[47] M. Keating, D. Flynn, R. Aitken, A. Gibbons and K. Shi,

”Low Power Methodology Manual: For System-on-Chip De-

sign,” Springer, 2007.

[48] G. Semeraro, G. Magklis, R. Balasubramonian, D.H. Albonesi,

S. Dwarkadas and M.L. Scott, ”Energy-Efficient Processor De-

sign Using Multiple Clock Domains with Dynamic Votlage and

Frequency Scaling,” in Proc. International Symposium on High-

Performance Computer Architecture, pp.29-40, 2002.

122

Page 125: Area-Efficient Design of Low-Power Asynchronous Circuits
Page 126: Area-Efficient Design of Low-Power Asynchronous Circuits

Acknowledgment

This thesis is the summary of my doctoral research work in the

Intelligent Integrated Systems Laboratory, Graduate School of In-

formation Sciences, Tohoku University. I would have never been

able to complete this work without receiving the generous and in-

valuable help from many people and organizations during the course

of study.

First of all, thanks to my supervisor Professor Mitchitaka Kameyama,

Graduate School of Information Sciences, for his inspiring guidance

throughout this research. Professor Mitchitaka Kameyama enlight-

ened me by showing me valuable research methodologies to seek for

essential concepts. His questions that emphasize on the concepts

were very helpful to improve my research and presentation shills.

Also my thanks go to Professor Koji Nakajima and Professor

Takahiro Hanyu, Research Institute of Electrical Communication,

for their impressive comments and constructive suggestions during

the evaluation of this thesis.

My hearty thanks go to Associate Professor Masanori Hariyama,

Graduate School of Information Sciences, for his valuable advices

Page 127: Area-Efficient Design of Low-Power Asynchronous Circuits

and careful guidance throughout this research. Associate Profes-

sor Masanori Hariyama gave me useful advices during our excited

discussions and adventurous explorations of research topics. His

valuable comments and experienced instructions helped me to solve

many issues and always provided me a high motivation to proceed

with this research.

I also address thanks to Assistant Professor Lukac Martin, Project

Assistant Professor Hasitha Muthumala Waidyasooriya, and doc-

toral student Mr. Yoshiya Komatsu, Graduate School of Informa-

tion Sciences, for many useful discussions related to this thesis and

their valuable help in English and Japanese languages in these years.

The same thanks go to Technical Official Akio Sasaki and all

other colleagues of the Intelligent Integrated Systems Laboratory in

Graduate School of Information Sciences for their enthusiasm and

encouragement during these years.

Finally, my special gratitude goes to my parents, wife and son

(will be born soon) for their love and support. They have been

the indispensable persons to complete this research. The work is

dedicated to them.

Zhengfan Xia

January, 2014.

125