GENESYS 2-从微闪烁开始
Important!
本指南已过时,可以找到更新的指南here。
概述
This guide will provide a step by step walk-through of creating a Microblaze based hardware design using the Vivado IP Integrator for the Genesys2 FPGA board.注意:Genesys2需要支持Kintex-7 FPGA的Vivado Design Edition或System Edition
Microblaze是Xilinx的软IP核心,它将完全在Xilinx FPGA通用记忆和逻辑结构中实现微处理器。对于本教程,我们将使用Vivado IP集成器工具添加一个微封闭式IP块。
除了Microblaze IP块外,我们还想利用Genesys2上的DDR3 SDRAM组件。因此,将添加MIG(内存接口生成器)IP块。
最后,将添加UART(通用异步接收器/发射器)IP块,以在基因上运行的主机PC和Soft Processor Core之间进行通信。
一般设计流
I. Vivado
-
打开Vivado并选择Genesys2板
-
创建一个新的Vivado项目
-
Create empty block design workspace inside the new project
-
使用IP集成器工具添加所需的IP块并构建硬件设计
-
验证并保存块设计
-
创建HDL系统包装器
-
运行设计综合和实施
-
生成位文件
-
导出硬件设计,包括生成的位流文件到SDK工具
-
启动SDK
现在,硬件设计导出到SDK工具。Vivado到SDK交接是通过Vivado内部完成的。我们将使用SDK创建一个软件应用程序,该应用程序将通过从Vivado导入硬件设计信息来使用自定义的板接口数据和FPGA硬件配置。
ii。SDK
-
创建新的应用程序项目并选择默认Hello World模板
-
程序FPGA
-
通过选择正确的UART COM端口和波特率来运行配置
先决条件
硬件
-
Digilent Genesys2 FPGA板
-
2 Micro USB Cables
-
用于UART通信和JTAG编程
-
Software
-
Xilinx Vivado 2015.x
-
System Edition or Design Edition must be installed to support the Kintex-7 FPGA
-
-
Xilinx SDK
-
与您的Vivado安装相同的版本
-
-
串行终端应用
-
本教程中使用了TERA术语
-
董事会支持文件
-
Genesys 2支持文件
-
这些文件将描述GPIO在板上的接口,使选择FPGA板并添加更容易GPIOIP块
-
遵循此Wiki指南Digilent 7系FPGA板的Vivado板文件关于如何安装Vivado 2015.x的董事会支持文件
-
教程
1. Creating the Project
When you first run Vivado this will be the main start window where you can create a new project or open a recent one.
1.1)单击创建新项目。选择项目名称和位置,以便有没有空白的空间。对于项目名称,文件名和位置路径,这是一个重要的命名约定。
在一个空旷的空间中取代了一个很好的替代品。
最好有一个用于Vivado项目的专用文件夹,最好是最小的路径长度。示例:c:/vivado_projects。
命名您的项目并选择项目位置,然后单击下一个。
![]()
1.2)选择项目类型为RTL Project。Leave the - do not specify sources box unchecked and click下一个。
![]()
1.3) We will not be importing or creating any files here, so click下一个until the part select screen.
![]()
![]()
![]()
1.5)显示了新项目设计源和目标设备的摘要。点击Finish。
![]()
2. Creating New Block Design
这是您可以创建基于IP的块设计或添加基于RTL的设计源的主要项目窗口。左侧的Flow Navigator面板提供了有关如何创建硬件设计,执行仿真,运行合成和实现并生成位文件的多个选项。您还可以使用硬件管理器直接从Vivado编程,并使用RTL项目的生成位文件编程。
为了设计,我们将使用IP集成器来创建新的块设计。
2.1)在左侧,您应该看到流导航器。选择创建块设计在IP集成器下。为您的设计命名(没有任何空的空间),然后单击Ok。
![]()
您已经创建了一个新的块设计。
![]()
3.添加DDR3组件
3.1)单击木板标签(下面以橙色突出显示)
![]()
此列表包含您之前安装的板文件中定义的所有组件。这些已经配置为与几个Vivado IP一起使用。
3.2)单击并拖动DDR3 SDRAMcomponent onto the empty block design. Vivado will automatically connect the DDR3 SDRAM and system clock to the MIG IP.
![]()
3.3)单击俄文n Connection Automation在上面的绿色横幅中。点击Ok。
![]()
Vivado将您的系统重置连接到MIG上的SYS_RST。
4.添加微型布莱兹处理器和配置
4.1)单击Add IPbutton and search for微型闪电。
![]()
双击微型闪电将其添加到您的块设计中。
![]()
4.2)单击运行块自动化打开Microblaze处理器的块自动化。
Here you can choose how much memory to give your Microblaze processor.配置选项要匹配下面的图片,然后单击OK。
![]()
4.3)运行块自动化将自动生成一组其他IP块,这些IP块将根据上一步中选择的选项自动添加到我们的硬件设计中。请勿单击Run Connection Automation。
![]()
5.添加外围组件
5.1)进入董事会再次标签,找到USB UART零件。单击并拖动这是在块设计上,以将Uartlite块添加到您的设计中。
![]()
5.2)单击俄文n Connection Automation在绿色的横幅中。检查所有自动化复选框,然后单击OK。
![]()
This will create one AXI Interconnect for the DDR Memory and another for peripheral components.
点击再生布局button to rearrange your block design.
![]()
6. Validating Design and making an HDL Wrapper
6.1) Select验证设计。这将检查设计和连接错误。
6.2) After the design validation step we will proceed with creating a HDL System Wrapper. Click on the来源标签并找到您的块设计。
![]()
右键单击您的块设计,然后单击Create HDL Wrapper。让Vivado管理包装纸和自动更新然后单击OK。
![]()
这将在VHDL中创建一个顶部模块,并允许您生成一个Bitstream。
7.生成位文件
7.1)在Vivado的顶部工具栏中,单击Generate Bitstream。这也可以在流导航器左下方的面板程序和调试。
如果您尚未保存设计,则将获得提示来保存块设计。
7.2)BIT文件生成将开始。该工具将运行合成and执行。成功完成合成和实现后,将创建位文件。您会在项目窗口的右上角找到合成和实现的状态栏。
This process can take anywhere from2至20分钟取决于您的计算机。
7.3)生成了Bitstream后,屏幕上将弹出消息提示。您不必为此演示打开实施的设计。只需单击取消。
8.将硬件设计导出到SDK
8.1)在主工具栏上,单击File并选择导出硬件。检查框包括Bitstream然后单击OK。这将为软件开发工具-Vivado SDK的系统包装器导出硬件设计。
![]()
A new file directory will be created underhello_world.sdk类似于Vivado硬件设计项目名称。另外两个文件,。sysdefand。hdf也是创建的。此步骤本质上创建了一个新的SDK工作区。
8.2)在主工具栏上,单击File接着启动SDK。Leave both of the dropdown menus as their default本地项目然后单击OK。这将打开Xilinx SDK并导入您的硬件。
![]()
9.内部Xilinx SDK
9.1) The HW design specification and included IP blocks are displayed in thesystem.hdf文件。Xilinx SDK独立于Vivado,即,从这一点开始,您可以在导出的HW Design上以C/C ++创建SW项目。如有必要,您还可以直接从主Vivado Project目录中创建的SDK文件夹启动SDK。
从这一点开始,如果您需要返回Vivado并对HW设计进行更改,则建议关闭SDK窗口并在Vivado进行所需的HW设计编辑。此后,您必须遵循创建新的HDL包装器的顺序,保存设计和BIT文件生成。然后必须将此新的位文件和系统包装器导出到SDK。
![]()
9.2)在项目资源管理器左侧的标签,您可以看到硬件平台。
系统是您在Vivado创建的块设计的名称。该硬件平台具有所有HW设计定义,已添加的IP接口,外部输出信号信息和本地内存地址信息。
10.在SDK中创建新的应用程序项目
10.1)单击新的下拉箭头并选择Application Project。
![]()
给您的项目一个没有空的空间的名称,然后单击下一个。
10.2) Select你好世界从模板列表中,单击OK。
![]()
您将在项目资源管理器控制板。
-
display_hello_world其中包含所有二进制文件,.c和.h(标题)文件
-
display_hello_world_bsp这是董事会支持文件夹
display_hello_worldis our main working source folder. This also contains an important file shown here which is the “lscript.ld”. This is a Xilinx auto generated linker script file. Double click on this file to open.
10.3)回到项目资源管理器,双击并打开Helloworld.C在下面src文件夹。
这是将要打印的主要.c文件你好世界执行时在控制台中。
![]()
11. Programming FPGA with Bit File
11.1)确保Genesys2通过两个打开并连接到主机PCJTAGUSB端口and这UARTUSB端口。
在顶部工具栏上,单击程序FPGA按钮。
11.2)单击程序使用硬件设计对FPGA进行编程。
![]()
12. Setting up UART Terminal
12.1)打开串行终端应用程序(TERA术语)。连接到baud速率为9600的Genesys2 UART端口。通过双击Uartlite块,可以在您的块设计中更改此波特率。
![]()
13.编程微型布莱兹处理器
13.1)返回SDK,选择您的你好世界项目并单击运行为…按钮。选择在硬件(系统调试器)上启动然后单击OK。
![]()
13.2) Your program will run and you should see你好世界弹出串行终端。
![]()