1 Introduction

In semiconductor manufacturing, the gate critical dimension is a critical parameter that directly impacts device performance and yield. Maintaining tight control over the dimension is essential for:

  • Device electrical performance
  • Manufacturing yield optimization
  • Process consistency across wafer lots

This analysis employs statistical hypothesis testing to evaluate process performance and determine appropriate sample sizes for quality control studies.

2 Problem 1

In the gate lithography step of semiconductor manufacturing, the target gate critical dimension (CD) is 32.0 nm. Engineers want to test whether the process mean significantly deviates from this target. A schematic of the gate is provided below:

2.1 We will now use the presamples to determine the sample size.

presample<-c(31.6, 32.1, 31.9, 31.7, 32.2, 31.8, 32.0, 31.5, 31.9, 31.7)
sd(presample)
## [1] 0.2221111

We now have the standard deviation. We will use this to determine the number of samples we need using the t-power test.

power.t.test(n = NULL, delta = 0.1, sd = .2221111, sig.level = 0.05,power = 0.85,type = c("one.sample"), alternative = c("two.sided"))
## 
##      One-sample t test power calculation 
## 
##               n = 46.25363
##           delta = 0.1
##              sd = 0.2221111
##       sig.level = 0.05
##           power = 0.85
##     alternative = two.sided

We get the value of n = 46.253. We round it up to 47

3 Problem 2

A fab is evaluating two different lithography tools to determine whether they produce wafers with the same mean gate CD.

  • Population 1 (Tool 1): Data are the measurements from Problem 1.

  • Population 2 (Tool 2): A second dataset of measurements is to be collected from another tool.

We will perform a two-sample pooled-variance t-test to compare the tools.  The test should be performed at a significance level of   The test should be powerful enough to detect a mean difference of 0.20 nm between tools with 90% probability (power = 0.90).  How many samples should be collected from the second population (Tool 2) and used in the two-sample t-test with Tool 1? 

samples<-c(31.6, 32.1, 31.9, 31.7, 32.2, 31.8, 32.0, 31.5, 31.9, 31.7,32.1, 32.0, 32.1, 32.3, 31.9, 31.9, 32.3, 32.2, 31.9, 32.1,31.9, 31.9, 32.1, 31.6, 31.6, 31.9, 31.8, 32.1, 31.8, 31.7,32.3, 32.0, 32.0, 31.7, 31.9, 32.0, 31.7, 32.1, 31.9, 31.9,31.9, 32.4, 32.0, 31.8, 32.2, 31.7, 31.9)

One - sided

t.test((samples),mu=32)
## 
##  One Sample t-test
## 
## data:  (samples)
## t = -2.1047, df = 46, p-value = 0.04081
## alternative hypothesis: true mean is not equal to 32
## 95 percent confidence interval:
##  31.87512 31.99722
## sample estimates:
## mean of x 
##  31.93617
dat<-rnorm(40,10,2)
dat
##  [1] 10.910249 12.595461 11.299137  8.363784  5.674494  9.938236 11.350505
##  [8]  9.656028 12.813092  8.751224  8.602887  7.896202  8.084090  9.680444
## [15] 10.775182  6.732601 10.674856 12.714164 10.832880 10.895693  5.934505
## [22]  9.990453  9.634380  6.372859 11.803924 10.351361  8.080458  9.110627
## [29] 11.168839  9.012711 12.327372  8.840692 11.314044 11.105124  9.515748
## [36] 12.943549  9.268618 11.262450 14.039960  8.246597

Two sided

power.t.test(delta = 0.2,sd=0.222111,sig.level = 0.05,
             power=0.9,type = "two.sample",
             alternative = "two.sided")
## 
##      Two-sample t test power calculation 
## 
##               n = 26.91595
##           delta = 0.2
##              sd = 0.222111
##       sig.level = 0.05
##           power = 0.9
##     alternative = two.sided
## 
## NOTE: n is number in *each* group

We will use 27 samples

4 Visualizing the Data

4.0.1 Histogram

hist(dat,main="histogram of collected data",col="gold")

4.0.2 Box-Plot

boxplot(dat,main="Boxplot of data",col="purple")

5 Complete R Code

The complete R code

presample<-c(31.6, 32.1, 31.9, 31.7, 32.2, 31.8, 32.0, 31.5, 31.9, 31.7)
sd(presample)
power.t.test(n = NULL, delta = 0.1, sd = .2221111, sig.level = 0.05,power = 0.85,type = c("one.sample"), alternative = c("two.sided"))
samples<-c(31.6, 32.1, 31.9, 31.7, 32.2, 31.8, 32.0, 31.5, 31.9, 31.7,32.1, 32.0, 32.1, 32.3, 31.9, 31.9, 32.3, 32.2, 31.9, 32.1,31.9, 31.9, 32.1, 31.6, 31.6, 31.9, 31.8, 32.1, 31.8, 31.7,32.3, 32.0, 32.0, 31.7, 31.9, 32.0, 31.7, 32.1, 31.9, 31.9,31.9, 32.4, 32.0, 31.8, 32.2, 31.7, 31.9)
t.test((samples),mu=32)

dat<-rnorm(40,10,2)
dat

power.t.test(delta = 0.2,sd=0.222111,sig.level = 0.05,
             power=0.9,type = "two.sample",
             alternative = "two.sided")

hist(dat,main="histogram of collected data",col="gold")

boxplot(dat,main="Boxplot of data",col="purple")