STA - static timing analysis, what's so "static" about it that people could it "static" as if there is such thing as "dynamic" timing analysis which I haven't hear of. Please enlight.
Thanks, Charles
STA - static timing analysis, what's so "static" about it that people could it "static" as if there is such thing as "dynamic" timing analysis which I haven't hear of. Please enlight.
Thanks, Charles
"dynamic" timing analysis is timing anaylsis performed by running a gate-level simulation annotated with timing information. The problem with this, is that only logic changes that occur in the simulation have their timing verified. With STA, all paths/state changes are covered, without the need to test-vectors.
Cheers, JonB
But my understanding is that you will always need stimulus or test vectors to simulate your design to see if they are functionally correct. So I guess what you mean by STA not needing test vectors is that the static timing analyzer will check all the paths in the design to find the paths with longest delay to determine the maximum operating frequency. It will even go thru the paths/logics that are not covered by the test vectors. So I guess the sole purpose of STA is to determine longest delay paths, so as to give the designer ideas where and what to constraint to improve the clock frequency. And I guess, during this interative constraint/synthesis/STA cycles, some constraints might be incoherent, thus causing the situation where the constraint is met but functionally broken.
So is it fair to say that: "dynamic" timing analysis:
Static Timing Analysis:
Please comment, and thanks so much for your time!
It's simple, the pioneer Synopsys defined that term...I guess that's intended to differentiate itself from gate-level simulation...
When you are the pioneer in a field, you can define funny terms too...
Kelvin
guess
go
guess
failure
calculate
Yes, consider writing an hdl testbench to provide the stimulus for your functional verification.
It has nothing to do with test vectors. It's an automated test of the maximum delay from Q to D between each register.
It is to prove that the design will run without timing problems at the required frequency. This assumes a 100% synchronous design.
Consider using simulation code coverage to make sure the functional sim is complete.
No. You have done an incomplete and perhaps unnecessary double check on the static timing analysis. Timing closure means doing whatever is necessary to meet the fmax you need in static timing.
No. A functional test is only as good as your code coverage.
-- Mike Treseler
Thanks Mike. I kindly of understand it now. But what is the best way to handle clock domain crossing where you need to synchronize between the two domains. And I guess the clock domain part circuit really needs to be tested with gate level simulation with the sdf back annotation, right? I mean that is not part of synchronous design.
Hi Charles, I often use a circuit posted by 'Rickman'. Go to Google groups advanced search
No. See:
You are welcome. -- Mike Treseler
For synchronous design all FFs clock together, so static timing tells just about all you need to know. Tools are designed for synchronous logic, and people design using synchronous logic because that is what the tools do.
If you have multiple clock domains, gated clocks, or otherwise not all FF's have the same clock then you need to do timing analysis that takes that into account.
There is also dynamic logic, similar to DRAM where data is stored on capacitors. Many early Intel processors used dynamic logic, where the minimum clock frequency was 2MHz or so. Possibly that is the origin of the static/dynamic timing analysis.
-- glen
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.