《基于FPGA的FIFO存储器设计》-公开DOC·毕业论文

上传人:zhuma****mei2 文档编号:136017874 上传时间:2020-06-22 格式:DOC 页数:26 大小:1.25MB
返回 下载 相关 举报
《基于FPGA的FIFO存储器设计》-公开DOC·毕业论文_第1页
第1页 / 共26页
《基于FPGA的FIFO存储器设计》-公开DOC·毕业论文_第2页
第2页 / 共26页
《基于FPGA的FIFO存储器设计》-公开DOC·毕业论文_第3页
第3页 / 共26页
《基于FPGA的FIFO存储器设计》-公开DOC·毕业论文_第4页
第4页 / 共26页
《基于FPGA的FIFO存储器设计》-公开DOC·毕业论文_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《《基于FPGA的FIFO存储器设计》-公开DOC·毕业论文》由会员分享,可在线阅读,更多相关《《基于FPGA的FIFO存储器设计》-公开DOC·毕业论文(26页珍藏版)》请在金锄头文库上搜索。

1、1、 绪论1.1 FPGA的发展及结构特点1.1.1 FPGA的含义及发展 自从1985年Xilinx公司推出第一片现场可编程逻辑门阵列(Field Programmable Gates Array, FPGA)至今1。FPGA已经成为当今电子设计市场上应用最广泛的可编程逻辑器件之一。可编程逻辑器件按集成度来区分,可大致分为简单PLD和复杂PLD2。如图1.1所示 ,它的发展大致经历了以下三个阶段3:(1) 早期的可编程逻辑器件:70年代初期的可编程逻辑器件(PLD)主要用于各种类型的存储设备,主要器件有可编程只读存储器(PROM)、紫外线可擦出只读存储器(EPROM)、和电可擦出只读存储器(

2、EEPROM),由于结构比较简单,它们只能完成简单的逻辑功能。 (2) 结构上稍微复杂的可编程芯片:70年代末到80年代初,AMD公司和Lattice公司先后推出了可编程逻辑器件(PLD)。产品主要有PAL(可编程逻辑阵列,Program- mable Array Logic)、GAL(通用阵列逻辑,Generic Array Logic)和PLA(可编程逻辑阵列,Programmable Logic Array)。这几类器件在设计上有很强的灵活性,可以实现速度特性较好的逻辑功能,但由于结构简单,它们只能实现规模较小的电路。 (3) 功能齐全、编程灵活的可编程逻辑器件:80年代中期,Alter

3、a公司和Xilinx公司同期推出了CPLD(复杂可编程逻辑门阵列,Complex Programmable Logic Device)和FPGA(现场可编程逻辑门阵列,Field Programmable Gates Array),它们都具有体系结构和逻辑单元灵活,集成度高以及适用范围宽等特点,可以实现较大规模的电路。图1.1 可编程逻辑器件分类进入90年代以后,可编程逻辑集成电路进入了飞速发展时期,在系统可编程技术ISP(InSystem Programmability)和世界扫描测试技术的出现,使得可编程逻辑器件在器件编程技术和器件测试技术方面也获得了划时代的进步。FPGA/CPLD已成为

4、当今应用最广泛的可编程集成电路之一1。工程师可在办公室和实验室进行设计。它还具有静态可重复编程和在系统重构特性,使硬件和软件一样,能够通过编程来修改。1.1.2 FPGA的结构特点一些基本的逻辑器件如GAL、CPLD之类都是基于乘积项的可编程结构,即由可编程的与阵列和固定的或阵列组成。而FPGA则是另一种可编程逻辑结构查找表(Look Up Table,LUT)结构4,如图1.2所示。查找表(LUT)是可编程的最小逻辑构成单元。大部分FPGA采用静态随机存储器(SRAM)的查找表逻辑来形成结构,用SRAM来构成逻辑函数发生器。Xilinx公司的XC4000系列、Spartan/3/3E系列,A

5、ltera公司的FLEX10K、ACEX、APEX、Cyclone、Cyclone、Stratix等系列都采用SRAM查找表构成,这些都是典型的FPGA器件5。图1.2 FPGA查找表结构通用FPGA包含3类可编程资源,分别是可编程逻辑功能块、可编程I/O功能模块和可编程内部互连4,如图1.3所示。Cyclone/Cyclone系列器件是 Altera 公司一款低成本,高性价比的FPGA,它的结构和工作原理在FPGA器件中具有典型性。Cyclone/Cyclone器件主要由逻辑阵列快LAB、嵌入式存储块、I/O单元、嵌入式硬件乘法器和PLL等模块组成,各模块之间存在着丰富的互联线和时钟网络。图

6、1.3 FPGA内部结构1.2 FIFO的基本概念及分类1.2.1 FIFO的基本概念及功能FIFO(First In First Out)是先进先出存储器的缩写,它是一种实现数据先进先出的存储器件,通常用作数据缓冲器6。它与普通存储器的主要区别在是FIFO不需要外部读写地址线,在使用中具有简单,方便的特点。FIFO一般用于不同时钟之间的数据传输,比如FIFO的一端是AD数据采集,另一端是计算机的PCI总线,在两个不同的时钟域间就可以采用FIFO作为数据缓冲。另外,对于不同宽度的数据接口也可以用FIFO,例如单片机为8位输出,DSP为16位输出,在单片机域DSP连接时就可以使用FIFO来达到数

7、据匹配的目的。在实际工作中,对FIFO的数据操作是靠其满/空标志来实现的。所谓满标志,指的是当对FIFO写数时,如果数据足够多,多到FIFO的内存已经装满了,此时便由FIFO内部状态电路送出一个表示内存已满的信号以阻止对FIFO的写操作。同理,所谓空标志,指的是当从FIFO读数时,如果数据被读完了,便有FIFO内部状态电路送出一个空标志信号以阻止对FIFO的读操作。总之,在控制FIFO的读写操作时,必须把握一个原则:写满不溢出,读空不多读7。1.2.2 FIFO存储器的分类 根据FIFO存储器工作的时钟域不同,可以将FIFO存储器分为同步FIFO存储器和异步存储器两大类。同步FIFO存储器是指

8、读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作;异步FIFO存取器是指读写时钟不一致,读写时钟是互相独立的。和同步时钟相比,特别是在网络接口、图像处理等方面,异步FIFO存储器应用空间更为广泛。1.3 硬件实验平台简介28GW48EDA/SOPC实验系统是杭州康芯电子有限公司开发,一个对EDA/SOPC的基本实验平台。该系统拥有以下几个重要特点8:1. 多功能重配置结构电路结构(Multi-task Reconfiguration)。该电路结构能仅通过一个键,完成以纯电子切换的方式选择十余种不同的实验系统硬件电路连接结构,大大提高了实验系统的连接灵活性,同时又不影响整个系统的工作速

9、度。这里仅仅说明本文中所涉及到的电路模式,我们选择为模式NO.0。如图1.4所示。图1.4 模式NO.0连接结构2. FPGA/CPLD万能插口 图1.6是一块插于主系统板上的目标芯片适配座,对于不同的目标芯片可有不同的适配座。可用的目标芯片包括目前世界上最大的六家FPGA/CPLD厂商几乎所有的CPLD/FPGA和所有的ispPAC等模拟EDA器件。每个脚本公司已经将定义标准化,各种芯片对应关系可以在实验说明中查到8。图1.6 芯片与引脚对应关系3. ByteBlasterMV编程配置口:此口由两个用途(1) 在对适配板FPGA/CPLD进行编程时,用十芯线板口和适配板的JTAG口连。(2)

10、 如果进行独立的电子系统、应用系统开发等开发实践活动,首先应该将系统板上的目标芯片适配座拔下(对于Cyclone器件不用拔),用配置的10芯编程线将ByteBlasterMV口和独立系统上适配板的JTAG10芯相接,进行在系统编程,进行调试。1.4 Quarters特点及开发流程1.4.1 EDA的设计流程简单地说,电子设计自动化(EDA,Electronic Design Automation)技术可以概括为以大规模可编程逻辑器件CPLD/FPGA为设计载体,通过硬件描述语言输入给相应开发软件,经过编译和仿真处理,最终下载到设计载体中,从而完成系统电路设计任务的一门新技术。图1.7 EDA设

11、计流程利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的,EDA设计流程如图1.7所示。EDA的标准设计流程采用自上而下(UP-DOWN)的模式,包括设计准备、设计输入、设计处理、器件编译和设计完成5个步骤,以及相应的功能仿真、时序仿真和器件测试等三个设计验证过程9。相对于以前自下而上的设计方式,EDA设计方式有很多优点,例如它可以先编程、仿真。知道最终测试通过后才开始具体的硬件实现,这样就大大地节约了设计成本,同时也提高了设计的效率。1.4.2 Quarters特点 Quarters是Altera公司推出的目前应用非常广泛的一款EDA开发系统。它是一个完整的多平台设计环境。

12、它可以轻松满足特定设计的需要,并且提供可编程片上系统(SOPC)设计的综合开发平台,是SOPC设计的基础。Quarters 将设计、综合、布局、仿真验证、和编程下载以及第三方EDA工具集成在一个无缝的环境中,可以进行系统级设计、嵌入式系统级设计和可编程逻辑器件设计10。Quarters开发工具提供了完全集成,且与电路结构无关的数字逻辑设计环境,以及SOPC设计的嵌入式系统开发平台。主要特点如下:1. 可利用原理图、结构图、VerilogHDL、VHDL、AHDL等硬件描述语言完成逻辑电路的描述和编辑,以及芯片(电路)平面布局连线的编辑。2. 功能强大的逻辑综合工具,并提供RTL级查看器(原理图

13、视图和层次结构列表)。3. 完备的电路功能描述和时序逻辑仿真工具。4. 自动定位编译错误,提供高效的器件编程与验证工具。5. RTL-to-Gate形式验证。此外,Quarters还将默认安装SOPC Builder,自动添加、参数化和连接IP核,包括嵌入式处理器、协处理器。外设和用户自定义逻辑,从而为嵌入式的开发提供方便。1.4.3 Quarters设计流程 Quarters提供了完全集成且与电路结构无关的数字逻辑设计环境,拥有图1.8 Quarters设计流程CPLD/FPGA各个开发阶段对应得开发工具。图1.8是Quarters的开发流程示意图,Quarters为开发流程的每个阶段提供Q

14、uarters图形用户界面。EDA工具界面11。大大方便了用户的开发工作,提高开发效率。2、 同步FIFO存储器设计2.1 同步FIFO软件设计流程同步FIFO存储器通常是指FIFO存储器的读写时钟频率相同、来源相同,这种FIFO存储器的设计较为简单而且传输数据也很快速,因为它避免了由于异步时钟逻辑产生的在许多设计中具有挑战性的难题。同步FIFO存储器通常用在读写时钟相同的接口部分,这种FIFO存储器相比较而言,逻辑较为简单,时延较小,传输数据的速度比较快。此外,同步FIFO存储器还具有深度可扩展性12。同步FIFO存储器的整个系统可分为写地址产生逻辑、读地址产生逻辑、双端口存储器、满/空标志

15、产生逻辑4大部分。其中,同步FIFO存储器的存储介质为一块双端口RAM,可以同时进行读写操作。在写地址产生逻辑部分,由写地址产生逻辑产生写控制信号和写地址;在读地址产生逻辑部分,由读地址产生逻辑产生读控制信号和读地址。在满/空标志产生部分,由读写地址相互比较产生满/空标志。具体模块结构如图2.1所示:读数据写数据双端口存储器写控制信号写地址读控制信号读地址满/空标志产生逻辑满标志空标志时钟输入写地址产生逻辑读地址产生逻辑图2.1 同步FIFO存储器逻辑结构图2.2 同步FIFO的VHDL语言描述及仿真2.2.1同步FIFO存储器VHDL语言描述 根据FIFO的深度可扩展性,我们以采用宽度为8,深度为64为设计目标。由于同步FIFO存储器各个模块描述相对来说比较容易,我们采用一个结构体,多个进程的方式进行描述7。下面给出同步FIFO存储器源程序及相关说明: LIBRARY IEEE; 设计中相关库的说明;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;定义实体FIFO,其逻辑结构及相应端口如图2.2所示。ENTITY FIF

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

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号