高速环形FIFO的设计 高速环形FIFO的设计

高速环形FIFO的设计

  • 期刊名字:计算机辅助设计与图形学学报
  • 文件大小:597kb
  • 论文作者:彭瑶,周端,杨银堂,朱樟明
  • 作者单位:西安电子科技大学微电子研究所,西安电子科技大学计算机学院
  • 更新时间:2020-10-30
  • 下载次数:
论文简介

第23卷第3期计算机辅助设计与图形学学报Vol. 23 No. 32011 年3月Journal of Computer -Aided Design &. Computer GraphicsMar. 2011高速环形FIFO的设计彭瑶”,周端”,杨银堂”,朱樟明”"(西安电子科技大学微电子研究所安710071)2)(西安电子科技大学计算机学院西安 710071)(xyyiei@163. com)摘要:针对全局异步局部同步系统中不同时钟域间的通信问题.提出一种可用于多核片上系统的环形FIFO.采用独特的运行协议和串并结合的数据传输万式以及保证通俏质址的双轨编码方法,设计了一种新颖的FIFO体系结构,使其可支持不同宽度数据的发送和接收,保证数据的完整商速传输.在0. 18 pm标准CMOS工艺下,FIFO的传输延时为681 ps,每响应一-个传输 请求的平均能耗为6. 45 pJ,可满足多核片上系统和片上网络芯片速度高、功耗低、鲁櫸性强和重用性好的设计要求。关键词:高速低功耗;不同时钟域;FIFO;协议;全局异步局部同步中圈法分类号: TN402Design for High-Speed Circular FIFOPeng Yao" , Zhou Duan2 , Yang Yintang” ,and Zhu Zhangming"1)( lnstitute of Microeletronics , Xidian Univerity, Xi'an 710071)2)(School of Computer Science and Technology, Xidian University, Xi'an 710071)Abstract: This paper proposes a novel circular FIFO used in multiprocessor system-on-chip (SoC) forthe data transfer between different time domains in globally asynchronous locally synchronoussystems. With the transmission mode combining both serial and parallel communication, data ofdifferent widths can be sent and received quickly by the circular FIFO handled under special operationprotocol. Meanwhile, the data integrity is ensured during the communication by the two-rail encodingtransfer manner. Based on SMIC 0. 18 μm CMOS technology , simulation results have shown that thedelay is 681ps with the average energy consumption of 6.45 pJ for one transfer request responded,which can meet the requirements of high speed, low power, strong robustness and good reusability inthe design of multiprocessor SoC and network-on-chip.Key words: high-speed low power; different time domains; FIFO; protocol; globally asynchronouslocally synchronous随着芯片集成度的不断增加,单一时钟信号产设计高速、低功耗"超大规模集成电路片上系统[2],生的功耗越来越高,将它分配到整个芯片的难度也尤其是成为片.上网络104芯片的有效方法.在全局越来越大.全局异步局部同步的设计思想已逐步成为异步局部同步系统( globally asynchronous locally收稿日期:2010 07-27;修回 日期:2010-11 26. 基金项目:国家自然科学基金(60725415.60971066);国家“八六三”高技术研究发餍计划(090A012258 20A01220)0"宽带腺半超导体”国家重点实验室基金(ZHD中国煤化工生,主要研究方向为IP核设计.VLSI设计:周端(1957-).女.博士.教授、硕士生导师,主要研究方向YHFi银堂(1962- -).男.博士.教授.博士生导师.主要研究方向为深亚微米模拟集成电路及IP核设计.VLSCN M H G1978- -).男,博士,教 .授.硕士生导师,主要研究方向为高性能SocC/NoC体系结构设计.第3期彭瑶,等;高速环形 FIFO的设计489synchronous, GALS)中,不同时钟域间的通信是其管,让FIFO的体系结构建立在传输控制逻辑和数设计的重点和难点.据传输通道分离.数据同步化模块和读/写指针分离FIFO是实现不同时钟域间数据通信的主要方的基础上,使得本文设计的FIFO支持串并结合的式[s7],通常选掸的设计方法有应用仲裁机制、采用数据传输方式和不同宽度的数据传输模式,满足不可停时钟和应用Gasp(或asp" )协议等. Cummings同传输可靠性的要求;最小传输时延为3个锁存器SUNG公司[8]提出的FIFO利用仲裁机制和格雷码延时,提高了数据传输效率,增强了FIFO 的可重用转换器实现,由发送端和接收端的计数器分别产生性,避免了传输亚稳态,实现了不同时钟域间数据的读/写指针,并在数据传输过程中,通过比较读/写指完整高速传输.针控制数据的传输.虽然后续研究得出一系列优化方案[°] ,但都是使用多个功能块集成的方法实现,设FIFO的体系结构和协议计复杂度高. Apperson等(10] 将Cummings SUNG设计的FIFO和可停时钟相结合,停止时钟易使依环形体系结构的FIFO解决了多核系统中不同赖时钟进行数据刷新的RAM中数据丢失,且多核时钟域间的通信问题,使读/写操作并行,数据遵从芯片中-一个核的时钟停止后,当此核的时钟信号被释先人先出的顺序.由于收发双方的工作频率不同可放时需要重新对其他核传人的数据采样,容易出错. .能引起数据传输亚稳态,本文设计中着重考虑了这文献[11-13]应用Gasp(或asp" )协议实现FIFO,一问题.由特别的模块产生FIFO的读/写信号控制FIFO的1.1环形 FIFO体系结构读写.但该类方法使用捆绑数据的Gasp协议,要求图1所示为环形FIFO的体系结构示意图,其传输控制信号必须严格满足数据传输通道的时序约中,读/写指针从FIFO的左侧逐次向右移动,指示束,当数据传输通道改变时,还需根据改变后的延时FIFO单元的读/写状态;FIFO单元分为传输控制模重新设计传输控制逻辑;且无法在设计中使用标准块和数据传输通道2部分,控制模块通过与发送端单元,设计复杂,可移植性差.通过以上方法设计的和接收端握手发出读/写指令到数据传输通道,以控FIFO传输数据时,数据串行贯穿FIFO所有的存储制数据的存储和输出,并发出空/满信号到接收端和单元后输出,传输延时大、功耗高.这些问题限制了GALS技术的发展和应用.发送端控制数据的接收和发送. FIFO工作时,数据本文提出一种可应用标准单元进行设计的环形先经过各级FIFO单元间的并行数据传输通道,而FIFO.通过采用独特的运行协议和传输编码方式,后串行输出到接收端,从左边的数据传输通道开始令FIFO的正确运行由FIFO级与级之间、级内的传输,随着读/写指针的右移依次使用右边的数据传传输控制模块和数据传输通道之间的2种握手监输通道,使用的传输通道轨迹呈环形.数据输入写入读写控制读二通道读出敷据输出图1环形FIFO体系结构1.2 FIFO 的读/写协议为空.本文规定信号高电平有效,当写控制信号wr .环形FIE∩涛/写协议加下.仅在初始时刻,将2为1时,数据传输通道存储数据;读控制信号rd为个值中国煤化工左侧的FIFO单1时,数据输出到接收模块.初始化后,FIFO为空,元,YHCNMHGFIFO环中有且只所有FIFO单元的控制模块输出为0,数据传输通道有一个写指针和一个读指针,它们均顺时针在FIFO490计算机辅助设计与图形学学报第23卷环中传递,传输轨迹为一个圆环. FIFO进行写操作FIFO运行协议使本文的读/写指针直接由电路初始时,写指针指向的单元存储数据,数据存储结束后,化后产生的2个值为“1”的数据token形成,为写指针指向下一级单元;读操作类似写操作.FIFO体系结构中实现的2种握手和指针的传递方此FIFO运行协议除了像传统的FIFO设计一式奠定了基础.图2所示为依读/写协议所绘的读/样通过分别向发送端和接收端发送FIFO_ full与写指针传递图,设环的最顶端位置代表编号为“0”的FIFO_ empty 信号告知整个FIFO的空/满状态,还FIFO单元,按顺时针方向编号.初始时刻to读/写包含了2种握手:- -种是FIFO各个级之间的握手,指针都指向编号为“5”的单元,对“5”进行读/写操它使得读/写指针在FIFO环中顺时针传递;另一种作,如图2a所示;一个读写周期后,to +1时刻对“0”是每一-级的传输通道和传输控制模块之间的握手,进行读/写,如图2b所示.实际中,读/写指针的传递它使FIFO在数据传输时可以在传输通道中适当可能不同步,FIFO传输数据时无需等待FIFO单元地对传输的数据进行编码,以获得更好的传输质量..完成一个读/写周期,本级单元的写操作完成后即可这2种握手使FIFO可以应用串并结合的方式进行应用下一级单元传输新数据,有效地节省了总传输数据传输,加快了FIFO的传输速度.此外,独特的时间.P_wrPL rdPt wrPrdro0Q尚o~ora to时刻的读/写指针b t0o时刻的读/写指针图2 FIFO 环中读/写指针传递示意图1.3 数据传输通道编码其适用性,使FIFO的宽度可变,本文在设计中将为了保证FIFO数据通信的质量,令最低位有FIFO单元分成传输控制模块和数据传输通道2部.效,对最低位数据进行双轨编码,以监测数据传输.分.传输控制模块负责读/写指针的传递和发出读/双轨码4与二进制码的转换关系如表1所示,它是写指令,数据传输通道负责数据的存储和输出.一种传输归零码,用2条传输线(dt,df)代表1 bit2.1FIFO单元的电路实现数据,二者不全为“0”或不全为“1"表示数据有效.使图3所示为传输控制模块示意图,用于控制数用双轨码,既可用异或门确定数据的有效性,又可保据的读写,其中initial为电路初始化信号.为实现不证数据高速稳定传输,其电路将在第2节介绍.同时钟域间的数据传输,本文引入发送端时钟作为FIFO读时钟,接收端时钟为FIFO写时钟.依照读/表1二进制转双轨码的编码表写协议,发送端的发送使能信号en_ put、写指针pt_双轨码数据二进制数据wr_ in 和写时钟信号clk1共同控制数据传输通道dt存储数据,通过将FIFO每一级单元输出的wr_ en信号相“或”,产生空/满信号,告知发送端FIFO的空/满状态.同样,接收端的接收使能信号en_ get.读指针pt_rd_in与读时钟信号clk2控制数据传输通未用道传出数据,FIFO每- -级单元输出的re_ .en 信号相“或”,产生空/满信号,告知接收端FIFO的数据存2FIFO的电路设计和分析储情况中国煤化工YHC N M H G.空/满控制模块FIFO由功能相同的FIFO单元组成,为了增强和接收控制模块3部分组成.发送控制模块通过和第3期彭瑶,等:高速环形 FIFO的设计491发送端握手控制FIFO的写操作,完成不同工作频储,并进行同步化.当单元的读指针pi. rd_ in为高,率下传输数据的同步化,并把FIFO的存储信息告且接收端的接收使能信号en_ .get 为高,读时钟clk2知发送端,以控制发送端发送数据.空/满控制模块升高时,则读信号re升高,它被分别送入数据传输将本级FIFO单元的空/满信息告知发送控制模块通道和空/满控制模块,并允许数据传输通道中存储和接收控制模块;接收控制模块和接收端握手控制的数据输出若此时wr信号不为高,则空/满控制模FIFO的读操作,并对数据进行同步化.初始化后,块中empty信号被激发,告知发送控制模块,数据FIFO为空.当发送端的发送使能信号en_put为高已传出,同时进行同步化.数据传输通道在输出数据时,数据准备好,写时钟clk1升高写指针信号pt_后将产生rack信号,将其返回到发送控制模块和接wr_in有效,写控制信号wr被分别发送到数据传输收控制模块,使发送端可发送新的数据,并传递读指通道和空/满控制模块,数据传输通道存储数据,完针到下一级FIFO单元;同样,接收控制模块传出读成写操作.同时,若re信号不为高,空/满控制模块指针.此FIFO工作方式使得不必等待接收端接收中full 信号升高,则告知接收控制模块数据已存数据即可进行新的传送工作.initialp_wr_outDFFrackY.SYN inital空凹mDyDU .MUTEX,initual_fu吕DFSYN块purdin4pu_rd_out上initislεδ鄂图3传输控制模块数据传输通道实现数据的传输功能.为保证通其中rack信号是应用双轨编码产生的反馈信号.信质量,特别采用了双轨编码的方式检测最低位数这里中国煤化工官,rack信号升高据,如图4所示.以宽度为1字节的传输通道为例,说明IYHCNMHG它被传送到传输wr信号控制数据的存储,re信号控制数据的传输,控制模 块,从而控制FIFO读/写指针的传递;否则,492计算机辅助设计与图形学学报第23卷读/写指针的传输停驻.握手的设计方式减少了对存储通道和控制模块的时序约束,增强了FIFO的传i_--h输稳定性.数据传出后,通过FIFO底端的数据串行em_put传输通路传递到接收端(如图1所示),FIFO的读/写协议使得每级的数据依序输出.串行数据传输通full道只由一组D触发器组成,其个数与数据宽度相同.TL厂气1 latchDFF图6空/满控制模块D| latch当发送端和接收端工作频率不同时,为避免传latch输亚稳态需要进行同步化.本文将同步模块与空/满控制模块分开,,在发送控制模块与接收控制模块中atch- toy rom- rmg pese使用同步器完成同步化,如图3所示.同步器中数据:的同步时间和时钟频率成反比(51,可根据所需的平gtPae均出错时间选择合适的全周期或半周期同步化级来_ | latchJODFFI ret组成,2个D触发器组成最简单的全周期同步器.本. clk2。文的设计使只改变同步化级的个数,不改变FIFO2的体系结构,FIFO即可满足不同可靠性的要求.当图4部分数据传输 通逍同步器级数为K.m时,它与FIFO中单元个数Nme .2.2电路分析之间的关系为Nug≥Km +1.图5所示为发送控制模块的时序.写指针通过一个与门和一个上升沿有效的D触发器置wr为高3仿真结果和分析电平,同时通过一个同样的D触发器向下一级传递写指针,传输时延与D触发器的响应时间和时钟周3.1 FIFO 的性能分析期相关,理论上耗时一个时钟周期;接收控制模块的基于SMIC0.18μm标准CMOS工艺Spice模时序与发送控制模块相似.空/满控制模块的时序描型,在电源电压为1.8V情况下,应用Cadence述如图6所示,由互斥逻辑和与门组成,full与Spectre对本文所设计的通信接口进行仿真验证.emply信号的产生由wr信号与re信号共同决定.1)检验FIFO的数据传输功能.设计一个采用结合图4的数据存储模块,可得出数据从输人到输2级同步器的3级FIFO,对发送端时钟频率和接收出的延时为3个latch时延.端时钟频率不同与相同的情况分别进行了仿真.在同步、快到慢和慢到快3种情况下,FIFO均可实现数据的完整快速传输.由于发送控制模块与发送端tn_pu-通过握手控制数据的发送,当发送频率远高于接收pt_wr_in频率时,FIFO可能被填满, FIFO_ full 信号升高并PL_wr_our告知发送端存储空间已满,发送端暂停发送数据,直到FIFO不满,以有效地防止传输“阻塞”,如图7a所示.相应地,当接收频率远高于发送频率可能发生empry升高,接收端暂停读数中国煤化工图7b所示.本文w_enFIFCYHCNMHG办议,依照协议运.图5发送控制模块行的FIFO读/写指针传递过程如图8所示.第3期彭瑶,等:高速环形 FIFO的设计493Tronrient RerponseTronplent Response; /0882; /dB02_180m18:/0011.9 : /H88...19 FroM..h_.O-1i。 :/60..........: /dcto8,A /eote-100mEL..-mmmnnnnnnnnnn. :_1nnnonnnnnnnncRnnnnnnpnnnnnng.time(o)a快到慢b慢到快图7部分数据传输 波形图3级FIFO和6级FIFO分别进行了仿真. FIFO传输数据的总延时为681 ps,关键路径为696ps.可支息:/pL102持的发送端最大工作频率为1. 75GHz,接收端最大-100m工作频率为1.77GHz. 3级FIFO以数据项为传输单位,获得最大吞吐量为1. 44 GDI/s,在接收端和发送端工作频率为1GHz、接口环形FIFO初始状态为空的前提下,以字节为单位进行传输,接口工作频率为1GHz时,测得平均动态功耗为6. 45 mW,每响应一个传输请求的平均能耗为6.45pJ.仿真得出lmiinnn.nnnnn.nn.6级FIFO的最大吞吐量为2. 13GDI/s,说明可通过增加环形FIFO级数获得更大的吞吐量.3.2与其他 设计的比较本文以深度为3的FIFO为例,与其他FIFO .图8读/写指针传递 的部分波形图实现方法在总延时、吞吐量、数据传输安全性和设计2)测量FIFO的传输延时、关键路径和吞吐量结构等方面进行了比较,结果如表2所示.文献[11]等性能指标.在采用2级全周期同步器的前提下,对中每个FIFO单元的传输周期为440ps,其串行传表2不同FIFO的比较总延时吞吐量传输方式通信质量功耗中设计方式实现思想本文方法681ps1. 44GDI/s串并结合保证0.81mJ标准单元/全定制 环形轮循调度文献[11]≥880 ps<1. I4GH2D申行传输不保证全定制Gasp与可停时钟文献[10],1300 ps0. 77 GDI/s串行传输1.11mJ标准单元/金定制 仲藏与可停时钟注:①由于此设计方法贝能支持单比特数据传输,故单位为GHz.②各个设计传输1G数据所消耗的能量,输最少需要2个FIFO单元,所以最小传输延时为而文献[11]只能以比特为单位进行传输,可移植性880 ps.本文采用串并结合的传输方式,数据从FIFO差. 文戴「12]中思与女献F11相似的方法设计了矩单元中传出即可使用串行通道传输到接收端;与此形中国煤化工央的增多使其功耗同时,下一级FIFO单元也在接收新的数据,节约了更YHCNMHG的级数也可获得传输时间,故本文设计在传输大量数据时速度更快;更高的吞吐量. 本文FIFO为满时将发信号到发送494计算机辅助设计与图形学学报第23卷端使其停止发送数据,致使发送端中相应的模块呈模块中应用同步器避免亚稳态,使FIFO在自身体保持状态,不再随着时钟的翻转而翻转;当FIFO为系结构下能满足不同传输可靠性的要求;最后应用空时接收端也呈相同状态,降低了动态功耗.又由于双轨编码方式设计数据传输通道,保证了数据传输本文采用串并结合的传输方式,数据无需逐级贯穿质最.实验结果表明,此FIFO可支持数据在不同时FIFO即可完成传输,数据传输引起的功耗也被降钟域间的完整快速传输,具有吞吐量大.功耗低、鲁.低了,由表2可以看出本文FIFO在功耗方面存在棒性强和重用性好等特点.的优势.文献[10]中的FIFO由格雷码转换器、加法器、存储逻辑等模块组成,相比之下,本文设计更简参考文献( References) :易、低功耗.文献[16]在FIFO设计中具有广泛影响意义,此设计在鲁棒性方面有较好的表现.但以下两[1] Clermidy F,Bernard C, Lemnaire R. et al. A 477mW点令本文设计在鲁棒性和可移植性方面表现更佳:NoC-based digitnl bascband for MIMO 4G SDR [C] 11本文设计将FIFO级中的传输控制模块和数据传输Proceedings of IEE International Solid-State CircuitsConference. Piscataway; IEE Computer Society Press,通道分离,传输控制模块采用握手协议控制传输通2010,278-279道中数据的存储与输出,使得可在传输通道中对数[2] Shin J L, Tam K, Huang D, et al. A 40nm 16-core据进行适当地编码以提高数据传输的质量,本文选128- thread CMT SPARC SoC proessor [C] /Proeedings of用了简单的双轨编码对数据传输进行了检测以保证IEEE International Solid-State Circuits Conference.通信;本文在设计中将空/满控制与读/写指针分离,Piscataway: IEEE Computer Society Press 2010; 98-99因此可在不改变FIFO体系结构的情况下通过增加[3] HowardJ, Dighe S, Hoskote Y, etal. A 48-core IA-32message passing proceser with DVFS in 45nm CMOS[C] II同步器的级数和FIFO的级数,使FIFO满足不同Proceedings of IEEE International Solid-State Circuits传输可靠性的要求.此外,文献[16]需要在FIFO各Conference. Piscataway: IEEE Computer Society Press.级之外添加专门的空/满检测来保证FIFO的传输,2010, 108-109设计这种空/满检测模块需使用全定制设计的单元,[4] Lai Mingche, Wang Zhiying, Dai Kui. A novel performance使得整个FIFO不能完全使用标准单元的方法进行analysis approach for network on chip based on analytical设计,延长了设计周期.文献[17]也是一种环形结构router modeling [J]. Journal of Computer - Aided Design &的FIFO,但它的FIFO运行协议和本文不同,使得Computer Graphics, 2009. 21(3); 339-345 (in Chinese)读/写指针产生方式以及FIFO的空/满检测方式都(赣明激,王志英,戴獒. 基于路由器解析式模型的NoC网络性能分析方法[J].计算机辅助设计与图形学学报。2009,与本文不同,而本文的方式更简单易行,当选用与文21(3): 339-345)献[17]相同的工艺尺寸实现时,本文方法在吞吐量[5] Hasan S R, Belanger N, Savaria Y. All-digital skew-tolerant方面表现会更好;并且,文献[17]中FIFO单元的利interfacing method for 8ystemns with rational frequency ratios用率低于本文,当还有一个FIFO级为空时就被认among multiple clock domains: leveraging a priori timing为FIFO已满,浪费了存储空间,又因为在设计中大information [C] /Proceedings of Microsystems anNanolectronics Research Conference. Piscataway; IEEE量使用了三态门,所以数据传输的稳定性也不及本Computer Society Press, 2008; 129-132文.综上,本文环形结构的FIFO在保证通信质量的[6] LiuZ w. Xie M. An efetive AS FIFO design for multiple前提下具有吞吐量大.功耗低和可移植性好的特点.asynchronous clock data trasnision [C] /Proceedigso ofInternational Conference on Communications. Circuits and4综语Systems. Piscataway: IEEE Computer Society Press, 2008;960-963本文提出了新型FIFO体系结构,制定了FIFO[7] Konstedinidis G K,Normoyle K,Wong S, et al.运行协议,并设计出一种新颖的环形FIFO.它采用lmplementation of 8 third-generation 1.1 -GHz 64-bitmicroprocessor [J]. IEEE Journal of Solid-State Circuits.串并结合的传输方式,先将FIFO的数据传输通道2002. 37(11); 1461-1469与传输控制模块分开,使数据在传输时无需逐级贯8]riping techniques for穿整个FIFO,在减少传输延时的同时能支持不同中国煤化工m Irp寬度的数据传输;同时将FIFO控制模块中空/满控HC N M H G. Boston Sunburt制逻辑和同步器分离,在发送控制模块和接收控制Design, 2001; 16-20

论文截图
下一条:设计的那些事
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。