BookmarkSubscribeRSS Feed


Nov 21, 2014

Choose Language Hide Translation Bar

Semiconductor Toolkit


The Semiconductor Toolkit is an attempt to answer the need from the semiconductor industry for specialized visualizations and reframing of existing JMP capabilities.  On its initial release, the toolkit contained tools for generating patterned and unpatterned wafer maps, annotating existing graphics with wafer geometry, and a semiconductor specific frontend to the Hierarchical Clustering with spatial measures option.  It has now been expanded to include analytical methods for exploring die defect data, making comparisons between wafers, and a collection of tools and utilities contributed by the user community. The toolkit is intended to be a collaborative and living effort by interested parties.  Constructive criticism, bug reports, and capability suggestions are welcome and encouraged. 

wafer map.jpg

The add-in is for version 12 and newer of JMP and JMP Pro.  The add-in will check which version of JMP it is being added to and show only the methods available on that installation.



  • (2016-08-22) Version 1 released.
  • (2016-11-03) Corrected bugs found by @ragnarl.
  • (2016-10-14)  Added a note about the next release to correspond with the launch of the new community site
  • (2016-09-26)  Added screenshots and descriptions for each tool.
  • (2017-11-01)  Version 2 released.  WELL, THAT TOOK LONGER THAN EXPECTED... It represents a complete overhaul of the Add-in.  A number of new tools were added, including tools for handling wafer maps for patterned wafers and methods for comparing wafer maps with dissimilar sampling patterns.  Under the hood, the application was completely rewritten in the JMP Application Builder.  I also standardized many of the methods in the original Add-in to ensure consistent performance across the platforms.  A proper help manual is also included and will be expanded as time allows.
  • (2018-02-15)  Fixed a couple of bugs in the initial release. 
  • (2018-02-23)  Bug Fix. 


Annotation Tool adds markers for the wafer and exclusion edges to an existing graph or series of graphs in the same window.  If the die geometry is known, markers for the die layout can also be added.


Mapping Tool Set > Patterned Wafer Map uses die indices and a response variable to generate a patterned wafer map.  The platform also provides summary statistic capabilities for the wafer map.


Mapping Tool Set > Bare Wafer Map uses coordinate information and a response variable to create a bare wafer map.  The tool provides information about the quality of the fit for the smoothing algorithm used.  The tool currently supports Neural Network models - one type in JMP and two types in JMP Pro.  


Mapping Tool Set > Use Geometry creates Shape Files for JMP to use in the Graph Builder Platform.  Due to the differences in IT policy, the files are generated on the user's Desktop and it is left to the user to move these files to the correct location in the file system.  These locations can be found on page 308 in the JMP 13 book "Essential Graphing."  This book is included in the JMP install and can be found under Help > Books > Essential Graphing in JMP. 


Mapping Tool Set > Use Stepper Map creates Shape Files for JMP to use in the Graph Builder Platform as with the Wafer Map Generator.  This tool uses a table of coordinates to generate the map.  As with the Geometry Tool, see the JMP documentation for how to use the generated files with Graph Builder


Mapping Tool Set > Use Die Index uses a table of die indices to generating approximate wafer map shapefiles.  As with the Geometry Tool, see the JMP documentation for how to use the generated files with Graph Builder.

Analysis Tool Set > Cluster Defects is a front end for the Hierarchical Clustering Platform with the spatial measures option used.  This front end recasts the general terms used in the Hierarchical Clustering Platform into terms that are more familiar to the semiconductor industry.


Analysis Tool Set > Explore Patterned Data generates a report that supports exploration of binning and test data.  It provides the same summary statistics as the Patterned Wafer Map tool with additional drill-down capabilities.  


Analysis Tool Set > Compare Wafer Maps compares two wafer maps with dissimilar sampling patterns, i.e., different products on the same tool or process.


Utilities Tool Box > Attach Table Limits is a port of the tool by @txnelson.  Detailed documentation for its use can be found here.  


Hi, @MikeD_Anderson , @JinyoungLee , @Yngeinstn 


Thank you for your help.



I've solved the problems and could make the wafer map I want.

Now I know the STK is just Mike's personal project, but I have another question about STK.

Could you please help me one more time ?


  1. How can I make the Legend or interconnect the color of legend (and range) with JMP Graph, such as Figure 2.
  2. Can I delete the value in the die of wafer map?
  3. Can I zoom or fit the size of wafer map?
  4. How many dies can be handled in the current version?

Thanks again,

HK Jung




I'm a little unclear as to the "Figure 2" you mention.  Can you clarify?







Do you have any recommendations when it comes to something like this? I know you said this didn't didn't have the capability for pizza/jigsaw wafer and gave me some suggestions but i am really struggling here.. This is seriously the bane of my existence. At this point i think i am truly out of luck.. 


Thanks in advance


Pizza_Jigsaw Wafer Map.JPGPizza_Jigsaw Wafer Map_2.JPG


The problem here is the layout. The only way that I could think of to map this is to first generate a shapefile or coordinates for the field layout than transpose that across the shot map. It’s not something the STK is currently set up to do. If you had the coordinates of the corners for each of the sub-chips you could write some JSL to create the translations. That’s about the best solution that I can think of at the moment.

Sorry I can’t be more help on this one,


No worries.... If i can't figure this out then the designers will have to live with what i can actually do..






I am trying to use semiconductor toolkit, I opened a table, and when I click the toolkit, nothing happened.


could you please advise?



Hi, @Ally,


Can you open the log window and see if there are any messages there?  Also what version of JMP are you running?








Hi, @MikeD_Anderson 


I'm sorry to confuse you.

I have 4 questions.

1. I want to know how to make a legend, which is connected to the JMP distribution graph, on the wafermap. (JMP graph, figure2, means the distribution graph.)


2. Can I delete the value in the die of wafer map, such as count, range, mean and so on.


3. Can I zoom or fit the size of wafermap?


4. How many dies can be handled in the current version of semiconductor toolkit?


The JMP Korea's Senior Systems Engineer says the three functions (Q1, Q2, Q3) may be possible, and there is no limit of the number of die, but I'm little confused about whether he talks about JMP or STK. So I'll try to explain to JMP Korea's engineer in detail what I want from this tool. 

I really appreciate JMP's support.








Hi!  Thanks for the clarification.  On your questions see below.  


  1. I want to know how to make a legend, which is connected to the JMP distribution graph, on the wafer map.
    1. This is possible, but the STK isn't set up to do this at the moment.  I'll put it on the request list for the next release.
  2. Can I delete the value in the die of a wafer map, such as count, range, mean and so on?
    1. This is possible, but a little technical.  If you right-click on the graph you will see an option that says "customize".  In the customize menu, there is an entry for Die and Labels.  This graphic script contains an entry "Text(...)."  If you delete that entry the labels will disappear.  I'll also add a request to my list to make this easier.
  3. Can I zoom or fit the size of the wafer map?
    1. You can adjust the size of the map by dragging on the edges of the x- and y-axes on the graph.  
  4. How many dies can be handled in the current version of semiconductor toolkit?
    1. My counterpart is correct, there is no limit to the number of die or wafers that the STK can handle.  Practically, there will be a point where legibility will become an issue, which is a bigger concern in my book.  


Hope that helps!








I am using JMP 14.2 version and below is the log, while it is in Chinese. It is saying: invalid subscript (has to be number), it is accessing or calculating ''Loc(..."





Thanks!  That's informative.  I have a suspicion it has to do with the fact that you're running JMP in Chinese.  Can you do the following for me?

  1. Open a script window (File > New > New Script).
  2. Paste this command: Get Color Theme Names();
  3. Select Edit > Run Script.
  4. Look in the log and send me the list that shows up. 







Thanks for the instruction, Mike. Here is the output, while unfortunately, it is all Chinese charactors, all kinds of colors.


Does this help?


Get Color Theme Names();


{"由绿经黑到红", "由绿经白到红", "由白到黑", "由蓝经灰到红", "由蓝经绿到红", "光谱", "由蓝经青黄橙到红", "由白到蓝", "由白到绿",
"由白到红", "JMP 默认", "JMP 深色", "JMP 浅色", "浓重", "成对", "柔和色", "普通", "SAS 默认", "SAS 浅色",
"SAS 统计", "SAS 分析", "JMP 鲜艳", "冷色变暖色", "蓝白红", "绿色变紫色", "青色变棕色", "白色变橙色", "白色变紫色",
"黄色变红色", "黄色变蓝色", "Viridis", "Magma", "黑体", "紫绿色", "柔黄色变红色", "绿黄红", "暗灰色", "浓淡混合"}

Thanks, Ally!

That’s what I was afraid of. The STK is looking for a color theme in English. With the color theme names being in Chinese, it’s not able to find what it’s looking for and crashing out. I’m not sure how to work around this beyond turning on the English language localization.




I changed to English version and it is working now, thanks a lot.