diff --git a/power/Power.i b/power/Power.i index aaf3ff23..a99b181e 100644 --- a/power/Power.i +++ b/power/Power.i @@ -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