AMD Vivado™ Design Suite 2024.1对 SystemVerilog 和 VHDL-2019 的一些特性开始支持。支持 SystemVerilog
AOI (Array of Instances)AOI 指的是在实例化某个 Module 时,可以将其声明为数组,这样就等效于同时声明了多个 Module,如下图所示。代码第8行对模块 Simple 进行实例化,实例化名为 i_simple[M-1:0],这里 M 等于4。实际上就等于实例化了4个 Simple,每个的实例化名分别为 i_simple[0]~i_simple[3]。这样可以不用 For generate 语句。打开 Elaborated Design 视图可以看到其中的连接关系。VHDL-2019 支持在端口列表中引用端口属性。如下图所示代码片段,代码第10行声明端口 Sum 时,对 sum 位宽的定义就引用了输入端口 ain 的属性 Left 和 Right。其中 ain’left 返回值为3,ain’right 返回值为0。同时还可以注意到第10行的末尾增添了分号。这也是 VHDL-2019 的新特性。之前的 VHDL 版本,由于端口列表中的最后一个端口声明不能加分号,导致端口列表声明不一致,VHDL-2019 则解决了这一问题。但这个分号不是强制的,是可选的,即没有分号也同样是正确的。
支持 VHDL-2019 的多位宽端口部分互连功能使用 VHDL 当对某个模块进行实例化时,若该模块某个输出端口未使用,需要声明为 Open 状态。如果该端口是个多位宽的信号,某些位的数据需要连接到其他模块,某些位的数据不需要,那么 VHDL-2019 可以支持部分位的数据标记为 Open 状态。如下图所示代码,代码第22行和第23行分别标记了 sum(0) 和 sum(1) 的连接关系,第24行则将 sum(4 downto 2) 标记为 Open 状态。从代码风格角度看,该代码片段还体现了如何更好的实例化指定模块,如代码第17行所示,采用 Entity work 的方式,这样的好处是不用在 Architecture 中声明 Component,从而使代码更简洁。新增支持 DFX 的命令:report_dfx_summary新增命令 report_dfx_summary,针对基于AMD Versal™ Adaptive SoC 的 DFX 设计。该命令会生成5个部分的内容,如下图所示。这对于 DFX 的分析会很有帮助。从该报告中可以看每个动态区的大小以及资源利用率、静态区的可用资源及资源利用率、时钟资源利用率以及 PPLOC。除此之外,对于每个 RP,还会显示 RP 的 Pblock 名称、共享的 Tile 等更具体的信息。您可点击阅读原文下载 AMD Vivado 2024.1。