模拟CMOS集成电路设计中的gm/id设计方法及用Cadence Virtuoso IC617仿真有关参数曲线
前言
本文為我自己的學(xué)習(xí)筆記,屬于Cadence Virtuoso系列的進(jìn)階部分,采用的軟件版本是Cadence Virtuoso IC617。其他文章請(qǐng)點(diǎn)擊上方,看我制作的Cadence Virtuoso專欄內(nèi)容。
在前面的文章中,記錄了使用工藝參數(shù)對(duì)運(yùn)放進(jìn)行設(shè)計(jì)的過程。一般是先仿真出當(dāng)前工藝庫(kù)有關(guān)參數(shù),再代入每一個(gè)晶體管中進(jìn)行計(jì)算,數(shù)據(jù)較為復(fù)雜,同時(shí)計(jì)算量龐大。當(dāng)一個(gè)設(shè)計(jì)中有較多晶體管時(shí),修改其中一項(xiàng)參數(shù)就會(huì)導(dǎo)致有較多的數(shù)據(jù)需要被重新計(jì)算。同時(shí),在短溝道器件中,MOS的經(jīng)驗(yàn)公式逐漸失效。所以,引入
gm/id設(shè)計(jì)方法,能高效和準(zhǔn)確地進(jìn)行設(shè)計(jì)工作。
原理
放大器中的MOS工作狀態(tài)
假設(shè)器件為N-MOS,要讓其正常工作,以下電路拓?fù)涫亲詈?jiǎn)單的。
在進(jìn)一步了解其他原理之前,先定義過驅(qū)動(dòng)電壓VOV如下。
VOV=VGS?VTN=2IDμnCox(WL)nV_{OV}=V_{GS}-V_{TN}=\sqrt{ {2I_D \over \mu_nC_{ox} ({W\over L})_n}} VOV?=VGS??VTN?=μn?Cox?(LW?)n?2ID???
在MOS用于放大器應(yīng)用時(shí),常使其工作于飽和區(qū)(下圖中右側(cè)區(qū)域),忽略溝道長(zhǎng)度調(diào)制效應(yīng)后,即電流Id僅與過驅(qū)動(dòng)電壓有關(guān)。
跨導(dǎo)gm
對(duì)于應(yīng)用于放大器中的MOS器件來說,輸入信號(hào)為電壓,輸出信號(hào)為電流,所以可以定義一個(gè)參量,表示這個(gè)器件的電壓轉(zhuǎn)換成電流的能力,即跨導(dǎo)gm,可以將其看成是品質(zhì)因數(shù)。
用輸出電流除以輸入電壓,有以下式子。至于為啥系數(shù)是2,根據(jù)V-I特性公式就能得出了。
gm=2IDVOVg_m={2I_D \over V_{OV}} gm?=VOV?2ID??
由這個(gè)式子,可以得到下面的曲線。其中的斜率,就是gm。當(dāng)過驅(qū)動(dòng)電壓增加時(shí),輸出電流也隨之增加。但實(shí)際上不成嚴(yán)格的一次線性關(guān)系,而帶有一定的二次系數(shù)。
gm/id
假如有兩只晶體管,他們的參數(shù)不一樣,我們繪制它們的Vov-ID曲線,得到下圖。觀察橫虛線,對(duì)于不同gm值的晶體管,要想達(dá)到相同的ID,就需要不同的過驅(qū)動(dòng)電壓Vov。同樣的,觀察豎虛線,在相同的過驅(qū)動(dòng)電壓下,有著不同的ID。也就是說,它們有著不同的“效率”。
現(xiàn)在,引入一個(gè)全新的參量:gm/id,它的值和過驅(qū)動(dòng)電壓的倒數(shù)有關(guān)。
gmID=2VOV{g_m \over I_D} ={2 \over V_{OV}} ID?gm??=VOV?2?
我們可以從兩個(gè)角度去理解這個(gè)參數(shù)。
第一個(gè),將其看成是,為了代替過驅(qū)動(dòng)電壓Vov這個(gè)參數(shù)而引入的。
第二個(gè),單位電流下的gm,即“gm效率”,在投入相同的ID時(shí),當(dāng)gm效率越高,所得到的gm越多。
那么,有了這個(gè)定義,我們應(yīng)該怎么去合理選擇一個(gè)晶體管的gm/id值?從下面三個(gè)小標(biāo)題中的內(nèi)容得知,我們需要通過選擇一個(gè)晶體管的gm/id大小,來達(dá)到增益與帶寬的折中(可以看成帶寬增益積GBW是個(gè)定值),增益大了帶寬就小,帶寬大了增益就小,同時(shí),也要兼顧噪聲的影響。
增益gian
在運(yùn)放的設(shè)計(jì)中,增益是我們要考慮的重要參數(shù)之一。對(duì)于一個(gè)固定工藝和固定參數(shù)的晶體管來說,當(dāng)gm/id的值越大時(shí),其能提供的增益也就越大。同時(shí),在相同的工藝下,柵長(zhǎng)L越大,增益越大。
帶寬fT
帶寬fT也是重要參數(shù)之一。在相同的工藝下,當(dāng)gm/id的值越小時(shí),其帶寬越大。同時(shí),在相同的工藝下,柵長(zhǎng)L越小,帶寬越大。
噪聲Vn
此處只考慮晶體管自身最大的噪聲源熱噪聲,而對(duì)和頻率f有關(guān)的閃爍噪聲暫時(shí)不考慮。
針對(duì)熱噪聲,有以下式子。
Vn2,in ̄=4kTγgmVn2,out ̄=4kTγgmro2\overline{V_n^2,in}={4kT\gamma \over g_m} \\\quad\\ \overline{V_n^2,out}=4kT\gamma g_m r_o^2 Vn2?,in?=gm?4kTγ?Vn2?,out?=4kTγgm?ro2?
- MOS作為放大器,噪聲在輸入端,設(shè)計(jì)時(shí)要使得gm稍大(gm/id稍大)。
- MOS作為電流鏡,噪聲在輸出端,設(shè)計(jì)時(shí)要使得gm稍小(gm/id稍小)。
電流密度
前面鋪墊了那么多,其實(shí)都是在講一些基本理論。我們?cè)谠O(shè)計(jì)運(yùn)放時(shí),無非就是設(shè)計(jì)晶體管的尺寸,即W和L。那么,我們?cè)鯓影裧m/id的數(shù)值映射到尺寸上?
此處引入一個(gè)新的概念,電流密度,用id/W代表。意思是,在單位尺寸W下的電流。在不同的gm/id取值下,有著不同的電流密度id/W。同時(shí),晶體管的柵長(zhǎng)L也對(duì)其有一定的影響。
到了這一步,我們就可以完整設(shè)計(jì)出晶體管的尺寸了。在上圖中,我們選定了gm/id的數(shù)值,同時(shí)選定L的數(shù)值,在曲線中,我們就可以得出id/W的數(shù)值,對(duì)應(yīng)的W數(shù)值也就出來了。
計(jì)算步驟
使用gm/id進(jìn)行晶體管的設(shè)計(jì),本質(zhì)上是一種查表法(輪詢),計(jì)算量不大,確定gm/id數(shù)值后,只需要在對(duì)應(yīng)的曲線或表格中查找所需要的數(shù)值即可。
開始時(shí),需要從給定的目標(biāo)參數(shù)帶寬增益積GBW和所需要的負(fù)載電容CL入手,得到gm的數(shù)值(一般為輸入管)。
建議:CL需要考慮電路本身的寄生參數(shù),所以計(jì)算時(shí)取1.2倍CL,即設(shè)計(jì)CL為10pF,仿真時(shí)負(fù)載電容設(shè)計(jì)為10pF,但代入GBW公式中CL的值為12pF。
GBW=AVfT=gm2πCLGBW=A_Vf_T={ g_m \over 2 \pi C_L } GBW=AV?fT?=2πCL?gm??
當(dāng)所在支路的電流id已知后,可以直接跳到3和4的步驟。
曲線仿真
在上面的理論部分,我們發(fā)現(xiàn)電流密度id/W的曲線比較重要,我們需要對(duì)晶體管進(jìn)行仿真得到這個(gè)曲線,才能進(jìn)行上述的設(shè)計(jì)。同時(shí)我們順便觀察一下增益。
N-MOS仿真
原理圖
和前面測(cè)試V-I特性曲線一致,同時(shí),暫時(shí)不考慮體效應(yīng),B端直接接地。由于最后面得出的W會(huì)非常大,所以需要對(duì)晶體管的Multiplier或者Fingers進(jìn)行設(shè)置,將大的晶體管分成小塊,將它們并聯(lián)或者串聯(lián),減小寄生參數(shù)。這里設(shè)置Multiplier為變量。
仿真設(shè)置
打開ADE-L,進(jìn)行仿真設(shè)置。
對(duì)變量賦初值。其中,W對(duì)仿真結(jié)果稍微有點(diǎn)影響,后期根據(jù)實(shí)際得出的W,微調(diào)后重新仿真。
設(shè)置為dc仿真,變量為vgs。
先仿真一下,生成各個(gè)部分的直流參數(shù)。
仿真參數(shù)設(shè)置
打開工具里的計(jì)算器。
選擇功能面板。
在查找里搜索,最終找到waveVsWave,用于繪制波形。
選擇上部的os按鈕。
點(diǎn)擊原理圖中的晶體管。
在小窗口中選擇gmoverid這一項(xiàng)。
將其復(fù)制進(jìn)波形繪制窗口中的X軸位置。
同理,將“self_gain”添加進(jìn)Y軸。此處不需要再次點(diǎn)擊晶體管了,只需要在小窗口中的list里直接選擇即可。
部分工藝庫(kù)沒有self_gain,就手動(dòng)輸入gm/gds。代碼在下面
OS("/NM0","gm")/OS("/NM0","gds")點(diǎn)擊Apply。
將生成的公式送回到仿真環(huán)境中。
還需要id的數(shù)值,添加進(jìn)去之后,手動(dòng)輸入除以變量W,就是前面提到的電流密度。
OS("/NM0","id")/VAR("W")送回到仿真環(huán)境中。
至此,在仿真器中,就有了兩個(gè)輸出波形。
當(dāng)然,我們也可以直接用代碼生成輸出參數(shù)。為什么這一段不放在前面寫,是為了讓我們熟練使用這個(gè)計(jì)算器,以后做其他仿真的時(shí)候,計(jì)算器這個(gè)工具是必須要會(huì)用的。
當(dāng)熟練之后,可以直接在輸出設(shè)置里添加以下代碼。注意,此處晶體管名字是NM0,如果是其他名字,記得修改代碼中對(duì)應(yīng)部分。
waveVsWave(?x OS("/NM0" "gmoverid") ?y OS("/NM0" "self_gain")) waveVsWave(?x OS("/NM0" "gmoverid") ?y (OS("/NM0" "id") / VAR("W")))另外,我們也可以掃描出過驅(qū)動(dòng)電壓Vov和溝道長(zhǎng)度調(diào)制系數(shù) λ,可以直接使用以下代碼。在一些文獻(xiàn)中也提到用VGS參數(shù),在最后一行也放出來了。
waveVsWave(?x OS("/NM0" "gmoverid") ?y (OS("/NM0" "vgs") - OS("/NM0" "vth"))) waveVsWave(?x OS("/NM0" "gmoverid") ?y (OS("/NM0" "gds") / OS("/NM0" "id"))) waveVsWave(?x OS("/NM0" "gmoverid") ?y OS("/NM0" "vgs"))參數(shù)掃描
設(shè)置參數(shù)掃描
將柵長(zhǎng)L從200n掃描至2200n(其實(shí)可以不用那么多,1000n就可以了,一般的設(shè)計(jì)用不到那么大的L)。
仿真結(jié)果
點(diǎn)擊仿真后,生成兩組曲線。左邊是id/W,右邊是gain。
右鍵單擊id/W的Y軸,將其改成對(duì)數(shù)顯示。
出來的曲線就更直觀了。
在設(shè)計(jì)的時(shí)候,添加一個(gè)Marker,就能得出某個(gè)gm/id下對(duì)應(yīng)的id/W和gain數(shù)值。
保存結(jié)果
我們可以選擇保存結(jié)果,下次就不用再進(jìn)行仿真設(shè)置。
修改名字后,點(diǎn)擊OK確定。
下次打開仿真器時(shí),直接加載即可。
選擇上次保存的仿真設(shè)置。
P-MOS仿真
原理圖
設(shè)計(jì)原理圖,對(duì)于P管,暫時(shí)不考慮體效應(yīng),B端直接接VDD。
仿真設(shè)置
和N管一樣,設(shè)置變量初值,設(shè)置dc仿真,最后設(shè)置輸出。
附上輸出參量的兩個(gè)代碼。注意,id/W的結(jié)果是負(fù)值,所以加了abs絕對(duì)值函數(shù)。
waveVsWave(?x OS("/PM0" "gmoverid") ?y OS("/PM0" "self_gain")) waveVsWave(?x OS("/PM0" "gmoverid") ?y abs(OS("/PM0" "id") / VAR("W")))還有三個(gè)參數(shù),注意其中的abs絕對(duì)值函數(shù)
waveVsWave(?x OS("/PM0" "gmoverid") ?y (OS("/PM0" "vgs") - OS("/PM0" "vth"))) waveVsWave(?x OS("/PM0" "gmoverid") ?y abs((OS("/PM0" "gds") / OS("/PM0" "id")))) waveVsWave(?x OS("/PM0" "gmoverid") ?y OS("/PM0" "vgs"))設(shè)置好的仿真器,可以和自己的對(duì)照一下。
仿真結(jié)果
設(shè)置好參數(shù)掃描后,得到了仿真結(jié)果,再設(shè)置id/W曲線的Y軸為log坐標(biāo)。
總結(jié)
以上是生活随笔為你收集整理的模拟CMOS集成电路设计中的gm/id设计方法及用Cadence Virtuoso IC617仿真有关参数曲线的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入理解CSS盒模型 - 程序猿的程 -
- 下一篇: hping3使用详解