《電子技術(shù)應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于有用時序偏差的時序優(yōu)化方法
基于有用時序偏差的時序優(yōu)化方法
來源:微型機與應用2013年第4期
雪艷1,廖一鵬2
(1.福州大學 陽光學院,福建 福州350015;2.福州大學 物理與信息工程學院,福建 福州350
摘要: 提出了一種利用有用時序偏差來提高電路性能的方法,利用時鐘偏差規(guī)劃算法在時鐘樹綜合之前對時序偏差重新調(diào)整規(guī)劃,以提高電路的性能。使用ISCAS89作為實驗對象來驗證算法并進行了分析。
關(guān)鍵詞: 時鐘樹綜合 時序偏差 ISCAS89
Abstract:
Key words :

摘  要: 提出了一種利用有用時序偏差來提高電路性能的方法,利用時鐘偏差規(guī)劃算法在時鐘樹綜合之前對時序偏差重新調(diào)整規(guī)劃,以提高電路的性能。使用ISCAS89作為實驗對象來驗證算法并進行了分析。
關(guān)鍵詞: 時鐘樹綜合;時序偏差;ISCAS89

    在數(shù)字集成電路設計中,基于標準單元的ASIC設計具有成本低、移植性好、上市時間短等優(yōu)點,在各種芯片設計領(lǐng)域占據(jù)了越來越重要的地位[1]。ASIC設計的廣泛應用使得EDA的方法在IC設計中得到了充分的發(fā)展。在工藝進入深亞微米之后,對芯片設計尤其是芯片的物理設計提出了更高的要求,芯片的時序收斂周期也變得越來越長。本文所研究的時鐘偏差規(guī)劃基于標準單元ASIC設計流程,能夠提高芯片的性能。
    在現(xiàn)在的超大規(guī)模電路設計中,一般采用寄存器傳輸級設計。在這種設計方法中,時鐘信號是所有數(shù)據(jù)傳送的基準,數(shù)據(jù)傳送從時鐘發(fā)送沿開始,到時鐘接收沿結(jié)束。在同一時鐘域中,時鐘源所扇出的單元,包括寄存器、存儲器在內(nèi),數(shù)量非常巨大,是一個龐大的時鐘網(wǎng)絡。如圖1所示,為了使同一時鐘源能夠驅(qū)動到它所扇出的所有節(jié)點,并使其到這些節(jié)點的延時基本相同,時鐘網(wǎng)絡通常采用緩沖器樹的結(jié)構(gòu),這一結(jié)構(gòu)稱為時鐘樹[2]。

    時鐘樹在時鐘信號起點以及時鐘信號所要驅(qū)動的所有寄存器之間,加入若干緩沖器(buffer),形成樹狀架構(gòu)。在這種架構(gòu)中,時鐘信號到達寄存器會產(chǎn)生偏差(skew),所有寄存器時鐘端的時鐘信號并不是同時到達的?,F(xiàn)在工具優(yōu)化的目標是“零時鐘偏差”,零時鐘偏差是一種讓時鐘信號同時到達所有寄存器的設計方法。實際上利用時鐘偏差構(gòu)建時鐘樹,并不會比零時鐘偏差的時鐘樹對工藝變化更敏感,通過適當?shù)臅r鐘偏差優(yōu)化,還可以提高電路對工藝參數(shù)變化的容忍度[3]。在關(guān)鍵路徑上的一些時鐘偏差會對時序有一定的優(yōu)化作用,從而提高電路的最大運行速度,這種時鐘偏差即為有用時鐘偏差[4]。有用時鐘偏差現(xiàn)在已經(jīng)成為集成電路設計中一個備受關(guān)注的研究方向。
1 靜態(tài)時序分析
    靜態(tài)時序分析是通過在最悲觀的情況下檢查所有時序路徑可能存在的時序違規(guī)的方法來保證一個設計在時序上的性能。因此它只考慮每一個邏輯門的最差延時,并不理會電路的邏輯功能[5]。
    圖2中虛線所示為一條常見的時序路徑,它的起點是寄存器FF1的CLK端,終點為FF2的D端。在時序分析中建立時間檢查時,要求這條路徑滿足的約束條件如式(1)~式(3)所示。

    從式(1)、式(2)可以看出,電路的性能不僅決定于電路組合路徑的延時,時鐘源到寄存器的延時L也同樣是一個很重要的影響因素[6]。如果時鐘源到寄存器的時鐘端的延時不同,就會出現(xiàn)時鐘偏差。
    靜態(tài)時序分析理論表明,設計存在時鐘偏差并不一定意味著時序惡化,正的時鐘偏差(信號與時鐘同向)可以修正建立時間違規(guī),而負的時鐘偏差(信號與時鐘反向)可以修正保持時間違規(guī)[7]。時鐘偏差規(guī)劃正是通過協(xié)調(diào)時鐘延時來優(yōu)化時序、提高性能的。
2 算法描述
    如圖3所示,以Launch_reg與Capture_reg兩個寄存器組成的一條路徑為當前路徑,定義以Launch_reg為終點的路徑是當前路徑的前級,以Capture_reg為起點的路徑為當前路徑的后級。算法的實質(zhì)是先進行建立(setup)時間裕量的平分,再根據(jù)不同的情況來進行調(diào)整,以達到所有路徑都無時序違規(guī)的目的。該方法在提高性能的同時,兼顧前后級時序電路的裕量,不至于使它們?nèi)蔀榕R界邊(裕值為0的邊)。

    通過時序分析工具獲得當前路徑,前級以及后級路徑的時序信息作為時序均分的初始值,然后將各級時序裕量進行求和均分。在約束圖中將某節(jié)點的時鐘延時增加Δ,則以它為終點的路徑的裕量增加Δ,而以它為起點的路徑的裕量減少Δ;如果將某節(jié)點的時鐘延時減少Δ,情況則相反。在均分以后必須使得保持時間不能違規(guī),寄存器的保持時間必須大于0,否則數(shù)據(jù)將無法被寄存器準確地捕獲。
    根據(jù)時序參數(shù)初值以及各級均分后的值可以算出本級、前級和后級路徑新的保持時間和建立時間。判斷前后級路徑是否有保持時間違規(guī),若前后級有違規(guī)則將時序初始值設置為自身保持時間裕量,調(diào)整新的時序初始值后繼續(xù)進行時序裕量均分,直到無法再調(diào)整為止。判斷本級路徑是否有保持時間違規(guī),若自身有違規(guī)則增量值Δ調(diào)整為原來的k倍(k為偏差在當前情況下實際調(diào)整值與最大調(diào)整值的比值)作為最終調(diào)整的結(jié)果;若無違規(guī)則以當前調(diào)整過的值作為結(jié)果。算法流程如圖4所示,在具體實現(xiàn)算法中,使用了標記flag控制循環(huán)。算法使用TCL(Tool Command Language)語言實現(xiàn),很方便地嵌入現(xiàn)有流程與現(xiàn)有工具集合起來使用。

 

 

    通過靜態(tài)時序分析工具得到關(guān)鍵路徑建立時間,如圖5所示。以此為例分析算法作用的過程:當前情況下時鐘約束的周期為10 ns,那么在-2 ns違規(guī)的情況下,時鐘必須提供12 ns的周期,若通過局部時序偏差優(yōu)化的方法將-2 ns的違規(guī)修正,則提高了電路的性能。

    偏差優(yōu)化后時序最差的路徑由原來的-2 ns變?yōu)?2/3 ns,周期由原來的12 ns提高到了10 ns以內(nèi)。
    提高電路性能:正的時鐘偏差,其效果相當于減小邏輯路徑的時間延遲。因此有效地利用時鐘偏差,對時鐘信號到達各個寄存器的時間進行適當?shù)陌才?,時鐘周期的最小值將可能小于電路中所有相鄰兩個寄存器間的信號延遲時間的最大值,而達到提高電路性能的目的[8]。
    增加電路穩(wěn)定性:令Tspec為電路實際運行的時鐘周期,但由于工藝的變化,使得電路分析結(jié)果時鐘周期的最小值為Tmin,很明顯,Tmin必須小于Tspec才能合乎設計要求。如前文所述,利用時鐘偏差,可縮小時鐘周期的最小值。令Tspec和Tmin的差值為?駐T,由于工藝參數(shù)變化等因素,?駐T的值變得越大,越有助于確保電路運行正確。同理,通過時鐘偏差優(yōu)化,也可以提高保持時間裕量。
3 實驗過程
    利用時鐘偏差的區(qū)域性特點,可以改善電路的性能及穩(wěn)定性,但目前業(yè)界廣泛使用的集成電路時鐘樹綜合工具(如IC Compiler),其目的都是縮小時鐘偏差,即使工具附帶有用偏差約束的時鐘樹綜合選項,但因為所消耗的資源太高,而且最終的結(jié)果也不盡如人意。本文提出的偏差優(yōu)化算法及其流程,可以很好地與現(xiàn)有的集成電路設計流程進行整合。時鐘偏差規(guī)劃所針對的是門級網(wǎng)表,必須要在邏輯綜合以后。雖然越往后的流程,設計所擁有的信息越全面準確,但是時鐘樹綜合以后時鐘結(jié)構(gòu)已經(jīng)固定,再進行優(yōu)化的余地較小,所以時鐘偏差規(guī)劃要位于時鐘樹綜合以前。時鐘偏差規(guī)劃嵌入傳統(tǒng)流程的最佳位置在布圖規(guī)劃、布局之后,時鐘樹綜合之前。嵌入偏差優(yōu)化后的新的物理設計流程如圖7所示。

    本文以ISCAS89中部分電路為實驗用例,對它們進行時鐘偏差的優(yōu)化來改善芯片的性能和穩(wěn)定性。實驗中首先選取“SMIC 130nm Logic013G Process 1.2-Volt SAGE-XTM v2.0 Standard Cell Library”標準單元庫作為邏輯綜合的目標庫(Target Library),采用Synopsys Design Compiler將實驗用例的RTL代碼綜合成門級網(wǎng)表,采用Synopsys IC Compiler進行布圖規(guī)劃。
    在完成布圖規(guī)劃后,嵌入的流程有兩步:
    (1)延遲提取。延遲提取是實施時鐘偏差規(guī)劃的數(shù)據(jù)基礎(chǔ)。此步驟在靜態(tài)時序分析工具中進行。
    (2)時鐘偏差規(guī)劃。利用規(guī)劃來獲得性能最優(yōu)的時鐘樹方案,并生成適合時鐘樹綜合使用的命令。
    時鐘偏差規(guī)劃優(yōu)化以后,設計中原來的關(guān)鍵路徑使用時鐘偏差的方法得以修正,減少了工具的負荷,更大地發(fā)揮了工具的優(yōu)化能力,得到更好的優(yōu)化效果。優(yōu)化完成以后再進行一輪時鐘偏差規(guī)劃調(diào)整,直到繼續(xù)優(yōu)化的程度非常小,不值得繼續(xù)循環(huán)優(yōu)化為止。
4 實驗結(jié)果
    時鐘偏差優(yōu)化的結(jié)果使得性能得到提升。性能的提升可以用最小周期的減小值或百分比表示。初始時鐘最小周期記為T,偏差優(yōu)化后的最小時鐘周期記為Tnew, 而性能的提升(performace enhancement)為:?駐T=T-Tnew,為更加形象地顯示性能提高的幅度,亦可采用性能提升的百分比?駐T/T來表示。每個測試用例時鐘偏差優(yōu)化前后的性能提升比例如表1所示。

    局部偏差優(yōu)化算法對實驗用例的性能有不同程度的提升,s38584的提升幅度最大為9.1%。
    高性能的系統(tǒng)芯片中,時鐘信號對于系統(tǒng)功能和性能都具有至關(guān)重要的作用。隨著工藝尺寸的縮小,時鐘偏差并不等比例縮小,因此以零偏差為目標的時鐘樹綜合已經(jīng)難以適應工藝進步的需要。時鐘偏差優(yōu)化作為提升電路性能及穩(wěn)定性的研究越來越深入,但如何有效地利用時鐘偏差,設計方法及工具尚不完善。對學術(shù)界經(jīng)典的ISCAS89中不同規(guī)模的電路進行實例測試,結(jié)果表明算法具有很強的實用性,能夠很好地提升電路的性能。
參考文獻
[1] RABAEY J M,CHANDRAKASAN A.數(shù)字集成電路——電路、系統(tǒng)與設計(第2版)[M].周潤得,譯.北京:電子工業(yè)出版社,2004:237-238.
[2] Synopsys,Inc.Astro user guide[DB/OL].(2007-09-01)[2012-03-29].http://wenku.baidu.com/view/584b8b20a-f45b307e8719720.html.
[3] HUANG S H,NIEH Y T.Synthesis of non zero clock skew  circuits[J].IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems,2006,25(6):961-976.
[4] MADER R,F(xiàn)RIEDMAN E G,LITMAN A.Large scale clock skew scheduling techniques for improved reliability of digital synchronous VLSI circuits[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2002(1):I-357-I-360.
[5] BHASKER J,CHADHA R.Static timing analysis for nanometer designs[M].Berlin:Springer Verlag,2009:179-360.
[6] 陳春章,艾霞,王國維.數(shù)字集成電路物理設計[M].北京:科學出版社,2008:93-127.
[7] Synopsys,Inc.Prime time user guide[DB/OL].(2006-06-01)[2012-03-29].http://wenku.baidu.com/view/530afd0e795-63c1ec5da71b0.html.
[8] WANG K,DUAN L,CHENG X.Extensive slack balance:an  approach to make front-end tools aware of clock skew scheduling[C].In the Proceedings of the 43rd DAC,2006:376-385.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。