Arty Z7 HDMI输出演示

在建设中


描述

Arty Z7 HDMI输出项目演示了Arty Z7板上HDMI输出端口的使用。有两个项目,每一个变种的板:火炮Z7-10和火炮Z7-20。其行为如下:

  • 帧通过HDMI out端口流出。
  • 一个UART接口可用来配置通过HDMI输出的内容。
  • 有3个显示帧缓冲器供用户选择显示。

库存


下载及使用说明

首先,发行版(由一组用于下载的文件组成)只与Xilinx工具的特定版本兼容,正如发行版名称中所指定的那样(称为a版本标记).此外,发行版只与指定的板的变体兼容。例如,标记为“20/DMA/2020.1”的Zybo Z7版本仅用于-20变体的板和Xilinx工具(Vivado和Vitis) 2020.1版本。

此演示的最新版本以绿色高亮显示。

注意:2020.1之前的FPGA演示版本使用了不同的git结构,并使用了不同的版本标记命名方案。

董事会变体 版本标记 版本下载 设置说明
艺术Z7-10 10 / hdmi接口输出/ 2020.1 - 1 ZIP下载发布 看到使用最新版本,低于
艺术Z7-20 20 / hdmi接口输出/ 2020.1 - 1 ZIP下载发布 看到使用最新版本,低于
艺术Z7-10 2018.2 - 1 ZIP下载发布 2018.2 - 1 Github的自述
艺术Z7-20 2018.2 - 2 ZIP下载发布 2018.2 - 2 Github的自述
艺术Z7-10 2016.4 - 3 ZIP下载发布 使用Digilent Github演示项目(遗产)
艺术Z7-20 2016.4 - 4 ZIP下载发布 使用Digilent Github演示项目(遗产)

高级用户注意事项:所有的Arty Z7的演示是通过Arty-Z7在Github库。关于这个存储库结构的更多文档可以在这个wiki上找到Digilent FPGA演示Git仓库页面。


关于最新版本的使用说明可以在下拉列表中找到:

使用最新版本

注意:这个工作流在许多Digilent FPGA演示中都是通用的。屏幕截图可能与您正在使用的演示程序不匹配。

重要的是:这些步骤只适用于Xilinx工具2020.1及更新版本的发行版。旧版本可能需要其他流程,如版本表中所示。

首先,从demo发布页面下载“*.xpr.zip”和“*.ide.zip”文件,链接在上面。XPR存档包含用于为这个演示构建硬件平台的Vivado项目。如果需要,可以打开、修改该项目,并在以后用于更新硬件平台,但这是可选的。IDE归档文件包含一组要导入到Vitis工作区中的项目。

注意:与Vivado XPR归档不同,不要提取Vitis项目归档('*.ide.xip')。Vitis直接从归档文件导入源文件。


从一个版本中导入葡萄项目

选择与您的操作系统对应的下拉菜单,如下所示。

窗户

通过安装过程中创建的开始菜单或桌面快捷方式打开“葡萄”。

Linux
打开终端并运行以下命令。安装路径默认为“/opt/Xilinx”。
源< install_path > /葡萄/ 2020.1 / settings64.sh葡萄

注意:不管操作系统,如果Vivado是开放的,Vitis也可以通过Tools→Launch Vitis工具栏选项。


启动Vitis后,将出现一个对话框,其中必须选择工作区。工作空间是正在开发的应用程序的所有项目和文件所在的目录。如果选择了当前不存在的文件夹,则会创建该文件夹。选择工作区的名称,单击发射完成“葡萄”的发射。


打开Vitis后,单击导入项目控件导入项目葡萄项目导出zip文件,然后导航到并选择您下载的IDE压缩文件。


确保选中归档中的每个项目,然后单击完成将它们导入到工作区中。


构建一个Vitis应用程序

一旦应用程序项目设置好并包含了所有必要的源代码,就应该构建它。要生成项目及其所有依赖项,请在助理窗格,或者单击构建按钮(),或按键盘上的Ctrl-B。

注意:在“助手”窗格中有三种类型的构建目标、平台、系统和应用程序。构建应用程序不会触发系统中要构建的任何其他应用程序,而是将包装器构建为依赖项。构建平台将只构建平台,因为它没有依赖关系。构建系统将导致构建系统中的每个应用程序以及平台。

此过程可能需要几分钟才能完成。当完成时,控制台选项卡将显示“Build Finished”消息。


设置火炮Z7

通过microrousb编程电缆将Arty Z7插入计算机。

将HDMI线的一端插入视频监视器,另一端插入Arty Z7 HDMI输出端口。


启动一个Vitis应用程序

首先,许多应用程序需要将串行控制台连接到板上,以便可以查看标准输出(来自print语句)。为此,应该使用串行终端。使用串口终端应用程序连接单板的串口。除非另有说明,Zynq设计使用115200波特率,Microblaze设计使用AXI UART Lite IP波特率为9600。

注意:虽然Vitis的Debug视图中包含一个内置的串行终端,但它会逐行发送字符到板子上。一些软件示例需要使用逐字符的数据接收。Tera术语腻子如果您不确定什么可以工作,建议使用。


资源管理器窗格,右键单击要运行的应用程序或系统项目,然后选择在硬件上启动(单个应用程序调试).将用比特流对FPGA进行编程,将软件构建创建的ELF文件加载到系统内存中,应用程序项目将开始运行。您将需要单击回到葡萄属串行终端控制台选项卡。

注意:项目至少运行一次后,你可以使用绿色的运行按钮(),而不是在屏幕顶部的工具栏上编程。


在这一点上,演示现在正在您的板上运行。指的是描述关于它的功能的更多信息。的HDMI显示选项下面一节介绍了可以通过串行发送到应用程序的每个命令,以便配置它或让它执行一些操作。


本文之外的其他步骤介绍了如何使用发行版中提供的其他存档(包含硬件项目)来重建Vivado项目,以及如何使用新导出的XSA文件来更新Vitis中的平台。


为了修改和切换硬件平台以实现裸金属演示,您应该首先从发行版打开Vivado项目。解压缩先前下载的'*.xpr.zip'文件。


在Vivado中打开一个街区设计项目
发射Vivado

选择与您的操作系统对应的下拉菜单,如下所示。

窗户

通过安装过程中创建的开始菜单或桌面快捷方式打开Vivado。

Linux

打开终端,将目录(cd)切换到Vivado会话日志文件所在的文件夹,然后运行以下命令:

源< install_path > / Vivado / <版本> / settings64.sh Vivado


在Vivado的欢迎屏幕中,使用开放项目按钮,导航并打开XPR文件包含在释放解压缩到的文件夹。


项目的框图(包含设计、所有现有组件及其连接)可以通过双击“*”打开。Bd "文件(它还包括其他源文件,如约束),或通过单击开放块设计按钮流导航器窗格。


更改设计超出了本文档的范围。有关如何使用IP Integrator创建或修改项目的更多信息可以通过以下链接找到入门Vivado和Vitis的Baremetal软件项目.本文的其余部分将讨论如何生成比特流、导出新的硬件平台并将其加载到Vitis中。


在构建Vivado项目之前,必须验证模块设计。这个步骤会自动检查区块的设计,看看是否有任何潜在的问题。单击验证设计按钮(),或按F6键。

如果设计有问题,将弹出一个对话框列出他们。应该指出的是,大多数警告可以被忽略吗重要的警告.这些问题亦可参阅消息选项卡在窗口底部的窗格上。

如果没有问题,就会弹出一个对话框告诉你。点击好吧继续。

注意:一些Zynq板可能在这个阶段产生与PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY参数相关的关键警告。这些警告是可以忽略的,并且不会影响项目的功能。有关更多信息,请参阅单板参考手册中的硬件勘误表部分。


构建一个Vivado项目

此时,通过综合和实现运行Vivado项目,并最终生成位流,就可以构建Vivado项目了。单击产生的比特流按钮程序和调试部分的流导航器窗户左边的玻璃。


一个对话框将弹出几个选项,说明合成和实现应该如何运行。大多数应该保留为默认值。特别重要的是就业人数下拉列表,用于指定计算机的多少资源应该专门用于构建。大量的工作将花费更多的资源,这将允许构建更快地完成。建议选择可用的最高号码。

注意:关于包含在另一个IP中的IP是如何用不同的板值打包的关键警告可以安全地忽略。对于一些Zynq板上关于CK-to-DQS负面延迟的警告也是如此。

根据设计的复杂性、使用的板和计算机的强度,构建项目的过程可能需要5到60分钟。


完成后,将弹出一个对话框,显示以下几个选项:

  • 开放的设计实现可以用来查看已经实现的实际硬件设计,并将其放置到芯片上。
  • 查看报告可以用来查看有关设计的其他信息,包括设计将使用多少FPGA资源。
  • 开放硬件管理器可以直接去Vivado的硬件管理器,它可以用来编程的硬件设计到一个板。这通常用于不涉及软件组件的设计。
  • 生成内存配置文件可以用来创建一个文件,为编程的fpga只设计到闪存。

如果不需要这些选项,请单击取消继续。


导出硬件平台

项目构建完成后,必须从Vivado导出设计,这样Vitis就可以访问正在开发软件应用程序的硬件信息。这包括连接到处理器的IP集、它们的驱动程序、它们的地址等等。bitstream生成后导出硬件允许您直接从Vitis内部编程。


单击,导出硬件设计出口→出口硬件文件菜单。


弹出的向导将引导您浏览硬件导出可用的选项。第一个屏幕允许您选择固定可扩展的平台。此时,选择固定平台,单击下一个继续。


输出屏幕可让你选择是否只有硬件规格(Pre-synthesis),或是否应包括位流。由于比特流已经生成,它应该包含在平台中,以便Vitis可以在编程时自动找出它的位置。选择包括比特流并点击下一个继续。


文件屏幕提供了为Xilinx Shell Architecture (XSA)文件选择名称的选项,并提供了文件将放置在其中的文件夹的路径。给XSA文件一个名称,并选择一个容易记住的位置来放置它。这个文件稍后将被导入到Vitis中,所以请记下它的位置和名称。

重要的是:文件名和导出路径中不能使用空格。强调或camelCase建议。

点击下一个继续。


向导的最后一个屏幕总结了您选择的选项。点击完成


在Vitis中更新硬件平台

如果在创建了一个Vitis应用程序项目之后更改了硬件设计,那么必须执行几个步骤,以便使用新导出的XSA文件更新Vitis工作区。XSA文件包含与Vitis有关的所有关于硬件平台的信息,根据该文件更改平台项目的规范将在任何更改中自动加载。这包括为已安装的新IP添加新驱动程序,并更改定义任何已安装IP的地址和其他细节的文件,这些文件可能已经重命名或更改了它们的地址。

这些步骤假设您已经重新生成了位流,并以与创建新的Vitis工作区相同的方式重新导出了硬件。


在葡萄的助理窗格中,找到要用新硬件更新的平台项目。这个项目通常会有一个以“_wrapper”结尾的名称,并被标记为文本“[Platform]”。

右键单击该项目并选择更新硬件规范


在弹出的对话框中,单击浏览,并导航到您希望平台瞄准的XSA文件的位置。点击开放选择此文件。


仔细检查硬件规范文件路径匹配您想要使用的XSA文件,然后单击好吧启动自动更新平台的过程。

完成后,将弹出一个对话框,表明平台项目已被更新。点击好吧承认这一点。


此时,对硬件规范的更改已经加载到硬件平台中。如果位流被加载到XSA文件中,那么它将被更新。驱动程序集和xparameters文件将根据修改后的设计进行更改。在构建应用程序并将其编程到电路板上之前,可能需要对软件应用程序进行更改,但是,详细说明可能需要做什么超出了本指南的范围。



HDMI显示选项

1.改变显示分辨率

改变HDMI输出的分辨率。


2.修改显示帧缓冲索引

改变VDMA帧缓冲区用于视频输出。每个帧缓冲区代表一个不同的DDR内存块,它可以被处理器修改,并被VDMA读取,通过HDMI out端口重复地输出帧。


将两种测试测试模式(混合颜色或垂直颜色条)中的一种存储到输出缓冲区中,以便立即显示。注意,如果视频输入流进入相同的缓冲区,测试模式可能会立即被覆盖。

另外需要注意的是,如果视频输出的分辨率后来改变了,视频数据就会被裁剪或填充以适应屏幕。这种裁剪和填充不会影响实际存储的内存,因为这是VDMA如何索引DDR内存中的framebuffer区域的结果。存储一个新的测试模式不会影响当前显示区域之外的framebuffer中的内存——包括不会用当前输出分辨率显示的区域。


5/6。反转当前帧的颜色

遍历当前framebuffer中的每个像素,并反转颜色。当选择选项6而不是选项5时,在执行反转时,当前framebuffer被复制到另一个framebuffer,在操作完成后切换到第二个缓冲区。在这种情况下,原始的framebuffer不会被修改,只有在整个操作完成后,整个显示才会更新。


额外的资源

所有与Z7火炮使用相关的材料都可以在其主页上找到资源中心

有关在Vivado和Vitis中创建简单裸金属软件项目的过程,请参见入门Vivado和Vitis的Baremetal软件项目.有关gui重要部分的信息,以及在硬件中修改、重建和运行这个演示所需步骤的间接讨论,也可以在这里找到。

如需技术支持,请访问FPGADigilent论坛的一部分。


{{标签>项目arty-z7}}