文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.011
中文引用格式: 許谷涵,嚴偉,,朱兆偉,,等. 千萬門級模塊魚骨型時鐘網(wǎng)絡的實現(xiàn)[J].電子技術應用,2016,,42(8):53-55,,59.
英文引用格式: Xu Guhan,Yan Wei,,Zhu Zhaowei,,et al. Implementation of FISHBONE-based clock structure in ten-million gates block[J].Application of Electronic Technique,2016,,42(8):53-55,,59.
0 引言
現(xiàn)階段在芯片后端設計過程中分割產生的模塊規(guī)模越來越大,,單模塊規(guī)模最大已經(jīng)達到千萬門級,。千萬門級模塊中時鐘網(wǎng)絡復雜,,功耗占比大[1],是芯片設計中的棘手問題,。在28 nm工藝節(jié)點之后由于連線間距進一步縮小到0.1 μm以下,,插入過多的緩沖單元會使得繞線變長,產生很大的時鐘延遲和功耗,,在千萬門級模塊中,,時鐘延遲甚至可以達到一個周期以上。魚骨型時鐘網(wǎng)絡時鐘根節(jié)點到時鐘末端級數(shù)少,,可以節(jié)約功耗和面積[2],,在千萬門級模塊中,不論從功耗,、延遲,,還是從可靠性的角度上看,網(wǎng)型的魚骨結構相比于不定型時鐘樹應該會有一定優(yōu)勢[3],。
1 單魚骨型時鐘網(wǎng)絡的結構
單魚骨型(FISHBONE)時鐘樹的基本結構如圖1所示,。對千萬門級模塊而言,使用單魚骨樹來平衡所有的寄存器和宏單元,,會造成延遲過大,、驅動能力不夠等一系列問題。
圖1 單魚骨型時鐘結構
因此,,我們提出一種寄存器與宏單元分離的多主干驅動的復合型時鐘網(wǎng)絡(H-FISHBONE),。如圖2所示,H-FISHBONE由多個驅動寄存器的魚骨樹和多組復合驅動器驅動的宏單元塊構成,,二者分別經(jīng)多級驅動連接至時鐘根節(jié)點,。
圖2 H-FISHBONE結構
2 H-FISHBONE的實現(xiàn)流程
H-FISHBONE具體實現(xiàn)流程如圖3所示,本文以YCU-AM模塊為例,,闡述在后端設計過程中,,如何實現(xiàn)H-FISHBONE型時鐘網(wǎng)絡。YCU_AM模塊采用三星28 nm工藝,,9層繞線金屬,。供電電壓1 V,時鐘頻率200 MHz,,版圖3 400 μm×3 590 μm,,宏單元570個,共2 600萬門,。
圖3 H-FISHBONE實現(xiàn)流程
2.1 提取時鐘結構,分析門控時鐘單元級數(shù)
用Primetime對初始網(wǎng)表進行分析,,采取時鐘路徑追蹤的方法可以得到詳細的時鐘結構,,主要分析時鐘級數(shù)。如圖4所示,以時鐘根節(jié)點為第0級,,按照與時鐘根節(jié)點連接關系的級數(shù),,根節(jié)點后1~3級不等的門控單元(ICG)。
圖4 YCU-AM內部時序器件級數(shù)關系簡圖
2.2 多級時鐘門控單元展平化處理
多級時鐘門控單元的存在,,不利于平衡時鐘漂移,,所以要將多級門控時鐘單元展平化處理為一級,既能保持控制功耗的功能,,也有利于時鐘漂移的平衡,。由于DFT設計過程中,會將ICG復用到掃描鏈中,,因此在工作(Function)模式下,,需要先將ICG的掃描鏈使能端全部邏輯連接到邏輯低電平鉗位單元(TIE-0),然后調用ICC的flatten-clock-gating引擎進行展平化處理,,為保證展平化過程精準及節(jié)省運行時間,,我們要為ICC指出處于二、三級的ICG,。
2.3 分離宏單元和寄存器
對于千萬門級模塊,,大量的宏單元和寄存器連在同一單魚骨樹上,將不利于平衡時鐘漂移和時序收斂,。因此我們將宏單元和寄存器拆分,,對宏單元用復合驅動器進行驅動構建多組宏單元塊,對寄存器構建多組FISHBONE,。最后進行FISHBONE和宏單元塊的再平衡,。拆分時,對于同寄存器有共同ICG連接關系的宏單元,,在ICG的輸入端引入一個與其相同類型的偽ICG,,將宏單元重新連接到偽ICG上,以保證宏單元的各種輸入條件不變,;在時鐘根節(jié)點隔離單元之后插入兩個并聯(lián)的驅動單元,,分別連接宏單元與寄存器。
2.4 插入偽ICG解高扇出(High Fanout)
由于標準單元驅動能力有限,,如果其驅動的負載電容過大會產生高扇出問題,。我們采取克隆高扇出ICG的方法,克隆出的ICG稱偽ICG,。偽ICG是按照距離自動尋址的方式插入,,先尋找高扇出ICG最近的寄存器,插入第一個偽器件,,偽器件驅動其周圍70×70范圍內的負載(根據(jù)負載的多少適當減增范圍),,然后由近及遠插入多個偽器件,。
2.5 多組FISHBONE的構建
如圖4所示,F(xiàn)F1和FF2之間相差一級門控時鐘單元的單元延遲,,要插入一個與所用ICG單元延遲相近的緩沖單元,,用來平衡FF1和FF2之間的延遲。經(jīng)過以上幾步,,得到時鐘結構連接關系如圖5所示,,其中G是偽ICG,B是平衡緩沖單元,,H是插入FISHBONE三級驅動的位置,。構建FISHBONE的個數(shù),需根據(jù)負載的數(shù)量和分布來確定,。本設計有44 000個負載(均勻分布在大約3 000×3 000的范圍內),,從均勻性和最簡化角度考慮,將版圖分為6個區(qū)域進行多魚骨樹的構建,,每個單魚骨樹驅動7 000-8 000個負載,。如圖6所示。
圖5 連接關系圖
圖6 FISHBONE主干的位置分布
FISHBONE的構建有以下幾個重要參數(shù):(1)金屬線分布屬性,;(2)驅動比(drive-rate=total load/L3driver),;(3)驅動單元間隔(row-step)。由于高層金屬的抗電遷移能力更強,,并且對下層的噪聲影響也小很多,,所以選擇高層金屬來構建FISHBONE。本設計選擇橫向走線的IA層為主干位置,,驅動分支設定在M7,。
驅動比用于確定各級緩沖單元的數(shù)量,本設計中驅動比設置為40,,可根據(jù)負載數(shù)量以及之后的靜態(tài)時序分析結果適當調節(jié)驅動比,。驅動單元間隔,需要是布局通道(Row)的整數(shù)倍,,本設計設置為2,,可根據(jù)主干金屬線長度適當增減。本設計單魚骨樹詳細布線如圖7所示,。
圖7 FISHBONE詳細布線圖
2.6 FISHBONE和宏單元塊的再平衡
宏單元和FISHBONE分別是由多組復合驅動直接驅動,,與時鐘根節(jié)點的距離和負載大小不同,選擇的多級驅動也不同,,因此在完成以上步驟之后,,要進行寄生參數(shù)的提取和靜態(tài)時序分析,對比各個部分的時鐘延遲,,適當調節(jié)部分參數(shù)(復合驅動的級數(shù),、驅動比,、驅動間距、主干,、分支金屬寬度等)用以平衡時鐘漂移。
3 分析結果
如表1分別是YCU_AM進行時鐘樹綜合(CTS)實現(xiàn)不定型時鐘樹,、實現(xiàn)單魚骨樹以及本文方法實現(xiàn)H-FISHBONE的三組時序結果對比,。從表中可以看出,單魚骨樹時鐘漂移竟然達到2 ns,,不適用于千萬門級模塊,,相比不定型時鐘樹,H-FISHBONE平均時鐘延遲降低了約47%,,時鐘漂移降低了約35%,。分別對實現(xiàn)CTS和H-FISHBONE后模塊行功耗分析,測試端角ml-cworst-125c-min,,測試信號翻轉率為0.1,,靜態(tài)概率0.5。得到結果如表2,、表3所示,;可以看出使用H-FISHBONE模塊單元內部功耗降低約13%,動態(tài)翻轉功耗降低約31%,,使得模塊整體功耗降低約5%,。
4 結束語
本文針對千萬門級以上模塊提出了改進型的H-FISHBONE型時鐘網(wǎng)絡,以2 600萬門YCU_AM模塊為例介紹了H-FISHBONE在后端設計過程中的實現(xiàn)方法,,通過實驗結果發(fā)現(xiàn)H-FISHBONE在降低時鐘延遲和動態(tài)功耗上有顯著的優(yōu)勢,,為千萬門級模塊提出了一種在時鐘網(wǎng)絡構建方面減小時鐘偏斜和降低功耗有效可行的方法。
參考文獻
[1] DENG C,,CAI Y C,,ZHOU Q.Register clustering methodology for low power clock tree synthesis[J].Journal of Computer Science & Technology,2015,,30(2):391-403.
[2] LIN H T,,CHUANG Y L,YANG Z H, et al. Pulsed-latch utilization for clock-tree power optimization[J].IEEE Transactions on Very Large Scale Integration Systems,,2014,,22(4):721-733.
[3] CHIPANA R,KASTENSMIDE F L.SET susceptibility analysis of clock tree and clock mesh topologies[C].2014 IEEE Computer Society Annual Symposium on VLSI(ISVLSI).2014:559-564.