标题
63988 - 如何使用 Vivado 仿真器运行时序仿真?描述
您可在综合或实现后执行时序仿真。在综合后仿真阶段,您可按估算的时序数值来执行时序仿真,但这并非典型方法。
在实现后仿真阶段,时序仿真与实际将设计下载到器件的仿真最为接近。
它允许您确保已实现的设计满足功能要求和时序要求,并且器件内的行为与期望的行为相符。
它允许您确保已实现的设计满足功能要求和时序要求,并且器件内的行为与期望的行为相符。
注释:仅限 Verilog 才支持综合后和实现后时序仿真。
不支持 VHDL 时序仿真。
不支持 VHDL 时序仿真。
本文描述了使用 Vivado 仿真器运行时序仿真的两种方法:从 Vivado IDE 或者从命令行。
解决方案
Vivado IDE:- 在 Vivado 工程中,运行“Synthesis”(综合)或“Implementation”(实现)。
- 按需指定 Vivado 仿真器的“Simulation Settings”(仿真设置)。
- 在 Flow Navigator 中,选中
“Run Simulation > Run Post-Synthesis Timing Simulation”(运行仿真 > 运行综合后时序仿真)
或
“Run Simulation > Run Post-Implementation Timing Simulation”(运行仿真 > 运行实现后时序仿真)。
仅当成功运行综合或实现时,该选项才会变为可用。
从命令行运行:
- 为设计生成 Verilog 时序仿真网表。
open_checkpoint top.dcp
write_verilog -mode timesim -sdf_anno true top_timesim.v
2. 生成 SDF 延迟文件并为其中所有时序延迟添加注解。
示例:
write_sdf top_timesim.sdf
3. 解析个别文件或单个工程文件,通过对 SDF 文件添加适当注解来细化并生成快照,然后进行仿真。
Vivado 仿真器模型使用互连延迟。
因此,需要更多开关才能正确完成时序仿真,如下所示:
Vivado 仿真器模型使用互连延迟。
因此,需要更多开关才能正确完成时序仿真,如下所示:
-transport_int_delays -pulse_r 0 -pulse_int_r 0
示例:
xvlog top_timesim.v
xvlog testbench.v
xvlog $XILINX_VIVADO/data/verilog/src/glbl.v
xelab -debug typical -maxdelay -L secureip -L simprims_ver -transport_int_delays -pulse_r 0 -pulse_int_r 0 testbench glbl -s top_timesim
xsim top_timesim -gui
如需了解有关使用 Vivado 仿真器和命令行选项的更多信息,请参阅《Vivado Design Suite 用户指南:逻辑仿真》(UG900)。
docs.xilinx.com/access/sour…