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.4)如果您完成了董事会支持文件Wiki指南, 选择董事会
Genesys2应显示在选择列表中。选择正确的板名称时的不匹配将导致错误。选择Genesys2然后单击下一个

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端口andUARTUSB端口。

在顶部工具栏上,单击 程序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你好世界弹出串行终端。