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)
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
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..
ARTI
ARTI am 7 Jan. 2014
Sir, now I have added but still the same error
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:5;
A=3;
vgs=input('ENTER THE Vgs in volts');
Vdssat=(vgs-vth)/(1+(vgs-vth)/(Leff*Ec))
F=1-log(1+exp(A*(1-Vds/Vdssat))/log(1+exp(A)))
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)=((vgs-vth)*Vds(i)-0.5*(Vds(i)^2))*(2*W*u*Cox/(Leff-ld+(Vds/Ec))+lambda*2*W*Cox/(Leff-ld)^2);
elseif Vds(i) < (vgs - Vth)
current(1,i)=((vgs-vth)*F*Vdssat(i)-0.5*F*(Vdssat(i)^2))*(2*W*u*Cox/(Leff-ld+(F*Vdssat/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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

ES
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
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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

ES
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')

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!

Translated by