voltage_trimming

This script measures the optimal settings for the VDDA/D trim bits to reach the desired 1.2 V output for each channel on the chip.

Must used together with either the PSIProbecard or the ETHProbecard ICICLE classes to read out module HDI pads using a probe card.

This is a rather simple algorithm that sweeps through settings of the trim bits for each activated pin. These settings are 4-bit and are 0 - 15 in steps of 1 by default, but can be changed by the user. At each trim bit setting, each pad on the HDI is read out by the needle card. The value is subtracted from 1.2 and compared with the voltage subtracted from 1.2 measured at the previous trim bit setting. If the new difference is less than the previous difference, this trim bit setting is stored as the “final setting”. The script continues to iterate through the other settings however, and there is an opportunity to update this “final setting” at every trim bit setting, provided the difference in the measured voltage is less than the previous.

This has been tested and confirmed to work using TBPX quad and double modules, and TEPX modules, for single and multiple module setups.

Usage: dirigent voltage_trimming [OPTIONS]

Options:
    -i, --initial_trim      Trim bit setting to begin sweep [default: 0]
    -f, --final_trim        Trim bit setting to end sweep [default: 15]
    -s, --trim_step         Trim bit setting sweep step size [default: 1]
    -w, --write_json        Enable writing final trim bit settings to `modules.json` [default: False]
    --help                  Show this message and exit.

Functions

edit_value_in_JSON(jsonFile, hybrid, updates)

This is performed using regex, since json library does not retain file formatting

edit_value_in_JSON

module_testing.calibrations.voltage_trimming.edit_value_in_JSON(jsonFile, hybrid, updates)

This is performed using regex, since json library does not retain file formatting