基于fpga的异步fifo设计与实现(5页).docVIP

基于fpga的异步fifo设计与实现(5页).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于fpga的异步fifo设计与实现(5页)

基于FPGA的异步FIFO设计与实现 Asynchronous FIFO Design and Implementation Based on FPGA (1.清华大学电子工程系;2.中国科学院电子学研究所)熊红兵1 陈琦2 Xiong,Hongbing Chen,Qi 摘要:异步FIFO是用来适配不同时钟域之间的相位差和频率飘移的重要模块。本文设计的异步FIFO采用了格雷(GRAY)变换技术和双端口RAM实现了不同时钟域之间的数据无损传输。该结构利用了GRAY变换的特点,使得整个系统可靠性高和抗干扰能力强,系统可以工作在读写时钟频率漂移达到正负300PPM的恶劣环境。并且由于采用了模块化结构,使得系统具有良好的可扩充性。 关键字:FIFO;双口RAM;格雷码;指针解释;指针生成 Abstract:Asynchronous FIFO is an important module which always used to absorb the phase and frequency offset between different clock domain in communication area .In this paper, an FIFO module is designed using Gray convert technology and dual-port ram , which realizing scatheless transmit between different clock domain. The advances of Gray (Only one bit changes between neighboring two clock ) improves the reliability and anti-jamming capability of the system. And the system can work normally in the bad condition which the phase and frequency offset target to 300PPM. It is proved by work that the FIFO module can fulfill the demands of real-time of data transmitting system, and the module is powerful enough for more data process in the future. Key wards:FIFO;Dual-port RAM;Gray;Pointer interpreter;Pointer generator 1.引言 FIFO(先进先出队列)是一种在电子系统得到广泛应用的器件,通常用于数据的缓存和用于容纳异步信号的频率或相位的差异。该器件用在SDH设备上时,处于指针解释和指针生成之间,用来缓冲数据流,以实现不同时钟速度的匹配。经过指针解释(PI)的净荷数据流进入FIFO中,包括8位数据位和一位J1字节标志位;指针生成(PG)部分根据PG部分的payload信号将数据从FIFO读出,并生成新的指针。FIFO可以根据其内部数据的空满程度,决定是否向PG发出正/负调整申请信号。FIFO主要实现如下功能: 处理AU3级数据流的缓冲; 提供级联模式; 给出指针正/负调整申请信号,阈值可设; 可以插入full scan,保证较高的可测试性。 2. FIFO工作原理 图1 FIFO工作原理示意图 FIFO的工作原理可用图1来表示。整个系统分为两个完全独立的时钟域,即读时钟域和写时间域。FIFO的存储介质为一块双端口RAM,FIFO深度为64个字节。可以同时进行读写操作。为避免对同一个地址进行读写操作,复位或者溢出时将读写地址错开。由图1可以看出,写地址产生模块根据写时钟和写有效信号产生递增的写地址,读地址产生模块根据读时钟和读有效信号产生递增的读地址。FIFO的操作如下:在写时钟wr_clk的升沿,当wren有效时,将wr_data写入双口RAM中写地址对应的位置中;始终将读地址对应的双口RAM中的数据输出到读数据总线上。这样就实现了先进先出的功能。由于空标志和满标志控制了FIFO的操作,因此标志错误会引起操作的错误。如上所述,标志的产生是通过对读写地址的比较产生的,当读写时钟完全异步时,对读写地址进行比较时,可能得出错误的结果。例如,在读地址变化过程中,由于读地址的各位变化并不同步,计算读写地址的差值,可能产生错误的差值,导致产生错误的满标志信号。若将未满标志置为满标志

文档评论(0)

heti94575 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档