File tree Expand file tree Collapse file tree 3 files changed +35
-1
lines changed
Expand file tree Collapse file tree 3 files changed +35
-1
lines changed Original file line number Diff line number Diff line change 5353 } else {
5454 puts " IR drop analysis for ground nets is skipped because GND_NETS_VOLTAGES is undefined"
5555 }
56+
57+ # Check all drivers have parasitic annotation with exception of those with no connected loads
58+ check_parasitic_annotation
5659} else {
5760 puts " OpenRCX is not enabled for this platform."
5861 puts " Falling back to global route-based estimates."
Original file line number Diff line number Diff line change @@ -290,3 +290,34 @@ proc orfs_write_sdc { output_file } {
290290 }
291291 log_cmd write_sdc -no_timestamp $output_file
292292}
293+
294+ proc check_parasitic_annotation { } {
295+ foreach scene [sta::scenes] {
296+ set nmissing 0
297+ set example " NULL"
298+ foreach pin [get_pins *] {
299+ if { [$pin is_leaf] && [$pin is_driver] } {
300+ if { ![sta::parasitics_annotated $pin $scene ] } {
301+ set has_loads false
302+ set pin_iter [$pin connected_pin_iterator]
303+ while { [$pin_iter has_next] } {
304+ set other_pin [$pin_iter next]
305+ if { [$other_pin is_leaf] && [$other_pin is_load] && $other_pin != $pin } {
306+ set has_loads true
307+ break
308+ }
309+ }
310+ $pin_iter finish
311+ if { $has_loads } {
312+ set nmissing [expr $nmissing + 1]
313+ set example $pin
314+ }
315+ }
316+ }
317+ }
318+ if { $nmissing > 0 } {
319+ error " Missing parasitic annotation in scene $scene on $nmissing \
320+ driver pins, for example [ get_full_name $example ] "
321+ }
322+ }
323+ }
You can’t perform that action at this time.
0 commit comments