From fb61208148a7c26bbe338d1c6c294b963d75eb75 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Sat, 20 Dec 2025 10:45:17 -0700 Subject: [PATCH] fix and simplify power_json test Signed-off-by: James Cherry --- test/power_json.ok | 55 ++++++++++++++++++++++++++++++++++++++++ test/power_json.tcl | 24 +++--------------- test/regression_vars.tcl | 1 + test/save_ok | 1 + 4 files changed, 61 insertions(+), 20 deletions(-) create mode 100644 test/power_json.ok diff --git a/test/power_json.ok b/test/power_json.ok new file mode 100644 index 00000000..3db9bee6 --- /dev/null +++ b/test/power_json.ok @@ -0,0 +1,55 @@ +{ + "Sequential": { + "internal": 8.01e-06, + "switching": 4.99e-08, + "leakage": 1.45e-09, + "total": 8.06e-06 + }, + "Combinational": { + "internal": 2.03e-07, + "switching": 5.32e-08, + "leakage": 1.59e-10, + "total": 2.56e-07 + }, + "Clock": { + "internal": 0.00e+00, + "switching": 0.00e+00, + "leakage": 0.00e+00, + "total": 0.00e+00 + }, + "Macro": { + "internal": 0.00e+00, + "switching": 0.00e+00, + "leakage": 0.00e+00, + "total": 0.00e+00 + }, + "Pad": { + "internal": 0.00e+00, + "switching": 0.00e+00, + "leakage": 0.00e+00, + "total": 0.00e+00 + }, + "Total": { + "internal": 8.22e-06, + "switching": 1.03e-07, + "leakage": 1.61e-09, + "total": 8.32e-06 + } +} +[ +{ + "name": "u2", + "internal": 1.05e-07, + "switching": 2.74e-08, + "leakage": 9.07e-11, + "total": 1.32e-07 +} +, +{ + "name": "u1", + "internal": 9.83e-08, + "switching": 2.58e-08, + "leakage": 6.82e-11, + "total": 1.24e-07 +} +] diff --git a/test/power_json.tcl b/test/power_json.tcl index 2a770364..7edf1d3c 100644 --- a/test/power_json.tcl +++ b/test/power_json.tcl @@ -1,24 +1,8 @@ # report_power reg1_asap7 -set sta_report_default_digits 4 -read_liberty ../examples/asap7_small.lib.gz -read_verilog ../examples/reg1_asap7.v +read_liberty asap7_small.lib.gz +read_verilog reg1_asap7.v link_design top - -create_clock -name clk1 -period 500 clk1 -create_clock -name clk2 -period 500 clk2 -create_clock -name clk3 -period 500 clk3 - -set_input_delay -clock clk1 1 {in1 in2} -set_input_delay -clock clk2 1 {in1 in2} -set_input_delay -clock clk3 1 {in1 in2} -set_input_transition 10 {in1 in2 clk1 clk2 clk3} - +create_clock -name clk -period 500 {clk1 clk2 clk3} set_propagated_clock {clk1 clk2 clk3} - -read_spef ../examples/reg1_asap7.spef - -set_power_activity -input -activity .1 -set_power_activity -input_port reset -activity 0 - report_power -format json -report_power -format json -instances "[get_cells -filter "name=~clkbuf*"]" \ No newline at end of file +report_power -format json -instances {u1 u2} diff --git a/test/regression_vars.tcl b/test/regression_vars.tcl index 9a0a04d9..acf6906b 100644 --- a/test/regression_vars.tcl +++ b/test/regression_vars.tcl @@ -159,6 +159,7 @@ record_public_tests { liberty_latch3 package_require path_group_names + power_json prima3 report_checks_sorted report_checks_src_attr diff --git a/test/save_ok b/test/save_ok index 7eb25bc3..584d31b5 100755 --- a/test/save_ok +++ b/test/save_ok @@ -28,6 +28,7 @@ exec tclsh $0 ${1+"$@"} # Directory containing tests. set test_dir [file dirname [info script]] +set sta_dir [file normalize [file join $test_dir ".."]] source [file join $test_dir regression_vars.tcl] source [file join $test_dir regression.tcl]