1. Ano ang STDF
Ang STDF (Standard Test Data Format) ay isang simple, flexible, portable at binary na data format para sa pag-iimbak ng mga resultang nalilikha ng semiconductor test equipment. Ginawa ito ng Teradyne at unang inilabas noong 1985. Dahil mahusay itong nadokumento at vendor-neutral, ito ang naging de-facto na pamantayan sa buong industriya ng Automatic Test Equipment (ATE).
Kapag sinusukat ng tester ang isang die sa wafer o isang packaged device, itinatala nito ang mga parametric na sukat, ang pass/fail na resulta, ang bin assignments at ang test conditions sa isang STDF file — karaniwang tinatawag na datalog. Ang isang STDF file ay naglalaman ng test data para sa isang lot ng parts mula sa iisang insertion (isang pagdaan ng lot sa testing).
Ang pangunahing ideya: ang STDF ay hindi database at hindi fixed na report. Ito ay isang tinukoy na hanay ng logical record types. Bawat record ay naglalarawan ng isang bahagi ng test run (isang part, isang wafer, isang solong sukat, isang bin count, at iba pa). Dahil inilalarawan ang data bilang logical records, gumagana ang parehong format kahit nasa memory buffer ang data, nasa file sa disk, o ipinapadala sa network — hindi nakadepende sa isang partikular na database o network architecture.
2. Bakit may STDF
Habang umuunlad ang industriya ng ATE, gumawa ang mga vendor ng networking at analysis systems gamit ang mga karaniwang pamantayan gaya ng Ethernet. Ngunit may isang malaking puwang na natira: hindi compatible ang test-result data sa pagitan ng mga tester mula sa magkakaibang manufacturer — at kung minsan ay maging sa pagitan ng magkaibang product line ng iisang manufacturer.
Kung walang shared na format, kailangan ng bawat fab at bawat OSAT (assembly at test house) ng custom na parser para sa bawat makina. Isinasara ng STDF ang puwang na iyon. Nagbibigay ito ng iisang karaniwang container upang:
- maisulat ng tester ang raw na resulta nito sa sariling native na representasyon, nang mabilis;
- tumanggap ang isang centralized na database engine ng data mula sa malawak na hanay ng tester gamit ang iisang programa;
- ma-export pabalik ang data sa in-house networks sa isang mahusay na dokumentado at lubos na na-debug na anyo;
- maisulat nang minsanan ang portable na reporting at analysis software at magamit saanman.
Walang direktang kalamangan sa komersiyo ang Teradyne mula sa pamantayan — inilathala nito ang STDF nang eksakto upang maging mas produktibo ang buong industriya gamit ang isang karaniwan at ganap na dokumentadong format.
3. Mga layunin ng disenyo
Ginabayan ang disenyo ng STDF ng maliit na hanay ng malinaw na layunin:
- Kayang mag-imbak ng test data para sa lahat ng semiconductor tester at trimmer.
- Magbigay ng karaniwang format para sa parehong pag-iimbak at pagpapadala ng data.
- Magbigay ng batayan para sa portable na reporting at analysis software.
- Ihiwalay ang data-message format sa database format, upang malaya ang bawat isa na umunlad.
- Magbigay ng suporta para sa optional (nawawala o invalid) na data.
- Magbigay ng kumpleto at maigsi na dokumentasyon para sa mga developer at user.
- Gawing madali para sa mga customer na magsulat ng sariling report o mag-reformat ng data para sa sariling database.
4. Paano nakaayos ang STDF file
Ang STDF file ay isang sunod-sunod na records, magkakasunod. Bawat record — anuman ang uri nito — ay nagsisimula sa parehong 4-byte na record header:
| Field | Type | Kahulugan |
|---|---|---|
| REC_LEN | U*2 | Bilang ng data bytes na sumusunod sa header (hindi kabilang ang sariling 4 bytes ng header). |
| REC_TYP | U*1 | Isang integer na nagpapakilala ng isang grupo ng magkakaugnay na record types. |
| REC_SUB | U*1 | Isang integer na nagpapakilala ng partikular na record type sa loob ng grupong iyon. |
Ang pares na (REC_TYP, REC_SUB) ay natatanging nagpapakilala sa bawat record type.
Ang paggrupo ayon sa REC_TYP ay nagbibigay-daan sa analysis programs na mabilis na
makilala ang mga pamilya ng records (halimbawa, "lahat ng nakolekta bawat part"). Lahat ng
type/sub-type codes na mas mababa sa 200 ay nakalaan para sa Teradyne; ang mga codes na mas mataas
sa 200 ay malaya para sa custom na aplikasyon.
Mga record group (REC_TYP)
| REC_TYP | Grupo | Record types (REC_SUB) |
|---|---|---|
| 0 | Impormasyon tungkol sa file | FAR (10), ATR (20) |
| 1 | Per-lot na data | MIR (10), MRR (20), PCR (30), HBR (40), SBR (50), PMR (60), PGR (62), PLR (63), RDR (70), SDR (80) |
| 2 | Per-wafer na data | WIR (10), WRR (20), WCR (30) |
| 5 | Per-part na data | PIR (10), PRR (20) |
| 10 | Per-test (buong programa) | TSR (30) |
| 15 | Per-test-execution | PTR (10), MPR (15), FTR (20) |
| 20 | Per-program-segment | BPS (10), EPS (20) |
| 50 | Generic na data | GDR (10), DTR (30) |
Byte order at ang CPU_TYPE trick
Ang magkakaibang processor (DEC, Motorola, Intel, IBM, Sun…) ay nag-iimbak ng integers at
floating-point na numero sa magkakaibang bit ordering. Sa halip na piliting mag-convert ang bawat
tester habang sumusulat (na magpapabagal sa testing), pinapayagan ng STDF ang bawat system na
sumulat sa sarili nitong native na representasyon at itinatala kung aling
CPU ang sumulat sa file sa CPU_TYPE field ng pinakaunang record (ang FAR). Kapag
binasa ng ibang system ang file, tinitingnan nito ang CPU_TYPE at kino-convert ang
bawat record sa sarili nitong representasyon kung kinakailangan lamang. Nagiging transparent ang
data conversion sa oras ng pagbasa at hindi kailanman napapabagal ang testing.
Mga petsa at oras
Bawat date/time field ay isang 4-byte na unsigned integer na nagbibilang ng bilang ng segundo mula hatinggabi, Enero 1, 1970 (ang UNIX epoch), sa lokal na time zone.
5. Mga data type code
Gumagamit ang STDF ng maiikli at madaling makilalang codes para sa mga field type nito. Halimbawa,
ang R*4 ay nangangahulugang 4-byte na real (float). Ang numero pagkatapos ng
* ay ang laki sa bytes; ang isang byte ay 8 bits.
| Code | C type | Paglalarawan |
|---|---|---|
| C*12 | char[12] | Fixed-length na string. Kung mas maikli, ito ay left-justified at pinupunan ng espasyo. |
| C*n | char[] | Variable-length na string; ang unang byte ay unsigned na bilang ng bytes na sumusunod (max 255). |
| C*f | char[] | Variable-length na string na ang haba ay nakaimbak sa ibang field. |
| U*1 / U*2 / U*4 | unsigned | 1-, 2-, at 4-byte na unsigned integers. |
| I*1 / I*2 / I*4 | signed | 1-, 2-, at 4-byte na signed integers. |
| R*4 / R*8 | float / double | 4- at 8-byte na floating-point na numero. |
| B*6 | char[6] | Fixed-length na bit-encoded na data. |
| B*n | char[] | Variable-length na bit-encoded na field; ang unang byte ay byte count (max 255). |
| D*n | char[] | Variable-length na bit field; ang unang dalawang byte ay bit count (max 65,535 bits). |
| N*1 | char | Unsigned integer na nakaimbak sa nibble (4 bits). Unang value sa low nibble, pangalawa sa high nibble. |
| V*n | — | Variable na data type: ang unang byte ay code na nagsasabi ng type, saka sumusunod ang data. |
| kxTYPE | TYPE[] | Isang array ng k na item ng ibinigay na type, kung saan ang k ay galing sa naunang field. hal. kxU*2. |
6. Optional, nawawala at invalid na data
Maraming field ang minamarkahang optional. Kailangan pa ring naroon ang optional na field sa record, ngunit may dalawang standard na paraan para sabihing "hindi makahulugan ang value na ito":
- Isang predefined na reserved value na nangangahulugang "nawawala" — hal. length byte na 0 para sa string, o isang partikular na numero gaya ng -1 para sa numeric na field.
- Isang Optional Data bit field: isang byte kung saan ang bawat bit ay nagbabandila kung may valid na data ang isang partikular na optional na field.
Para makatipid ng espasyo, maaaring ganap na alisin ang optional na field sa dulo ng record — ngunit tanging kung sila (at lahat ng sumusunod sa kanila) ay naglalaman ng nawawala/invalid na data. Hindi mo kailanman maaaring alisin ang optional na field mula sa gitna ng record.
7. Required records at ang initial sequence
Sa ilalim ng STDF V4, ang isang valid na file ay dapat maglaman ng apat na required record:
- FAR — eksaktong isa, at dapat itong unang record sa file.
- MIR — eksaktong isa, kaagad matapos ang FAR (at matapos ang anumang ATRs).
- PCR — kahit isa (summary PCR na may
HEAD_NUM = 255, o isa bawat head/site, o pareho). - MRR — eksaktong isa, at dapat itong huling record sa file.
Ilang record ang nagsasabi na ang lokasyon nila ay "matapos ang initial sequence." Ang initial sequence ay ang fixed na block ng records sa pinakaumpisa ng file. Ang mga tuntunin nito sa pagkakasunod-sunod:
- Palaging una ang FAR.
- Anumang ATRs (audit trail) ay kaagad sumusunod sa FAR.
- Sumusunod ang MIR matapos ang FAR at ATRs.
- Kung gumagamit ng RDR (retest), kaagad itong sumusunod sa MIR.
- Kung gumagamit ng SDRs (site description), kaagad silang sumusunod sa MIR (at RDR, kung mayroon).
# Ang initial sequence, buo: FAR → [ATRs] → MIR → [RDR] → [SDRs] → …lahat ng ibang records… → MRR
8. Bawat STDF V4 record type
Nasa ibaba ang bawat record type na tinukoy ng STDF V4, nakagrupo ayon sa kung ano ang
inilalarawan nito. Para sa bawat isa ay makukuha mo ang function nito, gaano kadalas lumitaw, saan
ito naroon sa file, at — para sa mahahalagang record — ang buong field list. Ang header fields
(REC_LEN, REC_TYP, REC_SUB) ay hindi kasama sa mga field
table dahil magkakapareho ang mga ito sa bawat record.
File-level records
FAR File Attributes Record — required, unang record
Sinasabi sa reader kung paano i-decode ang natitirang bahagi ng file. Dahil dala nito ang
CPU_TYPE at STDF_VER, dapat itong basahing una.
| Field | Type | Paglalarawan |
|---|---|---|
| CPU_TYPE | U*1 | Aling CPU ang sumulat sa file (0 = DEC PDP-11/VAX, 1 = Sun 1–4, 2 = Sun 386i / IBM PC family). |
| STDF_VER | U*1 | STDF version number na ginamit para bumuo ng data. |
ATR Audit Trail Record — optional
Itinatala ang anumang operasyong nagbago sa file (karaniwan ay isang filter program). Ang maraming ATR ay nakaayos sa reverse-chronological order kaagad matapos ang FAR.
| Field | Type | Paglalarawan |
|---|---|---|
| MOD_TIM | U*4 | Petsa at oras ng pagbabago sa file. |
| CMD_LINE | C*n | Command line ng programang nagbago sa file. |
Per-lot records
MIR Master Information Record — required, isa bawat file
Naglalaman ng global na impormasyon tungkol sa na-test na lot — ang "header para sa lahat ng report." Marami itong field (karamihan ay optional); ipinapakita rito ang mahahalaga.
| Field | Type | Paglalarawan |
|---|---|---|
| SETUP_T | U*4 | Petsa/oras ng job setup. |
| START_T | U*4 | Petsa/oras nang una i-test ang unang part. |
| STAT_NUM | U*1 | Tester station number. |
| MODE_COD | C*1 | Test mode (P = production, D/E = development, M = maintenance, Q = QC, C = checker, A = AEL). |
| RTST_COD | C*1 | Lot retest code. |
| BURN_TIM | U*2 | Burn-in time sa minuto. |
| LOT_ID | C*n | Lot ID (tinukoy ng customer). |
| PART_TYP | C*n | Part type / product ID. |
| NODE_NAM | C*n | Pangalan ng node na bumuo ng data. |
| TSTR_TYP | C*n | Tester type. |
| JOB_NAM | C*n | Job / test program name. |
| JOB_REV | C*n | Test program revision. |
| SBLOT_ID | C*n | Sublot ID. |
| OPER_NAM | C*n | Pangalan/ID ng operator sa setup. |
| TST_TEMP | C*n | Test temperature (malayang teksto — hal. "25C", "HOT", "COLD"). |
| PROC_ID | C*n | Fabrication process ID. |
| FLOW_ID, PKG_TYP, FAMLY_ID, DATE_COD, FACIL_ID, … | C*n | Marami pang optional na identifier (flow, package, product family, date code, facility, spec name/version, ROM code, tester serial number, supervisor, at iba pa). |
MRR Master Results Record — required, huling record
Ang lohikal na pagpapatuloy ng MIR, na naglalaman ng data na nalalaman lamang matapos matapos ang testing. Ito palagi ang huling record sa file.
| Field | Type | Paglalarawan |
|---|---|---|
| FINISH_T | U*4 | Petsa/oras nang huling i-test ang huling part. |
| DISP_COD | C*1 | Lot disposition code (user-defined na alphanumeric). |
| USR_DESC | C*n | Lot description na ibinigay ng user. |
| EXC_DESC | C*n | Lot description na ibinigay ng exec software. |
PCR Part Count Record — required, ≥ 1 bawat file
Naglalaman ng part-count na kabuuan para sa isang test site o, kapag HEAD_NUM = 255,
para sa lahat ng site na pinagsama.
| Field | Type | Paglalarawan |
|---|---|---|
| HEAD_NUM / SITE_NUM | U*1 | Test head / site (255 = summary para sa lahat ng site). |
| PART_CNT | U*4 | Bilang ng parts na na-test. |
| RTST_CNT | U*4 | Bilang ng parts na na-retest. |
| ABRT_CNT | U*4 | Bilang ng aborts habang nag-te-test. |
| GOOD_CNT | U*4 | Bilang ng good (passing) na parts. |
| FUNC_CNT | U*4 | Bilang ng functional na parts (sapat na para ma-test, pass man o fail). |
HBR Hardware Bin Record · SBR Software Bin Record
Binibilang ng HBR ang mga part na pisikal na inilagay sa isang hardware bin matapos ang test (sa wafer test, ang "pisikal" ay isang ink dot o wafer-map na entry). Binibilang ng SBR ang mga part na lohikal na itinalaga sa software bin — mas pinong kategorya na tinukoy sa test program. Pareho sila ng hugis:
| Field | Type | Paglalarawan |
|---|---|---|
| HEAD_NUM / SITE_NUM | U*1 | Head / site (255 = lahat ng site). |
| HBIN_NUM / SBIN_NUM | U*2 | Bin number (0–32767). |
| HBIN_CNT / SBIN_CNT | U*4 | Bilang ng parts sa bin. |
| HBIN_PF / SBIN_PF | C*1 | Pass/fail na indikador (P = passing, F = failing, espasyo = hindi alam). |
| HBIN_NAM / SBIN_NAM | C*n | Pangalan ng bin. |
PMR · PGR · PLR Pin mapping records
Inilalarawan ng tatlong record na ito ang mapping sa pagitan ng device pins at tester channels, na ginagamit ng functional (FTR) at multi-result (MPR) na records. Sa madaling salita: imina-map ng PMR ang isang channel↔pin na pares at binibigyan ito ng index (1–32,767); pinapangalanan ng PGR ang isang grupo ng pins (group index 32,768–65,535); tinutukoy ng PLR ang display radix, operating mode, at ang character encodings na ginagamit para ipakita ang programmed at returned na pin states. Tingnan ang §11 Pin mapping para sa buong paliwanag.
RDR Retest Data Record — optional
Naghuhudyat na naglalaman ang file ng mga na-retest na part at inililista kung aling bins ang nire-retest, upang malaman ng filter programs kung anong data ang papalitan. Kung mayroon, kaagad itong sumusunod sa MIR.
| Field | Type | Paglalarawan |
|---|---|---|
| NUM_BINS | U*2 | Bilang ng bins na nire-retest (0 = lahat ng bins). |
| RTST_BIN | kxU*2 | Array ng hardware bin numbers na nire-retest. |
SDR Site Description Record — optional
Inilalarawan ang pisikal na configuration ng isang grupo ng test sites sa isang head — handler/prober, probe card, load board, DIB board, cables, contactor, laser, at ang kanilang type/ID na pares. Ginagamit para iugnay ang yield sa interface hardware. Kung mayroon, kaagad sumusunod ang SDRs sa MIR (at RDR).
Per-wafer records (wafer probe lamang)
WIR Wafer Information Record · WRR Wafer Results Record
Ang WIR/WRR na pares ay bumabalot sa lahat ng na-test sa isang wafer —
minamarkahan ng WIR ang simula, ng WRR ang wakas. Pareho silang may HEAD_NUM at
SITE_GRP. Dala ng WIR ang start time ng wafer at ang WAFER_ID; dala ng
WRR ang finish time, ang parehong part/retest/abort/good/functional na count gaya ng PCR, at
karagdagang IDs para sa pagsubaybay:
| Field (WRR) | Type | Paglalarawan |
|---|---|---|
| FINISH_T | U*4 | Petsa/oras nang huling i-test ang huling die sa wafer. |
| PART_CNT … FUNC_CNT | U*4 | Na-test / na-retest / na-abort / good / functional na die counts. |
| WAFER_ID | C*n | Wafer ID (pumapalit sa nasa WIR). |
| FABWF_ID | C*n | Fab wafer ID — iniuugnay ang mga resulta pabalik sa fabrication. |
| FRAME_ID | C*n | Wafer frame ID — sinusubaybayan ang wafer matapos ang sawing, para sa inkless binning. |
| MASK_ID | C*n | Wafer mask ID. |
WCR Wafer Configuration Record — isa bawat file, wafer test lamang
Nagbibigay ng pisikal na dimensyon at oryentasyon para sa lahat ng wafer sa lot — ginagamit para gumuhit ng wafer maps.
| Field | Type | Paglalarawan |
|---|---|---|
| WAFR_SIZ | R*4 | Wafer diameter (sa WF_UNITS). |
| DIE_HT / DIE_WID | R*4 | Taas at lapad ng die. |
| WF_UNITS | U*1 | Units: 1 = inches, 2 = cm, 3 = mm, 4 = mils (0 = hindi alam). |
| WF_FLAT | C*1 | Oryentasyon ng wafer flat (U/D/L/R). |
| CENTER_X / CENTER_Y | I*2 | Koordinado ng center die. |
| POS_X / POS_Y | C*1 | Aling direksyon ang positive X (L/R) at positive Y (U/D). |
Per-part records
PIR Part Information Record · PRR Part Results Record
Ang PIR/PRR na pares ay bumabalot sa lahat ng na-test sa isang part. Ang PIR ay
marker lamang (head + site) na inilalagay bago i-test ang isang part; sumusunod ang lahat ng
resulta (PTR/MPR/FTR) para sa part na iyon, saka isinasara ito ng PRR kasama ang kalalabasan.
Kapag parallel testing, iniuugnay ng HEAD_NUM/SITE_NUM sa bawat resulta
ito sa tamang PIR/PRR na pares.
| Field (PRR) | Type | Paglalarawan |
|---|---|---|
| HEAD_NUM / SITE_NUM | U*1 | Head / site ng part na ito. |
| PART_FLG | B*1 | Bit flags: supersede-by-PART_ID (bit 0) o by X/Y (bit 1); abnormal end (bit 2); failed (bit 3); pass/fail valid (bit 4). |
| NUM_TEST | U*2 | Bilang ng tests na isinagawa sa part. |
| HARD_BIN | U*2 | Hardware bin kung saan napunta ang part (0–32767). |
| SOFT_BIN | U*2 | Software bin (65535 = nawawala). |
| X_COORD / Y_COORD | I*2 | Wafer coordinates (-32768 = nawawala). |
| TEST_T | U*4 | Elapsed test time sa milliseconds. |
| PART_ID | C*n | Part identification. |
| PART_TXT | C*n | Part description text. |
| PART_FIX | B*n | Application-specific na repair information (tingnan ang §12). |
PART_ID o ng X_COORD/Y_COORD na pares — kung hindi, mahirap
gamitin ang mga resulta para sa analysis o para ilagay sa wafer map.Per-test na buod
TSR Test Synopsis Record — isa bawat test sa programa
Bubuod ng execution at failure na count para sa isang solong test sa buong lot, kasama ang static na impormasyon gaya ng test name. Iniuugnay ito sa PTR/MPR/FTR ayon sa test number, head, at site.
| Field | Type | Paglalarawan |
|---|---|---|
| HEAD_NUM / SITE_NUM | U*1 | Head / site (255 = summary para sa lahat ng site). |
| TEST_TYP | C*1 | P = parametric, F = functional, M = multi-result parametric. |
| TEST_NUM | U*4 | Test number. |
| EXEC_CNT | U*4 | Bilang ng executions. |
| FAIL_CNT | U*4 | Bilang ng failures. |
| ALRM_CNT | U*4 | Bilang ng alarmed na tests. |
| TEST_NAM / SEQ_NAME / TEST_LBL | C*n | Test name, sequencer name, at label. |
| TEST_TIM | R*4 | Average na execution time (segundo). |
| TEST_MIN / TEST_MAX | R*4 | Pinakamababa / pinakamataas na value na nakita. |
| TST_SUMS / TST_SQRS | R*4 | Sum at sum-of-squares ng mga resulta — ginagamit para kalkulahin ang mean at standard deviation, kahit sa pagsasama ng maraming file. |
Per-test-execution records (ang mga sukat)
PTR Parametric Test Record — isa bawat parametric test execution
Ang pangunahing gawain ng datalog: isang PTR ang naglalaman ng resulta ng isang solong parametric na sukat (isang boltahe, isang kuryente, isang timing, …). Ang unang PTR para sa isang test number ay dala rin ang "semi-static" na paglalarawan — limits, units, scaling at format — na nagiging default para sa bawat susunod na PTR ng test na iyon (pumapalit ito sa hiwalay na PDR record na ginamit sa STDF V3). Para makatipid ng espasyo, inaalis ng mga susunod na PTR ang default na field na iyon maliban kung ino-override ang mga ito.
| Field | Type | Paglalarawan |
|---|---|---|
| TEST_NUM | U*4 | Test number. |
| HEAD_NUM / SITE_NUM | U*1 | Head / site. |
| TEST_FLG | B*1 | Test flags: alarm, result valid, reliable, timeout, executed, aborted, pass/fail. |
| PARM_FLG | B*1 | Parametric flags: scale error, drift, oscillation, above/below limit, alternate-limit pass. |
| RESULT | R*4 | Ang sinukat na value (valid lamang kung lahat ng kaugnay na flag bits ay 0). |
| TEST_TXT | C*n | Test description / label. |
| ALARM_ID | C*n | Pangalan ng anumang alarm na na-trigger. |
| RES_SCAL | I*1 | Result scaling exponent (power of ten). Tingnan ang §10. |
| LO_LIMIT / HI_LIMIT | R*4 | Low at high test limits (kasama ang LLM_SCAL / HLM_SCAL na exponent). |
| UNITS | C*n | Base units (hal. "AMPS", "VOLTS" — hindi kailanman "uAMPS"). |
| C_RESFMT / C_LLMFMT / C_HLMFMT | C*n | ANSI C format strings para sa display (hal. "%7.2f"). |
| LO_SPEC / HI_SPEC | R*4 | Low/high specification limits (itinatakda minsan sa unang PTR). |
MPR Multiple-Result Parametric Record — bago sa V4
Katulad ng PTR, ngunit para sa parametric na test na nagbabalik ng ilang value nang
sabay-sabay (halimbawa, isang sukat sa isang array ng pins, o isang shmoo sweep). Dala
nito ang array ng returned na resulta (RTN_RSLT) at, kung optional, ang pin states
(RTN_STAT) at ang PMR indexes na kinabibilangan nila. Para sa shmoo logging,
inilalarawan ng START_IN / INCR_IN / UNITS_IN ang swept na
input condition. Ang limits, units, at scaling ay gumagana tulad ng sa PTR, kung saan itinatakda
ng unang MPR ang mga default.
FTR Functional Test Record — isa (o higit pa) bawat functional test execution
Naglalaman ng resulta ng isang solong functional (vector/pattern) na test — pass/fail kasama ang mayamang detalye ng failure. Dala ng unang FTR para sa isang test ang semi-static na default (pumapalit sa FDR record ng STDF V3). Kabilang sa mahahalagang field ang vector cycle count at address, ang bilang ng failing pins, X/Y na failure addresses (para sa memory pattern generators), ang returned at programmed na pin states (bilang array ng PMR indexes at nibble-encoded na states), isang failing-pin na bitfield, ang pattern/vector name, time set, op-code, at ang pattern generator number. Ang returned-state codes ay saklaw ng low/high/midband/glitch/undetermined at ang kanilang failed na variant; ang eksaktong display characters ay galing sa PLR.
Per-program-segment records
BPS Begin Program Section · EPS End Program Section
Optional na markers na bumabalot sa isang pinangalanang program section (sequencer) sa loob ng test flow ng isang part. Dala ng BPS ang section name; walang dala ang EPS — bawat EPS ay tumutugma sa pinakahuling walang katugmang BPS, kaya maaaring magsalikop ang mga pares (isang sequencer na tumatawag sa iba). Nagbibigay-daan ito sa analysis na tumuon sa isang partikular na segment ng programa.
Generic / free-form na records
GDR Generic Data Record
Isang catch-all para sa impormasyong hindi kasya sa kahit anong ibang record type. Naglalaman
ito ng bilang ng field na sinusundan ng ganoon karaming self-describing na
GEN_DATA na value — bawat value ay nagsisimula sa isang-byte na type code (integer,
float, string, bit data, nibble…) saka ang data. Isang espesyal na pad type (code 0) ang
ginagamit para panatilihin ang multi-byte na value sa even byte boundaries. Isinusulat sa ilalim
ng job-plan control para sa anumang user-defined na layunin.
DTR Datalog Text Record
Malayang ASCII na teksto na isasama sa datalog printout — ginagamit para i-highlight ang mga
hindi inaasahang resulta o para itala ang mga pangyayari gaya ng pagbabago sa datalog sampling
rate. Dala nito ang isang solong TEXT_DAT na string at maaaring lumitaw kahit saan
matapos ang initial sequence.
9. Paano nakaayos ang records sa file
Ang eksaktong record order ay nakadepende kung nagte-test ka ng wafers o packaged parts, kung naka-on ang parallel testing, at kung naka-enable ang datalogging. Narito ang mga canonical na pattern.
Isang lot ng packaged devices (buong datalog)
FAR file-level info MIR global lot info PIR ┐ nagsisimula ang unang part PTR / MPR / FTR … │ bawat test sa part na iyon PRR ┘ resulta ng unang part PIR … PTR/MPR/FTR … PRR (ulitin para sa bawat part) … TSR × N isang synopsis bawat test sa programa HBR × N isa bawat hardware bin SBR × N isa bawat software bin PCR part-count na kabuuan MRR global lot results (huling record)
Summary lamang (walang per-part datalog)
Katulad ng nasa itaas ngunit inalis ang buong PIR…PRR na block — FAR, MIR lamang,
saka ang TSR/HBR/SBR/PCR na summaries at ang MRR.
Isang lot sa wafer probe
FAR · MIR · WCR wafer dimensions at oryentasyon WIR ┐ nagsisimula ang unang wafer PIR · PTR/MPR/FTR · PRR │ bawat die sa wafer … │ WRR ┘ buod ng unang wafer WIR … WRR (ulitin para sa bawat wafer) TSR… HBR… SBR… PCR… MRR lot summaries + huling record
Ang wafer-map-only na file ay pareho ngunit nag-iimbak lamang ng
PIR/PRR bawat die (walang PTR/MPR/FTR), na pinananatili lamang ang
kinakailangan para ipinta ang map.
Parallel testing
Sa maraming head at site, nagsasalinlahi ang records para sa magkakaibang die: bumubukas muna ang
ilang PIR, naglalabas ang tester ng PTR/MPR/FTR na records na tinatakan ng head+site habang
tumatakbo ang tests, at lumilitaw ang PRR ng bawat die kaagad matapos matapos ang iyong
die (hindi kinakailangang sunod sa start order). Ang WRR ng bawat wafer ay isinusulat kapag tapos
na ang lahat ng die ng head na iyon, at kasama sa PCR block ang isang PCR bawat head/site kasama
ang summary PCR na may HEAD_NUM = 255.
10. Scaling, units at limits
Sa loob ng PTR/MPR, ang RESULT, limits, at specs ay lahat naka-imbak na
normalized sa base unit na pinangalanan sa UNITS. Ibig sabihin,
palaging buong unit ang UNITS — "AMPS", hindi kailanman "uAMPS" — at maaari kang
direktang mag-arithmetic sa anumang value na magkasundo ang units.
Para sa display, dalawang karagdagang bahagi ang ginagamit: isang scaling exponent at
isang ANSI-C na format string. Ang _SCAL na value ay ang power of ten ng scaling
factor at pumipili rin ng SI prefix:
| _SCAL | Prefix | Kahulugan | Magnitude |
|---|---|---|---|
| 15 | f | femto | 10⁻¹⁵ |
| 12 | p | pico | 10⁻¹² |
| 9 | n | nano | 10⁻⁹ |
| 6 | u | micro | 10⁻⁶ |
| 3 | m | milli | 10⁻³ |
| 2 | % | percent | 10⁻² |
| 0 | — | base | 10⁰ |
| -3 | K | Kilo | 10³ |
| -6 | M | Mega | 10⁶ |
| -9 | G | Giga | 10⁹ |
| -12 | T | Tera | 10¹² |
Ang scaled na value ay simpleng value × 10^_SCAL. Halimbawa, para mag-imbak ng "123.45 uAMPS":
RESULT= 123.45 × 10⁻⁶RES_SCAL= 6 (ang code para sa "micro")C_RESFMT=%7.2fUNITS=AMPS
Para ipakita ito: i-multiply sa 10⁶, i-format nang may dalawang decimal, ilagay sa unahan ang "u" na prefix, at idugtong ang units → 123.45 uAMPS.
11. Paggamit ng pin-mapping records
Kapag na-test ang isang device, may mapping sa pagitan ng device pins at tester channels. Tatlong record type ang naglalarawan nito, at tinutukoy sila ng FTR/MPR na records sa pamamagitan ng index:
- PMR (Pin Map Record) — tinutukoy ang isang channel↔pin na kaugnayan at binibigyan ito ng natatanging PMR index (1–32,767). Bawat channel ay may type at name; bawat pin ay may physical at logical na name; itinatala rin ang head at site.
- PGR (Pin Group Record) — pinapangalanan ang isang grupo ng pins (hal. "address bus") at inililista ang PMR indexes rito, kasama ang sariling group index (32,768–65,535).
- PLR (Pin List Record) — para sa isang listahan ng pins/groups, tinutukoy ang display radix (binary, octal, decimal, hex, symbolic), ang operating mode (normal, dual-drive, SCIO…), at ang ASCII characters na ginagamit para i-render ang programmed at returned na states.
Kapag dini-decode ng software ang isang functional na resulta, binabasa nito ang PMR index arrays sa FTR/MPR para malaman kung aling pins ang may aling values, ginagamit ang PMR para makuha ang physical/logical/channel na names ng pin at ang head/site nito, ginagamit ang PGR para makita kung anong grupo kabilang ang pin, at ginagamit ang PLR para i-render ang states sa anyong kilala ng mga engineer para sa tester at device na iyon.
12. Pag-iimbak ng repair information
Kayang magdala rin ng STDF ng repair data para sa memory, PC boards, at iba pang parts, na
ipinapasa ito sa pagitan ng test at repair processes. Ang repair information para sa bawat part ay
nasa PART_FIX field ng PRR. Ito ay application-specific — bit-encoded, integer, float,
o text — kung saan ibinibigay ng unang byte ang bilang ng bytes na sumusunod, kaya ma-decode lamang
ito ng katugmang analysis program. Ang isang minimal na repair file ay maaaring alisin ang per-test
records nang buo at panatilihin lamang ang FAR · MIR · (WIR ·) PRR… · PCR · MRR.
13. STDF filenames
Inirerekomenda ng spec ang filename na anyong filename.STD[string] kung saan:
- filename ay 1–39 na character mula sa
A–Z a–z 0–9 _, na nagsisimula sa titik. - ang extension ay nagsisimula sa
.STDat, sa case-sensitive na system, pinakamainam na isulat nang lowercase (.std). - ang dollar sign na
$ay hindi na pinapayagan (nagdulot ito ng problema sa ilang operating system). - gumamit lamang ng isang tuldok, at panatilihing maikli ang extension — maaaring magdagdag ang software ng character dito para ipakita ang processing state.
Ang mahusay na filenames ay natatangi sa buong system, nagpapahiwatig ng nilalaman at oras ng paggawa nito, at gumagana sa iba't ibang operating system.
14. Pagkakaiba ng STDF V3 at V4
Inilabas ang STDF noong 1985 at lumago ito bilang de-facto na pamantayan ng industriya. Matapos mangolekta ng halos isang daang kahilingan mula sa mga customer at ibang ATE vendor, inilabas ng Teradyne ang Version 4, ang bersyong ginagamit ngayon. Ang pinakamalaking pagbabago:
- Apat na required record (nangailangan lamang ang V3 ng MIR at MRR): FAR, MIR, PCR, MRR — at dapat na ngayong magsimula ang file sa FAR.
- Bagong records: ATR, PCR, PGR, PLR, RDR, SDR, at MPR.
- Inalis na records: ang description records na PDR at FDR (ang kanilang semi-static na info ay nasa unang PTR/FTR na ngayon ng bawat test), at ang lahat ng site-specific na records na SHB, SSB, STS, SCR (hinahawakan na ngayon ang kanilang function ng head/site fields sa HBR, SBR, TSR, at PCR).
- Inilipat ang part counts palabas ng MRR papunta sa bagong PCR; ang
CPU_TYPEatSTDF_VERay nasa FAR na lamang. - Muling dinisenyo ang pin mapping: ang V3 PMR (na maaari ring magtukoy ng groups) ay hinati sa PMR + PGR + PLR.
- Pinabago ang display fields: ang lumang digit-count na fields ay pinalitan ng ANSI-C na format strings (
C_RESFMTatbp.), at idinagdag ang spec limits (LO_SPEC/HI_SPEC) sa PTR/MPR. - Bagong data types na
D*natN*1ang idinagdag at nilinaw angB*nna bit ordering. - Hindi nagbagong records: BPS, EPS, GDR, at DTR.
15. Glossary
| Termino | Kahulugan |
|---|---|
| Aborted part | Isang part na nagsimulang i-test ngunit hindi natapos (hal. ininterupt ito ng operator). |
| Datalog | Isang listahan ng partikular na test information — test results at parameter values. |
| Die | Isang solong semiconductor device sa loob ng wafer. |
| Functional part | Anumang part na, kapag na-test, ay hindi napunta sa catastrophic-failure na bin (kadalasan bin 0). Nasa FUNC_CNT. |
| Good part | Anumang part na inilagay sa bin na katanggap-tanggap para sa paggamit/pagbebenta. Nasa GOOD_CNT; kailangan para sa yield. |
| Hardware bin | Isang pisikal na sort category sa device handler para i-grado ang mga na-test na device. |
| Software bin | Isang lohikal na sort category na tinukoy sa test program para sa mas pinong pag-uuri kaysa hardware bins. |
| Insertion | Ang pagte-test ng isang lot ng parts nang isang beses (maaaring i-test ang lot nang ilang beses sa magkakaibang kondisyon). |
| Job plan / test plan / test program | Ang hanay ng program statements na dinisenyo para i-test ang isang partikular na device. |
| Lot | Isang batch ng parts (kadalasan ay buong production run) na na-test bilang grupo; maaaring hatiin sa sublots. |
| Lot disposition | Isang desisyon tungkol sa kinabukasan ng lot (hal. masyadong mababa ang yield para i-package). |
| Retested part | Isang part na na-test nang higit sa isang beses sa isang insertion, kadalasan dahil may natuklasang problema sa unang pagkakataon. |
| Sequencer | Ang "talaan ng nilalaman" ng test program — ang nakaayos na listahan ng tests kasama ang kanilang limits at binning. |
| Setup / Start / Finish time | Kailan nagsimula ang setup / kailan nagsimulang i-test ang unang part / kailan natapos ang huling part. |
| Tester | Isang makinang kayang maghiwalay (at kadalasang mag-grado) ng magagandang parts mula sa sira. |
| Test head | Ang hardware para i-test ang isa o higit pang device; sa parallel testers ay kinokontrol nito ang maraming site. |
| Test site | Ang hardware connections na kailangan para i-test ang isang solong device; maaaring may ilang site ang isang head. |
| Test station | Isang lohikal na software entity na naglo-load at nagpapatakbo ng isang solong test plan, kaugnay ng isa o higit pang head. |
| Wafer | Isang disk ng high-purity na semiconductor na materyal; ang substrate kung saan itinatayo ang mga IC, saka pino-probe ng ATE. |
Suriin ang STDF nang madali — gamit ang DLOG
Dahil ang STDF ay compact na binary format na maaaring maglaman ng milyun-milyong record bawat lot, hindi praktikal ang pagbubukas at cross-analysis ng maraming file nang manu-mano. Binabasa ng DLOG ang STDF V4 nang record por record, naglo-load ng maraming file nang sabay, at ginagawang wafer maps, bin Pareto, histograms, trend/scatter charts, Cpk, PAT, Gauge R&R at correlation ang raw na datalogs — na-export bilang PDF / Excel / image reports sa ilang klik, ganap na offline sa sarili mong PC.
Subukan ang DLOG nang libre sa loob ng 6 na buwan →