Execute Subsystems Sequentially in TestStand Semiconductor Module

Updated Oct 28, 2024

Environment

Software

  • TestStand
  • TestStand Semiconductor Module

In a scenario of quad-site (4 sites) testing, there could be a need to execute subsystems in a specific order rather than randomly or concurrently for some particular reasons such as avoiding site-to-site interference, performing troubleshooting. This tutorial will go through the steps of creating a sequence running subsystems sequentially with the precondition expression and the rendezvous synchronization step in TestStand and TestStand Semiconductor Module (TSM).

You will need to have NI TestStand and TestStand Semiconductor Module installed on your system in order to complete any of the steps.

1. Launch NI TestStand.
2. Select Semiconductor Module » Edit Pin Map File... to launch the Pin Map Editor.
3. Specify 4 for Number of Sites in the Sites section on the Pin Map tab.


4. Click Save button to save the pin map file.
5. Insert a Rendezvous step from Synchronization Step Types to MainSequence.

  • Select Operation as Create
  • Type in "Sync 4 Sites" in the Rendezvous Name Expression text box
  • Type in 4 in the Number of Threads Per Rendezvous text box 
 

6. Insert a semiconductor Action step from Semiconductor Module Step Types to MainSequence.

  • Type in Semiconductor Action for Site 0&2 in the Name text box of General panel on the Properties tab in Step Settings pane
  • Type in RunState.TestSockets.MyIndex == 0 || RunState.TestSockets.MyIndex == 2 in the Precondition Expression text box on the Properties tab in Step Settings pane
  • Specify Examples\NI_SemiconductorModule\Grading\LabVIEW\2016\Code Modules\Take Measurement.vi for VI Path on the Module tab in Step Settings pane
  • Type in Step.SemiconductorModuleContext in the Value of parameter Semiconductor Module Context

 

7. Insert a Rendezvous step from Synchronization Step Types to MainSequence.

  • Select Operation as Rendezvous
  • Type in "Sync 4 Sites" in the Rendezvous Name or Reference Expression text box


8. Insert a semiconductor Action step from Semiconductor Module Step Types to MainSequence.

  • Type in Semiconductor Action for Site 1&3 in the Name text box of General panel on the Properties tab in Step Settings pane
  • Type in RunState.TestSockets.MyIndex == 1 || RunState.TestSockets.MyIndex == 3 in the Precondition Expression text box on the Properties tab in Step Settings pane
  • Specify Examples\NI_SemiconductorModule\Grading\LabVIEW\2016\Code Modules\Take Measurement.vi for VI Path on the Module tab in Step Settings pane
  • Type in Step.SemiconductorModuleContext in the Value of parameter Semiconductor Module Context



9. At this point, the MainSequnece will look like this.
 

10. Select Configure » Model Options.
11. Specify 4 as Number of Test Sockets in the Multiple UUT Settings and click OK.
 

12. Select Tools » Profile Execution to launch the TestStand Execution Profiler.
13. In the NI TestStand, select Execute » Single Pass to run the sequence.
14. It can be observed in the TestStand Execution Profiler that test socket 0 and socket 2 will execute Semiconductor Action for Site 0&2 step at first. The rendezvous step will ensure that all test sockets begin testing at the same time and then test socket 1 and socket 3 continue to perform  Semiconductor Action for Site 1&3 step lastly.