Design of High-Performance Asynchronous ... - Tohoku University

0 downloads 0 Views 2MB Size Report
Aug 8, 2012 - Synchronizing Logic Gates (SLGs), which have no data de- pendency problem, are ... The design targets latch-free and extremely fine-grain or gate- level pipeline, where the .... data transfer, every data is separated by a spacer. 2.1.2 Structure of ...... in ASIC,” www.islped.org/X2008/Jairam.pdf. Zhengfan Xia.
IEICE TRANS. ELECTRON., VOL.E95–C, NO.8 AUGUST 2012

1434

PAPER

Design of High-Performance Asynchronous Pipeline Using Synchronizing Logic Gates Zhengfan XIA†a) , Nonmember, Shota ISHIHARA† , Student Member, Masanori HARIYAMA† , Member, and Michitaka KAMEYAMA† , Fellow

SUMMARY This paper introduces a novel design method of an asynchronous pipeline based on dual-rail dynamic logic. The overhead of handshake control logic is greatly reduced by constructing a reliable critical datapath, which offers the pipeline high throughput as well as low power consumption. Synchronizing Logic Gates (SLGs), which have no data dependency problem, are used in the design to construct the reliable critical datapath. The design targets latch-free and extremely fine-grain or gatelevel pipeline, where the depth of every pipeline stage is only one dual-rail dynamic logic. HSPICE simulation results, in a 65 nm design technology, indicate that the proposed design increases the throughput by 120% and decreases the power consumption by 54% compared with PS0, a classic dual-rail asynchronous pipeline implementation style, in 4-bit wide FIFOs. Moreover, this method is applied to design an array style multiplier. It shows that the proposed design reduces power by 37.9% compared to classic synchronous design when the workloads are 55%. A chip has been fabricated with a 4 × 4 multiplier function, which works well at 2.16G dataset/s (Post-layout simulation). key words: asynchronous pipeline, dual-rail, critical datapath

1.

Introduction

Nowadays, clock design becomes an obstacle to highperformance VLSI systems. With technology scaling, clock distribution remains an important challenge with the requirement of high-speed and low-power in VLSI systems design [1]. Asynchronous design, which replaces the externally supplied global clock with a local handshake, has the potential to make high-performance design more feasible. Due to the local handshake, asynchronous systems avoid issues related to clock distribution such as large clock power and difficult management of clock skew. Moreover, the operating speed of asynchronous systems is determined by actual local latencies rather than global worst-case latency, which supplies a higher operating speed and better elasticity. Asynchronous design has recently attracted industry due to its potential for high-speed, low-power, low electromagnetic interference, and a natural match with heterogeneous system timing. Papers such as [2] explored the applications of asynchronous technology. Because asynchronous design has the ability to interface with varied environments operating at different rates, they are useful for the design of System on Chip (SoC) [3], and also suitable Manuscript received December 22, 2011. Manuscript revised March 14, 2012. † The authors are with the Graduate School of Information Sciences, Tohoku University, Sendai-shi, 980-8579 Japan. a) E-mail: [email protected] DOI: 10.1587/transele.E95.C.1434

for low power design method such as adaptive voltage scaling [4], [5]. Many asynchronous products and experimental chips have also been announced. In particular, Philip has developed a fully asynchronous 80C51 microcontroller which shows much better performance of speed, power consumption and electromagnetic noise emission than synchronous design [6]. Intel has developed an asynchronous Pentium instructions length decoder which exhibits three times higher throughput and only half of the power consumption than a corresponding clocked implementation [7]. Although asynchronous design has many attractive properties for VLSI systems, it also has some drawbacks. One of the problems is that the handshake control logic that implements the handshaking normally has large overhead [8]. It not only consumes silicon area but also affects the circuit speed and power consumption. The design method of asynchronous pipeline introduced in this paper intends to solve problems related to the handshake overhead. Other problems such as a lack of EDA tools including synthesis and test pattern generation for asynchronous design are not mentioned in this paper. This paper introduces a novel design method of asynchronous pipeline based on dual-rail dynamic logic (We will mention this kind of asynchronous pipeline as “dual-rail dynamic asynchronous pipeline” in the following context). The design focuses on improving asynchronous pipeline to be more practical for a wide range of applications. To obtain high throughput, the design targets extremely fine-grain or gate-level pipelining, where the depth of every pipeline stage is only one dual-rail dynamic logic. Moreover, the handshake control logic is greatly simplified with a reliable critical datapath which is constructed by using Synchronizing Logic Gates (SLGs) [14]. The reduced handshake overhead not only increases the throughput but also decreases the power consumption. A further feature of the proposed design is that explicit latches or registers are not used. The dynamic logic gates themselves provide an implicit latch function with a careful sequencing of handshake control. The removal of explicit latches or registers provides benefits of smaller forward latency, smaller silicon area, and lower power consumption. Based on the features of the design, we name the proposed asynchronous pipeline as Asynchronous Pipeline based on a Constructed Critical Datapath (abbreviated APCCD). The paper is organized as follows. Section 2 introduces the previous works. A detailed background on, PS0, a

c 2012 The Institute of Electronics, Information and Communication Engineers Copyright "

XIA et al.: DESIGN OF HIGH-PERFORMANCE ASYNCHRONOUS PIPELINE USING SYNCHRONIZING LOGIC GATES

classic dual-rail dynamic asynchronous pipeline implementation style is introduced, followed by a recent improved approach, LP2/2. Section 3 focuses on the design of APCCD. SLGs and the extended design, Synchronizing Logic Gates with a Latch function (SLGLs), are introduced to construct the reliable critical datapath. A simple analysis of the robustness of the structure is also provided. Then, extension to more complex structures is further discussed. Finally, Sect. 4 is the evaluation results which show the benefits of the proposed design compared with conventional asynchronous design and to classic synchronous design. Moreover, a chip has been fabricated in 65 nm technology with a 4 × 4 multiplier function. Section 5 presents conclusions. 2.

Previous Works

The classic work on dual-rail dynamic asynchronous pipelines design is done by Williams [9], which introduced several implementation styles. 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 the dual-rail dynamic asynchronous pipelines design [10], [11]. In this paper, PS0 pipeline will also be used as a basis to explain the principle and problems of the dual-rail dynamic asynchronous pipelines design. Lookahead pipelines [12] are recently proposed dualrail dynamic asynchronous pipelines, which are also chosen to compare with our design. Lookahead style is an alternative implementation style based on Williams’ work. Based on new structures and protocols, it greatly improves the throughput of PS0 pipeline.

1435

shows an example of the 4-phase dual-rail encoding. In the data transfer, every data is separated by a spacer. 2.1.2 Structure of PS0 Pipeline Figure 3 shows a block diagram of PS0 pipeline. In PS0 pipeline, each pipeline stage is composed of a function block and a completion detector. Each function block is implemented using dual-rail dynamic logic. Each completion detector generates separate local handshake signal to control the flow of data through its stage. The precharge/evaluation control input, pc, of each stage is connected to the output of the subsequent stage’s completion detector. Figure 2 shows an example of dual-rail logic and completion detector. Figure 2(a) is a dual-rail dynamic logic, a dual-rail AND gate. Figure 2(b) is a completion detector. In dual-rail encoding, a bit done signal can be generated by a 2-input static NOR gate. If completion detector detects 2bit dual-rail datapath, a C-element is needed to generate the total done signal. And so forth, in order to detect an entire datapath width, n-bits, of pipeline, a tree of C-elements with n inputs is needed to form a full completion detector which is shown in Fig. 3. The problem is that the delay of the completion detector tree grows logarithmically with the width of the datapath [9]. With the increase of the width of datapath, the completion detection time becomes more and more large which greatly decreases the performance of pipeline, not only the performance of throughput, but also the performance of power consumption.

2.1 Williams’ PS0 Pipeline 2.1.1 4-Phase Dual-rail Encoding 4-phase dual-rail encoding is used in dual-rail dynamic asynchronous pipelines design. Table 1 shows the code table of the 4-phase dual-rail encoding. The 4-phase dualrail encoding encodes a bit onto two wires, (w t, w f ). The data value 0 is encoded as (0, 1) and 1 is encoded as (1, 0); the spacer is encoded as (0, 0); (1, 1) is not used. Figure 1 Table 1

Fig. 1

Code table of 4-phase dual-rail encoding.

An example of 4-phase dual-rail encoding.

Fig. 2 Dual-rail logic and completion detector. (a) A dual-rail AND gate. (b) A completion detector.

Fig. 3

Block diagram of PS0 pipeline.

IEICE TRANS. ELECTRON., VOL.E95–C, NO.8 AUGUST 2012

1436

2.1.3 Protocol of PS0 Pipeline The protocol of PS0 pipeline 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 Fig. 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 detects completion of evaluation and sends a precharge signal to F2. • F2 precharges. F2’s completion detector detects the completion of precharge and sends an 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 T cycle is: T cycle = 3tEval + 2tCD + tPrech

(1)

where tEval and tPrech are the evaluation and precharge times for each stage, and tCD is the delay through each completion detector. 2.2 Singh’s LP2/2 Pipeline LP2/2 pipeline is one implementation style of lookahead pipelines which is proposed by Singh. LP2/2 has same function block as PS0 but different structure and protocol which are shown in Fig. 4. The main idea of lookahead pipelines is that an evaluation signal is generated early and sent to previous pipeline stage. Figure 4 shows a block diagram of a LP2/2 pipeline. Different from PS0, the completion detectors are placed ahead of function blocks. In this way, the completion detection and the evaluation of function block become concurrent event, which saves the handshake time. Moreover, an asymmetric completion detector is employed, where the set

Fig. 4

Block diagram of a LP2/2 pipeline.

of C-element is composed of the full detection of all dualrail signal but the reset of C-element is directly controlled by pc signal. The completion detector will be reset when pc signal becomes low, which quickly generates an early evaluation signal for the previous stage without waiting for the completion of the precharge process in the current pipeline stage. A complete cycle of events of LP2/2 pipeline has 2 evaluations, 1 completion detection and 1 completion detector reset for a pipeline stage [12]. The pipeline cycle time T cycle is given by: T cycle = 2tEval + tCD + tCDreset

(2)

where tCDreset is the reset time of a completion detector. 3.

Asynchronous Pipeline Based on A Constructed Critical Datapath

3.1 Overview of New Design Conventional dual-rail dynamic asynchronous pipeline designs, such as PS0 and LP2/2, need a full completion detector to detect the entire datapaths so as to generate a total done signal. The full completion detector provides these designs with a property of delay-insensitive which is useful for field-programmable VLSI design because of the considerable delay on the long distance of routing wire between LUTs [13]. For custom circuit design which has much short routing wire, it is unnecessary and causes a large overhead. The full completion detector can be simplified by just using one of the bit-done signals as the total done signal. This requires an assumption that none of the other bits or the wire delay across the entire datapaths is slower than the observed bit by more than the delay through a static NOR gate and the drive buffer chain following it in the handshake control logic. In this paper, we proposed a method to guarantee this assumption so as to reduce the overhead of handshake control logic. The above mentioned assumption seems very reasonable for bit-parallel datapaths because the handshake control logic takes so long time to drive any signal in response to the completion detector. However, if we consider the data dependency problem, gate delay relates to input data patterns, of conventional dual-rail dynamic logic, incorrect operation could occur. The critical signal transition in entire datapaths of every pipeline stage would vary from one gate to others according to different data patterns. If the observed bit has the quickest signal transition than others, the assumption might not be satisfied. Moreover, the difference between the fastest transition and the slowest transition would grow larger along with the flow of data in circuit without protection of explicit latches or registers between pipeline stages. It is more and more difficult to guarantee that the observed bit would satisfy the assumption in the subsequent pipeline stages. Figure 5 shows a block diagram of our proposed design, Asynchronous Pipeline based on a Constructed Criti-

XIA et al.: DESIGN OF HIGH-PERFORMANCE ASYNCHRONOUS PIPELINE USING SYNCHRONIZING LOGIC GATES

Table 2 patterns.

1437

The states of pull-down transistor paths on different data

Fig. 5 Block diagram of Asynchronous Pipeline based on a Constructed Critical Datapath (APCCD).

cal Datapath (APCCD). The solid arrow represents a constructed critical datapath in pipeline. A static NOR gate is connected to the critical datapath to observe the bit-done signal. Because the signal transition on the critical datapath is always the slowest one in each pipeline stage, it is easy to satisfy the required assumption for correct handshake. Apparently, adding delay elements is an intuitive way to get this critical datapath. However, this needs some timing analysis and these added delay elements are undesired overhead. In order to get a simple and low overhead solution, SLGs and SLGLs, which have no data dependency problem, are used in our design to construct the critical datapath. In Fig. 5, the output of NOR gate is connected to the precharge/evaluation control input, pc, of previous stage. This structure and the protocol are stem from PS0 pipeline. (The term “APCCD” mentioned in this paper is default based on the structure and protocol of PS0.) In fact, the design idea can also be applied in the structure and protocol of LP2/2. However, LP2/2 needs additional control circuit to realize its lookahead concept. With a simplified completion detector, it has less benefit in LP2/2 than in PS0. The comparison between them will be one part of evaluation results. 3.2 SLGs and SLGLs 3.2.1 Synchronizing Logic Gates In a conventional dual-rail dynamic gate, gate delay relates to the input data patterns. Figure 2(a) shows the conventional dual-rail AND 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 . Table 2 shows the states of pull-down transistor paths on different data patterns. In conventional dualrail 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 respectively, [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 evaluation time has a large variation according to different data patterns. SLGs are dual-rail dynamic gates which solve the data dependency problem. Figure 6 shows the synchronizing AND gate and the truthtable of dual-rail AND gates. The principle is that, in the pull-down network, there is exactly one path activated according to one data pattern

Fig. 6 gates.

Synchronizing AND gate and the truth table of dual-rail AND

and the stack of all possible paths is kept constant at the sequential position. Compared to conventional dual-rail AND gate, the false side logic expression is changed to out f =a t·b f +a f ·(b t+b f ). Then, 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 Table 2 shows that there is only one path turns on corresponding to an input data pattern. As a result, the evaluation time is constant depending on different data patterns. In addition, for the synchronizing AND gate, the transistor paths can only turns on when the input signals a and b are both valid. It means that SLGs cannot start evaluation after all inputs become valid. 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. • An SLG does not have data dependency problem. The evaluation time relates to the number of inputs. • The absence of any inputs will postpone the evaluation of an SLG. It means that SLGs can synchronize the inputs. 3.2.2 Synchronizing Logic Gates with a Latch Function Based on the characteristics of SLGs, SLGLs are extended. Figure 7 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. Any conventional dual-rail dynamic gates can be redesigned to become SLGs and SLGLs, like the dual-rail AND gate. The critical datapath in pipeline can be easily constructed using SLGs and SLGLs which will be shown in next section.

IEICE TRANS. ELECTRON., VOL.E95–C, NO.8 AUGUST 2012

1438

3.3 Structure of APCCD Figure 8 shows the structure of asynchronous pipeline based on a constructed critical datapath. The solid arrow represents the constructed critical datapath and the dashed arrow represents sub-critical datapaths. A static NOR gate is connected to the critical datapath to observe the bit-done signal for the entire datapaths in each pipeline stage. The output of NOR gate is connected to the precharge/evaluation control input, pc,of the previous stage with a drive buffer. 3.3.1 Construction of the Critical Datapath In conventional design, every pipeline stage is composed of normal dual-rail dynamic logic which has data dependency problem. Therefore, the critical, or the slowest, signal transition on the outputs of these gates is unknown. However, it is not difficult to predict that the slowest signal transition might present on the output of the gate which has the largest number of inputs. In order to get a stable critical signal transition, we change the gate that has the largest number of inputs to the SLG in each pipeline stage. The examples are shown in stage1 and stage2 in Fig. 8. The signal transition on the output of the SLG will always be the slowest one on the outputs of the pipeline stage. The reasons are as follows: • The SLG has the largest inputs compared with other logic gates in each pipeline stage. • There is only one path activated and the path always

has constant stack at the sequential position in the SLG. • Other logic gates have smaller, or same, number of inputs and might have parallel paths activated together in the pull-down network. The above analysis of the critical signal transition is based on an assumption that all logic gates in each pipeline stage evaluate at the same time. It is very difficult to satisfy this assumption in practical design. If logic gates in each pipeline stage evaluate at different time, the signal transition on the output of the SLG might not be the critical one any more. In order to avoid this problem, SLGLs are used to make sure that every SLG or SLGL in each pipeline stage is the last one to start evaluation. The solution is shown, as examples, in stage3 and stage4 in Fig. 8. If two SLGs in adjacent pipeline stages are not connected with each other, we cannot guarantee that the output of the SLG in the subsequent stage has the critical signal transition because it might evaluate earlier with quick arrived inputs than other gates. In this situation, the SLGL would replace the SLG in the subsequent stage. For example, the SLGs in stage2 and stage3 are not connected with each other. Then, the SLG in stage3 is changed to the SLGL and the output of the SLG in stage2 connects to the enable port of the SLGL. Because the SLGL synchronizes its inputs, it cannot start evaluation without the presents of the critical signal transition from the previous pipeline stage. As a result, the SLGL in stage3 will be the last gate start evaluation, which guarantees the signal transition on the output of the SLGL is the critical one. The same structure is also shown from stage3 to stage4. 3.3.2 Robustness of the Critical Datapath

Fig. 7 Synchronizing AND gate with a latch function and the table of latch states.

Fig. 8

We first theoretically analysis the robustness of the constructed critical datapath by using the method of logical effort [15]. Then, we discuss how to further increase the robustness of the constructed critical datapath in practical design with delay variations. First of all, we simply introduce the method of logical effort. The method of logical effort is an easy way to estimate delay in a CMOS circuit. In the method, modeling delay of a logic gate isolates the effects of a particular fab-

Structure of asynchronous pipeline based on a constructed critical datapath.

XIA et al.: DESIGN OF HIGH-PERFORMANCE ASYNCHRONOUS PIPELINE USING SYNCHRONIZING LOGIC GATES

rication 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 the load on the gate’s output, called the effort delay f . The total delay is the sum of the effort and parasitic delays: d= f+p

(3)

The 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. The effort delay of the logic gate is the product of these two factors: f = gh

(4)

The electrical effort is defined by: Cout h= Cin

(5)

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. Electronic effort is also called f anout by many CMOS designer. According to Eqs. (3), (4) and (5), we get the delay of a logic gate: d=g

Cout +p Cin

(6)

From the viewpoint of the logic gate itself, an SLG has more complicated topology than the normal gate in the pulldown network. It slightly increases the parasitic delay p and the logical effect g, which would increase the delay of the gate according to Eq. (6). From the viewpoint of the structure, the output of SLG is connected to a static NOR gate and the SLG or the enable port of SLGL in the next stage. Compared with the outputs of other logic gates, an SLG has larger fanout, Cout , which also slightly increases the delay of the gate. Therefore, SLGs and SLGLs normally has larger delay than conventional dual-rail dynamic logic even they have same number of inputs. These imposed delays increase the robustness of the constructed critical datapath. In practical design, the robustness of the constructed critical datapath is affected by delay variations, which should be seriously considered. As a matter of fact, it is an essential problem in VLSI circuit design. Same as the robustness of a clock signal in synchronous design and the robustness of a match delay line in bundled-data asynchronous design (single-rail design) [8]. As we all know, these designs all suffer from delay variations. In order to resist the influence of delay variations, 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

1439

worst case delay in combinational logic block. Same like these solutions, the delay variations problem in APCCD can be solved by enlarging delay margin on the constructed critical datapath. We supply four measures to enlarge the delay margin, which are listed as follows: • Enlarge the delays of SLGs and SLGLs by changing their transistor size. • The constructed critical datapath is given a low priority in circuit layout. • Delay elements can be added on the critical datapath to get additional margin. • The delays of non-critical datapaths are minimized as small as possible. Depends on the requirements in practical design, one measure or multiple measures can be applied to protect the constructed critical datapath from delay variations. 3.3.3 Extension to More Complex Structures The previous sections just analyzed the linear structure of APCCD. For more complex datapaths design, forks and joins are needed [8]. Figure 9 shows fork structure and join structure in APCCD. According to the features of these two structures, the delay variation problems on the datapaths and on acknowledge signal networks are also respectively discussed from the viewpoint of handshake structure. Figure 9(a) shows fork structure. In fork structure, the outputs of function block A are split to connect with function block B and C, which requires a C-element to collect the acknowledge signals from all successors of A. The construction of the critical datapath in fork structure is similar to that of described in the linear structure. The problem in fork structure is that the datapaths from

Fig. 9

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

IEICE TRANS. ELECTRON., VOL.E95–C, NO.8 AUGUST 2012

1440

function block A to function block B and C are more complex than the linear structure. Delay variations problem would be serious, and it would affect the correctness of the critical datapaths at the inputs of B and C. Besides the introduced measures to resist the influence of delay variation in previous section, we will analyze the robustness from the viewpoint of the handshake structure. The malfunction of pipeline happens only 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: T prc = T NOR + TC + T buffer

(7)

where T NOR , TC and T buffer are delay time of a static NOR gate, a C-element and the buffer gate. Therefore, the margin time is that: T margin = T prc = T NOR + TC + T buffer

(8)

If the delay variations on the datapaths are smaller than T margin , no malfunction would happen. Figure 9(b) shows join structure. 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 datapaths from function block A and B need to simultaneously connect to an SLG or an SLGL. This design process is also similar to that of described in the linear structure. The output of the SLG or the SLGL would be the critical datapath in the output of function block C. The problem in join structure is that the acknowledge signal networks at function block B and C are more complex than the linear structure. It would cause large delay variations. In this situation, the malfunction of pipeline would happens only 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: T prc = T NOR + T buffer

(9)

According to the handshake protocol of APCCD, the time for C to enter the next evaluation phase is that: T nextEval = 2T Eval + 2T NOR + 2T buffer

(10)

where T Eval is the evaluation time for a function block. Therefore, the margin time is that: T margin = T nextEval − T prc = 2T Eval + T NOR + T buffer (11) If the delay variations on the acknowledge signal networks are smaller than T margin , no malfunction would happen. 4.

Evaluation

Conventional dual-rail dynamic asynchronous pipelines use a full completion detector which has a large overhead. They are unpractical in fine-grain pipelined large function block

Table 3

The performance of different bits completion detectors.

design. So far as we know, bundled-data asynchronous design is popular in such situation. However, APCCD greatly reduces the overhead of completion detector, which is applicable in fine-grain pipelined large function block design. Therefore, the evaluations of APCCD are separated into two parts. One is the comparison with conventional dual-rail dynamic asynchronous pipelines. 4-bit wide FIFO is chosen as the test case, which is used to show the advantages of APCCD compared to PS0 and LP2/2. Another is the comparison to the classic synchronous design and the bundleddata asynchronous design. 8 × 8 array style multiplier is chosen as the test case, which is used to show the advantages of APCCD to design a fine-grain pipelined large function block. All evaluation results are simulated by HSPICE in a 65 nm design technology. A chip has been fabricated with a 4 × 4 multiplier function. 4.1 Comparison with PS0 and LP2/2 Table 3 shows the performance of different bits detectors. The transistor count, delay and power consumption of the completion detector dramatically increase with the input bits, which makes the conventional dual-rail dynamic asynchronous pipelines unpractical in the design of a fine-grain pipelined function block with wide datapath. For example, the width of the datapath in an 8 × 8 array style multiplier is between 16 bits and 62 bits. No matter full completion detectors or many split small completion detectors are used to design a fine-grain pipelined multiplier, the overhead of the completion detector would be huge. Therefore, 4-bit wide FIFOs with 10 stages is chosen as a simple test case to show the advantages of APCCD compared to PS0 and LP2/2. The evaluation results are shown in Table 4. We use two new terms of APCCD PS0 and APCCD LP2/2 in this comparison, APCCD PS0 represents the APCCD based on the structure and protocol of PS0 pipeline. APCCD LP2/2 is defined in the same way. Equation (1) shows the pipeline cycle time of PS0 pipeline. tCD is the delay time of a static NOR gate and a tree of C-element, which is much larger than tEval , the evaluation time of a dual-rail dynamic gate. Therefore, the delay of the completion detector, tCD , has large proportion of the pipeline cycle time. In APCCD PS0, tCD is reduced to the delay time of a static NOR gate, which greatly improves the pipeline cycle time. Although the evaluation time of SLG or SLGL in a pipeline stage is slightly slower than other gates, it does not increase tEval a lot. The evaluation results show

XIA et al.: DESIGN OF HIGH-PERFORMANCE ASYNCHRONOUS PIPELINE USING SYNCHRONIZING LOGIC GATES

Table 4

1441

Evaluation results of 4-bit wide FIFOs.

Table 5 Comparison of APCCD to synchronous pipeline and bundleddata asynchronous pipeline.

Fig. 10 The performance of power consumption (8 × 8 multiplier, 2.86G data-set/s).

Fig. 11

that APCCD PS0 increases the throughput by 120% and decreases the power consumption by 54% compared to PS0. On the other hand, APCCD LP2/2 improves the throughput by 17.7% and power consumption by 33.2% compared to LP2/2. However, APCCD LP2/2 does not get more benefits than APCCD PS0 though LP2/2 has much higher throughput than PS0. Conventional LP2/2 improves the performance of throughput by adding extra control circuit to avoid a complete detection and an evaluation compared to PS0. It is reasonable when the delay time of a completion detector is large. However, the completion detector in APCCD is simplified to a single static NOR gate whose delay is much small. In this situation, the additional control circuit in LP2/2 becomes an obstacle to increase the throughput. Moreover, it also consumes some power. Therefore, the throughput and power consumption of APCCD PS0 are 20.3% higher and 31.1% lower than APCCD LP2/2. 4.2 Comparison to Synchronous Pipeline and BundledData Asynchronous Pipeline In order to further show the benefits of APCCD, which is named as APCCD PS0 in previous section, we choose array style multiplier as a test case to compare to synchronous pipeline and bundled-data asynchronous pipeline. 8 × 8 multipliers are respectively fine-grain pipelined using these three design methods. Synchronous pipeline with a sequential clock-gating [17]–[19] is also designed to compare to APCCD. Table 5 shows the comparison results. Because dynamic logic in APCCD provides an implicit latch function, storage elements are all removed which respec-

Definition of workload.

tively saves 278 flip-flops and 791 latches compared to synchronous pipeline and bundled-data asynchronous pipeline. At the same time, APCCD respectively improves the forward latency by 66.2% and by 68.6%. Synchronous pipeline with clock-gating design need extra flip-flops to implement the clock gating control circuit, which slightly deteriorates throughput and forward latency. Figure 10 shows the performance of power consumption when all pipelined circuits work at 2.86G data-set/s. The workload refers to the rate of the number of activestate cycles to the total number of cycles. In our case, the workload is calculated based on a period of consecutive data injection cycles (active-state cycles) following consecutive empty cycles, which is shown in Fig. 11. The workload is calculated as N/(N + M), where N is the number of consecutive data injection cycles and M is the number of consecutive empty cycles. Previous works [2], [6], [7] all mention that bundled-data asynchronous design shows better power performance than their synchronous counterparts. The evaluation results show that, APCCD even has better power performance than its bundled-data asynchronous counterpart. When the workload of circuit is lower than 55%, the bundled-data asynchronous pipeline shows its better performance than synchronous pipeline. However, APCCD saves up to 37.9% of power at the same situation. When the circuit works at peak speed, APCCD still saves 15.1% of power compared to synchronous pipeline. On the other hand, synchronous pipeline with sequential clock-gating design reduces the clock power a lot when the workload is low. But APCCD still saves up to 16.5% of power compared to it. Figure 12 shows the fabricated chip with a 4 × 4 multiplier function. Table 6 shows features of the fabricated chip.

IEICE TRANS. ELECTRON., VOL.E95–C, NO.8 AUGUST 2012

1442

Every output data-set is triggered by an ack signal from the receiver. When the supply voltage is changed from 1.2 V to 0.75 V, all computation results have been verified to be correct. To a certain degree, it demonstrates the robustness of APCCD. The simulation results show that the post-layout multiplier works well at 2.16 GHz. 5.

Fig. 12

Photo of the fabricated chip (4 × 4 multiplier). Table 6

Features of the fabricated chip.

Conclusions

We proposed a novel design method for dual-rail dynamic asynchronous pipeline that is realized based on a constructed critical datapath. The design method greatly reduces the overhead of handshake control logic, which not only increases the throughput but also decreases the power consumption. The evaluation results show that the proposed design has benefits compared with conventional design and is even comparable to classic synchronous pipeline. In addition, sub-critical datapaths in APCCD do not have to use dual-rail logic because the handshake circuit does not detect them. If single-rail logic is applied to replace these dual-rail logics, the overhead of logic gates would be further reduced, which would has much better performance of power consumption. It will be done in the future work. Acknowledgment This work is supported by VLSI Design and Education Center (VDEC), the University of Tokyo in collaboration with STARC, e-Shuttle Inc., Fujitsu Ltd., Cadence Design Systems Inc., Synopsys Inc. and Mentor Graphics Inc. References

Fig. 13

A waveform result of the fabricated 4 × 4 multiplier.

In order to reduce the influences of delay variations in practical design, we took three measures. First, we managed to make the critical datapath has longest routing wire by reducing its routing priority. Second, we slightly reduced the transistor size in SLGs and SLGLs to increase their delay times. Third, we added some delay elements at the dangerous corner to enhance the robustness of the critical datapath. As a result, the fabricated chip works correctly. Figure 13 shows a waveform result of the fabricated 4x4 multiplier. The inputs are defined as [a3, a2, a1, a0] and [b3, b2, b1, b0]. The outputs are defined as [(t0, f 0), (t1, f 1), (t2, f 2), ..., (t7, f 7)]. Figure 13 just shows the multiply computation result of 0001×0011 = 00000011 and part of the waveform. It shows that inputs a0, b0 and b1 are high signal and all other inputs are low signal. Outputs (t0, f 0) and (t1, f 1) are data1 signal, (1, 0), and all other outputs are data0 signal, (0,1).

[1] B.H. Calhoun, Y. Cao, X. Li, K. Mai, L.T. Pileggi, and R.A. Rutenbar, “Digital circuit design challenges and opportunities in the era of nanoscale CMOS,” Proc. IEEE, vol.96, no.2, pp.343–365, Feb. 2008. [2] C.H. Van Berkel, M.B. Josephs, and S.M. Nowick, “Applications of asynchronous circuits,” Proc. IEEE, vol.87, no.2, pp.223–233, 1999. [3] M. Krstic, E. Grass, F.K. Gurkaynak, and P. Vivet, “Globally asynchronous, locally synchronous circuits: Overview and outlook,” IEEE, Design and Test of Computers, vol.24, no.5, pp.430–441, 2007. [4] Y.W. Li, G. Patounakis, A. Jose, K.L. Shepard, and S.M. Nowick, “Asynchronous datapath with software-controlled on-chip adaptive voltage scaling for multirate signal processing application,” Proc. International Symposium on Advanced Research in Asynchronous Circuits and Systems, pp.216–225, 2003. [5] S. Ishihara, Z. Xia, M. Hariyama, and M. Kameyama, “Evaluation of a self-adaptive voltage control scheme for low-power FPGAs,” J. Semiconductor Technology and Science (JSTS), vol.10, no.3, pp.165–175, 2010. [6] H. van Gageldonk, K. van Berkel, A. Peeters, D. Baumann, D. Gloor, and G. Stegmann, “An asynchronous low-power 80c51 microcontroller,” Proc. International Symposium on Advanced Research in Asynchronous Circuits and Systems, pp.96–107, 1998. [7] S. Rotem, K. Stevens, R. Ginosar, P. Beerel, C. Myers, K. Yun, R. Kol, C. Dike, M. Roncken, and B. Agapiev, “RAPPID: An asynchronous instruction length decoder,” Proc. International Symposium on Advanced Research in Asynchronous Circuits and Systems, pp.60–70, 1999.

XIA et al.: DESIGN OF HIGH-PERFORMANCE ASYNCHRONOUS PIPELINE USING SYNCHRONIZING LOGIC GATES

[8] J. Sparsø and S. Furber, Principles of Asynchronous Circuit Design: A Systems Perspective. Kluwer Academic Publishers, 2001. [9] T.E. Williams, Self-timed rings and their application to division, PhD thesis, Stanford University, June 1991. [10] M. Renaudin, B.E. Hassan, and A. Guyot, “A new asynchronous pipeline scheme: Application to the design of a self-timed ring divider,” IEEE J. Solid-State Circuits, vol.31, no.7, pp.1001–1013, 1996. [11] G. Matsubara and N. Ide, “A low power zero-overhead self-timed division and square root unit combining a single-rail static circuit with a dual-rail dynamic circuit,” Proc. International Symposium on Advanced Research in Asynchronous Circuits and Systems, pp.198– 209, 1997. [12] M. Singh and S.M. Nowick, “The design of high-performance dynamic asynchronous pipelines: Lookahead style,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol.15, no.11, pp.1256–1269, Sept. 2007. [13] M. Hariyama, S. Ishihara, and M. Kameyama, “Evaluation of a fieldprogrammable VLSI based on an asynchronous bit-serial architecture,” IEICE Trans. Electron., vol.E91-C, no.9, pp.1419–1426, Sept. 2008. [14] Z. Xia, S. Ishihara, M, Hariyama, and M. Kameyama, “Synchronising logic gates for wave-pipelining design,” Electron. Lett., vol.46, no.16, pp.1116–1117, Aug. 2010. [15] I. Sutherland, B. Sproull, and D. Harris, Logical Effort: Designing Fast CMOS Circuits, Morgan Kaufmann, San Mateo, CA, 1999. [16] A.M.G. Peeters, Single-rail handshake circuits, Ph.D. dissertation, Dep. Math. Comput. Sci., Eindhoven Univ. Technol., Eindhoven, The Netherlands, 1999. [17] S. Ahuja and S. Shukla, “MCBCG: Model checking based sequential clock-gating,” High Level Design Validation and Test Workshop, pp.20–25, 2009. [18] L. Li, W. Wang, K. Choi, S. Park, and M.-K. Chung, “SeSCG: Selective sequential clock gating for ultra-low-power multimedia processor design,” Electro/Information Technology (EIT), pp.1–6, 2010. [19] S. Jairam, R. Madhusudan, S. Jithendra, V. Parimala, H. Udayakumar, and R. Jagdish, “Clock gating for power optimization in ASIC,” www.islped.org/X2008/Jairam.pdf

Zhengfan Xia received the B.E. degree in Electronic and Information Engineering from China University of Geosciences, Beijing, China, in 2008, and the M.S. degree in Information Science from Tohoku University, Sendai, Japan, in 2011. He is currently working toward the Ph.D. degree in Graduate School of Information Sciences, Tohoku University. His primary research interest is in the area of asynchronous architecture.

Shota Ishihara received the B.S. degree in Information Engineering, the M.S. degree in information sciences, and the Ph.D. degree in information sciences from Tohoku University, Sendai, Japan, in 2007, 2009 and 2012, respectively. He is currently working at Murata Manufacturing Co., Ltd. His research interests include reconfigurable VLSIs, asynchronous architectures, nonvolatile logic-in-memory circuit technologies, and RF modules. Dr. Ishihara received the Yasujiro Niwa Outstanding Paper Award in 2012.

1443

Masanori Hariyama received the B.E. degree in Electronic Engineering, M.S. degree in Information Sciences, and Ph.D. in Information Sciences from Tohoku University, Sendai, Japan, in 1992, 1994, and 1997, respectively. He is currently an associate professor in Graduate School of Information Sciences, Tohoku University. His research interests include VLSI computing for real-world application such as robots, high-level design methodology for VLSIs and reconfigurable computing.

Michitaka Kameyama received the B.E., M.E. and D.E. degrees in Electronic Engineering from Tohoku University, Sendai, Japan, in 1973, 1975, and 1978, respectively. He is currently Dean and a Professor in the Graduate School of Information Sciences, Tohoku University. His general research interests are intelligent integrated systems for real-world applications and robotics, advanced VLSI architecture, and new-concept VLSI including multiplevalued VLSI computing. Dr. Kameyama received the Outstanding Paper Awards at the 1984, 1985, 1987 and 1989 IEEE International Symposiums on Multiple-Valued Logic, the Technically Excellent Award from the Society of Instrument and Control Engineers of Japan in 1986, the Outstanding Transactions Paper Award from the IEICE in 1989, the Technically Excellent Award from the Robotics Society of Japan in 1990, and the Special Award at the 9th LSI Design of the Year in 2002. Dr. Kameyama is an IEEE Fellow.