Multi-Site DUT Test Program Synchronization for Parallel Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing test systems face challenges in efficiently transitioning from single-site testing of electronic devices in research and development to multi-site production testing, with methods like rewriting test routines in SmarTest8 being time-consuming and resource-intensive, while maintaining script language tests results in suboptimal performance due to communication overhead.
Innovation Solution
A method is introduced to synchronize code segments in single-site test programs across multiple devices by identifying and delaying the execution of code segments without conditional loops or IF statements until all instances request them, allowing parallel execution of these segments, and synchronizing code segments with conditional statements to align measurements across sites.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If test routines are totally rewritten in SmarTest8 for multi-site production testing, then testing performance and throughput are improved, but development time and resource consumption increase significantly
Solution Approach 1:
The patent uses Python script language test routines as templates or blueprints to generate SmarTest8 test programs automatically. Instead of manually rewriting test logic, the system copies the functional structure from Python scripts and transforms them into multi-site compatible SmarTest8 programs, dramatically reducing development time while maintaining testing effectiveness
Solution Approach 2:
The patent introduces an intermediary conversion tool or bridge that translates Python script language test routines into SmarTest8 test programs. This intermediary handles the complexity of translation automatically, allowing test developers to write in Python while producing SmarTest8 executable programs, thus resolving the contradiction between development ease and execution performance
2Loss of time
If script language test routines are kept unchanged with a bridging solution, then development time is reduced, but testing performance decreases due to communication overhead
Solution Approach 1:
The patent employs a bridging solution that acts as an intermediary layer between the Python script language test routines and the SmarTest8 execution environment. This bridge enables the Python scripts to run within SmarTest8 with minimal modifications, preserving development efficiency while enabling multi-site parallel execution capabilities
Solution Approach 2:
The patent merges the advantages of both approaches by combining Python script flexibility with SmarTest8 execution efficiency. The converted test programs inherit the ease of Python development while gaining the high-performance parallel execution capabilities of SmarTest8, achieving both low development time and high testing throughput
3Device complexity
If measurements are performed serially in production test programs, then synchronization between sites is simplified, but testing throughput is reduced
Solution Approach 1:
The patent implements dynamic synchronization where the test program adapts its execution pattern based on site readiness. Instead of rigid serial or parallel execution, the system dynamically coordinates measurements across sites, allowing parallel execution when sites are ready while maintaining synchronization when needed, thus achieving both high throughput and manageable complexity
Data Source
AI summary
A method of testing a plurality of DUTs in a test system. The method includes generating a plurality of instances of a single-site test program causing test system hardware to test the DUTs, wherein each instance is associated with a respective DUT and operates on a respective single-site test system. The method also includes analyzing the plurality of instances to determine first code segments contain a conditional statement and second code segments free of any conditional statements. The method further includes receiving, at said test system, requests to execute code segments from the plurality of instances and executing the received requested code segments by causing the test system hardware to apply tests to the DUTs based thereon. The first code segments are executed as they are requested, and requested second code segments of a same code identifier are synchronized for parallel execution.


