Download presentation
Presentation is loading. Please wait.
Published byZoie Penix Modified over 9 years ago
1
Timing Override Verification (TOV) Erik Seligman CS 510, Lecture 18, March 2009
2
Agenda What is Timing Override Verification (TOV)? Multicycle Paths False Paths Deploying TOV Methods
3
Agenda What is Timing Override Verification (TOV)? Multicycle Paths False Paths Deploying TOV Methods
4
Review: Timing Closure Check delays of all paths Signals must be fast enough for frequency Flag paths that miss, make circuit changes
5
Do We Care About All Paths? Timing overrides: relax checking of path Multicycle Path: May take >1 clk cycle –Often due to crossing to slower clk domain –May be consequence of logic False Path: Infinite time allowed –Path never matters logically Usually specify in ‘SDC’ format set multicycle path -from … -to … set false path –from … -to …
6
Dangers of Timing Overrides What if false or multicycle path is wrong? i.e., logically not really false / multicycle Chip will not meet frequency Long path operates incorrectly Must slow down clock for proper function Important to verify!
7
Verifying Timing Overrides Often ad hoc: designer inspect manually Better: create assertions Since SDCs manual, designer can create –Introduce as requirement on design team! Can automate to some extent with scripts Generally hard to FPV –Cross top-level blocks, specified at netlist CAD tools Fishtail, RealIntent, Atrenta, BluePearl Some claim specialized FPV engines –Optimized to be able to prove SDCs
8
Agenda What is Timing Override Verification (TOV)? Multicycle Paths False Paths Deploying TOV Methods
9
Multicycle Path set_multicycle_path 3 –from f2 –to f3 What assertions might help verify?
10
Multicycle Path set_multicycle_path 3 –from f2 –to f3 What assertions might help verify? Value at f2 is always held 3 cycles (or 4)? And… ?
11
Multicycle Path set_multicycle_path 3 –from f2 –to f3 What is needed for this to be valid? Value at f2 is always held 3 cycles f2 transition stable 3 cycles before some ck2 capture edge
12
Be careful about capture edge! set_multicycle_path 3 –from f2 – to f3 Bad data is stable for a long time But never stable 3 cycles before capture edge
13
Sensitization Issue set_multicycle_path 3 –from f2 –to f3 OR rather than XOR: change situation?
14
Sensitization Issue set_multicycle_path 3 –from f2 –to f3 OR rather than XOR: change situation? Path may not be sensitized In general case, may need to check this condition
15
General Multicycle Assertion Important conditions: Input flop to path transitions Path sensitized –not masked by mux or ORed with 1, for example Destination flop samples Key assertion: (Dest samples & sensitized) (!Transition for last cycles)
16
Agenda What is Timing Override Verification (TOV)? Multicycle Paths False Paths Deploying TOV Methods
17
False Path Example set_false_path –from f2 –to f3 What assertions would be useful here?
18
False Path Example set_false_path –from f2 –to f3 What assertions would be useful here? Path never sensitized: !(s1==0 && s2==1) Any others?
19
False Path Example set_false_path –from f2 –to f3 What assertions would be useful here? Path never sensitized: !(s1==0 && s2==1) Sensitization condition correct: (!(s1==0 && s2==1))[*2] ##0 $stable(d2) |-> $stable(n1) (if not sensitized && other inputs stable output stable)
20
False Path Example set_false_path –from f2 –to f3 What assertions would be useful here? Path never sensitized: !(s1==0 && s2==1) Sensitization condition correct: (!(s1==0 && s2==1))[*2] ##0 $stable(d2) |-> $stable(n1) (if not sensitized && other inputs stable output stable) Or just “$stable(d2) |-> $stable(n1)”?
21
Agenda What is Timing Override Verification (TOV)? Multicycle Paths False Paths Deploying TOV Methods
22
Generating TOV Asserts Simple method: Designers write + Designers write SDCs, so know design + Low overhead to introduce - May not be accurate, complete CAD tools + Automatic - Additional tool in flow– is output saved? - May be noisy
23
Checking TOV Asserts Simulation + Automatic if asserts added to RTL - Depends on test suite FPV + High confidence, fuller coverage - Hard to prove - often specified at top level of large blocks - (vendors claim specialized engines)
24
One more wrinkle Designers generate SDCs on netlists Not on RTL Assertions involve non-rtl signals Solutions? DEs can manually convert to RTL asserts –Should be late in project, FEV mapping available Tool solutions: Fishtail “refocus” Generate & check asserts on netlist –Gate-level simulation
25
Other Complications “-through” exceptions? Make asserts more complex: ensure that ‘through’ node is controlling transition when checking Multicycle path at asynchronous CDC Bad luck: might hit metastability window Be careful to hold value an extra cycle
26
A Further Opportunity Auto-identify false/multicycle paths? Capability in some tools (Fishtail, RealIntent) Both identify and prove the paths Lots of TOVs easier to close timing But is this too risky? Tools get thousands of these paths DEs nervous if unreviewed paths in design Low impact on timing closure –Small set of critical paths are what matter Few design teams adopt auto-TOV methods
27
Conclusions Multicycle / False paths are risky But needed for timing closure Can generate asserts for safety Several choices in strategy Manual asserts or CAD tool Simulation or formal RTL or netlist level Plenty of reasonable sets of choices give much increased level of TOV confidence!
28
References / Further Reading http://www.fishtail-da.com/ http://www.fishtail-da.com/ http://www.realintent.com/ http://www.realintent.com/ http://www.atrenta.com/solutions/product s/spyglass_constraints.htm http://www.atrenta.com/solutions/product s/spyglass_constraints.htm http://www.bluepearlsoftware.com/produc ts/cobalt.html http://www.bluepearlsoftware.com/produc ts/cobalt.html http://www.chipdesignmag.com/display.p hp?articleId=1136&issueId=21 http://www.chipdesignmag.com/display.p hp?articleId=1136&issueId=21
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.