基于fpga的高速异步fifo存储器设计

基于fpga的高速异步fifo存储器设计

ID:33894179

大小:1.16 MB

页数:7页

时间:2019-03-01

基于fpga的高速异步fifo存储器设计_第1页
基于fpga的高速异步fifo存储器设计_第2页
基于fpga的高速异步fifo存储器设计_第3页
基于fpga的高速异步fifo存储器设计_第4页
基于fpga的高速异步fifo存储器设计_第5页
资源描述:

《基于fpga的高速异步fifo存储器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、云南大学学报(自然科学版),2007,29(6):560~565CN53-1045/NISSN0258-7971JournalofYunnanUniversityX基于FPGA的高速异步FIFO存储器设计杨军,孔兵,宋克俭,尹航(云南大学信息学院,云南昆明650091)摘要:介绍异步FIFO存储器应用及其结构,详细分析了异步FIFO的标志逻辑设计及亚稳态的消除,提出了一种基于FPGA芯片利用格雷码对地址编码解决异步读、写时钟问题的思路及方法,并给出了VHDL程序.该方法具有高速、可移植性强、工作效率高的特点,在数字系统

2、设计中具有一定的意义和应用价值.关键词:异步FIFO;标志逻辑;格雷码;亚稳态;FPGA;VHDL中图分类号:TP333.5文献标识码:A文章编号:0258-7971(2007)06-0560-06异步FIFO(FirstInFirstOut,先进先出对列)存储器是1种在数字系统中得到广泛应用的先进先出逻辑器件.在现代集成电路芯片中,由于设计规模的不断扩大,一个系统中往往含有多个时钟,使用异步FIFO可以在2个不同时钟系统之间,快速而方便地传输实时数据,所以异步FIFO常用于数据的缓存和容纳异步信号的频率或相位的差异.

3、因此在网络接口、图像处理、数字通信等领域,异步FIFO均得到了广[1][2]泛的应用.但在异步电路中,由于时钟之间周期和相位完全独立,因而数据的丢失概率不为零.对于异步FIFO存储器而言,数据是由某一个时钟域的控制信号写入FIFO,而由另一个时钟域的控制信号将数据读出FIFO.也就是说数据读、写操作是跨时钟域的.因此如何设计一个高可靠性、高速异步FIFO存[2]储器电路便成为一个难点.近年来随着FPGA(FieldProgrammableGateArray,现场可编程门阵列)技术的发展,FPGA的低功耗、高可靠性、在线

4、可编程、可重构性、开发周期短、开发费用低廉等特性,使得利用其实现高可靠性、高速[3]的异步FIFO存储器成为可能.本文讨论了利用VHDL硬件描述语言,直接调用其FPGA芯片内部可编程的底层硬件资源,完成高速异步FIFO存储器设计的思路和方法,并着重分析了异步FIFO的标志逻辑设计及亚稳态现象的解决方案,提出了一种新的设计算法,给出了1种基于Xilinx公司的SpantanⅡ系列FPGA芯片,在ISE设计平台下,编译实现的高速异步FIFO存储器模型.1异步FIFO存储器的设计1.1FIFO存储器的结构FIFO存储器通常采

5、用的是基于带2个指针的环行FIFO结构.要写入数据的存储地址放在写指针中,存储单元中要读出的第1个数据的地址放在读指针中.其基本结构包括存储器阵列,标志逻辑和扩展逻辑.存储器阵列由双端口存储单元构成,允许同时对存储单元的2个端口(读端口和写端口)进行存取.标志逻辑用于比较2个地址指针的值,如果2个值的比较结果为零,FIFO存储器为全空,全空标志为真.如果2个值的比较结果等于存储器的容量深度,说明存储器全满,全满标志为真.还可以根据要求设置其他标志,如半满,可编程接近满,可编程接近空等标志.扩展逻辑包括深度扩展与字宽扩展

6、2种模式.深度扩展可以实现逻辑上容量更深的FIFO存储器.在此模式中采用令牌传递方法,对多个存储单元按容量深度扩展结构进行级联,形成更深存储容量的FIFOX收稿日期:2006-12-30基金项目:云南省教育厅科学研究基金项目(6Y0046D).作者简介:杨军(1963-),男,云南人,副教授,硕士生导师,主要从事计算机应用技术方面的研究.第6期杨军等:基于FPGA的高速异步FIFO存储器设计561存储器.在普通模式下(没有进行容量深度级联的模式),每一个地址在到达最大值后,会跳回到零.在容量深度扩展模式下,当地址指针到

7、达最大值后,一个脉冲信号会送到扩展端口,该端口把令牌传到另一个FIFO存储器中,直到令牌重新传回来,此时地址指针才会增加,从而实现深度扩展.字宽扩展可以使FI2FO存储器有更宽的数据通路.在此模式中,读操作、写操作和重传输都一样.因此要在字宽上扩展多个FIFO存储器,必须同时对每个存储器的状态标志进行操作生成“混合标志”.混合标志也包括全空标志和[4]全满标志.这样才能保证FIFO存储器保持同步,达到字宽扩展的目的.1.2异步FIFO存储器的设计思想从硬件角度分析,FIFO存储器本质是一块双端口数据内存,一个端口用于将

8、数据存入FIFO;另一个端口用于将数据从FIFO中取出.FIFO的相关操作可以看作是2个指针的定位,写指针指向要写的内存部分,读指针指向要读的内存部分.FIFO控制器通过外部的读、写信号控制这2个指针移动,并由此产生FIFO空信号或满信号.所以硬件上来实现FIFO存储器,一般采用双端口的SRAM单元来存取数据.利用二进制计数器实现

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。