原理圖繪制
緊接上一次的內(nèi)容,一起完成反相器原理圖繪制,并設置器件尺寸和仿真模型,已經(jīng)完成的同學可以直接跳過,反相器的工作原理不做詳細講解,相信大家已經(jīng)在集成電路相關課程里學習過。
打開之前建立的反相器原理圖文件,在原理圖繪制界面,添加NMOS管和PMOS管。按下快捷鍵i, 在彈出的對話框內(nèi)Library選擇analogLib, Cell選擇nmos4, View選擇symbol, 填寫器件尺寸和模型與下圖一致,然后鼠標左鍵單擊Hide, 把NMOS管放置在空白處。按照同樣的方法放置PMOS, 器件尺寸可以隨意,后續(xù)會做調(diào)整。


擺放好MOS管位置之后完成連線,過程很簡單。使用快捷鍵w, 然后用線按照反相器中兩個MOS管的連接關系連線。在連線完成之后使用快捷鍵p, 為輸入、輸出、電源和地打上端口,最后check&save, 如果原理圖中有遺漏的地方軟件會報錯或者警告,按下快捷鍵g, 可以查看報錯詳情。
確認原理圖沒有出錯,可以在電路旁邊加上適當?shù)淖⑨?,在原理圖輸入界面的菜單欄,選擇:Create->Note, 可以選擇添加文本注釋或者注釋框,寫上原理圖功能、狀態(tài),如果完成仿真之后還可以添加電路的工作條件、性能等信息,以供日后方便閱讀。
原理圖的繪制是為了方便后面的電路仿真,接下來會開始電路仿真的內(nèi)容,電路仿真需要首先確定設計采用的工藝,正確使用仿真模型進行仿真,才能獲得正確的仿真結(jié)果。如果仿真模型不正確,那么仿真結(jié)果對實際設計來說不會有任何意義。
使用PDK設計
仿真使用的模型文件一般包含在代工廠提供的PDK文件(process design kit)中。PDK是溝通IC設計、代工廠與 EDA工具之間的橋梁,PDK中包含很多實用功能,可以提高工作效率,特別是對版圖的支持讓版圖設計變得方便很多。
本文中使用的PDK是smic提供的0.18μm RF工藝庫,建議大家可以先采用相同的工藝庫學習,熟悉之后再更換工藝庫。具體工藝的獲得,可以在網(wǎng)上自行查找,如果找不到可以私信小目同學。
工藝庫下載之后放到Linux系統(tǒng),小目同學建議大家可以在工作目錄新建一個文件夾專門用來存放工藝庫,小目同學在工作目錄workspace下新建文件夾:pdks用來存放所有工藝庫。
PDK需要安裝工藝庫才可以使用,但是PDK的安裝分為不同的情況,與軟件版本、PDK版本以及獲得的PDK具體內(nèi)容有關,以上信息可能每個人的都不盡相同,所以建議大家在網(wǎng)上搜索工藝庫安裝的教程根據(jù)自己的情況進行安裝。
安裝完工藝庫之后,啟動Cadence軟件,這時候在Library Manager界面內(nèi)多了一個與PDK名稱一樣的庫。沒錯,PDK其實就是一個設計庫,只是包含了更多功能而已。比如小目同學完成PDK安裝之后,PDK文件夾的內(nèi)容和Library Manager界面內(nèi)的內(nèi)容如下圖所示。


現(xiàn)在有了PDK,可以開始以PDK為基礎的電路設計。重新繪制反相器的原理圖,這次MOS管使用smic18mmrf庫里提供的器件,這個庫提供了1.8V和3.3V兩種電壓的MOS管,可以隨意選用。以下是小目同學使用名為n33和p33的MOS管繪制的原理圖。

在原理圖設計中使用PDK設計的好處是:修改器件參數(shù)更加方便,使用PDK設計不需要修改器件模型,同時對于器件尺寸也有一定的限制,當用戶設計的尺寸不合理時,PDK會有相應的警告。
PDK中提供了器件的版圖,用戶可以直接調(diào)用器件版圖,不需要為器件設計版圖,只需要注意器件之間的互連設計。
電路仿真
電路設計的重要一步是原理圖完成之后的電路仿真,通過仿真結(jié)果分析電路的設計指標是否滿足設計要求,該如何修改等。當然,作為一個合格的設計者在電路設計之時應該對電路功能有一定的預期,理論分析與仿真結(jié)果相結(jié)合,才能高效地設計電路。
所有電路的設計都是有設計指標的,最簡單的反相器也不例外,今天設計的反相器只設一個指標,反相器的開關閾值電壓:

反相器的開關閾值電壓被定義成反相器輸入等于輸出的點,這個電壓反映著反相器中PMOS和NMOS的尺寸比值,在設計反相器時希望這個點盡量靠近電源電壓的中間值,表示PMOS和NMOS能力一致。
在函數(shù)圖像上表示成反相器輸出電壓曲線與函數(shù):
的交點,所以設計反相器時希望看到這個交點在的位置。也就是說,如果可以獲得反相器輸出特性曲線和曲線,在圖像上找到兩條曲線的交點,就可以通過交點位置判斷反相器的開關閾值是否滿足設計要求。Cadence軟件為設計者提供了一種叫dc仿真的仿真方法,通過這種仿真可以畫出反相器的輸出特性曲線。在原理圖界面:Launch->ADE L, 打開Cadence Analog Design Environment, 這個就是仿真設置界面。


在仿真前,需要選擇仿真模型和工藝角,具體文件在PDK文件夾下的models文件夾,一般PDK會提供兩種仿真器的model, 一個是spice model, 另一個是spectre model, 今天采用的仿真器是spectre, 所以選擇spectre文件夾內(nèi)的仿真模型,至于spice的仿真以后會專門來講。
之后還需要選擇分析方法、輸出信號等,每一個設置在ADE L的界面內(nèi)都有提示,各位同學自己嘗試點選每個菜單,觀察界面變化,熟悉ADE L設置。
到這里有些同學應該已經(jīng)開始有疑問了,要模擬電路的實際工作情況,難道電路仿真不需要像實際電路工作那樣接電壓源、輸入信號之類的嗎?答案是肯定的,電路仿真中把信號輸入叫做激勵,仿真電路是需要按照電路工作時的狀態(tài)添加激勵,在原理圖中添加直流信號源,包括輸入信號、電源電壓和地信號,器件均在analogLib庫中。
按照下圖中所示,添加電路激勵,并修改屬性,注意其中為AVDD和輸入信號A提供激勵的直流電壓源的DC Voltage一項分別設為avdd和vin, 這樣方便隨時修改數(shù)值,同時設計變量在仿真時也有妙用。


ADE L的仿真設置要注意:在dc仿真一項,選擇Sweep Variable一項,變量的值填入前面輸入信號的直流電壓值vin, 這樣設置的意思是掃描輸入電壓的值,而且掃描范圍從0到電源電壓,仿真器在仿真時會自動改變輸入電壓值然后記錄相應的輸出電壓,最后畫出反相器輸入信號在0到電源電壓之間變化時輸出電壓的變化曲線。
設置完成仿真選項之后,鼠標左鍵單擊ADE L界面右下角綠色按鈕或者在菜單欄:Simulation->Netlist and Run, 運行仿真。仿真結(jié)束會輸出如下曲線,如果仿真沒有正確運行或者沒有輸出波形,可以查看CIW輸出窗口,仔細閱讀輸出信息并找到原因。

仿真輸出曲線如上圖所示,我們的目標是看到反相器的輸出曲線與函數(shù):的交點,從仿真結(jié)果可以看出輸入信號與反相器輸出信號的交點正是反相器的開關閾值。
從上圖中可以看到小目同學設計的反相器開關閾值滿足設計要求(1.45 V),不知道各位的仿真結(jié)果如何。前文提到過反相器的開關閾值與PMOS和NMOS的尺寸比值有關,有興趣的可以調(diào)整兩個管子的尺寸比例,觀察一下仿真結(jié)果有何不同。
分析更深的原因,PMOS和NMOS管子中載流子的遷移速率不一樣,電子遷移率大概是空穴遷移率的2.5倍,所以一般反相器中PMOS管子尺寸大概是NMOS管子尺寸的2.5倍才能實現(xiàn)開關閾值在電源電壓的中間值附近。
由于Cadence仿真功能很多,無法一一介紹,即使是本文中所演示的反相器仿真也沒有很詳細地介紹所有設置和仿真。
軟件的使用需要用戶適當摸索,同學們可以利用Cadence Help工具學習ADE L其余仿真方法,也可以參考Cadence手冊:Virtuoso Spectre Circuit Simulator and Accelerated Parallel Simulator User Guide.