判断例化的时机 - 2023.2 简体中文

Versal 自适应 SoC 硬件、IP 和平台开发方法指南 (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 简体中文

当综合工具映射无法满足时序、功耗或面积约束时,或者当无法推断器件内的特定功能时,可能需要例化。

借助例化,即可全权掌控综合工具。例如,为了提高时钟频率,可单独使用 LUT 来实现比较器,而不是采用综合工具通常所选择的 LUT 与进位链组合方法,后者通常适用于节省面积。

有时,例化可能是利用器件中可用的复杂资源的唯一途径。原因可能是:

  • HDL 语言限制

    例如,无法描述 VHDL 中的双倍数据速率 (DDR) 输出,因为它需要 2 个单独的进程驱动同一个信号。

  • 综合工具推断限制

    例如,综合工具当前无法根据 RTL 描述推断时钟修改块 (CMB)。因此,您必须将其例化。

    如果您决定例化 AMD 原语,请参阅目标架构的相应《用户指南》和《库指南》,以便充分了解组件功能、配置和连接功能。

    对于推断和例化,AMD 建议您使用来自 Vivado Design Suite 语言模板的例化和语言模板。

以下提供了一些实用技巧:

  • 尽可能推断功能。
  • 当综合的 RTL 代码不满足要求时,请先复查要求,然后再将代码替换为器件库组件例化。
  • 编写公用 Verilog 和 VHDL 行为构造时或者需要例化所需原语时,请考虑使用 Vivado Design Suite 语言模板。