《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 采用Mult-tap標準單元PGV以獲取精準的Power EM違例
采用Mult-tap標準單元PGV以獲取精準的Power EM違例
2016年電子技術(shù)應(yīng)用第8期
蔡 琰,季 昊,施建安
英偉達半導(dǎo)體科技(上海)有限公司,上海201210
摘要: 電源電子遷移(Power Electromigration,Power EM)檢查在高性能芯片設(shè)計中起重要作用。在Voltus進行電源網(wǎng)格分析時,由于在每個標準單元的電源網(wǎng)格視圖(Power Grid View,PGV)生成過程中通常只抽取一個電流接入點(tap),從而流入每個標準單元的電流都聚集到一點。但對于大尺寸標準單元, 電流實際上是分布到各個接觸孔而非集中到一點,因此Power EM結(jié)果比實際情況悲觀很多。本文描述了一種新的方法,即只對在關(guān)鍵路徑上使用并具有高翻轉(zhuǎn)率的大型時鐘單元抽取多電流接入點(multi-tap)PGV。通過這種方法,幾乎不增加運行時間和內(nèi)存消耗而使得Power EM準確性得到提高。
中圖分類號: TN402
文獻標識碼: 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.
Application of multi-tap standard cell PGV to capture accurate power EM violations
Cai Yan,Ji Hao,Shi Jian′an
NVIDIA,Shanghai 201210,China
Abstract: Power Electromigration(EM) check plays an important role in high performance chip design. In Voltus rail analysis, the current of each standard cell clusters to one point since there is only one tap extracted by default during standard cell Power Grid View(PGV) generation. But in the real world, for large standard cells, the current distributes to all contacts instead of clustering to one. Therefore, the Voltus power EM result is much more pessimistic than reality. This paper describes a method to only generate multi-tap PGV for large clock cells which are generally used in critical paths with high switching activity. With this method, better accuracy is achieved and runtime and memory are barely increased.
Key words : power Electromigration;Power Grid View;Voltus

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]。

圖像 001.png

圖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位置的原因。

圖像 002.png

圖2  BIGBqUFFERD1 PGV圖形

2 Multi-tap標準單元生成方法

  在現(xiàn)實世界中,電流是通過多個V0流入標準單元的。如圖3所示,大型標準單元的VDD和GND 端口各自有很多V0。所以每個端口只抽取一個tap并不符合實際情況,無法真實反應(yīng)電流分布。

圖像 003.png

圖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。

圖像 004.png

圖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是兩塊不同的芯片。

圖像 005.png

圖5  VDD EM違例數(shù)量對比圖

圖像 007.png

圖6  GND EM違例數(shù)量對比圖

圖像 008.png

圖7  VDD最差電流比率對比圖

圖像 008.png

圖8  GND最差電流比率對比圖

圖像 009.png

圖9  歸一化運行時間對比圖

圖像 010.png

圖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抽取基本不影響硬盤消耗。

圖像 011.png

圖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.

  


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。