cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
Neo
Neo
Level VI

How to get Process Parameter Group Yield per "Wafer ID in lot ID"?

The following example script gets the "Process Parameter" Yield per "Wafer ID in lot ID" using the sample Semiconductor Capability data table.

 

Names Default To Here (1);
clear log ();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp"); // My actual data is similar
col_names = dt << Get Column Group("Processes");
ps = dt << Process Screening (Process Variables( Eval( col_names )),
Spec Limits Dialog( "No (skip columns with no spec limits)" ),
Control Chart Type ("Indiv and MR"),
Grouping (:Wafer ID in lot ID );
);
cdt_ps = Report(ps)[Outline Box( "Process Screening" )][Table Box( 1 )] << Make Combined Data Table;
Wait(1 );
ps<< SendToReport( Dispatch( {}, "Process Screening", OutlineBox, {Close( 1 )} ) );
Wait (1);
ps << close window;
cdt_ps << New Column( "PassingDie", Numeric, "Continuous", Format( "Best", 12 ), Formula(:Count - :Out of Spec Count));
cdt_ps << New Column( "ParaYield [%]", Numeric, "Continuous", Format( "Best", 12 ), Formula(100*(:PassingDie / :Count)));
cdt_ps:Column << Set Name( "Process Parameter" );

Now lets call a Process Parameter "PP", the Process Parameter Group "PPG" and a Wafer ID in lot ID "wfrIDinLotID" 

 

Next I want to extract the PPG yield per wfrIDinLotID where the PPG's are defined as:

  • All PNP's in one group
  • All NPN's in another group
  • All INM's are in another group and so on.
    i.e. all PPs generated by the line below but without the numbers at the end form the PPG names.

 

cdt_ps << Summary(Group( :Process Parameter ), Freq( "None" ), Weight( "None" ));

I do not yet know how to do get the PPG names in a new column in JSL. So, need some help here.

Some PPGs may have just one member which is fine.

The fail count of a given PPG is, I think, is the sum of fail counts of each of its members, later being available from the above script.

Therefore, for a particular wfrIDinLotID, the "Out of Spec Count" for a given PPG, is expected to have a single numerical value. This will go to a new column, lets call it OOSC_PPG.

The PPG yield for a given wfrIDinLotID would then be 100*(number of SITEs with OOSC_PPG = 0)/ Total SITEs tested.

Total sites tested per wfrIDinLotID is 5 in the example data table.

 

Finally, I would like to generate a report with 3 columns: wfrIDinLotID, PPG,  PPG yield.

Please could I have some direction on how to proceed with JSL?

 

When it's too good to be true, it's neither
6 REPLIES 6
jthi
Super User

Re: How to get Process Parameter Group Yield per "Wafer ID in lot ID"?

What have you tried?

-Jarmo
Neo
Neo
Level VI

Re: How to get Process Parameter Group Yield per "Wafer ID in lot ID"?

@jthi. First I need to separate the letters from the numbers in the Process Parameter names to arrange them in groups. Do not know how to do separate text from numbers in JSL.

 

When it's too good to be true, it's neither
hogi
Level XI

Re: How to get Process Parameter Group Yield per "Wafer ID in lot ID"?


cool trick: "abuse" the Process Screening platform to get out of spec counts per wafer.
very helpful : )

 

@Neo wrote:

The fail count of a given PPG is, I think, is the sum of fail counts of each of its members


I fear: no
- at least: not in general.

here is an example for  NPN5 & NPN6. If you sum the fail counts, you will count the blue+orange dots twice.
To generate grouped yields (via grouped pass/fail info), you have to start from the raw data. 

hogi_1-1721477464382.png

Neo
Neo
Level VI

Re: How to get Process Parameter Group Yield per "Wafer ID in lot ID"?

@hogi . Hmm..

>>>To generate grouped yields (via grouped pass/fail info), you have to start from the raw data

I feared so....

 

but thinking again and contrary to what I thought before, if any one of the members of particular PPG is out of spec, the tested site fails for the particular PPG.

I have a feeling, this can be handled without going back to raw data. 

When it's too good to be true, it's neither
hogi
Level XI

Re: How to get Process Parameter Group Yield per "Wafer ID in lot ID"?


@Neo wrote:

 the tested site fails for the particular PPG.


But with the current approach, you aggregate in the Process Screening Platform - and lose the site information.

 

Let's say, for one of the wafers NPN5 fails at site 1, 2, 3 and NPN6 fails at 2, 3, 4.

Then in the Process Screening platform, you will get for this wafer:

  • out of spec count NPN5 : 3
  • out of spec count NPN6 : 3


I think the only way to find out how many of the sites failed for this wafer (NPN5 or NPN6) is:
go to the original table, count: 1,2,3,4

-> #fails = 4

jthi
Super User

Re: How to get Process Parameter Group Yield per "Wafer ID in lot ID"?

I agree with @hogi , you have to perform the calculation on the level where you still have access to the site. If you use process screening you won't be able to differentiate between overlaps. Consider that you have 5 sites on a wafer and 10 tests. If the wafers has only failures on site 1 an ALL tests, would you want to count that as 1 failed site or as 10 failed tests (hogi's post has other example). I would think you don't want to count this as 10 failed sites?

-Jarmo