Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clc
- clear
- close all
- vdd = 12;
- vt = 1.4;
- kn = .0006;
- VA = 200;
- L = 1/VA;
- R1 = 50000;
- R2 = 50000;
- RS1 = 15000;
- RD1 = 15000;
- R3 = 50000;
- R4 = 50000;
- R5 = 100000;
- R6 = 400000;
- RS2 = 15000;
- RD2 = 15000;
- RS3 = 20000;
- RL = 20000;
- syms ID1 VGS1 ID2 ID3 VGS2 VGS3
- %%%dc biases
- %%first stage
- VG1 = vdd*R2/(R1+R2);
- ID1 = kn*(VGS1-vt).^2-(VG1-VGS1)/RS1;
- VGS1 = solve(ID1,VGS1);
- VGS1=max(VGS1)
- VS1 = VG1-VGS1
- ID1 = kn*(VGS1-vt).^2;
- VD1 = vdd-ID1*RD1
- %%second stage
- VG2 = vdd*R4/(R3+R4);
- ID2 = kn*(VGS2-vt).^2-(VG2-VGS2)/RS2;
- VGS2 = solve(ID2,VGS2);
- VGS2 = max(VGS2);
- VS2 = VG2-VGS2;
- ID2 = kn*(VGS2-vt).^2;
- VD2 = vdd-ID2*RD2;
- %%final stage
- VG3 = vdd*R6/(R5+R6);
- ID3 = kn*(VGS3-vt).^2-(VG3-VGS3)/RS3;
- VGS3 = solve(ID3,VGS3);
- VGS3 = max(VGS3);
- VS3 = VG3-VGS3;
- ID3 = kn*(VGS3-vt).^2;
- %%VD3=vdd;
- VD3 = vdd;
- %%%DCLL and ACLL
- IDSQ = ID3
- VDSQ = VD3-VS3;
- %%dcll
- %vdd - VDS - IDS(RS3) - IDS(RD3) = 0;
- VDS = vdd;
- IDS = vdd/(RS3);
- %%acll
- %vdst +idst(RS3||RL) = VDSQ+IDS(RS3||RL);
- vdst = VDSQ +IDS*(RS3^-1+RL^-1)^-1;
- idst = (VDSQ +IDS*(RS3^-1+RL^-1)^-1)/((RS3^-1+RL^-1)^-1);
- Swing = ((VDSQ-vdst)^2+IDSQ^2)^(1/2)
- %%%AC analysis
- %other calcs
- ro1=1/(L*ID1);
- gm1 = 2*kn*(VGS1-vt);
- ro2 = 1/(L*ID2);
- gm2 = 2*kn*(VGS2-vt);
- ro3 = 1/(L*ID3);
- gm3 = 2*kn*(VGS3-vt);
- %%gain
- VIVGS1=1;
- VGS2VGS1 = -(ro1^-1+RD1^-1+R3^-1+R4^-1)^-1*gm1;
- VG3VGS2 = -(ro2^-1+RD2^-1+R5^-1+R6^-1)^-1*gm2;
- VGS3VG3 = 1/(1+gm3*(ro3^-1+RS3^-1+RL^-1)^-1);
- VoVGS3 = gm3*(ro3^-1+RS3^-1+RL^-1)^-1
- Av = VIVGS1*VGS2VGS1*VG3VGS2*VGS3VG3*VoVGS3
Advertisement
Add Comment
Please, Sign In to add comment