运行综合后和实现后时序仿真时,仿真器工具包括:
- 包含 SIMPRIMS 库组件的门级网表
-
SECUREIP
- 标准延迟格式 (SDF) 文件
开始时,已定义设计的总体功能。实现设计时,准确的时序信息即可供使用。
为创建网表和 SDF,Vivado Design Suite 会执行如下操作:
- 调用网表编写程序
write_verilog
搭配-mode timesim
开关和write_sdf
(SDF 注解器) - 将生成的网表发送到目标仿真器
您可使用“Simulation Settings”(仿真设置)来控制这些选项,如 使用仿真设置 中所述。
-transport_int_delays -pulse_r 0 -pulse_int_r 0
综合后时序仿真
成功完成综合运行后,前图所示
(运行仿真 > 综合后时序仿真)选项即可变为可用。完成综合后,通用逻辑设计已综合到器件专用原语中,估算的布线和组件延迟即可供使用。您可执行综合后时序仿真来查看潜在的时序关键路径,而后再执行实现。选择综合后时序仿真后,就会生成时序网表和 SDF 文件中估算的延迟。网表文件包含 $sdf_annotate
命令,因此仿真工具包含生成的 SDF 文件。
实现后时序仿真
完成实现运行后,前图所示
(运行仿真 > 实现后时序仿真)选项即可变为可用。实现后,设计即已实现并已在硬件中完成布线。在此阶段,时序仿真有助于使用准确的时序延迟来判定设计功能是否按指定速度来工作。此仿真可用于检测未约束的路径或异步路径时序错误,例如,复位上的此类错误。选择实现后时序仿真后,就会生成时序网表和 SDF 文件。网表文件包含 $sdf_annotate
命令,因此即可选取生成的 SDF 文件。
指定仿真设置时,已指定是否创建 SDF 文件,以及工艺角是设置为快速还是慢速。
基于指定的工艺角,SDF 文件会包含不同的 min
和 max
数值。
运行两次不同的仿真以检查建立时间违例和保持时间违例。
要运行建立时间检查,请创建 SDF 文件并将 -process_corner 设为 slow,并使用来自该 SDF 文件的 max 列。
要运行保持时间检查,请创建 SDF 文件并将 -process_corner 设为 fast,并使用来自该 SDF 文件的 min 列。指定要使用的 SDF 延迟字段的方法取决于使用的仿真工具。请参阅特定仿真工具文档以获取有关如何设置该选项的信息。
要获取完整信息,请运行全部 4 项时序仿真,并指定如下设置:
- 慢速角:SDFMIN 和 SDFMAX
- 快速角:SDFMIN 和 SDFMAX