基于FPGA的异步FIFO设计毕业论文.docx

上传人:b****6 文档编号:3153174 上传时间:2022-11-18 格式:DOCX 页数:33 大小:1.29MB
下载 相关 举报
基于FPGA的异步FIFO设计毕业论文.docx_第1页
第1页 / 共33页
基于FPGA的异步FIFO设计毕业论文.docx_第2页
第2页 / 共33页
基于FPGA的异步FIFO设计毕业论文.docx_第3页
第3页 / 共33页
基于FPGA的异步FIFO设计毕业论文.docx_第4页
第4页 / 共33页
基于FPGA的异步FIFO设计毕业论文.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

基于FPGA的异步FIFO设计毕业论文.docx

《基于FPGA的异步FIFO设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于FPGA的异步FIFO设计毕业论文.docx(33页珍藏版)》请在冰豆网上搜索。

基于FPGA的异步FIFO设计毕业论文.docx

基于FPGA的异步FIFO设计毕业论文

基于FPGA的异步FIFO设计毕业论文

 

第一章绪论1

1.1FPGA简介1

1.2异步FIFO简介1

1.3国外研究现状及存在的问题1

1.3.1研究现状1

1.3.2存在问题2

1.4本课题主要研究容3

第二章异步FIFO设计要求及基本原理4

2.1设计要求4

2.2异步FIFO基本原理5

2.3异步FIFO设计难点5

2.4系统设计方案6

2.5异步FIFO验证方案7

2.5.1验证复位功能7

2.5.2验证写操作功能7

2.5.3验证读操作功能7

2.5.4验证异步FIFO电路整体功能7

第三章模块设计与实现8

3.1格雷码计数器模块8

3.2同步模块8

3.3格雷码∕自然码转换模块9

3.4空满标志产生模块10

3.5双端口RAM13

第四章时序仿真与实现15

4.1模块整合15

4.2时序仿真及功能测试17

4.2.1复位功能软件仿真与测试17

4.2.2写操作功能时序仿真与测试17

4.2.3读操作功能时序仿真与测试18

4.2.4异步FIFO电路整体功能软件仿真与测试18

4.2.5时序仿真结果总结19

第五章硬件仿真与实现20

5.1外部电路焊接20

5.2引脚分配21

5.3调试电路设计24

5.3.1调试电路介绍24

5.3.2异步时钟产生模块25

5.3.3伪随机数据队列产生模块25

5.3.5调试电路引脚分配26

5.3.6调试电路硬件仿真27

5.4异步FIFO电路硬件仿真28

5.4.1复位功能硬件仿真与测试29

5.4.2写操作功能硬件仿真与测试30

5.4.3读操作功能硬件仿真与测试30

5.4.4异步FIFO硬件电路整体功能软硬件仿真与测试31

5.4.5硬件仿真结果总结32

结论33

致谢34

参考文献35

附录36

第1章绪论

1.1FPGA简介

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在CPLD、PAL、GAL等可编程器件的基础上进一步发展的产物[10]。

利用VHDL或Verilog硬件描述语言进行电路设计,经过简单的布局整合之后,快速的烧入至FPGA上进行调试,是现代IC设计验证技术的主流。

FPGA作为一种半定制电路而出现在专用集成电路(ASIC)领域中,既克服了先前可编程器件的门电路数目有限的缺点,又弥补了定制电路的不足。

基于FPGA的异步FIFO具有现场可编程,容量改动性大,速度快,实现简单,开发时间快,生产周期短,可移植性好的优点。

1.2异步FIFO简介

在现代集成电路芯片中,设计规模不断扩大,一个系统中往往包含多个时钟。

如何在异步时钟间进行数据传输成为了电路设计中的一个重要问题。

异步FIFO(FirstInFirstOut)是解决这个问题的一个简单有效的方案。

异步FIFO是一种先进先出电路,常用来缓存数据和容纳异步信号间的周期和相位差异,使用异步FIFO可以在两个不同的时钟系统之间进行快速准确的实时数据传输。

异步FIFO在网络接口、数据采集和图像处理等方面得到了十分广泛的应用[2]。

异步FIFO用在异步时钟数据接口部分,由于异步时钟间的频率和相位完全独立,数据传输时的丢失率不为零,如何降低数据丢失率,设计一个高速可靠的异步FIFO便成为了一个难点。

本课题介绍了一种基于FPGA设计高速可靠的异步FIFO电路的方法。

1.3国外研究现状及存在的问题

1.3.1研究现状

在20世纪80年代早期对FIFO存储器的容量和速度需求都很低,所以那时的FIFO芯片是基于移位寄存器的中规模集成(MSI)器件,由于这种芯片在容量不会太大,所以其速度也不可能很快。

新型的FIFO芯片是基于RAM结构的大规模集成(LSI)电路,其部存储单元使用一个双端口RAM,具有输入和输出两套数据线。

由于采用RAM结构,数据从写入到读出的延迟时间将大大缩短。

这种芯片能在存储宽度和深度上得到很大的发展。

目前,为了更大的提高芯片容量,其部存储单元使用动态RAM代替静态RAM,并在芯片部集成刷新电路,通过部仲裁单元控制器件的读写及自动刷新操作。

随着微电子技术的飞速发展,新一代的FIFO芯片容量越来越大,速度越来越快,体积也越来越小。

美国IDT公司已经推出运行速度高达225MHz,电压低至2.5V,可在业各种配置下实现业最大数据流量高达9Mb的FIFO系列。

CypressSemiconductor公司推出具有80位宽的BEAST型的高性能FIFO存储器,它的带宽高达300bps,可以工作在200MHz频率下;Honeywell公司推出了一种基于SOI的FIFO存储器,它采用专门的抗辐射加固工艺和设计版图,主要用于军事系统和高辐射的空间环境中;FIFO芯片的最新产品是IDT公司推出的多队列FIFO存储器系列,它使用集成的嵌入式FIFO存储器核和高速队列逻辑来构成块结构。

它的数据读写速度可达到200MHz,存储时间也只有3.6ns,可以通过最多八个器件的连接来实现容量深度的扩展和队列扩展[6]。

目前在国大部分集成芯片中,单独做FIFO芯片的很少,国的一些研究所和厂商也开发了FIFO电路,但还远不能满足市场和军事需求。

1.3.2存在问题

国外设计FIFO时,通常使用两种方法,一是利用可编程逻辑器件来构造FIFO(如Xilinx公司),二是利用Verilog、VHDL等硬件描述语言来对FIFO的功能结构进行描述[6]。

在大部分的EDA软件中,都是通过综合器来完成对EDA等硬件语言的编译的,综合器将硬件描述语言的描述转变为物理可实现的电路形式,由于FIFO是基于RAM结构的,大部分的参考资料都是建立在数组存取的基础上对FIFO进行描述的,然而综合器对数组的综合一般是将其转变为寄存器的结构,这带来的缺陷是综合后的结构会非常庞大,造成在大容量的FIFO设计时,会产生大量面积的浪费,甚至无法集成。

1.4本课题主要研究容

本课题基于FPGA技术,在CycloneII系列的EP2C5T144C8N芯片的基础上,选用QuartusII软件利用VHDL硬件描述语言进行逻辑描述,并采用层次化、描述语言和图形输入相结合的方法设计了一个RAM深度为128bit,数据宽度为8bit的异步FIFO电路,并对其功能进行了时序仿真和硬件仿真验证。

论文各章节的主要容安排如下:

第一章为绪论,简要介绍了FPGA的相关知识以及异步FIFO的主要作用、研究背景和国外的发展现状,并概括介绍了本课题的主要研究容。

第二章为异步FIFO设计要求及基本原理,首先介绍了本课题的设计要求,然后对异步FIFO的结构、基本原理以及其设计难点进行了分析,并由此归纳出系统的设计模块和预期功能。

第三章为模块设计与实现,主要介绍了异步FIFO的模块组成及各模块的功能和原理,并利用VHDL硬件描述语言,通过QuartusII软件对各模块进行了编写和仿真。

第四章为时序仿真与实现,通过层次化、描述语言和图形输入相结合的方法将各模块整合为异步FIFO顶层模块,并通过QuartusII软件的波形编辑器对其进行时序仿真和分析。

第五章为硬件仿真与实现,连接外设及进行引脚分配后,将完成的异步FIFO顶层实体下载入开发板,并通过编写测试程序产生读写时钟及伪随机数输入数据,利用QuartusII软件的嵌入式逻辑分析仪SignalTapII对实物进行硬件仿真和分析,完成设计任务。

最后结论对本次毕业设计进行了归纳和综合,概括了所取得的成果和存在的不足,以及对进一步开展研究的见解与建议。

 

第2章异步FIFO设计要求及基本原理

2.1设计要求

本课题使用EP2C5T144C8N核心板最小系统设计一个RAM深度为128bit,数据宽度为8bit的异步FIFO电路,其外部接口如图2-1所示,接口说明如表2-1所示。

复位后,通过读写使能控制读写操作。

当写时钟脉冲上升沿到来时,判断写信号是否有效,有效则写入一个八位数据到RAM中;当读时钟脉冲上升沿到来时,判断读信号是否有效,有效则从RAM中把一个八位数据读取出来。

当RAM中数据写满时产生一个写满标志,不能再往RAM写入数据;当RAM中数据读空时产生一个读空标志,不能再从RAM读出数据。

图2-1异步FIFO外部接口

表2-1异步FIFO外部接口说明

管脚名称

方向

说明

rst

in

复位,低电平有效

wr_en

in

写使能,高电平有效

rd_en

in

读使能,高电平有效

wr_clk

in

写时钟

rd_clk

in

读时钟

full

out

读空标志

empty

out

写满标志

Data[7..0]

out

输入数据

q[7..0]

out

输出数据

2.2异步FIFO基本原理

异步FIFO主要由双端口RAM和读写控制逻辑及空满标志产生逻辑构成,其基本结构图如图2-2所示。

 

图2-2异步FIFO基本结构图

由结构图可以看出该系统为环状结构,存在两个完全独立的时钟域——写时钟域和读时钟域。

异步FIFO的存储介质是一块双端口RAM,可以同时进行读写操作。

在写时钟域,写地址产生逻辑产生写地址和写控制信号,在读时钟域,读地址产生逻辑产生读地址和读控制信号。

空满标志产生逻辑通过比较同步后的读写地址来产生空满标志信号,同时,产生的空满标志信号又和输入的读写使能信号一起控制读写时钟域进行读写操作。

2.3异步FIFO设计难点

异步FIFO设计存在两个难点:

一是如何同步异步信号,降低亚稳态发生概率;二是如何正确产生存储器的空满标志[8]。

其中如何正确产生存储器的空满标志在下一章节有详细介绍。

亚稳态是一种物理现象,必然发生在异步FIFO电路中。

在数字电路中,触发器必须满足建立和保持的时间要求,然而在实际电路中,电路的外部输入和部时钟完全独立,存在很大可能性出现不满足建立和保持的时间要求的情况,另外,由于在电路部的两个毫无关系的时钟域之间进行信号传递,也可能出现不满足建立和保持的时间要求的情况。

这种情况会使系统中存在未知态,输出将有可能是逻辑0或者逻辑1,或者是介于两者之间的任何值,这个过程称为亚稳态。

由于亚稳态使物理系统产生了一种不可预知性,所以亚稳态是很危险的。

虽然亚稳态没法避免,但可以通过下面两种方法降低亚稳态发生的概率[12]:

(1)对读写地址使用格雷码计数器。

格雷码是一种错误最小化的编码方式,使用格雷码计数器进行计数时,每一次计数增加只有一位数据位改变,而使用自然二进制码计数时,每一次计数增加都可能造成多位数据位的变动,这就使得数据位变动时,格雷码计数器发生亚稳态的概率大大低于自然二进制码计数器。

(2)使用触发器同步异步信号。

使用触发器同步或者增加冗余可以很好的降低亚稳态发生的概率,本课题采用D触发器二级同步方式,同步电路图如图2-3所示。

当且仅当Q1的跃变非常接近时钟沿的时候,Q2才会进入亚稳态[2],这就大大提高了系统的可靠性。

 

图2-3D触发器二级同步

2.4系统设计方案

根据异步FIFO基本原理,本课题可采用层次化、描述语言和图形输入相结合的方法设计异步FIFO电路,该系统可分为同步模块、格雷码计数模块、格雷码∕自然码转换模块、空满标志产生模块和双端口RAM几部分组成。

2.5异步FIFO验证方案

根据异步FIFO的基本原理和本课题的设计方案,若所设计的异步FIFO电路能实现如下预期设计功能,则该异步FIFO电路符合设计要求。

2.5.1验证复位功能

将系统运行后,若按下复

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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