Content deleted Content added
Datacom111 (talk | contribs) |
Sallyrenee (talk | contribs) Successfully de-orphaned! Wikiproject Orphanage: You can help! |
||
(108 intermediate revisions by 17 users not shown) | |||
Line 1:
{{Short description|Programming language}}
[[File:UTSL logo.jpg|thumb|]]▼
(Universal Test Specification Language) 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) 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). ▼
▲
== History ==
Increased complexity of
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" />
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>▼
{{clear}}
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" />▼
{{Clear}}
== 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
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
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>
▲[[File:Utsl build in 01.jpg|left|]]
▲<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|]]
▲ '''Flow control''' - <span style="color:#0000FF">
▲== Design ==
'''
'''Data types''' - <span style="color:#0000FF">"int, double, bool, string" </span>
'''Numerical operators''' - <span style="color:#0000FF">"=, +, -, *, /, %, **, --, &, |, <<, >>" </span>
'''Logical operators''' - <span style="color:#0000FF">"==, <, >, >=, <=, !=, ^" </span>
'''Arrays''' - <span style="color:#0000FF">"declare, resize, and [] operator" </span>
Furthermore, specialized classes for testing were added:
▲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 visa versa can be easily written in UTSL and with the means for the ATE specific code generator translated into testable code.
'''Pin and PinList classes''' - <span style="color:#0000FF">"for the test board specifics" </span>
[[File:Force curr meas V.jpg|left|]]▼
'''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 units 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>, etc.<ref name="ATE_Generation" />
But also more complex tests such as a 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. ▼
[[File:
▲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. The vision is that in the future UTSL will be capable of covering 100% of the testing requirements.
▲
▲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
▲'''Flow control''' - <span style="color:#0000FF">'''"if/then/else"''' </span>
Additionally, UTSL allows the user to define the state of the instrument i.e. connected to the pin, or disconnected from the pin.
==References==
{{
[[Category:Automatic test equipment]]
[[Category:Integrated circuits]]
[[Category:Programming languages]]
|