AMD 器件系列具有多种数字信号处理 (DSP) 块,不同的块带有不同的功能。要为 DSP 输入信息,请首先复查 UltraScale 架构 DSP slice 用户指南(UG579),了解 DSP 选项卡中的参数。
提示: 在 PDM 中,默认 DSP 配置假定为 27x18。必须对翻转率进行相应缩放才能得到准确的功耗估算。例如,如果预计 18x18 DSP 翻转率为 25%,那么请按 0.86(即 21.5%)对其进行缩放并输入 PDM。同样,对于 12x12 配置,请按 0.8 来缩放实际翻转率。
提示: DSP slice 具有时钟使能 (CE) 端口。在“Toggle Rate”(翻转率)列中输入数据时,请记得将数据输入翻转率与 DSP slice 时钟使能率相乘。例如,如果将随机数据(通常约 38% 的数据翻转率)输入 DSP slice,该 slice 的时钟使能仅占 50% 的时间,输出数据翻转率应按 CE 率进行缩放,由此可得数据翻转率为 19% (38% x 50%)。请参阅下图示例。
提示: 如果器件系列采用的乘法器中含寄存器 (MREG),那么使用此流水线寄存器有助于降低动态功耗。
DSP页面涵盖了 DSP58 块的资源估算。与前几代相似,AMD Versal™ 自适应 SoC DSP 块可实现各种算术和逻辑函数,包括加减乘法以及常用 DSP 函数(如乘积累加)。与前几代相似,DSP 块可以实现各种逻辑函数(如 XOR),并且可通过级联来构成数字滤波器。Versal 自适应 SoC DSP 块具有范围更宽的 27x24 复数乘法器(也可配置为 3 个 9x8 乘法器),并包含更宽的 58 位累加器。Versal 自适应 SoC DSP 还支持浮点加法和乘法。
以下设置描述可用于配置 Versal 自适应 SoC DSP 块以便进行功耗估算:
- “Configurations”(配置)
- Versal 自适应 SoC PDM 支持您针对 DSP 块使用特定于模式的配置。您可根据当前执行的 DSP 操作从下拉列表中选择合适的配置。Versal DSP58 功耗模型支持的准确性精度远高于前几代。有多种不同大小的整数乘法器、MAC、点积、复数乘法器和浮点运算可供您选择。
- “DSP58 Slices”(DSP58 分片数)
- 表示 DSP58 块的数量。在 Versal 架构中,每个 DSP58 块都可实现 1 个 27x24 定点乘法器,您可将 2 个 DSP58 块与公用逻辑配对来实现 1 个 18 位复数乘法器。
- “Clock”(时钟)
- 从下拉菜单中选择DSP58 slice时钟。
- “Block Toggle Rate”(块翻转率)
- 这是所有 DSP 块信号的平均翻转率。请按需手动调整翻转率。
- 如果仅在周期内一小段时间内启用 DSP 块,请通过“Enable Rate”(使能率)来按比例调整Block Toggle Rate。例如,如果在一半周期内启用 DSP,请将Block Toggle Rate乘以 0.5 以获取新的Block Toggle Rate。
- 如果 DSP 块不使用所有乘法器输出,请按使用的输出位比例来调整Block Toggle Rate。如果仅使用 48 位,请将Block Toggle Rate乘以 (48 / 58) 以反映 DSP 块中主动开关信号的比例。
- “DSP Mode”(DSP 模式)
- 表示 DSP 块的工作模式。该字段为自动填充,针对指定配置为只读。
- “MULT Used?”(是否使用 MULT)
- 表示是否使用 DSP58 乘法器。默认值为Yes(是),因为预计大部分情况下都会使用乘法器。该字段为自动填充,针对给定配置为只读。
- “Multiplier Pipeline Used?”(是否使用乘法器流水线)
- 当MULT Used设为Yes时,表示是否对乘法器执行流水打拍。由于乘法器传输延迟较大,因此,通常需流水打拍,所以此项默认值为Yes。仅当时钟速度极低或者对于 DSP 配置不使用乘法器时,该值才应设为No。
- “Pre-Add Used?”(是否使用前加)
- DSP58 包含 27 位有符号加法器,可用于驱动乘法器的单输入或双输入。如果当前实现的算术功能需要前加(例如,(B + D) * A)运算,请选择Yes。默认值为No。该字段为自动填充,针对给定配置为只读。
- “AD Reg Used?”(是否使用加法器寄存器)
- 这表示前加法器 (Pre-Adder) 输出先进行流水打拍,然后再馈送到乘法器输入。默认值为No。该字段为自动填充,且您可覆盖此设置。