Skip to content

Conversation

@nataliakokoromyti
Copy link

Adds support for querying both input and output internal power in gate power analysis.

Features:

  • Added get_input_internal_power() and get_output_internal_power() commands
  • Fixes NaN output by using zero for unavailable internal power values

Based on Silimate/OpenSTA implementation with upstream integration.

PowerResult();
void clear();
float internal() const { return internal_; }
float inputinternal() const { return inputinternal_; }
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the function and variable names do not follow the naming conventions.
see doc/CodiingGuidelines.txt

map<const char*, float, StringLessIf> pg_duty_sum;
int numArcs = 0;
for (InternalPower *pwr : corner_cell->internalPowers(to_corner_port)) {
numArcs += 1;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the variable does not follow the coding guidelines.
look around. you will never see "num" anything.
It should be arc_count

}
}
// The number of pins that consume internal power in total
float numInternalPowerPins = numArcs / (float) pg_duty_sum.size();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no nums

}
}

define_cmd_args "report_internal_power_components" { [> filename] [>> filename] }
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why does this require a reporting function? none of the other power types have unique reporting functions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants