文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.011
中文引用格式: 許谷涵,,嚴(yán)偉,,朱兆偉,等. 千萬(wàn)門級(jí)模塊魚骨型時(shí)鐘網(wǎng)絡(luò)的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,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)階段在芯片后端設(shè)計(jì)過(guò)程中分割產(chǎn)生的模塊規(guī)模越來(lái)越大,,單模塊規(guī)模最大已經(jīng)達(dá)到千萬(wàn)門級(jí),。千萬(wàn)門級(jí)模塊中時(shí)鐘網(wǎng)絡(luò)復(fù)雜,功耗占比大[1],,是芯片設(shè)計(jì)中的棘手問(wèn)題,。在28 nm工藝節(jié)點(diǎn)之后由于連線間距進(jìn)一步縮小到0.1 μm以下,插入過(guò)多的緩沖單元會(huì)使得繞線變長(zhǎng),,產(chǎn)生很大的時(shí)鐘延遲和功耗,,在千萬(wàn)門級(jí)模塊中,時(shí)鐘延遲甚至可以達(dá)到一個(gè)周期以上,。魚骨型時(shí)鐘網(wǎng)絡(luò)時(shí)鐘根節(jié)點(diǎn)到時(shí)鐘末端級(jí)數(shù)少,,可以節(jié)約功耗和面積[2],在千萬(wàn)門級(jí)模塊中,,不論從功耗,、延遲,還是從可靠性的角度上看,,網(wǎng)型的魚骨結(jié)構(gòu)相比于不定型時(shí)鐘樹應(yīng)該會(huì)有一定優(yōu)勢(shì)[3],。
1 單魚骨型時(shí)鐘網(wǎng)絡(luò)的結(jié)構(gòu)
單魚骨型(FISHBONE)時(shí)鐘樹的基本結(jié)構(gòu)如圖1所示。對(duì)千萬(wàn)門級(jí)模塊而言,,使用單魚骨樹來(lái)平衡所有的寄存器和宏單元,,會(huì)造成延遲過(guò)大,、驅(qū)動(dòng)能力不夠等一系列問(wèn)題。
圖1 單魚骨型時(shí)鐘結(jié)構(gòu)
因此,,我們提出一種寄存器與宏單元分離的多主干驅(qū)動(dòng)的復(fù)合型時(shí)鐘網(wǎng)絡(luò)(H-FISHBONE),。如圖2所示,H-FISHBONE由多個(gè)驅(qū)動(dòng)寄存器的魚骨樹和多組復(fù)合驅(qū)動(dòng)器驅(qū)動(dòng)的宏單元塊構(gòu)成,,二者分別經(jīng)多級(jí)驅(qū)動(dòng)連接至?xí)r鐘根節(jié)點(diǎn),。
圖2 H-FISHBONE結(jié)構(gòu)
2 H-FISHBONE的實(shí)現(xiàn)流程
H-FISHBONE具體實(shí)現(xiàn)流程如圖3所示,本文以YCU-AM模塊為例,,闡述在后端設(shè)計(jì)過(guò)程中,,如何實(shí)現(xiàn)H-FISHBONE型時(shí)鐘網(wǎng)絡(luò)。YCU_AM模塊采用三星28 nm工藝,,9層繞線金屬,。供電電壓1 V,時(shí)鐘頻率200 MHz,,版圖3 400 μm×3 590 μm,,宏單元570個(gè),共2 600萬(wàn)門,。
圖3 H-FISHBONE實(shí)現(xiàn)流程
2.1 提取時(shí)鐘結(jié)構(gòu),,分析門控時(shí)鐘單元級(jí)數(shù)
用Primetime對(duì)初始網(wǎng)表進(jìn)行分析,采取時(shí)鐘路徑追蹤的方法可以得到詳細(xì)的時(shí)鐘結(jié)構(gòu),,主要分析時(shí)鐘級(jí)數(shù),。如圖4所示,以時(shí)鐘根節(jié)點(diǎn)為第0級(jí),,按照與時(shí)鐘根節(jié)點(diǎn)連接關(guān)系的級(jí)數(shù),,根節(jié)點(diǎn)后1~3級(jí)不等的門控單元(ICG)。
圖4 YCU-AM內(nèi)部時(shí)序器件級(jí)數(shù)關(guān)系簡(jiǎn)圖
2.2 多級(jí)時(shí)鐘門控單元展平化處理
多級(jí)時(shí)鐘門控單元的存在,,不利于平衡時(shí)鐘漂移,,所以要將多級(jí)門控時(shí)鐘單元展平化處理為一級(jí),既能保持控制功耗的功能,,也有利于時(shí)鐘漂移的平衡。由于DFT設(shè)計(jì)過(guò)程中,,會(huì)將ICG復(fù)用到掃描鏈中,,因此在工作(Function)模式下,需要先將ICG的掃描鏈?zhǔn)鼓芏巳窟壿嬤B接到邏輯低電平鉗位單元(TIE-0),,然后調(diào)用ICC的flatten-clock-gating引擎進(jìn)行展平化處理,,為保證展平化過(guò)程精準(zhǔn)及節(jié)省運(yùn)行時(shí)間,我們要為ICC指出處于二,、三級(jí)的ICG,。
2.3 分離宏單元和寄存器
對(duì)于千萬(wàn)門級(jí)模塊,大量的宏單元和寄存器連在同一單魚骨樹上,將不利于平衡時(shí)鐘漂移和時(shí)序收斂,。因此我們將宏單元和寄存器拆分,,對(duì)宏單元用復(fù)合驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng)構(gòu)建多組宏單元塊,對(duì)寄存器構(gòu)建多組FISHBONE,。最后進(jìn)行FISHBONE和宏單元塊的再平衡,。拆分時(shí),對(duì)于同寄存器有共同ICG連接關(guān)系的宏單元,,在ICG的輸入端引入一個(gè)與其相同類型的偽ICG,,將宏單元重新連接到偽ICG上,以保證宏單元的各種輸入條件不變,;在時(shí)鐘根節(jié)點(diǎn)隔離單元之后插入兩個(gè)并聯(lián)的驅(qū)動(dòng)單元,,分別連接宏單元與寄存器。
2.4 插入偽ICG解高扇出(High Fanout)
由于標(biāo)準(zhǔn)單元驅(qū)動(dòng)能力有限,,如果其驅(qū)動(dòng)的負(fù)載電容過(guò)大會(huì)產(chǎn)生高扇出問(wèn)題,。我們采取克隆高扇出ICG的方法,克隆出的ICG稱偽ICG,。偽ICG是按照距離自動(dòng)尋址的方式插入,,先尋找高扇出ICG最近的寄存器,插入第一個(gè)偽器件,,偽器件驅(qū)動(dòng)其周圍70×70范圍內(nèi)的負(fù)載(根據(jù)負(fù)載的多少適當(dāng)減增范圍),,然后由近及遠(yuǎn)插入多個(gè)偽器件。
2.5 多組FISHBONE的構(gòu)建
如圖4所示,,F(xiàn)F1和FF2之間相差一級(jí)門控時(shí)鐘單元的單元延遲,,要插入一個(gè)與所用ICG單元延遲相近的緩沖單元,用來(lái)平衡FF1和FF2之間的延遲,。經(jīng)過(guò)以上幾步,,得到時(shí)鐘結(jié)構(gòu)連接關(guān)系如圖5所示,其中G是偽ICG,,B是平衡緩沖單元,,H是插入FISHBONE三級(jí)驅(qū)動(dòng)的位置。構(gòu)建FISHBONE的個(gè)數(shù),,需根據(jù)負(fù)載的數(shù)量和分布來(lái)確定,。本設(shè)計(jì)有44 000個(gè)負(fù)載(均勻分布在大約3 000×3 000的范圍內(nèi)),從均勻性和最簡(jiǎn)化角度考慮,,將版圖分為6個(gè)區(qū)域進(jìn)行多魚骨樹的構(gòu)建,,每個(gè)單魚骨樹驅(qū)動(dòng)7 000-8 000個(gè)負(fù)載。如圖6所示,。
圖5 連接關(guān)系圖
圖6 FISHBONE主干的位置分布
FISHBONE的構(gòu)建有以下幾個(gè)重要參數(shù):(1)金屬線分布屬性,;(2)驅(qū)動(dòng)比(drive-rate=total load/L3driver),;(3)驅(qū)動(dòng)單元間隔(row-step)。由于高層金屬的抗電遷移能力更強(qiáng),,并且對(duì)下層的噪聲影響也小很多,,所以選擇高層金屬來(lái)構(gòu)建FISHBONE。本設(shè)計(jì)選擇橫向走線的IA層為主干位置,,驅(qū)動(dòng)分支設(shè)定在M7,。
驅(qū)動(dòng)比用于確定各級(jí)緩沖單元的數(shù)量,本設(shè)計(jì)中驅(qū)動(dòng)比設(shè)置為40,,可根據(jù)負(fù)載數(shù)量以及之后的靜態(tài)時(shí)序分析結(jié)果適當(dāng)調(diào)節(jié)驅(qū)動(dòng)比,。驅(qū)動(dòng)單元間隔,需要是布局通道(Row)的整數(shù)倍,,本設(shè)計(jì)設(shè)置為2,,可根據(jù)主干金屬線長(zhǎng)度適當(dāng)增減。本設(shè)計(jì)單魚骨樹詳細(xì)布線如圖7所示,。
圖7 FISHBONE詳細(xì)布線圖
2.6 FISHBONE和宏單元塊的再平衡
宏單元和FISHBONE分別是由多組復(fù)合驅(qū)動(dòng)直接驅(qū)動(dòng),,與時(shí)鐘根節(jié)點(diǎn)的距離和負(fù)載大小不同,選擇的多級(jí)驅(qū)動(dòng)也不同,,因此在完成以上步驟之后,,要進(jìn)行寄生參數(shù)的提取和靜態(tài)時(shí)序分析,對(duì)比各個(gè)部分的時(shí)鐘延遲,,適當(dāng)調(diào)節(jié)部分參數(shù)(復(fù)合驅(qū)動(dòng)的級(jí)數(shù),、驅(qū)動(dòng)比、驅(qū)動(dòng)間距,、主干,、分支金屬寬度等)用以平衡時(shí)鐘漂移。
3 分析結(jié)果
如表1分別是YCU_AM進(jìn)行時(shí)鐘樹綜合(CTS)實(shí)現(xiàn)不定型時(shí)鐘樹,、實(shí)現(xiàn)單魚骨樹以及本文方法實(shí)現(xiàn)H-FISHBONE的三組時(shí)序結(jié)果對(duì)比,。從表中可以看出,單魚骨樹時(shí)鐘漂移竟然達(dá)到2 ns,,不適用于千萬(wàn)門級(jí)模塊,,相比不定型時(shí)鐘樹,H-FISHBONE平均時(shí)鐘延遲降低了約47%,,時(shí)鐘漂移降低了約35%,。分別對(duì)實(shí)現(xiàn)CTS和H-FISHBONE后模塊行功耗分析,測(cè)試端角ml-cworst-125c-min,,測(cè)試信號(hào)翻轉(zhuǎn)率為0.1,靜態(tài)概率0.5,。得到結(jié)果如表2,、表3所示,;可以看出使用H-FISHBONE模塊單元內(nèi)部功耗降低約13%,動(dòng)態(tài)翻轉(zhuǎn)功耗降低約31%,,使得模塊整體功耗降低約5%,。
4 結(jié)束語(yǔ)
本文針對(duì)千萬(wàn)門級(jí)以上模塊提出了改進(jìn)型的H-FISHBONE型時(shí)鐘網(wǎng)絡(luò),以2 600萬(wàn)門YCU_AM模塊為例介紹了H-FISHBONE在后端設(shè)計(jì)過(guò)程中的實(shí)現(xiàn)方法,,通過(guò)實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)H-FISHBONE在降低時(shí)鐘延遲和動(dòng)態(tài)功耗上有顯著的優(yōu)勢(shì),,為千萬(wàn)門級(jí)模塊提出了一種在時(shí)鐘網(wǎng)絡(luò)構(gòu)建方面減小時(shí)鐘偏斜和降低功耗有效可行的方法。
參考文獻(xiàn)
[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.