1. 程式人生 > 實用技巧 >GMID方法基本模組設計

GMID方法基本模組設計

本徵增益共源級ICS模型

下圖是理想本徵增益共源級ICS的小訊號電路,可以從中得到關於GMID方法設計的一些基本引數定義。

  • 傳遞函式特性

    該系統的傳遞函式如下所示

    \[A_{V}(j\omega)={V_{out}\over{V_{in}}}\approxeq{A_{V0}\over{1+j{\omega\over{\omega_c}}}}\tag{1.1} \]

    \[A_{V0}=-{g_m\over g_{ds}}\tag{1.2} \]

    \[\omega_c={g_{ds}\over{C_L}}\tag{1.3} \]

    其中,\(\omega_c\)是系統的轉角頻率(Corner Frequency)

    ,也稱為-3dB頻寬。另一個重要的引數是單位增益頻寬,寫作\(\omega_u\),表示系統傳遞函式增益下降到0dB時的頻寬。

    \[\omega_u\approxeq{g_m\over C_L}\tag{1.4} \]

  • 扇出

    扇出是一個常用在數字邏輯中的概念,寫作\(FO\),它表示的是系統驅動的輸出等效電容和系統輸入電容的比值\(FO\)相當於以一種歸一化的形式表示了系統的負載電容,並且在系統中負載常常為另一電晶體。由於在設計過程中,所有器件的大小常常同時放大或縮小,因此可以用\(FO\)變化不大。

    在之後的設計中,\(FO\)可以用來表示\(GBW\)、偏置電流、噪聲等引數之間的折衷。本徵增益共源級ICS的\(FO\)

    可以表示為

    \[FO={C_L\over{C_{gs}+C_{gb}+C_{gd}}}={C_L\over C_{gg}}\tag{1.5} \]

    也可以表示為

    \[FO={C_L\over C_{gg}}={g_m/C_{gg}\over{g_m/C_L}}={f_T\over f_u}\tag{1.6} \]

    \(f_u>(1/10)f_T\)時模型精確度會大大降低,因此在設計中一般令\(FO\geq10\)

    :在系統輸入電容計算時應該會考慮\(C_{gd}\)的密勒效應,但由於增益\(A_{V}(j\omega)\)在高頻時會下降,因此使用公式\((3.1.5)\)有效而簡單的等效。

本徵增益共源級ICS設計

  • 常規設計:(偏置在強反型區或中等反型區)

    常規的設計中常常是以\(g_m/I_D\)為”旋鈕“來調節頻寬、增益、噪聲等關係的折衷。一般的設計步驟為

    1. 根據指標要求確定\(g_m\)
    2. 選擇所需的\(L\)
      • 短溝道:高速、小面積;
      • 長溝道:高本徵增益、良好的匹配…;
    3. 選擇合適的\(g_m/I_D\)
      • 大的\(g_m/I_D\):低功耗、大訊號擺幅(\(g_m/I_D\)\(V_{Dsat}\)成反比);
      • 小的\(g_m/I_D\):高速、小面積;
    4. 找到電流密度\(J_D=(I_D/W)\)
    5. 找到管子寬度\(W\)

    設計例項1:

    設計IGS,其中\(C_L=1pF\)\(f_u=1GHz\)。找到合適的\(g_m/I_D\)\(L\),使得低頻增益最大;

    假設\(FO=10\)\(V_{DS}=0.6V\)\(V_{SB}=0V\),並通過模擬軟體驗證結果

    由該題目寫出的 Matlab程式如下

    %載入資料
    nch = load('D:\Personal\Desktop\GmId\180tmsc_nch_27_tt.mat');
    pch = load('D:\Personal\Desktop\GmId\180tmsc_pch_27_tt.mat');
    %確定掃描維度L和gm/ID
    L = nch.L;
    gmid = 1:0.2:25;
    %輸入設計條件
    CL = 1e-12; fu = 500e6; FO = 10;
    VDS = 0.9; VSB = 0;
    %找到符合fu的gm/ID值
    for i = 1: length(L)
        Ln = L(i);
        de.fu(:,i) = look_up(nch, 'GM_CGG', 'GM_ID', gmid, 'VDS',...
            VDS, 'VSB', VSB, 'L', Ln)/2/pi/FO;
        de.gmidfu(:,i) = gmid'.*(de.fu(:,i)>fu);
        de.av(:,i) = look_up(nch, 'GM_GDS', 'GM_ID', de.gmidfu(:,i), 'VDS',...
            VDS, 'VSB', VSB, 'L', Ln);
        de.maxav(:,i) = max(de.av(:,i));
        de.maxgmid(:,i) = max(de.gmidfu(:,i));
    end
    %畫出滿足fu要求且gmid最大時,gmid、Av和L的關係圖
    semilogy(L, de.maxgmid, 'LineStyle', '--','DisplayName','gm/ID');
    hold on;
    semilogy(L, de.maxav, 'LineStyle', '-','DisplayName','av');
    %找到最大增益的L和gmid
    [x,y] = find(de.av==max(de.maxav));
    fin.L = L(y);
    fin.gmid = gmid(x);
    %計算出管子的W
    fin.gm = fu*CL*2*pi;
    fin.ID = fin.gm/fin.gmid;
    de.Jd =  look_up(nch, 'ID_W', 'GM_ID', fin.gmid, 'VDS',...
            VDS, 'VSB', VSB, 'L', fin.L);
    fin.W = fin.ID/de.Jd;
    fin.VGS = look_upVGS(nch, 'GM_ID', fin.gmid, 'VDS',...
            VDS, 'VSB', VSB, 'L', fin.L);
    fin.VDS = VDS; fin.VSB = VSB;
    fin.Av = look_up(nch, 'GM_GDS', 'GM_ID', fin.gmid, 'VDS',...
            VDS, 'VSB', VSB, 'L', fin.L); 
    fin.fu = fu;
    fin.Av_dB = db20(fin.Av);
    clearvars -EXCEPT nch pch fin
    

    此時設計出的引數都儲存在了結構fin中,檢視fin的資訊可知

  fin = 
  包含以下欄位的 struct:
          L: 0.3800
       gmid: 14
         gm: 0.0031
         ID: 2.2440e-04
          W: 58.5652
        VGS: 0.5583
        VDS: 0.9000
        VSB: 0
         Av: 131.3310
         fu: 500000000
      Av_dB: 42.3673

驗證:在Linux中使用Virtuoso進行了驗證,將\(L\)\(W\)\(VGS\)\(VDS\)代入電路圖中。

注意:版圖引數也會影響模擬結果,可以嘗試寬度\(W=2\mu m\),增加\(Finger\)

模擬結果如下所示,可以看到VGS、電流、增益基本在目標上。而GBW誤差較大,

Ac模擬 Dc模擬

自負載電容\(C_{dd}\)對GBW的影響

  • 在設計過程中,關於輸出節點的電容我們只考慮了負載電容,而沒有考慮MOS管自身的寄生電容。在大\(g_m\)或者大的器件寬度時,寄生電容可能會引起超過6.7%的誤差。

    將寄生電容也加進負載中的小訊號模型為

    其中\(C_{dd}=C_{db}+C_{gd}\)是MOS管寄生電容的等效負載。

    若在設計中考慮\(C_{dd}\)的影響,可以使用迭代的方式:

    1. 假設\(C_{dd}=0\)
    2. 利用\(GBW\)指標和\(C_L+C_{dd}\)計算出管子引數;
    3. 計算當前設計的\(C_{dd}\)
    4. 回到第二步將\(C_{dd}\)帶入開始迭代;
    5. 重複該過程直到\(GBW\)符合要求。

實際CS設計

實際的共源級不會是理想電流源負載,而是有真正的負載,例如電阻、電流鏡等。這一節學習如何設計實際的CS級。

有源負載CS

理想電流源被替換為了電流鏡負載,因此輸出電阻成為兩個管子的並聯,會減小。因此低頻增益會減小,但增益頻寬積變化不大,因為單位增益頻寬約為\(f_u=g_{m1}/C_L\)(假設管子寄生遠小於\(C_L\))

  • 設計自由度:由於單位增益頻寬的要求,M1已經決定了M2的電流。對於M2我們只能設計它的\(g_m/I_D\)值和溝道長度\(L\)

  • 低頻增益:該電路的低頻增益由以下公式得到

    \[A_{V0}=-{g_{m1}\over{g_{ds1}+g_{gs2}}}=-{({g_m\over I_D})_1\over{({g_{ds}\over{I_D}})_1+({g_{ds}\over{I_D}})_2}}=-{({g_m\over{I_D}})_1\over{{1\over{V_{EA1}}}+{1\over{V_{EA2}}}}}\tag{2.1} \]

    其中\(1/V_{EA}\)為當前器件的厄利電壓。當兩個MOS管厄利電壓相等時,相比理想電流源負載,增益減小了約50%。並且可以通過提高\(V_{EA2}\)或減小\((g_{ds2}/I_D)\)的方式來提高增益。

  • 電流鏡引數的選擇

    上圖顯示了電流鏡\((g_{ds}/I_D)\)\((g_m/I_D)\)之間的關係。可以看出,電流鏡\((g_m/I_D)\)較小時\((g_{ds}/I_D)\)也才比較小。但由於\({g_m/{I_D}}={2/{V_{ov}}}\),,當\(g_m/I_D=5\)時,\(V_{ov}=400mV\),因此為了保證合適的電壓擺幅,\(g_m/I_D\)的值不能太小,可以取在10附近。

    但電流鏡的長度\(L\)選擇並不清楚,更大的\(L\)會增加增益,但會帶來更大的寄生電容。因此\(L\)的選擇存在折衷關係,在後面慢慢解決。

  • 設計例項

    \(f_u=1GHz\)\(C_L=1pF\)\(FO=10\)\(V_{DD}=1.8\),輸出共模電壓\(V_{out}=V_{DD}/2=0.9\),令\((g_{m}/I_D)_2=10\ S/A\),考慮電流鏡\(L\)對電路的影響。

    matlab程式如下

    clear all
    % 載入資料庫
    load('/home/harroy/Workspace/Gmid_Design/Database/180tmsc_nch_27_tt.mat');
    load('/home/harroy/Workspace/Gmid_Design/Database/180tmsc_pch_27_tt.mat');
    % 輸入設計條件
    p.CL = 1e-12; p.fu = 0.5e9; p.FO = 10;
    p.VDS = 0.9; p.VSB = 0;
    % 確定輸入NMOS管的掃描L
    p.L = 0.18:0.02:1;
    % 根據FO和fu確定輸入管的gmid
    de.gmid1 = look_up(nch, 'GM_ID', 'GM_CGG', 2*pi*p.fu*p.FO,  ...
        'VDS', p.VDS, 'VSB', p.VSB, 'L', p.L);
    de.gdsid1 = diag(look_up(nch, 'GDS_ID', 'GM_ID', de.gmid1, ...
        'VDS', p.VDS, 'VSB', p.VSB, 'L', p.L));
    % 掃描負載管L,確定最大增益
    de.gmid2 = 10;
    de.L2 = 0.2:0.1:2;
    for i = 1:length(de.L2)
        de.gdsid2(i) = look_up(pch, 'GDS_ID', 'GM_ID', de.gmid2, 'L', de.L2(i));
        de.Av(:,i) = de.gmid1./(de.gdsid1 + de.gdsid2(i));
    end
    [a,b] = max(de.Av);
    de.Avmax = a';
    % 迭代計算MOS自負載電容對fu的影響
    de.Cself = 0;
    for i = 1:5
        de.gm1 = 2*pi*p.fu.*(p.CL+ de.Cself);
        de.ID = de.gm1./de.gmid1(b);
        de.W1 = de.ID./diag(look_up(nch, 'ID_W', 'GM_ID', de.gmid1(b), 'L', p.L(b)));
        de.Cdd1 = de.W1.*diag(look_up(nch, 'CDD_W', 'GM_ID', de.gmid1(b), 'L', p.L(b)));
        de.W2 = de.ID./look_up(pch, 'ID_W', 'GM_ID', de.gmid2, 'L', de.L2);
        de.Cdd2 = de.W2.*look_up(pch, 'CDD_W', 'GM_ID', de.gmid2, 'L', de.L2);
        de.Cself = de.Cdd1 + de.Cdd2;
    end
    % 輸出結果,保存於結構fin中
    fin.L2 = 0.5;
    de.index1 = find(de.L2==fin.L2);
    fin.gm1 = de.gm1(de.index1);
    fin.gmid1 = de.gmid1(b(de.index1));
    fin.ID = de.ID(de.index1);
    fin.W1 = de.W1(de.index1);
    fin.L1 = p.L(b(de.index1));
    fin.W2 = de.W2(de.index1);
    fin.Av = de.Avmax(de.index1);
    fin.fu = p.fu;
    fin.VGS1 = look_upVGS(nch, 'GM_ID', fin.gmid1, 'VDS',...
            p.VDS, 'VSB', p.VSB, 'L', fin.L1);
    fin.VGS2 = look_upVGS(nch, 'GM_ID', de.gmid2, 'L', fin.L2);
    fin.gds1 = fin.ID*de.gdsid1(b(de.index1));
    fin.gds2 = fin.ID*de.gdsid2;
    

    此時得到的設計結果為

    fin = 
      包含以下欄位的 struct:
           Ln: 0.3000
           Lp: 0.5000
           Wn: 58.5373
           Wp: 144.9534
        gmidn: 14.8066
        gmidp: 10
           ID: 2.4933e-4
          gmn: 0.0037
           Av: 65.8323
           fu: 500e6
        Cself: 175.17e-15
         VGSn: 0.5493
         VGSp: 0.6393
         gdsn: 3.2968e-5
         gdsp: 2.3109e-5
    

    使用Spectre驗證\(L=0.5\mu m\)時的系統指標。

    指標 模擬結果
    Av 64.9583
    fu 487 MHz
    Cload 1.19179 pF
    gmn 3.6686 mS

    可以看到,即使考慮自負載電容,增益頻寬積依然存在誤差,觀察發現很可能是資料庫中的Cdd電容存在一定誤差,建議根據模擬結果手動新增補償電容到設計程式中。

有源負載CS大訊號模擬

gmid資料庫同樣能夠預測系統的大訊號特徵。

  • 設計例項

    以上文設計的有源負載CS放大器為例,模擬出該系統的大訊號特性。

matlab程式如下:

% 完成上一個設計
ActiveGS_ex1;
% 設定掃描的輸出訊號VDS
VDD = 1.8;
VDSn = 0.05:0.01:1.8;
% 找到不同VDS下的電流值
IDn = fin.W1*look_up(nch,'ID_W','VGS',nch.VGS,'VDS',VDSn,'L',fin.L1)';
IDp = fin.W2*look_up(pch,'ID_W','VGS',fin.VGS2,'VDS',VDD-VDSn,'L',fin.L2);
% 根據電流相等來插值搜尋輸入訊號VGS
for i = 1:length(VDSn)
    VGSn (:,i) = interp1(IDn(i, :), nch.VGS, IDp(i));
end
% 畫圖
plot(VGSn, VDSn);
hold on
plot(VGSn, (VDD-(2*(1/de.gmid2)))* ones(1,length(VGSn)),'LineStyle','--');
plot(VGSn, (2*(1/fin.gmid1)* ones(1,length(VGSn))),'LineStyle','--');

模擬結果對比

Matlab Spectre

可以看出Matlab的模擬結果在Spectre得到了很好的驗證。

電阻負載CS

  • 低頻增益

    \[A_{v0}=-{g_{m1}\over{g_{ds}+{1\over{R}}}}=-{({g_m\over{I_D}})_1\over{({g_{ds}\over{I_D}})_1+{1\over{I_DR}}}}=-{({g_m\over{I_D}})_1\over{1\over{V_{EA}}}+{1\over{I_DR}}}\tag{4.1} \]

    實際設計中\(I_DR<<V_{EA}\)常常滿足,因此增益可以簡寫為:

    \[A_{v0}\approx -({g_m\over{I_D}})_1I_DR\tag{4.2} \]

  • 輸出擺幅

    已知\(g_m/I_D=2/V_{ov}\),則當MOS偏置在強反型區(\(g_m/I_D\)較小)時,MOS的VDS可能會很接近Vov,導致輸出訊號擺幅很小。因此設計時\(g_m/I_D\)常常比較大。

  • 設計例項

    CL=1pF,fu=500MHz,VDD=1.8V和FO=10。找到低頻增益最大時的VDS、R和L。

% 載入資料
clear all
load('D:\Personal\Desktop\GmId\180tmsc_nch_27_tt.mat');
load('D:\Personal\Desktop\GmId\180tmsc_pch_27_tt.mat');
% 配置引數和掃描變數L、VDS
p.CL = 1e-12; p.fu = 0.5e9; p.FO = 10;
p.VSB = 0; p.VDS = 0.1:0.05:1.2;
p.VDD = 1.8; p.L = nch.L;
% 通過兩個變數掃描出gmid和gdsid的二維陣列
for i = 1:length(p.VDS)
    gmid(:,i) = look_up(nch, 'GM_ID', 'GM_CGG', 2*pi*p.FO*p.fu, ...
        'VDS', p.VDS(i), 'L', p.L);
    gdsid(:,i) = look_up(nch, 'GDS_ID', 'GM_CGG', 2*pi*p.FO*p.fu, ...
        'VDS', p.VDS(i), 'L', p.L);
end
% 計算並找到最大增益下的gmid、L、VDS
Avor = gmid./(gdsid+ 1./ (p.VDD-p.VDS(ones(length(p.L),1),:)));
[a,b] = max(Avor);
[c,d] = max(a);
fin.Avmax = c;
fin.L = p.L(b(d));
fin.VDS = p.VDS(d);
fin.gmid = gmid(b(d),d);
% 考慮自負載電容的影響
JD = look_up(nch, 'ID_W', 'GM_ID', fin.gmid, ...
        'VDS', fin.VDS, 'L', fin.L);
Cdd_W = look_up(nch, 'CDD_W', 'GM_ID', fin.gmid, ...
        'VDS', fin.VDS, 'L', fin.L);
fin.Cdd = 0;
for i = 1:5
    fin.gm = 2*pi*p.fu*(p.CL+ fin.Cdd);
    fin.ID = fin.gm/fin.gmid;
    fin.W = fin.ID/JD;
    fin.Cdd = fin.W*Cdd_W;
end
fin.R = (p.VDD - fin.VDS)/fin.ID;
fin.VGS = look_upVGS(nch, 'GM_ID', fin.gmid, ...
        'VDS', fin.VDS, 'L', fin.L);

模擬對比結果如下

引數 Matlab Spectre
L(nm) 220 -
W(\(\mu\)m) 74.4167 74
VDS(mV) 500 499
gmID(S/A) 18.0333 18.0293
ID(\(\mu\)A) 185.91 185
|Av|(V/V) 16.1128 16.0496
VGS(mV) 499.8 -
fu(MHz) 500 491
R(k\(\Omega\)) 6.9926 7.03

從結果發現GBW還是存在一些差距,主要還是Cdd在資料庫中的表現不太完善,師兄提到在漏極看到的電容除了Cdd以外應該還有Cjd。並且在電路實現時還會進行一些微調來保證偏置正確。

差分對設計

差分對時模擬設計中最關鍵的模組。和IGS、CS不同,差分對的gm由尾電流源決定,而和柵極電壓無關

  • 理想差分對設計例項

    有一個理想電流源偏置的差分對,其中CL=1 pF、fu=500 MHz、VDD=1.8 V、gm/ID=15 S/A、L=180 nm;輸入共模訊號VIC=0.9 V,輸出共模訊號被CMFB鉗制在1V。設計電路。

% 載入資料庫
clear all
load('D:\Personal\Desktop\GmId\180tmsc_nch_27_tt.mat');
load('D:\Personal\Desktop\GmId\180tmsc_pch_27_tt.mat');
% 輸入引數
CL = 1e-12; fu = 0.5e9; gmid = 15; L = 0.18;
VIC = 0.9; VOC = 1;
% 根據偏置限制求得管子引數資訊
VGS = look_upVGS(nch, 'GM_ID', gmid, 'VDB', VOC, ...
    'VGB', VIC);
VSB = VIC - VGS;
JD = look_up(nch, 'ID_W', 'GM_ID', gmid, 'VSB', VSB, ...
    'VDS', VOC-VSB);
gdsid = look_up(nch, 'GDS_ID', 'GM_ID', gmid, 'VSB', VSB, ...
    'VDS', VOC-VSB);
Av = gmid/gdsid;
% 迭代計算自負載電容的影響
Cdd = 0;
for i = 1:5
    gm = 2*pi*fu*CL;
    ID = gm/ gmid;
    Cdd_W = look_up(nch, 'CDD_W', 'GM_ID', gmid, 'VSB', VSB, ...
    'VDS', VOC-VSB);
    W = ID / JD;
    Cdd = W * Cdd_W;
end

模擬結果對比如下

引數 Matlab Spectre
gmid(S/A) 15 15.08
ID(\(\mu\)A) 429.46 429.5
gm(mS) 3.2 3.239
W(\(\mu\)m) 30.46 31
L(nm) 180 -
GBW(MHz) 500 495.12
|Av|(V/V) 31.3737 31.4123
  • 5管OTA設計

    fu > 100MHz、CL=1 pF、VIC=0.9 V、VDD=1.8 V。尾電流源是理想電流源。設計電路。

令FO=20,預留更多裕度。同時gmIDp=10,以獲得擺幅和增益上的折衷。得到的Matlab程式為

% 載入資料庫
clear all
load('D:\Personal\Desktop\GmId\180tmsc_nch_27_tt.mat');
load('D:\Personal\Desktop\GmId\180tmsc_pch_27_tt.mat');
% 載入引數和掃描變數
CL = 1e-12; fu = 0.1e9;
VIC = 0.9;  FO = 20;
Ln = 0.18:0.02:2;
Lp = 0.2:0.1:0.8;
gmidp = 10;
% 找到滿足fu條件下的增益的最大值
gmidn = look_up(nch, 'GM_ID', 'GM_CGG', fu*FO*2*pi, ...
    'VGB', 0.9,'L', Ln);
gdsidn = diag(look_up(pch, 'GDS_ID', 'GM_ID', gmidn, ...
    'VGB', 0.9, 'L', Ln));
for i = 1:length(Lp)
    gdsidp(:,i) = look_up(pch, 'GDS_ID', 'GM_ID', gmidp, ...
        'L', Lp(i));
    Av(:,i) = gmidn./(gdsidn +gdsidp(:,i));
end
[Av_Lp, Ind_Lp] = max(Av);
[Avmax, Ind_Ln] = max(Av_Lp);
% 將最大增益時的所有引數儲存起來
fin.gmIDn = gmidn(Ind_Lp(Ind_Ln)); fin.Ln = Ln(Ind_Lp(Ind_Ln));
fin.gmIDp = gmidp; fin.Lp = Lp(Ind_Ln); fin.Av = Avmax;
fin.VGSn = look_upVGS(nch, 'GM_ID', fin.gmIDn, 'L', fin.Ln);
VGSpl = look_upVGS(pch, 'GM_ID', fin.gmIDp, 'L', fin.Lp);
fin.VGSp = look_upVGS(pch, 'GM_ID', fin.gmIDp, 'VDS', VGSpl, 'L', fin.Lp);
JDn = look_up(nch, 'ID_W', 'GM_ID', fin.gmIDn, ...
    'L', fin.Ln);
JDp = look_up(pch, 'ID_W', 'GM_ID', fin.gmIDp, ...
      'L', fin.Lp);
% 迭代自負載電容的影響
fin.Cload = 0;
for i = 1:5
    fin.gmn = 2*pi*fu*(CL + fin.Cload);
    fin.IDsin = fin.gmn/ fin.gmIDn;
    fin.Wn = fin.IDsin / JDn;
    Cdd_Wn = look_up(nch, 'CDD_W', 'GM_ID', fin.gmIDn, ...
        'L', fin.Ln);
    Cddn = fin.Wn * Cdd_Wn;
    fin.Wp = fin.IDsin / JDp;
    Cdd_Wp = look_up(pch, 'CDD_W', 'GM_ID', fin.gmIDp, ...
         'L', fin.Ln);
     Cddp = fin.Wp * Cdd_Wp;
    fin.Cload = Cddn + Cddp;
end
fin.IDtot = fin.IDsin * 2;
fin.gdsn = fin.IDsin/ gdsidn(Ind_Lp(Ind_Ln));
fin.gdsp = fin.IDsin/ gdsidp(Ind_Ln);

下面是結果對比

引數 Matlab Spectre
gmIDn(S/A) 18.1092 18.0304
Lp(nm) 800 -
Ln(nm) 360 -
Wn(\(\mu\)m) 25.75 26
Wp(\(\mu\)m) 34.77 34
IDtotal(\(\mu\)A) 72.96 73
GBW(MHz) 100 90.4
Av(V/V) 88.7354 88.6612

總結

本文總結了使用Gmid進行設計的基本方法。基本原則是先根據條件(例如最大增益、GBW要求)尋找合適的gmID值,再通過迭代計算自負載效應對GBW的影響,最後得到系統的所有引數。gmID同時可以模擬大訊號特性,一般做法是通過電流相等來尋找VGS。後面的設計中會將噪聲的影響考慮進來,同時會進行一個完整的運放設計,敬請期待!