目录
一、实验目的
使用 Vivado 生成 FIFO IP 核,并实现以下功能:当 FIFO 为空时,向 FIFO 中写入数据,写入的数据量和 FIFO 深度一致,即 FIFO 被写满;然后从 FIFO 中读出数据,直到 FIFO 被读空为止。
二、实验环境
- PC机
- vivado 2018.3
- ZYBO Z7开发板
三、实验内容
- 根据系统框图,创建工程、添加并撰写Verilog文件和IP核,仿真实现FIFO 的读写功能。
- 进行硬件连接,工程编译与实现。
四、实验结果与分析
实验原理:
分为如下 4 个模块:FIFO IP 核、写FIFO模块、读FIFO模块以及顶层例化模块实现前三个模块的信号交互。系统框图如下图所示:
图1 系统框图
实验步骤
1、对于vivado2018.3首先创建一个新工程。点击creat project。
对于新弹框,点击next。
接下来填写工程名称,选择保存地址,点击next。
选择RTL Project,点击next。
点击next
点击next
选择器件xc7z020clg400-1,点击next。
再点击finish,新工程将被建立。
此时将会进入到下图界面
2、接下来创建 FIFO IP 核。在左侧目录列,单击“IP Catalog”,搜索选择FIFO Generator,双击FIFO Generator,进入配置。
(1)红色框图中为不同的选项卡,“Interface Type”选项用于选择 FIFO 接口的类型,选择默认的“Native”,即传统意义上的 FIFO 接口。“Fifo Implementation”选项用于选择想要实现的是同步 FIFO 还是异步 FIFO 以及使用哪种资源实现 FIFO,选择“Independent Clocks Block RAM”,即使用块 RAM 来实现的异步 FIFO。如下图所示。