基于FPGA的FIFO存储器设计(毕业论文doc)

上传人:liu****han 文档编号:53442431 上传时间:2022-02-10 格式:DOC 页数:4 大小:138.83KB
收藏 版权申诉 举报 下载
基于FPGA的FIFO存储器设计(毕业论文doc)_第1页
第1页 / 共4页
基于FPGA的FIFO存储器设计(毕业论文doc)_第2页
第2页 / 共4页
基于FPGA的FIFO存储器设计(毕业论文doc)_第3页
第3页 / 共4页
资源描述:

《基于FPGA的FIFO存储器设计(毕业论文doc)》由会员分享,可在线阅读,更多相关《基于FPGA的FIFO存储器设计(毕业论文doc)(4页珍藏版)》请在装配图网上搜索。

1、1、 绪论 1.1 FPGA 的发展及结构特点 1.1.1 FPGA 的含义及发展 自从 1985 年 Xilinx 公司推出第一片现场可编程逻辑门阵列(Field ProgrammableGates 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 功能齐全、编程灵活的可编程逻辑器件:

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

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

5、ilinx 公司的 XC4000 系列、Spartan/3/3E 系列,Altera 公司的FLEX10K、ACEX、APEX、Cyclone、Cyclone、Stratix 等系列都采用 SRAM 查找表构成,这些都是典型的 FPGA 器件5。 图 1.2 FPGA 查找表结构 通用 FPGA 包含 3 类可编程资源,分别是可编程逻辑功能块、可编程 I/O 功能模块和可编程内部互连4,如图 1.3 所示。Cyclone/Cyclone系列器件是 Altera 公司一款低成 本, 高 性 价 比的 FPGA, 它 的 结 构和 工 作 原 理在 FPGA 器 件 中 具有 典 型 性。Cycl

6、one/Cyclone器件主要由逻辑阵列快 LAB、嵌入式存储块、I/O 单元、嵌入式硬件乘法器和 PLL 等模块组成,各模块之间存在着丰富的互联线和时钟网络。 图 1.3 FPGA 内部结构 1.2 FIFO 的基本概念及分类 1.2.1 FIFO 的基本概念及功能 FIFO(First In First Out)是先进先出存储器的缩写,它是一种实现数据先进先出的存储器件,通常用作数据缓冲器6。它与普通存储器的主要区别在是 FIFO 不需要外部读写地址线,在使用中具有简单,方便的特点。FIFO 一般用于不同时钟之间的数据传输,比如 FIFO 的一端是 AD 数据采集,另一端是计算机的 PCI

7、 总线,在两个不同的时 l钟域间就可以采用 FIFO 作为数据缓冲。另外,对于不同宽度的数据接口也可以用 FIFO,例如单片机为 8 位输出,DSP 为 16 位输出,在单片机域 DSP 连接时就可以使用 FIFO来达到数据匹配的目的。 在实际工作中,对 FIFO 的数据操作是靠其满/空标志来实现的。所谓满标志,指的是当对 FIFO 写数时,如果数据足够多,多到 FIFO 的内存已经装满了,此时便由 FIFO内部状态电路送出一个表示内存已满的信号以阻止对 FIFO 的写操作。同理,所谓空标志,指的是当从 FIFO 读数时,如果数据被读完了,便有 FIFO 内部状态电路送出一个空标志信号以阻止对

8、 FIFO 的读操作。总之,在控制 FIFO 的读写操作时,必须把握一个原则:写满不溢出,读空不多读7。 1.2.2 FIFO 存储器的分类 根据 FIFO 存储器工作的时钟域不同,可以将 FIFO 存储器分为同步 FIFO 存储器和异步存储器两大类。同步 FIFO 存储器是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作;异步 FIFO 存取器是指读写时钟不一致,读写时钟是互相独立的。和同步时钟相比,特别是在网络接口、图像处理等方面,异步 FIFO 存储器应用空间更为广泛。 1.3 硬件实验平台简介 GW48EDA/SOPC 实验系统是杭州康芯电子有限公司开发一个对 EDA/SO

9、PC 的基本实验平台。该系统拥有以下几个重要特点8: 1. 多功能重配置结构电路结构Multi-task Reconfiguration)。该电路结构能仅通过一个键,完成以纯电子切换的方式选择十余种不同的实验系统硬件电路连接结构,大大提高了实验系统的连接灵活性,同时又不影响整个系统的工作速度。这里仅仅说明本文中所涉及到的电路模式,我们选择为模式 NO.0。如图 1.4 所示。 数码8 数码7 数码6 数码5 数码4 数码3 数码2 数码1 扬声器 译码器 译码器 译码器 译码器 译码器 译码器 译码器 译码器 SPEAKER PIO19-PIO16 PIO23-PIO20 PIO27-PIO2

10、4 PIO31-PIO28 PIO35-PIO32 PIO39-PIO36 PIO43-PIO40 PIO47-PIO44 FPGA/CPLD D8 D7 D6 D5 D4 D3 D2 D1 CLOCK0 目标芯片 CLOCK2 CLOCK5 CLOCK9 PIO7-PIO2 PIO7 PIO6 PIO5 PIO4 PIO3 PIO2 PIO11-PIO8 PIO15-PIO12 D16 D15 D14 D13 D12 D11 HEX HEX 实验电路结构图 键8 键7 键6 键5 键4 键3 键2 键1 NO.0 图 1.4 模式 NO.0 连接结构 2. FPGA/CPLD 万能插口 图

11、1.6 是一块插于主系统板上的目标芯片适配座,对于不同的目标芯片可有不同的 l适配座。可用的目标芯片包括目前世界上最大的六家 FPGA/CPLD 厂商几乎所有的CPLD/FPGA 和所有的 ispPAC 等模拟 EDA 器件。每个脚本公司已经将定义标准化,各种芯片对应关系可以在实验说明中查到8。 目标板插座” 主板右数第2、3列“ 信号相同 ByteBlastMV PIO60 o o PIO61 PIO68 o o PIO69 PIO62 o o PIO63 PIO70 o o PIO71 PIO64 o o PIO65 PIO72 o o PIO73 TCK o o GND PIO66 o

12、o PIO67 PIO74 o o PIO75 TDO o o PIO76 o o PIO77 PIO78 o o PIO79 TMS o o SEL0 CON1 CON2 nSTA o o SEL1 TCK o o 12V VCC o o GND TDO o o -12V CLOCK9 o o TDI o o TMS o o SEL0 o o nSTA o o SEL1 CLOCK5 o o TDI o o 1.8V o o 在线编程座 PIO0 o o 3.3V o o CLOCK2 2.5V o o PIO1 SPEAKER o o CLOCK0 PIO2 o o PIO3 o o PI

13、O4 o o PIO5 PIO48 o o PIO49 ByteBlast II PIO6 o o PIO7 PIO46 o o PIO47 PIO8 o o PIO9 PIO44 o o PIO45 DCLK o o GND PIO10 o o PIO11 PIO42 o o PIO43 PIO12 o o PIO13 PIO40 o o PIO41 CONF_DONE o o VCCIO PIO14 o o PIO15 PIO38 o o PIO39 nCONFIG o o nCE PIO16 o o PIO17 PIO36 o o PIO37 PIO18 o o PIO19 PIO34

14、o o PIO35 o o nCSO DATA0 PIO20 o o PIO21 PIO32 o o PIO33 o o GND PIO22 o o PIO23 PIO30 o o PIO31 ASDO PIO24 o o PIO25 PIO28 o o PIO29 GND o o VCC PIO26 o o PIO27 在线编程座 39 40 39 40 目标板插座1 目标板插座2 图 1.6 芯片与引脚对应关系 3. ByteBlasterMV 编程配置口:此口由两个用途 1 在对适配板 FPGA/CPLD 进行编程时,用十芯线板口和适配板的 JTAG 口连。 2 如果进行独立的电子系统、

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

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

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

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

19、应得开发工具。图 1.8 是 Quarters的开发流程示意图,Quarters为开发流程的每个阶段提供 Quarters图形用户界面。EDA 工具界面11。大大方便了用户的开发工作,提高开发效率。2、 同步 FIFO 存储器设计 2.1 同步 FIFO 软件设计流程 同步 FIFO 存储器通常是指 FIFO 存储器的读写时钟频率相同、来源相同,这种 FIFO 存储器的设计较为简单而且传输数据也很快速,因为它避免了由于异步时钟逻辑产生的在许多设计中具有挑战性的难题。同步 FIFO 存储器通常用在读写时钟相同的接口部分,这种 FIFO 存储器相比较而言,逻辑较为简单,时延较小,传输数据的速度比较

20、快。此外,同步 FIFO 存储器还具有深度可扩展性12。 同步 FIFO 存储器的整个系统可分为写地址产生逻辑、读地址产生逻辑、双端口存储器、满/空标志产生逻辑 4 大部分。其中,同步 FIFO 存储器的存储介质为一块双端口 RAM,可以同时进行读写操作。在写地址产生逻辑部分,由写地址产生逻辑产生写控制信号和写地址;在读地址产生逻辑部分,由读地址产生逻辑产生读控制信号和读地址。在满/空标志产生部分,由读写地址相互比较产生满/空标志。具体模块结构如图 2.1 所示: 写数据 读数据 写控制信号 双端口 读控制信号 存储器 写地址 写地址 读地址 读地址 产生逻 产生逻 时钟输入 辑 辑 满/空标

21、志 满标志 产生逻辑 空标志 图 2.1 同步 FIFO 存储器逻辑结构图 2.2 同步 FIFO 的 VHDL 语言描述及仿真 2.2.1 同步 FIFO 存储器 VHDL 语言描述 根据 FIFO 的深度可扩展性,我们以采用宽度为 8,深度 为 64 为设计目标。由于同步 FIFO 存储器各个模块描述相对来说比较容易,我们采用一个结构体,多个进程的方式进行描述7。 下面给出同步 FIFO 存储器源程序及相关说明:LIBRARY IEEE 设计中相关库的说明; lUSE IEEE.STD_LOGIC_1164.ALLUSE IEEE.STD_LOGIC_ARITH.ALLUSE IEEE.STD_LOGIC_UNSIGNED.ALL定义实体 FIFO,其逻辑结构及相应端口如图 2.2 所示。ENTITY FIFO IS PORT clk : IN STD_LOGIC FIFO 的时钟输入 write_en : IN STD_LOGIC FIFO 的写使能信号 read_en : IN STD_LOGIC FIFO 的读使能信号 rst .

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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