Table of Contents

Class Parametric

Namespace
CsraTestMethods.Continuity
Assembly
CsraTestMethods.dll
[TestClass(Creation.TestInstance)]
[Serializable]
public class Parametric : TestCodeBase

Overview

TestClass for all digital continuity related TestMethods.

Platform Specifics

Uses per test-instance test class object persistence ([TestClass(Creation.TestInstance)] attribute).

Inheritance
TestCodeBase
Parametric
Inherited Members
TestCodeBase.AbortTest()
TestCodeBase.DebugBreak()
TestCodeBase.TheExec
TestCodeBase.TheHdw
TestCodeBase.TheProgram
TestCodeBase.FlowDomains
TestCodeBase.ShouldRunPreBody
TestCodeBase.ShouldRunBody
TestCodeBase.ShouldRunPostBody

Methods

Parallel(PinList, double, double, double, double, string)

Checks if the tester resources have electrical contact with DUT and if any pin is short-circuited with another signal pin or power supply. The measurement is done parallel, all at once.

[TestMethod]
[Steppable]
[CustomValidation]
public void Parallel(PinList pinList, double current, double clampVoltage, double voltageRange, double waitTime, string setup = "")

Parameters

pinList PinList

List of pin or pin group names.

current double

The current to force.

clampVoltage double

The value to clamp for force pin.

voltageRange double

The voltage range for measurement.

waitTime double

The wait time after forcing.

setup string

Optional. The name of the setup set to be applied through the setup service.

Details

Test Technique
  • to be added
Implementation

The PreBody section applies levels and timing from the test instance context. Optionally, applies the specified config. For all pins specified in the pinList it disconnects any pin electronics, connects the dc path and turns on the gate.

The Body section applies a force current condition on all pins and performs a voltage measurement on all pins in parallel after the specified waitTime.

The PostBody section restores the pin electronics connection for digital pins after gating off and disconnecting the dc path. Finally, a parametric datalog is logged.

Platform Specifics

Supports stepping capability for PreBody/Body/PostBody.

Pre Conditions
  • none
Post Conditions
  • digital pins in pinList have pin electronics connected
  • any dc paths from pins in pinList are disconnected
Limitations
  • support for non-uniform (mixed) instrument types in pinList not yet available
Code Reference
[TestMethod, Steppable, CustomValidation]
public void Parallel(PinList pinList, double current, double clampVoltage, double voltageRange, double waitTime, string setup = "") {

    if (TheExec.Flow.IsValidating) {
        TheLib.Validate.Pins(pinList, nameof(pinList), out _pins);
        TheLib.Validate.InRange(waitTime, 0, 600, nameof(waitTime));
        _containsDigitalPins = _pins.ContainsFeature(InstrumentFeature.Digital);
    }

    if (ShouldRunPreBody) {
        TheLib.Setup.LevelsAndTiming.Apply(true);
        Services.Setup.Apply(setup);
        if (_containsDigitalPins) TheLib.Setup.Digital.Disconnect(_pins);
        TheLib.Setup.Dc.Connect(_pins);
    }

    if (ShouldRunBody) {
        TheLib.Setup.Dc.SetForceAndMeter(_pins, DcOutputMode.ForceCurrent, current, current, clampVoltage, DcMeterMode.Voltage, voltageRange);
        TheLib.Execute.Wait(waitTime);
        _meas = TheLib.Acquire.Dc.Measure(_pins);
    }

    if (ShouldRunPostBody) {
        TheLib.Setup.Dc.Disconnect(_pins);
        if (_containsDigitalPins) TheLib.Setup.Digital.Connect(_pins);
        TheLib.Datalog.TestParametric(_meas, current, "A");
    }
}

Serial(PinList, double, double, double, double, string)

Checks if the tester resources have electrical contact with DUT and if any pin is short-circuited with another signal pin or power supply. The measurement is done serially, one at a time.

[TestMethod]
[Steppable]
[CustomValidation]
public void Serial(PinList pinList, double current, double clampVoltage, double voltageRange, double waitTime, string setup = "")

Parameters

pinList PinList

List of pin or pin group names.

current double

The current to force.

clampVoltage double

The value to clamp for force pin.

voltageRange double

The voltage range for measurement.

waitTime double

The wait time after forcing.

setup string

Optional. The name of the setup set to be applied through the setup service.

Details

The PreBody section applies levels and timing from the test instance context. Optionally, applies the specified config. For all pins specified in the pinList it disconnects any pin electronics, connects the dc path.

The Body section applies a force 0V condition on all pins, then sequentially—for each pin—applies a force current condition, performs a voltage measurement after the specified waitTime, and resets the pin to force 0V.

The PostBody section restores the pin electronics connection for digital pins after gating off and disconnecting the dc path. Finally, a parametric datalog is logged.

UltraFLEXplus, UltraFLEX

Supports stepping capability for PreBody/Body/PostBody.

Pre Conditions
  • none
Post Conditions
  • digital pins in pinList have pin electronics connected
  • any dc paths from pins in pinList are disconnected
Implementation
[TestMethod, Steppable, CustomValidation]
public void Serial(PinList pinList, double current, double clampVoltage, double voltageRange, double waitTime, string setup = "") {

    if (TheExec.Flow.IsValidating) {
        TheLib.Validate.Pins(pinList, nameof(pinList), out _pins);
        _pinSteps = _pins.Select(pin => new Pins(pin)).ToArray();
        _containsDigitalPins = _pins.ContainsFeature(InstrumentFeature.Digital);
    }

    if (ShouldRunPreBody) {
        TheLib.Setup.LevelsAndTiming.Apply(true);
        Services.Setup.Apply(setup);
        if (_containsDigitalPins) TheLib.Setup.Digital.Disconnect(_pins);
        TheLib.Setup.Dc.Connect(_pins);
    }

    if (ShouldRunBody) {
        _meas = new();
        TheLib.Setup.Dc.ForceV(_pins, 0, outputModeVoltage: true);
        foreach (var pin in _pinSteps) {
            TheLib.Setup.Dc.SetForceAndMeter(pin, DcOutputMode.ForceCurrent, current, current, clampVoltage, DcMeterMode.Voltage, voltageRange, false);
            TheLib.Execute.Wait(waitTime);
            _meas.Add(TheLib.Acquire.Dc.Measure(pin).First());
            TheLib.Setup.Dc.ForceV(pin, 0, outputModeVoltage: true, gateOn: false);
        }
    }

    if (ShouldRunPostBody) {
        TheLib.Setup.Dc.Disconnect(_pins);
        if (_containsDigitalPins) TheLib.Setup.Digital.Connect(_pins);
        TheLib.Datalog.TestParametric(_meas, current, "A");
    }
}
Limitations
  • support for non-uniform (mixed) instrument types in pinList not yet available