01-18-2016 05:32 PM
Hi guys,
I need to create a coordinate map in the following format (I'll try to describe as best as possible):
1. The system needs to be X rows by Y columns (decided when I start my test) for this example lets just assume a 4x4 setup
2. Each square needs to contain 24 'squares' where squares are strings which describe the pass/fail of that device.
The XxY system (for example 4x4) is straightforward to put together using a 2D array. However the additional information per 'square' is what's giving me fits. I've been trying to do it by using a 2D array where each element of the array is actually a cluster of named strings. In the attached vi's it's only 8 however as I mentioned it will need to be 24 later but I don't think the number really matters at this point.
As you can see in my example vi's attached, I can run the init vi to form the 2D array of clusters and then the idea would be to run updatebinmap vi after this to update. But if you run the code a few times you will see it doesnt work because each time it updates the global 'Dies' and then when I switch squares or reticles the old value is still there. So I know that's the flaw in this code...what I don't know is how to make it work.
The idea would then be to print this 2D array into an excel or csv file in the format below where each 3x8 piece of data is what I am calling a square. I think this is a problem when using an array of clusters as well so I am open to any new ideas. Thanks for your help!
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 03 00 00
03 03 03 03 03 03 03 03 01 00 00 00 03 00 00 03 00 03 00 00 00 03 03 00
03 03 03 01 03 03 03 03 00 00 00 01 00 00 00 00 03 03 00 00 01 04 00 00
03 03 03 03 03 03 03 03 03 03 00 03 00 00 04 00 00 00 00 03 03 00 03 03
03 03 03 03 03 03 01 01 03 03 03 03 03 03 03 03 03 03 03 01 00 01 01 03 01 01 00 01 03 03 01 03
01 01 03 03 03 03 01 01 03 00 00 00 03 00 01 03 01 03 01 03 01 03 03 03 03 00 01 00 01 01 03 00
01 03 03 03 03 03 03 03 01 00 00 00 03 03 03 03 00 00 00 01 01 01 03 00 01 01 03 03 03 03 03 01
00 01 00 00 00 00 00 00 01 03 03 03 03 03 03 00 03 01 01 03 03 03 03 03 03 03 01 01 03 03 03 03
00 00 00 00 00 00 00 00 03 00 00 01 01 01 00 01 03 03 01 01 01 01 01 01 01 03 03 00 03 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 03 03 01 00 01 01 03 01 00 03 03 03 00 01 03
01-18-2016 08:50 PM - edited 01-18-2016 08:51 PM
Sometimes "Complex" is simpler...
A few Questions:
In a nutshell, the points seem to be X-Y pairs, a Complex Float number may make the rest of the code easier to implement.
01-19-2016 09:38 AM
I think "dies" usually refers to some kind of wafer that's been diced, and each piece is called a die.
Perhaps you can upload what you want the excel file to look like and we can recommend a good way to store the data?
01-19-2016 09:59 AM
It looks like "Die" is what you call your "Array of 24 thingys" where a "thingy" is a string describing Pass/Fail of your device. I created a Die Typedef as a Cluster containing an Array of Strings, then used it to create an array with a specified number of Rows and Columns (such as 4 by 4, selectable at run time) and then filled each of the 16 Die with a random set of Pass/Fail results (90% Pass, 10% Fail).
Is this what you are after?
Bob Schor
01-19-2016 10:39 AM
Thanks for your replies!
Correct, basically what this is will be post processing wafer die binning that will be sent over to the wafer cut house who will cut the die and package. What happens during my test is the die is tested for 10 or so RF and DC characteristics, is tested against limits ie. is gain > 20, and then assigned a bin code 0-4 depending on the results of those tests.
The reason die, reticle, etc are in strings to start is because I read those off of the probe bench. I dont know if you guys are familiar with wafers so I put 'squares' in the initial post but in reality those are reticles of a wafer and each reticle contains 24 die. So for example, a reticle could be (0,5) [row,column] and on reticle 0_5 there are die 1-24. Each die is tested against the limits as it's tested which is why I am trying to update one at a time. However currently I save the results in a csv file with 3 columns, reticle num, die num, bin code. I'm starting to think it may be easier to just parse through this list rather than save one by one.
I'll upload a quick excel file of how the formatting should look when I get to my desk but if you look at my original post near the end, that's the goal. Basically have the data look like an actual wafer where the data is arranged by reticle in the position on the wafer.
01-19-2016 11:43 AM
Attached is an excel preview of what I need it to look like. I put 3 blank reticles on the top just for reference. I can set this 0,0 point to be wherever I want it but I put it top left so there are no negatives.
The blank reticles can either be left blank or have some sort of filler like an underscore. Let me know if this helps.
01-19-2016 11:48 AM
So this is basically a 3-D array (row, column, and "Die number") that you are squeezing into a 2-D (Excel) format. How are you planning to save the Die (24 entries) information -- as a long string, or as 24 columns, with "super-columns" to denote the set of (say) 4 "columns" at the upper level? Or some other way (multiple sheets?) ...
Bob Schor
01-19-2016 11:54 AM
Are the values you have entered in each cell the "bins" which you end up with after testing? Is this format what the other department requested that you'll be handing the wafers off to? I think the "picture" idea is cool, but if I were doing this I would just put the dies down the left side 1-24, the reticle position across the top, and the bin of each die at the intersection in a large rectangular table.
01-19-2016 12:05 PM
Correct. I explored looking into using a LV 3D array but that doesn't work.
Right now, I'm exploring 2 options to save the Die info.
1. Use a 2D array where each entry is a cluster of the 24 die bin numbers
-------this seemed simple at first however updating one entry at a time has been tricky
-------I'm thinking this method may still work however I would have to gather all the data first and then format
2. I just started to look into this option but here I would just make the entire thing a 2D array where each entry is the bin code for that die
------this would require a case structure for example reticle (0,5) would be entry row 0, column 40 (8x5)
------I think this may be the easier way
01-19-2016 12:14 PM
I agree gregory, attached is what I initially provided them. They claim this 'picture' format is the only way they can enter it into their machine. Otherwise this would be very straightforward!