基于fpga的fifo寄存器设计(附件)【字数:10223】

摘 要FIFO芯片在高速数据采集、数据处理、数据传输以及多机系统中应用越来越广泛。随着FPGA技术的发展,FPGA具有低功耗、在线可编程、开发周期短、开发成本低等特性,使得利用其实现高可靠性、高速的异步FIFO存储器成为可能。本毕业设计实现了一种基于FPGA的FIFO寄存器,FIFO寄存器是一个先入先出的双口缓冲器,它是系统中的缓冲环节。系统采用Vivado软件,在Artix-7系列的BASYS3开发板的基础上,使用Verilog HDL语言编写程序,设计了一个RAM深度为64 bit,数据宽度为8 bit的寄存器,并实现了计数模块、同步模块、存储模块以及空/满标志计数模块。
目 录
第一章 绪论 1
1.1FPGA的概述 1
1.2异步FIFO的概述 1
1.2.1概念 1
1.2.2应用领域 1
1.3国内外研究的现况及存在的问题 1
1.3.1研究现状 1
1.3.2存在问题 2
1.4 本文的研究成果及内容安排 2
第二章 异步FIFO的设计及其工作原理 3
2.1设计要求 3
2.2异步FIFO基本原理 3
2.3异步FIFO设计中遇到的问题 4
2.3.1异步FIFO设计过程的分析 4
2.3.2空满状态的判断 5
2.4异步FIFO验证方案 5
2.4.1写操作功能的验证 5
2.4.2读操作功能的验证 6
2.4.3异步FIFO寄存器整体功能的验证 6
第三章 模块的设计及实现的情况 7
3.1计数模块 7
3.2同步模块 7
3.3空满标志产生模块 8
3.3存储模块 10
第四章 时序仿真 11
4.1 模块整合 11
4.2 时序仿真及其功能测试 11
4.2.1 复位功能软件仿真与测试 11
4.2.2 写操作功能时序仿真与测试 12
4.2.3 读操作功能时序仿真与测试 12
4.2.4 异步 *好棒文|www.hbsrm.com +Q: #351916072# 
FIFO寄存器整体功能设计的软件仿真与测试 13
4.2.5 时序仿真结果总结 14
结束语 15
致 谢 16
参考文献 17
附录A 同步模块Verilog设计程序 18
附录B 存储模块程序 19
附录C 读指针控制模块 20
附录D 写指针控制模块 22
附录E 顶层模块 24
第一章 绪论
1.1FPGA的概述
FPGA又叫做现场可编程门阵列,FPGA在可编程器件方面有很大的发展[3]。利用Verilog或VHDL语言编写相应的程序从而设计出对应的电路,设计的过程中先进行简单的布局,再进行综合,最后再将设计的程序烧录到FPGA板子中,不断地调试与仿真。基于FPGA的FIFO具有容量消耗低、可靠性高、现场可编程、利用率高、开发时间短、设计费用低等优势。
1.2异步FIFO的概述
FIFO通常叫做先入先出的队列。电路设计中都用FIFO队列来进行数据的缓存,可应用在数据的高速采集、通信中的高速缓冲和多处理器的接口等方面[5]。如果在异步系统下传输数据,这时候就需要用到异步FIFO,举个例子来说,FIFO一共有两个端子,一个是AD数据采集,其中AD数据采集是用来进行数据采集的,另一个是PCI总线,计算机的PCI总线是用来对数据进行匹配的。通过FIFO可以使数据达到匹配的效果,异步FIFO可以适配不同时钟之间的相位差和频率漂移。
1.2.1概念
从广义上,FIFO存储器可以分成两个部分,这两个部分分别为外围电路和存储阵列。理论上,FIFO寄存器设有两个指针,这两个指针是设计成指向同一个内存的,分别用来读数据和写数据。因为时钟域是异步的,所以在存储数据的时候会出现很多状况。
1.2.2应用领域
Verilog HDL硬件描述语言因为具有语法简单、阅读简便、易于修改等多种优点受到许多工程师的青睐。异步FIFO的存储方法非常实用,几乎大多数的存储系统都可以用异步FIFO的方式来实现,一方面,异步FIFO可以设计出存储模块,从而存储一些基本的信息,来实现先入先出的效果;另一方面,它可以投入到大量的计算机中,快速简单的完成存储工作。在多数领域,我们可以把这种技术投入到多机系统、数据的采集和对图像的处理等各个应用中,甚至可以在国防系统中看到异步FIFO的身影。
1.3国内外研究的现况及存在的问题
1.3.1研究现状
微电子技术的发展越来越迅速,随之而来的影响就是FIFO芯片的容量不断扩大、传输的速度也越来越快。美国IDT公司推出了一系列FIFO系列,速度高达225 MHz,电压低至2.5 V。Cypress Semiconductor公司可在各种配置下,让数据流量达9 Mb,并推出了具有80位宽BEAST的高性能FIFO存储器。Honeywell推出了一款基于SOI的FIFO存储器,这个存储器的特殊之处就是采用了一定的抗辐射加固工艺,并且在布局上也下了很多功夫。有一个系列的最新产品叫做IDT多队列FIFO存储器,它的布局主要是由嵌入式FIFO存储器内核和高速队列逻辑形成的[11]。这种产品的数据读写速度最快可以达到每秒200 MHz,更惊人的是,它的存储时间竟然只有3.6 纳秒.如果要扩大容量的深度并排队,只需要连接最多8台这种设备就可以完成了[6]。现阶段看来,在中国的集成芯片市场中只有很少的FIFO芯片是相对独立的。国内很多的研究机构和开发商都在对FIFO技术进行运作,但它们的研究成果不能满足市场和军事的需要。
1.3.2存在问题
异步FIFO的设计过程中我们需要对以下两个问题着重解决:
(1)写指针和读指针的转换、计算过程中减少延时、写读时钟的频率低
(2)异步时钟域下传递读写指针会导致亚稳态的出现
1.4 本文的研究成果及内容安排
课题选用Vivado软件,在Artix7系列的BASYS3板子的基础上,使用Verilog HDL语言编写程序,设计了一个RAM深度为64bit,数据宽度为8bit的寄存器,该寄存器具有传输速度快、可靠性高的特点,并对该寄存器的功能进行时序仿真测试。
各章节内容如下:
第一章为绪论,对FPGA和异步FIFO的内容进行阐述,接着对本课题研究的现状和需要解决的问题进行了描述;

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/75.html

好棒文