從頭到尾構(gòu)建混合信號高集成度系統(tǒng)(SoC)的步驟(6):布局
Tamara博士: 嗨,Dave,你坐在那兒干什么?
Dave:坐在他辦公室地板上,正在吸吮一杯溢到杯口的咖啡,嗨,Tamara博士,正在清理房間……太不好意思叫服務(wù)人員了。
Tamara博士:[挨著Dave坐下來,拿起幾張紙巾動手幫忙] 我知道你是什么意思。清理地板(floor work),趁機(jī)活動活動。這提醒我,我們可以進(jìn)行下一次討論了。
Dave:這有何關(guān)聯(lián)?
Tamara博士:我們需要討論設(shè)計布局,我想那也是從平面圖規(guī)劃(floor planning)開始的。
Dave:是的,平面圖規(guī)劃。首先,我本人并不是布局方面的專家。我只是偶爾幫個小忙,但如今的工具和工藝相當(dāng)復(fù)雜,所以要布置芯片就離不開能干的布局人員。實(shí)際上,他們的正式頭銜是‘掩膜設(shè)計人員’,因為他們的工作成果是利用數(shù)據(jù)去制作用于生產(chǎn)芯片的掩膜。
Tamara博士: 掩膜設(shè)計人員知道芯片的工作原理嗎?我的意思是,他們?nèi)绾沃廊绾伍_始,哪些模塊重要而哪些不重要?
Dave:掩膜設(shè)計人員知道有關(guān)工藝和軟件的許多知識,但通常在他/她開始時并不怎么了解某一個特定的芯片。所以我們要進(jìn)行平面圖規(guī)劃。但在此之前,我們也能分層級地構(gòu)建我們的原理圖,以便這些模塊在原理圖中得到清楚的顯示。然后平面圖規(guī)劃變?yōu)楹唵蔚漠嬀€工作,來標(biāo)明模塊的位置。請看圖1。
Tamara博士: 我明白了。你從原理圖繪制出芯片內(nèi)部的簡單平面功能圖。但作為非布局專家,你如何知道模塊在芯片上占多大面積?
Dave:我想我的猜測是有根據(jù)的。我使用足夠多的布局工具來大致推斷模塊的尺寸,我的布圖規(guī)范就建立在這個基礎(chǔ)之上。我們對模塊進(jìn)行面積預(yù)算,然后掩膜設(shè)計人員會在布圖規(guī)劃中參與進(jìn)來并讓我知道事情是否對頭。電路設(shè)計人員和掩膜設(shè)計人員是相互協(xié)同工作的。
Tamara博士:所以重要的是保持良好的工作關(guān)系。
Dave:是的,但有時這是一個挑戰(zhàn)。我們總想在所有最終仿真完成前開始布局工作。實(shí)際上,最終仿真必須包括合理布局后產(chǎn)生的寄生參數(shù),所以我們直到布局接近完成時才能進(jìn)行最終仿真。
Tamara博士:這對掩膜設(shè)計人員有何影響?
Dave:一言以蔽之:改動。掩膜設(shè)計人員喜歡我們盡早固定電路設(shè)計不再改動,以便他們能夠優(yōu)化布局。但后面的仿真可能會顯示出我們需要糾正的問題。所以最終,掩膜和電路設(shè)計人員都必須能靈活改變他們的設(shè)計。
Tamara博士:明白了!一旦你有了一個基本平面布圖規(guī)劃,掩膜設(shè)計人員肯定還需要其他信息。
Dave:我們可能知道這個工藝設(shè)計過程,但有些事情是可變的:金屬層的數(shù)量可能變化,為了得到一個高阻值的電阻我們可能需要做另外一次的植入和掩膜步驟。另外還可能有一個在軟件中自動布局的大數(shù)字電路區(qū)。所以每個項目都有一個不同的組合。
Tamara博士:我想成本會隨著層數(shù)的增加而上升,那么我們?yōu)槭裁词褂帽确秸f四層而非三層金屬層。
Dave:這取決于芯片。如果我們有更多互連層、更多金屬層,那么數(shù)字電路封裝的尺寸就要小得多。所以,如果數(shù)字區(qū)很大,那么多加一層金屬會使芯片更小,其效益足以彌補(bǔ)附加層的成本。
Tamara博士:所以該工作是為了優(yōu)化整個工作而不只是層數(shù)。
Dave:是。事情總是這樣。
Tamara博士:還有沒有其他事情與此類似?你提到了需要另一個植入步驟來得到一個高阻值的電阻。你能否使用較低阻值的電阻和串聯(lián)多個來獲得你要的高阻值電阻。
Dave:能行。但如果電阻面積增加,它會增加寄生電容并可能使高頻電路性能下降。同時始終存在成本權(quán)衡:高值電阻占用面積小,在一些特別的設(shè)計中可以節(jié)省足夠多的硅片面積來補(bǔ)償附加植入步驟所產(chǎn)生的成本。
Tamara博士:面積似乎常常被提到。我想它是設(shè)計最基本的約束條件和成本動因之一。那么這些器件的相對大小如何。CMOS晶體管與電阻或電容比較起來怎樣?
Dave:我要給你一個典型的工程學(xué)答案:這取決于其他條件。晶體管可非常小,在數(shù)字設(shè)計中通常是這樣。但在模擬設(shè)計中,一對晶體管需要匹配,這意味著它們需要是大尺寸,或至少足夠大。電阻尺寸可以小到典型模擬晶體管的尺寸和大到芯片晶圓面積的一半,這取決于設(shè)計。作為比較,1k-10k電阻是幾個典型模擬晶體管和幾十個數(shù)字晶體管的尺寸……大致是這樣。電容尺寸大,可以說是太大。我根據(jù)RC和有源放大器構(gòu)建了許多濾波器,電容是模塊中最大的元件完全不是什么不尋常的事情。你還記得741運(yùn)算放大器嗎?
Tamara博士:當(dāng)然。常用的單位增益穩(wěn)定741:我使用了成百個此種放大器。
Dave:嗯,741運(yùn)算放大器中的單個最大器件是30pF補(bǔ)償電容。
Tamara博士:有意思。所以你想不使用電容。
Dave:不使用多余的電容。
Tamara博士:你提到了匹配。似乎像提到面積一樣多。這怎么處理?
Dave:許多電路性能都依賴于值的比率而非絕對值。例如模/數(shù)轉(zhuǎn)換器、數(shù)/模轉(zhuǎn)換器和帶隙基準(zhǔn)等。在這些模塊中,我們想讓關(guān)鍵值是彼此的整數(shù)倍。我們通過使用單位元件來做到這一點(diǎn):我們構(gòu)建電阻、電容甚至大晶體管,作為通用小元件的集合。這樣,我們知道R2是R1大小的10倍,因為R2是10個單位R1串聯(lián)起來的,而R1只是其中一個。請看圖 2。
Tamara博士:哇!這樣,我們知道它是完美的……
Dave:不完全是。芯片發(fā)熱可能不均勻,所以電阻中的所有元件可能并不全是同一溫度,這會使它們不匹配。我們用幾何學(xué)方法解決該問題。例如,在帶隙電路中,我們可能想讓一個晶體管是另一個晶體管的8倍。所以我們先在芯片上放一個晶體管,然后在它周圍放8個完全相同的晶體管。這樣,如果整個模塊有溫度差異,一些器件的溫度可能稍高,一些可能稍低,但周圍8個器件平均下來會幾乎與中央器件一樣。我們稱之為公共質(zhì)心方案。有許多與此相似的訣竅。
Tamara博士:看來這要等到下次來討論了。但至少我們“清理”了你的咖啡。真是夠亂的,是不是?
Dave:是。嗨,謝謝你停下來幫我……下次也許我們可以擦一擦我的窗戶!(全文完)