资源描述:
《基于多时钟域的异步fifo设计71080》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中国集成电路设计CICChinalntegratedCircult基于多时钟域的异步FIFO设计华南理工大学物理科学与技术学院杨青山蔡敏摘要:在大规模集成电路设计中,一个系统包含了很多不相关的时钟信号,当其目标域时钟与源域时钟不同时,如何在这些不同域之间传递数据成为了一个重要问题。为了解决这个问题,我们可以用一种异步FIFO(先进先出)存储器来实现。本文介绍了一种利用格雷码指针实现在多时钟域传递数据的FIFO设计。关键词:FIFO,多时钟域,异步,格雷码,亚稳态,同步装置AsynchronousFIFOdesignbasedo
2、nmulti-clockdomainYangQingshanCaiMin(SchoolofPhysical,SouthChinaUniversityofTechnology,Guangzhou510640)Abstract:InlargescaleICdesignsasystemcontainsmanyunrelatedclocksignals,passingdataamongthedifferentdomainsbecameanimportantproblemwhenthedestination-domain’sclocki
3、sdifferentfromsource-domain’sclock.inordertosolvetheproblem,aasynchronousFIFOmemorywasusedtorealizeit.Thispaper,anewFIFO(firstinfirstout)designisintroducedindetail,bywhichdataarepassedbetweendifferentclockdomainsbyusingGraycodepointers.Keywords:FIFO,multi-clock,asyn
4、chronous,Graycode,metastability,synchronousdevice1、引言也就是会发生数据传输速率不匹配的问题。这种情况往往会让传输的数据产生复写或者丢失,降低数随着计算机、多媒体和数据通信技术的高速发据的传输速率,同时也因为数据复写、丢失和无效数展,数字图像、语音等数据传输技术近年来得到了极据的读入,将会产生数据出错,因此需要在不同系统大的重视和长足的发展,并得到了广泛的应用。如何的接口处设计数据传输单元来实现数据的高速高效保障这些语音、图像等数据传输的准确性、及时性?传输。在现代的系统设计中
5、,为了提高系统的性能,如何高效率、高速度地传输这些数据?这些都是当今设计者对数据的传输率、数据的传输量,对系统各部信息领域的科研人员所必须解决的问题。而往往在分之间的接口部分不同的数据输入和接收传输率的这些数据传输系统中,又会遇到不同系统接口间数匹配有越来越高的要求,而FIFO存储器以其合理据传输的问题。通常在两个相连接的不同电路系统的价格、使用的方便灵活性以及上述的对速度匹配的应用而成为解决这类问题的理想途径,因此FIFO之间,因为每个系统的数据传输速度不同,在系统的接口部分就会出现数据输入速度和输出速度不同,存储器在计算机
6、、多媒体和数据通信领域都有着广36(总第100期)2007·9·http://www.cicmag.com中国集成电路CIC设计ChinalntegratedCircult泛的应用,因此对FIFO的研究与设计应用具有理论上和实际应用上的双重意义。2、FIFO的功能描述FIFO是数据传输系统中极其重要的一环,特别是在两个处在不同时钟域的系统接口部分,FIFO的合理设计,不但能使接口处数据传输的输入输出速率进行有效的匹配,不使数据发生复写、丢失和读入图1异步FIFO操作的逻辑方框图无效数据的情况,而且还会有效地提高系统中数据的传输
7、效率,FIFO存储器主要分为基于移位寄存器升沿到来之后,触发器数据还应该保持的最小时间[1]型和基于RAM型,而RAM型又有单口RAM和双,在时钟上升沿前后的这个窗口内数据应该保持不口RAM之分,目前来说,用的较为广泛的是基于双变,否则会使触发器工作在一个不确定的状态,即亚端口RAM的FIFO。从时钟角度来考虑,因为时钟的稳态。当触发器处于亚稳态,且处于亚稳态的时间超同步和异步之分,FIFO又可分为同步FIFO和异步过了一个时钟周期时,这种不确定的状态将会影响FIFO。更多情况下,FIFO的读写时钟为异步的。也就到下一级的触发
8、器,最终导致连锁反应,从而使整个是我们更多的时候要将FIFO设计为异步,异步FI-系统功能失常如图2所示。当一个信号跨越某个时FO由存储器块和控制逻辑构成,控制逻辑包括读写钟域时,对新时钟域的电路来说它就是一个异步信指针,读写指针分别位于不同的时钟域中。当FIFO号。由于异步