Zedboard领导演示


概述

本指南将逐步介绍如何将自定义IP导入Vivado并开始使用Xilinx SDK。

在本教程的最后,你将有:

  • 导入并实现自定义Dileds IP块进入设计。
  • 在Xilinx Vivado SDK(软件开发套件)中创建的.c项目连接到Zedboard。

先决条件

技能

  • 熟悉Vivado.
  • 块设计经验

硬件

  • Digilent Zedboard Loard.
  • 微型USB电缆
    • 用于UART通信和JTAG编程
  • 可编程RGB led (WS2812, Neopixels)
    • 数据输入信号线连接到佐德博的JB1

软件

  • Xilinx Vivado 2016.2与SDK包。
    • 遵循这个Wiki指南(安装Vivado.)如何安装和激活Vivado

板支持文件

  • Zedboard支持文件
    • 这些文件将描述GPIO您的电路板上的接口,并更轻松地选择FPGA板并添加GPIOIP块。
    • 遵循这个Wiki指南(Divido Board For Digilent 7系列FPGA板)如何安装Vivado的板支持文件。

项目文件


介绍

在本教程中,我们将添加我们自己的自定义IP块到基本系统设计中,用于一些可编程RGB led。


一般设计流程

即Vivado

  • 打开Vivado
  • 创建一个新的块设计
  • 添加zynq核心IP并自动化它
  • 将DigiLEDs自定义IP添加到项目的IP存储库中
  • 将DigiLeds IP添加到设计并配置它。
  • 验证和保存块设计
  • 创建HDL系统包装器
  • 运行设计综合和实施
  • 生成位文件
  • 导出硬件设计,包括生成的位流文件到SDK工具
  • 推出SDK.

现在硬件设计被导出到SDK工具。Vivado到SDK的转换是通过Vivado内部完成的。我们将使用SDK来创建一个软件应用程序,该应用程序将使用自定义的板接口数据和FPGA硬件配置,通过导入硬件设计信息从Vivado。

2SDK

  • 创建新的应用程序项目并选择空应用程序模板
  • 进口c
  • 计划FPGA.

教程

当你第一次运行Vivado时,这将是主要的开始窗口,你可以在这里创建一个新项目或打开一个最近的项目。

1.1)点击创建新项目



1.2)你会看到一个项目创建向导。点击下一个



接下来选择项目名称和位置没有空格.对于项目名称、文件名和位置路径来说,这是一个重要的命名约定。
下划线在一个空间的良好替代品中。

为Vivado项目创建一个专用文件夹是一个很好的实践,最好具有尽可能小的路径长度。例如:C: / Vivado_Projects。

1.3)将项目命名并选择项目位置并单击下一个



1.4)选择RTL项目然后点击下一个



1.5)此演示不使用任何现有源,现有IP或约束。单击“下一步三个屏幕”。

1.6)选择董事会并选择这一点Zedboard董事会文件。点击下一个接着完成

请务必选择Digilent制作的董事会文件。


2.创建一个新的块设计

2.1)流程完成后,点击创建块设计在流量导航器中。



2.2)点击好吧



2.3)一个空白的块设计将出现。


3.添加我们的自定义IP repo

3.1)查找并单击“项目设置”在Vivado左侧的项目经理名下。

3.2)在项目设置中,点击左侧的“IP”。然后单击“Repository Manager”选项卡,并单击+按钮(下面高亮显示)。

3.3)导航到您的项目文件夹,然后选择“DigiLED-master”文件夹中。

3.4)确认新repo在列表中,然后单击OK退出项目设置。

4.添加自定义IP

4.1)点击 “添加IP”按钮。在搜索框中输入“DigiLED”,然后双击“DigiLED_v1.0”.这将把我们的自定义IP添加到块设计中。

4.2)点击 “添加IP”按钮一次。这次在搜索框中输入“Zynq”,然后双击ZYNQ7处理系统



这将使Zynq处理器添加到我们的块设计中。

4.3)点击“块自动化运行”然后点击好吧自动配置zynq核心。

4.4)单击“运行运行连接自动化然后点击好吧将digile与Zynq核心连接起来。


5.配置的IP

5.1)找到Digiled_0.块并双击该块来定制它。

5.2)选择HSV子弹并将LED字段的数量更改为RGB上的LED数量领导点击确定之前的条带。


6.添加LED信号引脚

6.1)右键单击块设计,然后单击“创建端口”

6.2)命名端口“LED_PIN”并将其设置为输出.单击OK。

6.3)使用光标将“LED_PIN”连接到Digiled_0块上的“LED_OUT”(它看起来像铅笔)。

在你的方块设计的左边,选择来源选项卡,然后在窗口中右键单击。选择添加消息来源......一个窗户会打开。选择添加或创建约束然后点击下一个



创建一个新文件,确保名称有没有空格,然后单击完成
在源代码窗口中,打开约束文件夹找到新的.xdc文件。打开它。

6.6)复制下面的行,并粘贴它在pins.xdc。这是连接到连接器JB1的引脚。
set_property -dict {package_pin w12 iostandard lvcmos33} [get_ports {led_pin}];


6.7)保存。XDC并关闭它。

6.8)右击system.bd.然后点击创建高密度脂蛋白包装…


7.生成位文件

7.1)在顶部工具栏中,单击产生的比特流.如果您还没有保存您的设计,您将得到一个提示,以保存块设计。

7.2)位流生成完成后,屏幕上会弹出消息提示。您不必为此演示打开已实现设计。只需点击“取消”。

8.将硬件设计导出到SDK

8.1)在窗口左上角,从工具栏上点击文件并选择出口硬件

这将导出使用系统包装器的硬件设计,用于软件开发工具 - Vivado SDK。

通过勾选复选框,确保包含生成的位流


9.启动SDK

9.1)去文件并选择推出SDK.然后单击“确定”。将启动为Vivado设计项目位置创建的SDK文件。来自Vivado的SDK的递交完成。


10.Vivado SDK内部

10.1)将打开一个新的SDK窗口。硬件设计规范和包含的IP块显示在system.hdf.文件。SDK工具独立于Vivado,即,从这一点开始,您可以在导出的HW设计顶部的C / C ++中创建SW项目。如有必要,您还可以直接从主Vivado项目目录中创建的SDK文件夹启动SDK。

现在,如果您需要返回Vivado并对HW设计进行更改,那么建议关闭SDK窗口并在Vivado中制作所需的HW设计编辑。在此之后,您必须遵循创建新的HDL包装器的序列,保存设计和位文件生成。然后必须将此新位文件和系统包装器导出到SDK。

由于我们此时我们没有任何HW设计编辑,因此我们将继续创建软件应用程序。

10.2)在主SDK窗口的左下角,您会发现项目资源管理器面板。请注意,名称下有一个主项目文件夹system_wrapper_hw_platform_0.

系统是您在Vivado创建的区块设计的名称。该硬件平台具有所有的HW设计定义、已添加的IP接口、外部输出信号信息和本地内存地址信息。

假设此时,你已经关闭了SDK,编辑了现有的硬件设计,并将设计导出到SDK中,那么在启动SDK工具后,你将发现一个新的硬件平台,名为:system_wrapper_hw_platform_1.除了旧的HW设计。system_wrapper_hw_platform_0.


11.在SDK中创建新的应用程序项目

11.1)去文件在主工具栏中选择新应用程序项目.将弹出一个新的项目窗口。
给你的SDK项目起一个没有空格的名字,比如“DigiLEDs”。确保目标硬件是正确的硬件设计。在我们的例子中,它将是“system_wrapper_hw_platform_0”。单击“下一步”。

请注意,图像错误地显示了MicroBlaze作为此项目的处理器类型。处理器将为Zedboard显示PS7_Cortexa9_0。

11.2)选择空的应用程序可用的模板在左侧面板上单击Finish。

11.3)完成上一步后,您将在项目资源管理器面板。
** Digileds **包含所有二进制文件,.c和.h(标题)文件** Digileds_BSP **是电路板支持文件夹

二手话所是我们的主要工作源文件夹。这也包含此处显示的一个重要文件,它是“lscript.ld”。这是一个Xilinx自动生成的链接脚本文件。


12.添加主要源文件

导航到“main.c”文件。
单击并将main.c文件拖到DIGILEDS / SRC.Xilinx SDK中的文件夹。选择将这些源文件复制到项目中,然后单击“确定”。

13.用位文件编程FPGA

13.1)确保Zedboard打开并连接到主机PC,带有提供的Micro USB电缆。

在快速选择工具栏中,您将找到带有红色箭头和三个绿色方框的符号。

点击该符号,打开Program FPGA窗口。

确保硬件平台是选为system_wrapper_hw_platform_0.

在软件配置框中,在ELF文件以块初始化内存列,行选项必须读取bootloop.如果没有,请单击行并选择bootloop

现在点击“程序”。


14.编写Zynq处理器

14.1)FPGA已成功编程位文件后,来自项目资源管理器面板上,右键单击“Digileds”项目文件夹。去“逃跑”并选择"启动硬件(系统调试器)"



然后你的Zedboard将开始DigiLEDs演示。按下按钮0将在RGB上循环通过三个模式领导地带。