使用第三方工具运行时序仿真 - 2023.2 简体中文

Vivado Design Suite 用户指南: 逻辑仿真 (UG900)

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 简体中文
提示: 综合后时序仿真使用基于已综合的网表估算所得的时序延迟。实现后时序仿真使用的则是实际的时序延迟。

运行综合后和实现后时序仿真时,仿真器包括:

  • 包含 SIMPRIMS 库组件的门级网表
  • SECUREIP
  • 标准延迟格式 (SDF) 文件

您在开始时定义整体设计功能。实现设计时,准确的时序信息即可供使用。

为创建网表和 SDF,Vivado Design Suite 会执行如下操作:

  • 调用网表编写程序 write_verilog 搭配 -mode timesim 开关和 write_sdf(SDF 注解器)
  • 将生成的网表发送到目标仿真器

您可使用“Simulation Settings”(仿真设置)来控制这些选项,如 使用仿真设置 中所述。

重要: 仅限 Verilog 才支持综合后和实现后时序仿真。不支持 VHDL 时序仿真。如果您是 VHDL 用户,您可运行综合后和实现后功能仿真(在此情况下无需 SDF 注解,仿真网表使用 UNISIM 库)。您可使用 write_vhdl Tcl 命令来创建网表。如需了解使用信息,请参阅 Vivado Design Suite Tcl 命令参考指南(UG835)

综合后时序仿真

成功运行综合后,Run Simulation > Post-Synthesis Timing Simulation(运行仿真 > 综合后时序仿真)选项就会变为可用。

选择综合后时序仿真后,就会生成时序网表和 SDF 文件。网表文件包含 $sdf_annotate 命令,因此即可选取生成的 SDF 文件。

实现后时序仿真

成功完成实现后操作时,Run Simulation > Post-Implementation Timing Simulation(运行仿真 > 实现后时序仿真)选项就会变为可用。

选择实现后时序仿真后,就会生成时序网表和 SDF 文件。网表文件包含 $sdf_annotate 命令,因此即可选取生成的 SDF 文件。

给 SDF 文件添加注解用于时序仿真

指定仿真设置时,已指定是否创建 SDF 文件,以及工艺角是设置为快速还是慢速。

提示: 要查找 SDF 文件选项的设置,请在 Vivado IDE Flow Navigator 中,右键单击Simulation并选择Simulation Settings。在“Settings”(设置)对话框中,选中“Simulation”类别,然后单击Netlist(网表)选项卡。

基于指定的工艺角,SDF 文件会包含不同的 minmax 数值。

要运行保持时间检查,请创建 SDF 文件并将 -process_corner 设为 fast,并使用来自该 SDF 文件的 min 列。指定要使用的 SDF 延迟字段的方法取决于使用的仿真工具。请参阅特定仿真工具文档以获取有关如何设置该选项的信息。

要获取完整信息,请运行全部 4 项时序仿真,并指定如下设置:

  1. 慢速角:SDFMIN 和 SDFMAX
  2. 快速角:SDFMIN 和 SDFMAX

运行独立时序仿真

如果从 Vivado IDE 运行时序仿真,它会向仿真器添加时序仿真相关开关。如果运行独立时序仿真,那么请确保在细化期间将以下开关传递给仿真器:

对于 VCS:

+pulse_e/<number> and +pulse_r/<number>  +transport_int_delays

在细化期间(搭配 VCS)

对于 ModelSim/Questa Advanced Simulator:

+transport_int_delays +pulse_int_e/0 +pulse_int_r/0

在细化期间(搭配 vsim)

重要: Vivado 仿真器模型使用互连延迟,因此,需要如下额外开关才能正确执行时序仿真:-transport_int_delays -pulse_r 0 -pulse_int_r 0。如需了解有关这些命令的描述,请参阅 表 1