Universal Test Specification Language: Difference between revisions

Content deleted Content added
Datacom111 (talk | contribs)
No edit summary
Successfully de-orphaned! Wikiproject Orphanage: You can help!
 
(47 intermediate revisions by 16 users not shown)
Line 1:
{{Short description|Programming language}}
{{AFC submission|d|v|u=Datacom111|ns=118|decliner=Yash!|declinets=20150503150648|ts=20150424135031}} <!-- Do not remove this line! -->
 
[[File:UTSL logo.jpg|thumb|]]
 
('''Universal Test Specification Language''' ('''UTSL''') <ref>R. Baumann, N. Nebel, “Die automatische Generierung von Testprogrammen im täglichen Einsatz”, 27. GI/GMM/ITG-Workshop, Bad Urach 2015, page 59. </ref> is a programming language used to describe [[ASIC]] tests in a format that leads to an automated translation of the test specification into andan executable test code. UTSL is platform ([[ATE Automatic test equipment]]) independent and provided a code generation interface for a specific platform is available, UTSL code can be translated into the programming language of a specific test platform ([[ATE Automatic testTest equipmentEquipment]] (ATE).
'''UTSL'''
(Universal Test Specification Language) <ref>R. Baumann, N. Nebel, “Die automatische Generierung von Testprogrammen im täglichen Einsatz”, 27. GI/GMM/ITG-Workshop, Bad Urach 2015, page 59. </ref> is a programming language used to describe [[ASIC]] tests in a format that leads to an automated translation of the test specification into and executable test code. UTSL is platform ([[ATE Automatic test equipment]]) independent and provided a code generation interface for a specific platform is available, UTSL code can be translated into the programming language of a specific test platform ([[ATE Automatic test equipment]]).
 
<ref> A. Drappa, P. Huber und J. Vollmar, “Automatic Test Program Generation for Automotive Devices”, 23. GI/GMM/ITG-Workshop Universität Passau, 2011, Seite 81. </ref>
<ref> R. Baumann und N. Nebel, “Automated Test Program Generation for Automotive Devices”, Teradyne User Group (TUG) Conference, Fort Worth, TX, 2013. </ref>
<ref> R. Baumann und N. Nebel, “Integrating Automated Test Program Generation in Your Daily Workflow Saves Time”, Teradyne User Group (TUG) Conference, Anaheim, California, 2014. </ref>
 
<ref>https://www.vde.com/de/fg/GMM/Arbeitsgebiete/FB6/Seiten/UTSLUniversalTestSpecificationLanguage.aspx </ref>
 
<br>
<br>
== History ==
Increased complexity of ASICs[[ASIC]]s leadleads to requirements of more complex test programs with longer development times. An automated test program generation could simplify and speed up this process. [[Teradyne]] Inc. together with [[Robert Bosch GmbH]] agreed to develop a concept and a tool chain for an automated test-program generation.<ref> name="ATE_Generation">A. Drappa, J. Vollmar und P. Huber, “Automatic Test Program Generation for Automotive Devices”, International Test Conference (ITC), Austin, Texas USA, 2010, Paper 17.1. </ref> <ref>{{cite http://ieeexplorejournal|title=Automated test program generation for automotive devices - IEEE Conference Publication|doi=10.ieee.org/xpl1109/articleDetailsTEST.2010.jsp?arnumber=5699253&tag|s2cid=1 21650481}}</ref><ref>A. TeradyneDrappa, IncP. togetherHuber withund RobertJ. BoschVollmar, GmbH“Automatic agreedTest toProgram developedGeneration afor conceptAutomotive andDevices”, a23. toolGI/GMM/ITG-Workshop chainUniversität forPassau, an2011, automatedpage test-program generation81.</ref> To achieve this a tester independent programming language was required. Hence, UTSL, a programming language that enables detailed description of tests that can be translated into the ATE specific programming language was developed. The ATE manufacturers need to provide a Test Program Generator that uses the UTSL test description as inputs and generates the ATE-specific test code with optimal resource mapping and bestbetter practice program code.<ref name="UTSL">R. Baumann, N. Nebel, “Die automatische Generierung von Testprogrammen im täglichen Einsatz”, 27. GI/GMM/ITG-Workshop, Bad Urach 2015, page 59.</ref><ref name="UTSL1">R. Baumann und N. Nebel, “Automated Test Program Generation for Automotive Devices”, Teradyne User Group (TUG) Conference, Fort Worth, TX, 2013.</ref><ref name="UTSL2">R. Baumann und N. Nebel, “Integrating Automated Test Program Generation in Your Daily Workflow Saves Time”, Teradyne User Group (TUG) Conference, Anaheim, California, 2014.</ref>
 
As long as the ATE manufacturer provides with the test program generator that can use UTSL as an input the cumbersome task of translating a test program from one platform to another can be significantly simplified. In other words the task of rewriting of the test programs for a specific platform can be replaced by the automatically generating the code from the UTSL based test specification. Prerequisite for this is that the UTSL description of tests is sufficiently detailed with definition of the test technique as well as the description of all the necessary inputs and outputs.
 
Being a platform independent programming language, UTSL allows the engineers to read, analyse and modify the tests in the test specification regardless of the ATE at which the testing of the ASIC will be done.
 
As long as the ATE manufacturer provides with the test program generator that can use UTSL as an input the cumbersome task of translating a test program from one platform to another can be significantly simplified. In other words, the task of rewriting of the test programs for a specific platform can be replaced by the automatically generating the code from the UTSL based test specification. Prerequisite for this is that the UTSL description of tests is sufficiently detailed with definition of the test technique as well as the description of all the necessary inputs and outputs.<ref name="UTSL" /><ref name="UTSL1" /><ref name="UTSL2" />
UTSL is based on C#, allows procedural programming and is class oriented. The classes contain sub-classes which in term have their sub-classes.<ref>“UTSL Universal Test Specification Language”. http://www.vde.com/de/fg/GMM/Arbeitsgebiete/FB7/FA7.1/Documents/utsl_reference.pdf . </ref>
 
Being a platform independent programming language, UTSL allows the engineers to read, analyse and modify the tests in the test specification regardless of the ATE at which the testing of the [[ASIC]] will be done. UTSL is based on C# and allows procedural programming and is class oriented. The classes contain sub-classes which in term have their sub-classes.<ref>{{cite web|url=http://www.vde.com/de/fg/GMM/Arbeitsgebiete/FB7/FA7.1/Documents/utsl_reference.pdf|title=UTSL Universal Test Specification Language|website=Vde.com|accessdate=8 June 2018}}</ref>
<br>
[[File:Utsl build in 01.jpg|left|]]
{{clear}}
<br>
UTSL contains high amount of commands and test-functions. It also allows the usage of commonly known high level programming language syntax elements such as <span style="color:#0000FF">"'''if/then/else'''" </span>, etc.<ref name="UTSL" />
<br>
[[File:Utsl syntax.jpg|left|]]
<br>
{{Clear}}
<br>
<br>
<br>
<br>
<br>
<br>
UTSL contains high amount of commands and test-functions. It also allows the usage of commonly known high level programming language syntax elements such as
<span style="color:#0000FF">'''"if/then/else"''' </span> and etc.
[[File:Utsl syntax.jpg|left|]]
<br>
<br>
<br>
<br>
<br>
<br>
<br>
 
== Design ==
UTSL is a C# like language where the test are defined as blocks of code. Simple tests such a forcing current and measuring voltage or visavice versa can be easily written in UTSL and with the means of the ATE ([[Automatic Test Equipment]]) specific code generator translated into testable code (''see the picture1'').
 
UTSL allows the user to set the instruments ranges and clamps in order to guarantee the measurement precision and to prevent the measurements from exceeding the instrument clamp values. The current UTSL capabilities can cover c.a. 70% of the required test specification for [[ASIC]] testing. For the remaining 30% one could use the option of writing comments in an informal form as it was done in the past.<ref The vision is that in the future name="UTSL" will be capable of covering close to 100% of the testing requirements./>
 
UTSL supports language features such as:<ref>{{cite web|url=https://www.vde.com/de/fg/GMM/Arbeitsgebiete/FB6/Seiten/UTSLUniversalTestSpecificationLanguage.aspx|title=UTSL - Universal Test Specification Language|website=Vde.com|accessdate=8 June 2018}}</ref>
 
UTSL supports language features such as:
<br>
'''Flow control''' - <span style="color:#0000FF">"if/then/else, select/case" </span>
'''Loops''' - <span style="color:#0000FF">"for, while, for each" </span>
Line 59 ⟶ 32:
'''Arrays''' - <span style="color:#0000FF">"declare, resize, and [] operator" </span>
 
Furthermore, specialized classes for testing were added:
 
<br>
'''Pin and PinList classes''' - <span style="color:#0000FF">"for the test board specifics" </span>
'''TestEnvironment class''' - <span style="color:#0000FF">"wafer level vs final testing" </span>
'''SerialPort and SerialDataFrame classes''' - <span style="color:#0000FF">"for device serial communications" </span>
'''Evaluate class''' - <span style="color:#0000FF">"data-logs the results and compares the results to the defined limits" </span>
UTSL also supports the unitlsunits and scales wherever floating point numbers are used. This is essential for a language that describes a test program where the values can be returned as <span style="color:#0000FF">"'''V''', '''mV''', '''uV''', '''A''', '''mA''', '''uA'''" </span> and, etc.<ref name="ATE_Generation" />
 
<br>
[[File:Force curr meas V.jpg|frame|none|picture1]]
 
Also more complex tests such as serial communications with [[ASIC]] that require write and/or read to and from register can be easily implemented using UTSL.
<br>
The example below shows a test where a certain trim code is written to a register and based on the trim code the internal regulator steps in voltage which is read back (''see the picture2'').
Also more complex tests such as serial communications with ASIC that require write and/or read to and from register can be easily implemented using UTSL.
The example below shows a test where a certain trim code is written to a register and based on the trim code the internal regulator steps in voltage which is read back (''see the picture2'').
<br>
 
[[File:Serial write meas V.jpg|frame|none|picture2]]
 
<br>
Additionally, UTSL allows the user to define the state of the instrument i.e. connected to the pin, or disconnected from the pin.
 
== Advantages References==
{{Reflist}}
* UTSL needs to be learnt once unlike the ATE specific languages that can vary from one ATE manufacturer to another
* It it easier to reuse test methods written in UTSL because the test code is not dependent on the specific ATE instruments
* UTSL as a standardized language is easier for people other than the code author to be read and debugged
* The separation of the test specification from the tester dependant instruments makes it easier to switch the program to a tester with a different configuration
* Test program matches the test-spec which matches the design specification hence, reducing the chances of inconsistencies
 
[[Category:Automatic test equipment]]
== Disadvantages ==
[[Category:Integrated circuits]]
* Test engineers need to be trained and learn the UTSL programming language
[[Category:Programming languages]]
* The use of UTSL does not necessarily eliminate the need to learn the ATE specific language
* UTSL is sequential which means the tests can not run concurrently
 
==References==
{{reflist}}
<!--- After listing your sources please cite them using inline citations and place them after the information they cite. Please see http://en.wikipedia.org/wiki/Wikipedia:REFB for instructions on how to add citations. --->
*
*
*
*