Simulation can be applied at several points in the design flow. It is one of the first steps after design entry and one of the last steps after implementation as part of verifying the end functionality and performance of the design.
Simulation is an iterative process and is typically repeated until both the design functionality and timing requirements are satisfied.
The following figure illustrates the simulation flow for a typical design:
Figure 1. Simulation Flow