文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.004
中文引用格式: 蔡琰,季昊,施建安. 采用Mult-tap標準單元PGV以獲取精準的Power EM違例[J].電子技術(shù)應(yīng)用,2016,42(8):25-27.
英文引用格式: Cai Yan,Ji Hao,Shi Jian′an. Application of multi-tap standard cell PGV to capture accurate power EM violations[J].Application of Electronic Technique,2016,42(8):25-27.
0 引言
電源電子遷移(Power Electromigration,Power EM)檢查在高速芯片設(shè)計中起著重要的作用。Voltus在進行電源網(wǎng)格分析時會對電源電子遷移進行檢查。在先進工藝制程下,由于較高的時鐘頻率,M1電源網(wǎng)格上會出現(xiàn)一些Power EM違例。這些違例是假的,并且無法用像增強電源網(wǎng)格,把其他標準單元從違例區(qū)域移走之類的常規(guī)方法修掉。這些假的違例出現(xiàn)的根本原因是單個電流接入點(tap)過于簡單,無法正確引導(dǎo)電流分布。因而,在下文中,我們會描述針對大型時鐘單元抽取多電流接入點(multi-tap)PGV以獲得更精確Power EM違例的方法。
1 常規(guī)標準單元PGV生成方法
標準單元PGV生成流程如圖1所示,Voltus會讀取以下文件以產(chǎn)生標準單元PGV[1]。
圖1 標準單元PGV生成流程
(1)工藝LEF文件
(2)標準單元LEF文件
(3)QRC提取工藝文件(qrcTechFile)
(4)GDS圖層映射文件
(5)LEF圖層映射文件
(6)SPICE模型
(7)SPICE網(wǎng)表
此外生成標準單元PGV,還需要腳本命令輔助。以下是一個范例。
read_lib -lef $tech_lef $std_lef_list
set_pg_library_mode \
-ground_pins { GND } \
-power_pins { VDD 1.0 } \
-decap_cells { $decap_cell_parttern } \
-filler_cells { $fill_cell_pattern } \
-celltype stdcells \
-spice_subckts $std_spice_netlist \
-spice_models $spice_models_file \
-spice_corners {$spice_corners} \
-temperature 0 \
-lef_layermap $lef_layermap_file \
-extraction_tech_file $ex_tech_file
generate_pg_library \
-output ./pgv/stdcell_pgv
通常PGV會有EARLY,IR和EM三種視圖。對于標準單元來說, 這三種視圖是完全一致的,僅在電源端口包含電流分布參數(shù)和SPICE仿出來的電容信息。Tap通常產(chǎn)生在電源端口的中心位置。如圖2中的BIGBUFFERD1 PGV所示,VDD和GND各自只有一個tap。因此,在Voltus網(wǎng)格分析中,流入每個標準單元的電流都聚集在一點。這也是為什么假的Power EM違例發(fā)生在tap位置的原因。
圖2 BIGBqUFFERD1 PGV圖形
2 Multi-tap標準單元生成方法
在現(xiàn)實世界中,電流是通過多個V0流入標準單元的。如圖3所示,大型標準單元的VDD和GND 端口各自有很多V0。所以每個端口只抽取一個tap并不符合實際情況,無法真實反應(yīng)電流分布。
圖3 BIGBUFFETRD1 GDS圖形
所以若產(chǎn)生multi-tap 標準單元PGV, 電流是可以均勻分布到所有tap上,結(jié)果會更加準確。基于這個方案,我們還需要解決以下三個問題。
(1)哪些標準單需要產(chǎn)生multi-ap PGV?
(2)怎么產(chǎn)生multi-tap 標準單元 PGV ?
(3)如何在電源網(wǎng)格分析中應(yīng)用multi-tap 標準單元PGV?
2.1 哪些標準單元需要產(chǎn)生multi-tap PGV?
考慮到運行時間,內(nèi)存消耗等因素,對所有的標準單元進行multi-tap PGV 抽取是不明智的。而且在我們的設(shè)計中,除了關(guān)鍵路徑上的時鐘單元,絕大多數(shù)標準單元的翻轉(zhuǎn)率很低。所以對大多數(shù)標準單元來說,它們的電流不會太高,一個tap已經(jīng)能夠反映電流分布。然而,對關(guān)鍵路徑上的時鐘單元來說,它們分布的地方有很大幾率出現(xiàn)M1電源網(wǎng)格的Power EM違例。因此,我們僅需對大型時鐘單元抽取multi-tap PGV。
2.2 怎么產(chǎn)生multi-tap 標準單元PGV?
基于標準的PGV生成的流程,我們還可以加一些特殊指令去調(diào)節(jié)節(jié)點之間的距離以控制tap的數(shù)量(Voltus默認節(jié)點距離是50)。以下是節(jié)點距離為0.15腳本示例。
set_advanced_pg_library_mode \
-libgen_command_file libgen.cmd
libgen.cmd:
setvar max_itfnode_dist 0.15
如圖4所示, VDD和GND端口各抽取了16個tap。
圖4 Multi-tap BIGBUFFERD1圖形
2.3 如何應(yīng)用multi-tap標準單元PGV
當(dāng)multi-tap PGV應(yīng)用于電源網(wǎng)格分析中時,我們必須把這些特殊的PGV放到其他常規(guī)PGV的前面。對于有多個PGV的標準單元,Voltus僅會采用第一個非工藝的 PGV。此外,為了能在電源網(wǎng)格分析中保留所有的tap,我們必須關(guān)掉“-optimize_stdcells_library” 這個選項。以下有個例子。其中BIGBUFFERD1.cl是multi-tap PGV。
set_rail_analysis_mode \
-method static \
-accuracy hd \
-power_grid_library { \
techonly.cl \
BIGBUFFERD1.cl \
Stdcell.cl \
Ram.cl \
Analog.cl \
…}
-optimize_stdcells_library false \
…
3 結(jié)果分析
在Power EM分析中,我們的目標是當(dāng)前流過的電流與可承受的最大電流的比率小于1。在圖5~圖11中,Run1是標準流程,Run2是對所有標準單元做multi-tap PGV抽取,而Run3只對大的時鐘單元做這樣的特殊處理;ChipA和ChipB是兩塊不同的芯片。
圖5 VDD EM違例數(shù)量對比圖
圖6 GND EM違例數(shù)量對比圖
圖7 VDD最差電流比率對比圖
圖8 GND最差電流比率對比圖
圖9 歸一化運行時間對比圖
圖10 歸一化內(nèi)存消耗對比圖
從圖5和圖6中可以看出,對于ChipA,Run1中產(chǎn)生19個 VDD違例和19個GND違例,Run2和Run3沒有違例。同樣,對于ChipB,Run1中產(chǎn)生14個 VDD違例和14個GND違例,Run2和Run3沒有違例。因此,采用multi-tap 標準單元PGV能有效減少違例數(shù)量。
圖7和圖8是最差電流比率的對比圖。對于ChipA和ChipB,與Run1相比,Run2和Run3的最差電流比率下降了37%~40%。因此,采用multi-tap 標準單元PGV能有效降低最差電流比率,從而減少違例數(shù)量。
圖9是歸一化運行時間的對比圖。和Run1相比,Run2運行時間增長了30%~37%,而Run3增長了-0.4%~0.1%。因此,對所有標準單元進行multi-tap PGV抽取會大量增加運行時間,而僅對大型時鐘單元進行multi-tap PGV抽取基本不影響運行時間。
圖10是歸一化內(nèi)存消耗的對比圖。和Run1相比,Run2內(nèi)存消耗增長了5%~15%,而Run3增長了-0.2%~0.1%。因此,對所有標準單元進行multi-tap PGV抽取會大量增加部分內(nèi)存消耗,而僅對大型時鐘單元進行multi-tap PGV抽取基本不影響內(nèi)存消耗。
圖11是歸一化硬盤消耗的對比圖。和Run1相比,Run2硬盤消耗增長了56%~59%,而Run3增長了-0.1%~0.1%。因此,對所有標準單元進行multi-tap PGV抽取會大量增加硬盤消耗,而僅對大型時鐘單元進行multi-tap PGV抽取基本不影響硬盤消耗。
圖11 歸一化硬盤消耗對比圖
綜上所述,僅對大型時鐘單元做multi-tap PGV抽取可以在幾乎不增加運行成本的前提下去除假的Power EM 違例。
4 結(jié)論
通過只對大型時鐘單元做multi-tap PGV抽取可以得到精確的Power EM違例結(jié)果,并且運行時間和內(nèi)存消耗增加不到2%。在高性能的芯片設(shè)計中,這是一種分析Power EM違例的有效方法。
參考文獻
[1] Voltus IC Power Integrity solution User Guide Version14.21,November 2014.