Correct STDF Entries from a Script Using Business Rules
StdfFixer lets you script fixing STDF files. Fixes can be defined in a rules file that allows you to standardize your data across input sources. For example, a rule for a particular tester type could extract the temperature from the test code field and set the temperature field. Any MIR or SDR field can be set based on values from other MIR and SDR fields.
StdfFixer can also be used to make ad hoc changes, by using a keyword for certain common fields (listed below) or by indicating the record type and field you want to change, and the new value you want to use. This is most useful for correcting incorrect header data, for example the lotid, fab lotid or program name.
Getting Started
StdfFixer is published as a gzipped tar file so that it can easily be installed on any modern operating system in any location the user chooses. In the following instructions, the name of the downloaded file will vary slightly, depending on the actual version to be installed.
- Make sure you have Java 1.8 or newer installed and in your execution path. You can download the Java runtime here.
- Download the StdfFixer gzipped tar file. Then, you can use a tool like 7-zip (on Windows) or (on Linux, OS X or cygwin) run gunzip and tar -xf on the downloaded file. For ease of use, we recommend adding the directory into which you untarred the files to your path.
- Once you have installed the files, you can use the scripts StdfFixer (for Linux/Mac OS X/cygwin) or StdfFixer.bat ( for Microsoft Windows).
Defining Rules To Standardize STDFs
Many companies have legacy data sources such as old test platforms and test programs that create STDFs that do not conform to current company standards. StdfFixer rules files define fixes to these inconsistencies. StdfFixer can then be called as part of your data processing sequence to standardize the data. StdfFixer is surprisingly fast, so incorporating it as a step in your data processing will not significantly affect throughput.
Each rule consists of one more header (MIR or SDR) fields that can be checked (possibly with wildcards), followed by one or more assignments that will be made if the conditions are true for the file that is being checked. If assignments are made, the file will be updated with the assignments. You can call StdfFixer with a rules file like this. Note that the stdf can be gzipped or not.
StdfFixer -rules rulesfile.csv stdffile.stdf.gz
The rules file can be a simple csv with each row defining one rule. Here are some example rows for a rule file:
header,mir.part_typ=55555*,set mir.famly_id=55555
If the MIR.part_typ record starts with 55555, set the MIR.famly_id field to 55555
header,mir.job_nam=*FT1*,set mir.test_cod=FT1
If the MIR.job_nam (test program name) contains the value FT1, set the MIR.test_cod to FT1
header,mir.job_nam=AAAA_BBB,mir.job_rev=1,set mir.tst_temp=25
If the MIR.job_nam is AAAA_BBB and the MIR.job_rev is 1, set the MIR>tst_temp to 25
header,sdr.hand_id=HTC*,set hdr.hand_typ=HTC
If the SDR.hand_id (handler id) starts with HTC, set the handler type to HTC
These are just examples. Each rule line can contain one or more conditions and one or more assignment. Contact us for help if you have specific questions about defining rules.
Usage For Fixing Specific Files
You can change values in an STDF like this:
StdfFixer.bat --replace:LotID=mynewlot c:\work\test.stdf
This example uses a Windows batch file, but a Linux/Unix/Mac OS X equivalent is also available. StdfFixer currently supports the following key words
- Handler
- LotID
- ModeCode
- PartNumber
- ProcessID
- Program
- ProgramRevision
- RetestCode
- SublotID
- Temp
- TestCode
- UserText
- WaferID
You can also directly change the fields of the STDF script with the form record type.record field, for example MIR.lot_id=aaa to make the lotid aaa, for record types that only appear once in the file. To apply the same transformation to multiple files, you can list the files using * as a wild card. For example StdfFixer.bat --replace:MIR.lot_id=XYZ_COLD *.stdf
would change the lotid to XYZ_COLD for all files ending in stdf in the current directory.
The most common substitutions are for MIR values like
- lot_id
- sblot_id
- job_nam
- job_rev
- test_cod
StdfFixer --replace:SDR.card_id=prober_annie /tmp/X123.stdf
Need More information?
You can contact us with technical questions, pricing questions and alternate payment mechanism questions.
Try it out!
Interested? Try StdfFixer for 15 days.
Ready to Buy?
Selecting Buy Now allows you to purchase one or more StdfFixer annual server licenses via credit card or PayPal for USD 515 each. If you are interested in purchasing licenses but prefer to use a credit card without paying online, a purchase order or another payment mechanism, let us know by mailing sales@sprysoftware.net or clicking the Contact Us link. We are happy to accommodate any of those mechanisms. You can also contact us about volume license discounts.