一维理想器件的电势分布问题

研究背景

最近两三个月,本人在断断续续地学习一维MOS器件的数值模拟仿真 (仅Poisson方程),主要细节见
https://www.cnblogs.com/ghzhan/articles/17031958.html
https://www.cnblogs.com/ghzhan/articles/17368238.html
https://www.cnblogs.com/ghzhan/articles/17372907.html

当下图器件区域掺杂浓度分别为 1E20 - 5E19 - 1E20 时,器件电势分布和PLDOS如下图所示

我将试着器件中间区域的掺杂浓度设为 0,即本征浓度时,得到器件电势分布如图所示,

最终得到的电势并不是我所期望的:中间的电势差值我一直认为是 1.12eV/2 = 0.56eV左右,但结果却是 0.35 eV左右. 这个问题困扰了我许久,导致代码开发受阻,今天终于搞清楚了,特此记录一下。

研究问题

最开始碰到这个问题,我尝试用不同的方法去检验我自己的逻辑是否自洽,便用了最简单的PN结去测试,测试的结果如下

不难发现,当器件中间区域未掺杂时,其两端与中间的电势之差也不是 0.56 V, 于是我开始怀疑我的逻辑不自洽了,或者我忽略了一些十分重要的因素。

接着(....过了n天),我用比较成熟的程序例如 Sentaurus/GTS 去搭建这样的器件模型测试, 尝试着找到它们的联系, 最后也失败了,因为我没有搭建好这样的一维理想器件模型,直接是用的官方例子给的2D MOSFET, 这些器件都加了栅极Gate的模型(这个在仿真细节处理上很关键,后面我再讲).

接着(....又过了n天),我翻遍了github,找到一位韩国学者很早之前做的项目 (NEGF_DGMOS)[1],运行了他们的MATLAB源代码, 才渐渐地明白了...

我的核心问题是,器件中间是本征区域,为啥不是正好 Eg/2?

GTS 结果

采用官方给出的二维N型MOSFET例子,Ew (与栅极功函数有关)分别设置 -0.55和 0 eV, 计算器件转移曲线

不难发现, Ew的作用体现在'偏移了'器件的转移曲线.

下面再来分析器件的电势分布, 先将栅极电压和源漏电压均设为 0 V.
当 Ew = -0.55 eV 时, 器件中央的电势分布为

当 Ew = 0 eV时, 器件中央的电势分布为

NEGF_DGMOS

NEGF_DGMOS 是二维 Double Gate 器件的NEGF仿真.

逐句地分析栅极电势部分源码. 因为对于器件模型数值计算,得必须设置好边界条件,栅极电势通常是采用第一类边界条件。

点击查看代码
 %% bias 
 Vg_bias = 0.1;  % Vgs [V]
 % 陛加 - workfunction: 4.1 eV 
 % 角府能 - electron affinity: 4.05 eV, bandgap: 1.11 eV
 % barrier height = 4.1 - (4.05 + 1.11/2) = -0.505 eV -> 0.505 V
 Vg_barrier  = 0.505; % [V]  
 Vgs = Vg_barrier + Vg_bias; % 霸捞飘 
这段代码告诉我们, 需要设置栅极金属的功函数, 以此来计算栅极的 Vg_barrier, 再加上初始栅压,最后便是程序内采用的栅极电势的初始边界条件。

当设置 Vg_bias 为 0 时,栅极电势为 Vgs = 0.505 V, 切线在二维器件中央, 第一步Poisson方程初始化得到的电势分布为

电势具体数值为
可以发现,初始化自洽后的栅极电势边界仍是 0.505 V, 符合初始设置的边界条件.

再根据NEGF方程计算电子密度,对电势进行迭代收敛,得到最终的电势分布为:

从图中可看出, 源漏和沟道电势差并不是 Eg/2.

于是,我们再来设置 Vgs = 0, 初始化得到的电势为

电势具体数值为
此时, **自洽后的栅极电势边界并不是 0 V !!!!**, 说明此时的边界条件并没有起作用. 因为对于求解Poisson方程而言, 0V 的边界条件设定等同于边界没有任何限制, 因此最终的栅极电势边界并没有限制到某一值.

最终的电势分布为:

电势差值仅为 0.1 V 左右.

为了验证 Vgs = 0 V 在边界数值上不起作用, 我们不妨再设置 Vgs = 0.0001 V 来测试, 因为该栅压下的电势分布应该和 0V 接近. 第一步初始化得到的电势为

电势具体数值为:

可以发现,栅极电势被限定为 0.0001 V. 这与 Vgs = 0 V的情况截然不同.
通过NEGF-Poisson方程自洽收敛,可以得到最终的电势分布为:

通过上述这个二维例子,能较好地解答我们之前的问题. 因为对于一维理想MOS器件,不存在栅极区域,即等同于该二维器件 Vgs = 0V的情况(没有栅极边界限制),二者本质上是一样的。根据 DGMOS 的数值仿真结果,其源漏与本征沟道区域电势差也不是 Eg/2, 这与一维理想器件仿真得到的电势分布趋势一致.

总结

对于一维理想器件模型,由于没有栅极边界条件,其电势分布需要通过Poisson方程自洽求得,重掺源漏与本征沟道电势差值并不是所谓的 Eg/2. 不过理论上,当本征沟道区域足够长时,其差值应该接近 Eg/2. 如下图:

综上可知, 通过栅控(例如金属功函数,氧化层厚度,介电常数等)来调节器件内部的电势分布,从而实现所需要的功能.

参考文献

[1] https://github.com/SungHyunCha/NEGF_DGMOS
[2] https://docs.quantumatk.com/manual/Types/IVCharacteristics/IVCharacteristics.html

附件

点击查看代码1
%test Ec = 1.12/2; 
clear
tic

%Constants (all MKS, except energy which is in eV)
hbar=1.054571817e-34;
q=1.602176634e-19; %C
epsil=10*8.854187817E-12;%F/m
kT=0.025852; %300K, eV
m=0.25*9.1093837015e-31;%kg
n0= m*kT*q/(2*pi*(hbar^2));  
Ec = 1.12/2;

%inputs
a=3e-10;
t=(hbar^2)/(2*m*(a^2)*q);
beta=q*a*a/epsil;
NL=30;NC=90;NR=NL;
Np=NL+NC+NR;XX=a*1e9*[1:1:Np];
mu=Ec + 0.31251598;Fn=mu*ones(Np,1);
%mu=.0;Fn=mu*ones(Np,1);
Nd = 2*(n0^1.5)*Fhalf((mu-Ec)/kT);
Nd = Nd*[ones(NL,1);0.*ones(NC,1);ones(NL,1)];
%Nd=zeros(Np,1);
%mu=Ec + 0.15251598;Fn=mu*ones(Np,1);


%d2/dx2 matrix for Poisson solution
D2=-(2*diag(ones(1,Np)))+(diag(ones(1,Np-1),1))+(diag(ones(1,Np-1),-1));
D2(1,1)=-1;D2(Np,Np)=-1;%zero field condition
% Boundary conditions (Neumann homogeneous)
%D2(1,2)=2; D2(Np,Np-1)=2;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Initial H00 H01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
W = 1;
H00 = zeros(W,W);
H01 = zeros(W,W);
for j = 1:W
    H00(j,j) = 2*t + Ec;
    H01(j,j) = -t;
    if j < W
        H00(j,j+1) = -t;
        H00(j+1,j) = -t;
    end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%% Band of each slice %%%%%%%%%%%%%%%%%%%%%%%%%%%%
Nk = 200;
i_E = linspace(-pi,pi,Nk);
res = zeros(Nk,W);
for i = 1:Nk
    Ham = H00 + H01*exp(1j*i_E(i)) + H01'*exp(-1j*i_E(i));
    val = eig(Ham);
    res(i,:) = val';
end
figure;
plot(i_E,res);
%ylim([0,1]);
xlim([-pi,pi]);
xlabel('k');
ylabel('Energy [t]')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%% Initial Ham Full matrix %%%%%%%%%%%%%%%%%%%%%%%%%
L = Np;
Ham = zeros(W*L,W*L);
for j = 1:L
    Ham(j*W-W+1:j*W,j*W-W+1:j*W) = H00;
    if j < L
        Ham(j*W-W+1:j*W,j*W+1:j*W+W) = H01;
        Ham(j*W+1:j*W+W,j*W-W+1:j*W) = H01';
    end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Hamiltonian matrix
%T=(2*t*diag(ones(1,Np)))-(t*diag(ones(1,Np-1),1))-(t*diag(ones(1,Np-1),-1));

%energy grid
N_E=501;
E = linspace(-0.3+Ec,0.6+Ec,N_E);
dE = E(2)-E(1);
eta = 1e-8;


%self-consistent calculation
U=[zeros(NL,1);.2*ones(NC,1);zeros(NR,1)];%guess for U
dU=0;

LDOS = zeros(N_E,Np);

change = 10;
while change > 0.001
    %from U to n
    SigmaL=zeros(Np);SigmaR=zeros(Np);
    n = zeros(Np,1);
    for i_E = 1:N_E
        f0 = 2*n0*log(1+exp((mu-E(i_E))/kT));
        ck=1-((E(i_E)+1j*eta-U(1)-Ec)/(2*t));ka=acos(ck);
        SigmaL(1,1)=-t*exp(1i*ka);%gam1=1i*(SigmaL-SigmaL');
        ck=1-((E(i_E)+1j*eta-U(Np)-Ec)/(2*t));ka=acos(ck);
        SigmaR(Np,Np)=-t*exp(1i*ka);%gam2=1i*(SigmaR-SigmaR');
        
        G = inv(((E(i_E)+1j*eta)*eye(Np))- Ham - diag(U)-SigmaL-SigmaR);
        A=1i*(G-G');
        rhoE = f0*diag(A)/(2*pi);
        n = n + ((dE/a)*real(rhoE));
        LDOS(i_E,:) = diag(A)/(2*pi);
    end
    %correction dU from Poisson
    D=zeros(Np,1);
    
    
    
    for i_E = 1:Np
        z =(Fn(i_E)-U(i_E) - Ec)/kT;
        D(i_E,1)=2*(n0^1.5)*((Fhalf(z+.1)-Fhalf(z))/.1)/kT;
    end
    dN = n - Nd + ((1/beta)*D2*U);
    dU = (-beta)*(inv(D2-(beta*diag(D))))*dN;
    U = U + 1*dU;
    %check for convergence
    %ind=(max(max(abs(dN))))/(max(max(Nd)));
    change = max(max(abs(dU)))
end
figure
plot(XX,n)
xlabel('position (nm)', 'Interpreter', 'latex');
ylabel('n ($m^{-3}$)', 'Interpreter', 'latex');
title('Electron density', 'Interpreter', 'latex');
set(gca,'Fontsize',12)

figure;
plot(XX,U)
xlabel('position (nm)', 'Interpreter', 'latex');
ylabel('U (eV)', 'Interpreter', 'latex');

figure;
imagesc(XX,E,LDOS);
xlabel('position (nm)', 'Interpreter', 'latex');
ylabel('Energy');
title('Projected density of states');
axis xy
colormap('hot');
colorbar

toc
save fig31
hold on
点击查看代码2 PN结
%%%%%%
% 2023/5/5
% n-i-n device test.
clear;
epsilon = 1.05*1e-12; %F/cm
q = 1.6*1e-19;% C
kT = 0.02585;% eV
n0 = 1.45*1e10; %cm^-3 
theta = 1e-8; %cm
m = 140;
Na = 2e19; %cm^-3 3.7126e+19
Nd = Na;
Eg = 1.12;%eV

Vds = 0; % V Equilibrium
%Vds = 1; % V Positive voltage
%Vds = -1;% V Negative voltage

Vp = Vds/2; Vn = -Vds/2;
VP = Vp - kT*log(Na/n0);
VP = 0;
VN = Vn + kT*log(Nd/n0);

%%% pn
%Na = Na*[ones(m/2,1);zeros(m/2,1)];
%Nd = Nd*[zeros(m/2,1);ones(m/2,1)];
%%% p-i-n
Na = 0*[ones(m/4,1);zeros(m/2,1);zeros(m/4,1)];
Nd = [Nd*ones(m/4,1);0.0*Nd*ones(m/2,1);Nd*ones(m/4,1)];

V=zeros(m,1);
V(1:m/4,1)=VN;    %VP has to be predefined as in (7)
V(3*m/4+1:m,1)=VN;  %VN has to be predefined as in (8)
D2=-(2*diag(ones(1,m)))+(diag(ones(1,m-1),1))+(diag(ones(1,m-1),-1));
% Diriclet Boundary condition
V0 = [VN;zeros(m-2,1);VN]; 
% Neumann  Boundary condition
%D2(1,1)=-1;D2(m,m)=-1;
%V0 = zeros(m,1);

beta = q*theta^2/epsilon;

%figure;
Error = 10;
while Error > 1e-15
    %hold on;
    %plot(V)
    n = n0*exp((V-Vn)/kT);
    %drho_dv = -2*n0/kT*cosh(V/kT);
    drho_dv = -1/kT*n;%-n0/kT*exp((Vp-V)/kT);
    %rho = Nd - Na - 2*n0*sinh(V/kT);
    rho = Nd - n;
    %%%% Newton-Raphon Method
    M = D2 + diag(beta*drho_dv);
    R = -(D2*V + V0 + beta*rho);
    dv = M\R;
    
    V = V + 0.1*dv;
    Error = norm(dv,2)/sqrt(m);
end


theta = 1e8*theta;

figure;
plot(V);
xlabel('Length (A)');
ylabel('Potential profile (eV)');
ylim([-2,2])
title(['Bias: ', num2str(Vds),' V']);

figure;
plot(theta*[1:1:m],rho);
xlabel('Length (A)');
ylabel('charge density');
title(['Bias: ', num2str(Vds),' V']);

figure;
plot(theta*[1:1:m],n);
xlabel('Length (A)');
ylabel('electron density');
title(['Bias: ', num2str(Vds),' V']);


figure;
plot(theta*[1:1:m],-V+Eg/2,'r',theta*[1:1:m],-V-Eg/2,'r')
hold on
plot(theta*[1:1:m],Vn*ones(m,1),'k-',theta*[1:1:m],Vp*ones(m,1),'k-');
xlabel('Length (A)');
ylabel('Energy (eV)');
ylim([-2,2])
title(['Bias: ', num2str(Vds),' V']);

posted @ 2023-06-03 19:09  ghzphy  阅读(142)  评论(0)    收藏  举报