DSP 原语 - 2023.2 简体中文

Versal 自适应 SoC 设计指南 (UG1273)

Document ID
UG1273
Release Date
2023-10-25
Version
2023.2 简体中文

以下是 Versal 自适应 SoC 中不同类型的 DSP 原语。

原语 描述 用法
DSP58 标准整数/定点模式 推断或例化
DSPFP32 浮点模式 仅例化
DSPCPLX 复数乘法器 推断或例化

DSP58

对于 Versal 自适应 SoC,DSP58 原语包含与 UltraScale 器件相同的功能,包括乘法器、加法器、预加法器和寄存器,用于对原语进行完全流水打拍。但是,两者大小不同,并且原语包含其他功能。

大小

对于有符号逻辑,可以按以下方式配置 DSP58:

  • 乘法器:27x24
  • 加法器:58 位
  • 预加法器:27 位

对于无符号逻辑,可以按以下方式配置 DSP58:

  • 乘法器:26x23
  • 加法器:57 位
  • 预加法器:26 位

下图为有符号逻辑示例。

图 1. 具有 58 位加法器和 27 位预加法器的 27x24 乘法器详图
图 2. 具有 58 位加法器和 27 位预加法器的 27x24 乘法器的 Verilog RTL
图 3. 具有 58 位加法器和 27 位预加法器的 27x24 乘法器的 VHDL RTL

点积

DSP58 可以实现点积,该乘法器以 3 个较小的乘法器相加来表示。点积通常用于图像处理滤波器。如需了解更多信息,请参阅 Versal 自适应 SoC DSP 引擎架构手册(AM004)。下图为带有附加加法器的点积示例。

注释: 为了支持点积进行推断,RTL 必须使用有符号逻辑。
图 4. 带附加加法器的点积详图

下图显示了点积的 RTL。

图 5. 点积的 Verilog RTL
图 6. 点积的 VHDL RTL

DSPFP32

DSPFP32 可以执行浮点计算。Vivado 综合不处理这些计算。而是改为提供各种 IP,或者也可以例化 DSPFP32 原语。

DSPCPLX

DSPCPLX 专为逻辑综合而设计,此逻辑是对以下公式的实部和虚部进行求解所必需的:

(a+bi)(c+di)

每个 DSPCPLX 占用 2 个 DSP58 site 位置。DSPCPLX 可以在 RTL 中进行例化,或者也可以通过推断得出。下图显示了 DSPCPLX 的 RTL。

图 7. 用于 DSPCPLX 综合的 Verilog RTL
图 8. 用于 DSPCPLX 综合的 VHDL RTL