ASIC Verification: Gate level simulation

Wednesday, March 19, 2008

Gate level simulation

Even though a lot of STA and Formal verification tools exists in the industry now a days, one question still arises in the mind of many verification engineers. The question is "Why do we go for a gate level simulation?"

Some years ago, I felt that gate level simulation were not worth. In my view, if we do static timing analysis (STA) - Those who want to know more about STA, please click here - after post and route, and take the post routed net-list, Extracted Parasitics File and design timing constraints, then perform design timing checks at all corners - say setup, hold and clock gating check - then we should be OK, no need to perform the gate level simulation. Then I realized if our chip has system clocks that only talk to others in synchronous, works in a single mode of operation and the STA setup includes no constants and false paths, then we can cover everything through STA tools.

Gate level simulation represents a small slice of what should actually be tested for a tape-out. They offer a warm feeling that, what you are going to get back will actually work and secondly, they offer some confidence that your static timing constraints are correct.

But the common reason to go for a gate level simulations are as follows:

  • To check if the reset release, initialization sequence and boot up sequences are proper.
  • STA tools doesn't verify the asynchronous interfaces.
  • Unintended dependencies on initial conditions can be found through GLS
  • Good for verifying the functionality and timing of circuits and paths that are not covered by STA tools
  • Design changes can lead to incorrect false path/multi cycle path in the design constraints.
  • It gives an excellent feeling that the design is implemented correctly

So before shipping a design to tape-out, we run a limited set of gate level simulations. Because there are some difficulties associated with this GLS, they are:

  • Takes a lot of setting up and debugging
  • Takes a huge amount of computing recourses ( CPU time and disk space for storing wave)
  • RTL simulations alone take multiple days of run time even for a single regression. GLS takes 10* times.
  • Generation of debug data (VCD, Debussy) is impossible with GLS

Some design teams use GLS only in a zero-delay, ideal clock mode to check that the design can come out of reset cleanly or that the test structures have been inserted properly. Other teams do fully back annotated simulation as a way to check that the static timing constraints have been set up correctly.

In all cases, getting a gate level simulation up and running is generally accompanied by a series of challenges so frustrating that they precipitate a shower of adjectives as caustic as those typically directed at your most unreliable internet service provider. There are many sources of trouble in gate level simulation. This series will look at examples of problems that can come from your library vendor, problems that come from the design, and problems that can come from synthesis. It will also look at some of the additional challenges that arise when running gate level simulation with back annotated SDF.

So In my opinion, the gate-level simulations are needed mainly to verify any environment and initialization issues.


Anonymous said...

gr8 post man i add the gate level simulations can also be important for the external interfaces as the timing requirements unknown.

Well wisher said...

It is a shame you copied from below link.....

Please remove before it can be reported....