AVAILABLE ON THE JMP MARKETPLACE: SEMICONDUCTOR TOOLKIT
Thanks Michael for sharing this very promising add-in!
At this point I have only tried the wafer map generator. It works well for the default die dimensions, but it fails when the X and/or Y dimensions are odd or fractions. For example, try with X Dimension = 25.81, Y Dimension = 15.21.
Also, the X and Y axis have wrong increment settings.
The fixes are simple:
To fix the issue with the odd / fraction die dimensions:
In MakeMainWindow, Change the definition xMax and yMax:
To fix the problem with the axis increments.:
Use ySize for axisbox(1) and xSize for axisbox(2):
toolWin[Axisbox( 1 )] << Show Major Grid( 1 ) << Inc(ySize);
toolWin[Axisbox( 2 )] << Show Major Grid( 1 )<< Inc(xSize);
Lars-Åke Ragnarsson
imec
Suggestions for improvement in this tool:
Lars,
Thanks for the feedback! I can't seem to generate a failure with odd sized dimensions like you describe. I'd like to get some more information about what you're experiencing. Can you send me an email at mike.anderson[at]jmp.com, please?
Thanks!
M
Thanks for these improvement suggestions. I agree with you and I'll get them into the next revision.
best,
fyi, Looks like the images have dissapeared ofter the migration
Yes, I was in a hurry to get the new version up, so I didn't bother with the images. I'll get them back up soon.
Best,
Does anyone know of a consultant / firm who offers custom development work of JMP solutions for fabless semiconductor companies? We are interested in using it, but would like someone with more experience to help us develop / deploy the solution. Thanks!
@mhamblin, check JMP.com/partners for a list of firms that can help you. Lots of good choices.
Does this toolkit work on jmp 12.2??
I tried to add this "add in" on JMP 10 version but it did not work. Is there a way to access this add in on JMP 10 version. I know, you have already mentioned, "JMP 12 or newer versions."
Thanks.
Try it now - the file open dialog should be corrected.
Hi M,
I am still prompted to open a file if no table is open. If a data table is selected or already open, nothing else is happening. Any way I can help troubleshoot this? (Is the download link at the top of this thread the best place to get the newest version?)
@Magic_Smoke, please make sure you have downloaded "Semiconductor Toolkit_V2-1.jmpaddin." The add-in will still ask for you to have an open data table (that's just how it works now). PM me if you're still running into issues. The add-in is provided "as is" but I'll do my best to see what the problem is.
Good Morning M_Andreson,
I can't download the add-ins, I got Network error. I think we have problem with the link.
Will you please fix the link?
Thank you for this wonderful add-ins
Yes it works. Thank you.
Hi Anderson,
I try it with JMP14, looks like it doesn't work.
Will it be updated for JMP14?
Thanks
Hello,
I would like to generate multiple wafer map shape files for different products. I generate them with "Use Geometry". The shape files for different wafer maps seem to conflict because they have the same ShapeIDs and share the same column name of "DieIndex". For my second set of shape files, I changed the ShapeID by adding 5000 for both the "Name" and "XY" files and I renamed "DieIndex" to "DieIndex2". With both sets of shape files in the SAS/JMP/13/Maps folder, they both can be used by referencing either "DieIndex" or "DieIndex2", but it seems like the presence of the second set of shape files is still influencing the first set (the x-axis scaling on my plots is different whether or not I have the second set in the Maps folders). Is there anything else I have to do such that multiple wafer maps can work independently?
Thanks,
Chris
Hi, @ChrisBrooks!
Welcome to the community! This is a fiddly problem to be sure. There may be some other solutions out there, but the one that I would recommend is to use the Map Role Column property (JMP Documentation). This lets you point your data table directly at the right product map.
There are a couple of upsides to using this method: You don't have to go directory diving for the JMP maps folder (i.e you can put it somewhere more convenient). You can also copy/paste the column property to a new dataset so you only need to set it up once.
Thanks for the help, it works! No need to rename any of the ShapeID's or columns if you have multiple shape files. For those who use JSL, I created a column for the "DieIndex" in my main data table whose map role property uses the shape file generated by the toolkit:
New Column( "DieIndex", Character( 10 ), Formula(Char( :DieX ) || "," || Char( :DieY )), Set Property("Map Role", Map Role( Shape Name Use( "C:\Users\cbrooks\Documents\Data Analysis\JMP\Semiconductor Toolkit\Die-WaferMap-Name.jmp", "DieIndex"))) );
and where I've already had made the :DieX and :DieY columns based on my particular wafer. I tried creating a variable: wafermap_shapefile = "C:\Users\cbrooks\Documents\Data Analysis\JMP\Semiconductor Toolkit\Die-WaferMap-Name.jmp"; to pass it as an argument in Shape Name Use, but it didn't work (column property had wafermap_shapefile as the file name, instead of the text string). M, what syntax am I missing to evaluate the variable as a string in Shape Name Use? By the way, my colleagues are impressed by the wafer maps but I credit you for doing all the hard work. Thanks again!
@ChrisBrooks,
The problem with column properties is that you have to build them completely (including the file path) before trying to work on the table itself. This makes using variables tricky.
I generally try to use a combination of a column property message (i.e. col1 << set property(<stuff>)) and either a "substitute into with an expression" workflow or use the Eval(Parse()) workflow. You could also try substituting into the new column argument directly before evaluating it.
// Define the file path<BR />wafer_shapefile = "C:\Users\cbrooks\Documents\Data Analysis\JMP\Semiconductor Toolkit\Die-WaferMap-Name.jmp"; <BR />// define the new column expression. newCol = Expr(New Column( "DieIndex", Character( 10 ), Formula(Char( :DieX ) || "," || Char( :DieY )), Set Property("Map Role", Map Role( Shape Name Use( loc, "DieIndex"))) );); <BR />// back substitute the file path into the expression Substitute Into(newCol, Expr(loc), Eval(wafer_shapefile));<BR /><BR />// run the expression.<BR />newCol;
Another thought (sorry for the stream of consciousness style here - caffeine hasn't kicked in yet), you could try :
// Define the file path wafer_shapefile = "C:\Users\cbrooks\Documents\Data Analysis\JMP\Semiconductor Toolkit\Die-WaferMap-Name.jmp"; // run the column code with an evaluate arguement New Column( "DieIndex", Character( 10 ), Formula(Char( :DieX ) || "," || Char( :DieY )), Set Property("Map Role", Map Role( Shape Name Use( Eval(wafer_shapefile), "DieIndex"))) );
I guess the take-home message here is that columns need some special structures to make them play nice with dynamic coding and you just have to try them to see which one works the best for a given setting.
Hope that was helpful!
Perfect! The first option works, second option has "Eval" as the map name data table in the map role column property.
I just installed JMP14 and tried your toolkit, looks like it doesn't work.
When I click the toolkit, one window named "centers.jmp" occurs, and no other window occurs;
Is it due to new version ?
Thanks a lot !
The picture
@iamshan, Hi! welcome to the community. You need to have a data table open to run the toolkit. Just open up a data table and it should behave fine.