The below program is the Ids Vds characteristics of a DG MOSFET. and I am getting the error as Matrix dimensions must agree.. Please help me by fixing it
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
if true
clear all;
hfin=1;
tsi=20
W=2*hfin*tsi;
Vth=1;
Leff=180;
DIBL=1.127*(W\Leff);
vth=Vth-DIBL;
lambda=25*10^-5;
u=1360;
ld=0.1;
Ec=1.5*106;
Cox=60;
Vds=0:0.5:10;
vgs=input('ENTER THE Vgs in volts');
m=length(Vds);
for i=1:m
if vgs < Vth
current(1,i)=0;
elseif Vds(i) >= (vgs - Vth)
current(1,i)=0.5* (vgs - Vth)^2*(1+lambda*Vds(i));
elseif Vds(i) < (vgs - Vth)
current(1,i)=((vgs-vth)*Vds(i))- 0.5*(Vds(i)^2)*(2*W*u*Cox/(Leff-ld+(Vds/Ec))+lambda*2*W*Cox/(Leff-ld)^2);
end
end
plot(Vds,current(1,:),'b')
xlabel('Vds, V')
ylabel('Drain Current,A')
title('I-V Characteristics of a MOSFET')
end
2 Kommentare
ES
am 7 Jan. 2014
Bearbeitet: ES
am 7 Jan. 2014
I think there is a small misunderstanding of the concepts.. MOSFET works in linear region for certain voltage ranges and then saturates in some other region.. So you need two equations to draw its characteristics.. That is
if Mosfet in Linear region:
use Linear region's equation.
else
use Saturation region's equation.
end
In your code you have given the equation for only the linear region..
In the previous links I had sent you in the number of threads you have opened, there were IF and ELSE logics to handle it. Please go through them. You should also add the logic in a similar way. The equations there, are different because they are different MOSFETs, but all MOSFETs basically operate the same way, as to having different regions of operations..
Akzeptierte Antwort
ES
am 7 Jan. 2014
See the attached file and modified code..
clear all;
hfin=1;
tsi=20
W=2*hfin*tsi;
Vth=1;
Leff=180;
DIBL=1.127*(W\Leff);
vth=Vth-DIBL;
lambda=25*10^-5;
u=1360;
ld=0.1;
Ec=1.5*106;
Cox=60;
Vds=0:0.5:10;
vgs=input('ENTER THE Vgs in volts');
m=length(Vds);
for i=1:m
if vgs < Vth
current(1,i)=0;
current1(1,i)=0;
elseif Vds(i) >= (vgs - Vth)
current(1,i)=0.5* DIBL * ((vgs - Vth)^2)*(1+lambda*Vds(i));%Added DIBL
elseif Vds(i) < (vgs - Vth)
current(1,i)= DIBL*((vgs-Vth)*Vds(i) - 0.5*(Vds(i)^2))*(1+lambda*Vds(i)); %Simplified equation by approximation
end
end
plot(Vds,current(1,:),'b')
xlabel('Vds, V')
ylabel('Drain Current,A')
title('I-V Characteristics of a MOSFET')
5 Kommentare
User _X
am 20 Dez. 2021
I am trying to create the matlab code for the Ids - Vgs characteristics of a TG MOSFET, but I face several difficulties. Could I aks for help with this one?
Weitere Antworten (1)
ES
am 7 Jan. 2014
Bearbeitet: ES
am 7 Jan. 2014
Fine that you have handled the linear and saturation region now..:) There were two small issues.. I have changed them below..
clear all;
hfin=1;
tsi=20
W=2*hfin*tsi;
Vth=1;
Leff=180;
DIBL=1.127*(W\Leff);
vth=Vth-DIBL;
lambda=25*10^-5;
u=1360;
ld=0.1;
Ec=1.5*106;
Cox=60;
Vds=0:0.5:10;
vgs=input('ENTER THE Vgs in volts');
m=length(Vds);
for i=1:m
if vgs < Vth
current(1,i)=0;
elseif Vds(i) >= (vgs - Vth)
current(1,i)=0.5* DIBL*(vgs - Vth)^2*(1+lambda*Vds(i));%Added DIBL
elseif Vds(i) < (vgs - Vth)
current(1,i)=((vgs-vth)*Vds(i))- 0.5*(Vds(i)^2)*(2*W*u*Cox/(Leff-ld+(Vds(i)/Ec))+lambda*2*W*Cox/(Leff-ld)^2);%Addedvds(i) instead of vds
end
end
plot(Vds,current(1,:),'b')
xlabel('Vds, V')
ylabel('Drain Current,A')
title('I-V Characteristics of a MOSFET')
1 Kommentar
Siehe auch
Kategorien
Mehr zu Quantization, Projection, and Pruning finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!