Timing simulation is a three step process consisting of:
- Generating the simulation netlist (timesim.v generation)
- Annotating timing information to the netlist (SDF file generation)
- Analyzing, elaborating, and simulating the timing netlist and SDF using VCS
Timing Netlist/SDF Generation in Vivado:
write_verilog -mode timesim -sdf_file <sdf_file>.sdf <sim_netlist>.v
write_sdf <sdf_file>.sdf
Timing Simulation Command in VCS
vcs +compsdf -y $XILINX_VIVADO/data/verilog/src/unisims \
$XILINX_VIVADO/data/verilog/src/glbl.v \
-f $XILINX_VIVADO/data/secureip/secureip_cell.list.f \
+libext+.v +transport_int_delays +pulse_int_e/0 +pulse_int_r/0 \
-Mupdate -R <testfixture>.v <sim_netlist>.v
VCS Option Notes:
-y : include library subdirectories
+compsdf : compile SDF file and back annotate timing info to design
-Mupdate : Enables incremental compilation