文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.171805
中文引用格式: 高華,李輝. 14 nm工藝下基于H-Tree和clock mesh混合時鐘樹的研究與實現(xiàn)[J].電子技術(shù)應(yīng)用,2017,43(11):34-37,42.
英文引用格式: Gao Hua,Li Hui. Research and realization of the H-Tree and clock mesh mixed clock tree based on 14 nm technology[J].Application of Electronic Technique,2017,43(11):34-37,42.
0 引言
隨著半導(dǎo)體生產(chǎn)工藝的不斷發(fā)展,數(shù)字芯片的工作頻率顯著提升,芯片功耗也隨之增加。時鐘信號作為數(shù)字系統(tǒng)的“心臟”,對于數(shù)字系統(tǒng)的功能、性能和穩(wěn)定性起決定性作用[1]。因此時鐘信號的特性以及時鐘樹的布局引起了設(shè)計人員的高度重視,如何降低時鐘信號的傳播延時(Clock Latency)和時鐘偏移(Clock Skew),減小PVT(Process,voltage, temperature)環(huán)境變量的影響和功耗成為了當(dāng)今時鐘樹設(shè)計的主題。另外,在生產(chǎn)工藝迅速發(fā)展的今天,工藝的提升必然會對數(shù)字IC的設(shè)計方法提出新的要求,傳統(tǒng)的時鐘樹結(jié)構(gòu)和驅(qū)動器單元庫不再適應(yīng)新的工藝帶來的更高要求,因此在先進的生產(chǎn)工藝GF14 nm下進行基于H-Tree和clock mesh的混合時鐘樹設(shè)計具備一定的實用性和研究價值。
現(xiàn)階段,數(shù)字IC主流的時鐘樹結(jié)構(gòu)有H-Tree、X-Tree、balanced-Tree以及clock mesh等[2],H-Tree從中心點到各個葉節(jié)點的距離理論上相等,因此具有時鐘偏移小的優(yōu)點。但是其對寄存器布局約束要求嚴(yán)格,布線難度大;clock mesh的時鐘樹長度短,因此時鐘延遲較小,但是時鐘偏移卻難以保證[3]。為了充分利用兩種時鐘樹結(jié)構(gòu)的優(yōu)勢,減少時鐘信號的傳播延遲和偏差,降低環(huán)境因素的影響,本文基于GF14 nm工藝,研究 H-Tree和clock mesh混合時鐘樹結(jié)構(gòu)。
1 基于H-Tree和clock mesh的時鐘樹結(jié)構(gòu)
時鐘信號的傳播在物理設(shè)計中的實現(xiàn)形式稱為時鐘樹,時鐘樹的起點被稱為根節(jié)點(Root pin),時鐘信號經(jīng)過一系列分布節(jié)點到達寄存器的時鐘輸入端,這些時鐘信號傳播的終點被稱為葉節(jié)點(Leaf pin)。時鐘信號從根節(jié)點出發(fā),通過逐級插入的驅(qū)動器(Buffer)最終到達葉節(jié)點,從而構(gòu)成了整個時鐘樹[4]。
基于H-Tree和clock mesh的混合時鐘樹的邏輯結(jié)構(gòu)主要由3部分組成:Top-H、clock mesh和Local-H。Top-H是Top Level上的H-Tree結(jié)構(gòu);clock mesh是一張均勻傳播時鐘信號的網(wǎng)絡(luò),作為Top-H和Local-H連接的橋梁;Local-H是局部H-Tree,其主要發(fā)生在每個模塊的內(nèi)部,對應(yīng)的葉節(jié)點為實際存在的寄存器。具體的邏輯結(jié)構(gòu)如下所述:
(1)在Top-H部分,時鐘信號由根節(jié)點出發(fā),經(jīng)過芯片層次上的驅(qū)動器TMAC傳播,將時鐘信號等距離地傳遞到模塊單元中。整體TMAC以H-Tree結(jié)構(gòu)分布,其中水平方向的TMAC稱為TMACH,垂直方向的TMAC稱為TMACV。頂層H-Tree的最后一級驅(qū)動器被稱為MBUF,MBUF的輸出端實際上為時鐘信號的真實輸出。為了和clock mesh完成連接,將同一級的MBUF的輸出端連接到同一連線上,稱為shortBar;
(2)在clock mesh階段,根據(jù)模塊和電源網(wǎng)絡(luò)的布局將mesh網(wǎng)絡(luò)覆蓋到芯片金屬高層,為了減少時鐘信號受到的噪聲串?dāng)_和環(huán)境等因素的影響,垂直網(wǎng)絡(luò)和水平網(wǎng)絡(luò)交替放置在電源和地線周圍;
(3)Local-H部分,首先需要根據(jù)clock mesh的位置在每個模塊內(nèi)部合理放置mesh buffer,即模塊內(nèi)部H-Tree的根節(jié)點。mesh buffer根據(jù)就近原則通過anchor pin與clock mesh相連;另一方面,為了更好地產(chǎn)生局部H-Tree的架構(gòu),模塊內(nèi)部的寄存器需要根據(jù)邏輯層次以Cluster的形式對稱分布,mesh buffer的輸出端作為局部時鐘樹的起點進行時鐘樹綜合[5]。
綜上所述,時鐘信號由根節(jié)點出發(fā),經(jīng)過Top-H等距離傳播到芯片clock mesh網(wǎng)絡(luò),然后通過mesh上的anchor pin傳播到模塊內(nèi)部的mesh buffer上,最后由mesh buffer作為局部時鐘樹的根節(jié)點經(jīng)過各級驅(qū)動器傳播到最終的寄存器單元。基于H-Tree和clock mesh的混合時鐘樹的邏輯結(jié)構(gòu)如圖1所示。
2 混合時鐘樹的設(shè)計方法及實現(xiàn)
下面介紹基于H-Tree和clock mesh的混合時鐘樹的具體實現(xiàn)案例。該設(shè)計為GF14 nm工藝下的一款GPU芯片,GF14 nm工藝是Global Foundary研發(fā)的目前全球前沿的生產(chǎn)制程。芯片的面積約為22 mm×16 mm,芯片的主頻率為1.3 GHz,采用基于H-Tree和clock mesh的混合時鐘樹結(jié)構(gòu),時鐘偏移要求控制在80 ps以下,傳播延遲要求小于350 ps。
不同于邏輯結(jié)構(gòu),混合時鐘樹設(shè)計方法的物理實現(xiàn)分為兩個實施階段[6]:clock spine、clock mesh。clock spine階段主要實現(xiàn)H-Tree的搭建,即芯片層次的H-Tree和模塊內(nèi)部的H-Tree,芯片層次的H-Tree需要借助TMAC實現(xiàn),模塊內(nèi)部的H-Tree需要首先對內(nèi)部寄存器進行放置約束,然后以mesh buffer為根節(jié)點做H-Tree;clock mesh主要完成時鐘網(wǎng)的布局、anchor pin的設(shè)定以及局部模塊驅(qū)動器(Mesh buffer)的放置。
2.1 Clock Spine的設(shè)計
2.1.1 Top-H的設(shè)計與實現(xiàn)
clock spine的設(shè)計包括芯片層次和模塊內(nèi)部的H-Tree。以GFXCLK時鐘信號為例,GFXCLK信號源產(chǎn)生自芯片時鐘模塊的PLL單元 ,PLL通過數(shù)字頻率綜合單元(Digital Frequency Synthesizer,DFS)產(chǎn)生穩(wěn)定頻率的時鐘輸出。芯片層次的H-Tree從時鐘根節(jié)點出發(fā),首先沿著vertical spine傳播,通過各級的TMACV驅(qū)動horizontal spine[7]。垂直脊骨上的驅(qū)動器為TMACV,水平脊骨上的驅(qū)動器為TMACH。clock spine的整體結(jié)構(gòu)如圖2所示。
水平脊骨的優(yōu)點在于能夠均衡地將GFXCLK信號傳播到相關(guān)模塊,并且極大限度地節(jié)約了橫向的繞線資源[8]。水平脊骨的布局特點為同一脊骨的TMACH都要放置在同一水平線上,這樣基于TMACH的H-Tree就會在水平方向進行布線。水平脊骨的葉節(jié)點稱為MBUF,即MBUF是芯片層次上H-Tree的最后一級驅(qū)動器,MBUF的輸出為每個模塊讀取的真實GFXCLK信號。水平脊骨的設(shè)計難點在于TMACH的布局和放置,由于芯片邏輯層次的復(fù)雜性和門電路的龐大數(shù)目,TMACH放置在任何的模塊內(nèi)部都會對當(dāng)前模塊的布線阻塞和時序產(chǎn)生消極的影響,因此在放置TAMCH之前需要重點處理GFXCLK時鐘相關(guān)模塊的布局規(guī)劃。整個芯片中和GFXCLK時鐘相關(guān)的模塊有60個,將這60個模塊分布在不同的行,在每一行中將布線難度大的模塊和布線難度小的模塊交替放置,最后把TMACH放置在布線難度小的模塊內(nèi)部。這樣可以把TMACH對整個芯片的阻塞和時序的影響降到了最低。Horizontal spine的具體結(jié)構(gòu)如圖3所示。
2.1.2 Local-H的設(shè)計與實現(xiàn)
對于模塊內(nèi)部的時鐘樹,同樣采用H-Tree結(jié)構(gòu)。H-Tree的根節(jié)點稱為mesh buffer,mesh buffer放置在靠近clock mesh的地方。為了使得模塊內(nèi)部的H-Tree整體的時鐘偏移和傳播延遲最小化,在單元放置過程中在IC Complier 2中利用create_bound以及create_rp_group將同一個邏輯層次的寄存器放置在特定區(qū)域,并且所有的特定區(qū)域在模塊內(nèi)部呈現(xiàn)準(zhǔn)對稱分布。
create_rp_group-name GFXCLKgroup1-rows 10-columns 3
add_to_rp_group GFXCLKgroup1-cells [get_flat_cells *]
create_bound -name GFXCLKbound1-dimensions{10 3}-type hard [get_flat_cells *]
如圖4所示為芯片內(nèi)部某模塊的局部時鐘樹,模塊內(nèi)部有9個clock mesh,相鄰clock mesh的距離為200 μm,GFXCLK時鐘信號從9個clock mesh引入到模塊內(nèi)部并做局部H-Tree,時鐘樹的邏輯層次為18級。
2.2 Clock Mesh的設(shè)計
Clock mesh在混合時鐘樹結(jié)構(gòu)中起到均勻傳播時鐘信號的作用。clock mesh分為Hmesh和Vmesh。Hmesh為水平方向,放置在M10層;Vmesh為垂直方向,放置在M11層。為了減少時鐘信號在mesh傳播過程中受到的信號和噪聲串?dāng)_,將Vmesh交錯放置在電源和地線之間。同時為了抑制clock mesh可能出現(xiàn)的IR Drop和EM問題,在布線規(guī)劃時將mesh做寬,每一條mesh的寬度為0.96 μm,mesh與相近的電源地線的距離為1.928 μm[9]。由于高層金屬較好的時序特性,僅在M10和M11層均勻的覆蓋了clock mesh,并未占用多余的繞線資源。芯片層次的clock mesh如圖5所示。
2.3 clock mesh和spine的結(jié)合
完成clock mesh和clock spine的布局規(guī)劃之后,需要將mesh和spine進行連接才能形成完整的時鐘樹結(jié)構(gòu)。clock spine的最后一級驅(qū)動器為MBUF,利用shortBar將同一水平線上的MBUF的輸出連接在一起作為GFXCLK的“輸出條”。然后將shortBar與M11層Vmesh進行連接,也就是將GFXCLK信號傳播到垂直mesh網(wǎng)絡(luò)上,Vmesh繼續(xù)驅(qū)動M10層的Hmesh網(wǎng)絡(luò),從而使得整個clock mesh均勻分布著時鐘信號。為了將GFXCLK時鐘信號引入到每個模塊內(nèi)部,需要在Hmesh末端接入anchor pin,anchor pin的另一端連接到mesh buffer,也就是內(nèi)部H-Tree的根節(jié)點,從而驅(qū)動整個時鐘網(wǎng)絡(luò)。具體連接關(guān)系如圖6所示。
為了測試該時鐘樹結(jié)構(gòu)的性能,選取GPU中g(shù)p_tsd模塊為例,gp_tsd模塊為GPU中的控制數(shù)據(jù)處理模塊,模塊內(nèi)部包含GFCLK時鐘。GFCLK在gp_tsd模塊內(nèi)部的實現(xiàn)方式如圖7所示。為了更好地呈現(xiàn)mesh buffer的位置,圖7僅顯示了前5級時鐘樹的形狀。
在PrimeTime中,將以上基于H-Tree和clock mesh的時鐘網(wǎng)絡(luò)進行反標(biāo)并且分析整個時鐘網(wǎng)絡(luò)的latency和skew,最終得到GFXCLK的skew為54 ps,latency為320 ps,如圖8所示,滿足設(shè)計要求。
同時,基于H-Tree和clock mesh的時鐘網(wǎng)絡(luò)具備布線距離短和時鐘驅(qū)動器數(shù)量少的特點,有效降低了數(shù)字芯片的功耗。本設(shè)計利用Synopsys的產(chǎn)品PrimetimePX進行功耗分析,并利用圖形化界面的Show Power Analysis Driver選項得到時鐘樹優(yōu)化前后功耗分析柱狀圖如圖9、圖10所示。
由以上柱狀圖可以看出,優(yōu)化后模塊總功率減少了約為2.53%。其中靜態(tài)功耗即Leakage Power為0.011 7 W,占總功耗的3.78%;動態(tài)功耗即Switch Power和Internal Power分別為0.214 5 W與0.082 5 W,占總功耗的96.22%;總功耗約為0.308 7 W。
3 總結(jié)
本文提出了一種基于H-Tree和clock mesh的混合時鐘樹結(jié)構(gòu),該時鐘結(jié)構(gòu)的實現(xiàn)分為clock spine和clock mesh兩個部分,clock spine包含芯片層次和模塊內(nèi)部的H-Tree的搭建,clock mesh均勻地分布在芯片內(nèi)部并且負責(zé)芯片層次和模塊內(nèi)部時鐘樹的連接。實驗給出了在GF14 nm工藝下GPU內(nèi)部GFXCLK混合時鐘樹的設(shè)計,經(jīng)過PrimeTime以及PTPX的反標(biāo)和分析,證明了該混合時鐘樹具備良好的時鐘偏移和時鐘延遲,明顯減少的時鐘樹布線長度也有效減小了芯片的整體功耗。
參考文獻
[1] BAKOGLU H B.Circuits,interconnections,and packaging for VLSI.1990.
[2] CHEN P H,MALKANI S,PENG C M.Fixing antenna problem by dynamic diode,dropping and jumper insertion.Proc Quality Electronic Design.2000.
[3] BAKOGLU H B,WALKER J T,MEINDL J D.A symmetric clock-distributiontree and optimized high-speed interconnections for re-duced clock skew in ULSI andWSI circuits.Proc.IEEE Int.Conf. Computer Design.1986.
[4] 戴紅衛(wèi),郭煒,韓澤耀,等.一款低功耗SoC芯片的時鐘管理策略[J].微電子學(xué)與計算機,2005(3).
[5] 陳菲菲,王振宇,嚴(yán)偉.魚骨型時鐘結(jié)構(gòu)的快速實現(xiàn)方法[J].微電子學(xué)與計算機,2014(2).
[6] 冀蓉,曾獻君,陳亮,等.同步數(shù)字系統(tǒng)時鐘分布及偏斜補償技術(shù)研究[J].計算機工程與科學(xué),2009(3).
[7] 千路,林平分.ASIC后端設(shè)計中的時鐘偏移以及時鐘樹綜合[J].半導(dǎo)體技術(shù),2008(6).
[8] 胡靜珍,唐長文,閔昊.深亞微米數(shù)字集成電路的自動化設(shè)計方法學(xué)[J].微電子學(xué),2002(4).
作者信息:
高 華,李 輝
(中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥230026)