异步FIFO的设计与实现.docx

上传人:b****2 文档编号:1262272 上传时间:2022-10-19 格式:DOCX 页数:41 大小:1.28MB
下载 相关 举报
异步FIFO的设计与实现.docx_第1页
第1页 / 共41页
异步FIFO的设计与实现.docx_第2页
第2页 / 共41页
异步FIFO的设计与实现.docx_第3页
第3页 / 共41页
异步FIFO的设计与实现.docx_第4页
第4页 / 共41页
异步FIFO的设计与实现.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

异步FIFO的设计与实现.docx

《异步FIFO的设计与实现.docx》由会员分享,可在线阅读,更多相关《异步FIFO的设计与实现.docx(41页珍藏版)》请在冰豆网上搜索。

异步FIFO的设计与实现.docx

太原理工大学本科毕业设计

摘要

随着数字系统规模的不断增大,单时钟域设计会极大地限制数字系统性能,现代数字系统为了提升性能,常采用多时钟域的设计。

跨时钟域的信号在传输时会遇到亚稳态现象,如何保持系统稳定地传输数据是多时钟域系统设计者重点关注的问题,在跨时钟域传递数据的系统中,常采用异步FIFO(FirstInFirstOut,先进先出队列)口来缓冲传输的数据,以克服亚稳态产生的错误,保证数据的正确传输。

常规的异步FIFO设计采用先同步读写指针后比较产生空/满标志和用先比较读写指针产生空/满标志,再同步到相应时钟域的方法,但由于常规异步FIFO模块中的RAM存储器读写寻址指针常采用格雷码计数器以及“空满”控制逻辑的存在,工作频率低,面积大,将使通过这两个模块的信号通路延时对整个模块的工作频率造成制约。

本文提出了一种新型异步FIFO的设计方法,该方法省略“了满”信号产生模块和多余的存储器位深来简化常规的FIFO模块,而只保留“空”信号产生模块,避免使用大量的同步寄存器,减少了面积空间。

FPGA验证的结果表明,改进后的异步FIFO性能有了显著的提高。

关键词:

现场可编程门阵列(FPGA)亚稳态空/满标志产高速FIFO

ABSTRACT

Withtheincreasingofdigitalsystemsize,asingleclockdomaindesignwillgreatlylimitthedigitalsystemperformance.Toenhancetheperformanceofmoderndigitalsystems,multipleclockdomaindesignisconventionallyadopted.Whilebeingtransmitted,Cross-clockdomainsignalswillcomeacrossthephenomenonofmetastability,henceitwillbeamajorconcernforthemulti-clockdomainsystemdesignerstoprobehowtomaintainthesystemstabilityandtohavedatatransmissionconductedsmoothly.Astothebussystemdatatransmissioninthesystemwherethetwodatainterfaceclocksdon’tmatch,oneofsuperandeffectivesolutionsistouseasynchronousFIFObuffermemory.HowTosolvethekeyanddifficultissuethatmetastabilityandhowtogenerateemptyandfullflagcorrectlyinasynchronousFIFOdesign.TraditionalFIFOdesignoftensynchronizeswrite/readaddressfirst,thencomparesthemtogenerateempty/fullsignalsorempty/fullflagfirstcomparethereadandwritepointer,andthensynchronizedtotheclockdomain,Thisdesigntakesontoomuchareaandcanonlyworkatalowfrequency,thiswillallowthesignalingpathwaysofthesetwomodulesdelaycausedbyconstraintsoftheoperatingfrequencyoftheentiremodule.AnewmethodofasynchronousFIFOisproposedtoovercometheseproblems,omitthe"full"signalgeneratormoduleandredundantmemorybitdepthtosimplifytheconventionalFIFOmodule,leavingonlythe"empty"signalgenerationmodule,avoidtheuseofalargenumberofsynchronizationregisters,reducingtheareaofspace.FPGAverificationresultsshowthattheasynchronousFIFOimprovedperformancehasbeensignificantlyimproved.

Keywords:

FieldProgrammableGateArray(FPGA);Metastable;Mmpty/FullFlagproduction;High-speedFIFO

II

太原理工大学本科毕业设计

目录

摘要 I

ABSTRACT II

第一章 绪论 1

1.1研究背景和意义 1

1.2研究现状 1

1.3本文的主要工作 3

1.4论文结构 3

第二章跨时钟域设计的挑战与实现方法 4

2.1跨时钟域设计的挑战 4

2.1.1亚稳态问题 4

2.1.2亚稳态产生的原因 5

2.1.3亚稳态的危害 5

2.2跨时钟域的实现方法 6

2.2.1同步器 6

2.2.2握手机制 9

第三章开发环境 11

3.1硬件平台 11

3.2软件平台 11

第四章异步FIFO的设计与实现 13

4.1异步FIFO 13

4.1.1异步FIFO工作原理 13

4.1.2异步FIFO设计的难点 14

4.2常见异步FIFO的设计 16

4.2.1读写地址产生逻辑 18

4.2.2空/满标志的产生及代码的实现 19

4.3.3改进的异步FIFO设计方法分析 22

4.4高速异步FIFO的设计与实现 23

4.4.1常见FIFO模块分析 23

4.4.2高速异步FIFO设计 25

第五章结论 28

第六章参考文献 29

致谢 30

附录高速异步FIFO设计仿真分析 31

附1.设计工作流程 31

附.1.1设计输入 31

附.1.2设计编译 35

附.1.3设计仿真 37

38

太原理工大学本科毕业设计

第一章绪论

1.1研究背景和意义

作为21世纪最重要的科学领域之一,超级计算机是体现科技竞争力和综合国力的重要标志。

各大国均把它作为国家科技创新的重要基础设施,投入了巨资进行研制和开发。

随着科学技术的进步,我国的超级计算机取得了高速的发展,2010年11月14日,国际TOP500组织在网站上公布了最新全球超级计算机前500强排行榜,中国首台千万亿次超级计算机系统“天河一号”高居榜首。

高性能微处理器是超级计算机的核心,高性能微处理器目前都采用多核的结构,多核处理器是指在一个芯片内集成多个处理核心而构成的处理器,所谓“核心”,通常指包含指令部件、算术、逻辑部件、寄存器堆和一级或者二级缓存的处理单元。

现代数字系统的设计多采用全局异步,局部同步的设计方式,核心部件采用高频设计为了提升性能,为了尽快地上市常常采用SoC的设计,集成成熟的IP,在同一芯片有多个时钟域。

在数字系统设计中,数据在不同模块或系统间传输,而现代数字系统内部采用多时钟域设计,导致数据进行跨时钟域传输。

由于各系统数据总线上的传输速度不同而造成系统接口界面处出现数据输入和输出速度不同,就会发生数据传输速率不匹配的问题,这会让传输的数据产生错误或者丢失,降低数据传输的可靠性,同时也会因为对数据的复写、丢弃而降低数据传输速率,因此需要在各系统接口界面处设计专用的电路来实现数据的高速高效传输。

为了提高电路整体性能,设计者对数据传输率、数据吞吐量以及系统各部分接口之间不同数据传输速率以及带宽的匹配有越来越高的要求,所以研究数据如何在异步时钟域稳定和快速地传输,具有非常重要的现实意义。

1.2研究现状

随着数字系统规模的不断扩大,跨时钟域信号的同步器设计以及相应的验证技术,越来越被关注。

目前的VLSI设计进入到SoC时代,一个SoC系统中一般含有多个时钟域,如何在这些不同时钟域之间进行稳定、可靠地传输成为设计人员所面临的一个挑战性的问题。

国内外研究人员提出了异步握手、异步包装以及异步FIFO等多种解决方案。

实践证明,采用异步FIFO进行跨时钟域传输是非常有效、可靠的方法,在实际芯片设计中得到了广泛的应用。

CliffordE.Cummings在文献[1]中提出了一种基于Gray码的异步FIFO接口技术。

同步多个异步输入信号出现亚稳态的概率远远大于同步一个异步信号的概率,解决这一问题的有效方法是采用格雷码。

格雷码是一种在相邻计数数值之间只有一位发生变化的编码方式,读写指针采用格雷码的编码方式,就可以尽可能地消除触发器产生亚稳态问题。

WilliamJDally和JohnWPoulton在文献[2]中提出一个表示关于任意两次故障出现的间隔时间期望的平均无故障时间MTBF,一个系统亚稳态的MTBF是与系统频率、器件速度之间的指数函数。

同步器去采样输入的异步数据,当在第一级的时序器件出现亚稳态的问题时,其输出会出现一种不稳定的中间值,并且这个时间受多种因素影响。

当第二个时序器件的采样窗口到来的时候,在第二级输入端口上的电平仍然处在可以使第二级出现亚稳态的电平范围内的概率会变得很小,由计算公式表明,对于大多数的应用问题,两级锁存器同步失效的概率很小足以消除可能出现的亚稳态情况。

VijayA.Nebhrajani在文献[3]中提出关于异步FIFO的五种结构,分别从单时钟结构,双时钟三种结构和脉冲模式的FIFO的结构进行了阐述。

着重介绍了怎样设计异步FIFO,主要讨论了异步FIFO空满标志的产生方法。

美国研究人员TiberiuChelcea,StevenM.Nowick,XinWang,TapaniAhonen,JariNumi在文献[4,5]中用写/读令牌环代替写/读指针,简化了“满”/“空”状态的检测,节省了编码转换逻辑以及同步器的延迟和面积开销,但是为了防止写/读溢出及死锁,又引入了额外的控制逻辑,并且仍然存在可用空间的浪费。

日本研究人员Jeong-GunLee,Suk-JinKim,KiseonKim在文献[6]结合握手协议和行波流水技术实现了一种异步FIFO,降低了延迟和功耗,但其纯异步电路实现方式增大了设计的复杂度和应用的难度。

受国外研究热潮的影响,近些年来,国内一些院校和科研单位也开始对异步FIFO展开研究,主要研究有:

中国科学院微电子研究所的博士生导师袁国顺和张英武博士等人,共同设计实现

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1