This blog is intended to provide an introduction to STDF and ATDF data formats. This is not intended to be definitive, only an introduction. If you are experienced with seeing data in spreadsheets and tables then STDF is very different to what you are used to. Here we try to explain. 

STDF is “Standard Test Data Format” developed jointly between some of the largest test equipment vendors and semiconductor companies. This is a binary format defined by the STDF V4 specification. 

New call-to-action

ATDF is an ASCII version of STDF. STDF is a binary format, ATDF is ASCII and so readable in any text viewer. The binary format is faster for the tester computer to write as there is no need to convert any number or letter formats. As test time affects the cost of the product, it is often preferred to use the format that takes the least time to write. 

The formats are fully defined and explained in the relevant specifications. This article will, however, offer a much-simplified introduction to the formats. The structure from here on is largely the same between STDF and ATDF, all examples shown are by their nature ATDF as a string of 1s and 0s is not very easy to understand. 

STDF is a stream of data. There is a start of file section. Then any number of tests, die (devices) and results can be added before the file is closed. This has the advantage that the file can be directly written during the test and a partial file can (it is possible but not always) contain useable data. 

The format is organised by defined record types. Each record type is defined in the specifications as to the type of data contained, the size limit of that data and the data type of the field. In general yieldHUB fields directly follow the STDF V4 specification. 

Here is an overview of the format, this is not extensive but is a simplified view to ease understanding. The format is made up of sets of records to organise the data. For a complete and fully compatible file, many record types must be present. Having records missing is one of the most common issues with STDF data

Global Meta Data

  • Global record for the file: FAR
  • Global record for the lot: MIR
  • Pin Map Record: PMR [When using MPR]
  • Global site description: SDR
  • Wafer configuration: WCR [When testing wafers]

Test Data when testing wafers

For each wafer

  • Record for first wafer: WIR
  • For each part
    • Record for the die overall: PIR
    • For each test:
      • Results for parametric tests: PTR [One for each Numeric Limit test in your program]
      • Results for functional tests: FTR [One for each Pass/Fail test in your program]
      • Multi-Pin Parametric Test Result: MPR [contains an array of data where the test name and limits are the same for each result]
    • Final result from die: PRR
  • Final results from wafer: WRR

Test Data without Wafer Settings Configured

For each part

  • Record for the part overall: PIR
  • For each test:
    • Results for parametric tests: PTR [One for each Numeric Limit test in your program]
    • Results for functional tests: FTR [One for each Pass/Fail test in your program]
    • Multi-Pin Parametric Test Result: MPR [contains an array of data where the test name and limits are the same for each result]
  • Final result from part: PRR

Final Global Data

  • Summary for each test in job plan: TSR
  • Count of parts placed in each HW bin: HBR
  • Count of parts placed in each SW bin: SBR
  • Part count totals: PCR
  • Overall summary: MRR

 MPR Extended capability

yieldHUB extends the capability of MPR. This test record type was intended to be used with the pins of the device in cases such as continuity testing, or input leakage. However, this has been extended to be used for any repeated testing where the test name is the same and the limits are the same. The key to this is to expand the Pin Map Record to cover all of the index required in each array. For example pin numbers 1-99 could be used for a frequency sweep where the pin numbers correspond to frequency values. And pin numbers 100 to 199 could be used for a voltage sweep. Additionally, these pin numbers could be used for any physically repeated structure on the die. In that case, yieldHUB’s unique capability to input XY locations for each “pin” allows the results to be mapped across the die, across the wafer and across the batch of wafers. You can read more about this in the case study here

Example ATDF

This is a very small example to show some of that has been discussed: 

Each record type starts on a new line. There are delimiters “|” bar character, between each field for the record type. The example above is for wafer sort and so contains the WIR record. The second example below is for final test so now WIR record is written to the STDF file.