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