Mikrofab SuiteMikrofab SuiteMeasurement & Analysis
Manual  /  2. Semiconductor / TFT / Diode Measurements
TR
Simulation · v5.85.0

Semiconductor / TFT / Diode Measurements

This section describes in detail all measurement modules in the Semiconductor / TFT / Diode family of the Mikrofab measurement and analysis software. For each module it covers the purpose, the measured quantities, complete parameter tables, the formulas for the computed metrics, the types of plots produced, the simulation (mock) behavior, and the output files. In the application the modules are listed in the Measurement workspace, in the left navigation tree under three categories: Transistor, Diode, Resistivity, and Reliability / Thermal-Map.

ℹ️
Note By default the application runs in mock (simulation) mode; that is, with no hardware connected, every module generates physically consistent synthetic data. This is designed for training, demos, and validation. When real hardware is connected, the same interface and the same analysis flow are used; only the data source becomes the SMU/relay/temperature controller.
🎓 What is it for? — Semiconductor / TFT / Diode Measurements (overview)

This section explains the ways to measure how a semiconductor device (transistor, diode, thin film) "behaves" electrically. We apply controlled voltage/current to the device, read its response (its current), and from this extract the device's character. Just as a doctor runs different tests on a patient and reaches a diagnosis by looking at a single chart, each measurement mode illuminates a different aspect of the device.

Physical background: Each measurement is, in fact, an indirect window into the device's band structure, carrier density, and traps: the voltage we apply changes the electric field and the energy barriers inside the device, and the current we read is the carriers' response to this new state. That is why different sweep schemes (DC, pulsed, temperature-swept) reveal different physical quantities from the same device; a single measurement is incomplete on its own, while the ensemble of modules gives the "complete picture" of the device.

  • Why it is done: To understand whether the device we make/purchase works, how good it is, and why it degrades.
  • What it teaches / measures: The fundamental numbers that describe the device, such as threshold voltage, mobility, on/off ratio, rectification, and resistance.
  • Where it is used: Research laboratories, quality control, production lines, and failure analysis.

Common Concepts and Shared Parameters

All measurement modules share a common infrastructure (app/measurement/sweep_engine.py, runner.py, base.py). This infrastructure gives every module the following behaviors:

  • Sweep engine and dispatch: SweepEngine calls the relevant runner class according to the selected mode; MeasurementRunner saves the result and returns (points, summary, file_paths).
  • Crash-safe intermediate save: While the measurement is running, each measurement point is first written to a temporary *_partial.csv file. If the measurement completes successfully this temporary file is deleted; if an error or crash occurs it is left on disk (no data loss).
  • Safe shutdown: At the end of every measurement — success, error, or cancellation — the SMU outputs are turned off (output_all_off) and relays are opened where required. On error/cancellation the biases are brought to a safe value (0 V / output OFF).
  • Compliance (current/voltage limit) protection: If the device reaches compliance at a measurement point, the measurement is stopped for safety and a warning is produced indicating at which point (out of how many) it stopped.
  • Sweep direction (hysteresis): Forward (forward only), Reverse (reverse only), or Dual (forward + reverse; hysteresis). In Dual the forward and reverse directions are labeled as separate segments; hysteresis metrics are computed only in Dual.
  • Hardware error queue: After SCPI/TSP operations the device's error queue is read safely; errors are not swallowed but surfaced in a meaningful way.
Measurement workspace: left navigation tree, parameter panel, and live plot
Figure. Measurement workspace — left navigation tree, parameter panel, and live plot region.
📐 How is it calculated? — Three fundamental techniques for extracting parameters from a plot

Almost all parameters in this section are read from the measurement plot with three fundamental operations: the slope of a line (Δy/Δx), the tangent at a point (the instantaneous slope there), and extrapolation that carries the line onto an axis. In most cases a suitable transformation (e.g., log I_d, √I_d, ln I, 1/C², log–log) is applied first so that the region of interest turns into a straight line.

  1. Step: the physical region of interest is selected (linear, saturation, sub-threshold, exponential arm …) and the axis is transformed if needed.
  2. Step: a line/tangent is fitted to this region and the slope is taken as Δy/Δx.
  3. Result: if needed, the line is carried onto an axis by extrapolation and the intercept is read; the slope and intercept are converted to the parameter via the relevant formula.
Three fundamental extraction techniques: slope (Δy/Δx), tangent at a point, and extrapolation carrying the line onto an axis
Figure. Three fundamental techniques — slope (Δy/Δx), tangent (slope at a point), and extrapolation (carrying the line onto an axis).

Common SMU parameters (in all modules)

The following basic parameters (BaseSweepParameters) are present in nearly every module and can take their default values from a single place via Settings → Central Defaults.

ParameterUnitDescriptionDefault
drain_current_complianceADrain current limit1e-4
gate_current_complianceAGate current limit1e-6
voltage_limitVVoltage limit (voltage compliance in current-source mode)20.0
power_limitWPower limit2.0
nplcIntegration time (Number of Power Line Cycles); high = low noise, slow1.0
settling_time_ssSettling wait after a step/stage change0.05
measurement_delay_ssPre-measurement wait for each point0.02
averagesNumber of readings averaged per point1
sweep_directionForward / Reverse / DualForward
log_scaleShow the live plot logarithmicallyFalse
enable_autorangeEnable the device autorange preferenceTrue
Tip Increasing NPLC lowers measurement noise but lengthens the time. In low-current regions (sub-threshold, leakage) NPLC ≥ 5 is recommended.
⚠️
Warning The voltage_limit and compliance values are validated against the safety limits (max_abs_voltage, max_current_compliance) at the start of every measurement; if a limit is exceeded the measurement does not start at all.

Geometry parameters (for mobility/threshold)

In TFT/FET modules the computation of mobility (µFE / µ_sat) and the saturation threshold requires optional geometry inputs. If they are not entered, the corresponding metric is skipped (0 = not entered).

ParameterUnitDescriptionDefault
w_umµmChannel width (W)0.0
l_umµmChannel length (L)0.0
cox_nf_cm2nF/cm²Gate insulator capacitance (Cox)0.0

Unit conversions are automatic in the formulas: Cox_F = cox_nf_cm2 × 1e-9 (F/cm²), W/L is dimensionless; the result comes out directly in cm²/Vs.

Output files (all modules)

When each measurement is saved, a raw-data CSV (each row a MeasurementPoint: timestamp, mode, Vds/Vgs set+measured, Ids, Igs, compliance, elapsed time) and a summary (computed metrics) are produced. The file base name is derived from the context (e.g., TFT1_TRANSFER_YYYYMMDD_HHMMSS), with an optional prefix/suffix (e.g., IGZO_TFT1_TRANSFER_..._fresh). The summary is also optionally saved to the measurement database.

A. Transistor / FET / TFT Modules

A.1 Output Characteristic — Vds–Vgs (Output / Id–Vd)

🎓 What is it for? — Output Characteristic (Id–Vd)

Think of a transistor as a faucet: the gate voltage (V_GS) sets how far the faucet is open, while the drain voltage (V_DS) sets the pressure in the pipe. This measurement holds the faucet at different fixed openings and, while slowly increasing the pressure (V_DS), monitors the flowing current (I_DS). The resulting family of curves summarizes how much power the transistor can carry as a switch or amplifier and how much gain it can provide. For each faucet opening a separate "pressure-flow" curve emerges; the higher and smoother the curves, the stronger the device.

Physical background: At low V_DS the channel behaves like a conductive resistor from end to end, so I_DS increases approximately linearly with V_DS (linear/triode region). When V_DS exceeds V_GS−V_th, the channel "pinches off" at the drain end (pinch-off): the extra voltage now drops across the depleted region instead of increasing the current, and the curve flattens (saturation region). The slight upward slope in saturation is channel-length modulation (λ); curves at higher V_GS sit higher because there are more carriers in the channel. The sharp onset + flat plateau you see "at a glance" is the signature of a healthy transistor.

  • Why it is done: To see how much current the transistor can carry as a switch/amplifier, at which V_DS it enters saturation, and its power/gain limits.
  • What it teaches / measures: R_on = on-state resistance in the linear region (low = little conduction loss); r_o = output resistance in saturation (high = close to an ideal current source, high gain); λ = channel-length modulation, the deviation of the saturation slope from zero (small = flatter/more ideal); knee = the knee voltage where it transitions from linear to saturation; g_m = transconductance (how effectively the gate drives the current); A_v = g_m·r_o = intrinsic voltage gain.
  • Typical values and their interpretation: the knee is usually on the order of V_GS−V_th; in a good device r_o ≫ R_on (ratio of hundreds–thousands) and the saturation plateau is well defined; A_v in the tens–hundreds is good analog gain; the smaller λ is (≪1 1/V), the more ideal the output.
  • Common mistakes / cautions: keeping the V_DS range too short so saturation is never reached (r_o and λ cannot be extracted); hitting compliance and clipping the top of the curve (the saturation current is read incorrectly); forgetting that the knee voltage must be found from the peak of the second derivative (|d²I/dV²|) rather than by eye.
  • Where it is used: device selection/validation in power-switch and analog-circuit design; process validation and quality control.

Module: measure.iv · Navigation: Output — Vds–Vgs

Output characteristic measurement screen: Id-Vd curve family and parameter panel
Figure. Output characteristic (Id–Vd) measurement screen — a separate curve for each V_GS step.

Purpose: For each fixed V_GS step, it sweeps the drain voltage (V_DS) to measure the transistor's output curve family. It reveals the linear and saturation regions.

What it measures: At each (V_GS, V_DS) point, the drain current I_DS and the gate leakage I_GS. V_GS is a parameter (the gate step), V_DS is the swept axis. In Dual mode hysteresis is applied only on the swept V_DS axis; V_GS is stepped in a single direction.

ParameterUnitDescriptionDefault
vds_start / vds_stop / vds_stepVDrain sweep start/stop/step0.0 / 5.0 / 0.5
vgs_start / vgs_stop / vgs_stepVGate step start/stop/step0.0 / 5.0 / 1.0
w_um / l_um / cox_nf_cm2µm / µm / nF/cm²Geometry (for µ_sat/Vth_sat, opt.)0.0
Common SMU parametersNPLC, compliance, settling, averages, etc.(table above)
Tip In the interface the step field can be entered in two modes: step size (V) or number of points. Whichever mode is selected, the effective step size is always passed to the lower layer; the adjacent hint shows the equivalent value live.

Computed metrics (iv_analysis.py; for each V_GS curve + headline values):

MetricFormula / MethodUnit
R_on (on resistance)Inverse of the I_DS–V_DS fit slope in the low-V_DS linear region (|V| ≤ min(0.5, 0.05·V_max)): R_on = |1/slope|Ω
r_o (output resistance)In the saturation region (|V| ≥ 0.6·V_max) r_o = |1/slope|Ω
λ (channel-length modulation)The saturation line is back-extrapolated to V_DS=0: λ = |slope/intercept|; Early voltage V_A = 1/λ1/V
knee (knee voltage)The V_DS where |d²I_DS/dV_DS²| is maximumV
g_m / A_vg_m = ΔI_dsat/ΔV_GS (adjacent curves); intrinsic gain A_v = g_m·r_oS / —
µ_sat / Vth_satFrom a linear fit across curves of √I_dsat–V_GS: µ_sat = slope²·2L/(W·Cox), Vth_sat = −intercept/slopecm²/Vs · V

The headline R_on/r_o/λ values are taken from the highest |V_GS| curve. For an off/weakly-on device (V_GS ≤ Vth_sat or I_dsat < 0.1%·I_max), A_v is left as N/A because it is physically meaningless.

Plot: Id-Vd curve family (X axis: V_DS [V], Y axis: I_DS [A], a separate curve for each V_GS).

Output characteristic analysis: R_on, r_o, lambda and saturation region metrics
Figure. Output characteristic analysis — extraction of R_on, r_o, λ from the linear and saturation regions.
📐 How is it calculated? — R_on, r_o and λ (from the output curve)

The highest-|V_GS| output curve (I_DS–V_DS) is used; the slope of two different regions of the same curve is taken: the low-V_DS linear region and the high-V_DS saturation region.

  1. Step: a line is fitted to the low-V_DS linear region (|V| ≤ min(0.5, 0.05·V_max)); the slope dI_DS/dV_DS is taken → R_on = |1/slope|.
  2. Step: a second line is fitted to the saturation region (|V| ≥ 0.6·V_max) (sloper_o = |1/slope|) and this line is carried back to V_DS=0 by extrapolation.
  3. Result: from the slope/intercept of the saturation line, λ = |slope/intercept| (Early voltage V_A = 1/λ). The linear–saturation transition (knee) is read from the peak of |d²I_DS/dV_DS²|.
From the output curve: R_on from the low-V_DS slope, r_o from the saturation slope, and λ from extrapolating the saturation line
Figure. Output curve — low-V_DS slope → R_on; saturation slope → r_o; extrapolation of the saturation line → λ.
ℹ️
Mock behavior If no profile is loaded, a physical TFT output family is synthesized; λ, r_o, and the saturation behavior can be recovered from the analysis.

A.2 Transfer / On-Off Ratio (Id–Vg)

🎓 What is it for? — Transfer Characteristic (Id–Vg)

This is the most fundamental test, considered the transistor's "ID card." We hold the drain voltage fixed, slowly increase the gate voltage (V_GS), and watch when the transistor "turns on," how quickly it turns on, and how much it conducts. It is like turning a dimmer switch and measuring at what point the lamp begins to light and how much brighter it gets.

Physical background: On the logarithmic Id–Vg curve you see three regions. Below threshold (sub-threshold) the channel is only weakly populated; the carrier density depends exponentially on V_GS through Boltzmann statistics, so I_DS increases exponentially and becomes a straight line on the log axis — the slope of this line gives the sub-threshold swing (SS). Above threshold the channel fully forms and I_DS increases linearly/quadratically with V_GS. The flat "floor" at the bottom is the gate/junction leakage (I_off). Thus, on the log curve, the position of the elbow reveals V_th, the steepness reveals SS, and the ceiling/floor ratio reveals I_on/I_off even by eye.

  • Why it is done: To determine the transistor's turn-on threshold, switching sharpness, and how well it distinguishes the on/off states.
  • What it teaches / measures: V_th = the threshold voltage where the channel turns on; µ (µFE/µ_sat) = how easily carriers flow under the gate field (mobility); SS = the sharpness of switching, the V_GS needed to increase the current by one decade, directly related to the interface trap density; I_on/I_off = the on-off current separation; D_it = the interface trap density derived from SS; ΔV_th (hysteresis) = an indicator of mobile charge/trapping.
  • Typical values and their interpretation: SS ~60–100 mV/dec is good (ideal lower bound ≈59.5 mV/dec at 300 K); >300 mV/dec means highly trapped/poor switching; I_on/I_off >10⁶ is a good switch, and 10⁸–10¹⁰ is common in good IGZO TFTs; mobility is on the order of ~1 for a-Si:H, ~10 for IGZO, hundreds of cm²/Vs for poly/crystalline-Si; |ΔV_th| ≪1 V is considered stable.
  • Common mistakes / cautions: forgetting the log axis (the sub-threshold region and I_off become invisible); taking I_off from a single noisy point (use the median/deep-off region); skipping the entry of W/L/Cox for mobility (the metric is skipped if 0 is entered); overlooking hysteresis (ΔV_th) in a dual sweep; measuring SS in too wide/wrong a window and finding it larger than it really is.
  • Where it is used: baseline characterization and version-to-version quality comparison in TFT/FET development; process monitoring.

Module: measure.transfer · Navigation: Transfer / On-Off Ratio

Transfer characteristic measurement screen: Id-Vg linear/logarithmic and gm-Vg curves
Figure. Transfer characteristic (Id–Vg) measurement screen — the fundamental measurement of TFT/FET characterization.

Purpose: Under a fixed V_DS, it sweeps the gate voltage (V_GS) to measure the transfer characteristic; it extracts the threshold voltage, mobility, sub-threshold swing (SS), on/off ratio, and hysteresis. This is the fundamental measurement of TFT/FET characterization.

What it measures: For each V_GS, I_DS (drain current) and I_GS (gate leakage), at a fixed V_DS.

ParameterUnitDescriptionDefault
fixed_vdsVFixed drain voltage1.0
vgs_start / vgs_stop / vgs_stepVGate sweep start/stop/step-5.0 / 5.0 / 0.25
mobility_methodLinear (g_m, low V_DS) or Saturation (√I_DS)Linear
w_um / l_um / cox_nf_cm2µm / µm / nF/cm²Geometry (for µFE, opt.)0.0
Common SMU parametersNPLC, compliance, settling, averages, etc.(common table)

Computed metrics (transfer_measurement.py):

MetricFormula / MethodUnitBasis
I_onmax |I_DS|A
I_offMedian of the deep-off region (V_GS < Vth−2 V; otherwise the lowest 20% of V_GS) — noise-resistantA
I_on/I_offI_on / I_off
g_m / g_m,maxg_m = dI_DS/dV_GS (central difference); g_m,max = max|g_m|S
V_th (Linear)Tangent extrapolation at the peak g_m point: Vth = V_GS* − I_DS*/g_m,maxVIEC 60747
V_th (Saturation)x-intercept of the √I_DS–V_GS tangent: Vth = V_GS* − √I_DS*/slopeV
µFE (Linear)µFE = g_m,max / ((W/L)·Cox·|V_DS|)cm²/Vs
µ_sat (Saturation)µ_sat = slope²·2L/(W·Cox) (√I_DS slope)cm²/Vs
SS (sub-threshold swing)In a sliding ~1-decade window SS = 1000 / (d log₁₀|I_DS|/dV_GS); the steepest (min) is chosenmV/dec
µ0 / V_th,Y (Y-Function)From the linear fit of Y = I_DS/√g_m: Vth_Y = −intercept/slope, µ0 = slope²/((W/L)·Cox·|V_DS|)cm²/Vs · V
D_it (interface trap dens.)D_it = (Cox/q)·(SS/(kT/q·ln10) − 1)cm⁻²eV⁻¹
ΔV_th (hysteresis)ΔVth = Vth_forward − Vth_reverse (Dual only)V
Hysteresis windowThe V_GS difference between the forward/reverse curves at 50%·I_max currentV
ℹ️
Note The physical lower bound of the sub-threshold swing at 300 K is kT/q·ln10 ≈ 59.5 mV/dec. If the extracted SS is below this bound, a physical-limit warning is issued and D_it is not computed (it would be negative/meaningless). For SS, if scipy is available, noise correction is done with Savitzky-Golay; otherwise it falls back to the point-by-point method.

Plot: Id-Vg linear, Id-Vg logarithmic, and gm-Vg curves (X: V_GS [V]; Y: I_DS [A] or g_m [S]).

Transfer analysis: extraction of V_th, mobility, SS and on/off ratio
Figure. Transfer analysis — extraction of V_th, µFE, SS and I_on/I_off from the logarithmic Id–Vg curve.
📐 How is it calculated? — V_th (linear) and mobility µFE

The linear (low-V_DS) transfer curve I_DS–V_GS is used; a tangent is drawn at the point where the curve is steepest (peak g_m).

  1. Step: g_m = dI_DS/dV_GS is computed, the point where it is largest (g_m,max) is found, and a tangent is fitted there.
  2. Step: the tangent is carried to the x-axis (I_DS=0) by extrapolation; its x-intercept gives the threshold voltage: V_th = V_GS* − I_DS*/g_m,max.
  3. Result: since the slope of the tangent is g_m,max, the mobility is µFE = g_m,max / ((W/L)·Cox·|V_DS|). (In the saturation method the same extraction is done with the slope and x-intercept of the √I_DS line.)
Drawing a tangent at the steepest point of the transfer curve and extrapolating to the x-axis to get V_th, with mobility from the tangent slope
Figure. V_th (linear) — tangent at the steepest point + extrapolation to the x-axis; the tangent slope → µFE.
📐 How is it calculated? — Sub-threshold swing SS

The transfer curve is plotted as log I_DS–V_GS (logarithmic transformation); in the sub-threshold region the curve turns into a straight line.

  1. Step: a line is fitted to an approximately one-decade (10× current) window in the sub-threshold region.
  2. Step: the slope of this line, d(log₁₀ I_DS)/dV_GS, is taken.
  3. Result: SS is the inverse of this slope: SS = ΔV_GS / Δ(log₁₀ I_DS) = 1000/slope (mV/dec). The steepest window (the one giving the smallest SS) is chosen; the physical lower bound at 300 K is ≈59.5 mV/dec.
Extracting the sub-threshold swing SS from a one-decade slope on the logarithmic I_DS axis
Figure. Sub-threshold swing — a one-decade slope on log I_DS; SS = ΔV_GS/Δ(log I_DS).
ℹ️
Mock behavior A physical TFT transfer curve is generated; Vth, SS, mobility, and I_on/I_off are recovered consistently from the analysis.

A.3 Pulsed I-V

🎓 What is it for? — Pulsed I-V

Applying continuous voltage heats the device and corrupts the measurement. In this mode the voltage is applied to the device only in very short "pulses," the measurement is taken at the end of the pulse, and then we wait for the device to cool/rest. It is like quickly touching and withdrawing your hand from a hot pan instead of pressing it down continuously — you learn the true temperature without getting burned.

Physical background: Under continuous (DC) bias the device heats up; because heating lowers mobility, I_DS "collapses" over time (the curve bends downward at high V_DS). Also, slow traps capture charge on the ms–s scale and shift the curve. A short pulse (µs–ms) takes the measurement before heat and traps can respond; a long rest lets the device cool and the traps empty. That is why the pulsed curve comes out "steeper/higher" than the DC curve; the difference between the two curves directly gives the magnitude of self-heating and trapping.

  • Why it is done: To see the device's "true" behavior by removing self-heating and transient (trap-induced) effects.
  • What it teaches / measures: Heating-free I_DS = the device's isothermal (true) current; difference from DC = the self-heating + trapping contribution; duty-cycle effect = the leakage of the pulse/rest ratio into the result.
  • Typical values and their interpretation: a duty cycle (pulse_width/period) ≪1 (e.g., 1–10%) provides good isolation; in GaN/power devices a deviation of tens of % between DC and pulsed is a sign of "current collapse" and indicates a serious trap problem.
  • Common mistakes / cautions: choosing the pulse width shorter than the instrument's settling time (the current is read before it settles); entering the pulse period shorter than the pulse (gives a validation error); leaving the duty cycle high and heating the device again.
  • Where it is used: accurate characterization of power devices and TFTs sensitive to heating/traps.

Module: measure.pulsed_iv · Navigation: Pulsed I-V

Pulsed I-V measurement screen: per-pulse time response (Id-t)
Figure. Pulsed I-V measurement screen — the baseline-pulse-measure-rest cycle that minimizes self-heating.

Purpose: It measures I_DS while minimizing self-heating and transient effects. At each point the device is excited from a baseline level with a short pulse; the measurement is taken at the end of the pulse, then a rest time is waited.

What it measures: For each (V_GS, V_DS) pulse, the pulsed I_DS and I_GS (time-resolved).

ParameterUnitDescriptionDefault
vds_start / vds_stop / vds_stepVDrain sweep0.0 / 5.0 / 0.5
vgs_start / vgs_stop / vgs_stepVGate step0.0 / 5.0 / 1.0
pulse_width_ssPulse width (the time during which the measurement is taken)0.01
pulse_period_ssPulse period (pulse + rest)0.1
baseline_vds / baseline_vgsVBaseline voltages between pulses0.0 / 0.0
⚠️
Warning pulse_width_s and pulse_period_s must be positive, and the pulse width cannot be greater than the period; otherwise the measurement does not start. A low duty cycle (width ≪ period) minimizes self-heating.

Plot: Id-t (per-pulse time response).

ℹ️
Mock behavior The driver's pulse_voltage_and_measure call is simulated; the baseline-pulse-measure-rest cycle is applied.

A.4 Q-Pulsed I-V (Q-Pulsed)

🎓 What is it for? — Q-Pulsed I-V (charge-controlled)

In some semiconductors, when voltage is applied for a long time, charge gets caught in "traps" inside and the device's threshold shifts. This mode first holds the device at different quiescent voltages (V_Q) and then performs a fast sweep to capture this shift. It is like dipping a sponge into water for different durations and weighing each time how much heavier it gets (how much charge it has drawn).

Physical background: The device is held at each quiescent voltage (V_Q) for a settling time; during this the traps reach an equilibrium occupancy set by V_Q. Then a fast sweep reads the threshold before the traps empty. Because the captured charge creates an additional electric field in the insulator/interface, V_th shifts; the variation of V_th with V_Q shows how much charge each bias traps. The regular shift of the curves as V_Q increases (horizontal translation) is direct visual evidence of trapping; from the total shift ΔV_th the interface trap density N_t is extracted.

  • Why it is done: To measure how much charge trapping shifts the threshold voltage and how sensitive the device is to its bias history.
  • What it teaches / measures: ΔV_th,trap = the threshold shift due to quiescent bias (max−min over V_Q); N_t = C_ox·|ΔV_th|/q = the interface/surface trap density; the direction of the V_th(V_Q) curve = implies the trap type (acceptor/donor).
  • Typical values and their interpretation: for a good insulator-interface N_t ~10¹⁰–10¹¹ cm⁻² is considered low; ≳10¹² cm⁻² means high trapping and instability; |ΔV_th| is preferably kept below a few hundred mV.
  • Common mistakes / cautions: keeping the settling time (quiescent_settle_time_s) short (the traps do not fill, ΔV_th comes out underestimated); entering the C_ox (cox_nf_cm2) value wrong/missing (the N_t scale is corrupted); choosing the turn_on_current threshold close to the noise floor and reading V_th unstably.
  • Where it is used: stability/reliability research and assessment of insulator-interface quality.

Module: measure.qpulsed · Navigation: Q-Pulsed I-V

Q-Pulsed I-V measurement screen: V_th shift dependent on the quiescent bias point
Figure. Q-Pulsed I-V measurement screen — V_Q-dependent threshold shift with a charge-controlled pulse train.

Purpose: With a charge-controlled pulse train, it takes a pulsed I-V sweep at each quiescent voltage point (V_Q). The threshold (V_th) shift at different V_Q values indicates trap loading; from this the interface trap density is estimated.

What it measures: One I-V curve (V, I) for each V_Q; V_th is extracted from each curve.

ParameterUnitDescriptionDefault
quiescent_v_listV (list)Quiescent bias values[-2.0, 0.0, 1.0]
quiescent_settle_time_ssWait after V_Q is applied1.0
voltage_start / voltage_stop / voltage_stepVI-V sweep-0.2 / 1.0 / 0.02
pulse_width_s / pulse_period_ssPulse width/period1e-4 / 1e-2
current_complianceACurrent limit1e-2
cox_nf_cm2nF/cm²Capacitance for the N_t computation10.0
turn_on_currentAThreshold current for the V_th definition1e-6

Computed metrics:

MetricFormulaUnit
V_th(V_Q)The V where I first exceeds turn_on_current in each curveV
ΔV_th,trapmax V_th − min V_th (over V_Q)V
N_t (trap dens.)N_t = C_ox·|ΔV_th| / q (C_ox = cox_nf×1e-9 F/cm²)cm⁻²

Plot: Id-t (pulse response).

ℹ️
Mock behavior For each V_Q the threshold is shifted at a rate of 0.05 V/V (V_th_shift = 0.05·V_Q), and I0 is scaled by the appropriate factor; thus N_t comes out consistent.

A.5 Hardware Vds–Vgs (Hardware Sweep)

🎓 What is it for? — Hardware Vds–Vgs Sweep

It measures the same output curve, but lets the measurement instrument's (Keithley's) own internal engine perform the sweep loop instead of the software. This way the points are collected at instrument speed without waiting for them one by one. It is like quickly scanning items at a barcode reader instead of reading the shopping list to the cashier one by one.

Physical background: The physical phenomenon measured is the same as A.1; the same curve with a linear→saturation transition emerges on a single channel, so the shape of the curve does not change. The difference is in the timing: the instrument's own internal pipeline (nvbuffer) collects the readings while stepping the voltage with a fixed per-point delay; there is no round-trip to the computer for each point. The cost of this is that each point gets a uniform, short wait, and the ability for flexible averaging/adaptive settling is reduced.

  • Why it is done: To collect a large number of points very fast and shorten the measurement time.
  • What it teaches / measures: The fast V-I curve of a single channel (the other channel is held fixed); the physical interpretation is the same as the R_on/r_o/λ in A.1, only the data is collected faster.
  • Typical values and their interpretation: it collects 100+ points on the order of ms instead of seconds; a per-point delay (delay_s) of ~1 ms is typical; at very low current/high impedance this short delay may not be enough for settling.
  • Common mistakes / cautions: leaving the per-point delay too short on a low-current/high-impedance device and taking an unsettled (capacitive) reading; not noticing the trap/heating effect while hysteresis is off; overlooking the discontinuity that autorange transitions create in a fast sweep.
  • Where it is used: batch measurement/scanning scenarios where speed matters more than precision.

Module: measure.hw_sweep · Navigation: Hardware Vds–Vgs

Hardware Vds-Vgs measurement screen: fast Id-Vd with the Keithley internal sweep engine
Figure. Hardware Vds–Vgs measurement screen — data at instrument speed via Keithley's nvbuffer-based list sweep.

Purpose: On a single channel (drain or gate), it takes a fast output curve using Keithley's own hardware sweep engine (nvbuffer-based list sweep). The software loop does not wait for each point one by one; the data is collected at instrument speed.

What it measures: The voltage-current curve of the swept channel (the other channel is held fixed).

ParameterUnitDescriptionDefault
sweep_channeldrain or gate (the swept channel)drain
fixed_gate_voltageVThe voltage of the other channel held fixed0.0
start_voltage / stop_voltageVSweep range0.0 / 5.0
point_countNumber of sweep points (> 1)101
delay_ssInstrument internal per-point delay0.001
hysteresisForward + reverse sweepFalse

Plot: Id-Vd (at hardware speed).

ℹ️
Mock behavior run_hardware_linear_voltage_sweep is simulated; the forward and (if selected) reverse sweep buffers are produced.

A.6 Hardware TFT I-V (Hardware TFT Sweep)

🎓 What is it for? — Hardware TFT I-V Sweep

This is the accelerated version of the output curve family (A.1): at each gate step the instrument's own hardware performs the drain sweep, and the software only manages the gate steps. It is like a conductor in an orchestra who only sets the tempo and lets each section play its own part quickly, rather than dictating each note to every section one by one.

Physical background: The curve family carries the same physics as A.1 (a linear→saturation output curve for each V_GS); the difference is that at each gate step the V_DS sweep is run in a single pass by the instrument's hardware. The software only waits between V_GS steps; the drain sweep finishes at instrument speed at each step, so the full family is collected in a much shorter time. Because the shape of the curves does not change, R_on/r_o/λ are still extracted with the A.1 analysis.

  • Why it is done: To collect a complete Id-Vd curve family at hardware speed.
  • What it teaches / measures: a fast output curve for each V_GS (the full family at hardware speed); the extracted R_on, r_o, λ, and saturation behavior carry the same meaning as in A.1.
  • Typical values and their interpretation: the V_DS sweep per step completes on the order of ms; the settling after a V_GS change (settling_time_s) is critical for the gate to settle.
  • Common mistakes / cautions: leaving the settling short after a V_GS change and shifting the first points of each step; insufficient hardware delay at low current; increasing the number of points too much and hitting the instrument buffer limit.
  • Where it is used: fast output characterization in multi-device/batch production tests.

Module: measure.hw_tft_sweep · Navigation: Hardware TFT I-V

Hardware TFT I-V measurement screen: buffer-based full Id-Vd family
Figure. Hardware TFT I-V measurement screen — a hardware-triggered internal V_DS sweep at each V_GS value.

Purpose: The hardware-triggered (buffer-based) version of the output sweep: at each V_GS value, Keithley performs its own internal V_DS sweep; the software manages only the V_GS steps. It provides a complete Id-Vd family at hardware speed.

ParameterUnitDescriptionDefault
vds_start / vds_stopVHardware V_DS sweep range0.0 / 5.0
vds_point_countNumber of V_DS points (> 1)101
vgs_start / vgs_stop / vgs_stepVGate step0.0 / 5.0 / 1.0
delay_ssKeithley internal per-point delay0.001
settling_time_ssWait after a V_GS change0.05
hysteresisV_DS Forward + ReverseFalse

Plot: Id-Vg (at hardware speed).

Tip The A.5/A.6 hardware sweeps are much faster than the software-looped A.1/A.2, but the option for flexible per-point waiting/averaging is limited. If speed is the priority, prefer the hardware sweeps; if precision is the priority, prefer the software sweeps.

B. Diode Modules

All diode-based modules share a common analysis engine (diode_analysis_engine.py). The fundamental physical model is the Shockley diode equation with series (R_s) and shunt (R_sh) resistances:

Formula I = I0·[exp(q(V − I·R_s)/(n·k·T)) − 1] + (V − I·R_s)/R_sh

In forward bias the exponential term dominates: ln(I) = ln(I0) + qV/(nkT). From the slope of this line the ideality factor and the saturation current are extracted:

Formula n = q / (k·T · d[lnI]/dV)     I0 = exp(intercept)

B.1 Diode I-V

🎓 What is it for? — Diode I-V

A diode is an "electrical turnstile" that passes current in one direction only. This measurement sweeps the voltage from negative to positive and shows when the diode begins to conduct in the forward direction and how well it blocks in the reverse direction. It is like measuring that a bicycle pedal can be turned easily in only one direction and resists in the other.

Physical background: In forward bias the current flows exponentially across the junction according to the Shockley equation; on the log(I)–V plot this is a straight line whose slope gives the ideality factor (n). At high current the line "bends" because the series resistance (R_s) takes part of the voltage onto itself. In reverse bias only a small saturation/leakage current (a flat floor) is seen; the turn-on knee is where the exponential arm first exceeds the measurable current. That is why you see a sharp "knee" on the linear plot and a long straight exponential arm on the log plot.

  • Why it is done: To understand how "ideally" the diode rectifies, its conduction mechanism, and its losses.
  • What it teaches / measures: V_on = turn-on voltage; n (ideality) = conduction mechanism (≈1 diffusion, ≈2 generation-recombination/trap, >2 high-injection, series resistance, or tunneling); I0 = saturation current (material/band gap/surface quality); R_s = series resistance (conduction loss); R_sh = shunt resistance (edge leakage); RR = rectification ratio.
  • Typical values and their interpretation: Si pn diode V_on ~0.6 V, Ge ~0.3 V, GaN/LED ~2–3 V; n of 1–2 is good, >2 means trap/leakage dominated; the smaller I0 is (pA–nA), the better; RR ≫10³ is a good rectifier; high R_sh (≫MΩ) is good.
  • Common mistakes / cautions: moving the fit range (fit_v_min/fit_v_max) into the high-current region bent by series resistance and inflating n; not using a log axis; hitting compliance and clipping the forward arm; confusing the reverse leakage with the measurement noise floor.
  • Where it is used: power/signal diode selection, material quality, and junction quality control.

Module: measure.diode · Navigation: Diode I-V

Diode I-V measurement screen: forward+reverse sweep, linear and logarithmic plots
Figure. Diode I-V measurement screen — extraction of rectification, ideality factor, saturation current, and series resistance.

Purpose: With a single-channel SMU it takes the forward+reverse voltage sweep of the diode; it extracts rectification, the ideality factor, the saturation current, and the series resistance.

What it measures: The current I for each V (single channel, V_GS=0).

ParameterUnitDescriptionDefault
voltage_start / voltage_stop / voltage_stepVI-V sweep-2.0 / 2.0 / 0.05
current_complianceACurrent limit1e-3
turn_on_currentAThreshold current for the V_on definition1e-6
rectification_voltageVRectification-ratio reference voltage ±V_rect1.0
fit_v_min / fit_v_maxVln(I)-V ideality fit range0.05 / 0.50

Computed metrics:

MetricFormula / MethodUnit
V_on (turn-on)The V where I first exceeds turn_on_current (interpolation)V
n (ideality)n = q/(kT·slope), ln(I)-V fit (shunt-corrected, noise-filtered)
I0 (saturation current)I0 = exp(intercept)A
R_s (series resistance)Cheung-1: dV/d(lnI) = R_s·I + nkT/q → slope = R_sΩ
R_sh (shunt resistance)In the low-V (V ≤ 0) region R_sh = dV/dIΩ
RR (rectification ratio)RR = |I(+V_rect)| / |I(−V_rect)|
Forward current / reverse leakageI@+V_rect / |I@−V_rect|A
V_F@1mA, r_d@1mAForward voltage and differential resistance at 1 mAV / Ω
Fit R²ln(I)-V fit quality
ℹ️
Note If the ideality factor comes out outside the physical range of 0.8–10, a note is added suggesting that you review the fit range.
📐 How is it calculated? — Ideality n and saturation current I0

The forward-bias data is plotted as ln I–V (semi-logarithmic transformation); the exponential arm fits a straight line here: ln(I) = ln(I0) + qV/(nkT) (fit range fit_v_min … fit_v_max).

  1. Step: a line is fitted to the straight portion of the exponential arm (before the high-current region bent by series resistance) and the slope d(ln I)/dV is taken.
  2. Step: the same line is carried to V=0 by extrapolation; the vertical-axis intercept is ln(I0).
  3. Result: n = q/(k·T·slope) (at 300 K kT/q = 0.025852 V); I0 = exp(intercept). The series resistance R_s is extracted from the slope of the Cheung-1 line (dV/d(lnI)–I).
Extracting ideality n from the slope of the ln I-V line and the saturation current I0 by extrapolating to V=0
Figure. Diode — ln I–V slope → ideality n; extrapolating the line to V=0 → saturation current I0.

Plot: I-V linear and I-V logarithmic.

I05e-12A
n1.8
R_s500Ω
R_sh1e9Ω
V_on~0.45V
ℹ️
Mock behavior A realistic Si diode curve is generated (I0=5e-12 A, n=1.8, R_s=500 Ω, R_sh=1e9 Ω, turn-on ~0.45 V). If no profile is loaded it would generate a mock TFT curve; therefore the diode profile is explicitly loaded.

B.2 Schottky I-V

🎓 What is it for? — Schottky I-V

A Schottky diode forms from the direct contact of a metal and a semiconductor, and an energy "barrier" arises between them. This measurement is the same as a normal diode sweep; the difference is that the analysis numerically extracts the height of this barrier. It is like electrically measuring the height of the "wall" where two different materials meet.

Physical background: At the metal-semiconductor contact an energy barrier (Φ_B) arises; in forward bias the carriers cross this barrier by thermionic emission. The saturation current I0 depends exponentially on the barrier via the Richardson equation (I0 = A**·T²·Area·exp(−qΦ_B/kT)); from the known A**, T, and area, I0 is solved back to find Φ_B. An ideality n significantly greater than 1 indicates barrier inhomogeneity, image-force lowering, or an interfacial layer; the Cheung method separates the series resistance from the exponential arm. The curve shape is the same as a normal diode's; the extra information comes entirely from the absolute magnitude of I0.

  • Why it is done: To determine the quality of the metal-semiconductor contact and the barrier height.
  • What it teaches / measures: Φ_B = Schottky barrier height (the rectifying strength of the contact); n = barrier homogeneity/ideality; J0 = I0/Area = area-normalized saturation current density (area-independent comparison); R_s,Cheung = the series resistance separated from the exponential arm.
  • Typical values and their interpretation: for Si Schottky, Φ_B ~0.6–0.85 eV is typical; n ~1.02–1.2 means a good/clean contact, ≳1.5 means an inhomogeneous or interfacial contact; the smaller J0 is, the higher the barrier.
  • Common mistakes / cautions: not entering the correct material/Richardson constant (A_richardson) (Φ_B is offset); entering the active area (device_area_um2) wrong (J0 and Φ_B shift); leaving the temperature at the default 300 K and not reflecting the real T; moving the ideality fit into the series-resistance bend.
  • Where it is used: contact metallurgy research, fast power diodes, and sensor development.

Module: measure.schottky · Navigation: Schottky I-V

Schottky I-V measurement screen: barrier height from the thermionic emission model
Figure. Schottky I-V measurement screen — extraction of Φ_B, Cheung series resistance, and J0 from the thermionic emission model.

Purpose: The measurement flow is the same as Diode I-V; the difference is in the analysis layer. By providing the active area, the Richardson constant, and the temperature, the Schottky barrier height (Φ_B), the Cheung-1/2 series resistance, and the saturation current density (J0) are extracted from the thermionic emission model.

What it measures: The current I for each V (single channel).

ParameterUnitDescriptionDefault
voltage_start / voltage_stop / voltage_stepVI-V sweep-1.0 / 1.0 / 0.02
current_complianceACurrent limit1e-2
rectification_voltageVRectification reference0.5
fit_v_min / fit_v_maxVIdeality fit range0.10 / 0.40
device_area_um2µm²Active area (internal: cm² = ×1e-8)10000.0
materialSi-n / Si-p / GaAs-n / GaN-n / CustomSi-n
A_richardsonA/cm²K²Effective Richardson constant (comes from the material)110.0
temperature_KKMeasurement temperature300.0
cheung_I_minACheung fit lower bound1e-4

Richardson constant presets: Si-n 110, Si-p 32, GaAs-n 8, GaN-n 26 A/cm²K².

Computed metrics (in addition to all the diode quantities in B.1):

MetricFormulaUnit
Φ_B (barrier height)Φ_B = (kT/q)·ln(A**·T²·Area / I0)eV
J0 (saturation current density)J0 = I0 / AreaA/cm²
n_Cheung, R_s,Cheung1Cheung-1 intercept/slope— / Ω
R_s,Cheung2, n·Φ_BCheung-2: H(I) = V − nVt·ln(I/(A**T²Area)) = R_s·I + n·Φ_BΩ / eV
📐 How is it calculated? — Ideality n and barrier height Φ_B

The measurement flow is the same as the diode: the forward arm is transformed into the ln I–V line. n and I0 come from this line, while Φ_B is computed from I0 via the Richardson (thermionic emission) relation.

  1. Step: the slope of the ln I–V line → n = q/(k·T·slope); extrapolating the line to V=0 → I0 = exp(intercept).
  2. Step: the active area (Area), temperature (T), and Richardson constant (A**) are entered.
  3. Result: the barrier height is extracted not from the plot but from I0: Φ_B = (kT/q)·ln(A**·T²·Area / I0). For the series resistance the Cheung method (the slope of the dV/d(lnI)–I line) is used.
Ideality n from the ln I-V slope of the Schottky forward arm; I0 from the intercept, then the barrier height via Richardson
Figure. Schottky — ln I–V slope → ideality n; I0 from the intercept, then Φ_B via the Richardson relation.

Plot: I-V logarithmic.

Φ_B0.72eV
n1.6
R_s30Ω
ℹ️
Mock behavior From the chosen Φ_B = 0.72 eV, I0 is derived via thermionic emission (I0 = A**·T²·Area·exp(−Φ_B/Vt), n=1.6, R_s=30 Ω); the analysis recovers this Φ_B.

B.3 Reverse Recovery (trr)

🎓 What is it for? — Reverse Recovery (trr)

When a diode transitions from conduction to blocking, it conducts current in the reverse direction for a moment — because it takes time for the stored charge inside it to discharge. This measurement suddenly reverses the diode and records, on the time axis, how long it takes for this transient current to die out. It is like using a stopwatch to measure how long the water in a pipe keeps dripping after you close the faucet.

Physical background: During forward conduction, minority-carrier charge (Q) is stored in the junction region of a pn diode. When the device is suddenly reversed, this charge must be swept out and discharged before the diode can block; during this a large reverse current flows, then decays exponentially with the minority-carrier lifetime (τ). Because a Schottky diode operates with majority carriers, it stores almost no minority charge; therefore its recovery is very fast. The negative current dip and the exponential tail that follows it, which you see on the plot, are a direct picture of this charge discharge.

  • Why it is done: To measure how fast the diode can switch (its suitability for high frequency).
  • What it teaches / measures: t_rr = reverse recovery time (switching speed); I_rr = peak reverse current; Q_rr = I_F·τ = recovery charge (the total charge discharged); τ = minority-carrier lifetime (from the exponential fit).
  • Typical values and their interpretation: for a fast/Schottky diode t_rr is on the order of ns (τ ~10 ns); for a standard pn rectifier ~µs (τ ~µs–10 µs); a small Q_rr / I_rr / t_rr means low switching loss at high frequency.
  • Common mistakes / cautions: using the dimensionally incorrect formula 2·Q_rr/I_rr² for τ (as explained in the scientific note alongside, it is wrong; τ comes from the exponential fit); leaving the sampling interval (sample_interval_s) too coarse and missing the peak/decay; not specifying the i_rr_fraction definition when reporting t_rr.
  • Where it is used: switching power supplies and high-speed rectifier design.

Module: measure.rev_recovery · Navigation: Reverse Recovery (trr)

Reverse recovery measurement screen: transient reverse current I(t) in the time domain
Figure. Reverse recovery (trr) measurement screen — the transient current after sudden switching from forward bias to reverse voltage.

Purpose: It measures, in the time domain, the transient reverse-current decay after sudden switching from a forward bias current (I_F) to a reverse voltage (V_R); it extracts the reverse recovery time, an indicator of switching speed.

What it measures: The transient current I(t) in a time series (the x axis is time).

ParameterUnitDescriptionDefault
i_forwardAForward bias current (I_rr reference)1e-3
v_reverseVReverse step voltage-1.0
t_forward_ssForward bias duration1e-3
t_measure_ssMeasurement window1e-4
sample_interval_ssTime resolution1e-7
i_rr_fractiont_rr definition: this fraction of I_rr0.1
device_type_hintSchottky / PN (mock τ selection)PN

Computed metrics:

MetricFormulaUnit
I_rrmax |I(t)| (peak reverse current)A
Q_rrQ_rr = ∫|I(t)| dt (trapezoidal)C
τ (minority-carrier lifetime)From the ln|I|–t exponential decay fit τ = −1/slopes
t_rrThe instant when |I| drops to i_rr_fraction·I_rr (interpolation)s
ℹ️
Note (scientific) The expression τ ≈ 2·Q_rr/I_rr² found in some sources is dimensionally incorrect (C/A² = s/A). The correct relations in the exponential model are Q_rr = I_F·τ and t_rr = τ·ln(1/i_rr_fraction); therefore τ is extracted from the exponential fit.

Plot: I-t (transient).

ℹ️
Mock behavior A physical exponential transient is generated: I(t) = −I_F·exp(−t/τ) + small noise; τ is selected from the type hint (Schottky ≈ 10 ns, PN ≈ 10 µs).

C. Resistivity / Resistance Modules (TFT / Thin Film)

C.1 Four-Point Probe Resistivity

🎓 What is it for? — Four-Point Probe Resistivity

It measures "how conductive" a thin film is. Four probes are used: current is driven through the outer two, and voltage is read from the inner two — so the resistance of the cables and contact points does not enter the measurement. It is like measuring the true length of a road without counting the toll booths at its beginning and end.

Physical background: Current is driven through the outer probes and voltage is read from the inner probes; because no current flows through the voltage probes, their contact/cable resistance does not enter the measurement as an IR drop — this is the entire power of the 4-point method. In a thin layer (thickness ≪ probe spacing) the current spreads in two dimensions, and the geometric factor π/ln2 ≈ 4.5324 converts the measured resistance into the sheet resistance (R_s). If the film thickness is known, the resistivity is ρ = R_s·t. The V-I points should trace a straight line passing through the origin; curvature or offset means a poor contact/noise.

  • Why it is done: To measure the conduction quality of a coating/film free of contact resistance.
  • What it teaches / measures: R_s = sheet resistance (Ω/sq, a thickness-independent film indicator); ρ = resistivity (the material's intrinsic resistance); σ = 1/ρ = conductivity.
  • Typical values and their interpretation: metal contact films (Al/Au) ~mΩ–tens of Ω/sq; transparent conductors like ITO ~10–100 Ω/sq; doped/weak semiconductor films kΩ–MΩ/sq; metals' resistivity is ~10⁻⁶ Ω·cm, much higher in semiconductors.
  • Common mistakes / cautions: overlooking the thin/thick regime distinction (t < s/2 is thin) and using the wrong ρ formula; forgetting that if the thickness (film_thickness_nm) is not entered, only R_s is produced; ignoring fit R²<0.99 (poor contact/noise); measuring too close to the sample edge and falling into the edge effect.
  • Where it is used: quality control and material comparison in thin-film/coating production.

Module: measure.four_point · Navigation: Four-Point Probe Resistivity

Four-point probe resistivity measurement screen: sheet resistance with a collinear probe
Figure. Four-point probe resistivity measurement screen — sheet resistance and resistivity with a collinear 4-point probe.

Purpose: With a collinear (equally-spaced) 4-point probe it measures sheet resistance and resistivity. A current series is driven through the outer probes (1 and 4), and a 4-wire voltage is read from the inner probes (2 and 3); this excludes the cable/contact resistance from the measurement.

What it measures: The voltage measured against the driven current series; R = dV/dI.

ParameterUnitDescriptionDefault
current_start / current_stop / current_stepASource current sweep-1e-3 / 1e-3 / 2e-4
probe_spacing_ininProbe spacing (collinear, equal)0.1
film_thickness_nmnmFilm thickness (0 = unknown → R_s only)0.0
voltage_limitVCurrent-source voltage compliance(common)

Computed metrics (geometric factor π/ln2 ≈ 4.5324):

MetricFormulaUnit
RSlope of the V-I linear fit (dV/dI)Ω
R_s (sheet resistance)R_s = (π/ln2)·R ≈ 4.5324·RΩ/sq
ρ (resistivity) — thin filmt < s/2: ρ = R_s·tΩ·cm
ρ (resistivity) — thick samplet ≥ s/2: ρ = 2π·s·R (bulk formula)Ω·cm
σ (conductivity)σ = 1/ρS/cm

Unit conversion: in→cm ×2.54; nm→cm ×1e-7. The regime field is reported as thin / bulk / sheet_only.

ℹ️
Note If fit R² < 0.99, a low-fit note is added; if R ≤ 0, a negative-resistance note; if compliance is seen, the corresponding warning note. This module uses no relays (fixed collinear head).
📐 How is it calculated? — R_s and resistivity ρ (4-point)

The 4-wire voltage measured against the driven current series is plotted; the slope of this line gives the resistance (because no current flows through the voltage probe, the cable/contact resistance is excluded from the measurement).

  1. Step: a line is fitted to the V–I points; the slope R = dV/dI is taken.
  2. Step: the geometric factor of the collinear geometry is applied: R_s = (π/ln2)·R ≈ 4.5324·R (Ω/sq).
  3. Result: if the thickness is known, in the thin regime (t < s/2) the resistivity is ρ = R_s·t, conductivity σ = 1/ρ.

Plot: R readings (V-I points). The interface also includes a visual panel showing the probe arrangement.

Four-point probe calculator: extraction of sheet resistance and resistivity
Figure. Four-point probe calculator — sheet resistance/resistivity conversion with the geometric factor π/ln2.

C.2 Van der Pauw / Hall

🎓 What is it for? — Van der Pauw / Hall

It measures the resistance of a small, irregularly shaped sample from four contacts placed on its edge, in different combinations. If a magnetic field is added on top (the Hall effect), the type, number, and mobility of the charge carriers inside it are also revealed. It is like watching objects floating in a river to figure out in which direction, at what speed, and at what density the water flows.

Physical background: In the van der Pauw method, the resistance is measured in two directions (Ra, Rb) from the four contacts on the edge of an arbitrarily shaped thin sample; when these are inserted into the van der Pauw relation, the sheet resistance (R_s), independent of the sample shape, is extracted. In the Hall measurement, under a magnetic field (B) the Lorentz force pushes the carriers to the side and a transverse Hall voltage (V_H) arises; the sign of V_H gives the carrier type (N/P), and its magnitude gives the carrier density. Combined with R_s, the mobility (µ) is found. That is why Ra≈Rb (high homogeneity) and a clear V_H sign are the first indicators of the measurement's reliability.

  • Why it is done: To determine the material's conductivity and the type/density/mobility of the carriers inside it together.
  • What it teaches / measures: R_s/ρ = sheet resistance/resistivity; carrier type = the sign of R_H (R_H<0 N-Type, >0 P-Type); n = 1/(|R_H|·q) = carrier density; µ = |R_H|/ρ = mobility; n_s = sheet carrier density; Homogeneity = the Ra≈Rb consistency check.
  • Typical values and their interpretation: homogeneity >95% (Ra≈Rb) is considered good; in films like IGZO µ ~1–20 cm²/Vs, in crystalline Si hundreds, in GaAs thousands of cm²/Vs; the carrier density varies between 10¹⁵–10²⁰ cm⁻³ depending on doping.
  • Common mistakes / cautions: entering the thickness (thickness_nm) wrong (the ρ and n scale is corrupted); neglecting the B calibration/duty value (R_H and µ shift); not noticing that the contacts are non-ohmic; ignoring that the VdP assumption breaks down when the homogeneity is ≪95%.
  • Where it is used: new semiconductor material research and doping verification.

Module: measure.vdp · Navigation: Van der Pauw / Hall

Van der Pauw / Hall measurement screen: config-based resistances and surface resistance map
Figure. Van der Pauw / Hall measurement screen — 8 contact configurations and an optional Hall measurement.

Purpose: Using the van der Pauw method, it measures the sheet resistance and resistivity of an arbitrarily shaped thin sample, and optionally, with a Hall measurement, the carrier type/density and mobility. It operates in single-SMU current-source mode; on a 16-relay switch matrix card, 8 contact configurations are selected in sequence.

What it measures: In each relay configuration a fixed current is driven and the voltage is read (R = V/I). 8 configs → Ra (first 4) and Rb (last 4). When Hall is on, 4 more configs each are measured in the +B/−B field.

ParameterUnitDescriptionDefault
source_currentADriven fixed current1e-3
voltage_limitVVoltage compliance5.0
thickness_nmnmFilm thickness (for resistivity/Hall)1000.0
magnetic_field_duty0..255Switch matrix PWM duty cycle (Hall)150
enable_hallWhether to perform the Hall measurement (+B/−B)True
per_point_delay_ssMeasurement delay after relay/current setting0.1
mock_inhomogeneous(Mock only) inhomogeneous film simulationFalse

Computed metrics:

MetricFormulaUnit
Ra / RbAverage of the relevant 4 configsΩ
Homogeneity(1 − |Ra−Rb|/avg)·100%
R_s (sheet resistance)R_s = (π/ln2)·((Ra+Rb)/2)Ω/sq
ρ (resistivity)ρ = R_s·tΩ·cm
V_H (Hall voltage)Average of (V₊−V₋)/2 of the matching +B/−B configsV
R_H (Hall coefficient)R_H = V_H·t / (I·B)m³/C
n (carrier dens.)n = 1/(|R_H|·q) (×1e-6 → cm⁻³)cm⁻³
Carrier typeR_H < 0 → N-Type, R_H > 0 → P-Type
µ (mobility)µ = |R_H|/ρ_SI · 1e4cm²/Vs
n_s (sheet carrier dens.)n_s = n·t·1e7cm⁻²

Magnetic field calibration: B = (duty/255)·0.023 T (duty=255 ≈ 23 mT).

ℹ️
Note The relay command sequences and magnetic field commands (e.g., 18F12F11F5F, +B<duty>) are specific to the user's 16-relay van der Pauw card and are preserved exactly. If the homogeneity is below 95%, a warning is issued.
📐 How is it calculated? — R_s, carrier density n, and mobility µ

Here, instead of a single plot slope, the resistances measured in different contact configurations and the Hall voltage are inserted into the van der Pauw relations (formula-based extraction).

  1. Step: the resistance averages in the two directions (Ra, Rb) are taken → R_s = (π/ln2)·((Ra+Rb)/2), resistivity ρ = R_s·t.
  2. Step: the Hall voltage V_H = (V₊−V₋)/2 is measured; the Hall coefficient R_H = V_H·t/(I·B) (its sign gives the carrier type: R_H<0 N-Type).
  3. Result: carrier density n = 1/(|R_H|·q), mobility µ = |R_H|/ρ.

Plot: VDP map (config-based resistances + surface resistance map).

Van der Pauw / Hall calculator: sheet resistance, carrier density, and mobility
Figure. Van der Pauw / Hall calculator — extraction of R_s, carrier type/density, and mobility.
ℹ️
Mock behavior Because in current-source mode the driver returns ~0 V, a synthetic physical voltage is generated: target R_s = 100 Ω/sq, negative Hall offset (RH<0 → N-Type). If mock_inhomogeneous=True, the resistance is varied across configs with contact weights (homogeneity <100%, a meaningful surface gradient).

C.3 Kelvin 4-Wire Resistance

🎓 What is it for? — Kelvin 4-Wire Resistance

This is the way to measure very small resistances accurately. The wires carrying the current and the wires reading the voltage are separated; this way the resistance of the cables and contacts is not added to the result. With an optional 2-wire measurement for comparison, you can extract the contact resistance on its own. It is like weighing the packaging separately and subtracting it to learn a package's net weight.

Physical background: The current-carrying (Force) and voltage-reading (Sense) wires are separate; because almost no current flows through the Sense wire, the IR drops across the cable/contact do not enter the measurement, and the V/I read gives the true device resistance. The 2-wire measurement, on the other hand, also includes the contact+cable resistance; the difference between the two measurements directly gives the contact resistance (R_contact). That is why the 4-wire curve comes out "steeper" (lower R) while the 2-wire curve is always either the same or flatter; the difference between them is a measure of contact quality.

  • Why it is done: To measure the true device/series resistance free of cable and contact effects.
  • What it teaches / measures: R_4wire = the true device/series resistance (excluding cable+contact); R_2wire = the total resistance (including contact); R_contact = R_2wire − R_4wire = the contact resistance on its own; V_F@1mA = a reference operating voltage.
  • Typical values and their interpretation: in a good ohmic contact R_contact ≪ R_device (mΩ–Ω); if R_contact approaches R_4wire, the contact is problematic; high NPLC suppresses noise in low-resistance measurements.
  • Common mistakes / cautions: connecting the Force/Sense terminals to the wrong point and rendering the 4-wire ineffective; measuring a low resistance at low NPLC and drowning it in noise; turning off the 2-wire comparison (compare_2wire) and never seeing R_contact.
  • Where it is used: characterization of low-resistance contacts/conductors and contact quality inspection.

Module: measure.kelvin · Navigation: Kelvin 4-Wire Resistance

Kelvin 4-wire resistance measurement screen: true series resistance with Force/Sense
Figure. Kelvin 4-wire resistance measurement screen — Force/Sense measurement that excludes the cable/contact resistance.

Purpose: With a 4-wire (Force/Sense) measurement it measures the true device/series resistance, excluding the cable and contact resistance. With an optional 2-wire comparison the contact resistance is extracted.

What it measures: The current against a voltage sweep; in each mode R = dV/dI.

ParameterUnitDescriptionDefault
voltage_start / voltage_stop / voltage_stepVI-V sweep-0.5 / 0.5 / 0.01
current_complianceACurrent limit0.1
nplcHigh NPLC for low-current sensitivity10.0
settling_time_ssSettling time0.1
sense_mode2wire / 4wire4wire
compare_2wireAlso perform a 2-wire comparison sweepTrue

Computed metrics:

MetricFormulaUnit
R_4wireSlope of the 4-wire V-I fit (true series resistance)Ω
R_2wire2-wire total resistanceΩ
R_contactR_2wire − R_4wireΩ
V_F@1mAThe voltage at 1 mA on the 4-wire curve (interp)V
Fit R² (4-wire)Linear fit quality
📐 How is it calculated? — R_4wire and contact resistance R_contact

A separate line is fitted to each of the 4-wire and (if present) 2-wire V–I sweeps; the difference between the resistances read from the two slopes gives the contact resistance.

  1. Step: the slope of the 4-wire V–I points → the true series resistance R_4wire = dV/dI (excluding cable/contact).
  2. Step: the slope of the 2-wire sweep → R_2wire (the total resistance including contact).
  3. Result: the contact resistance is the difference of the two measurements: R_contact = R_2wire − R_4wire.

Plot: R-I.

ℹ️
Mock behavior A purely resistive diode simulator: R_device=50 Ω; in 4-wire mode R_s=0, in 2-wire mode R_s=R_contact=5 Ω. On real hardware, model-dependent SCPI remote-sense commands are sent on a best-effort basis.

C.4 Probe Station I-V

🎓 What is it for? — Probe Station I-V

On a probe station, needle-tipped probes are brought into contact with the device's contact points; this mode selects two probes through the switch matrix and extracts the resistance by performing a simple voltage-current sweep. It is like touching the multimeter leads to two points on a circuit board and reading the resistance; here the software does the lead selection.

Physical background: The voltage is swept between two probes and the current is read; in an ohmic structure the I-V is a straight line through the origin, and its slope gives the conductance (G = dI/dV). Because this is a 2-wire measurement, the probe/contact resistance is included in the result. If the curve deviates from linearity (bending), it indicates that the contact or the device is not ohmic; this is a fast "is it working / is the contact good" check on a probe station.

  • Why it is done: To take a fast 2-wire resistance/conductance measurement on a micromanipulator probe station.
  • What it teaches / measures: R = the device's resistance; G = dI/dV = its conductance; linearity (R²) = an indicator of whether the contact/device is ohmic.
  • Typical values and their interpretation: R² ≈1 means clean ohmic behavior; low R² means curvature/contact problem; the measured R is the sum of the true device + probe/contact resistance.
  • Common mistakes / cautions: because it is 2-wire, mistaking the contact contribution for the true device resistance at small resistances (switch to Kelvin if needed); selecting the same probe as both Force HI and Force LO (validation error); hitting compliance and clipping the curve.
  • Where it is used: fast electrical checking of individual devices/structures on a wafer.

Module: measure.probe_iv · Navigation: Probe Station I-V

Probe station I-V measurement screen: 2-wire I-V sweep with the switch matrix
Figure. Probe station I-V measurement screen — 2-wire sweep with Force HI/LO selection on the switch matrix card.

Purpose: The switch matrix card selects 2 of 4 probes (Force HI / Force LO); the SMU performs a 2-wire I-V sweep in voltage-source mode and extracts the resistance. It is suitable for use with a micromanipulator probe station.

What it measures: The current against a voltage sweep; G = dI/dV, R = 1/G.

ParameterUnitDescriptionDefault
start_voltage / stop_voltage / step_voltageVI-V sweep0.0 / 1.0 / 0.01
current_complianceACurrent limit0.1
delay_ssPer-point wait0.1
force_hi_probe1..4Force HI probe1
force_lo_probe1..4Force LO probe2
⚠️
Warning Force HI and Force LO cannot be the same probe, and both must be in the range 1..4; otherwise a validation error is issued.

Computed metrics:

MetricFormulaUnit
G (conductance)I = slope·V + intercept; slope = dI/dVS
R (resistance)R = 1/GΩ
Slope / intercept / R²Linear fitA/V · A · —

Plot: I-V. The interface includes a visual panel showing the probe→pin map.

ℹ️
Mock behavior Deterministic ohmic resistance R = 1000 Ω (I = V/1000).

D. Reliability Modules

D.1 Bias Stress / Transient

🎓 What is it for? — Bias Stress / Transient

It applies a constant voltage/current to the device and monitors how its current "drifts" over time. In a good device the current should stay constant; if there is drift, the device fatigues. It is like holding a spring at a certain tension and observing whether it loosens over time.

Physical background: Under constant bias, charge is slowly trapped in the insulator/interface (and self-heating contributes); this causes the drain current to drift over time — generally a slow decrease or increase. The shape of the I_DS(t) curve reflects the trapping kinetics: in a stable device the line stays flat, and the larger and more sustained the drift, the more unstable the device. This is the raw appearance of the threshold shift over time.

  • Why it is done: To see how stable the device remains under continuous operation.
  • What it teaches / measures: The magnitude and direction of I_DS(t) drift = a measure of stability; in current mode the shift in the required voltage indirectly implies the threshold shift.
  • Typical values and their interpretation: a drift below a few % over the test duration is considered stable; a shift of tens of % is a sign of significant trapping/degradation.
  • Common mistakes / cautions: keeping the test duration (total_duration_s) too short relative to the trap time constants and missing the drift; leaving the sampling interval coarser than necessary; not supporting it with a pulsed measurement to separate self-heating from trapping.
  • Where it is used: basic reliability/stability screening and fast elimination tests.

Module: measure.bias_stress · Navigation: Bias Stress / Transient

Bias stress / transient measurement screen: I_DS(t) drift record under constant bias
Figure. Bias stress / transient measurement screen — drain current drift under constant bias.

Purpose: It records the drift of the drain current over time under a constant bias (voltage or current). It is a basic reliability/stability test.

What it measures: The I_DS(t) and I_GS(t) time series at fixed intervals.

ParameterUnitDescriptionDefault
source_modeVoltage Bias / Current BiasVoltage Bias
fixed_vds / fixed_vgsVFixed drain/gate voltages1.0 / 0.0
drain_current_setA(In current mode) fixed drain current1e-6
total_duration_ssTotal stress duration60.0
sample_interval_ssSampling interval1.0
plot_quantityQuantity to be plottedDrain Current

Plot: Id-t.

ℹ️
Mock behavior The time series is simulated under constant bias; if compliance is seen, the measurement stops.

D.2 Bias Stress (Enhanced)

🎓 What is it for? — Bias Stress (Enhanced)

This is the "diagnostic" version of the previous test: while stress is ongoing, it takes fast I-V snapshots at certain intervals, extracts the threshold from each, and models the threshold shift against time to predict when the device will "fail." It is like regularly measuring a tire's wear and computing after how many km it will be worn out.

Physical background: Under stress, the threshold voltage shifts in a power-law (or stretched-exponential) form of time as the traps fill. Periodic I-V snapshots track V_th(t); the ΔV_th(t)=A·t^p curve is fitted and extrapolated to a failure criterion (vth_fail) to predict the mean time to failure (MTTF). The exponent p implies the trapping mechanism (diffusion- or capture-limited); that is why it is not a single snapshot but the trend of the snapshot sequence over time that is meaningful.

  • Why it is done: To model the time course of the threshold shift and predict the device's lifetime.
  • What it teaches / measures: ΔV_th(t) = the threshold shift trajectory; p = the stress exponent (mechanism indicator); A = the shift coefficient; MTTF = lifetime/time-to-failure prediction; drift rate = the V_th–log₁₀(t) slope (V/decade).
  • Typical values and their interpretation: p ~0.2–0.6 is typical for trapping-limited processes (p=0.5 in mock); the larger MTTF is, the more durable; the more slowly |ΔV_th| reaches the failure threshold (e.g., 0.1 V), the more stable the device.
  • Common mistakes / cautions: expecting the activation energy E_a at a single temperature (it is extracted only with multi-temperature stress, returns N/A at a single T); doing the fit in log-log and inflating the small-t noise (it must be fitted in linear space); over-extrapolating a long-term MTTF from too short a total stress.
  • Where it is used: lifetime/reliability qualification and process improvement comparisons.

Module: measure.bias_stress_enh · Navigation: Bias Stress (Enhanced)

Enhanced bias stress measurement screen: periodic I-V snapshots and V_th(t) tracking
Figure. Enhanced bias stress measurement screen — MTTF extrapolation from a power-law fit to the threshold shift.

Purpose: While stress is being applied, it takes fast I-V snapshots at certain intervals; from each snapshot it extracts V_th(t), n(t), I0(t). A power law is fitted to the threshold shift and the time to failure (MTTF) is extrapolated.

What it measures: A sequence of I-V snapshots against time; V_th/n/I0 from each.

ParameterUnitDescriptionDefault
stress_voltageVApplied stress voltage2.0
snapshot_v_min / snapshot_v_max / snapshot_v_stepVSnapshot I-V range-1.0 / 1.0 / 0.02
meas_interval_ssSnapshot interval60.0
total_stress_ssTotal stress duration3600.0
vth_fail_vVMTTF failure criterion (ΔV_th)0.1
fit_v_min / fit_v_maxVIdeality fit range0.10 / 0.40
current_complianceACurrent limit1e-2

Computed metrics:

MetricFormulaUnit
ΔV_th,totalAccording to the power-law model A·t_final^pV
p (stress exponent)From the ΔV_th(t) = A·t^p power-law fit
MTTFMTTF = (vth_fail/A)^(1/p)s
Drift rateThe V_th–log₁₀(t) slopeV/decade
A (coefficient), Fit R²Power-law fit parametersV/s^p · —
ℹ️
Note The activation energy E_a can be extracted only with multi-temperature stress; at a single temperature it returns N/A (with a warning note). The power-law fit is done in linear space (log-log over-amplifies the small-t noise).

Plot: Id-t and Vth-t.

ℹ️
Mock behavior V_th shifts over time as 0.01·√(t/60) V (p=0.5 power law); the long real wait is skipped, and a logical time grid is used.

D.3 Endurance — SET/RESET Cycling

🎓 What is it for? — Endurance (SET/RESET Cycling)

Resistive-switching memories (RRAM/memristor) store information by toggling between two states, "low resistance" and "high resistance." This test makes the device write-erase thousands of times and monitors how long the two states stay distinct from each other. It is like switching a light switch on and off thousands of times and counting when it starts to stick.

Physical background: A resistive-switching memory forms a conductive filament inside with a SET pulse and goes to low resistance (LRS), then breaks the filament with a RESET pulse and goes to high resistance (HRS); after each write, a small read resistance that does not disturb the state is measured. Over many cycles, when the filament fatigues, the two states approach each other (the R_HRS/R_LRS window closes) and an endurance failure occurs. On the semi-log plot, LRS and HRS draw two separate plateaus at first; the cycle where these plateaus begin to approach each other signals the end of life.

  • Why it is done: To measure how many write-erase cycles the memory withstands and when it degrades.
  • What it teaches / measures: R_LRS / R_HRS = the low/high resistance states; window ratio = R_HRS/R_LRS = the readability margin of the two states; first-failure cycle = the cycle where the window drops below the threshold (the endurance limit).
  • Typical values and their interpretation: a window ≳10 is comfortably read (in mock LRS ~1.5 kΩ, HRS ~5 MΩ → a very wide window); when the window drops below failure_window_ratio (e.g., 5) it is counted as a "failure"; a good RRAM can withstand 10⁶–10⁹ cycles.
  • Common mistakes / cautions: choosing the read voltage (read_voltage_v) too high and disturbing the state while reading it (read-disturb); setting the SET/RESET compliance wrong and over/under-forming the filament; overlooking that the window must be evaluated by the R_HRS/R_LRS ratio rather than absolute resistance.
  • Where it is used: new memory/synaptic device research and endurance qualification.

Module: measure.endurance · Navigation: Endurance (SET/RESET Cycling)

Endurance measurement screen: R_LRS / R_HRS semi-log plot against cycle
Figure. Endurance (SET/RESET cycling) measurement screen — resistive-switching memory endurance test.

Purpose: An endurance test for resistive-switching memory (RRAM / memristor / synaptic transistor). In each cycle a SET and a RESET write pulse are applied to the drain; after each write, the resistance is read with a small read pulse that does not disturb the state. The gate is held fixed (gate-tunable: a different V_G shifts the switching window).

What it measures: Two resistance readings per cycle — after SET → R_LRS (low resistance state), after RESET → R_HRS (high resistance state). R = |V/I|.

ParameterUnitDescriptionDefault
n_cyclesTotal number of cycles100
set_voltage_v / reset_voltage_vVSET / RESET write pulses2.0 / -2.0
write_pulse_width_ssWrite pulse duration0.2
read_voltage_vVRead pulse (small voltage that does not disturb the state)0.2
read_pulse_width_ssRead settling/pulse duration0.01
read_samplesSamples per read (average)5
gate_voltage_vVFixed gate bias (gate-tunable)0.0
inter_pulse_delay_ssAdditional delay between pulses0.0
failure_window_ratio"Failure" when HRS/LRS drops below this ratio5.0
current_complianceADrain/gate current limit1e-2

Computed metrics:

MetricFormulaUnit
R_LRS / R_HRS (first & last)After SET/RESET R = |V/I|Ω
Window ratiowindow = R_HRS/R_LRS (first/last/minimum)
First-failure cycleThe first cycle where the window drops below failure_window_ratio
Completed cyclesNumber of cycles collected

Plot: R-cycle (semi-log; R_LRS / R_HRS against cycle).

Endurance analysis: LRS/HRS plateaus and window ratio
Figure. Endurance analysis — stable LRS/HRS plateaus, window ratio, and first-failure cycle.
ℹ️
Mock behavior Stable LRS (~1.5 kΩ) and HRS (~5 MΩ) plateaus + small deterministic cyclic noise are synthesized; the real pulse waits are skipped.

E. Temperature and Mapping Modules

E.1 Temperature-Dependent I-V (T-IV)

🎓 What is it for? — Temperature-Dependent I-V (T-IV)

It repeats the same I-V measurement at a series of different temperatures. Since the behavior of semiconductors changes with temperature, by tracking this change we can extract the physical mechanisms inside the device (barriers, activation energy). It is like trying a recipe at different oven temperatures and extracting the rule behind the baking.

Physical background: The thermionic emission current depends very strongly on temperature (I0 ∝ T²·exp(−qΦ_B/kT)). Taking I-V at several temperatures and plotting the Richardson plot (ln(I0/T²) against 1/T) gives the barrier height (Φ_B) from the slope and the effective Richardson constant (A**) from the intercept. The activation energy (E_a) is extracted from the ln(I0)–1/T slope. The regular opening of the color-coded I-V family with temperature (more current at higher T) and the Richardson plot being a straight line confirm that the conduction mechanism is genuinely thermionic emission.

  • Why it is done: To extract fundamental physical quantities from the temperature dependence of conduction and to verify the conduction mechanism.
  • What it teaches / measures: Φ_B = the temperature-independent "true" barrier height; A** = the effective Richardson constant (a material/interface fingerprint); E_a = activation energy; dn/dT = the temperature trend of the ideality (a sign of barrier inhomogeneity).
  • Typical values and their interpretation: for Si Schottky Φ_B ~0.6–0.85 eV; the theoretical A** for Si is ~110–120 A/cm²K² (deviation points to inhomogeneity); n increasing as the temperature drops (dn/dT<0) is the classic sign of barrier inhomogeneity.
  • Common mistakes / cautions: choosing too narrow a T range and weakening the Richardson fit; measuring before the setpoint is truly reached (insufficient t_settle_time_s / t_tolerance_k); leaving the same fit range at every T and entering the bent region; forgetting that A** and Φ_B are sensitive to the active area.
  • Where it is used: conduction mechanism research and the device's reliability over a temperature range.

Module: measure.tiv · Navigation: Temperature-Dependent I-V

Temperature-dependent I-V measurement screen: temperature color-coded I-V family
Figure. Temperature-dependent I-V (T-IV) measurement screen — a full I-V sweep at each temperature and Richardson analysis.

Purpose: Over a series of temperature setpoints, it takes a complete (Schottky) I-V sweep at each temperature; from each curve it extracts n(T), I0(T), Φ_B(T), R_s(T) and, from the Richardson plot, finds the aggregate barrier height and the effective Richardson constant (A**). Temperature control is done through an abstract TemperatureController (Phase 1: Simulated/Mock; Lakeshore 331/335/340 are supported).

What it measures: A temperature color-coded I-V family; temperature-resolved parameters.

ParameterUnitDescriptionDefault
voltage_start / voltage_stop / voltage_stepVThe I-V sweep at each T-1.0 / 1.0 / 0.05
current_complianceACurrent limit1e-2
t_start_k / t_stop_k / t_step_kKTemperature sweep250 / 400 / 25
t_settle_time_ssMax stabilization after setpoint30.0
t_tolerance_kKTolerance for reaching the setpoint2.0
t_controller_typeSimulated / Lakeshore 331/335/340Simulated
t_controller_resourceVISA resourceGPIB0::2::INSTR
A_richardsonA/cm²K²Richardson constant110.0
device_area_um2µm²Active area10000.0

Computed metrics:

MetricFormulaUnit
Φ_B (Richardson)ln(I0/T²) = ln(A**·Area) − (qΦ_B/k)·(1/T)Φ_B = −slope·k·1000/qeV
A** (effective Richardson)A** = exp(intercept)/AreaA/cm²K²
E_a (activation energy)From the slope of ln(I0) vs 1000/TeV
dn/dTLinear slope of n(T)1/K
Temperature-resolved seriesn(T), I0(T), Φ_B(T), R_s(T)

Plot: I-V per T (temperature color-coded curve family).

ℹ️
Mock behavior A physically consistent curve is generated for each T: I0(T) = A**·T²·Area·exp(−qΦ_B/kT), Φ_B = 0.72 eV, n(T) = 1.5 + 200/T; thus the Richardson analysis recovers Φ_B=0.72 and A**. The real waits are skipped.

E.2 Device / Wafer Map

🎓 What is it for? — Device / Wafer Map

It repeats the same measurement at many positions on a wafer and plots the results as a colored map. This way you can see at a glance whether the production is of the same quality everywhere on the wafer. It is like taking soil samples from different corners of a field and producing a fertility map.

Physical background: At each position the selected base measurement is run and the distribution of the resulting parameter across the surface is plotted. The variation in the distribution reflects the non-uniformity of the production process (coating thickness, doping, annealing gradients); the heat map makes center-edge or systematic trends visible. Uniformity is quantified by std/mean (small = more uniform). This is not a device-physics measurement but the spatial statistics of many individual measurements.

  • Why it is done: To evaluate how uniform the production is across the surface.
  • What it teaches / measures: Parameter distribution (mean/std/min/max); uniformity = std/mean = a measure of uniformity; spatial gradient pattern (center-edge, etc.).
  • Typical values and their interpretation: in a mature process a uniformity of a few % (std/mean ≪0.1) is considered good; a large std/mean or a strong edge gradient points to a process problem.
  • Common mistakes / cautions: missing the true gradient with too sparse a grid; mistaking a single outlier (a poorly contacted position) for a process variation; wrong probe placement in the assisted mode; not ensuring that the base_measurement runs under the same conditions at every position.
  • Where it is used: production/process quality control and process uniformity analysis.

Module: measure.device_map · Navigation: Device / Wafer Map

Device / wafer map measurement screen: a 2D heat map per parameter
Figure. Device / wafer map measurement screen — spatial uniformity assessment over a grid.

Purpose: Over a grid (x,y), it runs the selected base measurement at each position and extracts the selected parameters; it produces a 2D heat map and a uniformity statistic per parameter. It is used to evaluate spatial uniformity over a wafer/sample.

What it measures: At each (x,y) position, the parameters derived from the base_measurement (e.g., V_th, n, I0, R_s, Φ_B).

ParameterUnitDescriptionDefault
base_measurementThe base measurement run per positionSchottky I-V
x_positions_mm / y_positions_mmmm (list)Grid positions[0,5,10,15,20]
map_params— (list)Parameters to be mapped[V_th, n, I_0, R_s, Phi_B]
inter_device_delay_ssDelay between positions in automatic mode2.0
assistedAssisted mode (confirmation at each position)False

Two operating modes: Automatic (sequential, with inter_device_delay) and Assisted (before each position the user positions the probe/stage and says "Measure this position"; the GUI continues via a gate/Event).

Computed metrics: Per parameter, mean, std, min, max and uniformity = std/mean. The output returns a grids[param][iy][ix] grid and a statistics block per parameter.

Plot: Map grid (2D heat map).

ℹ️
Mock behavior Each parameter is synthesized with spatial variation: param(x,y) = nominal·(1 + 0.05·G(x,y) + small noise), where G(x,y) is a normalized Gaussian profile peaking at the grid center (realistic center-edge uniformity). On real hardware the base_measurement is run at each position.

Summary: Module → Plot → Metric Mapping

Module (id)NavigationPlotMain metrics
measure.ivOutput — Vds–VgsId-VdR_on, r_o, λ, µ_sat
measure.transferTransferId-Vg lin/log, gm-VgV_th, µFE, SS, I_on/I_off, ΔV_th
measure.pulsed_ivPulsed I-VId-t(self-heating transient)
measure.qpulsedQ-Pulsed I-VId-tΔV_th, N_t
measure.hw_sweepHardware Vds–VgsId-Vd(fast list sweep)
measure.hw_tft_sweepHardware TFT I-VId-Vg(fast transfer)
measure.diodeDiode I-VI-V lin/logn, I0, V_on, R_s
measure.schottkySchottky I-VI-V logΦ_B, n, R_s, J0
measure.rev_recoveryReverse RecoveryI-tt_rr, I_rr, Q_rr, τ
measure.four_pointFour-PointR readingsR_s, ρ, σ
measure.vdpVan der Pauw / HallVDP mapR_s, µ, n, n_s
measure.kelvinKelvin 4-WireR-IR_4wire, R_contact
measure.probe_ivProbe Station I-VI-VR, G
measure.bias_stressBias Stress / TransientId-t(drift)
measure.bias_stress_enhBias Stress (Enhanced)Id-t, Vth-tΔV_th, p, MTTF
measure.enduranceEnduranceR-cycleR_LRS, R_HRS, window, failure cycle
measure.tivTemperature-Dependent I-VI-V per TΦ_B, A**, E_a
measure.device_mapDevice / Wafer MapMap gridregional statistics
Tip The outputs of all modules can be reopened in the Analysis workspace; by importing the raw CSV files you can recompute the same metrics or re-evaluate them with different fit ranges.
Analysis workspace: raw CSV import and metric recomputation
Figure. Analysis workspace — reopening saved measurements, importing, and re-evaluating with different fit ranges.