Class CommonSteps
- Assembly
- NationalInstruments.SemiconductorTestLibrary.TestStandSteps.dll
Defines entry points for semiconductor common steps.
public static class CommonSteps
- Inheritance
-
CommonSteps
- Inherited Members
Methods
- AcquireAnalogInputWaveforms(ISemiconductorModuleContext, string[], int)
Acquires an analog waveform for each of the specified pins and pin groups. This step performs a simple acquisition of an analog signal, computes the minimums and maximums of the acquired waveforms, and then publishes the results. Only pins mapped to an analog input channel of a NI-DAQmx instrument are supported.
- BurstPattern(ISemiconductorModuleContext, string[], string)
Bursts a pattern and publishes the pass/fail results as well as the fail count.
- ContinuityTest(ISemiconductorModuleContext, string[], double[], string[], double[], double[], double[], double, double)
Performs a basic continuity test. It serially checks either upper or lower protection diodes DUT pins, regardless of if they are mapped to digital or SMU instruments. The test will first set 0V on all the pins and then source a small amount of current on the targeted continuity pins to validate the voltage drop across the protection diode. After current is applied, the targeted pin(s) will be forced back to 0V before continuing on to the next pin. Note that each continuity pin will be tested one pin at a time. Pins mapped to either an NI SMU or NI PPMU(s) instrument channel are supported.
- DutPowerDown(ISemiconductorModuleContext, string[], double, bool, bool)
Forces DC voltage to Zero on the specified DUT supply pins. If the
powerDownSuppliesSerially
Boolean is set to True, the DUT supplies will be powered down sequentially in the order provided, and thesettlingTime
input will be used after power down each pin. IfforceLowestCurrentLimit
is set to false, thedutSupplyPinsOrPinGroups
will be configured to force 0V at the currently programmed current limit and range, which may not be desirable. Otherwise, it will default to true, which will ensure the pins are configured to force 0V at the lowest possible current limit to mimic high-impedance. The actual current limit selected is dependent on the mapped hardware channel. Both DCPower and Digital PPMU pins are supported.
- DutPowerUp(ISemiconductorModuleContext, string[], double[], double[], double, bool)
Forces DC voltage on the specified DUT supply pins. Must provide voltages and current limit values for each of the DUT supply pins. If the
powerUpSuppliesSerially
Boolean is set to True, the DUT supplies will be powered up sequentially in the order provided, and thesettlingTime
input will be used after power up each pin. Both DCPower and Digital PPMU pins are supported.
- ForceCurrentMeasureVoltage(ISemiconductorModuleContext, string[], double, double, double, double)
Forces the specified DC current on all pins and/or pin groups specified, waits the specified amount of settling time, and then measures the voltage on those pins and publishes the results to TestStand. Note that the voltage measurements are published separately for each pin, regardless of if a pin group is provided, using the following Published Data Id: Voltage. Both DCPower and Digital PPMU pins are supported. Both the settlingTime and apertureTime inputs are expected to be provided in Seconds. By default the apertureTime input is set to -1, which will cause this input to be ignored and the device will use any pre-configured aperture time set by a proceeding set, such as the Setup NI-DCPower Instrumentation step. The absolute value of voltage limit will be applied symmetrically (i.e if voltageLimit = 1, the output voltage will be limited between -1V and +1V). An exception will be thrown if the specified limit value is outside the high-end of the voltage limit range for any of the mapped instruments. For Digital PPMU pins, since the voltage range of the digital pattern instruments is typically not symmetrically (i.e. -2V to 6V), the low-end of the applied voltage limit will be coerced to within range (i.e if voltageLimit = 3, the output voltage will be limited between -2V and +3V).
- ForceDcCurrent(ISemiconductorModuleContext, string[], double, double, double)
Forces the specified DC current on all pins and/or pin groups specified. Both DCPower and Digital PPMU pins are supported. If a value is provided to the settlingTimeInSeconds input, the method will wait the specified amount of settling time before continuing. The absolute value of voltage limit will be applied symmetrically (i.e if voltageLimit = 1, the output voltage will be limited between -1V and +1V). An exception will be thrown if the specified limit value is outside the high-end of the voltage limit range for any of the mapped instruments. For Digital PPMU pins, since the voltage range of the digital pattern instruments is typically not symmetrically (i.e. -2V to 6V), the low-end of the applied voltage limit will be coerced to within range (i.e if voltageLimit = 3, the output voltage will be limited between -2V and +3V).
- ForceDcVoltage(ISemiconductorModuleContext, string[], double, double, double)
Forces the specified DC voltage on all pins and/or pin groups specified. Both DCPower and Digital PPMU pins are supported. If a value is provided to the settlingTimeInSeconds input, the method will wait the specified amount of settling time before continuing.
- ForceVoltageMeasureCurrent(ISemiconductorModuleContext, string[], double, double, double, double)
Forces the specified DC voltage on all pins and/or pin groups specified, waits the specified amount of settling time, and then measures the current on those pins and publishes the results to TestStand. Both DCPower and Digital PPMU pins are supported. Both the
settlingTime
andapertureTime
inputs are expected to be provided in Seconds. By default theapertureTime
input is set to -1, which will cause this input to be ignored and the device will use any pre-configured aperture time set by a proceeding set, such as the Setup NI-DCPower Instrumentation step.
- LeakageTest(ISemiconductorModuleContext, string[], double, double, double, double, bool)
Performs a single leakage measurement using the following test method:
- The test first configures the instruments connected to the specified pins and ensures they are forcing 0V.
- The specified voltage is then forced on each pin.
- After the specified settling time, the current is measured on each pin.
- Each pin is then configured back to forcing 0V.
- Finally, the output on each pin is disabled. Pins mapped to either an NI SMU or NI PPMU(s) instrument channel are supported. By default, steps 2-4 are preformed in parallel, across all pins simultaneously. When the serialOperationEnabled Boolean input parameter is set to true, steps 2-4 are preformed serially, for each pin or pin group, one at a time. Pins within pin groups are always operated on in parallel. The following Published Data Id is used for test results on a per-pin basis: Leakage. Note that the leakage current measurements are published separately for each pin, regardless of if a pin group is provided. Each test evaluation defined in the Test tab of the calling TestStand step must specify a pin. To perform the leakage test on some DUT pins in parallel but not others, use the serialOperationEnabled Boolean input parameter and define separate pin groups (i.e. LeakageOddPins and LeakageEvenPins).