高成振,馬永飛,孫戰(zhàn)先,柯希明
(上海高性能集成電路設(shè)計中心,上海 201204)
隨著超大規(guī)模集成電路發(fā)展到納米級工藝,集成電路的電源完整性越來越受到關(guān)注。特征尺寸的降低促使芯片在獲得更高性能和集成度的同時,供電電壓逐漸降低,電源網(wǎng)絡中的Ldi/dt噪聲變得越來越嚴重,最終導致芯片的可靠性設(shè)計面臨具大挑戰(zhàn)。
過高的電源噪聲會降低晶體管性能,甚至導致邏輯失效,從而影響整個電路的可靠性。為將電源噪聲控制在一定范圍內(nèi),設(shè)計人員通常會在電源供電網(wǎng)絡的多個層次(如板級、封裝級和芯片級)選擇性地添加去耦電容(decoupling capacitor,簡稱decap)[1-2]。每個去耦電容在局部相當于一個儲能的電源,可以通過充放電調(diào)節(jié)局部電流,同時降低電源網(wǎng)絡的阻抗,從而起到抑制電源噪聲的作用。越靠近芯片,去耦電容容值越小,諧振頻率越高,因此,片上去耦電容可以有效抑制高頻電源噪聲。
在28 nm工藝之前,考慮到去耦電容的添加容易增加芯片的泄漏功耗,大部分去耦電容插入算法都是在芯片的布局布線完成后進行的,目的都是用盡量少的去耦電容來達到有效降低電源噪聲的效果。而在28 nm工藝之后,新型材料和結(jié)構(gòu)的應用可以大幅削弱晶體管的泄漏功耗[3-4],因此,添加去耦電容時不必嚴格控制其數(shù)量。在此背景下,本文提出一種在布局布線之前預布一定數(shù)量去耦電容的策略,并設(shè)計多組實驗探究工藝角、預布量、芯片利用率等因素對預布效果的影響。
關(guān)于decap的插入和優(yōu)化算法主要分為2類:基于敏感度的優(yōu)化算法和基于電荷量的優(yōu)化算法。
基于敏感度的優(yōu)化算法以電源噪聲較大的節(jié)點對decap的敏感度為約束條件進行優(yōu)化。計算各節(jié)點的敏感度需要在優(yōu)化過程的每一步都對電路進行瞬態(tài)仿真,因此,該類算法時間復雜度較高,中途需要存儲的信息量也很大。文獻[5]使用二次規(guī)劃方法處理敏感度問題,并用分段線性化方法進行敏感度信息壓縮存儲,以減輕存儲量的負擔。文獻[6]提出共軛梯度方法。文獻[7]引入多重網(wǎng)格概念,簡化了問題規(guī)模,并使用序列二次規(guī)劃(Sequential Quadratic Programming,SQP)方法解決問題。文獻[8]使用分治法將大規(guī)模電路劃分為多個小模塊。文獻[9]在分治思想的基礎(chǔ)上引入隨機游走算法,其能夠更合理地對整體電路進行劃分。
如前文所述,目前關(guān)于片上decap的研究多數(shù)集中在布局布線完成后解決decap的優(yōu)化分配問題,其目的都是在有效抑制電源噪聲的前提下盡量減少decap的添加量。
在CMOS工藝下,decap通常使用MOS管柵電容實現(xiàn)[15]??紤]到MOS管的結(jié)構(gòu)特點,需要較大的柵電容來吸引電荷進入溝道,這就導致柵氧電介質(zhì)必須很薄。隨著特征尺寸不斷變小,柵氧層越來越薄,柵極的泄漏電流將變得很大。在100 nm工藝以下,柵氧厚度每減小0.2 nm,柵極泄漏就增大10倍[16]。另外,MOS管尺寸按比例縮小還會使柵極的控制能力減弱,此時無法完全關(guān)閉溝道,最終導致漏極到源極的亞閾值漏電流增大。
在工藝達到28 nm以后,由于采用了高介電常數(shù)電介質(zhì)(high-k材料)和FinFET結(jié)構(gòu),MOS管泄漏電流過大的問題得到了極大緩解[17]。使用high-k材料能有效抑制柵極漏電流,而FinFET結(jié)構(gòu)則將柵極做成類似鉗子的排列結(jié)構(gòu),如圖1所示,在MOSFET結(jié)構(gòu)中,柵極與源漏區(qū)域間僅有一個平面接觸,這能夠限制柵極對溝道的控制;而在FinFET結(jié)構(gòu)中,源漏區(qū)域在硅的表面形成了魚鰭狀結(jié)構(gòu),柵極包圍了垂直鰭狀源漏的3個面。這種結(jié)構(gòu)增加了柵極的控制范圍和控制能力,能夠大幅緩解亞閾值漏電流過大的問題。
圖1 MOSFET和FinFET結(jié)構(gòu)示意圖
表1列出了28 nm工藝下某芯片不同模塊的decap泄漏功耗占芯片總功耗的比例。在這些模塊的設(shè)計過程中,布局布線完成后,decap被添加到所有的空閑區(qū)域,占整個模塊面積的20%~30%。從表1可以看出,在28 nm工藝下,即使有大量decap被插入到芯片中,其泄漏功耗也僅占模塊總功耗的0.000 2%到0.002%,幾乎可以忽略。尤其是在計算量十分密集的高性能處理器中,decap引入的額外泄漏功耗與芯片總功耗相比更微不足道。
表1 decap泄漏功耗占模塊總功耗比例
由于decap泄漏功耗的影響可以忽略,因此在進行decap插入時,不必刻意控制decap的插入量,即不必等到布局布線完成后才添加decap。為使decap得到更充足地插入,從而更有效地發(fā)揮降噪效果,本文提出在物理設(shè)計的早期,即布局布線完成之前“預布”decap的策略。雖然預布的decap占據(jù)一定的空間,會給單元布局帶來影響,但由于decap只用到一層金屬,并不影響后續(xù)的高層金屬布線,同時decap的插入使其附近的單元布局不至于過度緊密,從而可以為布線預留足夠的空間。
圖2所示為芯片設(shè)計中的物理實現(xiàn)流程,即綜合流程。在第1階段生成floorplan和powerplan后,有規(guī)律地均勻添加少量的decap,即預布decap。預布的decap不宜過多,以免影響到后續(xù)的布局和布線。選取decap時,通常選用驅(qū)動能力強、等效電容(ESC)大、等效電阻(ESR)小的decap用于預布。如圖3所示,預布decap需均勻且有規(guī)律。
圖2 芯片物理設(shè)計流程
進入綜合流程中的布局布線階段后,如果整體設(shè)計的利用率較高,或者在某個區(qū)域集中分布著關(guān)鍵的時序網(wǎng)點,導致預布的decap影響到了時序,可以適當移除該位置的decap。布線優(yōu)化完成后,進行空單元Filler插入和decap后補流程。后補流程將多種驅(qū)動能力的decap添加到模塊的剩余空間中,按照面積由大到小的順序依次添加,盡可能地鋪滿空閑區(qū)域。在通常情況下,后補的decap占模塊總面積的10%~30%。
如第2.2節(jié)所述,通過“預布+后補”的decap插入策略,可以在保證一定均勻性的基礎(chǔ)上,盡可能多地插入decap。但同時,在邏輯密集區(qū)域或者某些大電流大翻轉(zhuǎn)區(qū)域,可能出現(xiàn)由于沒有剩余空間導致無法插入decap的情況。
圖4所示為某觸發(fā)器密集區(qū)的decap插入情況,其中,深色為觸發(fā)器單元,白色為插入的decap單元。由圖4可以看出,頻繁翻轉(zhuǎn)的觸發(fā)器緊密地排布在一起,導致decap只在較遠的空閑處有零散的插入,而這些較遠的距離將大幅降低decap的實際使用效果。
圖4 某觸發(fā)器密集區(qū)decap插入情況
為解決上述問題,本文引入list-decap策略,即預先設(shè)定一個敏感單元列表,列表中包含大電流大翻轉(zhuǎn)的單元(如正邊沿非掃描觸發(fā)器,大于18倍驅(qū)動倍數(shù)的單元等)。在插入后補decap之前,先在這些列表中指定單元的兩側(cè)插入指定的decap,確保這些敏感單元附近一定有decap單元分布。
如圖5所示,增加了list-decap流程后,邏輯密集區(qū)的大驅(qū)動單元附近均勻地分布著decap單元。
圖5 list-decap插入效果示意圖
綜上,根據(jù)decap插入的不同時機,可以將decap插入策略總結(jié)為以下3種:
1)pre-decap,即預布decap策略,在布局布線之前均勻預布指定的decap單元,以保證分布的均勻性。
2)list-decap,設(shè)置一個敏感單元列表,對列表中指定的邏輯密集區(qū)域,在其大電流大翻轉(zhuǎn)單元的兩側(cè)插入decap單元。
3)post-decap,即后補decap策略,在布線優(yōu)化完成后按照面積由大到小的順序依次插入decap單元,將剩余的區(qū)域盡可能地填滿。
pre-decap、list-decap、post-decap三種策略相互獨立,在模塊的設(shè)計中可以根據(jù)需要選擇一種或多種策略。其中,pre+list+post的組合方案是decap插入中數(shù)量最多且最均勻的策略。在單一的策略中,post-decap策略能填滿模塊的所有空閑區(qū)域,因此,其插入的decap數(shù)量最多。本文將針對這3種decap插入策略的不同組合方式展開對照實驗,以探究不同策略的效果并重點研究預布decap的降噪特性。
本次實驗使用Synopsys公司的Design Compiler和IC Compiler工具進行芯片模塊的邏輯綜合和物理設(shè)計。采用TCL腳本輔助實現(xiàn)decap的3種插入策略。物理設(shè)計完成后,使用Apache公司的RedHawk工具評估芯片的功耗、瞬態(tài)電壓降等情況。
本次實驗分為如下3個方案:
1)針對電路模塊M,在SS、TT、FF三種工藝角下分別嘗試3種decap插入策略的不同組合方式,比較最終的功耗及瞬態(tài)電壓降情況。模塊M的基本信息和仿真參數(shù)如表2所示。
表2 模塊M基本信息及仿真參數(shù)
表3列出了3種插入策略8種不同的組合方案,其中,“0”表示未采用該策略,“1”表示采用了該策略,如“a(111)”表示采用pre+list+post三種策略的組合方案,“h(000)”表示未采用任何decap插入策略的方案。本次實驗中,在進行decap預布時,預布的decap面積占模塊總面積的2%。
表3 3種decap插入策略的不同組合方案
2)針對電路模塊M,在綜合中預布不同比例的decap,比較不同比例的decap對最大電壓降的抑制作用。
3)針對電路模塊M,在利用率分別為40%、60%、80%的情況下進行decap的插入,比較不同利用率下decap的插入效果。
在模塊綜合完成后,使用RedHawk工具對模塊進行功耗分析,比較不同綜合條件下模塊的功耗、最大瞬態(tài)電壓降等情況。由于decap主要用來抑制高頻噪聲,對靜態(tài)電壓降的抑制效果并不明顯,因此可用RedHawk動態(tài)分析結(jié)果中的瞬態(tài)電壓降以評估decap的降噪效果。模塊的最大瞬態(tài)電壓降越小,說明decap對電源噪聲的抑制效果越好。
圖6對比了SS、TT、FF工藝角下8種decap組合方案的最大瞬態(tài)電壓降情況。從圖6可以看出,與無decap插入的方案,即h(000)相比,其他decap插入方案都能夠改善模塊的平均電壓降。其中,采用3種插入策略,即a(111)的插入方式能夠取得最均勻完善的效果,因此,該方案降噪性能最好。當采用單一插入策略時,由于post策略插入的decap數(shù)量遠遠超出pre和list策略(以pre+list+post的情形為例,pre-decap占decap總量的14.3%,list-decap占11.83%,而post-decap占73.87%),因此,post策略的效果相對最好,甚至比采用pre+list時降噪效果還明顯。當僅采用2種策略時,pre+post的效果相對最好。
圖6 不同decap策略組合下模塊最大瞬態(tài)電壓降對比
圖7對比了SS、TT、FF工藝角下,不同decap插入方法相對未插入decap,即h(000)時最大電壓降改善比例。由圖7可以看出,在FF工藝角下,decap的插入對電源噪聲的整體改善效果最好。原因是FF工藝角下工作頻率高,而片上decap用于抑制高頻噪聲,因此,在FF工藝角下decap能更好地發(fā)揮作用。
圖7 不同工藝角下最大瞬態(tài)電壓降的優(yōu)化比例
圖8顯示了有無pre-decap情況下的降噪性能對比結(jié)果。圖8(a)、圖8(b)分別列出不同組合方案下decap插入總量和最大瞬態(tài)電壓降情況。由圖8可以看出,在所有組合方案中,增加了pre-decap策略后,最大瞬態(tài)電壓降都有所降低。其中,a(111)的pre+list+post方式與c(011)的list+post方式相比,decap的插入總量僅增加了1%,卻使最大瞬態(tài)電壓降降低了7.2%。
圖8 有無pre-decap情況下降噪性能對比
在pre+list+post組合方案下,由于后補decap是在模塊的空閑區(qū)域見縫插針地插入,幾乎會填滿所有剩余空間,因此無論預布decap的比例有多大,最終pre+list+post所插入的decap總量都不會有太大變化。
在插入decap總量幾乎不變的情況下,本文嘗試調(diào)節(jié)預布decap的比例,觀察decap預布比例對電源噪聲抑制效果的影響。圖9顯示了預布decap面積占模塊總面積的比例不同時最大瞬態(tài)電壓降的變化情況。實驗中,decap的插入采用pre+list+post的組合方案。
圖9 最大瞬態(tài)電壓降與decap預布比例的關(guān)系
由圖9可以看出,預布decap的比例較低時,降噪性能隨預布比例的變化有所波動,預布比例在5%左右具有最優(yōu)的降噪效果。當預布比例增大到10%以上,降噪性能逐漸飽和。原因是過多的decap會影響到單元的布局和時序收斂,給布線帶來困難,尤其會影響關(guān)鍵的時序網(wǎng)點。影響時序的decap會被移除,最終并不能實際插入,因此,實際所能預布的decap比例是有限的。在預布時設(shè)置太大比例不僅不能改進降噪性能,反而會增加運行時間。
圖10所示為在不同的模塊利用率下最大瞬態(tài)電壓降隨decap預布比例的變化趨勢。圖11所示為模塊在不同利用率下的單元布局和pre-decap插入情況。由圖11(a)可以看出,當模塊的利用率較低時,decap大量分布在周圍的非功能區(qū)域,因此,其能夠起到的降噪作用非常有限,幾乎無法改善模塊的最大瞬態(tài)電壓降。但由于模塊利用率低,有充足的布局布線空間,因此模塊的最大瞬態(tài)電壓降也較低。當利用率提高到60%以上,布局布線的空間被壓縮,模塊的最大瞬態(tài)電壓降有所升高,但此時decap能夠有效地分布于功能單元附近,從而可以較好地發(fā)揮作用,decap的降噪效果即顯現(xiàn)出來。由圖11(b)、圖11(c)可以看出,模塊利用率在60%和80%時,最大瞬態(tài)電壓降隨decap預布比例的變化具有相似的趨勢,預布比例在4%~6%時,模塊具有最低的瞬態(tài)電壓降。
圖10 不同利用率下最大瞬態(tài)電壓降與decap預布比例關(guān)系
圖11 不同利用率下單元布局和pre-decap插入情況
本文提出一種預布decap并在大翻轉(zhuǎn)單元兩側(cè)插入decap的方法。實驗結(jié)果表明,在decap后補策略的基礎(chǔ)上引入decap預布流程后,能夠以較小的decap插入量取得較大的瞬態(tài)電壓降減小量,且芯片模塊的峰值和均值電流都得到了較好的抑制,當預布decap占模塊總面積的4%~6%時,可以得到最佳的降噪效果。今后將增大電路模塊的規(guī)模并進行實驗,根據(jù)實驗結(jié)果對本文方法作進一步優(yōu)化,并將其應用到工程實踐中。