Nexys 4 DDR - MicroBlaze入门
重要!
这个指南已经过时了,可以找到更新的指南在这里.
概述
本指南将逐步介绍使用Vivado IP Integrator为Nexys 4 DDR FPGA板创建基于Microblaze的硬件设计。
在本教程的最后,您将拥有:
-
在Xilinx Vivado中创建了一个基于Microblaze的硬件(HW)设计
-
在Xilinx Vivado SDK(软件开发套件)中创建了一个.c项目,用于使用上一步中显示的硬件设计显示Hello World
-
在SDK控制台和Tera Term上显示最终输出
先决条件
硬件
-
Digilent Nexys 4 DDR FPGA板和微型USB电缆用于UART通信和JTAG编程
软件
-
Xilinx Vivado 2015。X与SDK包。
董事会的支持文件
-
董事会的支持文件
-
这些文件将描述GPIO接口,使它更容易选择您的FPGA板和添加GPIOIP块
-
请参考本维基指南(Vivado板文件为Digilent 7系列FPGA板),了解如何安装Vivado的板支持文件
-
教程
MicroBlaze是来自Xilinx的软IP核心,它将完全在Xilinx FPGA通用内存和逻辑面料内实现微处理器。对于本教程,我们将使用Vivado IP Integrator Tool添加MicroBlaze IP块。
除了MicroBlaze IP块之外,我们还希望在Nexys 4 DDR上使用DDR2 SDRAM组件。因此,MIG(内存接口发生器)IP块将被添加到我们的设计中。
最后,将增加一个UART(通用异步接收/发送器)IP块,用于主机PC和运行在Nexys 4 DDR上的软处理器核心之间的通信。
一般的设计流程
I. Vivado
-
打开Vivado,选择“Nexys 4 DDR板”
-
创建一个新的Vivado项目
-
在新项目中创建空块设计工作区
-
使用IP集成商工具添加所需的IP块并构建硬件设计
-
验证和保存块设计
-
创建HDL系统包装器
-
运行设计综合和实现
-
生成一些文件
-
导出硬件设计,包括生成的位流文件到SDK工具
-
发射SDK
现在硬件设计被导出到SDK工具中。Vivado到SDK的转换是通过Vivado内部完成的。我们将使用SDK创建一个软件应用程序,通过从Vivado导入硬件设计信息,该应用程序将使用定制的单板接口数据和FPGA硬件配置。
2SDK
-
创建新的应用程序项目,然后选择默认的Hello World模板
-
FPGA程序
-
通过选择正确的UART COM端口和波特率来运行配置
1.创建一个新项目
当你第一次运行Vivado时,这将是一个主启动窗口,你可以在这里创建一个新项目或打开一个最近的项目。
2.创造新的街区设计
3.添加Microblaze IP和定制
4.自定义时钟向导IP块
5.添加UART IP块
6.第一次运行连接自动化
7.第一次手动连接
7.1)手动连接信号引脚重置到resetn输入的clk_wiz_1.块。将光标指针放在resetn输入后,您应该会看到光标变为钢笔的图形表示形式。的任何地方拖放重置线信号。
8.添加和自定义内存接口发生器IP块
8.2)添加MIG IP块后,点击块自动化运行.
9.第二次运行连接自动化
10.第二个手动连接
11.使DDR2信号外部
11.1) MIG块应该读取mig_7series_0.
把你的光标放在这个符号上||旁边的DDR2 +港口名称。你的光标会变成铅笔的样子。右键点击这里,在下拉列表中选择使外部或者或者左键单击||使用键盘快捷键,“Ctrl + t”.
12.验证设计
13.创建HDL系统包装器
14.生成一些文件
15.将硬件设计导出到SDK
16.启动SDK
17.在SDK内部的Vivado
17.1)将打开一个新的SDK窗口。硬件设计规范和包含的IP块显示在system.hdf文件。SDK工具是独立于Vivado的,也就是说,从这里开始,你可以在导出的HW设计之上用C/ c++创建你的SW项目。如果需要,您也可以直接从Vivado项目主目录中创建的SDK文件夹中启动SDK。
现在,如果您需要回到Vivado并更改硬件设计,那么建议关闭SDK窗口,并在Vivado中进行所需的硬件设计编辑。在此之后,您必须按照创建一个新的HDL包装器的顺序,保存设计和位文件生成。这个新的位文件和系统包装器必须导出到SDK。
由于我们此时没有任何HW设计编辑,因此我们将继续创建一个软件应用程序来显示Hello World。
17.2)在主SDK窗口的左下角,您会发现Project Explorer控制板。请注意,名称下有一个主项目文件夹design_1_wrapper_hw_platform_0.
design_1是在Vivado中创建的块设计的名称。该硬件平台包含所有的硬件设计定义、已添加的IP接口、外部输出信号信息和本地内存地址信息。
假设在这个时候,你已经关闭了SDK,编辑了你现有的硬件设计,并将你的设计导出到SDK,然后在启动SDK工具后,你会发现一个新的硬件平台,名为:design_1_wrapper_hw_platform_1除了旧的硬件设计,即。design_1_wrapper_hw_platform_0.
18.在SDK中创建新的应用程序项目
19.从可用的模板中选择Hello World应用程序
20.验证内存区域映射的链接器脚本文件
21.使用位文件编程FPGA
22.运行STDIO连接的配置设置
23.为STDIO连接选择COM端口
24.在SDK内置的控制台窗口中显示Hello World输出
25.可选步骤使用Tera Term终端仿真器
请参阅此链接http://en.wikipedia.org/wiki/Tera_Term知道TERA术语是什么。您可以从此链接下载并安装Tera术语http://ttssh2.sourceforge.jp/index.html.en