Timing simulation verifies that your design runs at the desired speed for your device under worst-case conditions. It can verify timing relationships and determine the critical paths for the design under worst-case conditions. It can also determine whether the design contains set-up or hold violations.
The procedures for functional and timing simulation are nearly identical. Functional simulation is performed before the design is placed and routed and simulates only the functionality of the logic in the design. Timing simulation is performed after the design is placed and routed and uses timing information based on the delays in the placed and routed design. Timing simulation describes the circuit behavior far more accurately than Functional simulation.
Like functional simulation, you must use input stimulus to run the simulation. To create stimulus, refer to the Functional Simulation chapter.
Naming the nets during your design entry is very important for both functional and timing simulation. This allows you to find the nets in the simulations more easily than looking for a machine-generated name
Before performing timing simulation on your design, you must generate a timing-annotated netlist by implementing the design as follows.
After the design has been implemented and timing simulation data produced as described in the Generating a Timing-annotated Netlist section, you can perform a timing simulation. This section describes the basic steps to perform timing simulation.