异步FIFO的设计与实现(共41页).docx

上传人:飞****2 文档编号:13416922 上传时间:2022-04-29 格式:DOCX 页数:41 大小:723.39KB
返回 下载 相关 举报
异步FIFO的设计与实现(共41页).docx_第1页
第1页 / 共41页
异步FIFO的设计与实现(共41页).docx_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《异步FIFO的设计与实现(共41页).docx》由会员分享,可在线阅读,更多相关《异步FIFO的设计与实现(共41页).docx(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上摘 要随着数字系统规模的不断增大,单时钟域设计会极大地限制数字系统性能,现代数字系统为了提升性能,常采用多时钟域的设计。跨时钟域的信号在传输时会遇到亚稳态现象,如何保持系统稳定地传输数据是多时钟域系统设计者重点关注的问题,在跨时钟域传递数据的系统中,常采用异步FIFO(First In First Out,先进先出队列)口来缓冲传输的数据,以克服亚稳态产生的错误,保证数据的正确传输。常规的异步FIFO 设计采用先同步读写指针后比较产生空满标志和用先比较读写指针产生空满标志,再同步到相应时钟域的方法,但由于常规异步FIFO 模块中的RAM 存储器读写寻址指针常采用格雷码

2、计数器以及“空满”控制逻辑的存在,工作频率低,面积大,将使通过这两个模块的信号通路延时对整个模块的工作频率造成制约。本文提出了一种新型异步FIFO 的设计方法,该方法省略“了满”信号产生模块和多余的存储器位深来简化常规的FIFO 模块,而只保留“空”信号产生模块,避免使用大量的同步寄存器,减少了面积空间。FPGA 验证的结果表明,改进后的异步 FIFO 性能有了显著的提高。关键词:现场可编程门阵列(FPGA ) 亚稳态 空/满标志产 高速FIFOABSTRACTWith the increasing of digital system size, a single clock domain d

3、esign will greatly limit the digital system performance. To enhance the performance of modern digital systems, multiple clock domain design is conventionally adopted. While being transmitted, Cross-clock domain signals will come across the phenomenon of metastability, hence it will be a major concer

4、n for the multi -clock domain system designers to probe how to maintain the system stability and to have data transmission conducted smoothly. As to the bus system data transmission in the system where the two data interface clocks dont match, one of super and effective solutions is to use asynchron

5、ous FIFO buffer memory. How To solve the key and difficult issue that metastability and how to generate empty and full flag correctly in asynchronous FIFO design. Traditional FIFO design often synchronizes write/read address first, then compares them to generate empty/full signals or empty / full fl

6、ag first compare the read and write pointer, and then synchronized to the clock domain, This design takes on too much area and can only work at a low frequency,this will allow the signaling pathways of these two modules delay caused by constraints of the operating frequency of the entire module. A n

7、ew method of asynchronous FIFO is proposed to overcome these problems, omit the full signal generator module and redundant memory bit depth to simplify the conventional FIFO module, leaving only the empty signal generation module,avoid the use of a large number of synchronization registers, reducing

8、 the area of space. FPGA verification results show that the asynchronous FIFO improved performance has been significantly improved.Keywords: Field Programmable Gate Array (FPGA); Metastable; Mmpty / Full Flag production; High-speed FIFO专心-专注-专业目 录第一章 绪 论1.1研究背景和意义作为21 世纪最重要的科学领域之一,超级计算机是体现科技竞争力和综合国力

9、的重要标志。各大国均把它作为国家科技创新的重要基础设施,投入了巨资进行研制和开发。随着科学技术的进步,我国的超级计算机取得了高速的发展,2010 年11 月14 日,国际TOP500 组织在网站上公布了最新全球超级计算机前500 强排行榜,中国首台千万亿次超级计算机系统“天河一号”高居榜首。高性能微处理器是超级计算机的核心,高性能微处理器目前都采用多核的结构,多核处理器是指在一个芯片内集成多个处理核心而构成的处理器,所谓“核心”,通常指包含指令部件、算术、逻辑部件、寄存器堆和一级或者二级缓存的处理单元。现代数字系统的设计多采用全局异步,局部同步的设计方式,核心部件采用高频设计为了提升性能,为了

10、尽快地上市常常采用SoC 的设计,集成成熟的IP,在同一芯片有多个时钟域。在数字系统设计中,数据在不同模块或系统间传输,而现代数字系统内部采用多时钟域设计,导致数据进行跨时钟域传输。由于各系统数据总线上的传输速度不同而造成系统接口界面处出现数据输入和输出速度不同,就会发生数据传输速率不匹配的问题,这会让传输的数据产生错误或者丢失,降低数据传输的可靠性,同时也会因为对数据的复写、丢弃而降低数据传输速率,因此需要在各系统接口界面处设计专用的电路来实现数据的高速高效传输。为了提高电路整体性能,设计者对数据传输率、数据吞吐量以及系统各部分接口之间不同数据传输速率以及带宽的匹配有越来越高的要求,所以研究

11、数据如何在异步时钟域稳定和快速地传输,具有非常重要的现实意义。1.2研究现状随着数字系统规模的不断扩大,跨时钟域信号的同步器设计以及相应的验证技术,越来越被关注。目前的VLSI 设计进入到SoC 时代,一个SoC 系统中一般含有多个时钟域,如何在这些不同时钟域之间进行稳定、可靠地传输成为设计人员所面临的一个挑战性的问题。国内外研究人员提出了异步握手、异步包装以及异步FIFO 等多种解决方案。实践证明,采用异步FIFO 进行跨时钟域传输是非常有效、可靠的方法,在实际芯片设计中得到了广泛的应用。Clifford E.Cummings 在文献1中提出了一种基于Gray 码的异步FIFO 接口技术。同

12、步多个异步输入信号出现亚稳态的概率远远大于同步一个异步信号的概率,解决这一问题的有效方法是采用格雷码。格雷码是一种在相邻计数数值之间只有一位发生变化的编码方式,读写指针采用格雷码的编码方式,就可以尽可能地消除触发器产生亚稳态问题。William J Dally 和John W Poulton 在文献2中提出一个表示关于任意两次故障出现的间隔时间期望的平均无故障时间MTBF,一个系统亚稳态的MTBF 是与系统频率、器件速度之间的指数函数。同步器去采样输入的异步数据,当在第一级的时序器件出现亚稳态的问题时,其输出会出现一种不稳定的中间值,并且这个时间受多种因素影响。当第二个时序器件的采样窗口到来的

13、时候,在第二级输入端口上的电平仍然处在可以使第二级出现亚稳态的电平范围内的概率会变得很小,由计算公式表明,对于大多数的应用问题,两级锁存器同步失效的概率很小足以消除可能出现的亚稳态情况。Vijay A. Nebhrajani 在文献3中提出关于异步FIFO 的五种结构,分别从单时钟结构,双时钟三种结构和脉冲模式的FIFO 的结构进行了阐述。着重介绍了怎样设计异步FIFO,主要讨论了异步FIFO 空满标志的产生方法。美国研究人员Tiberiu Chelcea,Steven M. Nowick,Xin Wang, Tapani Ahonen,Jari Numi 在文献4,5中用写/读令牌环代替写/

14、读指针,简化了“满”/“空”状态的检测,节省了编码转换逻辑以及同步器的延迟和面积开销,但是为了防止写/读溢出及死锁,又引入了额外的控制逻辑,并且仍然存在可用空间的浪费。日本研究人员Jeong-Gun Lee,Suk-Jin Kim,Kiseon Kim 在文献6结合握手协议和行波流水技术实现了一种异步FIFO,降低了延迟和功耗,但其纯异步电路实现方式增大了设计的复杂度和应用的难度。受国外研究热潮的影响,近些年来,国内一些院校和科研单位也开始对异步FIFO 展开研究,主要研究有:中国科学院微电子研究所的博士生导师袁国顺和张英武博士等人,共同设计实现了一款低功耗的异步FIFO,引入了门控时钟技术降

15、低了控制电路和译码电路80的功耗7,并采用位线分割技术降低了存储单元38的功耗。利用格雷码作异步FIFO 指针的控制电路,能有效地消除多时钟域中的亚稳态。国防科技大学计算机学院博士生导师陈书明、刘祥远博士,针对现有FIFO 设计方法的不足,提出一种新的异步FIFO 结构8WG-FIFO,采用加权Gray 码进行指针编码,采用实时状态检测器控制写/读操作。模拟结果表明,在FIFO 深度为416 的情况下,该结构与已有的FIFO 结构相比在性能、面积开销以及写读操作效率等方面都获得了明显的改善。特别地,当FIFO 的深度为8、宽度为32时,相比B-FIFO,WG-FIFO 的最高时钟频率提高31.

16、6,单元面积减少17.1,且写/读效率最大能提高47。东南大学周磊硕提出了一种新型结构异步FIFO 电路的实现方案9,运用整体移位实现数据正确写入和输出,使用缓冲寄存器组存放移位产生的多余数据,适用于频率不成整数倍的异步时钟域之间的数据传输。利用串联的D 触发器作为同步器,避免产生亚稳态,实现异步信号的同步,采用自顶向下、基于0.18mm 标准单元库的半定制ASIC 流程对其进行设计。该方案与常见的异步FIFO 实现方案进行比较,面积大约减少一半,工作速度提高约三分之一。指针编码不同程度地存在下列问题:(1)写/读指针编码转换、计算的延时大,限制了写/读操作频率。(2)跨时钟域传递写/读指针需

17、要大量的同步器,面积开销大。(3)由于同步器的延迟,导致FIFO 的状态检测保守,浪费可用空间。综上所述,国内外关于异步FIFO 的设计与验证的研究,虽然取得了一定的成果,但是研究仍处于发展阶段,跨时钟域设计将面临着更多的困难与挑战。1.3本文的主要工作本文较为全面地讨论了跨时钟域设计的挑战,并论述了异步FIFO 的设计和验证过程,最后分别对常见的异步FIFO 和改进的异步FIFO 进行了FPGA 验证综合,并对综合后的结果进行了比较。其主要工作包括:1、针对FIFO设计的局限性,先简单地介绍了亚稳态的工作原理,并详细地分析了常规FIFO 口对模块工作频率制约的主要原因,然后结合FPGA优秀的

18、逻辑控制功能,及低功耗、高可靠性、可重构性、开发周期短和开费用低廉等特性,提出了一种在FPGA 内实现高速异步FIFO 的方法。2、提出了基于DE2-70平台的异步FIFO 的检验方法,利用原理图描述异步FIFO,对设计的异步FIFO进行模块化综合验证,达到了预期的效果。1.4论文结构本文共分六章,各章的组织如下:第一章,绪论,包括论文选题的背景与意义、研究现状及主要工作等;第二章,介绍跨时钟域设计的挑战和实现方法,介绍了亚稳态的现象、产生的原因及危害和同步器及握手机制的实现方法;第三章,介绍本设计的开发环境;第四章,对常规异步FIFO做了分析,提出高速异步FIFO的设计和实现方法;第五章,总

19、结得出结论;第六章,参考文献;致谢附录第二章 跨时钟域设计的挑战与实现方法在一般的 ASIC 设计中,比较常见的是同步时序设计,即单时钟的设计,但是在实际应用中,纯粹的单时钟设计并不能满足 ASIC 设计的多方面需求,特别是所设计模块需要与外围设备通讯时,跨时钟域的数据传输是不可避免的。如果对这种情况估计不足或者缺乏足够的了解将会使设计面临重大的隐患,甚至会造成不可估量的损失。本章主要介绍跨时钟域数据传输时容易出现的问题与同步器设计的实现方法。2.1跨时钟域设计的挑战2.1.1亚稳态问题随着数字系统规模的不断增大,一个系统通常与若干个子系统进行通信,如 计算机会有并口、串口、USB 接口等各种

20、不同种类的接口,可以连接不同的外部设备。由于外部设备与主机的时钟不一致,跨时钟域异步信号的可靠传输变得十分重要。在通信系统中,各个节点间时钟不一致,节点间跨时钟域的低误码率传 输极其重要. 跨时钟信号传输是指某时钟域内的信号传递到另外一个或多个时钟域,该信号对于另一个时钟域来说,一般是异步的,即不能保证采样时该信号是稳定的,或者说无法保证采样点前后的建立和保持时间。这种不稳定性常常会造成不可预 测的错误或干扰,致使硬件系统无法正常工作。在信号传输中,每种触发器都有时序要求,对于使用上升沿触发的触发器来 说,建立时间(Setup Time)是在时钟上升沿到来之前,触发器数据保持稳定的最小 时间,

21、而保持时间(Hold Time)是在时钟上升沿到来之后,触发器数据还应该保持 的最小时间29,在时钟上升沿前后的这个窗口内数据应该保持不变,否则会使触 发器工作在一个不确定的状态,即亚稳态。当触发器处于亚稳态且处于亚稳态的时间超过了一个时钟周期时,这种不确定的状态将会影响到下一级的触发器,最 终导致连锁反应,从而使整个系统功能失常,如图 2.1 所示。当一个信号跨越某个 时钟域时,对新时钟域的电路来说,它是一个异步信号。由于异步信号之间的时 序是毫无关系的,因此必然存在建立时间/保持时间(Setup Time/Hold Time)冲突.简单来说,亚稳态就是指当触发器的建立时间和保持时间要求没有

22、得到满足时,触发器就 会进入一个介于逻辑 1 和逻辑 0 之间的第三种状态,换句话说,是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上, 在这个稳定期间,触发器输出一些中间级电平或者可能处于振荡状态,并且这种 无效的输出电平可以沿信号通道上的各个触发器级联式传播下去。 “?” “1” “? ” “0” dat adat bdat ” “?” “?” clka clkbclka adat clkb bdat 图 2.1 异步时钟和亚稳态现象 2.1.2亚稳态产生的原因如果触发器的建立时间或保持

23、时间(setup time / hold time)不满足时,在同步系统中,亚稳态现象就可能会出现,此时触发器的输出端 Q,在有效时钟沿之后, 很长的一段时间里处于不确定的状态,在这段时间里 Q 端振荡、毛刺、固定的某一电压值,而不是等于数据输入端 D 的值,这段之间成为决断时间(resolution time)。经过决断时间(resolution time)之后,Q 端将稳定到 1 或 0 上,但是究竟是0 还是 1,这是随机出现的,与输入没有因果联系。2.1.3亚稳态的危害由于输出在稳定下来之前可能是振荡、毛刺或固定的某一电压值,因此亚稳态除了导致逻辑误判之外,输出0到 1之间的中间电压值

24、还会使下一级产生亚稳态现象。在电路设计中,逻辑误判有可能通过特殊设计减轻其危害,但亚稳态现象的传播扩大了故障面,难以处理。只要系统中有异步元器件,亚稳态现象就会出现的,因此设计的电路首先要尽可能减少亚稳态引发错误的概率,其次要使系统对产生的错误不受其影响。常用用同步器来减少亚稳态发生的概率。2.2 跨时钟域的实现方法SoC(System on chip,SoC)技术的广泛应用,芯片的高性能和低功耗的需求, 芯片的多个部件通常工作在不同频率的异步时钟域中。跨时钟域(Clock Domain Crossing,CDC)的数据传输电路被称为跨时钟域设计,其功能的正确性是 SoC 系 统芯片各跨时钟域

25、部件间正确传输数据的基础。在跨时钟域路径上传递信号不正 确的设计可能产生三种情况,一种是产生亚稳态(Metability),该路径终点寄存 器的建立或保持时间违例(Setup/Hold Timing Violation),从而引起寄存器的输入 端进入亚稳态状态;另一种是数据保持时间(Hold Time)不足,产生数据丢失,例 如来自一个快时钟域的信号不能够被慢时钟域的时钟采样到;最后一种是数据聚 合(Re-convergence),一组被同步的控制信号再次汇聚时丢失或重复采样。对于第一种情况,如果是单根控制信号,最简单的解决方法是采用两级同步器;对于第二、三种可采用异步 FIFO,带使能的同步

26、器,握手协议等方法。跨时钟域信号同步器的设计,通常用同步器或增加握手信号可以实现。2.2.1同步器跨时钟域信号同步器的设计,通常的实现方法有以下几种:1、两级同步器:解决跨时钟域设计问题的基本方法是同步器,同步器是将几个用本地时钟驱 动的时序器件串联起来,去采样输入的异步数据,当在第一级的时序器件出现亚 稳态的问题时,其输出会出现一种不稳定的中间值,并且这个时间受多种因素影 响,或者说这个输出在高电平到低电平之间满足一定形式的概率分布。当第二个 时序器件的采样窗口到来的时候,在第二级输入端口上的电平仍然处在可以使第 二级出现亚稳态的电平范围内的概率会变得很小,如果再加上第三级,在第三级 上的这

27、个概率几乎可以忽略不计。从数学上讲,每个时序器件的亚稳态的出现都 有一定的概率,如果多个期间串联,总概率是各自概率的积,因此增加期间,会 消除“亚稳态”,但是这里的消除是指降低不稳定的时间,使得输出电平的稳定时间接近时钟周期。至于能否采样到正确的逻辑,则基本取决于第一个时序器件的输出。跨时钟域的核心问题是亚稳态现象,最简单的同步器设计加在该路径终点寄存器,同步器设计为两个背靠背的两级触发器,适用于慢时钟到 快时钟域的单根控制信号的同步。虽然同步器可以消除亚稳态现象,但其输出体 现输入变化的明确时钟周期仍然不可预测,这种不确定性是跨时钟域设计中功能 错误的本质原因,值得注意的是电平信号同步转换,

28、有效电平必须保持或大于 2个目的时钟周期,否则可能会丢掉,如图 2.4 所示 sigin D clkin Q D Q D Q sinout clkout图 2.4 二级同步信号转换逻辑 sigin D R1 R2 R3 Clkin Q D Q D Q RI Step time hold time clkout Cycle 1 R2 cycle2 cycle3 R3 图 2.5 跨时钟域信号的亚稳态现象如图 2.5 所示,两级寄存器组成的同步器,其输出信号 R3 虽然不存在亚稳态现象,但 R3 体现 R1 变化的时钟周期可能在 Cycle 2 也可能在 Cycle 3,这种不确定性是跨时钟域设计

29、中功能错误的本质原因,采用二级同步器的方式,R1 信号的有效时间是 Cycle 1,正确使用 R3 信号时间是 Cycle 4,电平信号同步转 换,有效电平必须保持或大于持 2 个目的时钟周期,否则可能会丢掉,适合于慢时钟域到快时钟域的单根控制信号的同步。2、采用格雷码的同步转换器适合于单根有效信号的转换,如图2.7 所示二进制计数器的位宽与源时钟、目的时钟的频差有关系,位宽log2(clkin/clkout),适合高速时钟域进入低速时钟域应用的场合:如数据传输的有效信号和适合于跨时钟域的递增指针的传输。 sigin binary binary Counter counter clkin cl

30、kout full compare D Q D Q D Q compare sigout clkin clkout图2.7 采用格雷码的二级同步信号转换逻辑3、采用格雷码编码的数据总线同步器:数据有效信号采用格雷编码转换逻辑, 产生目的时钟域的数据使能信号,这种类型主要用于寄存器通路中,同步后的读写使能信号作为同步使能信号,对地址和数据进行同步,如图 2.9 所示 Source clock domainack Destination clock domainGraycode synchronizersrc_vld D Gray code synchronizerdst_vld D Q src_

31、addD Qm bitsen dst_addD src_clksrc_dataD Qn bitsst_clkenD dst_dataQ 图 2.9 采用使能信号的同步器的逻辑4、不带应答的数据总线同步器:跨时钟域数据总线的传输,数据使能信号通 过脉冲同步器完成,特别适用于目的时钟大于源时钟域频率 3 倍以上的,低速时 钟域进入高速时钟域应用的场合,源时钟域发送数据时,前一个数据一定被目的 时钟域接收。数据总线输入同步器和输出同步器都是栈进栈出,利于定义约束文件,如图 2.10 所示。 datasrc_data D Q dst_data dst_valid D Qsrc_valid D Q Qc

32、lkin D Q D Q D clkout图 2.10 不带应答的数据总线同步器5、适用于低速时钟域进入高速时钟域应用的场合的脉冲同步器,如图 2.11 所示。sigoutsigin DclkinQ D Q D Q Clkout 图 2.11 脉冲同步器信号逻辑典型的同步器有电平同步器、边沿检测同步器、脉冲同步器等,虽然它们都可以消除亚稳态现象,但是其输出体现输入变化的确切时钟周期仍然不可预测的。2.2.2握手机制跨时钟域数据总线的传输,数据的使能信号通过握手信号完成。握手信号是 指由源电路声明,发送到目的电路的请求信号。目的电路检测该请求信号,判断 其有效性,然后声明它的响应信号反馈给源电路

33、。在电路实现中,源电路请求后 一定有应答;请求信号有效的过程,数据总保持稳定。信号转换逻辑,如图 2.15所示。对全握手信号,双方电路在声明或中止各自的握手信号前都要等待对方的响应,第一步,电路A 声明它的请求信号,第二步,电路B 检测到该请求信号有效后,声明它的响应信号,当电路A 检测到响应信号有效后,中止自己的请求信号,第三步,当电路B 检测到请求无效后,它中止自己的响应信号,除非电路A 检测到无效的响应信号,否则它不会再声明新的请求信号。data busD Qdata_outD Qen enreq_clkSenderHandshakeFSMREQack_clkACK F FF FF FF

34、 FF FF FF FQ DQ DReceiverHandshake FSMack_clkreq_clk图2.15 握手协议信号转换逻辑当使用部分握手信号方式时,响应的电路必须以正确的时序产生它的信号。如果响应电路要求先处理完一个请求,然后才能处理下一个请求,则响应信号的时序就很重要,电路用它的响应信号来指示它的处理任务何时完成。第一种部分握手方法混合了电平与脉冲信号,而第二种方法则只使用脉冲信号。这些握手协议使用的都是跨越时钟域的单一信号,但当几组信号要跨越时钟域时,设计人员就需要使用较复杂的信号传送方法。本文将在第四章进一步完成异步FIFO的设计。第三章 开发环境3.1硬件平台随着FPGA

35、的不断发展,尤其是如今许多高端FPGA的高密度、高性能以及丰富的特性,高端芯片系统(SoC)设计都选择了业界效率最高、性能最好的逻辑、嵌入式存储器和DSP功能的Stratix系列的FPGA。而这些高端的FPGA的开发平台也不得不随之不断地改进和升级,以满足高端FPGA设计的最佳解决方案。与各种FPGA的开发平台相比,Altera DE2-70 多媒体开发板配备了数量高达70,000 个逻辑单元的Altera Cyclone. II 2C70 和更大容量的记忆体元件,并完全承袭了Altera DE2 多媒体平台丰富的多媒体、储存及网路等应用介面的优点。Altera DE2-70 最新多媒体开发平

36、台提供使用者丰富的产品功能,在广泛的电路设计运用上,从简易的电路设计,到多样化的多媒体专案,使用者都能轻易完成。DE2-70 拥有显示器、视讯输出接口、音讯输入出、输入按钮、额外的存储存空间等配件,能够从事更为广泛的硬体设计;且其开发板可独立运作的特性,也更适合嵌入式系统相关硬体的开发。本设计就是基于DE2-70开发平台来完成异步FIFO的设计的。3.2软件平台Quartus II 是Altera公司的综合性PLD/FPGA开发软件,是Altera前一代FPGACPLD集成开发环境MAX+plus II的更新换代产品。支持原理图、VHDL、VerilogHDL以及AHDL(Altera Har

37、dware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,它提供了一种与结构无关的设计环境,是设计者能方便的进行设计输入、快速处理和器件编程。Quartus II提供了完整的平台的设计环境,能够满足各种特定的设计需要,设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。Quartus II也可以第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier,并能直接调用这些工具。同样,Quartus II具备仿

38、真功能,同时也支持第三方的仿真工具,如ModelSim。此外,Quartus II与MATLAB和DSP Buider结合,可以进行基于FPGA的DSP系统开发。Quartus II包括块化的编译器。编译器包括的公共模块有分析综合器(Analysis&Synthesis)适配器(Fitter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块、EDA网表文件生成器(EDA Netlist Writer)和编译数据库接口等。Quartus II 还包含许多十分有用的LPM(Library of Parameterized Moudles)模块,它们是复杂或

39、高级系统的重要组成部分,在SOPC设计中被大量使用。Quartus II软件的功能特性如下:Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括: 可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件; 芯片(电路)平面布局连线编辑; LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块; 功能强大的逻辑综合工具; 完备的电路功能仿真与时序逻辑仿真工具; 定时/时序分析与关键路径延时分析; 可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分

40、析; 支持软件源文件的添加和创建,并将它们链接起来生成编程文件; 使用组合编译方式可一次完成整体设计流程; 自动定位编译错误; 高效的期间编程与验证工具; 可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件; 能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。Quartus II还拥有良好的设计输入定位器,用于确定文本或图形设计中的错误。在进行编译后,可对设计进行时序仿真,编译和仿真无误后,便可以将下载信息通过Quartus II提供的编程器下载到目标器件中了。有了Quartus II强大功能的平台支持,就可方便快捷高效地实现异步FIFO的设计和实现了。

41、第四章 异步FIFO的设计与实现4.1异步FIFO 设计同步化是当今集成电路设计的主导思想之一,即采用同一个时钟来控制 所有时钟控制器件,然而在实际的数字系统中,完全同步化的设计,实现起来非 常困难,多数情况下,完成数据在不同时钟域间的传输是不可避免的。因此,如 何保持系统顺利、稳定地完成数据的传输是一个极其重要的问题,通常解决这一问题的做法是采用对每位信号增加握手信号或加同步器,但是这样会影响传输速 度和增加系统的复杂度。本文在两个时钟域的交界处增加一个异步 FIFO,通过它来实现数据流的传输。然而,常见的异步FIFO 设计采用同步读写地址后比较产生空满标志的方法,面积大、工作频率低。本章将通过优化格雷码编码电路来改进 常见的异步 FIFO 设计,减少面积空间,提升工作频率 写地址产生 双口RAM 读地址产生 full

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com