Page suivante  Page précédente   Table des matières

V.3. Interprétation des mesures (algorithmes multicouches commentés)

L'ellipsométrie est rarement une fin en soi, son application à  la
caractérisation des propriétés de la matière a donné des appellations qui en
effacent l'usage sous-jacent ; sans chercher à  être exhaustif, et juste pour
inciter à méditer sur l'étonnante diversité des usages, on peut citer :
- La saccharimétrie est la mesure des concentrations de sucres en solution à
partir du pouvoir rotatoire de leurs molécules chirales.
- La photoélasticimétrie est l'étude des contraintes de structures mécaniques
grâce à la biréfringence accidentelle de matériaux transparents ; ainsi tous
les matériaux voient normalement leurs tenseurs diélectriques épouser la
symétrie des champs de contraintes auxquels ils sont soumis : dans le cas des
matériaux transparents la zone linéaire de variation des constantes
diélectriques avec les contraintes est appelée photoélasticité.

L'ellipsométrie des couches minces sert surtout à mesurer les épaisseurs des couches.

L'ellipsométrie sert aussi à mesurer les indices de réfraction mais cette mesure ne peut se faire que pour certaines conditions d'épaisseur et la précision atteind difficilement 10-5 : d'une certaine façon l'ellipsométrie n'est pas une bonne méthode pour mesurer les indices mais c'est souvent la seule !

L'ellipsométrie peut aussi servir à mesurer les rugosités d'interface, les concentrations, les porosités, les contraintes, les tenseurs diélectriques ... beaucoup de ces calculs sont encore du domaine de la recherche et ne sont pas disponibles sur les machines du commerce.

Pour chaque longueur d'onde lumineuse et pour chaque angle d'incidence l'épaisseur, l'indice d'une couche i dépendent de la mesure de Psi et Delta et des autres indices et épaisseurs de couches :

ei = G1(Ymes, Dmes, l,q,niautres,eiautres,ns).

ni = G2(Ymes, Dmes, l,q,niautres,eiautres,ns).

Cette extraction s'inspire souvent de la méthode décrite par [Reinberg] qui part d'un indice et itère numériquement suivant la méthode de Newton.

La connaissance de deux quantités réelles Y et D fonctions des variables du système multicouche (l,q,ni,ei,ns) permet, à priori, de calculer n'importe quel couple de quantités réelles dudit modèle multicouche : il y a bien deux équations qui lient Psi et Delta au modèle multicouche, alors deux inconnues peuvent être déterminées.

En fait, ce calcul suppose la connaissance parfaite du système multicouche et il est souvent préférable de comparer les valeurs de Psi et Delta mesurées à celles calculées ; cette comparaison de valeurs mesurées et calculées permet de vérifier le modèle multicouche choisi ou paradoxalement la qualité des mesures ellipsométriques (appareil mal qualibré, source lumineuse défaillante, bruit excessif dans la mesure ...).

Les équations ellipsométriques sont proches des relations réflectométriques ; c'est à dire que les indices et épaisseurs sont liés par la notion de chemin optique (c'est le produit ni*ei) en conséquence une erreur sur l'indice produit sur le calcul de l'épaisseur une erreur qui s'ajoute au bruit de mesure, aux erreurs de modèle et à la divergence des calculs d'indice au voisinage des passages de périodes. La conséquence pratique de ce problème de chemins optiques est de toujours commencer par effectuer les mesures d'épaisseurs en fixant les indices ; quand les indices sont fixés, si l'erreur de modèle multicouche ne dépasse pas quelques pourcents, la mesure d'épaisseur reste très sensible et ne présente qu'une erreur systématique de décalage.

En réalité, la mesure ellipsométrique met en jeu un modèle d'instrument qui produit des valeurs de Psi et Delta et un modèle multicouche de la surface à caractériser qui extrait au mieux deux quantités réelles de l'ensemble des variables à partir de chaque couple de mesures Psi et Delta.

En résumé les mesures (modèles) ellipsométriques disponibles sur beaucoup de machines commerciales sont :

Dans le présent document, seule, l'ellipsométrie des couches minces est
abordée : c'est la mesure de la variation de la polarisation de la lumière lors
de sa réflexion ou de sa transmission par un milieu stratifié. La réflexion qui
est l'usage le plus courant dans l'industrie microélectronique est traitée de
façon privilégiée d'autant plus qu'il est facile d'étendre les calculs au cas de
la transmission.

Les paragraphes suivants s'intitulent :
-a) Les paramètres ellipsométriques Psi et Delta
-b) Le calcul multicouche
-c) Principes de régression
-d) Epaisseur et indice d'une couche
-e) Indice complexe d'une couche
- Conclusion
- Bibliographie

Tous les calculs développés s'appuient d'une part sur la théorie de la propagation de la lumière dans les multicouches que l'on peut trouver dans l'ouvrage de Born et Wolf [2] (qui reprend une publication de F. Abelès, Ann.de Physique, 5 (1950), 596-640 et 706-782), d'autre part sur une astuce de calcul publiée par Alan R. Reinberg [3] en 1972 qui réduit le problème du calcul d'indice et d'épaisseur à la résolution d'une équation du deuxième degré avec un terme de propagation comme inconnue.

a) Les paramètres ellipsométriques Psi et Delta

La mesure de la polarisation lumineuse pose un problème de repère dans
l'espace ; la direction de la lumière incidente et la normale à la surface
stratifiée définissent le plan d'incidence ; le repère naturel de la mesure
ellipsométrique par réflexion est donné par les directions parallèle (noté p
comme parallel ) et perpendiculaire (noté s comme senkrecht) au plan
d'incidence orthogonalement à la direction de propagation de la lumière.

Quand la surface stratifiée est constituée de matériaux homogènes et
isotropes latéralement (i.e. le tenseur diélectrique peut être déformé
parallèlement à la normale de la surface), la lumière polarisée parallèlement
ou perpendiculairement au plan d'incidence conserve sa polarisation linéaire
après réflexion mais subit une atténuation et un déphasage caractérisés par
les quantités complexes rp et rs appelées réflectances :
rp=Atténuation_p*exp(i*Phase_p)
rs=Atténuation_s*exp(i*Phase_s)

La variation d'état de polarisation lors d'une réflexion est caractérisée par
les paramètres angulaires Psi et Delta définis par le rapport des réflectances :

rp/rs=Tan(Psi)*Exp(i*Delta)

La tangente de l'angle Psi est donc le rapport des atténuations :

Tan(Psi) = Atténuation_p/Atténuation_s

L'angle Delta est l'écart de déphasage entre la composante de polarisation
p et la composante de polarisation s :

Delta = Phase_p - Phase_s
 

b) Le calcul multicouche

L'effet des multicouches sur des ondes planes monochromatiques est
caractérisé par une matrice chaîne agissant sur le champ électrique [1] de
l'onde transmise et réfléchie en tout point du multicouche ; cette matrice
chaîne est constituée de matrices d'interfaces contenant les relations de
Fresnel et de matrices diagonales de propagation ; la matrice chaîne globale
est une matrice complexe 4x4 qui traîte séparément les composantes de
polarisation p et s ; l'homogénéité latérale des couches assure l'indépendance
des parties p et s et annule les 2 sous matrices 2x2 non diagonales. Pour
simplifier les explications il suffit donc d'exposer le cas d'une des deux
polarisation p ou s ; en reprenant les notations de l'ouvrage [1], il vient :

La matrice d'interface entre les milieux a et b :

              |1 rab |
Sfab= 1/tab * |     |
              |rab 1 |

avec les relations de Fresnel [2] :

rpab=(nb*cos(ta)-na*cos(tb))/(nb*cos(ta)+na*cos(tb))
rsab=(na*cos(ta)-nb*cos(tb))/(na*cos(ta)+nb*cos(tb))
tpab=(2*na*cos(ta))/(nb*cos(ta)+na*cos(tb))
tsab=(2*na*cos(ta))/(na*cos(ta)+nb*cos(tb))

La matrice de propagation dans le milieu (a) s'écrit :

     |Exp(i*Beta) 1           |
Sga= |                        |
     |1           Exp(-i*Beta)|

avec le terme de propagation :

Beta= 2*Pi*da*na*Cos(Phia)/Lambda

Les réflectances et transmittances complexes sont extraites de la matrice
finale :

rp=S21p/S11p
tp=1/S11p
rs=S21s/S11s
ts=1/S11s

d'où pour la réflexion :

Tan(Psi)*Exp(i*Delta)= S21p*S11s/S11p/S21s
 

c) Principes de régression

Supposons un multicouche de n couches d'épaisseur di et d'indice ni, sa
matrice chaîne S contient aussi les informations de longueur d'onde lumineuse
lambda et d'angle d'incidence Phi ; au total la matrice S est constituée de 3n+2
quantités réelles ; autrement dit Psi et Delta sont fonction de 3n+2 variables
réelles ; connaissant Psi, Delta et 3n des variables il est mathématiquement
possible de déterminer les 2 variables manquantes.

Pratiquement, la connaissance des 3n variables ne permet pas toujours de
déterminer les 2 manquantes à cause de la non linéarité des relations de
Fresnel : les épaisseurs sont plus facilement calculables à cause des termes
de propagation, tandis que les indices des couches minces transparentes restent
indéterminés au voisinage des épaisseurs nulles ou voisines de la période ;
en effet, la transparence induit des variations périodiques de Psi et Delta
en fonction de l'épaisseur avec une période t :

t=Lambda/2/sqrt(ni**2-sin(Phi)**2)).

La résolution numérique complète est possible, nous nous contentons de donner
seulement la solution du cas de n'importe quelle couche mince inconnue parmi
des couches minces toutes connues ; dans ce cas, il est facile d'isoler la
matrice correspondant à la couche inconnue dans la matrice multicouche ; si,
b est le matériau de la couche inconnue et a et c sont respectivement ceux des
couche précédente et suivante, il vient :

S=S1*Sfab*Sgb*Sfbc*S2

Nous laissons au lecteur le soin de faire les multiplications correspondantes
avec les notations du paragraphe précédent ; en développant le rapport des
réflectances complexes on obtient une équation du deuxième degré du terme de
propagation :

A*X**2+B*X+C=0

Avec : X=exp(-i*2*Betab) ; Betab=2*Pi*db*nb*Cos(Phib)/Lambda

Où A, B et C sont des combinaisons des relations de Fresnel et termes de
propagation dans tout le multicouche ; cette équation est une généralisation
de l'équation donnée par Alan R. Reinberg [3] pour la régression sur une
monocouche sur un substrat.

L'extraction des racines de l'équation permet d'éliminer le terme de propagation
et de poursuivre le calcul par une régression de Newton sur la quantité
nb*cos(Phib) afin d'obtenir l'indice du substrat ; le paragraphe suivant
porte sur le calcul de l'indice réel (milieu transparent) et celui d'après sur
l'obtention de l'indice complexe.
 

d) Epaisseur et indice d'une couche

Ce calcul est une extension au multicouche du calcul proposé par Alan R.
Reinberg [3] sur le monocouche transparent.

Le paragraphe précédent explique les tenants et aboutissants du présent calcul.
La meilleure façon d'expliquer le détail d'une régression est d'en présenter
le code source dans un langage de programmation (ADA dans ce cas). Le calcul du
monocouche est le plus simple à exposer dans le texte, le lecteur pourra étudier
les programmes multicouches complets joints en annexe.

Ol : Longueur d'onde de la lumière incidente
Phi : Angle d'incidence
Phi1 : Angle de réfraction dans la couche d'indice N1
AN=N1 : Indice de la couche mince
CN2 : Indice du substrat
Rho= Tan(Psi)*Exp(i*Delta)=Cro : rapport des réflectances complexes.

Les quantités CS et CP sont introduites pour obtenir des expressions identiques
pour les polarisations P et S des relations de Fresnel :

CS0=Cos(Phi)
CP0=1/CS0=1/Cos(Phi)

SI2=Sin(Phi)**2
CS2=SQRT(N2**2-SI2)
CP2=N2**2/CS2
S=CS1=SQRT(N1**2-SI2)=N1*Cos(Phi1)
CP1=N1**2/CS1

CR1P=(CP1-CP0)/(CP1+CP0) ; CR1S=(CS0-CS1)/(CS0+CS1)
CR2P=(CP2-CP1)/(CP2+CP1) ; CR2S=(CS1-CS2)/(CS1+CS2)

et maintenant le coeur du code source :

-- METHODE DE NEWTON ITEREE 15 FOIS MAXIMUM
I:=1;
Res:=0.1;
Ds:=0.001;
WHILE Res>0.0005 AND I<15 LOOP
FOR J IN 1..2 LOOP
-- S=N1*Cos(Phi1) est differencie : S+/-Ds
Cs1:=(S+Ds*(2.0*Float(J)-3.0),0.0);
Cp1:=Cs1+((Si2,0.0)/Cs1);
-- Cres extrait la racine Cz physiquement acceptable de A*X**2+B*X+C=0
Cres(Cs0,Cs1,Cs2,Cp0,Cp1,Cp2,Cro,Cz(J));
Al(J):=Ln(Complexe.Amplitude(Cz(J)));
END LOOP;
Dss:=Ds*(Al(1)+Al(2))/(Al(1)-Al(2));
S:=S+Dss;
Res:=Abs(Dss/S);
I:=I+1;
END LOOP; -- SORTIE DU NEWTON
An:=Sqrt(S*S+Si2);
IF An<1.0 THEN -- blocage inferieur de l'indice a 1
An:=1.0;
S:=Sqrt((An*An)-Si2);
END IF;
IF An>5.0 THEN -- blocage superieur de l'indice a 5
An:=5.0;
S:=Sqrt((An*An)-Si2);
END IF;
Czz:=(Cz(1)+Cz(2))/(2.0,0.0);
Ep:=Ol/(4.0*Pi*S)*Complexe.Atan2(-Czz.Im,Czz.Re);

Il convient de donner le détail de la résolution de l'équation du deuxième
degré :

PROCEDURE Cres(Cs0:IN Complexe.Complexe; Cs1:IN Complexe.Complexe;
Cs2:IN Complexe.Complexe; Cp0:IN Complexe.Complexe;
Cp1:IN Complexe.Complexe; Cp2:IN Complexe.Complexe;
Cro:IN Complexe.Complexe; Cz:OUT Complexe.Complexe) IS
Cr1p,Cr1s,Cr2p,Cr2s,Ca,Cb,Cc,Cd,Cz1,Cz2 : Complexe.Complexe;
BEGIN
Cr1p:=Cf(Cp1,Cp0);
Cr1s:=Cf(Cs0,Cs1);
Cr2p:=Cf(Cp2,Cp1);
Cr2s:=Cf(Cs1,Cs2);
-- resolution de l'equation du deuxieme degre : Ca*Cz**2+Cb*Cz+Cc=0
-- calcul des coefficients Ca, Cb et Cc pour le monocouche :
Ca:=(Cr1s*Cr2s*Cr2p)-(Cro*Cr1p*Cr2p*Cr2s);
Cb:=Cr2p+(Cr1p*Cr1s*Cr2s)-(Cro*(Cr2s+(Cr1s*Cr1p*Cr2p)));
Cc:=Cr1p-(Cro*Cr1s);
Cd:=Complexe.Sqrt((Cb*Cb)-((4.0,0.0)*Ca*Cc));
Cz1:=((0.0,0.0)-Cb+Cd)/((2.0,0.0)*Ca);
Cz2:=((0.0,0.0)-Cb-Cd)/((2.0,0.0)*Ca);
Cz:=Cz1;
-- Choix de la racine qui correspond a une couche transparente :
-- Physiquement : Cz=Exp(i*Beta) et la transparence implique Beta reel
-- Ce qui mathematiquement correspond a verifier que le module ce Cz tend vers 1
IF ((Complexe.Amplitude(Cz1)-1.0)>(Complexe.Amplitude(Cz2)-1.0)) THEN
Cz:=Cz2;
END IF;
END Cres;

La solution est atteinte quand on a trouvé CS1 tel que le module de CZ soit
égal à 1 ; à la différence de la solution proposée par Reinberg, c'est
la quantité N1*Cos(Phi1) et non N1 qui est itérée.

Dans le cas où l'indice est fixé (ce qui est conseillé pour les couches
très minces ou voisines de la période), c'est la partie réelle de CZ qui
donne l'épaisseur.
 

e) Indice complexe d'une couche

Ce calcul est une adaptation aux couches semi-transparentes du calcul proposé
par Alan R. Reinberg [3] sur le monocouche transparent ; la méthode de Newton
qui portait sur la partie réelle de l'indice porte maintenant sur les parties
réelle et imaginaire.

Le paragraphe IV explique les tenants et aboutissants du présent calcul.
La meilleure façon d'expliquer le détail d'une régression est d'en présenter
le code source dans un langage de programmation (FORTRAN dans ce cas). La
fonction complexe dont on cherche le zéro est simplement RPS-CRO pour l'indice
du substrat et Log(CZZ)-N*Cos(Phi) pour une couche quelconque (INC).

DSR=.001
DSI=.0001
C DEBUT ITERATION NEWTON------------
C
C
DO 5 I=1,10 iteration Newton
C
C racines du plan cplx jk=1,5
C CCS ncos phi de l'interface NC/NC+1
C
DO 6 JK=1,5 ! RACINES DU PLAN CMPLX

C CS1=N*Cos(Phi) de la couche INC est la quantite differenciee
C
IF(JK.EQ.1)THEN
CS1=CCS-DSR ! 1 a gauche (difference reelle)
ELSE IF(JK.EQ.2)THEN
CS1=CCS+DSR ! 2 a droite (difference reelle)
ELSE IF(JK.EQ.3)THEN
CS1=CCS-CMPLX(0.,DSI) ! 3 dessous (difference imaginaire)
ELSE IF(JK.EQ.4)THEN
CS1=CCS+CMPLX(0.,DSI) ! 4 dessus (difference imaginaire)
ELSE
CS1=CCS ! 5 au centre
ENDIF
C(INC+1,2)=CS1
C(INC+1,1)=CS1
CEE(2,1)=CS1*CS1+SPH
c
c CEE(2,1)=valeur de départ de Epsilon pour la couche Nc
c calcul de RP et RS correspondants
c
C
CRP(INC+1)=CF(CEE(3,1)*C(INC+1,1),CEE(2,1)*C(INC+2,1))
CRS(INC+1)=CF(C(INC+1,2),C(INC+2,2))
c
c------------------------------------- cas substrat
IF(INC.EQ.0)THEN !
CALL VMOV(0.,0,R,1,32) ! INITIALISATION : R=0
C-----MATRICE ----R = F(Rp,Rs)
R(1,1)=1.
R(1,2)=CRP(1)
R(2,1)=CRP(1)
R(2,2)=1.
R(3,3)=1.
R(3,4)=CRS(1)
R(4,3)=CRS(1)
R(4,4)=1.
IF(NC.EQ.0)GOTO61
C------------------- substrat goto 61 ! cas substrat
DO 60 J=1,NC
CALL VMOV(0.,0,CCC,1,32)   ! INITIALISATON : CCC=0
CCC(1,1)=CEX(J,1)
CCC(1,2)=CRP(J+1)/CEX(J,1) ! MULTICOUCHE
CCC(2,1)=CRP(J+1)*CEX(J,1) ! AVEC LA VALEUR SUPPOSEE
CCC(2,2)=1./CEX(J,1)       ! EPSILON DE LA COUCHE
CCC(3,3)=CEX(J,2)          ! TABULATION EXTERIEURE DES
CCC(3,4)=CRS(J+1)/CEX(J,2) ! COEFF DE FRESNEL CRP ET CRS
CCC(4,3)=CRS(J+1)*CEX(J,2) ! ET DES TERMES DE PROPAGATION CEX
CCC(4,4)=1./CEX(J,2) !
C ---PRODUIT MATRICIEL ----------------------------------------------------
DO 69 K=1,4
DO 69 L=1,4
H(K,L)=0.
IF((IABS(K-L).EQ.2).OR.(K+L.EQ.5))GOTO69
DO 68 M=1,4
68 H(K,L)=H(K,L)+CCC(K,M)*R(M,L)
69 CONTINUE
C
C ------------TRANSFER H DANS R
CALL VMOV(H,1,R,1,32) ! TRANSFERT DE H : R=H
60 CONTINUE
C------------------FIN CALCUL MULTI-COUCHE
C
61 RRP=R(2,1)/R(1,1)
RRS=R(4,3)/R(3,3)
RPS=RRP/RRS
C------------------RPS=VALEURS DE RO=TG(PSI)*EXP(i*DELTA)
C SC1,SC2 ECART AVEC LA PARTIE REAL,IMAG ENTRE CALCUL ET MESURE
C
C-----------------------------------------------------
SC2(JK)=REAL(RPS-CRO)
SC1(JK)=AIMAG(RPS-CRO)
C-------------------------FIN CAS SUBSTRAT---
C cas d'une couche inconnue qui n'est pas le substrat
c
ELSE ! CAS INC/=0
C LE CALCUL DE RP ET RS pour l'autre interface 1/2
C
CC
CRP(INC)=CF(CEE(2,1)*C(INC,1),CEE(1,1)*C(INC+1,1))
CRS(INC)=CF(C(INC,2),C(INC+1,2))
C
C LE TERME DE PROPAGATION DE LA COUCHE INC EST FIXE A 1 :
C IL SERA DONNE PAR L'EQUATION DU SECOND DEGRE
C FIXE A 1 IL PERMET LE CALCUL DU MULTICOUCHE SUPERIEUR H A LA COUCHE INC
CEX(INC,1)=CMPLX(1.0,0.0)
CEX(INC,2)=CMPLX(1.0,0.0)
C-----------------------FINI POUR RP, RS !!
C
C INITIALISE LA MATRICE R(4,4) CMPLX
C
CALL VMOV(0.,0,R,1,32)
R(1,1)=1.
R(1,2)=CRP(1)
R(2,1)=CRP(1)
R(2,2)=1.
R(3,3)=1.
R(3,4)=CRS(1)
R(4,3)=CRS(1)
R(4,4)=1.
C
IF(NC.EQ.0) GOTO 21 ! SECURITE MULTICOUCHE NUL ?
C
DO 20 J=1,NC
C MULTI-COUCHE INC/=0
C

C INITIALISE LA MATRICE CCC(4,4) CMPLX
CALL VMOV(0.,0,CCC,1,32)
CCC(1,1)=CEX(J,1)
CCC(1,2)=CRP(J+1)/CEX(J,1)
CCC(2,1)=CRP(J+1)*CEX(J,1)
CCC(2,2)=1./CEX(J,1)
CCC(3,3)=CEX(J,2)
CCC(3,4)=CRS(J+1)/CEX(J,2)
CCC(4,3)=CRS(J+1)*CEX(J,2)
CCC(4,4)=1./CEX(J,2)
C
C ON ARRIVE A LA COUCHE INC : R EST TRANSFERE DANS G, CCC DANS R
C G EST LE MULTICOUCHE INFERIEUR A LA COUCHE INC
C
IF(J.EQ.INC)THEN
C -----------------------------------
CALL VMOV(R,1,G,1,32) !
CALL VMOV(CCC,1,R,1,32) !
GOTO 20 !
ENDIF !----------!
C
C PRODUIT MATRICIEL PUIS TRANSFERT DANS R
C
DO 99 K=1,4
DO 99 L=1,4
H(K,L)=0.
C ELIMINE LES SOUS MATRICES NULLES
IF((IABS(K-L).EQ.2).OR.(K+L.EQ.5))GOTO99
DO 88 M=1,4
88 H(K,L)=H(K,L)+CCC(K,M)*R(M,L)
99 CONTINUE
C
C
C ----------------------- TRANSFERT DANS R
CALL VMOV(H,1,R,1,32)
C TRANSFER SI J=INC
C
20 CONTINUE
CALL VMOV(R,1,H,1,32)
C
C BRANCHEMENT NC=0
C
21 BIDON=BIDON ! SECURITE MULTICOUCHE NUL ?
C
C
C LES MULTICOUCHES G ET H CERNANT INC DONNENT LES TERMES DE L'EQUATION
C
DO 23 JJ=1,2
KK=2*(JJ-1)
CI(JJ)=G(1+KK,1+KK)*H(2+KK,1+KK)
CJ(JJ)=G(2+KK,1+KK)*H(2+KK,2+KK)
CK(JJ)=G(1+KK,1+KK)*H(1+KK,1+KK)
CL(JJ)=G(2+KK,1+KK)*H(1+KK,2+KK)
23 CONTINUE
C
C
C COEF A,B,C DU TRINOME
C---------------------------------------------
CAO=CJ(1)*CL(2)-CRO*CL(1)*CJ(2)
CBO=CI(1)*CL(2)+CJ(1)*CK(2)-CRO*(CK(1)*CJ(2)+CL(1)*CI(2))
CCO=CI(1)*CK(2)-CRO*CK(1)*CI(2)
C
CDO=CSQRT(CBO*CBO-4.*CAO*CCO)
CZ1=(-CBO+CDO)/(2.*CAO)
CZ2=(-CBO-CDO)/(2.*CAO)
CZZ=CZ1
C
C LA RACINE CZZ EST LE TERME DE PROPAGATION CEX(INC)**2 DANS LA COUCHE INC
C
C CN = n-i*k
C CZZ = EXP(-i*2*Beta) ; Beta = 2*PI*D(INC)*CN*COS(Phi)/OL
C soit :
C CZZ = EXP(-2*Im(Beta))*(COS(2*Reel(Beta))-i*SIN(2*Reel(Beta)))
C
C CHOIX DES RACINES
C------------------------------------------------------
C ATTENTION !!!!
C EQUIVALENCE (CS1,S),(CDSS,DSS),(DSS(1),DSSR),(DSS(2),DSSI)
C EQUIVALENCE CS1,S REAL CS1(5), S(2)
C
C IF(ALOG(CABS(CZ1)).GT.
C + ALOG(CABS(CZ2)))CZZ=CZ2
C
C
C LA LUMIERE EST ABSORBEE DANS LA COUCHE INC EN EXP(T*S(2)) AVEC
C S(2)=-k*Cos(Phi)
C k est la partie imaginaire de l'indice de la couche INC
C S(2) est nul pour une couche transparente
C pour memoire : T=4*Pi*D(INC)/Lambda
C
IF(ABS(ALOG(CABS(CZ1))-T*S(2)).GT.
+ ABS(ALOG(CABS(CZ2))-T*S(2)))CZZ=CZ2
C
C choix de la plus proche valeurs T*s(2)=
C on recalcule CS1 avec la nouvelle valeurs
C
C
SC1(JK)=ATAN2(-AIMAG(CZZ),REAL(CZZ))/T
SC2(JK)=ALOG(ABS(CZZ))/T
c sc1 = -argument/(4pid/lbda)
c sc2 = log(module)/T
C SC1+i*SC2 = CN*COS(Phi)
C
ENDIF

6 CONTINUE
C-------CALCUL DES DERIVEES
IF(INC.EQ.0)THEN ! Cas du substrat
C
C DANS LE CAS DU SUBSTRAT C'EST RPS-CRO QUI EST DIFFERENCIE
C
F1=SC1(5) ! Im(RPS-CRO)
F2=SC2(5) ! Re(RPS-CRO)
FP1=(SC1(2)-SC1(1))/(2.*DSR)
FP2=(SC1(4)-SC1(3))/(2.*DSI)
FP3=(SC2(2)-SC2(1))/(2.*DSR)
FP4=(SC2(4)-SC2(3))/(2.*DSI)
ELSE ! Cas de la couche INC
C
C x+i*y=Re(N*cos(Phi))+i*Im(N*cos(Phi))
C
F1=SC1(5)-S(1) ! a(x,y)-x
F2=SC2(5)-S(2) ! b(x,y)-y
FP1=(SC1(2)-SC1(1))/(2.*DSR)-1. ! da/dx-1
FP2=(SC1(4)-SC1(3))/(2.*DSI)    ! da/dy
FP3=(SC2(2)-SC2(1))/(2.*DSR)    ! db/dx
FP4=(SC2(4)-SC2(3))/(2.*DSI)-1. ! db/dy-1
ENDIF
C
C
C DSC DISCRIMINANT DSSR,DSSI
C DIMENSION DSS(2) CDSS RE,CDSS IM
C EQUIVALENCE (CDSS,DSS),(DSS(1),DSSR),(DSS(2),DSSI)
C DSSI DSSR SONT LES PARTIES IMAGINAIRE ET REELLE DE CDSS
C
C
C
DSC=FP1*FP4-FP2*FP3
DSSR=(FP2*F2-FP4*F1)/DSC
DSSI=(FP3*F1-FP1*F2)/DSC
C
C stabilisateur limitateur de convergence
C
IF((I.NE.1).AND.(ABS(CDSS/CDSP).GT.2.))CDSS=CDSP*2.
CDSP=CDSS
CCS=CCS+CDSS
IF(ABS(CDSS/CCS).LT..00001) GOTO7 ! SORTIE DU NEWTON
C
C
C
C ----FIN DE LA BOUCLE ITERATION I=1,10 -------------------
5 CONTINUE
C
WRITE(1,'("--"/"CCS :",2F7.3,
+" DSSR, DSSI :",2F7.4)')CCS*CCS+SPH,CDSS
C
7 CNC=CCS*CCS+SPH ! EPSILON DANS CNC ET CCS=SQRT(N2-SINQ**2)
IPER=NINT(REAL(CCS)/PERS)
P=OL/(2*REAL(CCS))
 

Conclusion

Théoriquement il est possible de déterminer n'importe quel couple de quantités
réelles à partir d'une mesure de Psi et Delta. Les logiciels MathLab ou Mapple permettent de
le réaliser facilement en utilisant le calcul multicouche brut ; à défaut de
disposer d'outils similaires, ou d'adapter une méthode de Newton sur le
multicouche global, les paragraphes IV. V. et VI. donnent les codes sources de
méthodes numériques qui résolvent le cas pratique le plus courant à savoir la
détermination d'une couche inconnue parmi d'autres couches connues.

Chaque technique de mesure ellipsométrique a développé ses stratégies d'interpétation des mesures. Les architectures logicielles les plus élaborées sont actuellement en ellipsométrie spectroscopique pour satisfaire les besoins de la physique des matériaux. L'ellipsométrie à angle d'incidence variable (Rudolph) satisfait plutôt des besoins technologiques de métrologie d'épaisseurs et de contrôle des surfaces. L'ellipsométrie monochromatique ou polychromatique est plutôt orientée vers la mesure temps réel et permet de satisfaire les petits budgets.

Aucun équipement ne permet actuellement d'effectuer des mesures d'épaisseurs et d'indice de multicouches sans qu'un opérateur lui ait expressément indiqué les empilements et les matériaux en présence ainsi que les quantités qu'il choisit de mesurer ; les ellipsomètres spectroscopiques qui disposent pourtant souvent de suffisamment de données (mesures, bases de données matériaux et modèles de dispersion et de mélange) ne proposent toujours pas de logiciels à la hauteur de ce qui se fait de mieux en matière de vérification de cohérence d'interprétation de mesure.

Les chaînes logicielles comprennent typiquement trois composantes :

Quand le modèle analytique de l'ellipsomètre est correct et que les hypothèses sur le multicouche mesuré sont valides alors les valeurs de Psi et Delta de la mesure coïncident avec celles qui sont recalculées par la modélisation multicouche ; précisément, il est risqué de n'utiliser que le modèle de l'ellipsomètre avec le calcul de régression sans vérifier que le calcul multicouche rend bien des valeurs Psi et Delta qui coïncident avec la mesure.

Pour toute amélioration ou correction de ce texte, prière de contacter :
aime.vareille@wanadoo.fr ou pballet@spectro.ujf-grenoble.fr

BIBLIOGRAPHIE

[1] Ellipsometry and Polarized Light, R.M.A. Azzam et N.M. Bashara,
North Holland Publishing Company 1977, Chapitre 4.
[2] Principles of Optics, Max BORN and Emil WOLF, Pergamon Press 1975.
[3] Ellipsometer Data Analysis with a Small Programmable Desk Calculator,
Alan R. Reinberg, May 1972, Vol. 11, n°5, APPLIED OPTICS.


Page suivante     Page précédente     Table des matières