版本信息:
版本
REV2019
时间
04/01/2019
Kintex FPGA 修炼秘籍 DDR MIG (AXI4)
MK7325FA
电子版自学资料
常州一二三电子科技有限公司
溧阳米联电子科技有限公司
版权所有
米联客(MSXBO)04QQ 群:516869816
米联客(MSXBO)03QQ 群:543731097
米联客(MSXBO)02QQ 群:86730608
米联客(MSXBO)01QQ 群:34215299
常州一二三/溧阳米联电子科技有限公司 米联客 (MS XBO)www.osrc.cn kintex 修炼秘籍 2019 版 MIG(AXI4)高级应用
版本
时间
描述
Rev2019
2019-04-01
首次更新,更新 AXI 自定义 MSXBO_FDMA 关于 DDR 读写测
试,视频缓存方案的 4 个例子。
第 2 页 共 49 页
常州一二三/溧阳米联电子科技有限公司 米联客 (MS XBO)www.osrc.cn kintex 修炼秘籍 2019 版 MIG(AXI4)高级应用
感 谢 您 使 用 米 联 客 Kintex 系 列 开 发 板 , 以 及 配 套 教 程 。 本 教 程 使 用 自 定 义 AXI4 IP
MSXBO_FDMA对DDR进行读写控制。MSXBO_FDMA是基于AXI4封装的DMA控制器,可以非常
方便地用于FPGA的MIG控制器和ZYNQ上并实现对ZYNQ PS 或者PL的DDR进行读写控制。和官方
的DMA以及VDMA相比,FDMA具备无需驱动程序,只要会FPGA就能读写DDR的简单方便性。
软件版本:VIVADO2017.4
版权声明:
本手册版权归常州一二三电子科技有限公司/溧阳米联电子科技有限公司所有,并保留一切权利,
未经我司书面授权,擅自摘录或者修改本手册部分或者全部内容,我司有权追究其法律责任。
免费获取资料、答疑解惑到米联客(MSXBO) 官方论坛 www.osrc.cn
扫描以下二维码注册论坛:www.osrc.cn
获取最新产品发布、资料更新、技术焦点 关注 米联客 MSXBO 微信公众号
微信公众平台:米联客 MSXBO
第 3 页 共 49 页
常州一二三/溧阳米联电子科技有限公司 米联客 (MS XBO)www.osrc.cn kintex 修炼秘籍 2019 版 MIG(AXI4)高级应用
目录
Kintex FPGA 修炼秘籍 DDR MIG (AXI4) MK7325FA.......................................................................................... 1
CH01 基于 FDMA 内存读写测试........................................................................................................................... 5
1.1 概述 ........................................................................................................................................................ 5
1.2 基于 FDMA 搭建的 BD 工程 .................................................................................................................... 5
1.3Setp By Step 搭建 FPGA BD 工程 ............................................................................................................... 6
1.4 编写 FDMA 测试代码 ............................................................................................................................ 19
1.5 测试代码状态机分析 .............................................................................................................................. 23
1.6 测试结果 ............................................................................................................................................... 24
CH02 基于 FDMA 实现多缓存视频构架 .............................................................................................................. 25
2.1 概述 ...................................................................................................................................................... 25
2.2 基于 FDMA 搭建的 BD 工程 .................................................................................................................. 25
2.3 基于 FDMA 多缓存视频构架 fdma_controller........................................................................................... 27
2.4 代码叠层结构 ........................................................................................................................................ 28
2.5 fdma_controller ....................................................................................................................................... 28
2.6 sensor_data_gen ...................................................................................................................................... 34
2.7 vga_lcd_driver.v...................................................................................................................................... 40
2.8 硬件连线 ............................................................................................................................................... 42
2.9 测试结果 ............................................................................................................................................... 43
CH03 基于 FDMA 实现 HDMI 视频输入输出 ...................................................................................................... 44
3.1 概述 ...................................................................................................................................................... 44
3.2 基于 FDMA 搭建的 BD 工程 .................................................................................................................. 44
3.3 基于 FDMA 多缓存视频构架 fdma_controller........................................................................................... 44
3.4 代码叠层结构 ........................................................................................................................................ 45
3.5 硬件连线 ............................................................................................................................................... 45
3.6 测试结果 ............................................................................................................................................... 46
CH04 基于 FDMA 实现 OV5640 摄像头视频采集 ................................................................................................ 47
4.1 概述 ...................................................................................................................................................... 47
4.2 基于 FDMA 搭建的 BD 工程 .................................................................................................................. 47
4.3 基于 FDMA 多缓存视频构架 fdma_controller........................................................................................... 47
4.4 代码叠层结构 ........................................................................................................................................ 48
4.5 摄像头安装 ............................................................................................................................................ 49
4.6 测试结果 ............................................................................................................................................... 49
第 4 页 共 49 页
常州一二三/溧阳米联电子科技有限公司 米联客 (MS XBO)www.osrc.cn kintex 修炼秘籍 2019 版 MIG(AXI4)高级应用
CH01 基于 FDMA 内存读写测试
软件版本:VIVADO2017.4
操作系统:WIN10
硬件平台:MK7325
1.1 概 述
FDMA 是 MSXBO(米联客的)基于 AXI4 总线协议定制的一个 DMA 控制器。有了这个 IP 我们可
以统一实现用 FPGA 代码直接读写 PL 的 DDR 或者 ZYNQ PS 的 DDR。
如果用过 ZYNQ 的都知道,要直接操作 PS 的 DDR 通常是 DMA 或者 VDMA,然而用过 XILINX
的 DMA IP 和 VDMA IP,总有一种遗憾,那就是不够灵活,还需要对寄存器配置,真是麻烦。对于
我们搞 FPGA 的人来说,最喜欢直接了当,直接用 FPGA 代码搞定。现在 XILINX 的总线接口是 AXI4
总线,那么熟练自定义 AXI4 IP 挂到总线上就非常方便了。基于这个目的,本小编定义了一个基于
AXI4 FULL MASTER 的 IP,暂且取名为 MSXBO_FDMA。
通过这个 IP 我们可以方便地进行 AXI4 FULL MASTER 的操作,比如我们经常要读写 DDR,那
么只要挂到 AXI4 总线上就可以利用这个 IP 实现。
以下是小编展示了一种在 XC7K325 FPGA 上的读写测试方案。
1.2 基于 FDMA 搭 建的 BD 工程
首先看下基于 FDMA 搭建的 BD 工程,这里使用的是 PL 的 DDR 因此使用 MIG 控制器。
第 5 页 共 49 页
常州一二三/溧阳米联电子科技有限公司 米联客 (MS XBO)www.osrc.cn kintex 修炼秘籍 2019 版 MIG(AXI4)高级应用
1.3Setp By Step 搭 建 FPGA BD 工 程
Step1:任意创建一个新的空的 BD 工程,如下图,选择 Create Block Design ,BD 的 Design name 命
名为 system
Step2:选择下图箭头所指的➕,输入关键词 MIG 双击添加并且配置 MIG
第 6 页 共 49 页
常州一二三/溧阳米联电子科技有限公司 米联客 (MS XBO)www.osrc.cn kintex 修炼秘籍 2019 版 MIG(AXI4)高级应用
单击 NEXT
选择 Create Design 单击 NEXT
第 7 页 共 49 页
常州一二三/溧阳米联电子科技有限公司 米联客 (MS XBO)www.osrc.cn kintex 修炼秘籍 2019 版 MIG(AXI4)高级应用
继续单击 NEXT
选择 DDR3 单击 NEXT
第 8 页 共 49 页