Home  /  What is STDF?
● STDF · Standard Test Data Format · Version 4

What is STDF? The complete, plain-English guide

STDF (Standard Test Data Format) is the industry-standard binary file format for storing semiconductor test data. This page explains what STDF is, why it exists, exactly how the file is built, and every record type inside it — from the design of the format down to each field — in a way that is easy to follow whether you are an engineer, a programmer, or completely new to ATE.

Introduction

1. What STDF is

STDF (Standard Test Data Format) is a simple, flexible, portable, binary data format for storing the results produced by semiconductor test equipment. It was created by Teradyne and first introduced in 1985. Because it is well documented and vendor-neutral, it became the de-facto standard across the entire Automatic Test Equipment (ATE) industry.

When a tester measures a die on a wafer or a packaged device, it records the parametric measurements, the pass/fail results, the bin assignments and the test conditions into an STDF file — commonly called a datalog. One STDF file holds the test data for one lot of parts from a single insertion (one pass of a lot through testing).

The key idea: STDF is not a database and not a fixed report. It is a defined set of logical record types. Each record describes one piece of the test run (a part, a wafer, a single measurement, a bin count, and so on). Because the data is described as logical records, the same format works whether the data sits in a memory buffer, in a file on disk, or is being sent across a network — independent of any particular database or network architecture.

In one sentence: STDF is a compact binary container of typed “records” that lets test data from any tester — Teradyne, Advantest, Cohu/Xcerra, or a custom-built ATE — be read and analyzed by the same tools. The most widely used version today is STDF V4, which this page describes.
Motivation

2. Why STDF exists

As the ATE industry matured, vendors built networking and analysis systems around common standards such as Ethernet. But one glaring gap remained: test-result data was not compatible between testers from different manufacturers — and sometimes not even between product lines of the same manufacturer.

Without a shared format, every fab and every OSAT (assembly & test house) would need a custom parser for every machine. STDF closes that gap. It provides a single common container so that:

  • a tester can write its raw results in its own native representation, quickly;
  • a centralized database engine can accept data from a wide range of testers with one program;
  • data can be exported back to in-house networks in a well-documented, thoroughly debugged form;
  • portable reporting and analysis software can be written once and used everywhere.

Teradyne derives no direct commercial benefit from the standard — it published STDF precisely so the whole industry could be more productive with a common, fully documented format.

Design goals

3. Design objectives

The design of STDF was guided by a small set of clear objectives:

  • Be capable of storing test data for all semiconductor testers and trimmers.
  • Provide a common format for both storage and transmission of data.
  • Provide a basis for portable reporting and analysis software.
  • Decouple the data-message format from the database format, so either can evolve independently.
  • Provide support for optional (missing or invalid) data.
  • Provide complete, concise documentation for developers and users.
  • Make it easy for customers to write their own reports or reformat data for their own database.
File anatomy

4. How an STDF file is structured

An STDF file is simply a sequence of records, one after another. Every record — no matter its type — begins with the same 4-byte record header:

FieldTypeMeaning
REC_LENU*2Number of data bytes that follow the header (the header's own 4 bytes are not counted).
REC_TYPU*1An integer identifying a group of related record types.
REC_SUBU*1An integer identifying the specific record type within that group.

The pair (REC_TYP, REC_SUB) uniquely identifies each record type. Grouping by REC_TYP lets analysis programs quickly recognize families of records (for example, “everything collected per part”). All type/sub-type codes below 200 are reserved by Teradyne; codes above 200 are free for custom applications.

Record groups (REC_TYP)

REC_TYPGroupRecord types (REC_SUB)
0Information about the fileFAR (10), ATR (20)
1Per-lot dataMIR (10), MRR (20), PCR (30), HBR (40), SBR (50), PMR (60), PGR (62), PLR (63), RDR (70), SDR (80)
2Per-wafer dataWIR (10), WRR (20), WCR (30)
5Per-part dataPIR (10), PRR (20)
10Per-test (whole program)TSR (30)
15Per-test-executionPTR (10), MPR (15), FTR (20)
20Per-program-segmentBPS (10), EPS (20)
50Generic dataGDR (10), DTR (30)

Byte order and the CPU_TYPE trick

Different processors (DEC, Motorola, Intel, IBM, Sun…) store integers and floating-point numbers with different bit orderings. Rather than force every tester to convert data as it writes (which would slow testing down), STDF lets each system write in its own native representation and records which CPU wrote the file in the CPU_TYPE field of the very first record (the FAR). When another system reads the file, it checks CPU_TYPE and converts each record to its own representation only if needed. Data conversion becomes transparent at read time and testing is never slowed down.

Dates and times

Every date/time field is a 4-byte unsigned integer counting the number of seconds since midnight, January 1st, 1970 (the UNIX epoch), in the local time zone.

Encoding

5. Data type codes

STDF uses short, recognizable codes for its field types. For example R*4 means a 4-byte real (float). The number after the * is the size in bytes; a byte is 8 bits.

CodeC typeDescription
C*12char[12]Fixed-length string. If shorter, it is left-justified and padded with spaces.
C*nchar[]Variable-length string; the first byte is an unsigned count of the bytes that follow (max 255).
C*fchar[]Variable-length string whose length is stored in another field.
U*1 / U*2 / U*4unsigned1-, 2-, and 4-byte unsigned integers.
I*1 / I*2 / I*4signed1-, 2-, and 4-byte signed integers.
R*4 / R*8float / double4- and 8-byte floating-point numbers.
B*6char[6]Fixed-length bit-encoded data.
B*nchar[]Variable-length bit-encoded field; first byte is a byte count (max 255).
D*nchar[]Variable-length bit field; first two bytes are a bit count (max 65,535 bits).
N*1charAn unsigned integer stored in a nibble (4 bits). First value in the low nibble, second in the high nibble.
V*n—Variable data type: the first byte is a code telling you the type, then the data follows.
kxTYPETYPE[]An array of k items of the given type, where k comes from an earlier field. e.g. kxU*2.
Robustness

6. Optional, missing & invalid data

Many fields are marked optional. An optional field must still be present in the record, but there are two standard ways to say “this value is not meaningful”:

  1. A predefined reserved value means “missing” — e.g. a length byte of 0 for a string, or a specific number like -1 for a numeric field.
  2. An Optional Data bit field: a byte where each bit flags whether a particular optional field holds valid data.

To save space, optional fields at the end of a record may be omitted entirely — but only if they (and everything after them) contain missing/invalid data. You may never omit an optional field from the middle of a record.

“Required” vs “optional” has a narrow meaning. It only defines what makes a minimally valid STDF file. Analysis software (even the vendor's own) may require fields that the spec calls optional. In practice a minimally valid file rarely has enough data for a full report — you will usually fill in more than the strict minimum.
Rules

7. Required records & the initial sequence

Under STDF V4, a valid file must contain four required records:

  • FAR — exactly one, and it must be the first record in the file.
  • MIR — exactly one, right after the FAR (and after any ATRs).
  • PCR — at least one (a summary PCR with HEAD_NUM = 255, or one per head/site, or both).
  • MRR — exactly one, and it must be the last record in the file.

Several records say their location is “after the initial sequence.” The initial sequence is the fixed block of records at the very start of the file. Its ordering rules:

  • The FAR is always first.
  • Any ATRs (audit trail) come immediately after the FAR.
  • The MIR comes after the FAR and ATRs.
  • If an RDR (retest) is used, it comes immediately after the MIR.
  • If SDRs (site description) are used, they come immediately after the MIR (and RDR, if present).
# The initial sequence, in full:
FAR → [ATRs] → MIR → [RDR] → [SDRs] → …all other records… → MRR
Reference

8. Every STDF V4 record type

Below is every record type defined by STDF V4, grouped by what it describes. For each one you get its function, how often it appears, where it lives in the file, and — for the important records — the full field list. Header fields (REC_LEN, REC_TYP, REC_SUB) are omitted from the field tables since they are identical for every record.

0

File-level records

FAR File Attributes Record — required, first record

Tells a reader how to decode the rest of the file. Because it carries CPU_TYPE and STDF_VER, it must be read first.

FieldTypeDescription
CPU_TYPEU*1Which CPU wrote the file (0 = DEC PDP-11/VAX, 1 = Sun 1–4, 2 = Sun 386i / IBM PC family).
STDF_VERU*1STDF version number used to generate the data.

ATR Audit Trail Record — optional

Records any operation that altered the file (typically a filter program). Multiple ATRs sit in reverse-chronological order immediately after the FAR.

FieldTypeDescription
MOD_TIMU*4Date and time the file was modified.
CMD_LINEC*nCommand line of the program that altered the file.
1

Per-lot records

MIR Master Information Record — required, one per file

Holds the global information about the tested lot — the “header for all reports.” It has many fields (most optional); the highlights are shown here.

FieldTypeDescription
SETUP_TU*4Date/time of job setup.
START_TU*4Date/time the first part was tested.
STAT_NUMU*1Tester station number.
MODE_CODC*1Test mode (P = production, D/E = development, M = maintenance, Q = QC, C = checker, A = AEL).
RTST_CODC*1Lot retest code.
BURN_TIMU*2Burn-in time in minutes.
LOT_IDC*nLot ID (customer specified).
PART_TYPC*nPart type / product ID.
NODE_NAMC*nName of the node that generated the data.
TSTR_TYPC*nTester type.
JOB_NAMC*nJob / test program name.
JOB_REVC*nTest program revision.
SBLOT_IDC*nSublot ID.
OPER_NAMC*nOperator name/ID at setup.
TST_TEMPC*nTest temperature (free text — e.g. “25C”, “HOT”, “COLD”).
PROC_IDC*nFabrication process ID.
FLOW_ID, PKG_TYP, FAMLY_ID, DATE_COD, FACIL_ID, …C*nMany further optional identifiers (flow, package, product family, date code, facility, spec name/version, ROM code, tester serial number, supervisor, and more).

MRR Master Results Record — required, last record

The logical continuation of the MIR, holding data only known once testing finishes. It is always the final record in the file.

FieldTypeDescription
FINISH_TU*4Date/time the last part was tested.
DISP_CODC*1Lot disposition code (user-defined alphanumeric).
USR_DESCC*nLot description supplied by the user.
EXC_DESCC*nLot description supplied by the exec software.

PCR Part Count Record — required, ≥ 1 per file

Holds the part-count totals for one test site or, when HEAD_NUM = 255, for all sites combined.

FieldTypeDescription
HEAD_NUM / SITE_NUMU*1Test head / site (255 = summary for all sites).
PART_CNTU*4Number of parts tested.
RTST_CNTU*4Number of parts retested.
ABRT_CNTU*4Number of aborts during testing.
GOOD_CNTU*4Number of good (passing) parts.
FUNC_CNTU*4Number of functional parts (good enough to test, pass or fail).

HBR Hardware Bin Record  ·  SBR Software Bin Record

HBR counts parts physically placed into a hardware bin after test (in wafer test, “physical” means an ink dot or a wafer-map entry). SBR counts parts logically assigned to a software bin — finer categories defined in the test program. Both share the same shape:

FieldTypeDescription
HEAD_NUM / SITE_NUMU*1Head / site (255 = all sites).
HBIN_NUM / SBIN_NUMU*2Bin number (0–32767).
HBIN_CNT / SBIN_CNTU*4Number of parts in the bin.
HBIN_PF / SBIN_PFC*1Pass/fail indicator (P = passing, F = failing, space = unknown).
HBIN_NAM / SBIN_NAMC*nName of the bin.

PMR · PGR · PLR Pin mapping records

These three records describe the mapping between device pins and tester channels, used by functional (FTR) and multi-result (MPR) records. In short: PMR maps a single channel↔pin pair and gives it an index (1–32,767); PGR names a group of pins (group index 32,768–65,535); PLR defines the display radix, operating mode, and the character encodings used to show programmed and returned pin states. See §11 Pin mapping for the full walkthrough.

RDR Retest Data Record — optional

Signals that the file contains retested parts and lists which bins are being retested, so filter programs know what data to replace. If present, it immediately follows the MIR.

FieldTypeDescription
NUM_BINSU*2Number of bins being retested (0 = all bins).
RTST_BINkxU*2Array of the hardware bin numbers being retested.

SDR Site Description Record — optional

Describes the physical configuration of a group of test sites on one head — handler/prober, probe card, load board, DIB board, cables, contactor, laser, and their type/ID pairs. Used to correlate yield with the interface hardware. If present, SDRs immediately follow the MIR (and RDR).

2

Per-wafer records (wafer probe only)

WIR Wafer Information Record  ·  WRR Wafer Results Record

A WIR/WRR pair brackets everything tested on one wafer — WIR marks the start, WRR the end. They share the same HEAD_NUM and SITE_GRP. WIR carries the wafer's start time and WAFER_ID; WRR carries the finish time, the same part/retest/ abort/good/functional counts as the PCR, and extra IDs for tracking:

Field (WRR)TypeDescription
FINISH_TU*4Date/time the last die on the wafer was tested.
PART_CNT … FUNC_CNTU*4Tested / retested / aborted / good / functional die counts.
WAFER_IDC*nWafer ID (supersedes the one in the WIR).
FABWF_IDC*nFab wafer ID — links results back to fabrication.
FRAME_IDC*nWafer frame ID — tracks the wafer after sawing, for inkless binning.
MASK_IDC*nWafer mask ID.

WCR Wafer Configuration Record — one per file, wafer test only

Gives the physical dimensions and orientation for all wafers in the lot — used to draw wafer maps.

FieldTypeDescription
WAFR_SIZR*4Wafer diameter (in WF_UNITS).
DIE_HT / DIE_WIDR*4Die height and width.
WF_UNITSU*1Units: 1 = inches, 2 = cm, 3 = mm, 4 = mils (0 = unknown).
WF_FLATC*1Orientation of the wafer flat (U/D/L/R).
CENTER_X / CENTER_YI*2Coordinates of the center die.
POS_X / POS_YC*1Which direction is positive X (L/R) and positive Y (U/D).
5

Per-part records

PIR Part Information Record  ·  PRR Part Results Record

A PIR/PRR pair brackets everything tested on one part. The PIR is just a marker (head + site) placed before testing a part; all the results (PTR/MPR/FTR) for that part follow, then the PRR closes it out with the outcome. When parallel testing, the HEAD_NUM/SITE_NUM on each result associate it with the right PIR/PRR pair.

Field (PRR)TypeDescription
HEAD_NUM / SITE_NUMU*1Head / site of this part.
PART_FLGB*1Bit flags: supersede-by-PART_ID (bit 0) or by X/Y (bit 1); abnormal end (bit 2); failed (bit 3); pass/fail valid (bit 4).
NUM_TESTU*2Number of tests executed on the part.
HARD_BINU*2Hardware bin the part landed in (0–32767).
SOFT_BINU*2Software bin (65535 = missing).
X_COORD / Y_COORDI*2Wafer coordinates (-32768 = missing).
TEST_TU*4Elapsed test time in milliseconds.
PART_IDC*nPart identification.
PART_TXTC*nPart description text.
PART_FIXB*nApplication-specific repair information (see §12).
Practical note: You should provide either PART_ID or the X_COORD/Y_COORD pair — otherwise the results are hard to use for analysis or to place on a wafer map.
10

Per-test summary

TSR Test Synopsis Record — one per test in the program

Summarizes execution and failure counts for a single test across the whole lot, plus static info like the test name. It links to the PTR/MPR/FTR by test number, head, and site.

FieldTypeDescription
HEAD_NUM / SITE_NUMU*1Head / site (255 = summary for all sites).
TEST_TYPC*1P = parametric, F = functional, M = multi-result parametric.
TEST_NUMU*4Test number.
EXEC_CNTU*4Number of executions.
FAIL_CNTU*4Number of failures.
ALRM_CNTU*4Number of alarmed tests.
TEST_NAM / SEQ_NAME / TEST_LBLC*nTest name, sequencer name, and label.
TEST_TIMR*4Average execution time (seconds).
TEST_MIN / TEST_MAXR*4Lowest / highest result value seen.
TST_SUMS / TST_SQRSR*4Sum and sum-of-squares of results — used to compute mean and standard deviation, even when merging multiple files.
15

Per-test-execution records (the measurements)

PTR Parametric Test Record — one per parametric test execution

The workhorse of a datalog: one PTR holds the result of a single parametric measurement (a voltage, a current, a timing, …). The first PTR for a given test number also carries the “semi-static” description — limits, units, scaling and format — which becomes the default for every later PTR of that test (this replaces the separate PDR record used in STDF V3). To save space, later PTRs omit those default fields unless overriding them.

FieldTypeDescription
TEST_NUMU*4Test number.
HEAD_NUM / SITE_NUMU*1Head / site.
TEST_FLGB*1Test flags: alarm, result valid, reliable, timeout, executed, aborted, pass/fail.
PARM_FLGB*1Parametric flags: scale error, drift, oscillation, above/below limit, alternate-limit pass.
RESULTR*4The measured value (valid only if the relevant flag bits are all 0).
TEST_TXTC*nTest description / label.
ALARM_IDC*nName of any alarm triggered.
RES_SCALI*1Result scaling exponent (power of ten). See §10.
LO_LIMIT / HI_LIMITR*4Low and high test limits (with LLM_SCAL / HLM_SCAL exponents).
UNITSC*nBase units (e.g. “AMPS”, “VOLTS” — never “uAMPS”).
C_RESFMT / C_LLMFMT / C_HLMFMTC*nANSI C format strings for display (e.g. “%7.2f”).
LO_SPEC / HI_SPECR*4Low/high specification limits (set once in the first PTR).

MPR Multiple-Result Parametric Record — new in V4

Like a PTR, but for a parametric test that returns several values at once (for example, a measurement across an array of pins, or a shmoo sweep). It carries an array of returned results (RTN_RSLT) and, optionally, the pin states (RTN_STAT) and PMR indexes they belong to. For shmoo logging, START_IN / INCR_IN / UNITS_IN describe the swept input condition. Limits, units, and scaling work exactly as in the PTR, with the first MPR establishing the defaults.

FTR Functional Test Record — one (or more) per functional test execution

Holds the result of a single functional (vector/pattern) test — pass/fail plus rich failure detail. The first FTR for a test carries semi-static defaults (replacing STDF V3's FDR record). Key fields include the vector cycle count and address, the number of failing pins, X/Y failure addresses (for memory pattern generators), the returned and programmed pin states (as arrays of PMR indexes and nibble-encoded states), a failing-pin bitfield, the pattern/vector name, time set, op-code, and the pattern generator number. Returned-state codes range over low/high/ midband/glitch/undetermined and their failed variants; the exact display characters come from the PLR.

20

Per-program-segment records

BPS Begin Program Section  ·  EPS End Program Section

Optional markers that bracket a named program section (sequencer) within a part's test flow. BPS carries the section name; EPS carries none — each EPS matches the most recent unmatched BPS, so the pairs can nest (one sequencer calling another). They let analysis focus on a particular segment of the program.

50

Generic / free-form records

GDR Generic Data Record

A catch-all for information that doesn't fit any other record type. It holds a count of fields followed by that many self-describing GEN_DATA values — each value begins with a one-byte type code (integer, float, string, bit data, nibble…) and then the data. A special pad type (code 0) is used to keep multi-byte values on even byte boundaries. Written under job-plan control for any user-defined purpose.

DTR Datalog Text Record

Free ASCII text to be included in the datalog printout — used to highlight unexpected results or to note events such as a change in the datalog sampling rate. It carries a single TEXT_DAT string and can appear anywhere after the initial sequence.

Layout in practice

9. How records are ordered in a file

The exact record order depends on whether you are testing wafers or packaged parts, whether parallel testing is on, and whether datalogging is enabled. Here are the canonical patterns.

A lot of packaged devices (full datalog)

FAR                         file-level info
MIR                         global lot info
  PIR                       ┐ first part begins
    PTR / MPR / FTR …         │ every test on that part
  PRR                       ┘ first part results
  PIR … PTR/MPR/FTR … PRR      (repeat for each part)
  …
TSR × N                     one synopsis per test in the program
HBR × N                     one per hardware bin
SBR × N                     one per software bin
PCR                         part-count totals
MRR                         global lot results (last record)

Summary only (no per-part datalog)

Same as above but with the whole PIR…PRR block removed — just FAR, MIR, then the TSR/HBR/SBR/PCR summaries and the MRR.

A lot at wafer probe

FAR · MIR · WCR              wafer dimensions & orientation
  WIR                       ┐ first wafer begins
    PIR · PTR/MPR/FTR · PRR    │ each die on the wafer
    …                         │
  WRR                       ┘ first wafer summary
  WIR … WRR                    (repeat for each wafer)
TSR… HBR… SBR… PCR… MRR    lot summaries + final record

A wafer-map-only file is the same but stores just PIR/PRR per die (no PTR/MPR/FTR), keeping only what's needed to paint the map.

Parallel testing

With multiple heads and sites, records for different dies interleave: several PIRs open first, the tester emits PTR/MPR/FTR records tagged by head+site as tests run, and each die's PRR appears as soon as that die finishes (not necessarily in start order). Each wafer's WRR is written once all of that head's dies are done, and the PCR block includes one PCR per head/site plus a summary PCR with HEAD_NUM = 255.

Numbers & display

10. Scaling, units & limits

Inside a PTR/MPR the RESULT, limits, and specs are all stored normalized to the base unit named in UNITS. That means UNITS is always a whole unit — “AMPS”, never “uAMPS” — and you can do arithmetic directly on any values whose units agree.

For display, two extra pieces are used: a scaling exponent and an ANSI-C format string. The _SCAL value is the power of ten of the scaling factor and also selects the SI prefix:

_SCALPrefixMeaningMagnitude
15ffemto10⁻¹⁵
12ppico10⁻¹²
9nnano10⁻⁹
6umicro10⁻⁶
3mmilli10⁻³
2%percent10⁻²
0—base10⁰
-3KKilo10³
-6MMega10⁶
-9GGiga10⁹
-12TTera10¹²

The scaled value is simply value × 10^_SCAL. For example, to store “123.45 uAMPS”:

  • RESULT = 123.45 × 10⁻⁶
  • RES_SCAL = 6  (the code for “micro”)
  • C_RESFMT = %7.2f
  • UNITS = AMPS

To display it: multiply by 10⁶, format with two decimals, prepend the “u” prefix, and append the units → 123.45 uAMPS.

Functional test decoding

11. Using the pin-mapping records

When a device is tested there is a mapping between device pins and tester channels. Three record types describe it, and FTR/MPR records reference them by index:

  • PMR (Pin Map Record) — defines one channel↔pin association and gives it a unique PMR index (1–32,767). Each channel has a type and name; each pin has a physical and a logical name; the head and site are recorded too.
  • PGR (Pin Group Record) — names a group of pins (e.g. “address bus”) and lists the PMR indexes in it, with its own group index (32,768–65,535).
  • PLR (Pin List Record) — for a list of pins/groups, defines the display radix (binary, octal, decimal, hex, symbolic), the operating mode (normal, dual-drive, SCIO…), and the ASCII characters used to render programmed and returned states.

When software decodes a functional result, it reads the PMR index arrays in the FTR/MPR to know which pins had which values, uses the PMR to get the pin's physical/logical/channel names and its head/site, uses the PGR to see what group the pin belongs to, and uses the PLR to render the states in a form engineers recognize for that tester and device.

Beyond pass/fail

12. Storing repair information

STDF can also carry repair data for memory, PC boards, and other parts, passing it between the test and repair processes. The repair information for each part lives in the PART_FIX field of the PRR. It is application-specific — bit-encoded, integer, float, or text — with the first byte giving the number of bytes that follow, so it can only be decoded by a matching analysis program. A minimal repair file can drop the per-test records entirely and keep just FAR · MIR · (WIR ·) PRR… · PCR · MRR.

Conventions

13. STDF filenames

The spec recommends a filename of the form filename.STD[string] where:

  • filename is 1–39 characters from A–Z a–z 0–9 _, starting with a letter.
  • the extension begins with .STD and, on case-sensitive systems, is best written lowercase (.std).
  • the dollar sign $ is no longer allowed (it caused problems on some operating systems).
  • use only a single period, and keep the extension short — software may append characters to it to indicate processing state.

Good filenames are unique across a system, hint at their content and generation time, and work across a variety of operating systems.

Version history

14. Differences between STDF V3 and V4

STDF was introduced in 1985 and grew into a de-facto industry standard. After collecting nearly a hundred requests from customers and other ATE vendors, Teradyne released Version 4, the version in use today. The biggest changes:

  • Four required records (V3 required only MIR and MRR): FAR, MIR, PCR, MRR — and the file must now begin with the FAR.
  • New records: ATR, PCR, PGR, PLR, RDR, SDR, and MPR.
  • Dropped records: the description records PDR and FDR (their semi-static info now lives in the first PTR/FTR of each test), and all the site-specific records SHB, SSB, STS, SCR (their function is now handled by head/site fields in HBR, SBR, TSR, and PCR).
  • Part counts moved out of the MRR into the new PCR; CPU_TYPE and STDF_VER now live only in the FAR.
  • Pin mapping was redesigned: the V3 PMR (which could also define groups) was split into PMR + PGR + PLR.
  • Display fields modernized: old digit-count fields were replaced with ANSI-C format strings (C_RESFMT etc.), and spec limits (LO_SPEC/HI_SPEC) were added to the PTR/MPR.
  • New data types D*n and N*1 were added and the B*n bit ordering was clarified.
  • Unchanged records: BPS, EPS, GDR, and DTR.
Terminology

15. Glossary

TermMeaning
Aborted partA part whose testing began but did not run to completion (e.g. the operator interrupted it).
DatalogA listing of specific test information — test results and parameter values.
DieA single semiconductor device within a wafer.
Functional partAny part that, when tested, does not fall into the catastrophic-failure bin (usually bin 0). Kept in FUNC_CNT.
Good partAny part placed in a bin acceptable for use/sale. Kept in GOOD_CNT; needed for yield.
Hardware binA physical sort category on the device handler for grading tested devices.
Software binA logical sort category defined in the test program for finer categorization than hardware bins.
InsertionThe act of testing one lot of parts one time (a lot may be tested several times under different conditions).
Job plan / test plan / test programThe set of program statements designed to test a specific device.
LotA batch of parts (often a whole production run) tested as a group; may be split into sublots.
Lot dispositionA decision about the future of the lot (e.g. yield too low to package).
Retested partA part tested more than once during one insertion, usually because a problem was detected the first time.
SequencerThe “table of contents” of a test program — the ordered list of tests with their limits and binning.
Setup / Start / Finish timeWhen setup begins / when the first part starts testing / when the last part finishes.
TesterA machine capable of separating (and usually grading) good parts from bad.
Test headThe hardware to test one or more devices; on parallel testers it controls multiple sites.
Test siteThe hardware connections needed to test a single device; one head may have several sites.
Test stationA logical software entity that loads and runs a single test plan, associated with one or more heads.
WaferA disk of high-purity semiconductor material; the substrate on which ICs are built, then probed by ATE.
Put STDF to work

Analyze STDF the easy way — with DLOG, a Windows STDF analyzer

Because STDF is a compact binary format that can contain millions of records per lot, opening and cross-analyzing many files by hand is impractical. DLOG reads STDF V4 record by record, loads many files at once, and turns raw datalogs into wafer maps, bin Pareto, histograms, trend/scatter charts, Cpk, PAT, Gauge R&R and correlation — exported as PDF / Excel / image reports in a few clicks, fully offline on your own PC.

Try DLOG free for 6 months →

↑ Back to top