Measurement DuTs
Manage measurement data in DMT in as a measurement dut. Additionally has attributes which define the size and die of the dut.
- class DMT.core.dut_meas.DutMeas(database_dir, name, dut_type, wafer=None, die=None, ndevices=1, deemb_name=None, **kwargs)[source]
Bases:
DutViewSubclass of DutView that is used to capture relevant methods and properties of measured data.
- Parameters:
- database_dir
str Root directory for saving duts and databases of this project.
- name
str Name of the dut to save it human readable.
- dut_type
DutType - width
float64,optional Width in m.
- length
float64,optional Length in m.
- wafer
str,optional Wafer identification string of this object.
- die
str,optional Die identification string of this object.
- ndevices
integer Number of physically parallel devices of this measurement.
- hash
float64 Unique hash of this object.
- database_dir
- Attributes:
- width
float64 Width in m.
- length
float64 Length in m.
- perimeter
float64 Perimeter in m.
- area
float64 Area of this DutMeas object in m^2.
- wafer
str Wafer identification string of this object.
- die
str Die identification string of this object.
- ndevices
integer Number of physically parallel devices of this measurement.
- width
Methods
run_simulation(sweep)
Raises NotImplementedError since measurements can not be simulated!
get_hash()
Return a unique hash based on some attributes of the DutMeas object.
add_short(short, key=’/dummies/short’, force=True)
Add a short dummy to the database of this DutMeas object.
add_open(short, key=’/dummies/short’, force=True)
Add an open dummy to the database of this DutMeas object.
get_output_data(sweep)
Raises NotImplementedError since a measurement can not return its output files.
- add_open(open_, key='dummies/open')[source]
Add an open dummy to the database of this DutMeas object.
- add_short(short, key='dummies/short')[source]
Add a short dummy to the database of this DutMeas object.
- classmethod from_json(json_content: Dict, classes_technology: List[Type[Technology]]) DutMeas[source]
Static class method. Loads a DutMeas object from a pickle file with full path save_dir.
Calls the from_json method of DutView with all dictionary inside the “parent” keyword. Afterwards the additional parameters are set correctly.
- info_json(**_kwargs) Dict[source]
Returns a dict with serializeable content for the json file to create.
The topmost dict MUST have only one key: The string casted class name. Inside the parameters are:
A version key,
all extra parameters of DutMeas compared to DutView and
the info_json of DutView.
- Returns:
dictstr(DutMeas): serialized content
- join_key_temperature(*key_parts, temperature_converter=None)[source]
Collects the temperature from key_parts and replaces it by a proper temperature key part.
- Parameters:
- key_parts[
str] List of key strings to join. One element contains the temperature information.
- temperature_converter
callable()object,optional Function to convert a key part into a temperature.
- key_parts[
- Returns:
- key
str The correctly joined key_parts. If the temperature was inside, it is converted into “T” + temp + “K”.
- key
- make_input(sweep)[source]
Should genrate the input file for a given simulation sweep. This is not possible for measurements!
- Raises:
OSErrorAlways when called.
- prepare_simulation(sweep)[source]
Raise a OSError. Measurement duts can not be simulated!
- Raises:
OSErrorAlways when called.
- run_simulation(sweep)[source]
Raise a OSError. Measurements can not be simulated!
- Raises:
OSErrorAlways when called.