版本信息:
版本
REV2018
时间
05/22/2018
XILINX FPGA-Microblaze 基础篇
基于 MA7X 系列开发板
电子版自学资料
常州一二三电子科技有限公司
溧阳米联电子科技有限公司
版权所有
米联客学院 04QQ 群:516869816
米联客学院 03QQ 群:543731097(半满)
米联客学院 02QQ 群:86730608(满)
米联客学院 01QQ 群:34215299(满)
常州一二三/溧阳米联电子科技有限公司 www.osrc.cn Artix 修炼秘籍 2018 版 Microblaze
版本
时间
描述
Rev2017
2017-11-03 初始版本,更新 12 个关于 Artix7 FPGA microblaze 的课程
第 2 页 共 255 页
常州一二三/溧阳米联电子科技有限公司 www.osrc.cn Artix 修炼秘籍 2018 版 Microblaze
感谢您使用米联客 Artix 系列开发板,以及配套教程。本教程对 Artix FPGA microblaze 基础应
用做详细的讲解,并且给出了丰富的 demo。本教程不仅仅适合用于米联客开发板,而且可以用于其
他的 Artix 发板。
软件版本:VIVADO2017.4(提供安装好环境的虚拟机)
版权声明:
本手册版权归常州一二三电子科技有限公司/溧阳米联电子科技有限公司所有,并保留一切权利,
未经我司书面授权,擅自摘录或者修改本手册部分或者全部内容,我司有权追究其法律责任。
版主大神们都等着大家去提问--电子资源论坛 www.osrc.cn
扫描以下二维码注册论坛:www.osrc.cn
微信公众平台:电子资源论坛
第 3 页 共 255 页
常州一二三/溧阳米联电子科技有限公司 www.osrc.cn Artix 修炼秘籍 2018 版 Microblaze
目录
XILINX FPGA-Microblaze 基础篇 ....................................................................................................................................... 1
CH01_MicroBlaze 最小系统搭建 ............................................................................................................................................ 7
1.1 前言 ............................................................................................................................................................................ 7
1.2 硬件部分设计 ............................................................................................................................................................ 7
1.2.1 CPU 和时钟设计 ............................................................................................................................................ 7
1.2.2 DDR 设计 ....................................................................................................................................................... 12
1.2.3 外设设计 ....................................................................................................................................................... 19
1.3 导出 BD 文件为 tcl 脚本 ....................................................................................................................................... 21
1.4 导出硬件 .................................................................................................................................................................. 21
1.5 软件设计 .................................................................................................................................................................. 26
1.6 本章小结 .................................................................................................................................................................. 31
CH02_GPIO_LED .................................................................................................................................................................. 32
2.1 概述 ........................................................................................................................................................................... 32
2.2 硬件工程搭建 ........................................................................................................................................................... 32
2.3 软件设计 .................................................................................................................................................................. 39
2.4 程序分析 .................................................................................................................................................................. 49
2.5 本章小结 .................................................................................................................................................................. 52
CH03_User_IP ........................................................................................................................................................................ 53
3.1 概述 ........................................................................................................................................................................... 53
3.2 创建 IP ...................................................................................................................................................................... 53
3.3 硬件工程搭建 ........................................................................................................................................................... 57
3.4 软件设计 ................................................................................................................................................................... 65
3.5 程序分析 ................................................................................................................................................................... 72
3.6 本章小结 ................................................................................................................................................................... 72
CH04_XADC 实验 ................................................................................................................................................................. 73
4.1 概述 .......................................................................................................................................................................... 73
4.2 搭建硬件系统 .......................................................................................................................................................... 73
4.3 软件设计 .................................................................................................................................................................. 78
4.4 程序分析 .................................................................................................................................................................. 91
4.5 本章小结 .................................................................................................................................................................. 91
CH05_GPIO_Interrupt ............................................................................................................................................................ 92
5.1 概述 .......................................................................................................................................................................... 92
5.2 硬件工程搭建 .......................................................................................................................................................... 92
5.3 软件设计 ................................................................................................................................................................. 102
5.4 程序分析 ................................................................................................................................................................. 106
5.7 本章小结 ................................................................................................................................................................. 117
CH06_AXI_Timer ................................................................................................................................................................. 118
6.1 概述 ......................................................................................................................................................................... 118
6.2 创建硬件工程 ........................................................................................................................................................ 118
6.3 软件设计 ................................................................................................................................................................. 124
6.4 程序分析 ................................................................................................................................................................ 129
6.5 本章小结 ................................................................................................................................................................ 134
CH07_Uart_Interrpt .............................................................................................................................................................. 135
7.1 概述 ....................................................................................................................................................................... 135
7.2 硬件工程搭建 ....................................................................................................................................................... 135
7.3 软件设计 ................................................................................................................................................................. 140
第 4 页 共 255 页
常州一二三/溧阳米联电子科技有限公司 www.osrc.cn Artix 修炼秘籍 2018 版 Microblaze
7.4 程序分析 ................................................................................................................................................................ 145
7.5 本章小结 ................................................................................................................................................................ 151
CH08_AXI_VDMA 详解 ..................................................................................................................................................... 152
8.1 概述 ........................................................................................................................................................................ 152
8.2 为什么要用 VDMA ............................................................................................................................................... 152
8.2.1 什么是帧缓存 ............................................................................................................................................. 152
8.2.2 双缓冲机制 ................................................................................................................................................. 152
8.2.3 VDMA 的作用 ............................................................................................................................................. 153
8.3 VDMA 概述 .............................................................................................................................................................. 154
8.4 VDMA 详细介绍 .................................................................................................................................................... 154
8.4.1 接口 ............................................................................................................................................................. 154
8.4.2 VDMA 帧存格式 ......................................................................................................................................... 155
8.4.3 读写通道工作时序 ..................................................................................................................................... 156
8.4.4 寄存器 ......................................................................................................................................................... 157
8.4.5 帧同步选项 .................................................................................................................................................. 162
8.4.6 Genlock 同步机制 ........................................................................................................................................ 162
8.5 本章小结 ............................................................................................................................................................... 164
CH09_AXI_VDMA_7725 实验 ........................................................................................................................................... 165
9.1 概述 ........................................................................................................................................................................ 165
9.2 系统框架 ................................................................................................................................................................ 165
9.2.1 方案框架图 ................................................................................................................................................. 165
9.2.2 框架 Block 模块化设计方案图 ................................................................................................................... 165
9.3 自定义摄像头采集 IP 分析 ................................................................................................................................... 166
9.4 Video In to AXI4-Stream 分析 ................................................................................................................................ 172
9.5 VTC IP 的分析 ........................................................................................................................................................ 179
9.5.1 VTC IP 的参数介绍 ..................................................................................................................................... 179
9.5.2 VTC IP 接口信号的定义 ............................................................................................................................. 181
9.5.3 VTC IP 配置寄存器 ..................................................................................................................................... 185
9.5.4 设置 VTC IP ................................................................................................................................................. 191
9.6 PLL 时钟设置 ......................................................................................................................................................... 193
9.7 VID_OUT IP 的分析 .............................................................................................................................................. 194
9.7.1 VID_OUT 的参数介绍 ............................................................................................................................... 194
9.7.2 VID_OUT IP 接口信号的定义 .................................................................................................................... 195
9.8 AXI IIC 分析 ........................................................................................................................................................... 198
9.9 软件设计 ................................................................................................................................................................ 199
9.9.1 IIC 驱动设计 ................................................................................................................................................ 199
9.9.2 VDMA 驱动设计 ......................................................................................................................................... 203
9.10 实验结果 ............................................................................................................................................................ 204
CH10_AXI_VDMA_5640 实验 ........................................................................................................................................... 205
10.1 概述 ...................................................................................................................................................................... 205
10.2 系统框架 .............................................................................................................................................................. 205
10.2.1 方案框架图 ............................................................................................................................................... 205
10.2.2 框架 Block 模块化设计方案图 ................................................................................................................. 206
10.3 软件设计 .............................................................................................................................................................. 206
10.4 实验结果 .............................................................................................................................................................. 207
CH11_AXI_DMA_LOOP 环路测试 .................................................................................................................................... 208
11.1 概述 ..................................................................................................................................................................... 208
11.2 硬件电路搭建 ..................................................................................................................................................... 208
第 5 页 共 255 页
常州一二三/溧阳米联电子科技有限公司 www.osrc.cn Artix 修炼秘籍 2018 版 Microblaze
11.3 软件设计 ............................................................................................................................................................... 221
11.4 程序分析 .............................................................................................................................................................. 224
11.4.1 main.c 源码的分析 ..................................................................................................................................... 224
11.4.2 dma_intr.c 源码分析 ................................................................................................................................. 227
11.4.3 dam_intr.h 文件分析 ................................................................................................................................. 231
11.5 测试结果 .............................................................................................................................................................. 233
CH12_AXI_DMA_Speed 测速实验 ................................................................................................................................... 235
12.1 概述 ...................................................................................................................................................................... 235
12.2 硬件电路设计 ...................................................................................................................................................... 235
12.3 软件设计 ............................................................................................................................................................... 248
12.4 程序分析 .............................................................................................................................................................. 251
12.5 本章小结 .............................................................................................................................................................. 255
第 6 页 共 255 页
常州一二三/溧阳米联电子科技有限公司 www.osrc.cn Artix 修炼秘籍 2018 版 Microblaze
CH01_MicroBlaze 最小系统搭建
软件版本:VIVADO2017.4
操作系统:WIN10
硬件平台:MIA701/MIA702
1.1 前言
学习 C 语言时,我们跑的第一个工程大多都是跑一个 Hello World!而要在我们的 MIA701 上进行软核设计,使
其打印 Hello World,则前提是要有一个 CPU.学习过 ZYNQ 和 NIOS 的都知道,ZYNQ 的设计中缺不了 ZYNQ
Processing System 这个 IP,这个 IP 的功能就相当于 ZYNQ 设计中的 CPU。不同于 ZYNQ 自带了硬核,MIA701 上
搭载的 Artix 系列 FPGA 必须借由一个软核来充当 CPU,这个软核是由 FPGA 内部的逻辑资源组合而成的,虽然性
能上比不了 ZYNQ 的硬件,但在一些控制的领域还是能做到游刃有余。同样的,xilinx 也提供了软核的 IP,这就是
MicroBlaze。本节就将为大家介绍如何搭建一个 MicroBlaze 最小系统,并打印 Hello World。
1.2 硬件部分设计
一个完整的 MicroBlaze 系统主要由四个部分组成:CPU、时钟、DDR 和外设。接下来分别介绍这四个部分的
搭建,最后使之成为一个完整的系统。
1.2.1 CPU 和时钟设计
Step1:创建一个 vivado 工程,将工程名字命名为 Syetem(如果还不熟悉如何创建工程步骤,请参考前两季课程)。
Step2:点击 Create Block Design,创建一个 BD 文件,并命名为 Top。
Step3:单击添加 IP 图标,然后输入关键字 MicroBlaze,将其添加到 BD 文件中来。
第 7 页 共 255 页
常州一二三/溧阳米联电子科技有限公司 www.osrc.cn Artix 修炼秘籍 2018 版 Microblaze
Step4:在 BD 文件中,双击 MicroBlaze 图标,对其进行配置,配置参数如下图所示:
第 8 页 共 255 页