bag3_magnetics.measurement.ind_sp

Module Contents

Classes

IndSPMeas

A class that handles circuit performance measurement.

Functions

estimate_ind(→ Mapping[str, float])

class bag3_magnetics.measurement.ind_sp.IndSPMeas(meas_specs: Mapping[str, Any], log_file: str, log_level: pybag.enum.LogLevel = LogLevel.DEBUG, precision: int = 6)[source]

Bases: bag.simulation.measure.MeasurementManager

A class that handles circuit performance measurement.

This class handles all the steps needed to measure a specific performance metric of the device-under-test. This may involve creating and simulating multiple different testbenches, where configuration of successive testbenches depends on previous simulation results. This class reduces the potentially complex measurement tasks into a few simple abstract methods that designers simply have to implement.

abstract get_sim_info(sim_db: bag.simulation.cache.SimulationDB, dut: bag.simulation.cache.DesignInstance, cur_info: bag.simulation.measure.MeasInfo, harnesses: Optional[Sequence[bag.simulation.cache.DesignInstance]] = None) Tuple[Union[Tuple[bag.simulation.core.TestbenchManager, Mapping[str, Any]], bag.simulation.measure.MeasurementManager], bool][source]
abstract initialize(sim_db: bag.simulation.cache.SimulationDB, dut: bag.simulation.cache.DesignInstance, harnesses: Optional[Sequence[bag.simulation.cache.DesignInstance]] = None) Tuple[bool, bag.simulation.measure.MeasInfo][source]
abstract process_output(cur_info: bag.simulation.measure.MeasInfo, sim_results: Union[bag.simulation.cache.SimResults, bag.simulation.cache.MeasureResult]) Tuple[bool, bag.simulation.measure.MeasInfo][source]
async async_measure_performance(name: str, sim_dir: pathlib.Path, sim_db: bag.simulation.cache.SimulationDB, dut: Optional[bag.simulation.cache.DesignInstance], harnesses: Optional[Sequence[bag.simulation.cache.DesignInstance]] = None) Mapping[str, Any][source]

A coroutine that performs measurement.

Parameters:
  • name (str) – name of this measurement.

  • sim_dir (Path) – simulation directory.

  • sim_db (SimulationDB) – the simulation database object.

  • dut (Optional[DesignInstance]) – the DUT to measure.

  • harnesses (Optional[Sequence[DesignInstance]]) – the list of DUT and harnesses to measure.

Returns:

output – the measurement results.

Return type:

Mapping[str, Any]

bag3_magnetics.measurement.ind_sp.estimate_ind(data: bag.simulation.data.SimData, query_freq: float, num_port: int) Mapping[str, float][source]