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

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

3天内不再提示

怎么在Vitis中设定Kernel的频率?

FPGA之家 来源:FPGA开发圈 作者:FPGA开发圈 2021-06-12 14:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在Vitis 统一软件平台中使用Alveo系列开发板设计加速Kernel时,系统会自动为Kernel的时钟设置默认频率。

以 xilinx_u200_qdma_201910_1 平台为例,在Vitis中选择平台时可以看到默认的时钟频率是300Mhz和500Mhz.

在Vitis Application Acceleration Development Flow 中我们看到 --kernel_frequency 选项可以用于覆盖默认的 Kernel 频率

(https://www.xilinx.com/html_docs/xilinx2020_2/vitis_doc/buildtargets1.html#ldh1504034328524)

那么 --kernel_frequency设置在Compile阶段或者Link阶段有什么区别呢?

我们以经典 Example design“Vector Addition” 为例探索一下:

1. 打开Vitis 2020.2,创建新的 Application Project

File -》 New -》 Application project

2. 选择 xilinx_u200_qdma_201910_1 平台

3. 选择打开 Example Design “Vector Addition”

4.对 Hardware Flow 在Compile阶段设置“kernel_frequency” 为200MHz,然后编译工程

注意:默认的Kernel频率只允许改小,不允许改大。

在log看到执行的命令是:

v++ --target hw --compile --kernel_frequency 200 …

5. Compile Kernel 完成后可以在Compile Summary中看到“--kernel_frequency 200“ 已经设置成功。

在Kernel Estimate报告中,可以看到,Target Clock已经按要求设置成200Mhz. 说明 Vitis_HLS是按照200Mhz的要求来综合Kernel的代码的。

在Link Summary中可以看到,在把Kernel合入平台后的Implementation中,目标时钟还是平台默认的300Mhz,而不是在Compile 阶段设置的200Mhz.

同时我们也可以翻看Implemented Design的时序报告(Timing Summary)查看Kernel实际的时钟要求:

clk_out1_pfm_top_clkwiz_kernel_0_1 {0.000 1.667} 3.333 300.000

6. 在Link阶段加上“--kernel_frequency 100” 选项

在log看到执行的命令是:

v++ --target hw --link -R2 --kernel_frequency 100 …

7. 完成Hardware Build之后,查看Summary,可以看到这时100Mhz Kernel 频率的设置在整个Vitis Platform Link生效, 覆盖默认的300Mhz

和之前一样翻看Implemented Design的时序报告(Timing Summary)查看Kernel实际的时钟要求,kernel的目标频率已经被正确修改了。

clk_out1_pfm_top_clkwiz_kernel_0_1 {0.000 5.000} 10.000 100.000

总结:

选项“--kernel_frequency“ 加在Compile阶段,影响的是对Kernel做高级综合的Vitis_HLS的目标频率,不影响Kernel合入平台后的Implementation的目标频率;

选项“--kernel_frequency” 加在Link阶段, 不会影响对Kernel做高级综合的Vitis_HLS的默认目标时钟频率,但是可以设置Kernel合入平台后的Implementation的目标频率

编辑:jq

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

    关注

    73

    文章

    2206

    浏览量

    131884
  • Link
    +关注

    关注

    0

    文章

    104

    浏览量

    28182
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74376

原文标题:开发者分享 | 如何在Vitis中设定Kernel 的频率

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    变频器对电机的频率设定

    变频器对电机输出频率设定,主要有 面板操作、外部端子控制和通信给定 三种方式。你可以根据对控制精度、操作距离和自动化程度的具体要求来选择最合适的一种。 我把这几种方式的特点整理成了一个表格,方便你
    的头像 发表于 03-20 12:04 191次阅读
    变频器对电机的<b class='flag-5'>频率</b><b class='flag-5'>设定</b>

    关于变频器加速时间减速时间的设定

    变频器加速时间和减速时间的设定,本质上是寻找一个平衡点:既要保证电机能平稳、安全地启动和停止(不触发过流、过压报警),又要兼顾生产效率(不拖泥带水)。 它的核心逻辑是 通过控制频率的变化率,来管理
    的头像 发表于 03-16 12:08 362次阅读

    变频器频率输出低于设定值详解

    与电机匹配问题 当电机负载惯性过大或存在机械卡阻时,变频器可能自动降低输出频率以保护系统。例如离心泵负载若叶轮变形,会导致实际运行频率始终低于设定值5-10Hz。此时需检查: 1. 机械传动系统润滑状态。 2. 联轴器对
    的头像 发表于 01-05 07:39 972次阅读
    变频器<b class='flag-5'>频率</b>输出低于<b class='flag-5'>设定</b>值详解

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

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

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

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

    铷原子频率标准 石英频标 基准频率

    频率
    jf_47371611
    发布于 :2025年11月12日 14:27:06

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

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

    AMD Vitis AI 5.1测试版发布

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

    如何在AMD Vitis Unified 2024.2连接到QEMU

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

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

    Vivado IP 流程(Vitis Unified),在这篇 AMD Vitis HLS 系列 3 ,我们将介绍如何使用 Unified IDE 创建 HLS 组件。这里采用“自下而上”的流程,从 HLS
    的头像 发表于 07-02 10:55 1676次阅读
    如何在Unified IDE<b class='flag-5'>中</b>创建视觉库HLS组件

    低功耗蓝牙产品开发的过程,会涉及到一些参数的选择和设定,这些参数是什么意思,该如何设定呢?(蓝牙广播)

    低功耗蓝牙产品开发的过程,会涉及到一些参数的选择和设定,这些参数是什么意思,该如何设定呢?在此介绍一些: 蓝牙的广播类型(Advertising Type) 可连接广播(ADV_I
    发表于 06-25 18:25

    STM32IDE如何设定代码到ITCM运行?

    摸索到了如何将变量定义到某个地址,但是不清楚如何让代码指定RAM运行。按照设定变量的方式设定代码,程序直接进入了异常中断{:16:}。
    发表于 06-24 06:45

    使用AMD Vitis Unified IDE创建HLS组件

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