杨延飞 杨银堂 朱樟明 周 端
①(西安电子科技大学微电子研究所 西安 710071)
②(西安电子科技大学计算机学院 西安 710071)
随着集成电路工艺的发展,传统的同步电路设计面临由全局时钟引起的一系列设计问题[1]。由于异步电路采用握手协议代替时钟信号,避免了全局时钟引起的各种问题,因而成为设计者新的选择[2]。异步流水线是建立高速异步系统的主要技术之一,其中零协议逻辑(NULL Convention Logic, NCL)流水线[3]因延时不敏感特性、设计简单等特点被广泛应用设计各种运算电路[4,5]。但是传统的 NCL流水线每个数据周期内有效数据(DATA)和空(NULL)信号交替输入,导致流水线吞吐量大幅下降。现有多种技术优化NCL流水线,文献[6]采用提前完备检测技术提升吞吐量;文献[7,8]主要优化流水线静态功耗;文献[9]以较大的面积代价提升流水线性能。文献[10,11]的设计方法则适合应用于延时最长的一级流水线,进而提升整个流水线的吞吐量。
本文提出一种基于串并结合工作方式的 NCL流水线。采用独特的多阈值半静态 NCL(Multi-Threshold Semi-static NCL, MTSNCL )阈值门建立异步组合逻辑,以实现流水线级内并行、级间串行的工作方式,有效地提升流水线性能。
图1所示为本文提出的MTSNCL阈值门结构,以 TH23门为例。图中圆形星状线标注的晶体管为高阈值晶体管,由sl(sleep, 休眠信号)及其反向信号所控制,该信号由流水线内部产生。当sl为0时,T2和T3导通而T1 和T4关断,执行传统TH23门的逻辑功能。反之,当sl为1时,T1和T4导通而T2 和T3关断,阈值门进入休眠模式且输出dout为 0。此时,阈值门中的上拉链和下拉链均被高阈值晶体管短路,GND和VDD之间为漏电流很小的高阈值晶体管,有效地减小了阈值门的静态功耗。由于在休眠模式下,电路中的高阈值晶体管同时具有保持功能。因此图中阈值门不包含状态保持模块也可正常工作。
图2所示为本文提出的NCL流水线,图中每级流水线由MTSNCL组合逻辑、NCL寄存器、完备检测及休眠信号产生电路组成。以第N级流水线为例,休眠信号产生电路的输入信号(Zt_0)n和(Zt_1)n是经过第N级流水线组合逻辑和寄存器的延时最长的一位双轨数据。当(Zt_0)n和(Zt_1)n中有一位为1时,输出Zn为1,表示本级组合逻辑输出的所有数据已经正确存储;当(Zt_0)n和(Zt_1)n均为0时表示本级组合逻辑和寄存器复位完毕且输出空。该模块的另一输入信号Dn来自本级完备检测模块,Dn为 1,表示本级输入的所有有效数据已正确接收,为0表示本级输入均为零。由图2可看出,只有在Dn和Zn均为1时,输出sl才为1,即本级组合逻辑的复位只有在输入数据正确接收且输出数据正确存储后才会启动,而只要输入或输出复位完毕,组合逻辑就会立刻进入工作状态。
本文流水线的工作原理为:数据输入第N级流水线后,完备检测和数据处理并行进行,sl信号和应答信号 ko的产生依赖于完备检测和数据处理时间较长者。若完备检测的时间较长,那么 sl和 ko将在完备检测完成后产生。反之,若数据处理时间较长,那么sl和ko将在数据被完整存储后产生,以确保数据的正确处理。当数据处理完毕后,sl为1,进行本级组合逻辑和输出寄存器的复位,本级输出为零。同时ko为0,通知前级寄存器数据存储完成,可输出NULL信号。
图3所示为第N级流水线的完备检测电路,由标准完备检测电路和反向TH22门组成。标准完备检测电路在检测本级输入正确性的同时保证前级输出的完备性。只有当所有的输入数据都正确接收后,输出Dn才为1。输入Zn由休眠信号产生电路输出,Zn为1时,表示本级寄存器已完成数据的存储。本级应答信号ko由反向TH22门输出。当Zn和Dn均为1时,本级流水线完成数据处理和存储,此时 ko为0,通知前级可以开始空周期的处理。当Zn和Dn均为0时,ko为1,本级完成复位,并通知前级可以接收新的有效数据。与标准流水线不同的是,本文流水线中本级输出数据的完备性是由下一级完备检测电路保证的。
图1 多阈值TH23逻辑门
图2 多阈值并行完备流水线
图4所示为本文流水线的握手时序图,以第N级为例。图中dinN和doutN分别表示第N级流水线的输入和输出数据。初始化后应答信号 koN为高电平,等待有效数据的输入。当数据输入后,完备检测和组合逻辑运算并行进行,而slN必须在数据计算完成并有效存储,同时本级完备检测结束后才输出为高电平。如图中所示,在DN和ZN均为高电平后才引起slN有效,电路进入低功耗的空状态。由时序图中可看出,组合逻辑的复位是由slN控制,而电路进入空周期则是由应答信号koN引起的。
数据到数据周期时间(DATA-to-DATA cycle time)TDD是表征NCL流水线性能的一个重要参数,
图3 完备检测电路(第N级)
图4 本文流水线握手时序图(第N级)
定义为每级流水线从当前有效数据输入到下一次有效数据输入的时间。由于标准NCL流水线中信号总是依次经过组合逻辑、存储单元和完备检测。假设每级流水线组合逻辑和完备检测时间相同,则其周期时间为
式(1)中TDATAi+th22和TNULLi+th22分别表示 DATA和NULL信号经过第i级组合逻辑和寄存器的时间,TCDDi和TCDNi分别为DATA和NULL信号经过第i级完备检测电路的时间。相比较于标准流水线的串行工作方式,本文流水线中信号的处理和存储与信号的完备检测是并行进行的。若采用相同的参数表述,由图4可知本文提出的流水线周期时间为
式(2)中所相加的时间项个数少于式(1),表明本文设计的流水线在传输数据时不再依次串行通过每个功能块,每级流水线内采用并行工作方式,提升了吞吐量。
基于 SMIC 0.18 μm 标准 CMOS工艺,采用Cadence Spectre对本文流水线仿真验证,电源电压为1.8 V。流水线组合逻辑使用一位NCL全加器,级数为4级,图5所示为部分仿真波形。图中Zt0_0和Zt0_1为信号经过第1级流水线组合逻辑和寄存器延时最长的一位双轨输出,Z0_0和Z0_1为流水线最终输出的首位双轨数据。Z1为Zt0_0和Zt0_1两信号或操作后的输出,D1则为第1级流水线完备检测模块中标准完备检测电路的输出。初始化后应答信号 ko1为 1,请求输入数据。数据进入组合逻辑的同时开始完备检测,D1为1时表示数据正确输入。当Z1为1时表示首级流水线计算并存储完毕,此时sl1为1,开始本级组合逻辑和寄存器的复位。在D1和Z1均为1后ko1为0,通知前级可输入NULL信号。由波形图可看出,本文流水线信号的处理、存储与信号的完备检测是并行进行的。
图5 部分仿真波形图(4级)
基于相同的测试平台,分别对文献[12]中的标准流水线、文献[9]提出的流水线和本文的流水线进行了仿真比较。测试时采用 NCL串行进位全加器(Ripple full-Adder, RA)作为组合逻辑。表1给出了基于不同位宽RA下3种流水线的周期及吞吐量。由于异步电路的性能取决于平均性能[10],测试时各流水线的TDD为不同输入向量下的平均值。由表 1可看出,随着RA位数增加,本文流水线吞吐量提升率越高。由于RA位数增加,每级流水线的组合逻辑延时和完备检测时间均增加。对比2.3节式(1)和式(2)可知,随着延时的增加,本文提出的流水线吞吐量提升越高。当组合逻辑为4位RA时,相比较于文献[9]和标准流水线,吞吐量分别提升了45.6% 和62.8%。
图6所示为不同位宽RA下3种流水线的静态功耗和面积比较,图 6(a)为不同级数下流水线的静态功耗,图6(b)为相应的面积。由图6可看出,文献[9]的流水线静态功耗最小,但面积最大。由于该流水线采用静态实现方式,相比于半静态NCL门,静态NCL门具有更小的静态功耗,但是设计复杂且面积较大。因此静态功耗虽然显著减小,却需要更大的面积和动态功耗。而本文流水线采用MTSNCL逻辑,降低静态功耗的同时面积和动态功耗代价较小。由图中可看出,当4级流水线的组合逻辑为 4位RA时,相比较于标准NCL流水线,本文流水线的静态功耗减小了40.5%,而面积仅增加了9.3%。
图6 流水线静态功耗和面积比较
表1 流水线性能比较
本文提出了一种并行完备异步流水线。首先给出流水线所需的NCL阈值门,采用新阈值门建立异步组合逻辑,使每级流水线的数据处理和完备检测并行进行,实现流水线级内并行、级间串行的工作方式。这种串并结合的工作方式在有效缩短流水线周期,提升吞吐量的同时,降低了流水线空周期时的静态功耗。实验比较结果显示,本文流水线具有周期短,吞吐量高,静态功耗低的特点,适用于纳米工艺下高速异步NCL流水线系统设计。
[1]Rajaram A and Pan D Z. Robust chip-level clock tree synthesis[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2011, 30(6): 877-890.
[2]彭瑶, 周端, 杨银堂, 等. 一种高速延时无关片上异步转同步通信接口的设计[J]. 电子与信息学报, 2011, 33(4): 938-944.
Peng Y, Zhou D, Yang Y T,et al..A novel high-speed delay-independent asynchronous to synchronous communication interface[J].Journal of Electronics&Information Technology, 2011, 33(4): 938-944.
[3]Fant K M and Brandt S A. NULL convention logic: a complete and consistent logic for asynchronous digital circuit synthesis[C]. Proceedings of International Conference on Application Specific Systems, Architectures and Processors,Chicago, IL, 1996: 261-273.
[4]Sankar R, Kadiyala V, Bonam R,et al.. Implementation of static and semi-static versions of a bit-wise pipelined dual-rail NCL 2s complement multiplier[C]. 2007 IEEE Region 5 Technical Conference, Fayetteville, Arkansas, 2007: 59-64.
[5]Mallepalli S R, Kakarla S, Burugapalli S,et al..Implementation of static and semi-static versions of a 24+8×8 quad-rail NULL convention multiply and accumulate Unit[C]. 2007 IEEE Region 5 Technical Conference, Fayetteville, Arkansas, 2007: 53-58.
[6]Smith S C. Speedup of self-timed digital systems using early completion[C]. IEEE Computer Society Annual Symposium on VLSI, Pittsburgh, PA, 2002: 98-104.
[7]Bailey A D, Jia Di, Smith S C,et al.. Ultra-low power delay-insensitive circuit design[C]. The 51st Midwest Symposium on Circuits and Systems, Knoxville, TN, 2008:503-506.
[8]Bailey A D, Al Zahrani A, Fu G Y,et al.. Multi-threshold asynchronous circuit design for ultra-low power[J].Journal of Low Power Electronics,2008, 4(3): 337-348.
[9]Al Zahrani A, Bailey A D, Fu G Y,et al.. Glitch-free design for multi-threshold CMOS NCL circuits[C]. Proceedings of the ACM Great Lakes Symposium on VLSI, Boston Area,MA, 2009: 215-220.
[10]Smith S C. Speedup of NULL convention digital circuits using NULL cycle reduction[J].Journal of System Architecture, 2006, 52(7): 411-422.
[11]Guan X G, Zhou D, and Yang Y T. Optimization design of a full asynchronous pipeline circuit based on null convention logic[J].Journal of Semiconductors, 2009, 30(7): 075010-6.
[12]Kakarla S and Al Assadi W K. Testing of asynchronous NULL conventional logic (NCL) circuits[C]. 2008 IEEE Region 5 Conference, Kansas City, MO, 2008: 1-6.