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 mVAttributes
| 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’]