0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Vitis中封装加速平台?

FPGA之家 来源:FPGA之家 作者:FPGA之家 2020-12-26 10:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这是《创建 Vitis 加速平台》系列的第 3 篇博文。在前文中,我们讲解了如何创建硬件和软件工程。在本文中,我们将讲解如何在 Vitis 中将所有这些工程封装在一起。

在 Vitis 中加速软件功能(创建内核)即表示创建硬件 IP 核,并使用由此产生的基础架构将此功能连接到现有平台。

为此,Vitis 需要重构平台。Vitis 使用 XSA 来重构 Vivado 工程。随后,它将追加经过更新的硬件,并重新创建 Vivado 工程。

其它所有一切都保持不变,当然比特流和生成的内核应用除外。因此,启动镜像不能保持不变。而是由我们提供 BIF 文件,并在其中包含镜像占位符用于在 Vitis 中创建这些镜像。

此外,为了能够执行内核,我们需要为目标硬件执行交叉编译。此处使用的是 PetaLinux 中创建的 sysroot。

准备镜像

为了便于使用,我在此对平台文件进行了组织,但这并非必要步骤。重要的是,请牢记创建 BIF 文件时的启动镜像位置,因为我们使用的是占位符。

mkdir -p sw_comp/src/a53/xrt/image mkdir sw_comp/src/boot

将 image.ub、boot.scr 和 rootfs.cpio.gz 从 PetaLinux image/linux 文件夹复制到 sw_comp/src/a53/xrt/image

将 bl31.elf、uboot.elf、zynqmp_fsbl(已重命名为 fsbl.elf)和 pmufw.elf 从 PetaLinux image/linux 文件夹复制到 sw_comp/src/boot

创建 BIF

BIF 文件在 bootgen 中用于创建 SD 启动镜像。

其中包括 BOOT.BIN 文件中所有分区的位置。以下提供了一个模板。

此处请务必注意,我们只提供占位符文件名,而不提供实际文件名。工具将添加指向这些文件的路径。因此,我建议将所有这些文件保存在相同启动文件夹内。zcu104_base 将用作为平台名称。

the_ROM_image: { [fsbl_config] a53_x64 [bootloader] [pmufw_image] [destination_device=pl] [destination_cpu=a53-0, exception_level=el-3, trustzone] [destination_cpu=a53-0, exception_level=el-2] }

将 linux.bif 复制到 sw_comp/src/boot

创建 init.sh 脚本

启动时将运行此脚本以进行 XRT 设置,并将平台名称传递到 ZOCL。

将 init.sh 复制到 sw_comp/src/a53/xrt/image

cp ./platform_desc.txt /etc/xocl.txt export XILINX_XRT=/usr

将 init.sh 复制到

sw_comp/src/a53/xrt/image

创建 platform_desc.txt

这样即可将平台名称传递到 XRT。此处名称应与 Vivado 中提供的平台名称匹配:

zcu104_base

将 platform_desc.txt 复制到

sw_comp/src/a53/xrt/image

创建 QEMU 文件

Vitis IDE 支持软件仿真和硬件仿真。QEMU 即可用于执行此操作。但我们需要传递 QEMU 机器详细信息。

针对 PMU,需使用 pmu_args.txt 执行此操作

-M microblaze-fdt -device loader,file= -machine-path . -display none

将 pmu_args.txt 复制到 sw_comp/src/boot

此外还需要通过 qemu_args.txt 传递 PSU 机器详细信息:

-M arm-generic-fdt -serial mon:stdio -global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true -net nic -net nic -net nic -net nic -net user -m 4G -device loader,file=,cpu-num=0 -device loader,file= -boot mode=5

将 qemu_args.txt 复制到

sw_comp/src/boot

在 Vitis 中封装平台

启动 Vitis 并选择“创建平台工程 (Create Platform Project)”:

fab24f46-46d4-11eb-8b86-12bb97331649.png

使用 BIF 中所提供的名称:

faec928c-46d4-11eb-8b86-12bb97331649.png

选择“根据硬件规范 (XSA) 创建 (Create from hardware specification (XSA))”:

fb260ec2-46d4-11eb-8b86-12bb97331649.png

针对操作系统选择 Linux,然后取消勾选“生成启动组件 (generate boot components)”,因为在 PetaLinux 中已创建这些组件:

fb8db3d8-46d4-11eb-8b86-12bb97331649.png

注:此处警告信息仅用于声明需添加 sysroot。

填入上一篇博文中创建的软件镜像:

fd45b57c-46d4-11eb-8b86-12bb97331649.png

然后执行构建:

完成此操作后,平台将置于 exportzcu104_base.... 至此大功告成。

原文标题:创建 Vitis 加速平台第 3 部分:在 Vitis 中封装加速平台

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 封装
    +关注

    关注

    128

    文章

    9139

    浏览量

    147891
  • Vitis
    +关注

    关注

    0

    文章

    154

    浏览量

    8264

原文标题:创建 Vitis 加速平台第 3 部分:在 Vitis 中封装加速平台

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    何在AMD Vitis Unified IDE中使用系统设备树

    您将在这篇博客中了解系统设备树 (SDT) 以及如何在 AMD Vitis Unified IDE 中使用 SDT 维护来自 XSA 的硬件元数据。本文还讲述了如何对 SDT 进行操作,以便在 Vitis Unified IDE
    的头像 发表于 11-18 11:13 2813次阅读
    如<b class='flag-5'>何在</b>AMD <b class='flag-5'>Vitis</b> Unified IDE中使用系统设备树

    AMD Vitis AI 5.1测试版现已开放下载

    AMD Vitis AI 5.1全新发布——新增了对 AMD Versal AI Edge 系列神经网络处理单元( NPU )的支持。Vitis AI 包含优化的 NPU IP、模型编译工具和部署 API,可在嵌入式平台上实现可
    的头像 发表于 11-08 09:24 986次阅读

    AMD Vitis AI 5.1测试版发布

    AMD Vitis AI 5.1全新发布——新增了对 AMD Versal AI Edge 系列神经网络处理单元 (NPU) 的支持。Vitis AI 包含优化的 NPU IP、模型编译工具和部署 API,可在嵌入式平台上实现可
    的头像 发表于 10-31 12:46 492次阅读

    何在应用程序调试期间分析栈和堆使用情况

    随着 AMD Vitis 统一软件平台 2021.2 的发布,Vitis 引入了一个 Tcl 脚本,用于在应用程序运行的特定时间点协助查找栈和堆的内存使用情况。该脚本已延续到后续的 Vitis
    的头像 发表于 10-24 16:54 585次阅读
    如<b class='flag-5'>何在</b>应用程序调试期间分析栈和堆使用情况

    集成电路制造中封装失效的机理和分类

    随着封装技术向小型化、薄型化、轻量化演进,封装缺陷对可靠性的影响愈发凸显,为提升封装质量需深入探究失效机理与分析方法。
    的头像 发表于 09-22 10:52 653次阅读
    集成电路制造<b class='flag-5'>中封装</b>失效的机理和分类

    何在AMD Vitis Unified 2024.2中连接到QEMU

    在本篇文章我们将学习如何在 AMD Vitis Unified 2024.2 中连接到 QEMU。 这是本系列的第 2 篇博文。要了解如何设置和使用 QEMU + 协同仿真,请参阅开发者分享|在 AMD Versal 自适应 SoC 上使用简单的 QEMU + 协同仿真示
    的头像 发表于 08-06 17:24 1485次阅读
    如<b class='flag-5'>何在</b>AMD <b class='flag-5'>Vitis</b> Unified 2024.2中连接到QEMU

    何在Unified IDE中创建视觉库HLS组件

    最近我们分享了开发者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 传统 IDE)和开发者分享|AMD Vitis HLS 系列 2:AMD
    的头像 发表于 07-02 10:55 1129次阅读
    如<b class='flag-5'>何在</b>Unified IDE中创建视觉库HLS组件

    全新AMD Vitis统一软件平台2025.1版本发布

    全新 AMD Vitis 统一软件平台 2025.1 版正式上线!此最新版本为使用 AMD Versal AI 引擎的高性能 DSP 应用提供了改进后的设计环境。
    的头像 发表于 06-24 11:44 1447次阅读

    使用AMD Vitis Unified IDE创建HLS组件

    这篇文章在开发者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 传统 IDE) 的基础上撰写,但使用的是 AMD Vitis Unified IDE,而不是之前传统版本的
    的头像 发表于 06-20 10:06 1920次阅读
    使用AMD <b class='flag-5'>Vitis</b> Unified IDE创建HLS组件

    如何使用AMD Vitis HLS创建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS 来创建一个 HLS IP,通过 AXI4 接口从存储器读取数据、执行简单的数学运算,然后将数据写回存储器。接着会在 AMD Vivado Design Suite 设计中使用此 HLS IP,并使用嵌入式 Vitis
    的头像 发表于 06-13 09:50 1277次阅读
    如何使用AMD <b class='flag-5'>Vitis</b> HLS创建HLS IP

    何在基于Arm Neoverse平台的CPU上构建分布式Kubernetes集群

    在本文中,我们将以 X(原 Twitter)为例,演示如何在基于 Arm Neoverse 平台的 CPU 上构建分布式 Kubernetes 集群,以根据推文实时监控情绪变化。如此一来,你可以充分利用 Arm Neoverse 平台
    的头像 发表于 03-25 15:58 646次阅读
    如<b class='flag-5'>何在</b>基于Arm Neoverse<b class='flag-5'>平台</b>的CPU上构建分布式Kubernetes集群

    GPU加速计算平台的优势

    传统的CPU虽然在日常计算任务中表现出色,但在面对大规模并行计算需求时,其性能往往捉襟见肘。而GPU加速计算平台凭借其独特的优势,吸引了行业内人士的广泛关注和应用。下面,AI部落小编为大家分享GPU加速计算
    的头像 发表于 02-23 16:16 758次阅读

    国家超算平台推出AI生态加速计划

    昨日,国家超算互联网平台正式推出了旨在促进AI生态发展的新举措——“AI生态伙伴加速计划”。该计划旨在通过提供一系列激励措施,加速AI技术的创新与应用。 作为计划的核心内容之一,国家超算互联网
    的头像 发表于 02-14 09:16 686次阅读

    使用AMD Vitis进行嵌入式设计开发用户指南

    Zynq MPSoC 和 AMD Alveo 数据中心加速器卡)为目标的异构嵌入式应用。 Vitis 工具包括: C++ 编译器、库和本征函数,适用于 AI 引擎和可编程逻辑( PL ) 适用于 Arm
    的头像 发表于 01-08 09:33 2163次阅读
    使用AMD <b class='flag-5'>Vitis</b>进行嵌入式设计开发用户指南

    全新AMD Vitis统一软件平台2024.2版本发布

    全新 AMD Vitis 统一软件平台 2024.2 版本已于近期推出。
    的头像 发表于 12-11 15:06 1526次阅读