基于65nm工藝數(shù)字IC物理設(shè)計中信號串?dāng)_的預(yù)防
摘要:數(shù)字集成電路的不斷發(fā)展和制造工藝的不斷進(jìn)步,使得物理設(shè)計面臨著越來越多的挑戰(zhàn)。特征尺寸的減小,使得后端設(shè)計過程中解決信號完整性問題是越來越重要?;ミB線間的串?dāng)_就是其中的一個,所以在后端設(shè)計的流程中,對串?dāng)_的預(yù)防作用也顯得尤為重要。本文就TSMC 65nm工藝下,根據(jù)具體的設(shè)計模塊,探索物理設(shè)計流程中如何才能更好的預(yù)防串?dāng)_對芯片時序的影響。
關(guān)鍵詞:串?dāng)_;物理設(shè)計;數(shù)字集成電路
0 引言
近年來,隨著我國集成電路設(shè)計水平和工藝技術(shù)的提高,芯片的集成度持續(xù)提高到了驚人的地步,電源電壓逐步降低以及時鐘頻率不斷提高,在芯片功能越來越強大的同時,也意味著所有與信號完整性SI(signal integrity)相關(guān)的問題都變得越來越嚴(yán)重。集成電路技術(shù)的發(fā)展使得在后端物理設(shè)計過程中電路布線的復(fù)雜性不斷增加,龐大又復(fù)雜的設(shè)計中電路門數(shù)的劇增使更多、更長的金屬互連線成為必要,導(dǎo)致了布線層數(shù)的不斷增加,同時相鄰的溝道電容也在增大,所以在深亞微米及以下工藝的IC后端設(shè)計流程中,有效地預(yù)防串?dāng)_的影響也變得越來越重要。
1 基于IC Compiler的物理設(shè)計過程中對串?dāng)_的預(yù)防措施
在物理設(shè)計過程中,串?dāng)_的預(yù)防可以有很多方面,下面主要討論后端設(shè)計階段的標(biāo)準(zhǔn)單元布局、時鐘布線和總體布線相應(yīng)對串?dāng)_的預(yù)防措施。
在標(biāo)準(zhǔn)單元的布局階段,可以通過設(shè)置一些約束來控制工具自動化布局,從而改善后面串?dāng)_的影響。最主要的方法有對標(biāo)準(zhǔn)單元的擁塞度和連線的跳變時間的控制。對于跳變時間的約束,我們可以在后端設(shè)計的流程中控制max_transition值;對于擁塞的改善,在IC Compiler的布局階段,可以讓工具ICCompiler增加擁塞驅(qū)動來進(jìn)行自動的標(biāo)準(zhǔn)單元布局的工作,具體實現(xiàn)是在place_opt后面增加選項-congestion。
在時鐘樹的布線階段目前最主要的方法是將時鐘連線的寬度和間距加倍(dsdw)的布線規(guī)則和對時鐘連線采用屏蔽(shield)的布線規(guī)則。在ICCompiler中用define_routing_rule來實現(xiàn)。
在全局布線階段,IC Compiler在自動布線中就有串?dāng)_這一選項;將該選項打開,工具在布線的時候就會考慮串?dāng)_,并盡可能將其修復(fù),即route_opt-xtalk_reduction。為了更好的作用,需要在布線之前將信號完整性分析打開:set_si_options-delta_delay true-route_xta lk_preventation_thresholdvalue,該閾值大小的設(shè)置也很重要。
2 對串?dāng)_預(yù)防的各種方法的實踐及比較
有理論基礎(chǔ)和對IC Compiler的掌握后,下面就利用可重構(gòu)芯片項目中一個100多萬門的模塊core_1作為實踐目標(biāo),探索預(yù)防串?dāng)_方法的較理想的流程。該設(shè)計采用的工藝是TSMC 65nm工藝,在core_1的設(shè)計中有半周期的時序路徑,這部分的路徑上時序是比較緊張的,將其歸為inv_clk的組,另外的寄存器之間的時序路徑就歸為clk的組。如下表1、2所示,給出的是各種實驗數(shù)據(jù)。表1為表示各種不同設(shè)置的表格,該表格給出的是設(shè)置的不同處,流程中沒寫出來的其他的設(shè)置均是相同的。表2就是根據(jù)表1中的不同在core_1中所得到的實驗結(jié)果,表2中的tdd表示該數(shù)據(jù)路徑上串?dāng)_引起的總的附加延遲(Totaldelta delay)。
對于表1,“√”表示的是該步驟最基本的流程,而“-congestion”是表示在place_opt后面增加選項-congestion,“DSDW”表示在時鐘樹綜合流程中采用的是雙倍線寬和間接的規(guī)則, “shield”表示在時鐘樹綜合流程中采用的是屏蔽的時鐘樹布線,而threshold value欄中的“No”表示布線時串?dāng)_選項沒有打開,0.2/0.3就是打開SI的選項-routextalk_preventation_threshold的值。
表2是表示在表1中的不同設(shè)置的流程下,core_1的實際結(jié)果wns//tdd表示的是最差路徑時序違規(guī)和該路徑上總的串?dāng)_產(chǎn)生的延遲,tns是總的時序違規(guī),clk和inv_clk是指core_1里不同的路徑組(pathgroup)。其中inv_clk是半周期的路徑,其時序相對比較緊張。
由表2的實驗結(jié)果可知:對傳輸時間的約束不僅改善串?dāng)_的作用,還對整個時序都有比較好的提高,并得知在TSMC 65nm工藝下,將最大的傳輸時間約束在0.5ns是比較理想的;布局階段的擁塞驅(qū)動可以很好地改善串?dāng)_的延遲,并對時序比較寬松的路徑時序也得到很好的改善,但是對于時序緊張的路徑其影響是不利的;時鐘樹階段對時鐘布線采用DSDW和shield的規(guī)則對時序的優(yōu)化和串?dāng)_延遲的抑制起到了很好的效果;在自動布線階段打開工具對串?dāng)_的減少這一功用,對時序和串?dāng)_延遲均是有好處的,其閾值對于TSMC 65nm的工藝設(shè)置為0.3更為合理。而set_5、set_6、set_7說明了在整個后端流程中set_6的設(shè)置對于core_1這個設(shè)計來說是最合理的,因為其不僅預(yù)防了串?dāng)_延遲也很好地兼顧了clk和inv_clk兩個group的時序。
3 結(jié)論
在65nm及以下的數(shù)字芯片的物理設(shè)計過程中對串?dāng)_的預(yù)防是很重要的,現(xiàn)通過對core_1芯片的實踐,我們可以看出,對于時序比較好滿足的情況下,設(shè)置最大傳輸時間的約束、在擁塞驅(qū)動下進(jìn)行標(biāo)準(zhǔn)單元布局、采用dwds規(guī)則的時鐘布線、采用設(shè)置合適的閾值下的減少串?dāng)_作用的自動布線程序,這樣的流程對于串?dāng)_的預(yù)防是有效的。而對于時序不好滿足的情況下設(shè)置最大傳輸時間的約束;在時序驅(qū)動下進(jìn)行標(biāo)準(zhǔn)單元的布局;采用dwds規(guī)則的時鐘布線;采用設(shè)置合適的閾值下的減少串?dāng)_作用的自動布線程序,這樣的流程更為理想。
評論