亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

寄存器聚類在時鐘樹綜合中的實現(xiàn)方法

文檔序號:10570153閱讀:664來源:國知局
寄存器聚類在時鐘樹綜合中的實現(xiàn)方法
【專利摘要】本發(fā)明提供了一種寄存器聚類在時鐘樹綜合上的實現(xiàn)方法,該寄存器聚類方法以降低時鐘樹互連電容為標準,通過最小生成樹的構(gòu)筑方式,得到時鐘樹寄存器的最小生成樹,使得時鐘樹的互連線長趨于一個最小值,進而降低時鐘樹的功耗。在進行寄存器聚類時,通過給寄存器簇設(shè)置負載電容的閾值,使得本地寄存器簇的時鐘偏移和時鐘延時得到控制。通過給寄存器簇分配最合適的緩沖器,使得時鐘偏移和時鐘延時得到降低并為時鐘樹綜合做好標記。整個寄存器聚類過程都未移動任何寄存器的物理位置,算法以Tcl語言實現(xiàn),且僅在IC Compiler中編譯運行,使得實施操作更為簡易。
【專利說明】
寄存器聚類在時鐘樹綜合中的實現(xiàn)方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明是一種應(yīng)用于移動芯片數(shù)字后端設(shè)計中時鐘樹綜合寄存器聚類算法的實 現(xiàn)方法,屬于數(shù)字電路后端設(shè)計領(lǐng)域。
【背景技術(shù)】
[0002] 近年來,集成電路的發(fā)展突飛猛進,隨著集成電路特征尺寸的不斷縮小,集成電路 集成度和速度不斷提高,集成電路的設(shè)計也變得愈加復(fù)雜。芯片生產(chǎn)出來后能否正常工作 取決于時序要求,而時鐘是芯片的心臟,因此時鐘樹設(shè)計在整個芯片設(shè)計中占有極其重要 的作用。
[0003] 時鐘樹有H型、網(wǎng)格型和二叉樹型等三種基本結(jié)構(gòu)。對于超大規(guī)模集成電路來說, 由于芯片內(nèi)部會劃分幾十至上百個模塊,距離時鐘源較遠的模塊內(nèi)部寄存器的延時會比較 大,而距離時鐘源距離較近的模塊內(nèi)部寄存器的延時較小。這將會造成大的時序偏移,使時 鐘樹的性能指標變差。這種情況下,為了優(yōu)化時鐘偏移指標,可以考慮使用多點時鐘樹結(jié)構(gòu) 的優(yōu)化設(shè)計。多點時鐘樹即每個子模塊內(nèi)部根據(jù)多個時鐘輸入點,形成多條子時鐘樹。所有 時鐘緩沖器的輸出端都與時鐘網(wǎng)格相連,連接點稱為分接點。分接點的位置分布基于各個 子模塊的負載,子時鐘的時鐘樹綜合由模塊內(nèi)寄存器組的幾何位置決定。
[0004] 多點時鐘樹相對于普通的網(wǎng)格型時鐘樹主要區(qū)別在于,多點時鐘樹網(wǎng)格下的模塊 被均勻規(guī)劃成多個時鐘樹綜合區(qū)域,每個區(qū)域內(nèi)分配一個時鐘緩沖器,各個區(qū)域的時鐘樹 綜合將以該時鐘緩沖器的輸出端為起點執(zhí)行。使用多點時鐘樹有降低時鐘延時,緩解〇 C V (On Chip Variation)的影響,減少時鐘偏移,加強時鐘樹抗干擾能力等作用。然而對于模 塊內(nèi)部時序要求不高的時鐘樹而言,這種結(jié)構(gòu)屬于大材小用,同時它也會帶來增加時鐘樹 功耗,具體實施困難,性能提升不明顯等問題。
[0005] 傳統(tǒng)的寄存器聚類算法針對寄存器聚類的標準各不相同,優(yōu)化的結(jié)果也各有不 同。其中主要的聚類方法有基于寄存器的翻轉(zhuǎn)率進行聚類,通過改變寄存器的物理位置進 行聚類,平均寄存器簇的負載電容,縮小時鐘樹最短線長等方法對寄存器進行聚類。但是以 上這些聚類方法,要么改變了寄存器位置(有可能影響時序),要么沒考慮時鐘樹功耗,要么 沒給出特定細節(jié)的設(shè)定方案,而這些細節(jié)往往決定著整個設(shè)計的實施。
[0006] 發(fā)明目的
[0007] 本發(fā)明提出了一種針對于時鐘樹功耗新的優(yōu)化方法,解決了時鐘樹結(jié)構(gòu)優(yōu)化空間 小,傳統(tǒng)寄存器算法實施困難等問題。該發(fā)明的目的在于,在不影響網(wǎng)表的前提下,通過最 小生成樹的構(gòu)筑方式,降低時鐘樹的互連電容并對時鐘樹寄存器進行低功耗聚類,進而降 低時鐘樹的功耗。本文采用的寄存器聚類方法主要針對時鐘樹葉子級寄存器拓撲結(jié)構(gòu)的優(yōu) 化。文中用到了普林姆算法作為寄存器聚類算法的先行準備和緩沖器分配算法作為其后續(xù) 補充。由于從始至終,算法都沒有改變寄存器的初始位置,因此,算法的實際操作性非常強, 它可集成進入任意時鐘樹綜合的流程之中。
[0008] 技術(shù)方案
[0009] 本發(fā)明提出的寄存器聚類方法用于芯片后端設(shè)計時鐘樹綜合的過程中,實現(xiàn)寄存 器聚類算法的方法步驟如下:
[0010] la)利用普林姆算法,以時鐘樹互連線長趨于最小值為標準,生成時鐘寄存器的最 小生成樹;
[0011] lb)在生成最小生成樹的過程中利用寄存器與緩沖器之間的距離閾值Mmax對寄存 器進行初始聚類,得到時鐘寄存器的初始寄存器簇;
[0012] lc)確定單個寄存器簇的負載電容閾值,對初始寄存器簇進行低功耗聚類,得到時 鐘寄存器的最終寄存器簇;
[0013] Id)對最終寄存器簇進行本地緩沖器分配,給每個寄存器簇分配驅(qū)動能力合適的 緩沖器。
[0014] 技術(shù)效果
[0015] 本發(fā)明所提出的寄存器聚類方法通過考慮時間復(fù)雜度,時鐘寄存器物理位置和時 鐘寄存器互聯(lián)電容三個方面問題,對時鐘樹寄存器進行低功耗聚類,使其能夠適用于大規(guī) 模集成電路時鐘樹綜合的物理設(shè)計。該方法對時鐘樹寄存器進行聚類時,考慮到了可能帶 來的信號路徑時序方面的影響,提出了不改變寄存器的位置并設(shè)置寄存器簇最大電容值的 方案,使得信號路徑時序在不受到影響的同時,時鐘樹的時鐘偏移和時鐘延時也一并減小。 在降低時鐘樹功耗方面,該方案以降低時鐘樹互連電容為標準,引用普林姆算法建立寄存 器的最小生成樹使得時鐘樹的互連線長趨于最小值,同時得到寄存器的分組數(shù)和寄存器 簇。本發(fā)明方法主要利用Tel語言設(shè)計,在IC Compiler上實現(xiàn),不需要引入第三方EDA工具 來進行編譯或仿真,因此在實現(xiàn)方法上非常簡易。在基于Voltus的運行環(huán)境下,相比于普通 時鐘樹綜合流程,寄存器聚類算法使得時鐘樹功耗得到了近13%的降低,其中動態(tài)功耗的 降低占80%以上。在IC Compiler的環(huán)境中,在時鐘偏移和時鐘延時上分別得到了 18%和 7.8%的降低。
【附圖說明】
[0016] 圖1為本發(fā)明方法流程圖;
[0017]圖2為寄存器最小生成樹示意圖;
[0018]圖3為寄存器和互連線的轉(zhuǎn)換模型圖;
[0019] 圖4為緩沖器驅(qū)動扇出寄存器示意圖。
【具體實施方式】
[0020] 下面以一具體實例對本發(fā)明做進一步詳細說明。
[0021] 實施例1
[0022] 如圖1所示,本發(fā)明寄存器聚類算法在時鐘樹綜合中的實現(xiàn)方法包括如下步驟: [0023] a)首先,依據(jù)項目中定義的最大扇出數(shù)(Max Fanout)Nfa_t,預(yù)估寄存器簇內(nèi)寄存 器的個數(shù)NReg,確定寄存器與緩沖器之間的距離閾值Mmax,NReg在1至NFanmjt之間,不同的NReg對 應(yīng)著不同的距離閾值M max,計算公式見下文公式6。
[0024] b)接著,參照普林姆算法的思想,以最小互連線長作為構(gòu)筑時鐘寄存器最小生成 樹的標準,并在生成最小生成樹的過程中,利用距離閾值Mmax對寄存器進行初始聚類,得到 初始寄存器簇,并得到分組數(shù)即初始寄存器簇的個數(shù)。由于不同的Mmax對應(yīng)著不同的初始寄 存器簇,因此嘗試所有可能的Mmax,最終選擇寄存器互連線長度最小的那個初始寄存器簇。
[0025] c)預(yù)估時鐘樹總體負載電容,并利用之前得到的分組數(shù),算出單個寄存器簇的負 載電容閾值。利用該電容閾值,對初始寄存器簇進行低功耗聚類,得到最終寄存器簇,使得 時鐘樹在得到最低負載電容的同時獲得時鐘偏移和時鐘延時的降低。
[0026] d)最后,給每個寄存器簇分配合適的緩沖器,緩沖器的分配同樣以寄存器簇的負 載電容為標準,而不是以傳輸時間作為標準。合適的緩沖器分配使得本地緩沖器的功耗得 以降低,本地傳輸時間也得到很好地控制。
[0027] 時鐘樹總體負載電容預(yù)估的原理如下:時鐘樹所有寄存器簇的負載電容值Ctotai可 由公式1表示。式中C表示寄存器簇i中所有寄存器的電容,Cf表示寄存器簇i中所有互連 線的電容。
[0028] C/0/^2(C;'+C;) ⑴
[0029] n表示寄存器簇的數(shù)目,寄存器的電容值可以通過查找Foundry廠提供的標準單元 庫得到。由于在做時鐘樹之前,互連線的長度未知,因此只能設(shè)定長度的一個預(yù)估值。通過 最短時鐘樹繞線算法(DME a 1 gor i thm)得到的時鐘樹線長等于.O^/V , D表示時鐘樹的寄 存器集合中兩個最遠的寄存器之間的曼哈頓距離,N表示所有時鐘寄存器的個數(shù)。由于1C Compiler的時鐘樹繞線算法與最短時鐘樹繞線算法一致,因此可以通過公式2預(yù)估時鐘樹 總的寄存器和互連線的電容值。
[0030] dt』j^+Cj^D (2) i=A
[0031] 公式中,Ci表示單個時鐘寄存器的電容,、表示預(yù)估的時鐘樹線長,<^表示單位 互連線的電容。CwSFoundry廠對線電容多次模擬仿真得到的一個值,它是將線的寬度和高 度等因素綜合考慮在內(nèi)而得出的一個相對準確的值。由于時鐘樹的繞線優(yōu)先級在整個芯片 中是最高的,時鐘繞線通常是普通信號線寬度的兩倍,因此時鐘樹的繞線受外界干擾較小, 可以通過來粗略估計互連線的電容值。單個寄存器簇的負載電容閾值可通過公式3 得出。其中K為分組數(shù)。
[0032] Climit=[C/ total/K] (3)
[0033] 實施例2
[0034] (1)時鐘樹分組的設(shè)計
[0035]假設(shè)芯片內(nèi)部某一區(qū)域時鐘寄存器的分布如圖2所示,按照以下步驟得到合理的 寄存器分組數(shù):
[0036]步驟a:參照普林姆算法的思想,隨機選取一個寄存器作為起點(在此選擇A寄存 器)。此時,將A當作初始寄存器簇C( 1 ),該寄存器隨之從寄存器集合Nreg中移除。設(shè)置寄存器 與緩沖器之間的距離閾值Mmax的大小。
[0037]步驟b:在剩下的寄存器中找出距離A最近的寄存器B,若它們之間的距離小于等于 Mmax,即寄存器B與當前寄存器簇中心(此時為A)的距離小于等于1^且當前寄存器簇的大小 在最大扇出范圍內(nèi),則把A和B合并,同時更新寄存器簇的中心點坐標為A和B的中點坐標。同 理,在余下的寄存器中找到C和D加入寄存器簇C(l)并更新C(l)的中點坐標。
[0038] 步驟c:寄存器E為距離C(l)最近的寄存器,但它們之間的距離大于Mmax的值,因此 將E作為新的初始寄存器簇C(2)。同理,找出剩余寄存器中所有能夠加入C(2)的寄存器F、G、 H〇
[0039] 步驟d:依此類推,可得到四組初始寄存器簇。它們分別為"AB⑶","EFGH","IJKL" 和"MN0P"。由于Mmax的限制,這些寄存器簇的半徑都不會超過M max,進而對時鐘偏移做了一個 初步的限制。通過這種方式,既得到了分組數(shù)K也得到了初始寄存器簇。
[0040] (2)寄存器簇的緩沖器分配的設(shè)計
[00411公式(4)為互連線轉(zhuǎn)換模型的表達式。表達式中,de是由Elmore延時模型算出的互 連線延時,Sle為互連線上的轉(zhuǎn)換衰退值(Slew Degradation)。
[0042] Sle = ln 9Xde (4)
[0043] 公式(5)為寄存器輸入轉(zhuǎn)換Sl(r)表達式。由公式可以看出寄存器輸入轉(zhuǎn)換的大小 由緩沖器的上升沿輸出轉(zhuǎn)換值Sl?t(b)和互連線轉(zhuǎn)換衰退值Sl e共同決定。
[0044] S/(r) = ^SIjlli(bf+SI; (5)
[0045] 圖3為一個簡單的緩沖器驅(qū)動寄存器示意圖,結(jié)合公式4和公式5可知,圖中寄存器 的輸入轉(zhuǎn)換受緩沖器的輸出轉(zhuǎn)換和互連線轉(zhuǎn)換共同影響。
[0046] 然而,人工得到緩沖器的輸出轉(zhuǎn)換值非常困難。此外,即便手工算出的轉(zhuǎn)換值,但 通常情況下該值的誤差非常大沒有任何參考意義,不能將寄存器的輸入轉(zhuǎn)換值作為緩沖器 分配算法中插入緩沖器的依據(jù)。因此,在此以負載電容作為插入依據(jù)。具體實施步驟如下: [0047]步驟a:選定項目中所有驅(qū)動能力適中的緩沖器,它們按照驅(qū)動力大小升序的方式 排序。
[0048] 步驟b:考慮極為特殊的情況,當寄存器簇中只有一個寄存器時,不給其分配緩沖 器。
[0049] 步驟c:對于每一個非單個寄存器的寄存器簇,計算寄存器簇的負載電容,同時遍 歷緩沖器的最大驅(qū)動電容,給寄存器簇分配最合適的緩沖器。
[0050] (3)距離閾值Mmax的設(shè)計
[0051] 緩沖器根據(jù)驅(qū)動能力的大小來驅(qū)動不同扇出數(shù)的負載。此外,對于相同扇出數(shù)的 負載而言,驅(qū)動能力強的緩沖器所帶負載的距離可以更遠。在設(shè)定寄存器簇的驅(qū)動緩沖器 時,應(yīng)該考慮驅(qū)動能力適中的緩沖器。這樣才能在性能和功耗上得到一個折衷。
[0052] 以圖4所示緩沖器驅(qū)動扇出寄存器示意圖為例,各寄存器結(jié)構(gòu)相同,該寄存器簇的 負載電容可由公式6表示:
[0053] Cbuf = NReg*Cr+NReg*Mmax*Cw (6)
[0054]式中Cbuf為緩沖器的最大負載電容,緩沖器的合理最大負載電容值可以通過計算 標準單元庫中的查找表得到。若緩沖器所帶負載電容超出Cbuf,則緩沖器內(nèi)部延時將變大, 可能造成時序違規(guī)。Cr表示該寄存器簇中單個寄存器的電容,N Reg表示該寄存器簇中的寄存 器個數(shù),Cw表示寄存器簇中單位互連線的電容,Mmax表示該寄存器簇中寄存器與緩沖器之間 的距離閾值。
[0055] 在公式6中,Cbuf、C#PCW可以通過查詢標準單元庫得到。在做數(shù)字后端設(shè)計前,通常 會設(shè)置緩沖器的最大扇出值NFa_t,即緩沖器所能驅(qū)動的寄存器的最大個數(shù)。因此,NReg值的 范圍為1至NF_ut之間,可以根據(jù)具體應(yīng)用取經(jīng)驗值。在確定了以上四個參數(shù)后,距離閾值 Mmax便可通過公式計算得出。
【主權(quán)項】
1. 一種寄存器聚類算法在時鐘樹綜合中的實現(xiàn)方法,其特征在于,該方法包括如下步 驟: la) 利用普林姆算法,以時鐘樹互連線長趨于最小值為標準,生成時鐘寄存器的最小生 成樹; lb) 在生成最小生成樹的過程中利用寄存器與緩沖器之間的距離閾值對寄存器進行初 始聚類,得到時鐘寄存器的初始寄存器簇; lc) 確定單個寄存器簇的負載電容閾值,對初始寄存器簇進行低功耗聚類,得到時鐘寄 存器的最終寄存器簇; ld) 對最終寄存器簇進行本地緩沖器分配,給每個寄存器簇分配驅(qū)動能力合適的緩沖 器。2. 根據(jù)權(quán)利要求1所述的寄存器聚類算法在時鐘樹綜合中的實現(xiàn)方法,其特征在于單 個寄存器簇負載電容閾值的確定:確定時鐘樹總的寄存器和互連線的電容值,將該總電容 值和寄存器簇個數(shù)相除得到單個寄存器簇的負載電容閾值。3. 根據(jù)權(quán)利要求2所述的寄存器聚類算法在時鐘樹綜合中的實現(xiàn)方法,其特征在于時 鐘樹總的互連線電容值通過最短時鐘樹繞線算法預(yù)估得到。4. 根據(jù)權(quán)利要求1所述的寄存器聚類算法在時鐘樹綜合中的實現(xiàn)方法,其特征在于緩 沖器的分配方式:緩沖器的分配是以寄存器簇的負載電容作為標準。
【文檔編號】G06F17/50GK105930591SQ201610261567
【公開日】2016年9月7日
【申請日】2016年4月26日
【發(fā)明人】劉昊, 符仕聰
【申請人】東南大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1