STDF.Library
Represents a BinaryReader that reads binary streams in big endian format.
Creates an instance of a BigEndianBinaryReader that reads the passed stream
A which the BigEndianBinaryReader reads from.
Creates an instance of a BigEndianBinaryReader that reads the passed stream with a specified encoding.
A which the BigEndianBinaryReader reads from.
A which the BigEndianBinaryReader uses to read from the stream.
Reads an unsigned Int16
A
Reads an unsigned Int32
A
Reads an unsigned Int64
Reads a float
A
Cpu types enumeration as reported by STDF specifications.
Utility class for Endianness management.
Initializes an instance of this Cpu.
The type of the cpu to initialize.
The byte value arrives from STDF field.
Returns true if the passed cpu is LittleEndian, false otherwise
B*n
Variable length bit-encoded field:
First byte = unsigned count of bytes to follow(maximum of 255 bytes).
First data item in least significant bit of the second byte of the array(first byte is count.)
Returns the size in bytes of this field.
Reads this field's value from the binary reader.
The binary reader from where to read the field's value.
Writes this field's value to a binary writer.
The binary writer where to write the field's value.
C*1 One byte signed integer char
C*f
Variable length character string: string length is stored in another field
C*n
Variable length character string:
first byte = unsigned count of bytes to follow(maximum of 255 bytes)
D*n
Variable length bit-encoded field:
First two bytes = unsigned count of bits to follow(maximum of 65,535 bits).
First data item in least significant bit of the third byte of the array (first two bytes are count).
Unused bits at the high order end of the last byte must be zero.
Returns the size in bytes of this field.
Reads this field's value from the binary reader.
The binary reader from where to read the field's value.
Writes this field's value to a binary writer.
The binary writer where to write the field's value.
Represents the base class for all fields.
The type of the field's value.
Returns or sets the value of this field.
Returns the size in bytes of this field.
Reads this field's value from the binary reader.
The binary reader from where to read the field's value.
Reads this field from the binary reader.
The binary reader from where to read the field's value.
If the passed reader is null.
Writes this field to a binary writer. If the field's value is null nothing will be written.
The binary writer to which to write
If the passed writer is null.
Writes this field's value to a binary writer.
The binary writer where to write the field's value.
I*1 One byte signed integer char
I*2 Two byte signed integer short
I*4 Four byte signed integer int
Represents the size in bytes of the field.
resets the value of the field.
Defines a generic interface for field of STDF record.
Used as internal type for size, reading and writing.
Represents the value of the field which type is specified by the generic parameter.
The value of the field
N*1
Unsigned integer data stored in a nibble. (Nibble = 4 bits of a byte).
First item in low 4 bits, second item in high 4 bits.
If an odd number of nibbles is indicated, the high nibble of the byte
will be zero.Only whole bytes can be written to the STDF file.
kxTYPE
Array of data of the type specified.
The value of âkâ (the number of elements in the array) is defined in
an earlier field in the record.For example, an array of short unsigned integers is defined as kxU*2.
R*4 Four byte floating point number float
R*4 Four byte floating point number float
U*1 One byte unsigned integer
U*2 Two byte unsigned integer
U*4 Four byte unsigned integer uint
U*4 Four byte unsigned integer
Creates an empty record of type and subtype specified by header.
The header of the record.
A record of type and subtype.
If the type has no public constructor and hence no instance can be created.
Creates a STDF record instance of the specified type and subtype.
The type of record to create.
The subtype of record to create.
A record of specified type and subtype.
Represents the ATR record of STDF.
MOD_TIM U*4 Date and time of STDF file modification
Date and time of STDF file modification
CMD_LINE C*n Command line of program.
Command line of program
Represents the base class of bin records.
HEAD_NUM U*1 Test head number
SITE_NUM U*1 Test site number
SBIN_NUM U*2 Software/Hardware bin number
SBIN_CNT U*4 Number of parts in bin
SBIN_PF C*1 Pass/fail indication
SBIN_NAM C*n Name of software/Hardware bin
Represents the DTR record of STDF.
TEXT_DAT C*n ASCII text string
Dummy record
Represents the FAR record of STDF
Returns cpu type information.
CPU_TYPE U*1 CPU type that wrote this file
The field which represents the raw value of cpu type.
For more meaningful information use Cpu property.
STDF_VER U*1 STDF version number
STDF version number.
TEST_NUM
HEAD_NUM
SITE_NUM
CYCL_CNT
REL_VADR
REPT_CNT
NUM_FAIL
XFAIL_AD
YFAIL_AD
VECT_OFF
RTN_ICNT, Count (j) of return data PMR indexes for RTN_INDX, RTN_STAT
RTN_STAT,
RTN_INDX,
PGM_ICNT, Count (k) of programmed state indexes for PGM_INDX, PGM_STAT
PGM_INDX,
PGM_STAT,
FAIL_PIN
VECT_NAM
TIME_SET
OP_CODE
TEST_TXT
ALARM_ID
PROG_TXT
RSLT_TXT
PATG_NUM
SPIN_MAP
TEST_FLG
OPT_FLAG
U*4 Test number
U*1 Test head number
U*1 Test site number
B*1 Test flags (fail, alarm, etc.)
B*1 Optional data flag See note
U*4 Cycle count of vector OPT_FLAG bit 0 = 1
U*4 Relative vector address OPT_FLAG bit 1 = 1
U*4 Repeat count of vector OPT_FLAG bit 2 = 1
U*4 Number of pins with 1 or more failures OPT_FLAG bit 3 = 1
I*4 X logical device failure address OPT_FLAG bit 4 = 1
I*4 Y logical device failure address OPT_FLAG bit 4 = 1
I*2 Offset from vector of interest OPT_FLAG bit 5 = 1
U*2 Count (j) of return data PMR indexes See note
U*2 Count (k) of programmed state indexes See note
jxU*2 Array of return data PMR indexes RTN_ICNT = 0
jxN*1 Array of returned states RTN_ICNT = 0
kxU*2 Array of programmed state indexes PGM_ICNT = 0
kxN*1 Array of programmed states PGM_ICNT = 0
D*n Failing pin bitfield length bytes = 0
C*n Vector module pattern name length byte = 0
C*n Time set name length byte = 0
C*n Vector Op Code length byte = 0
C*n Descriptive text or label length byte = 0
C*n Name of alarm length byte = 0
C*n Additional programmed information length byte = 0
C*n Additional result information length byte = 0
U*1 Pattern generator number 255
D*n Bit map of enabled comparators length byte = 0
Represents the HBR record of STDF.
Represents the MIR record of STDF
SETUP_T U*4 Date and time of job setup
START_T U*4 Date and time first part tested
STAT_NUM U*1 Tester station number
MODE_COD C*1 Test mode code (e.g. prod, dev)
RTST_COD C*1 Lot retest code
PROT_COD C*1 Data protection code
BURN_TIM U*2 Burn-in time (in minutes)
CMOD_COD C*1 Command mode code space
LOT_ID C*n Lot ID (customer specified)
PART_TYP C*n Part Type (or product ID)
NODE_NAM C*n Name of node that generated data
TSTR_TYP C*n Tester type
JOB_NAM C*n Job name (test program name)
OB_REV C*n Job (test program) revision number
SBLOT_ID C*n Sublot ID
OPER_NAM C*n Operator name or ID (at setup time)
EXEC_TYP C*n Tester executive software type
EXEC_VER C*n Tester exec software version number
TEST_COD C*n Test phase or step code
TST_TEMP C*n Test temperature
USER_TXT C*n Generic user text
AUX_FILE C*n Name of auxiliary data file length
PKG_TYP C*n Package type length
FAMLY_ID C*n Product family ID
DATE_COD C*n Date code
FACIL_ID C*n Test facility ID
FLOOR_ID C*n Test floor ID length byte = 0
PROC_ID C*n Fabrication process ID
OPER_FRQ C*n Operation frequency or step
SPEC_NAM C*n Test specification name
SPEC_VER C*n Test specification version number
FLOW_ID C*n Test flow ID
SETUP_ID C*n Test setup ID
DSGN_REV C*n Device design revision
ENG_ID C*n Engineering lot ID
ROM_COD C*n ROM code ID
SERL_NUM C*n Tester serial number
SUPR_NAM C*n Supervisor name or ID
Represents the MPR record of STDF
TEST_NUM
HEAD_NUM
SITE_NUM
TEST_FLG
PARM_FLG
RTN_ICNT
RSLT_CNT
RTN_STAT
RTN_RSLT
TEST_TXT
ALARM_ID
OPT_FLAG
RES_SCAL
LLM_SCAL
HLM_SCAL
LO_LIMIT
HI_LIMIT
START_IN
INCR_IN
RTN_INDX
UNITS
UNITS_IN
C_RESFMT
C_LLMFMT
C_HLMFMT
LO_SPEC
HI_SPEC
U*4 Test number
U*1 Test head number
U*1 Test site number
B*1 Test flags (fail, alarm, etc.)
B*1 Parametric test flags (drift, etc.)
U*2 Count (j) of PMR indexes See note
U*2 Count (k) of returned results See note
jxN*1 Array of returned states RTN_ICNT = 0
kxR*4 Array of returned results RSLT_CNT = 0
C*n Descriptive text or label length byte = 0
C*n Name of alarm length byte = 0
B*1 Optional data flag See note
I*1 Test result scaling exponent OPT_FLAG bit 0 = 1
I*1 Test low limit scaling exponent OPT_FLAG bit 4 or 6 = 1
I*1 Test high limit scaling exponent OPT_FLAG bit 5 or 7 = 1
R*4 Test low limit value OPT_FLAG bit 4 or 6 = 1
R*4 Test high limit value OPT_FLAG bit 5 or 7 = 1
R*4 Starting input value (condition) OPT_FLAG bit 1 = 1
R*4 Increment of input condition OPT_FLAG bit 1 = 1
jxU*2 Array of PMR indexes RTN_ICNT = 0
C*n Units of returned results length byte = 0
C*n Input condition units length byte = 0
C*n ANSI C result format string length byte = 0
C*n ANSI C low limit format string length byte = 0
C*n ANSI C high limit format string length byte = 0
R*4 Low specification limit value OPT_FLAG bit 2 = 1
R*4 High specification limit value OPT_FLAG bit 3 = 1
Represents the MRR record of STDF
FINISH_T U*4 Date and time last part tested
DISP_COD C*1 Lot disposition code
USR_DESC C*n Lot description supplied by user length byte = 0
EXC_DESC C*n Lot description supplied by exec length byte = 0
Represents the PCR record of STDF.
HEAD_NUM U*1 Test head number
SITE_NUM U*1 Test site number
PART_CNT U*4 Number of parts tested
RTST_CNT U*4 Number of parts retested
ABRT_CNT U*4 Number of aborts during testing
GOOD_CNT U*4 Number of good (passed) parts tested
FUNC_CNT U*4 Number of functional parts tested
Represents the PIR record of STDF
HEAD_NUM U*1 Test head number
SITE_NUM U*1 Test site number
PMR_INDX
CHAN_TYP
CHAN_NAM
PHY_NAM
LOG_NAM
HEAD_NUM
SITE_NUM
Represents the PRR record of STDF
HEAD_NUM U*1 Test head number
SITE_NUM U*1 Test site number
NUM_TEST U*2 Number of tests executed
HARD_BIN U*2 Hardware bin number
SOFT_BIN U*2 Software bin number
X_COORD I*2 (Wafer) X coordinate
Y_COORD I*2 (Wafer) Y coordinate
TEST_T U*4 Elapsed test time in milliseconds
PART_ID C*n Part identification
PART_TXT C*n Part identification
PART_FIX B*n Part repair information
PART_FLG B*1 Part information flag
Represents the field PART_FLG of PRR record.
From STDF specification the first two bit must not be set both to 1.
So it possible to check if it happens checking the validity of this field through
Represents the PTR record of STDF.
TEST_NUM
HEAD_NUM
SITE_NUM
RESULT
TEST_FLG
PARM_FLG
TEST_TXT
ALARM_ID
OPT_FLAG
RES_SCAL
LLM_SCAL
HLM_SCAL
LO_LIMIT
HI_LIMIT
UNITS
C_RESFMT
C_LLMFMT
C_HLMFMT
LO_SPEC
HI_SPEC
U*4 Test number
U*1 Test head number
U*1 Test site number
B*1 Test flags (fail, alarm, etc.)
B*1 Parametric test flags (drift, etc.)
R*4 Test result TEST_FLG bit 1 = 1
C*n Test description text or label length byte = 0
C*n Name of alarm length byte = 0
B*1 Optional data flag See note
I*1 Test results scaling exponent OPT_FLAG bit 0 = 1
I*1 Low limit scaling exponent OPT_FLAG bit 4 or 6 = 1
I*1 High limit scaling exponent OPT_FLAG bit 5 or 7 = 1
R*4 Low test limit value OPT_FLAG bit 4 or 6 = 1
R*4 High test limit value OPT_FLAG bit 5 or 7 = 1
C*n Test units length byte = 0
C*n ANSI C result format string length byte = 0
C*n ANSI C low limit format string length byte = 0
C*n ANSI C high limit format string length byte = 0
R*4 Low specification limit value OPT_FLAG bit 2 = 1
R*4 High specification limit value OPT_FLAG bit 3 = 1
Represents the SBR record of STDF.
Represents the SDR record of STDF.
HEAD_NUM U*1 Test head number
SITE_GRP U*1 Site group number
SITE_CNT U*1 Number (k) of test sites in site group
SITE_NUM kxU*1 Array of test site numbers
HAND_TYP C*n Handler or prober type
HAND_ID C*n Handler or prober ID
CARD_TYP C*n Probe card type
CARD_ID C*n Probe card ID
LOAD_TYP C*n Load board type
LOAD_ID C*n Load board ID
DIB_TYP C*n DIB board type
DIB_ID C*n DIB board ID
CABL_TYP C*n Interface cable type
CABL_ID C*n Interface cable ID
CONT_TYP C*n Handler contractor type
CONT_ID C*n Handler contractor ID
LASR_TYP C*n Laser type
LASR_ID C*n Laser ID
EXTR_TYP C*n Extra equipment type field
EXTR_ID C*n Extra equipment ID
Represents the TSR record of STDF.
HEAD_NUM U*1 Test head number
SITE_NUM U*1 Test site number
TEST_TYP C*1 Test type
TEST_NUM U*4 Test number
EXEC_CNT U*4 Number of test executions
FAIL_CNT U*4 Number of test failures
ALRM_CNT U*4 Number of alarmed tests
TEST_NAM C*n Test name
SEQ_NAME C*n Sequencer (program segment/flow) name
TEST_LBL C*n Test label or text
TEST_TIM R*4 Average test execution time in seconds
TEST_MIN R*4 Lowest test result value
TEST_MAX R*4 Highest test result value
TST_SUMS R*4 Sum of test result values
TST_SQRS R*4 Sum of squares of test result values
OPT_FLAG B*1 Optional data flag
Represents the WCR record of STDF
WAFR_SIZ R*4 Diameter of wafer in WF_UNITS
DIE_HT R*4 Height of die in WF_UNITS
DIE_WID R*4 Width of die in WF_UNITS
WF_UNITS U*1 Units for wafer and die dimensions
WF_FLAT C*1 Orientation of wafer flat
CENTER_X I*2 X coordinate of center die on wafer
CENTER_Y I*2 Y coordinate of center die on wafer
POS_X C*1 Positive X direction of wafer
POS_Y C*1 Positive Y direction of wafer
Represents the WIR record of STDF
HEAD_NUM U*1 Test head number
SITE_GRP U*1 Site group number
START_T U*4 Date and time first part tested
WAFER_ID C*n Wafer ID
Represents the WRR record of STDF
HEAD_NUM U*1 Test head number
SITE_GRP U*1 Site group number
FINISH_T U*4 Date and time first part tested
PART_CNT U*4 Number of parts tested
RTST_CNT U*4 Number of parts retested
ABRT_CNT U*4 Number of aborts during testing
GOOD_CNT U*4 Number of good (passed) parts tested
FUNC_CNT U*4 Number of functional parts tested
WAFER_ID C*n Wafer ID
FABWF_ID C*n Fab wafer ID
FRAME_ID C*n Wafer frame ID
MASK_ID C*n Wafer mask ID
USR_DESC C*n description supplied by user
EXC_DESC C*n Lot description supplied by exec
Represents a custom attribute used to set information of a record, such as type and subtype
Represents the type information of a record
Represents the subtype information of a record
Creates a StdfRecordAttribute with specific type and subtype.
The type information of the record
The subtype information of the record
Represents a factory of BinaryReader instances. Provides a default implementation
or a proper one depending on CPU architecture
Defines the capability to read and write to a binary stream.
Reads from a binary reader.
The binary reader from which to read
Writes to a binary writer.
The binary writer to which to write
Reads each record sequentially until the end of the stream raising the event and notifying all registered delegates.
Returns the read record or null if the end of the stream is reached or an error occurred.
If the object is already disposed.
Closes the underlying resources used by this reader
Writes a record through the .
The record to write.
If the object is already disposed.
Writes a record through the .
The record to write.
If the object is already disposed.
Writes the array of records.
The record to write through the .
If the object is already disposed.
Closes the underlying resources used by this reader
Releases the unmanaged resources used by the StdfFileWriter and optionally releases the managed resources.
true to release both managed and unmanaged resources; false to release only unmanaged resources.
Releases the resources used by the .
Reads the record from the binary reader.
The binary reader used to read the record.
Writes the header of each records and delegates the writing of fields to subclasses.
The writer where to write the record
Utility class for Endianness bytes swapping.
This class consider bytes in big endian and convert to little endian.
Swap a ushort.
A which represents the ushort to swap.
A which represents the swapped ushort.
Swaps a uint
A which represents the uint to swap
A which represents the swapped uint
Swaps a ulong
A which represents the ulong to swap.
A which represents the swapped ulong.
Swaps a float
A which represents the float to swap.
A which represents the float swapped.
Utility class for Unix time management in .NET framework
Converts a unix timestamp to a DateTime.
Represents the unix timestamp
A DateTime obtained from the unix timestamp
Converts a DateTime to a unix timestamp
The DateTime to convert
The unix timestamp obtained from the DateTime