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

    文章

    9333

    浏览量

    149053
  • Vitis
    +关注

    关注

    0

    文章

    158

    浏览量

    8427

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    泰瑞达推出Photon 100全面型自动测试平台加速大规模硅光子和共封装光学量产

    今天Teradyne(泰瑞达)宣布,推出全面型光电自动测试平台——Photon 100,该平台专为加速大规模硅光子(SiPh)和共封装光学(CPO)量产打造。
    的头像 发表于 04-10 15:20 235次阅读

    如何使用AMD Vitis硬件在环功能运行Vitis子系统设计

    到目前为止,本文关于 AMD Versal AIE 验证和 AMD Vitis 新的验证功能的研究,所有内容都基于仿真完成。
    的头像 发表于 04-02 10:29 7218次阅读
    如何使用AMD <b class='flag-5'>Vitis</b>硬件在环功能运行<b class='flag-5'>Vitis</b>子系统设计

    NVIDIA加速计算平台助力从地球到太空的AI应用

    NVIDIA 今日宣布,其最新一代加速计算平台正在开启太空创新的新时代,将为轨道数据中心 (ODC)、地理空间信息收集以及自主太空运行提供 AI 算力。
    的头像 发表于 03-18 14:44 545次阅读

    基于Vitis Model Composer完成全流程AI Engine开发

    基于Vitis Model Composer进行AI Engine(AIE)开发,核心优势体现在AIE专属优化、开发流程简化、灵活的适配性、高效验证及量产适配等方面。
    的头像 发表于 12-31 11:20 6328次阅读
    基于<b class='flag-5'>Vitis</b> Model Composer完成全流程AI Engine开发

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

    AMD Vitis统一软件平台 2025.2 版现已推出,此版本为使用 AMD Versal AI Engine 的高性能 DSP 应用提供了更出色的设计环境,还增强了仿真功能以加快复杂设计。
    的头像 发表于 12-12 15:06 862次阅读

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

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

    AMD Vitis AI 5.1测试版发布

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

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

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

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

    随着封装技术向小型化、薄型化、轻量化演进,封装缺陷对可靠性的影响愈发凸显,为提升封装质量需深入探究失效机理与分析方法。
    的头像 发表于 09-22 10:52 1402次阅读
    集成电路制造<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 2001次阅读
    如<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 1684次阅读
    如<b class='flag-5'>何在</b>Unified IDE中创建视觉库HLS组件

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

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

    使用AMD Vitis Unified IDE创建HLS组件

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