当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]AMD Kria KV260 于2021年4月20日发布,最初配备的是橙色风扇外壳。与此同时,AMD及其合作伙伴推出了相关教程,指导用户利用该芯片打造各种有趣的项目,从基于其内置自定义AI逻辑模块的面部识别应用,到同年及2022年的裸机应用。如今已是2026年,软件已更新至最新版本2025.2,甚至KV260的风扇颜色也已从原来的橙色升级为黑色。本教程旨在对之前的教程内容进行更新和补充,整合其中常见的注意事项、常见问题及解答。

AMD Kria KV260 于2021年4月20日发布,最初配备的是橙色风扇外壳。与此同时,AMD及其合作伙伴推出了相关教程,指导用户利用该芯片打造各种有趣的项目,从基于其内置自定义AI逻辑模块的面部识别应用,到同年及2022年的裸机应用。如今已是2026年,软件已更新至最新版本2025.2,甚至KV260的风扇颜色也已从原来的橙色升级为黑色。本教程旨在对之前的教程内容进行更新和补充,整合其中常见的注意事项、常见问题及解答。

我们正在建设什么?

在本教程中,我们将构建一个裸机应用程序,并自定义FPGA逻辑,用于从TPG(Xilinx IP核)接收4K、30Hz的视频帧,并将其传输至KV260上的DP端口。该应用程序以C语言实现,将直接运行在Quadcore ARM® Cortex™-A53 MPCore核心(PS层)上,并协调TPG及其他IP模块,输出一段流畅的4K视频:画面中有8个垂直条纹,以及一个小黑方框在其中来回跳跃。您需要:

硬件

•一块AMD Kria KV260主板(该主板本身不包含任何外设或电源适配器)

•12V,3A,60Hz,2.5mm交流电源适配器

•USB-A转Micro USB数据线

•DP线缆

•运行 Windows 的电脑

•用于测试的4K显示器

•防静电工作站(垫子和腕带)

软件

•Vitis 和 Vivado 2025.2

我们该如何建造它?

在开始开发之前,我们需要完成一些初步的准备工作。请按照以下步骤进行!

物理设置

防静电:建议您在使用KV260时,将电路板放置在防静电垫(即接地垫)上,并使用防静电腕带进行接地。防静电套装配有连接至墙上的插座的电缆,适用于美国地区。

•使用Micro USB数据线将KV260板连接到电脑

•使用交流适配器为KV260板供电

•使用DP线将KV260板连接到显示器

开发环境

•请确保已正确设置驱动程序,以便从KV260获取串行输出;如果你使用的是USB串口,应该可以正常工作。

•当你通过USB将KV260连接到电脑时,会在Windows的设备管理器中看到4个COM端口。

•我得到了 COM 8、10、11、12。有些教程说应该得到连续的编号,并且用不同的标签,但我的结果是这样的

•您的串行输出将通过KV260显示的最低串行端口传输,我的情况下是COM8。

•串行端口正是你在Vitis中希望看到串行输出的那种端口,但我们会稍后再设置。我尝试过一些其他Xilinx或Digikey的驱动程序,但在Windows 11 24H2上它们对我不起作用。

Vivado 和 Vitis

•请确保将所有项目和工作区文件夹安装并保存在没有空格的文件夹中。

•例如,如果你在 Windows 中有一个用户文件夹,比如:C:\Users\Aldredo Valasco,那么路径将被损坏,Vivado 和 Vitis 将无法运行该文件夹内的任何文件。

•我建议:C:\,这将在 Windows 中创建以下文件夹:C:\AMDDesignTools

•使用此设置的应用程序路径为:C:\AMDDesignTools\2025.2\Vitis

运行应用程序

•安装程序没有为我创建应用程序快捷方式,所以我用命令提示符来访问它们。

•它也没有为我全局安装终端命令,但我找到了一个不错的解决办法,如果你遇到同样的问题。

•设置 Vitis:打开命令提示符,然后运行以下命令来配置 vitis 应用终端:call C:\[AMDDESIGNTOOLS_FOLDER]\2025.2\Vitis\settings64.bat

•对于我们的示例安装,应执行:call C:\AMDDesignTools\2025.2\Vitis\settings64.bat

•要打开应用程序,请运行:vitis

•设置 Vivado:打开命令提示符,然后运行以下命令来配置 Vivado 应用程序终端命令:call C:\[PATH_TO_AMDDESIGNTOOLS_FOLDER]\2025.2\Vivado\settings64.bat

•对于我们的示例安装,应执行:call C:\AMDDesignTools\2025.2\Vivado\settings64.bat

•要打开应用程序,请运行:vivado

•Vivado 是一款基于 Java 的优秀应用程序,在 Windows 系统上运行良好。

•Vitis 基于 VSCode,运行起来相当不稳定。当我的电脑进入睡眠状态时,Vitis 应用会变黑,无法关闭,我只能通过任务管理器来结束 Vitis 任务才能将其关闭。

开发流程

我们将把开发工作分为两个主要部分:1)设计和实现自定义硬件/逻辑,2)编写驱动该硬件的软件。

硬件设计(第二部分)

我们将使用 Vivado 2025.2 来创建设计、进行综合,并导出为 .xsa 和 .bit 文件。主要的硬件组件包括:

•Zynq™ UltraScale+™ MPSoC处理系统IP——将KV26的PS/PL部分集成在一起的核心组件,可将DP连接暴露给其他IP核心。

•视频定时控制器(VTC)——为视频传输提供定时信号(垂直同步、水平同步和消隐信号)

•视频测试模式生成器(TPG)——生成我们即将显示的实际比特

附加组件

•AXI4-Stream 到视频输出 - 将来自 TPG 的视频信号与 VTC 的时序信号进行整合,向核心提供清晰的信号

•AXI-SmartConnect(替代了旧教程中可见的AXI互连)——将Zynq IP输出的软件控制信号(来自我们的C代码)转换为VTC和TPG可理解的控制信号,而这些设备本身运行在不同的协议和时钟上。

•时钟向导——可提供不同的时钟,使Zynq IP运行在一种时钟频率下,VTC在另一种时钟频率下,TPG在另一种时钟频率下。

•处理器系统复位模块——我们将配备三个此类模块,每个时钟频率对应一个。它们的作用是确保各时钟频率下的组件在正确的时间被复位,并在其他所有组件就绪后启动。这些模块相互连接,并与Zynq IP相连以实现主复位功能,随后根据各自的时钟分别复位不同的逻辑电路。

•System ILA - 允许我们探测不同的信号,以便在 Vivado 的硬件管理器中查看其运行状态

定制固件(第三部分)

•我们将使用 Vivado 的输出文件,并将其导入 Vitis 2025.2 中以构建一个平台。

•该平台将包含我们调用在Vivado中合成的硬件所需的全部库,并且我们将从main()函数中调用它们。

•我们将导入 psu_dpma 的示例代码,以获取大部分样板代码,并从函数中设置调用主函数 main()。

我们为什么要建造它?

该测试应用将指导您完成搭建裸机应用程序所需的所有步骤,无需安装Linux或操作系统,仅需具备微秒级计算能力的原始硬件。通过这种更简单的配置,您可以构建各种闭环自动化系统,集成其他IP模块、GPIO接口、数据传输、触发器以及与其他设备和操作系统的同步功能。

完成以上所有步骤后,你应该会在屏幕上看到以下测试模式生成器的输出!

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

本项目展示了一种基于DE1-SoC FPGA板采用有限状态机(FSM)构建的安全数字访问控制系统。该系统允许用户通过键盘或开关输入4位密码,硬件验证密码,并通过LED灯、七段数码管、TFT屏幕和蜂鸣器提供反馈。为增强安全...

关键字: FPGA 蜂鸣器 七段数码管 DE1-SoC板

本项目采用VSD Squadron FPGA Mini板和MYOSA传感器模块,构建了一套基于FPGA的智能水质安全报警系统。该系统设计为低成本的数字原型,用于将水质状况分类为三种简单状态:安全、注意和危险。VSD Sq...

关键字: 传感器 FPGA LED

在产线设备中,PLC常作为主控单元负责工艺流程,FPGA作为高速算法加速/多路采集前端。两者之间通过Modbus RTU(RS485)或 Modbus TCP(以太网)互通,是成本与开发难度最平衡的协同方案。本文以西门子...

关键字: PLC FPGA Modbus

在Xilinx FPGA开发中,Vivado HLS(High-Level Synthesis) 是把C/C++/SystemC算法“翻译”成RTL(Verilog/VHDL)并封装为可重用IP核的利器。相比手写RTL,...

关键字: Vivado FPGA Xilinx

我们都经历过这种情况:模拟器看起来完美无缺,比特流第一次加载就成功了,可板子却……静止不动,做着奇怪的事,又不肯解释。这时你只能拿起厂商的调试工具,接受被绑在他们IDE上的命运,或者干脆在设计上撒满LED灯,像撒 bre...

关键字: FPGA 计数器 BRS-100-GW1NR999

在FPGA/ASIC设计中,跨时钟域(CDC,Clock Domain Crossing) 是时序违例与功能Bug的高发区。单比特信号、多比特总线、脉冲需采用不同同步策略。本文给出三种经典CDC方案的RTL实现,并对比S...

关键字: 跨时钟域 FPGA

在高速ADC采集系统中,数字下变频(Digital Down Converter, DDC) 负责将高中频采样信号搬移到基带(或低中频),并完成降采样(Decimation)与抗混叠滤波,是雷达、软件无线电接收链路的标配...

关键字: FPGA DDC

在FPGA中例化DDR4 SDRAM控制器(如Xilinx MIG或Intel UniPHY)后,正确的时序约束(SDC)是让控制器通过时序签核、稳定跑在目标频率(如2400MT/s)的前提。很多"初始化失败"或"校准不...

关键字: FPGA DDR4 时序约束

在FPGA开发中,“时序不收敛”(Timing Closure Failed)是让工程师最头疼的问题之一。当WNS(最差负余量)为负时,设计无法在目标频率下稳定运行。本文总结五大系统性排查思路,帮助你在Vivado/Qu...

关键字: FPGA 时序收敛

在Xilinx UltraScale+系列FPGA中,片上存储器分为BRAM(Block RAM)和URAM(Ultra RAM)两类。BRAM容量18/36Kb,URAM容量288Kb,但URAM延迟略高且占用更多布线...

关键字: FPGA BRAM URAM
关闭