基于Gray码的异步FIFO接口技术及其应用

计算机工程与科学COMPUTERENGINEERINGSCIENCE:1007-130X(2005)01-0058-03基于Gray码的异步FIFO接口技术及其应用.TheInterfaceTechnologyofAsynchronousFIFOsBasedonGrayCodeandItsApplication汪东,马剑武,陈书明CN43-1258/TPISSN1007-130XWANGDongjMA激anrwufCHIMNShu-ming(国防科技大学计算机学院■湖南长沙410073)(SchoolofComputerScience,NationalUniversityofDefenseTechnologyfChangsha410073fChina)摘要:本文介绍了利用异步FIFO在玲时钟域的逻辑设计中进行异步接口的技术,介绍了利用Gray码作异步FIFO指针的方法。这些技术和方法对于异步逆辑的设计具有广迂的参考意义。Abstract:Thispaperintroducesthe1technologyofusingasynchronousFIFOstoimplementtheasynchronousinterfaceinlogicdesignsacrossthemulti-clockregion>andthemethodofusingGraycodeasthepointersofasynchronousFIFOs.Thistechnologyandmethodcanbewidelyusedinthedesignofasynchronouslogic关键词:异步FIFO;多时钟域;异步逻辑;Gray码Keywords:asynchronousFIFO?multi-clockregion;asynchronouslogic;Graycode:TP333文献标识码:A1收稿日期:2003-09-08;修订日期:2003-1028作者简介:汪东(1979男,河南信阳人•博士生,研究方向为髙性能VLSI设计技术’马剑武,工程聊,研究方向为高性能微处理器设计,陈书明,教授,博士生导师•研究方向为髙性能体系结构和VLSI设计.通讯地址:410073湖南省长沙市国防科技夫学计算机学院;Tel:(0731)4573687,13975813099;E-mail:nudtjum@sina-comAddress:SchoolofComputerScience♦NationalUniversityofDefenseTechnology,ChangshatHunan410073.P.R.China1引言在数字系统的设计中,我们常常会遇到多时钟域下数据和信号进行异步握手的问题。如果不采取可靠的接口技术,数据和信号的接收方极易产生亚稳态信号,从而发生危险。为此,人们常常采用异步逻辑进行局部接口,以便有效解决全局定时问题⑴。本文将就其中的异步FIFO接口技术展开详细的讨论。2异步FIFO接口技术2.1异步FIFO异步FIFO由读/写控制电路和存储体三部分组成。读/写电路分别接收外部的读/写请求,从FIFO存储体中取/存数据二者按照一定的协议进行握手,以防止存储体发生上溢或下溢错误。我们不妨假设写电路工作在时钟CZ<a下,时钟频率为北;假设读电路工作在时钟Clk_b下,频率为fb.fa>fb.FIFO深度为口写电路维持一个写指针W_poinUr(Q^Wointer^n-1),并通过写使能信号W_enable通知FIFO保存数据。外部通过Wrt信号向写电路发出写操作请求,写电路用作为应答,并接收待写的数据DataW9读电路维持一个读指针R_pointer(Q^R_pointer^n—l')t并通过读使能信号R_ena-必通知FIFO读出数据。外部通过信号Rd向读电路发岀读操作请求,读电路用作为应答,并发送读出的数据Data_R°异步FIFO的一般结构如图1所示。FIFO体图1异步FIFO的一般结构为提高FIFO的利用率,我们不妨把FIFO组织成环形队列的形式,同时给读写指针的最高位增加一个冗余位,即指针宽度定义为[log2?J:0],而不是[log2"—1:0]。这样,当FIFO第一次被完全写满时,写指针的值为2“,而不是全零。当判断出W_pointer=Rainier时,即可认为FIFO为空。写电路向FIFO写入数据的条件是:(1)外部写请求附有效;(2)W_pointer=^R_pointer^且FIFO有大于1的剩余空间:或者W」)oinler=R_poiniero这时,如果外部有写请求,写电路就能够作出写应答然后接收数据DataJV.tW_enable有效。每写一个数^9W_pointer自动加1。读电路从FIFO中读出数据的条件是:(1)外部读请求Rd有效;(2)W_pointer^R_pointero这时,如果外部有读请求,读电路就能够作岀读应答Rd_Ack,置R_enable有效,每读出一个数据,R.pointer自动加1,并发送数据Data_R9当W_pointer=pointer时,数据被全部读出。FIFO体在读/写使能的控制下工作。当望说沧有效时,FIFO把数据Datajn存入W_pOinier指示的地址中;当心沁血有效时,FIFO以R•如作为地址读出相应的数据。但是,当读/写电路对W_poimer和R—Pointer进行相等或不等的判断时,如果用自然二进制码作指针直接进行比较就隐含着危险。下面给岀一个例子,如图2a所示。-如创e被置为...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?