Zybo领导演示

不再支持该项目。请参阅支持的内容Zybo资源中心

概述

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

在本教程的最后,您将拥有:

  • 在设计中导入并实现了一个自定义的DigiLEDs IP块。
  • 在Xilinx Vivado SDK(软件开发工具包)中创建. c项目,以与Zybo接口。

先决条件

技能

  • 熟悉Vivado
  • 块设计经验

硬件

  • Digilent Zybo董事会
  • 微型USB电缆
    • 用于UART通信和JTAG编程
  • 可编程RGB led (WS2812,新像素)
    • 数据输入信号线连接到Zybo的JB1

软件

  • Xilinx Vivado 2015.3或2015.4与SDK包。
    • 请参考本维基指南(安装Vivado),了解如何安装和激活Vivado

董事会的支持文件

  • Zybo支持文件
    • 这些文件将描述GPIO接口,使它更容易选择您的FPGA板和添加GPIOIP块。
    • 请参考本维基指南(Vivado板文件为Digilent 7系列FPGA板),了解如何安装Vivado的板支持文件。

项目文件


介绍

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


一般的设计流程

即Vivado

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

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

2SDK

  • 创建新的应用项目,选择“空应用模板”
  • 进口c
  • FPGA程序

教程

1.创建项目

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

1.1)点击创建新项目.选择项目名称和位置没有空格.对于项目名称、文件名和位置路径来说,这是一个重要的命名约定。
下划线可以很好地替代空白。

为Vivado Projects创建一个专用文件夹是一种很好的做法,最好使用尽可能小的路径长度。例如:C: / Vivado_Projects。

命名您的项目,并选择项目位置,然后单击下一个

1.2)选择项目类型为RTL项目.让“-不指定源文件”框未选中,然后单击下一个

1.3)我们不会在这里导入或创建任何文件,所以点击下一个直到零件选择屏幕。

1.4)如您已填写董事会支持文件Wiki指南中,选择董事会
Zybo应该显示在选择列表中。选择正确的板名不匹配将导致错误。选择Zybo并点击下一个

1.5)显示新项目设计源和目标设备的摘要。点击完成


2.创造新的街区设计

这是主要的项目窗口,您可以在这里创建基于IP的块设计或添加基于RTL的设计源。左边的流导航面板提供了多个选项,如何创建硬件设计,执行模拟,运行合成和实现,并生成一个比特文件。您还可以使用硬件管理器直接从Vivado为RTL项目生成位文件来编程。

对于我们的设计,我们将使用IP Integrator创建一个新的块设计。

2.1)在左边你应该看到流程导航器。选择创建块设计IP集成商。给你的设计一个名字(没有任何空白),然后点击好吧



你创造了一个新的街区设计。


3.添加我们的自定义IP回购

3.1)查找并点击“项目设置”在Vivado左边的项目经理下面。

3.2)在项目设置中,点击左侧的“IP”。然后点击“Repository Manager”标签并点击+按钮(下面突出显示)。

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

3.4)确认新回购在列表中,点击确定退出项目设置。

4.添加自定义IP

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

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



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

4.3)点击“块自动化运行”并点击好吧自动配置Zynq核心。

4.4)单击“运行连接自动化运行并点击好吧连接diged和Zynq核心。


5.配置的IP

5.1)找到DigiLED_0块,双击该块进行自定义。

5.2)选择HSV选中并将led数量字段更改为RGB上的led数量领导在单击“确定”之前剥离。


6.添加LED信号引脚

6.1)在你的区块设计中右键点击,然后点击“创建端口”

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

6.3)使用光标将“led_pin”连接到DigiLED_0块上的“led_out”(它看起来像一支铅笔)。

6.4)在你的方块设计的左侧,选择来源选项卡,然后在窗口中右键单击。选择添加来源…一扇窗就会打开。选择添加或创建约束并点击下一个



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

6.6)复制下面一行,并粘贴到pin .xdc内。这是引脚连接到连接器JB1。
set_property -dict {PACKAGE_PIN T20 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并单击OK。将启动在Vivado设计项目位置本地创建的SDK文件。从Vivado过渡到SDK的过程已经完成。


10.在SDK内部的Vivado

10.1)将打开一个新的SDK窗口。硬件设计规范和包含的IP块显示在system.hdf文件。SDK工具是独立于Vivado的,也就是说,从这里开始,你可以在导出的HW设计之上用C/ c++创建你的SW项目。如果需要,您也可以直接从Vivado项目主目录中创建的SDK文件夹中启动SDK。

现在,如果您需要回到Vivado并更改硬件设计,那么建议关闭SDK窗口,并在Vivado中进行所需的硬件设计编辑。在此之后,您必须按照创建一个新的HDL包装器的顺序,保存设计和位文件生成。这个新的位文件和系统包装器必须导出到SDK。

由于我们在这一点上没有任何硬件设计编辑,我们将继续创建一个软件应用程序。

10.2)在主SDK窗口的左下角,你会发现Project Explorer面板。注意,名称下有一个主项目文件夹system_wrapper_hw_platform_0

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

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


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

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

11.2)选择空应用程序可用的模板,然后单击Finish。

11.3)完成上一个步骤后,你会在Project Explorer面板。
**DigiLEDs**包含所有二进制文件,.C和.H(头)文件**DigiLEDs_bsp**是板支持文件夹

DigiLEDs是我们的主要工作源文件夹。这也包含一个重要的文件,这里显示的是“lscript.ld”。这是Xilinx自动生成的链接器脚本文件。


12.添加主源文件

12.1)导航到“main.c”文件。
12.2)单击并拖动main.c文件到DigiLEDs / srcXilinx SDK中的文件夹。选择将这些源文件复制到项目中并单击OK。

13.用位文件编程FPGA

13.1)确保Zybo已打开,并通过提供的微型USB线缆连接到主机PC。

在快速选择工具栏中,你会发现一个带有红色箭头和三个绿色方框的符号。

单击此符号打开程序FPGA窗口。

确保硬件平台是选为system_wrapper_hw_platform_0

在软件配置框下要块初始化的ELF文件内存列时,必须读取行选项bootloop.如果不是,请单击该行并选择bootloop

现在点击程序。


14.编程Zynq处理器

14.1)在FPGA成功编写了位文件后,从Project Explorer面板上,右键单击“DigiLEDs”项目文件夹。去“运行”并选择在硬件上启动(系统调试器)



然后您的Zybo将启动DigiLEDs演示。按下按钮0将在RGB上的三个模式中循环领导地带。