Skip to main content

RailDroopScenario

Robotics scenarios · Implementation: mlsysim/engine/scenario_definitions/robotics/placement.py.

Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.

A current step delta_i in rise_time through a package’s inductance and resistance, and the alpha-power gate-delay stretch at the drooped rail.

Notes

Equation: droop is the worked quantity; each property below states its equation and units.

Assumptions: Current slew is linear and lumped package resistance/inductance determine the voltage loss.

Excludes: Regulator dynamics, decoupling-network resonance, and transistor-level timing simulation.

References

Derivation: The scenario binds declared inputs to calc_alpha_power_gate_delay_stretch, calc_inductive_voltage_droop, calc_voltage_droop. Those implementations document their derivations and sources.

Examples

Execute the registered worked inputs; this is a modeled calculation.

>>> from mlsysim import Scenarios
>>> case = Scenarios.PackageRailDroop
>>> value = case.droop
>>> print(f"{value:.3f~P}")
138.000 mV

Attributes

Name Description
alpha
delay_expansion_percent Percent delay expansion under the shared alpha-power gate model.
delta_i
droop Combined inductive and resistive voltage loss in mV.
drooped_voltage Supply voltage after the modeled drop, in V.
inductance
inductive_droop Inductive voltage loss in mV from inductance times current slew.
rail_voltage
resistance
resistive_droop Resistive voltage loss in mV from current step times resistance.
rise_time
threshold_voltage

rail_voltage

Type: Quantity.

Declared default: required.

inductance

Type: Quantity.

Declared default: required.

resistance

Type: Quantity.

Declared default: required.

delta_i

Type: Quantity.

Declared default: required.

rise_time

Type: Quantity.

Declared default: required.

threshold_voltage

Type: Quantity.

Declared default: required.

alpha

Type: float.

Declared default: required.

inductive_droop

engine.scenario_types.RailDroopScenario.inductive_droop

Inductive voltage loss in mV from inductance times current slew.

Equation: return calc_inductive_voltage_droop(self.inductance, self.delta_i / self.rise_time).to(‘mV’)

resistive_droop

engine.scenario_types.RailDroopScenario.resistive_droop

Resistive voltage loss in mV from current step times resistance.

Equation: return calc_voltage_droop(self.delta_i, self.resistance).to(‘mV’)

droop

engine.scenario_types.RailDroopScenario.droop

Combined inductive and resistive voltage loss in mV.

Equation: return (self.inductive_droop + self.resistive_droop).to(‘mV’)

drooped_voltage

engine.scenario_types.RailDroopScenario.drooped_voltage

Supply voltage after the modeled drop, in V.

Equation: return (self.rail_voltage - self.droop).to(‘V’)

delay_expansion_percent

engine.scenario_types.RailDroopScenario.delay_expansion_percent

Percent delay expansion under the shared alpha-power gate model.

Equation: return calc_alpha_power_gate_delay_stretch(nominal_voltage=self.rail_voltage, drooped_voltage=self.drooped_voltage, threshold_voltage=self.threshold_voltage, alpha=self.alpha)[‘delay_expansion_percent’]

Back to top