RTL 模块参考 - 2023.2 简体中文

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

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

您可将来自 Verilog、VHDL 或 BD RTL 封装源文件的模块或实体定义直接添加到自己的块设计中。此方法支持快速添加 RTL 模块,无需将 RTL 封装为 IP 以通过 Vivado IP 目录来添加。

源 RTL 中包含的任何泛型和参数都会在向块设计添加模块时进行推断,并且可在选定模块的“Re-customize Module Reference”(重新自定义模块参考)对话框中进行配置。您必须将属性插入 HDL 代码,以便正确推断接口、时钟、复位、中断、地址和时钟使能。对于 BD 模块参考,则会在 BD 封装文件中自动创建这些属性,并在创建 BD 模块参考时耗用。

此外,不存在跨边界的参数传输。您必须在确认设计时使用属性来支持通过 IP integrator 运行 DRC。例如,IP integrator 可提供 DRC 用于确认源时钟和目标时钟之间的时钟频率。通过在 RTL 代码中指定正确的频率,您即可确保自己的设计连接正确。

以下是使用 RTL 模块参考时值得注意的重要信息:

  • IP integrator 中的“Module Reference”(模块参考)功能允许为 RTL 代码中嵌套的 IP 推断 XCI(.xci 扩展名)文件。虽然支持推断大部分 IP,但有小部分 IP 不受支持。如需了解更多信息(包括不受支持的 IP 列表),请访问此链接以参阅 Vivado Design Suite 用户指南:采用 IP integrator 设计 IP 子系统(UG994) 中的相应内容。
  • RTL 模块定义不得包含网表(EDIF 或 DCP),也不得包含在 RTL 模块内设置为非关联 (OOC) 的其他模块。
  • 模块定义支持的语言仅限于 VHDL 和 Verilog。对于位于 RTL 模块顶层的模块或实体定义,不支持 SystemVerilog 和 VHDL 2008。
  • 包含模块参考的块设计不能封装为 IP。您必须改为将该模块单独封装为 IP,然后封装包含该 IP 的 BD。

下图显示了包含 2 个 RTL 模块参考的 BD 设计层级:其中一个模块参考包含 RTL,另一个模块参考则包含另一个 BD。

图 1. RTL 模块参考设计层级