這裡用一個Current Mirror電路為例子,如圖一,Ii為輸入電流、Io為輸出電流。
圖一:
假設我們要設計Ii=Io,也就是要MOS1=MOS2。我們可以單獨把MOS1和MOS2畫出來,且SA1=SA2、SB1=SB2,如圖二。這樣LOD Effect對MOS1和MOS2的影響是相同的。
圖二:
圖二是MOS1和MOS2各只有一個Finger的狀況,假如是MOS1和MOS2為Multi Fingers呢?圖三為MOS1和MOS2各有2個Fingers的狀況,雖然MOS1和MOS2裡各自兩個Finger的SA、SB不同,但對MOS1、MOS2來說只要SA11=SA21、SB11=SB21、SA12=SA22且SB12=SB22,MOS1就是等於MOS2。所以當我們要設計Ii=Io(MOS1=MOS2)時,不論是否為Single Finger或是Multi Fingers,我們只要確定MOS1和MOS2的Layout一模一樣即可避免LOD Effect所造成的Mismatch,即使MOS1和MOS2畫在同一塊Diffussion上也是如此。
圖三:
如圖一,如果我們的設計不是Ii=Io,例如Ii=4*Io,這時我們可以單獨先把MOS1畫出來再把同樣的Layout複製4次成MOS2即可。不過為了要節省面積的關係,我們通常會把MOS1和MOS2畫在同一塊OD(difussion)上,這時Layout上就要特別注意。假設當SA(SB)大於5um時LOD Effect的影響小到可以忽略(註二), 圖四把MOS1和MOS2畫在同一塊OD上,所以我們必須把最外側(最左、最右)Fingers的OD延伸到大於5um的狀況下,這時將可以把LOD Effect影響忽略。
圖四:(MOS1有兩個fingers,MOS2有8個fingers。)
由圖四的例子可知,我們必須把重要電路(Ex: Current Mirror、Differential pair)的SA(SB)設計成>5um的狀況下,而其他不重要電路則可不遵守這樣的規則。如圖五,我們把Critical Cicuits擺在整個Diffussion中間,Non-Critical Cicuits(Ex: Switches、Dummy Devices)擺在兩旁,而Critical Cicuits最外側(最左、最右)Fingers其Gate到OD距離必須大於5um。
圖五:(Critical Circuits有6個fingers,Non-Critical Circuits有4個fingers。)
所以利用Layout上的技巧來降低LOD Effect對電路的影響最大原則就是"重要電路(Ex: Current Mirror、Differential Pair)的SA(SB)設計成>5um"(註二),其它的layout對稱問題就如一般的類比電路佈局技巧一樣(註三)。
註一:如果能預估所有元件的SA(SB)是再好不過了。
註二:不同製程下,可容忍的gate到diffusion長度皆不同,在設計電路時,要先找到這個值,在這裡是假設5um。
註三:類比電路佈局技巧可參考台北大學黃弘一教授(Prof. Hong-Yi Huang)的"混合信號積體電路設計與佈局"講義。
延伸閱讀1:Introduction to LOD Effect (上) by BuBuChen
延伸閱讀2:Well Proximity Effect
延伸閱讀3:OD Space Effect (OSE)
延伸閱讀4:Poly Space Effect (PSE)
延伸閱讀5: Self-Heating Effect (SHE) 自我加熱效應 by BuBuChen
[1] Y. M. Sheu, et al., "Impact of STI Mechanical Stress in Highly Scaled MOSFETs," in Proc. IEEE International Symposium on VLSI Technology, Systems and Applications, 2003, pp. 76-79.
[2] P. G. Drennan, et al., "Implications of Proximity Effects for Analog Design," in Proc. IEEE Custom Integrated Circuits Conference, 2006, pp. 169-176.
1.如果確定了製程,可以請layout工程師先依他們的習慣與design rule建立pcell,我想,這樣預估SA與SB可能會較為容易吧?
回覆刪除2.不知道hspice在multi-finger的狀況下是怎麼定義SA和SB?有的finger離fox很遠,有的finger離fox很近,在hspice中可能只用m=4來表現一個4finger的mos
3.你的圖四和圖五有點怪,應該是>5um,怎麼圖說寫成<5um
4.圖三和圖四的做法好像有點不同,圖三兩個mos因為受到一樣的LOD effect而匹配,圖四則是poly到fox的距離已經長到使LOD effect影響很小(就是上集所說的趨於飽和),而使兩個mos匹配,是嗎?
留言框真小,真難寫 = =
版主回覆:(08/29/2008 03:23:48 PM)
1. 這樣做應該可行,其實PDK裡有預估SA、SB,但我試著做CDL Out,SA(SB)並不會轉出來。
2. 在pre-sim似乎只能寫m=4,要不然就要一個finger當成一個MOS寫。
3. Sorry,已經更正。謝謝。
4. 是的。圖三是真正的match,圖四是讓誤差變小到可以忽略。我自己是常用圖四、五的方法,因大部分的狀況都是元件很多的時後,為了要節省面積。
5.pixnet改版後,留言框變小了,我會寫信去反應。
謝謝你認真的把文章讀完,還幫我抓了好幾個bug,真的很謝謝你。
1.寫得很好
回覆刪除2.非常用心
3.掌聲鼓勵
版主回覆:(09/08/2008 12:47:55 PM)
謝謝妳~什麼時候來喝咖啡??
你真可愛ㄟ, 這麼懷念舊人, 這樣你的模範新人不會吃醋喔:b
回覆刪除版主回覆:(09/09/2008 02:23:26 PM)
沒有懷念~~~他們都是我的恩師,我很感謝他們...
Good stuff !
回覆刪除版主回覆:(09/10/2008 02:12:17 PM)
Thanks.
I think it is useful to every circuit designers.
你不會是第一屆跟黃老師的學長XX倫吧???
回覆刪除題外話~
我有點想請教的就是使用工作站模擬,PDK元件叫出只要給WL值,他就會自動算出sd,ad,as,pd,ps,nrd,nrs,sa,sb,sca,scb,scc。這些參數,如使用PC版Hspice模擬(1.不想從工作站轉出netlist在PC模擬,2.不想在.sp檔上,寫入計算這些參數的公式),他有內建的公式去運算嗎???.OPTION要怎給???
感恩~
版主回覆:(10/03/2008 04:31:44 PM)
我比那個XX倫帥多了~~~^^
只有工作站上的PDK可以直接算出那些參數;如果想在pc上算出那些東西,可能要自己寫程式,或是以後的EDA vendor有提供這樣的程式才行。
.option怎麼給是什麼意思?可否說清楚些~~~
很帥很帥喇XDDDDDDD
刪除第一屆大學長..............
刪除你好 我想請問一下 有關於你在文中所提到的SA和SB這些參數,在TSMC
回覆刪除所提供的MODEL檔裡有嗎?因為我比較習慣用單機版的HSPICE模擬,我要怎麼確定我的MODEL檔裡有你上述所說的參數呢?謝謝唷^^
版主回覆:(01/13/2009 05:06:12 PM)
SA, SB你必須給他,你只要確定你的TSMC model是BSIM 4的版本就有把LOD effect給model進去了,
不論是linux或是xp的HSPICE都是一樣的~~^^