提示: 综合后时序仿真使用基于已综合的网表估算所得的时序延迟。实现后时序仿真使用的则是实际的时序延迟。
运行综合后和实现后时序仿真时,仿真器包括:
- 包含 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)。综合后时序仿真
成功运行综合后,
(运行仿真 > 综合后时序仿真)选项就会变为可用。选择综合后时序仿真后,就会生成时序网表和 SDF 文件。网表文件包含 $sdf_annotate
命令,因此即可选取生成的 SDF 文件。
实现后时序仿真
成功完成实现后操作时,
(运行仿真 > 实现后时序仿真)选项就会变为可用。选择实现后时序仿真后,就会生成时序网表和 SDF 文件。网表文件包含 $sdf_annotate
命令,因此即可选取生成的 SDF 文件。
给 SDF 文件添加注解用于时序仿真
指定仿真设置时,已指定是否创建 SDF 文件,以及工艺角是设置为快速还是慢速。
提示: 要查找 SDF 文件选项的设置,请在 Vivado IDE Flow Navigator 中,右键单击Simulation并选择Simulation Settings。在“Settings”(设置)对话框中,选中“Simulation”类别,然后单击Netlist(网表)选项卡。
基于指定的工艺角,SDF 文件会包含不同的 min
和 max
数值。
建议: 要运行建立时间检查,请创建 SDF 文件并将 -process_corner 设为 slow,并使用来自该 SDF 文件的 max 列。
要运行保持时间检查,请创建 SDF 文件并将 -process_corner 设为 fast,并使用来自该 SDF 文件的 min 列。指定要使用的 SDF 延迟字段的方法取决于使用的仿真工具。请参阅特定仿真工具文档以获取有关如何设置该选项的信息。
要获取完整信息,请运行全部 4 项时序仿真,并指定如下设置:
- 慢速角:SDFMIN 和 SDFMAX
- 快速角: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。