Skip to content

flow: scripts: final_report: analyze_power_grid runs only on one corner #3893

@dnltz

Description

@dnltz

Description

When multiple corners are enabled for design, the final report script analyzes the power grid only once. Since no corner is defined, it automatically selects the fastest corner.

[INFO RCX-0443] 39090 nets finished
[INFO PSM-0040] All shapes on net VDD are connected.
########## IR report #################
Net              : VDD
Corner           : fast
Total power      : 2.93e-02 W
Supply voltage   : 1.35e+00 V
Worstcase voltage: 1.33e+00 V
Average voltage  : 1.35e+00 V
Average IR drop  : 1.61e-04 V
Worstcase IR drop: 1.92e-02 V
Percentage drop  : 1.42 %
######################################
[INFO PSM-0040] All shapes on net VSS are connected.
########## IR report #################
Net              : VSS
Corner           : fast
Total power      : 2.93e-02 W
Supply voltage   : 0.00e+00 V
Worstcase voltage: 7.46e-03 V
Average voltage  : 9.53e-05 V
Average IR drop  : 9.53e-05 V
Worstcase IR drop: 7.46e-03 V
Percentage drop  : 0.62 %
######################################

This is the loop to generate those reports.

    dict for {pwrNetName pwrNetVoltage} $::env(PWR_NETS_VOLTAGES) {
      set_pdnsim_net_voltage -net ${pwrNetName} -voltage ${pwrNetVoltage}
      analyze_power_grid -net ${pwrNetName} \
        -error_file $::env(REPORTS_DIR)/${pwrNetName}.rpt
    }

I did some tests and it looks like the percentage drop is almost identical for the slow and fast corner. However, should we analyze all available corners by default instead of only one?

I don't know if this intentionally or got forgotten to implement in the past.

Suggested Solution

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions