一種自適應pvt變化的時鐘電路設計方法
【專利摘要】本發明公開了一種自適應PVT變化的時鐘電路設計方法。本發明的時鐘電路設計方法包括:在集成電路完成布局后確定同一時鐘源驅動的存在時序關系的第一時序器件和第二時序器件,所述第一時序器件的數據輸出被第二時序器件采樣;確定待分析的PVT,以及確定在各PVT下第一時序器件與第二時序器件之間的數據路徑最大延時;在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時。應用本發明方法設計的電路可以自適應PVT變化,避免了在非最差PVT下過大的性能冗余,從而提高了在非最差PVT下的電路性能。
【專利說明】一種自適應PVT變化的時鐘電路設計方法
【技術領域】
[0001]本發明涉及集成電路設計領域,尤其涉及一種自適應PVT變化的時鐘電路設計方法。
【背景技術】
[0002]隨著數字集成電路設計規模的不斷增大,為了順利達到時序收斂,通常需要將電 路設計過程分為若干步驟。圖1示出了現有的數字集成電路簡化了的設計流程,在步驟 101,對組合邏輯器件和時序器件進行布局和優化;在步驟102,插入時鐘樹,建立從時鐘源 到各時序器件的時鐘電路;在步驟103,進行布線及優化;在步驟104,執行靜態時序檢查。 其中,步驟102插入的時鐘樹是一種樹形時鐘電路,其特點為時序器件間的時鐘沿到達時 間差,即時鐘偏差(ClockSkew)非常小,使布局階段和布線階段的時序具有緊密的關聯性, 是易于達到時序收斂的一種現有的時鐘電路實現方式。
[0003]然而,這種時鐘樹架構決定了系統的延時、吞吐量等性能指標完全由時鐘周期決 定。為了保證系統可以在在最差的工藝、電源電壓、溫度(PVT)下正常工作,時鐘周期通常 會被設定為滿足最差PVT要求的最保守值。在典型的數字電路工藝中,邏輯器件在最好PVT 下的性能可達到最差PVT下的2到3倍,然而在時鐘周期不變的前提下,實際工作環境的 PVT改善不會帶來任何的性能提升,造成實際性能冗余過大。而現有的動態電壓頻率切換 (DVFS)技術需要復雜的反饋系統,且實現的效果主要為降頻節能,對非最差PVT下的性能 提升幅度非常有限。
[0004]造成此結果的原因是,雖然現有數字集成電路中數據路徑延時與PVT關系密切, 但前一時鐘沿輸出、后一時鐘沿采樣的時鐘電路設計方法和以減小時鐘偏差為目的設計的 時鐘電路卻不能緊密跟隨PVT改變而作出變化,使得PVT偏離最差條件時性能不能跟隨達 到該PVT下的最優。
【發明內容】
[0005]本發明要解決的主要技術問題是,提供一種自適應PVT變化的時鐘電路設計方 法,能夠自適應地提高電路在非最差PVT下的性能。
[0006]為解決上述技術問題,本發明提供一種自適應PVT變化的時鐘電路設計方法,在 集成電路完成布局后還包括以下步驟:
[0007]確定同一時鐘源驅動的存在時序關系的第一時序器件和第二時序器件,所述第一 時序器件的輸出被第二時序器件采樣;
[0008]確定多個待分析的PVT,并確定在各個PVT下,第一時序器件與第二時序器件之間 的數據路徑最大延時;
[0009]在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單元,使第一 時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時。
[0010]在本發明設計方法中,所述在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時的步驟包括:
[0011]判斷在當前PVT下從第一時序器件到第二時序器件的時鐘偏差是否大于所述數據路徑最大延時,若否,則在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單元使第一時序器件到第二時序器件的時鐘偏差大于所述數據路徑最大延時;
[0012]進一步判斷是否在各個PVT下第一時序器件到第二時序器件的時鐘偏差均大于所述數據路徑最大延時,若否,則在所述時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時。
[0013]在本發明設計方法中,所述在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時的步驟還包括:
[0014]當判斷在當前PVT下從第一時序器件到第二時序器件的時鐘偏差大于所述數據路徑最大延時時,進一步判斷是否在各個PVT下第一時序器件到第二時序器件的時鐘偏差均大于所述數據路徑最大延時,若否,則在所述時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時。
[0015]在本發明設計方法中,所述確定在各個PVT下,第一時序器件與第二時序器件之間的數據路徑最大延時的步驟包括:
[0016]在當前PVT下,從第一時序器件與第二時序器件之間的至少兩條數據路徑中選取一條路徑最長的數據路徑;
[0017]確定選取的數據路徑在各個PVT下的最大延時,所述最大延時為所述數據路徑最大延時。
[0018]在本發明設計方法中,所述數據路徑延時為:從第一時序器件數據輸出端到第二時序器件數據輸入端之間的第一時序器件輸出延時、組合邏輯延時、連線延時和第二時序器件最小建立時間之和。
[0019]本發明的有益效果是:
[0020]本發明提供了一種自適應PVT變化的時鐘電路設計方法,能夠提高在非最差PVT下的電路性能,本發明的設計方法通過使同一時鐘源驅動的并存在時序關系的第一時序器件和第二時序器件之間的時鐘偏差在各個PVT下大于數據路徑最大延時,從而使得電路性能由時鐘偏差而非時鐘周期決定,而時鐘偏差由延時單元組成,其可以自適應PVT變化。因此,應用本發明設計方法設計的電路與利用傳統設計方法設計的電路相比,避免了在非最差PVT下過大的性能冗余,從而提高了在非最差PVT下的電路性能。
【專利附圖】
【附圖說明】
[0021]圖1示出了現有的數字集成電路設計流程圖;
[0022]圖2示出了本發明實施例中自適應PVT變化的時鐘電路設計方法的流程圖;
[0023]圖3示出了本發明實施例中應用了本發明時鐘電路設計方法的集成電路設計流程圖;
[0024]圖4示出了本發明實施例中含有多條數據路徑的電路邏輯圖;
[0025]圖5示出了本發明實施例中第一時序器件和第二時序器件的時序關系圖;[0026]圖6示出了本發明實施例中電路在較差PVT下的數據路徑延時和時鐘偏差示意 圖;
[0027]圖7示出了本發明實施例中電路在較好PVT下的數據路徑延時和時鐘偏差示意 圖。
【具體實施方式】
[0028]下面通過【具體實施方式】結合附圖對本發明作進一步詳細說明。
[0029]如圖2所示,本實施例提供了 一種自適應PVT變化的時鐘電路設計方法,在集成電 路完成布局后還包括以下步驟:
[0030]步驟201:確定同一時鐘源驅動的存在時序關系的第一時序器件和第二時序器 件,所述第一時序器件的輸出被第二時序器件采樣;
[0031]步驟202:確定在各個PVT下第一時序器件和第二時序器件之間的數據路徑最大 延時;
[0032]步驟203:在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單 元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延 時。
[0033]本實施例提供的時鐘電路設計方法通過使集成電路中同一時鐘源驅動的并存在 時序關系的第一時序器件和第二時序器件之間的時鐘偏差在各個PVT下大于數據路徑最 大延時,從而使得電路性能由時鐘偏差而非時鐘周期決定,又由于時鐘偏差由延時單元決 定的,其可以自適應PVT變化,即延時單元的延時可以自適應PVT變化,避免了非最差PVT 下過大的性能冗余,從而提高了在非最差PVT下的電路性能,使電路性能在多個PVT下達到 最優。本實施例中調制延時單元是調整位于第一時序器件和第二時序器件之間時鐘路徑上 的延時單元。
[0034]本實施例還提供了 一個更詳細的實施例將本發明時鐘電路設計方法應用于集成 電路設計中,設計流程如圖3所示,包括以下步驟:
[0035]步驟301,完成對組合邏輯器件和時序器件的布局和優化。
[0036]如本領域的技術人員所知,在集成電路設計中,該步驟通常需要在構建時鐘電路 之如完成。
[0037]步驟302,確定多個待分析的PVT。
[0038]如本領域的技術人員所知,在集成電路設計中,需要事先確定在哪些PVT下進行 時序分析,具體的PVT類型和數量由工藝和電路工作環境決定。
[0039]步驟303,確定兩個同一時鐘源驅動的存在時序關系的第一時序器件和第二時序 器件,所述第一時序器件的輸出被第二時序器件采樣。
[0040]如本領域的技術人員所知,現有的時序分析工具可以報告出電路中所有存在時序 關系的兩個時序器件。
[0041]步驟304,確定一個PVT下第一時序器件和第二時序器件之間的數據路徑最大延
時 Tdp。
[0042]在本發明中,確定在各個PVT下,第一時序器件與第二時序器件之間的數據路徑 最大延時可以利用以下過程確定:在當前PVT下,從第一時序器件與第二時序器件之前至少兩條數據路徑中選取一條路徑最長的數據路徑;
[0043]確定選取的數據路徑在各個PVT下的最大延時,所述最大延時為所述數據路徑最大延時。
[0044]在本發明中,數據路徑延時Tdp為第一時序器件數據輸出端到第二時序器件數據輸入端之間的第一時序器件輸出延時T。。、組合邏輯延時Tramb、連線延時Tnrt和第二時序器件最小建立時間Tsu之和:
[0045]Tdp=Tco+Tcomb+Tnet+Tsu;
[0046]數據路徑最大延時為:
[0047]Tdp (Max) =Tco (Max) +Tcomb (Max) +Tnet (Max) +Tsu (Max)
[0048]如本領域的技術人員所知,某個PVT下的數據路徑延時可由現有的時序分析工具產生。
[0049]步驟305,判斷當前PVT下從第一時序器件到第二時序器件的時鐘偏差Tskew是否大于數據路徑延時Tdp,如判斷為假,則根據步驟306在第一時序器件和第二時序器件間的時鐘路徑上插入或調整延時單元,使時鐘偏差大于數據路徑最大延時:
[0050]Tskew>Tdp(Max)
[0051 ] Tskew>TC0 (Max) +Tcomb (Max) +Tnet (Max) +Tsu (Max)
[0052]同時保證延時單元的物理位置與數據路徑的布局位置相近,以保證片上偏差(OCV)的良好相關性。如本領域的技術人員所知,某個PVT下的時鐘偏差可由現有的時序分析工具產生。
[0053]如步驟305判斷為真,則在步驟307,判斷是否已確定所有PVT下第一時序器件和第二時序器件間時鐘偏差均大于數據路徑最大延時,判斷為假則再次執行步驟304。
[0054]如步驟307判斷為真,則在步驟308,判斷是否已確定所有存在時序關系的兩個時序器件間的時鐘偏差,如判斷為假,則再次執行步驟303。
[0055]如步驟308判斷為真,則在步驟309進行布線及優化。
[0056]在步驟310,執行靜態時序檢查,執行前需要在時序約束中聲明時序器件在同一時鐘沿進行輸出和采樣的特性,即添加“set_multicycle_path setupO”時序約束。如本領域的技術人員所知,該時序約束及檢查可由現有的時序分析工具實現。
[0057]用于說明步驟303和步驟304的進一步的實施例如圖4所示,在本實施例中時鐘為邏輯連接關系而未插入時鐘電路;可以確定觸發器401和觸發器405被同一時鐘源驅動且觸發器401的輸出經過組合邏輯最終被觸發器405采樣,即觸發器401和觸發器405存在時序關系,故觸發器401可作為第一時序器件、觸發器405可作為第二時序器件;同時可以發現第一時序器件與第二時序器件間存在兩條數據路徑,假定連線延時遠小于組合邏輯器件延時,則第一時序器件401輸出后經過與門402、或門403、異或門404到達第二時序器件405的數據路徑延時為數據路徑最大延時;而第一時序器件401輸出后直接經過異或門404到達第二時序器件405的數據路徑延時不是數據路徑最大延時。
[0058]在步驟307判斷為真時的第一時序器件和第二時序器件在任意一個PVT下的時序關系如圖5所示,對于一個持續時鐘信號中的一個脈沖,第一時序器件在該脈沖上升沿輸出,經過數據路徑延時501后到達第二時序器件;而時鐘路徑上的延時單元使脈沖經過時鐘偏差502到達第二時序器件時晚于數據路徑,第二時序器件在經過延時單元的脈沖的上升沿采樣;即第一時序器件和第二時序器件在相對時鐘源的同一時鐘沿進行輸出和采樣。 [0059]
〒牛反相器與非門或非門異或門D觸發器D用蟲發器連線延時單元PVT \TcombTcombTcombTcombTcoTsuTnctTskcwff/-4°C72%73%70%69%70%65%71%67%tt/25°C100%100%100%100%100%100%100%100%ss/12°C157%156%158%161%164%165%136%161%
[0060]表1.一種集成電路工藝下常用器件在多個PVT的相對延時
[0061]采用本實施例的時鐘電路設計方法避免了電路在非最差PVT下過大的性能冗余,從而提高了在非最差PVT下的電路性能,如表1示出了一種集成電路工藝中,以 tt/25°C PVT為參考點時常用數字邏輯器件在多個PVT下的相對延時,包括組合邏輯延時 Tramb、時序器件輸出延時T。。、時序器件最小建立時間Tsu、連線延時Tnrt以及構成時鐘偏差 Tskew的延時單元延時。由表1又可知,延時單元與其他數字邏輯器件的相對延時值在各個 PVT下具有良好的相關性;即,使一個PVT下延時單元延時值恰好大于數據路徑延時不會造成另一個PVT下延時單元延時值遠遠大于數據路徑延時,故不會造成某些PVT下性能冗余過大;同時由于應用了本發明的數字電路的性能由時鐘偏差Tslrew決定,由表1可知,隨著 PVT的改善,電路性能將自適應地提升至最高可達PVT ss/125°C下的約2.4倍。
[0062]本發明的另一個實施例示出了應用上述時鐘電路設`計方法設計的一種電路。在本實施例中延時取值較為理想僅為了簡化說明,并不會影響本發明方法應用于實際電路時的有效性。在該實施例中有較好和較差兩個待分析的PVT ;數據路徑的器件延時和時鐘路徑的延時單元延時在較好PVT和較差PVT下的延時值為1:2。本實施例包含的7個時序器件 (REG1-REG7)、5個時序器件間的組合邏輯(C0MB1-C0MB5)以及組合邏輯延時T_b已在圖6、 圖7中示出;時序器件的輸出延時T。。與建立時間Tsu之和在較差PVT下接近而未達到2ns, 在較好PVT下接近而未達到1ns,忽略連線延時Tn6t ;即可按照圖3的流程設計時鐘電路;
[0063]根據步驟303可確定一組第一時序器件和第二時序器件REGl和REG3 ;根據步驟 304可確定REGl和REG3在較差PVT下的數據路徑最大延時接近而未達到8ns,在較好PVT 下的數據路徑最大延時接近而未達到4ns ;根據步驟305、步驟306可確定較差PVT下在時鐘路徑插入延時值為8ns的延時單元可使REGl到REG3的時鐘偏差滿足Tskew>Tdp (Max);根據步驟307在較好PVT下再次執行步驟305、步驟306,可知此時在較好PVT下時鐘偏差4ns 已滿足Tskew>Tdp(Max),不必再次插入或調整延時單元;根據步驟308,對剩余5組第一時序器件和第二時序器件 REG3 和 REG5、REG5 和 REG7、REG2 和 REG4、REG4 和 REG6、REG6 和 REG7 再次執行步驟303-步驟307以確定剩余的時鐘路徑延時值:
[0064]從REG2到REG4的時鐘偏差,即延時單元在較差PVT下的延時值602為4ns,較好PVT下的延時值702為2ns ;
[0065]從REG3到REG5的時鐘偏差,即延時單元在較差PVT下的延時值603為6ns,較好PVT下的延時值703為3ns ;
[0066]從REG4到REG6的時鐘偏差,即延時單元在較差PVT下的延時值604為10ns,較好PVT下的延時值704為5ns ;
[0067]從REG6到REG7的時鐘偏差,即延時單元在較差PVT下的延時值605為12ns,較好PVT下的延時值705為6ns;
[0068]至此,根據步驟308可知已確定所有存在時序關系的兩個時序器件間的時鐘偏差;在步驟309布線及優化后,根據步驟310,在靜態時序分析工具中添加以下時序約束,對本實施例中有時序關系的6條路徑在較好和較差PVT下分別進行靜態時序檢查;
[0069]
set-multicyc.le.— path -from REGl -to REC ^ setup 0
se.t—mul tic.ycle.-path -from REG3 -to REL5 setup 0
set-multicycle—path -from REG5 -to REG7 setup 0
set—multicycle—path -from REG2 -to REG4 setup 0
set-multicyc.le.— path -from REG4 -to REC 6 setup 0
se.t—mul tic.ycle.-path -from REG6 -to REG7 setup 0
[0070]以上時序約束聲明了本實施例中第一時序器件和第二時序器件在相對時鐘源的同一時鐘沿進行輸出和采樣 的時序特性。
[0071]以上內容是結合具體的實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限于這些說明。對于本發明所屬【技術領域】的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發明的保護范圍。
【權利要求】
1.一種自適應PVT變化的時鐘電路設計方法,其特征在于,在集成電路完成布局后還包括以下步驟: 確定同一時鐘源驅動的存在時序關系的第一時序器件和第二時序器件,所述第一時序器件的輸出被第二時序器件采樣; 確定多個待分析的PVT,并確定在各個PVT下,第一時序器件與第二時序器件之間的數據路徑最大延時; 在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時。
2.如權利要求1所述的自適應PVT變化的時鐘電路設計方法,其特征在于,所述在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時的步驟包括: 判斷在當前PVT下從第一時序器件到第二時序器件的時鐘偏差是否大于所述數據路徑最大延時,若否,則在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單元使第一時序器件到第二時序器件的時鐘偏差大于所述數據路徑最大延時; 進一步判斷是否在各個PVT下第一時序器件到第二時序器件的時鐘偏差均大于所述數據路徑最大延時,若否,則在所述時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時。
3.如權利要求2所述的自適應PVT變化的時鐘電路設計方法,其特征在于,所述在第一時序器件和第二時序器件之間的時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時的步驟還包括: 當判斷在當前PVT下從第一時序器件到第二時序器件的時鐘偏差大于所述數據路徑最大延時時,進一步判斷是否在各個PVT下第一時序器件到第二時序器件的時鐘偏差均大于所述數據路徑最大延時,若否,則在所述時鐘路徑上插入或調整延時單元,使第一時序器件到第二時序器件的時鐘偏差在各個PVT下大于所述數據路徑最大延時。
4.如權利要求1所述的自適應PVT變化的時鐘電路設計方法,其特征在于,所述確定在各個PVT下,第一時序器件與第二時序器件之間的數據路徑最大延時的步驟包括: 在當前PVT下,從第一時序器件與第二時序器件之間的至少兩條數據路徑中選取一條路徑最長的數據路徑; 確定選取的數據路徑在各個PVT下的最大延時,所述最大延時為所述數據路徑最大延時。
5.如權利要求1-4任一項所述的自適應PVT變化的時鐘電路設計方法,其特征在于,所述數據路徑延時為:從所述第一時序器件數據輸出端到第二時序器件數據輸入端之間的第一時序器件輸出延時、組合邏輯延時、連線延時和第二時序器件最小建立時間之和。
【文檔編號】G06F17/50GK103500243SQ201310400304
【公開日】2014年1月8日 申請日期:2013年9月4日 優先權日:2013年9月4日
【發明者】溫亨, 石彥 申請人:深圳市國微電子有限公司