开始ARTY的基础系统设计

概述

本指南将在Vivado中打开Arty基本系统设计项目并在Xilinx SDK中开始提供一步一步。

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

  • 在Xilinx Vivado中打开了预先制作的基于Microblaze的硬件(HW)设计。
  • 在设计中导入并实现一个自定义DigiLEDs IP块。
  • 在Xilinx Vivado SDK(软件开发工具包)中创建. c项目,以与Arty接口。

先决条件

技能

  • 熟悉Vivado
  • 块设计经验

硬件

  • 勤勉的Arty FPGA板
  • 微USB电缆
    • 用于UART通信和JTAG编程
  • 可编程RGB LED(WS2812,Neopixels)
    • 数据输入信号线连接到火炮的JB1

软件

  • Xilinx Vivado 2015.3或2015.4 SDK包。
    • 遵循此Wiki指南(安装Vivado)如何安装和激活Vivado

董事会的支持文件

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

项目文件


介绍

Arty Base系统设计是一个预先制作的项目,它将Arty上所有必要的硬件路由到Xilinx SDK中使用的Microblaze处理器。这允许用户直接跳到SDK中的软件设计。

在本教程中,我们将在基本系统设计中添加我们自己的自定义IP块以与某种可编程RGB LED一起使用。


一般的设计流程

I. Vivado

  • 打开Vivado
  • 执行BSD tcl脚本来导入项目
  • 将DigiLeds自定义IP添加到项目的IP存储库
  • 将DigiLEDs IP添加到设计中并配置它。
  • 验证和保存块设计
  • 创建HDL系统包装器
  • 运行设计综合和实现
  • 生成一些文件
  • 导出硬件设计包括生成的位流文件到SDK工具
  • 发射SDK

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

II。SDK.

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

教程

1.创建一个新项目

1.1)下载并解压项目文件到一个你会记得的目录。我们将使用“C: /工作”本教程。
1.2)打开Vivado,在屏幕底部找到tcl控制台。

1.2)类型“cd C: / / BSD /项目”工作在TCL控制台中。这将把您移动到包含生成BSD项目的tcl脚本的文件夹。
1.3)类型“源./create_project”在TCL控制台中。这将自动生成BSD项目。

当它完成时,你应该看到火炮基地系统设计如下所示。


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

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

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

2.3)导航到您的项目文件夹并选择“Digiled-Master”文件夹。

2.4)验证新的repo是否在列表中,然后单击“确定”以退出项目设置。

3.添加自定义IP

3.1)点击“添加IP”下面突出显示的按钮。

3.2)在搜索框中键入“DigiLED”,然后双击“DigiLED_v1.0”.这将使我们的自定义IP添加到块设计。

3.3)点击“连接自动化运行”点击“确定”,将IP连接到Microblaze。


4.配置IP

4.1)找到DigiLED_0块并双击该块来定制它。

4.2)选择HSV子弹和改变led的数量字段为led的数量在你的RGB领导在单击“确定”之前先剥离。


5.添加LED信号引脚

5.1)右键点击你的方块设计,然后点击“创建端口”

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

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

5.4)在块设计的左侧,选择来源按下,然后打开pins.xdcConstraints文件夹中的文件。

5.5)复制下面的行,并粘贴它在pins.xdc。这是连接到连接器JB1的引脚。
set_property -dict {package_pin e15 iostandard lvcmos33} [get_ports {led_pin}];#io_l11p_t1_srcc_15 sch = jb_p [1]


5.6)保存PINS.xdc并关闭它。

6.删除/创建HDL系统包装器

6.1)中来源选项卡,单击“system_wrapper - 结构”然后按删除。您也可以在它上立即,然后单击“从项目中删除文件”。选中框,然后单击“确定”。

6.2)在弹出的下一个窗口中,单击“忽略并继续无效的顶部模块”,然后单击“确定”。

6.3)右击system.bd并点击创建HDL包装器...


7.生成一些文件

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

7.2)生成比特流后,将在屏幕上弹出消息提示。您不必为此演示打开实现的设计。只需单击“取消”。

8.导出硬件设计到SDK

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

这将为软件开发工具- Vivado SDK导出带有系统包装的硬件设计。

检查框中是否包含生成的比特流


9.推出SDK.

9.1)去文件并选择发射SDK并单击OK。在Vivado设计项目位置本地创建的SDK文件将被启动。Vivado已经完成了对SDK的移交。


10.Vivado SDK内部

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

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

由于我们目前没有任何HW设计编辑,我们将继续创建一个软件应用程序。

10.2)在主SDK窗口的左上角,你会发现Project Explorer面板。注意,在名称下有一个主项目文件夹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”。点击下一步”。

11.2)选择空应用程序在下面可用模板在左侧面板上,单击“完成”。

11.3)完成上一步后,您将看到两个新文件夹Project Explorer面板。
**DigiLEDs**包含所有二进制文件,.C和.H(头文件)**DigiLEDs_bsp**是板支持文件夹

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


12.添加主源文件

导航到Work目录下的项目文件文件夹,找到“main.c”文件。
12.2)单击并将此Main.c文件拖动到DigiLEDs / srcXilinx SDK中的文件夹。选择将这些源文件复制到项目中,然后单击OK。

13.用位文件编程FPGA

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

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

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

确保硬件平台是选为system_wrapper_hw_platform_0.

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

现在点击程序。


14.对Microblaze处理器进行编程

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



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

-