From 76b22a624a7909ddbaf6b15dc7ff1f64bf3955f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Harboe?= Date: Mon, 13 Jan 2025 14:39:42 +0100 Subject: [PATCH] mock-array: report error if all pins are not in .vcd for read_vcd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Øyvind Harboe --- flow/designs/asap7/mock-array/power.tcl | 30 ++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/flow/designs/asap7/mock-array/power.tcl b/flow/designs/asap7/mock-array/power.tcl index c278067e3b..73003737b6 100644 --- a/flow/designs/asap7/mock-array/power.tcl +++ b/flow/designs/asap7/mock-array/power.tcl @@ -1,3 +1,5 @@ +source $::env(SCRIPTS_DIR)/util.tcl + foreach libFile $::env(LIB_FILES) { if {[lsearch -exact $::env(ADDITIONAL_LIBS) $libFile] == -1} { read_liberty $libFile @@ -18,9 +20,31 @@ for {set x 0} {$x < 8} {incr x} { } } -report_parasitic_annotation -report_power -read_vcd -scope TOP/MockArray $::env(RESULTS_DIR)/MockArrayTestbench.vcd +log_cmd report_parasitic_annotation + +log_cmd report_power +set vcd_file $::env(RESULTS_DIR)/MockArrayTestbench.vcd +log_cmd read_vcd -scope TOP/MockArray $vcd_file + +puts "Total number of pins to be annotated: [llength [get_pins -hierarchical *]]" +set unannoted {} +foreach pin [get_pins -hierarchical *] { + if {![sta::has_power_pin_activity $pin]} { + set name [get_name $pin] + lappend unannoted $pin + if {[llength $unannoted] >= 10} { + break + } + } +} + +if {[llength $unannoted] > 0} { + puts "Error: Listing [llength $unannoted] pins without user power activity from $vcd_file:" + foreach pin $unannoted { + puts "[get_full_name $pin]" + } + exit 1 +} set ces {} for {set x 0} {$x < 8} {incr x} {