Follow these practices when simulating in Vivado Design Suite. Many of these tips are described in greater detail the Vivado Design Suite User Guide: Logic Simulation (UG900).
- Run behavioral simulation before synthesis and implementation to catch issues early.
- Infer logic wherever possible; instantiating primitives increases simulation runtime cost.
- Set the simulator language to mixed unless your simulator license does not support mixed mode.
- Turn off the waveform viewer when not used to improve simulation performance.
- In the Vivado simulator, turn off debug during xelab for faster performance.
- In the Vivado simulator, enable multi-threading to reduce compile time.
- When using third-party simulators, target supported versions (refer to the Vivado Design Suite User Guide: Release Notes, Installation, and Licensing (UG973).
- Enable incremental compile when using third-party simulators.
- Use the AMD Tcl command
export_simulationto generate batch scripts for selected simulators. - Generate simulation scripts for individual IP, block designs, and hierarchical modules, and the top-level design.
- For 7 series devices, use UNIFAST
libraries to improve simulation performance.Note: Vivado does not support UNIFAST libraries for UltraScale device primitives.