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