YunSDR小课堂-Versal Al Engine 开发指南(第102讲)

3. AIE设计教程

AI引擎开发设计教程展示了AI引擎应用程序开发的两个主要阶段:构建应用程序和开发内核。这两个阶段在本教程中进行了演示。

    Versal自适应SoC将可编程逻辑(PL)、处理系统(PS)和AI引擎与领先的内存和接口技术相结合,为任何应用提供强大的异构加速。硬件和软件面向数据科学家和软件、硬件开发人进行编程和优化。

3.1 Beaforming Tutorial

    本教程演示了在AI Engine、PL和PS上运行的波束成形系统的创建,以及在该异构上运行设计的验证。

    本教程分为多个模块,它解释了如何创建自定义嵌入式平台、裸机主机应用程序和基于Petalinux的自定义Linux主机应用程序,以及完整Versal自适应SoC系统集成背景下的硬件仿真和硬件构建流程。每个模块都是用Makefile来构建设计的相关方面。

01 概述

    本波束成形教程是使用AI引擎、PL和PS资源的系统级设计。该设计展示了以下功能:   

  • PL和AI引擎资源的高利用率,这需要先进的时序收敛技术

  • 定制平台创建

  • 实现上下波束成形矩阵乘法的AI Engine graph

  • 与AI Engine交互并以400MHz运行的RTL内核

  • 可扩展的架构,只需要开发少量内核,并且可以多次复制以扩展计算能力

  • 裸机和Petalinux 主机应用程序开发流程

  • 高利用率设计的时序收敛方法

  • 硬件仿真

  • 分层Makefile结构可突出显示构建步骤之间的依赖关系,并展示多个开发人员同时在同一存储库上工作的方法(AI引擎开发人员、RTL设计人员和软件开发人员)

02 工具安装

    1.获取在AMD工具中启用SE设备的许可证license

    2.获取AI Engine工具的许可证license

    3.按照Petalinux工具文档(UG1144)说明下载并安装Petalinux工具

    4.下载VCK190 Petalinux BSP

    5.下载xilinx-versal-common-v2025.1_05221048.tar.gz

解压后:./sdk.sh -y -d /home/sdr/Tools/xilinx-versal-common-v2025.1 -p

  要构建并运行波束成形教程,请下载并安装以下工具:

  • Vitis Unified Software Development Platform 2025.1

  • The Xilinx Run Time(XRT)

  • Petalinux

03 环境配置

    安装完Vitis软件平台后,更新shell环境脚本,将必要的环境变量设置为系统特定路径。

    1.使用您的文件路径编辑sample_env_setup.sh

  需要设置的内容:

    第12行:替换为安装的vitis环境基础平台:/home/sdr/Tools/Xilinx/2025.1/Vitis/base_platforms

    第13行:替换为vitis安装路径:/home/sdr/Tools/Xilinx/2025.1/Vitis

    第14行:替换为官方通用镜像包:/home/sdr/Tools/xilinx-versal-common-v2025.1

    第15行:替换为BSP包存放路径:

/home/sdr/liuxb/workspace/xcvc1902_se/03-beamforming/Module_07_Petalinux/bsp/release

    第16行:BSP包文件名

    第19行:注释

    第25行:替换为Petalinux安装路径:source /home/sdr/Tools/petalinux/settings.sh

    如下图所示:

2.设置环境脚本:source sample_env_setup.sh

3.输出以下信息,表示工具已经正确安装:

04 系统设计概述

    本教程展示了在xcvc1902 versal自适应SoC器件上实现的具有32层和64个天线的波束成形系统。波束成形系统由下行链路子系统组成,其中包含DL64A32L AI Engine子图以及dlbf_data、dlbf_coeff和dlbf_slave PL RTL内核。波束成形系统还由上行链路子系统组成,其中包含UL64A32L AI Engine子图以及ulbf_data、ulbf_coeff和ulbf_slave RTL内核。下行链路和上行链路一起实现M=32层和N=64个天线的上行链路和下行链路矩阵乘法方程并计算样本数据。将结果与参考下行链路和上行链路结果数据进行比较以进行验证。整个波束成形系统复制了3次,以充分利用可用的AI Engine和PL资源。

05 工程编译

    1.由于官方给定的例程板卡指定的为xcvc1902-vsva2197-2MP-e-S,因此需要指定芯片类型:xcvc1902_SE-vsva2197-2MP-i-S;

    在工程根目录下的终端命令行下输入:

find ./ -type f -exec sed -i 's/xcvc1902-vsva2197-2MP-e-S/xcvc1902_SE-vsva2197-2MP-i-S/g' {} +

3.完成之后编译工程:make all

编译完成:

06 例程运行

    1.工程根目录下的Module_09_Running_the_Linux_System/build/package_hw生成了系统镜像和测试例程:

2.将sd_card.img镜像写入TF卡;

3.然后将TF插入设备,在启动设备;

    4.系统启动之后,通过串口可看见启动信息,可通过串口进行输入,用户名:petalinux,密码初始需要输入设置,可自行设置。

    5.执行命令:sudo -icd /run/media/mmcblk0p1/

6.在执行sudo ./embedded_exec.sh

文章来源:威视锐科技