63988 - 如何使用 Vivado 仿真器运行时序仿真?

534 阅读2分钟

标题

63988 - 如何使用 Vivado 仿真器运行时序仿真?

描述

您可在综合或实现后执行时序仿真。
 
在综合后仿真阶段,您可按估算的时序数值来执行时序仿真,但这并非典型方法。
 
在实现后仿真阶段,时序仿真与实际将设计下载到器件的仿真最为接近。

它允许您确保已实现的设计满足功能要求和时序要求,并且器件内的行为与期望的行为相符。
 
注释:仅限 Verilog 才支持综合后和实现后时序仿真。
 
不支持 VHDL 时序仿真。

本文描述了使用 Vivado 仿真器运行时序仿真的两种方法:从 Vivado IDE 或者从命令行。

解决方案

Vivado IDE
 
  1. 在 Vivado 工程中,运行“Synthesis”(综合)或“Implementation”(实现)。
  2. 按需指定 Vivado 仿真器的“Simulation Settings”(仿真设置)。
  3. 在 Flow Navigator 中,选中
    “Run Simulation > Run Post-Synthesis Timing Simulation”(运行仿真 > 运行综合后时序仿真)

    “Run Simulation > Run Post-Implementation Timing Simulation”(运行仿真 > 运行实现后时序仿真)。
    仅当成功运行综合或实现时,该选项才会变为可用。
     
        
          


从命令行运行
 
  1. 为设计生成 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 仿真器模型使用互连延迟。

      因此,需要更多开关才能正确完成时序仿真,如下所示:
 
-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…