:LTESt Subsystem

The Limit Test (LTESt) subsystem controls the following four types of limit testing:

  • Acquisitions (:LTESt:ACQuire)
  • Limit lines (:LTESt:LLINe)
  • Measurements (:LTESt:MEASure)
  • Mask tests (:LTESt:MTESt)

Limit testing automatically compares limit test results with pass or fail limits and can be configured to report the results. For example, upon completion a limit test can be configured to report (save) waveform and screen image files. A limited set of single-valued waveform file type are available for saving waveforms. If you need to save a waveform to a different file type, use the commands in the :WAVeform Subsystem subsystem after the limit test completes. For example, to save a Color Grade-Gray Scale file (.csgx or .csv), use the :WAVeform:CGRade:ASCii:DATA? query.

The Limit Test (LTESt) subsystem configures tests that compares test results with pass or fail limits. As shown in the following table, there are four types of limit testing:

Three Limit Test Types
Limit Test Type Command to Enable Testing Comments
Acquisition :LTESt:ACQuire:STATe Starts a limit test that runs until a set number of waveforms, samples, or patterns have been acquired. Once the limit is reached, waveforms and screen images can automatically be saved.
Limit Lines :LTESt:LLINe:TEST{N}:STATe Starts a limit test on limit lines that runs until the first passed or failed data point occurs. Once the condition is met, a summary, waveforms, and screen images can automatically be saved.
Measurements :LTESt:MEASure:MLIMit:STATe Starts up to 16 Individual limit tests on any combination of oscilloscope, eye, eye mask (individual). Once the limit is reached for a measurement, summary, waveforms, and screen images can automatically be saved.
Eye Mask Test :LTESt:MTESt:MRESult{N}:STATe Starts a single eye mask limit test for total mask failures across all mask regions. Once the limit is reached, waveforms and screen images can automatically be saved. To run a limit test for a specific region of a mask, use a measurement limit test.

For each of these four types of limit tests, you can select to save the test results using the following child commands:

  • Use :SWAVeform child commands to save a waveform of the test results to a file or memory.
  • Use :SIMage child commands to save a screen image file of the test results.
  • Use :SSUMmary child commands to save a summary file of the test results. Summary files are available only for limit line limit tests.

Creating an Acquisition Limit Test

The following example shows how to create an acquisition limit test that runs until 100 waveforms have been acquired.

:ACQuire:SINGle  //  Stop waveform acquisition.
:LTESt:ACQuire:CTYPe WAVeforms  //  Create test based on acquisition to waveforms.
:LTESt:ACQuire:CTYPe:WAVeforms 100  //  Stop test after 100 waveforms acquired.
:LTESt:ACQuire:SWAVeform:CHANnel2:STATe MEMory  //  Save channel 2 to waveform memory.
:LTESt:ACQuire:SWAVeform:CHANnel2:WMEMory WMEMory2  //  Select waveform memory 2.
:LTESt:ACQuire:SIMage:STATe ON  //  Save screen image.
:LTESt:ACQuire:SIMage:INVert ON  //  Invert colors on  screen image.
:LTESt:ACQuire:SIMage:WINDow TIME1  //  Capture only waveform instead of entire display.
:LTESt:ACQuire:SIMage:FNAMe "C:\Users\me\Documents\Keysight\Infiniium\Screen Images\my test.jpg"  //  Create this image file.
:LTESt:ACQuire:STATe ON  //  Turn limit test on.

:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  //  Wait for test completion.

Creating an Limit-Line Limit Test

The following example shows how to create an limit-line limit test that runs until a failed data point occurs.

:ACQuire:SINGle  //  Stop waveform acquisition.
                //  Load and display limit line.
:LLINe2:LOAD:FNAMe "%USER_DATA_DIR%\Limit Lines\DUT Input.lltx"
:LLINe2:SOURce CHANnel2
:LLINe2:DISPlay ON

//  Configure save-waveform reporting action
:LTESt:LLINe:SWAVeform:RESet  //  Save connection 5 channel 2 to waveform memory.
                //  Configure summary reporting action
:LTESt:LLINe:SSUMmary:FNAMe "%USER_DATA_DIR%\Limit Summaries\LimitLineTest.sum"  //  File Name.
:LTESt:LLINe:SSUMmary:STATe ON

//  Configure screen-image reporting action
:LTESt:LLINe:SIMage:STATe ON  //  Save screen image.
:LTESt:LLINe:SIMage:INVert ON  //  Invert colors on  screen image.
:LTESt:LLINe:SIMage:WINDow TIME1  //  Capture only waveform instead of entire display.
:LTESt:LLINe:SIMage:FNAMe "%USER_DATA_DIR%\Screen Images\my test.jpg"  //  Create this image file.
                //  Run test
:LTESt:LLINe:TEST2:MODE SOFailure  //  Test until first failure.
:LTESt:LLINe:TEST2:STATe ON  //  Turn limit test on.
:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  //  Wait for test completion.
            

Creating a Measurement Limit Test

You can create up to 16 separate measurement limit tests, one for each measurement. The test sets the number of failures required to stop testing on one of the following sources:

  • Eye diagram measurement
  • Mask measurement limit test
  • Oscilloscope measurement limit test

When defining a measurement limit test, first select the type of measurement results table (for example, eye measurements) and then identify the measurement using an index. The index identifies the measurement in the active measurement list, which is shown in the displayed results table. Results tables can list up to 32 measurements, so the index can range from 1 to 32. The active measurement list is indexed starting at 1. As a result, the first (top most) measurement in the list is identified as 1, the second measurement from the top is identified as 2, and so forth. Because new measurements are added to the list's top, the index is numbered in the reverse order in which the measurement were turned on.

After defining one or more limit tests, if you start an additional measurement, the location index for all measurements change. You must anticipate this change if you plan to make any further changes to your measurement limit tests.

For measurements on mask regions, use the following table to identify the index, which can range from 1 to 64. Query the location index using the :MEASure subsystem's :LOCation queries listed in the following table.

Locating the Index for Mask Test Results
Mask Limit Measurements :MEASure Subsystem Query
for Location Index
Mask Region (1 to 16) :MEASure:MTESt:HREGion{1:16}:LOCation?
Mask + Margin Region (1 to 16) :MEASure:MTESt:MHRegion{1:16}:LOCation?
Total Mask Hits :MEASure:MTESt:HITS:LOCation?
Total Margin Hits :MEASure:MTESt:MHITs:LOCation?
Total Waveforms :MEASure:MTESt:NWAVeforms:LOCation?
Tested Waveforms :MEASure:MTESt:TWAVeforms:LOCation?
Failed Waveforms :MEASure:MTESt:FWAVeforms:LOCation?
Total UI :MEASure:MTESt:UINTervals:LOCation?
Failed UI :MEASure:MTESt:FUINtervals:LOCation?
Margin :MEASure:MTESt:MARGin:LOCation?

The following example creates three measurement limit tests for the Crossing %, Fall Time, and Rise Time measurements. Notice that the reporting action commands for saving waveform, summary, and a screen capture apply to all active measurement limit tests. The first limit test to complete stops all tests and report actions are taken.

:ACQuire:SINGle  //  Stop waveform acquisition.//  CREATE MEASUREMENT LIMIT TEST 4.
:LTESt:MEASure:MLIMit4:SOURce:LOCation 1  //  Create test 4 for Crossing % measurement.
:LTESt:MEASure:MLIMit4:LLIMit 23E-12  //  23 ps lower limit.
:LTESt:MEASure:MLIMit4:ULIMit 24E-12  //  24 ps upper limit.
:LTESt:MEASure:MLIMit4:FREGion OUTSide  //  Fail counted if outside of limit.
:LTESt:MEASure:MLIMit4:UPACtion FAIL  //  If unable to perform test, fail.
:LTESt:MEASure:MLIMit4:STATe ON  //  Turn Crossing % test on.//  CREATE MEASUREMENT LIMIT TEST 5.
:LTESt:MEASure:MLIMit5:SOURce:LOCation 2  //  Create test 5 for Fall Time measurement.
:LTESt:MEASure:MLIMit5:LLIMit 23E-12  //  23 ps lower limit.
:LTESt:MEASure:MLIMit5:ULIMit 24E-12  //  24 ps upper limit.
:LTESt:MEASure:MLIMit5:FREGion OUTSide  //  Fail counted if outside of limit.
:LTESt:MEASure:MLIMit5:UPACtion FAIL  //  If unable to perform test, fail.
:LTESt:MEASure:MLIMit5:STATe ON  //  Turn Fall Time test on.//  CREATE MEASUREMENT LIMIT TEST 6.
:LTESt:MEASure:MLIMit6:SOURce:LOCation 3  //  Create test 6 for Rise Time measurement.
:LTESt:MEASure:MLIMit6:LLIMit 23E-12  //  23 ps lower limit.
:LTESt:MEASure:MLIMit6:ULIMit 24E-12  //  24 ps upper limit.
:LTESt:MEASure:MLIMit6:FREGion OUTSide  //  Fail counted if outside of limit.
:LTESt:MEASure:MLIMit6:UPACtion FAIL  //  If unable to perform test, fail.
:LTESt:MEASure:MLIMit6:STATe ON  //  Turn Rise Time test on.//  CONFIGURE REPORTING FOR ALL 3 TESTS.
:LTESt:MEASure:SWAVeform:CHANnel1:STATe DISK  //  Save channel 2A data to file.
:LTESt:MEASure:SWAVeform:CHANnel1:WMEMory WMEMory3  //  Select memory 3.
:LTESt:MEASure:SIMage:STATe ON  //  Save screen image file.//  START TESTING.
:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  //  Wait for completion of tests.

Creating a Eye Mask Limit Test

The following example shows how to create a limit test on eye mask number 3 and run the test until a failure occurs. After the test completes, results are reported:

  • Waveform is saved to a file.
  • Summary file is created.
  • Monochrome screen image of the entire Infiniium 2026 display is saved to a JPG file.

You can create a test for each active eye mask.

:ACQuire:SINGle  //  Stop waveform acquisition.

:LTESt:MTESt:SWAVeform:CHANnel1:STATe DISK  //  Save connection 1 channel 1 data to file.
:LTESt:MTESt:SWAVeform:CHANnel1:FNAMe "C:\Users\kentb\Documents\Keysight\Infiniium\Waveforms\Mask Waveform.h5"  //  File Name.
:LTESt:MTESt:SIMage:STATe ON  //  Save screen image.
:LTESt:MTESt:SIMage:MONochrome ON  //  Monochrome image capture.
:LTESt:MTESt:SIMage:WINDow DISPlay  //  Capture entire display.
:LTESt:MTESt:SIMage:FNAMe "C:\Users\kentb\Documents\Keysight\Infiniium\Screen Images\Mask.jpg"  //  File Name.
:LTESt:MTESt:MRESult1:STATe ON  //  Turn limit test on.

:ACQuire:RUN  //  Start waveform acquisition.
*OPC?  Wait for test completion.