《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 采用Mult-tap標(biāo)準(zhǔn)單元PGV以獲取精準(zhǔn)的Power EM違例
采用Mult-tap標(biāo)準(zhǔn)單元PGV以獲取精準(zhǔn)的Power EM違例
2016年電子技術(shù)應(yīng)用第8期
蔡 琰,季 昊,施建安
英偉達(dá)半導(dǎo)體科技(上海)有限公司,上海201210
摘要: 電源電子遷移(Power Electromigration,Power EM)檢查在高性能芯片設(shè)計(jì)中起重要作用。在Voltus進(jìn)行電源網(wǎng)格分析時(shí),由于在每個(gè)標(biāo)準(zhǔn)單元的電源網(wǎng)格視圖(Power Grid View,PGV)生成過(guò)程中通常只抽取一個(gè)電流接入點(diǎn)(tap),從而流入每個(gè)標(biāo)準(zhǔn)單元的電流都聚集到一點(diǎn)。但對(duì)于大尺寸標(biāo)準(zhǔn)單元, 電流實(shí)際上是分布到各個(gè)接觸孔而非集中到一點(diǎn),因此Power EM結(jié)果比實(shí)際情況悲觀很多。本文描述了一種新的方法,即只對(duì)在關(guān)鍵路徑上使用并具有高翻轉(zhuǎn)率的大型時(shí)鐘單元抽取多電流接入點(diǎn)(multi-tap)PGV。通過(guò)這種方法,幾乎不增加運(yùn)行時(shí)間和內(nèi)存消耗而使得Power EM準(zhǔn)確性得到提高。
中圖分類號(hào): TN402
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.004
中文引用格式: 蔡琰,季昊,施建安. 采用Mult-tap標(biāo)準(zhǔn)單元PGV以獲取精準(zhǔn)的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è)計(jì)中起著重要的作用。Voltus在進(jìn)行電源網(wǎng)格分析時(shí)會(huì)對(duì)電源電子遷移進(jìn)行檢查。在先進(jìn)工藝制程下,由于較高的時(shí)鐘頻率,M1電源網(wǎng)格上會(huì)出現(xiàn)一些Power EM違例。這些違例是假的,并且無(wú)法用像增強(qiáng)電源網(wǎng)格,把其他標(biāo)準(zhǔn)單元從違例區(qū)域移走之類的常規(guī)方法修掉。這些假的違例出現(xiàn)的根本原因是單個(gè)電流接入點(diǎn)(tap)過(guò)于簡(jiǎn)單,無(wú)法正確引導(dǎo)電流分布。因而,在下文中,我們會(huì)描述針對(duì)大型時(shí)鐘單元抽取多電流接入點(diǎn)(multi-tap)PGV以獲得更精確Power EM違例的方法。

1 常規(guī)標(biāo)準(zhǔn)單元PGV生成方法

  標(biāo)準(zhǔn)單元PGV生成流程如圖1所示,Voltus會(huì)讀取以下文件以產(chǎn)生標(biāo)準(zhǔn)單元PGV[1]。

圖像 001.png

圖1  標(biāo)準(zhǔn)單元PGV生成流程

  (1)工藝LEF文件

  (2)標(biāo)準(zhǔn)單元LEF文件

  (3)QRC提取工藝文件(qrcTechFile)

  (4)GDS圖層映射文件

  (5)LEF圖層映射文件

  (6)SPICE模型

  (7)SPICE網(wǎng)表

  此外生成標(biāo)準(zhǔn)單元PGV,還需要腳本命令輔助。以下是一個(gè)范例。

  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會(huì)有EARLY,IR和EM三種視圖。對(duì)于標(biāo)準(zhǔn)單元來(lái)說(shuō), 這三種視圖是完全一致的,僅在電源端口包含電流分布參數(shù)和SPICE仿出來(lái)的電容信息。Tap通常產(chǎn)生在電源端口的中心位置。如圖2中的BIGBUFFERD1 PGV所示,VDD和GND各自只有一個(gè)tap。因此,在Voltus網(wǎng)格分析中,流入每個(gè)標(biāo)準(zhǔn)單元的電流都聚集在一點(diǎn)。這也是為什么假的Power EM違例發(fā)生在tap位置的原因。

圖像 002.png

圖2  BIGBqUFFERD1 PGV圖形

2 Multi-tap標(biāo)準(zhǔn)單元生成方法

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

圖像 003.png

圖3  BIGBUFFETRD1 GDS圖形

  所以若產(chǎn)生multi-tap 標(biāo)準(zhǔn)單元PGV, 電流是可以均勻分布到所有tap上,結(jié)果會(huì)更加準(zhǔn)確。基于這個(gè)方案,我們還需要解決以下三個(gè)問(wèn)題。

  (1)哪些標(biāo)準(zhǔn)單需要產(chǎn)生multi-ap PGV?

  (2)怎么產(chǎn)生multi-tap 標(biāo)準(zhǔn)單元 PGV ?

  (3)如何在電源網(wǎng)格分析中應(yīng)用multi-tap 標(biāo)準(zhǔn)單元PGV?

  2.1 哪些標(biāo)準(zhǔn)單元需要產(chǎn)生multi-tap PGV?

  考慮到運(yùn)行時(shí)間,內(nèi)存消耗等因素,對(duì)所有的標(biāo)準(zhǔn)單元進(jìn)行multi-tap PGV 抽取是不明智的。而且在我們的設(shè)計(jì)中,除了關(guān)鍵路徑上的時(shí)鐘單元,絕大多數(shù)標(biāo)準(zhǔn)單元的翻轉(zhuǎn)率很低。所以對(duì)大多數(shù)標(biāo)準(zhǔn)單元來(lái)說(shuō),它們的電流不會(huì)太高,一個(gè)tap已經(jīng)能夠反映電流分布。然而,對(duì)關(guān)鍵路徑上的時(shí)鐘單元來(lái)說(shuō),它們分布的地方有很大幾率出現(xiàn)M1電源網(wǎng)格的Power EM違例。因此,我們僅需對(duì)大型時(shí)鐘單元抽取multi-tap PGV。

  2.2 怎么產(chǎn)生multi-tap 標(biāo)準(zhǔn)單元PGV?

  基于標(biāo)準(zhǔn)的PGV生成的流程,我們還可以加一些特殊指令去調(diào)節(jié)節(jié)點(diǎn)之間的距離以控制tap的數(shù)量(Voltus默認(rèn)節(jié)點(diǎn)距離是50)。以下是節(jié)點(diǎn)距離為0.15腳本示例。

  set_advanced_pg_library_mode \

  -libgen_command_file libgen.cmd

  libgen.cmd:

  setvar max_itfnode_dist 0.15

  如圖4所示, VDD和GND端口各抽取了16個(gè)tap。

圖像 004.png

圖4  Multi-tap BIGBUFFERD1圖形

  2.3 如何應(yīng)用multi-tap標(biāo)準(zhǔn)單元PGV

  當(dāng)multi-tap PGV應(yīng)用于電源網(wǎng)格分析中時(shí),我們必須把這些特殊的PGV放到其他常規(guī)PGV的前面。對(duì)于有多個(gè)PGV的標(biāo)準(zhǔn)單元,Voltus僅會(huì)采用第一個(gè)非工藝的 PGV。此外,為了能在電源網(wǎng)格分析中保留所有的tap,我們必須關(guān)掉“-optimize_stdcells_library” 這個(gè)選項(xiàng)。以下有個(gè)例子。其中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分析中,我們的目標(biāo)是當(dāng)前流過(guò)的電流與可承受的最大電流的比率小于1。在圖5~圖11中,Run1是標(biāo)準(zhǔn)流程,Run2是對(duì)所有標(biāo)準(zhǔn)單元做multi-tap PGV抽取,而Run3只對(duì)大的時(shí)鐘單元做這樣的特殊處理;ChipA和ChipB是兩塊不同的芯片。

圖像 005.png

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

圖像 007.png

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

圖像 008.png

圖7  VDD最差電流比率對(duì)比圖

圖像 008.png

圖8  GND最差電流比率對(duì)比圖

圖像 009.png

圖9  歸一化運(yùn)行時(shí)間對(duì)比圖

圖像 010.png

圖10  歸一化內(nèi)存消耗對(duì)比圖

  從圖5和圖6中可以看出,對(duì)于ChipA,Run1中產(chǎn)生19個(gè) VDD違例和19個(gè)GND違例,Run2和Run3沒(méi)有違例。同樣,對(duì)于ChipB,Run1中產(chǎn)生14個(gè) VDD違例和14個(gè)GND違例,Run2和Run3沒(méi)有違例。因此,采用multi-tap 標(biāo)準(zhǔn)單元PGV能有效減少違例數(shù)量。

  圖7和圖8是最差電流比率的對(duì)比圖。對(duì)于ChipA和ChipB,與Run1相比,Run2和Run3的最差電流比率下降了37%~40%。因此,采用multi-tap 標(biāo)準(zhǔn)單元PGV能有效降低最差電流比率,從而減少違例數(shù)量。

  圖9是歸一化運(yùn)行時(shí)間的對(duì)比圖。和Run1相比,Run2運(yùn)行時(shí)間增長(zhǎng)了30%~37%,而Run3增長(zhǎng)了-0.4%~0.1%。因此,對(duì)所有標(biāo)準(zhǔn)單元進(jìn)行multi-tap PGV抽取會(huì)大量增加運(yùn)行時(shí)間,而僅對(duì)大型時(shí)鐘單元進(jìn)行multi-tap PGV抽取基本不影響運(yùn)行時(shí)間。

  圖10是歸一化內(nèi)存消耗的對(duì)比圖。和Run1相比,Run2內(nèi)存消耗增長(zhǎng)了5%~15%,而Run3增長(zhǎng)了-0.2%~0.1%。因此,對(duì)所有標(biāo)準(zhǔn)單元進(jìn)行multi-tap PGV抽取會(huì)大量增加部分內(nèi)存消耗,而僅對(duì)大型時(shí)鐘單元進(jìn)行multi-tap PGV抽取基本不影響內(nèi)存消耗。

  圖11是歸一化硬盤消耗的對(duì)比圖。和Run1相比,Run2硬盤消耗增長(zhǎng)了56%~59%,而Run3增長(zhǎng)了-0.1%~0.1%。因此,對(duì)所有標(biāo)準(zhǔn)單元進(jìn)行multi-tap PGV抽取會(huì)大量增加硬盤消耗,而僅對(duì)大型時(shí)鐘單元進(jìn)行multi-tap PGV抽取基本不影響硬盤消耗。

圖像 011.png

圖11  歸一化硬盤消耗對(duì)比圖

  綜上所述,僅對(duì)大型時(shí)鐘單元做multi-tap PGV抽取可以在幾乎不增加運(yùn)行成本的前提下去除假的Power EM 違例。

4 結(jié)論

  通過(guò)只對(duì)大型時(shí)鐘單元做multi-tap PGV抽取可以得到精確的Power EM違例結(jié)果,并且運(yùn)行時(shí)間和內(nèi)存消耗增加不到2%。在高性能的芯片設(shè)計(jì)中,這是一種分析Power EM違例的有效方法。

  參考文獻(xiàn)

  [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)載。