Skip to content

Commit b47291e

Browse files
authored
Merge pull request #8751 from Pinata-Consulting/test-mock-array-hier-power-reporting-smoke-test
test/orfs/mock-array: test reporting power per module with -hier
2 parents 31878a4 + ec5f570 commit b47291e

File tree

2 files changed

+81
-0
lines changed

2 files changed

+81
-0
lines changed

test/orfs/mock-array/mock-array.bzl

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,10 @@ POWER_TESTS = [
224224
"path_groups",
225225
]
226226

227+
ELEMENT_POWER_TESTS = [
228+
"power_modules",
229+
]
230+
227231
def mock_array(name, config):
228232
"""Defines the mock array build targets for OpenROAD-flow-scripts.
229233
@@ -510,3 +514,62 @@ def mock_array(name, config):
510514
),
511515
],
512516
)
517+
518+
for power_test in ELEMENT_POWER_TESTS:
519+
if v != "base":
520+
continue
521+
for stage in POWER_STAGES:
522+
orfs_run(
523+
name = "Element_{variant}_{stage}_{power_test}".format(
524+
variant = variant,
525+
power_test = power_test,
526+
stage = stage,
527+
),
528+
src = ":Element_{variant}_{stage}".format(variant = variant, stage = stage),
529+
outs = [
530+
"{variant}_{power_test}_{stage}.txt".format(
531+
variant = variant,
532+
power_test = power_test,
533+
stage = stage,
534+
),
535+
],
536+
arguments = {
537+
"OUTPUT": "$(location :{variant}_{power_test}_{stage}.txt)".format(
538+
variant = variant,
539+
power_test = power_test,
540+
stage = stage,
541+
),
542+
"POWER_STAGE_NAME": stage,
543+
"POWER_STAGE_STEM": POWER_STAGE_STEM[stage],
544+
"VCD_STIMULI": "$(location :vcd_{variant}_{stage})".format(variant = variant, stage = stage),
545+
},
546+
data = [
547+
":vcd_{variant}_{stage}".format(variant = variant, stage = stage),
548+
],
549+
script = ":{power_test}.tcl".format(power_test = power_test),
550+
tags = ["manual"],
551+
visibility = ["//visibility:public"],
552+
)
553+
554+
sh_test(
555+
name = "Element_{variant}_{power_test}_{stage}_test".format(
556+
variant = variant,
557+
power_test = power_test,
558+
stage = stage,
559+
),
560+
srcs = ["ok.sh"],
561+
args = [
562+
"$(location :Element_{variant}_{stage}_{power_test})".format(
563+
variant = variant,
564+
stage = stage,
565+
power_test = power_test,
566+
),
567+
],
568+
data = [
569+
":Element_{variant}_{stage}_{power_test}".format(
570+
variant = variant,
571+
power_test = power_test,
572+
stage = stage,
573+
),
574+
],
575+
)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
source $::env(SCRIPTS_DIR)/load.tcl
2+
load_design $::env(POWER_STAGE_STEM).odb $::env(POWER_STAGE_STEM).sdc
3+
4+
log_cmd report_power
5+
6+
# FIXME add check that all pins are annotated and that parasitics are
7+
# estimated or read from SPEF
8+
9+
set instances {io_outs_down_mult io_outs_left_mult io_outs_up_mult io_outs_right_mult}
10+
report_power -instances $instances
11+
12+
# FIXME
13+
# log_cmd report_parasitic_annotation
14+
#log_cmd report_activity_annotation -report_unannotated
15+
16+
set f [open $::env(OUTPUT) w]
17+
puts $f OK
18+
close $f

0 commit comments

Comments
 (0)