read_power_activities idiotproofing

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2024-07-17 14:33:06 -07:00
parent e3a1fd792c
commit fde3c778a8
1 changed files with 17 additions and 9 deletions

View File

@ -60,7 +60,8 @@ instance_power(Instance *inst,
const Corner *corner)
{
cmdLinkedNetwork();
PowerResult power = Sta::sta()->power(inst, corner);
Sta *sta = Sta::sta();
PowerResult power = sta->power(inst, corner);
FloatSeq powers;
powers.push_back(power.internal());
powers.push_back(power.switching());
@ -73,14 +74,16 @@ void
set_power_global_activity(float activity,
float duty)
{
Sta::sta()->power()->setGlobalActivity(activity, duty);
Power *power = Sta::sta()->power();
power->setGlobalActivity(activity, duty);
}
void
set_power_input_activity(float activity,
float duty)
{
return Sta::sta()->power()->setInputActivity(activity, duty);
Power *power = Sta::sta()->power();
return power->setInputActivity(activity, duty);
}
void
@ -88,7 +91,8 @@ set_power_input_port_activity(const Port *input_port,
float activity,
float duty)
{
return Sta::sta()->power()->setInputPortActivity(input_port, activity, duty);
Power *power = Sta::sta()->power();
return power->setInputPortActivity(input_port, activity, duty);
}
void
@ -96,21 +100,24 @@ set_power_pin_activity(const Pin *pin,
float activity,
float duty)
{
return Sta::sta()->power()->setUserActivity(pin, activity, duty,
PwrActivityOrigin::user);
Power *power = Sta::sta()->power();
return power->setUserActivity(pin, activity, duty, PwrActivityOrigin::user);
}
void
read_vcd_activities(const char *filename,
const char *scope)
{
readVcdActivities(filename, scope, Sta::sta());
Sta *sta = Sta::sta();
cmdLinkedNetwork();
readVcdActivities(filename, scope, sta);
}
void
report_vcd_waveforms(const char *filename)
{
reportVcdWaveforms(filename, Sta::sta());
Sta *sta = Sta::sta();
reportVcdWaveforms(filename, sta);
}
// debugging
@ -118,7 +125,8 @@ void
report_vcd_var_values(const char *filename,
const char *var_name)
{
reportVcdVarValues(filename, var_name, Sta::sta());
Sta *sta = Sta::sta();
reportVcdVarValues(filename, var_name, sta);
}
%} // inline