管理时钟频率 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

在编译进程 (v++ -c) 中,您可以使用 --hls.clock 命令来指定内核频率。这样您即可对以指定频率为目标的内核进行编译,并允许 Vitis HLS 工具按指定频率来执行内核逻辑确认。虽然这只是编译的目标频率,但可提供最优化和反馈。

要使用不同于平台默认频率的其它频率来实现内核,对于采用固定时钟的平台,可使用 --clock 选项,如 识别平台时钟 中所述。生成器件二进制文件 (.xclbin) 时,可使用不同时钟频率将多个内核连接到平台。每个内核或者内核的每个独特实例 (CU) 都能够连接到指定的时钟频率或连接到多个时钟,并且不同内核可以使用不同时钟频率。

提示: 对于采用可缩放时钟的平台,可使用 v++ --kernel_frequency 选项为平台的其中一个时钟或者两个时钟指定时钟频率,如 Vitis 编译器常规选项 中所述。

因此,内核的时钟频率管理流程如下:

  1. 使用 Vitis 编译器按指定频率编译 HLS 代码:
    v++ -c -k <krnl_name> --hls.clock freqHz:<krnl_name>
    提示: freqHz 必须以 Hz 为单位(例如,250000000Hz 表示 250 MHz)。
  2. 在链接期间,通过以下命令为内核中的每个时钟信号指定时钟频率或时钟 ID:
    v++ -l ... --clock.freqHz <freqHz>:kernelName.clk_name

您可使用来自平台 shell 脚本的时钟 ID 或者通过指定内核时钟频率来指定 --clock 选项。指定时钟 ID 时,内核频率由平台上该时钟 ID 的频率来定义。指定内核频率时,平台会尝试通过按比例缩放某一可用 fixed 平台时钟来创建指定频率。

在某些情况下,只能实现近似时钟频率,您可指定 --clock.tolerance--clock.default_tolerance 来标示可接受的范围。如果可用的固定时钟无法在可接受容限范围内进行缩放,则会发出一条警告,并且内核会连接到默认时钟。