《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于Astro工具的ASIC時(shí)序分析
基于Astro工具的ASIC時(shí)序分析
摘要: 在目前的ASIC設(shè)計(jì)中,時(shí)鐘信號的質(zhì)量對同步數(shù)字電路的影響越來越大。如何避免時(shí)序問題給電路造成的不利影響成為設(shè)計(jì)中的重要挑戰(zhàn)。本文主要介紹了邏輯設(shè)計(jì)中值得注意的重要時(shí)序問題,以及如何克服這些問題。最后介紹了利用Astro工具進(jìn)行時(shí)序分析的方法。
關(guān)鍵詞: 開發(fā)工具 EDA Astro SOC ASIC
Abstract:
Key words :

       引言

      
隨著系統(tǒng)時(shí)鐘頻率的提高,時(shí)鐘偏斜和干擾開始成為IC工程師重點(diǎn)考慮的問題。增大時(shí)序電路的時(shí)鐘頻率,減小時(shí)序電路的容差能提升未來的系統(tǒng)性能。低偏斜時(shí)鐘緩沖器和鎖相環(huán)時(shí)鐘驅(qū)動(dòng)器將幫助設(shè)計(jì)人員設(shè)計(jì)出速度、偏斜和抗噪性能等指標(biāo)滿足要求的電路系統(tǒng),但必須將時(shí)鐘電路設(shè)計(jì)為一個(gè)時(shí)鐘系統(tǒng),考慮時(shí)鐘分步網(wǎng)絡(luò)的各個(gè)方面,包括驅(qū)動(dòng)器、傳輸線路和信號布線等。

       時(shí)鐘偏斜

      
時(shí)鐘偏斜定義為在時(shí)鐘分布系統(tǒng)中到達(dá)各個(gè)時(shí)鐘末端(即器件內(nèi)部觸發(fā)器的時(shí)鐘輸入端)的時(shí)鐘相位不一致的現(xiàn)象。如果時(shí)鐘偏斜超過所允許的最大值,電路的同步可能會(huì)發(fā)生失效。

       偏斜主要由兩個(gè)因素造成:一是時(shí)鐘源驅(qū)動(dòng)器件的偏差,例如同一個(gè)PLL輸出的不同時(shí)鐘信號之間的偏斜;另一個(gè)是時(shí)鐘分配網(wǎng)絡(luò)的偏斜

 

。由于時(shí)鐘信號驅(qū)動(dòng)系統(tǒng)中的大量元件為了達(dá)到同步必須同時(shí)接收到時(shí)鐘信號,因此它們之間的任何時(shí)間差異都將直接影響系統(tǒng)性能。小的偏斜可以忽略,但大到一定程度就會(huì)嚴(yán)重影響設(shè)計(jì)的時(shí)序,因此需要在設(shè)計(jì)中盡量減小其影響。

       輸出偏斜也叫做引腳到引腳的偏斜,它是指同一器件上同一躍遷的任何兩個(gè)輸出延時(shí)之間的差值。電子工程設(shè)計(jì)發(fā)展聯(lián)合協(xié)會(huì)(JEDEC)將輸出偏斜定義為單一器件輸出之間的偏斜,該器件的所有驅(qū)動(dòng)輸入應(yīng)連接在一起,輸出部分在同一方向切換,并驅(qū)動(dòng)相同的負(fù)載。目前,高性能時(shí)鐘緩沖器中的常見輸出偏斜約為200ps。器件到器件的偏斜也稱為封裝偏斜,被定義為在相同環(huán)境下工作的兩個(gè)或多個(gè)獨(dú)立器件的任何指定輸出之間的傳送延時(shí)之差。其中,相同的環(huán)境指的是相同的輸入信號、電源電壓、環(huán)境溫度、封裝、負(fù)載等。目前的高性能緩沖器中典型的元件到元件偏斜約為500ps。

       時(shí)序分析

       為了保證同步系統(tǒng)的正常運(yùn)行,所有的時(shí)序單元必須在給定的時(shí)鐘周期內(nèi)正常工作。如果時(shí)序單元的總和超出了可用時(shí)間限制,系統(tǒng)就會(huì)發(fā)生故障。進(jìn)行時(shí)序分析能夠確定可能會(huì)占用時(shí)鐘周期的所有因素并評估這些因素所帶來的影響,令設(shè)計(jì)者了解其設(shè)計(jì)的電路能夠以多快的速度運(yùn)行,以及當(dāng)前系統(tǒng)還有多大的寬裕度等。

       使用同步系統(tǒng)基本元件的簡化設(shè)計(jì)電路如圖1所示。寄存器FF1在時(shí)鐘的每個(gè)上升沿驅(qū)動(dòng),輸出Q1并將其作為組合邏輯電路C2的輸入信號。寄存器FF2使用與FF1相同的時(shí)鐘進(jìn)行控制。來自于組合邏輯電路C2的數(shù)據(jù)必須先于時(shí)鐘到達(dá),即需要一定的建立時(shí)間;而且必須要持續(xù)足夠的時(shí)間以便使寄存器FF2能夠獲得正確的輸出,即需要一定的保持時(shí)間。

簡單的同步系統(tǒng)

       解決時(shí)鐘偏斜的常用方法

       時(shí)鐘偏斜是不可避免的,關(guān)鍵問題是一個(gè)系統(tǒng)能夠容忍多大的時(shí)鐘偏斜。通常,可允許的時(shí)鐘偏斜是由系統(tǒng)要求和工藝參數(shù)(例如時(shí)鐘緩沖器與寄存器的延時(shí))來決定的。設(shè)計(jì)思路不同,得到的時(shí)鐘偏斜也不一樣。用標(biāo)準(zhǔn)單元方法設(shè)計(jì)的電路通常要比全定制電路的時(shí)鐘偏斜大一些。一般而言,一個(gè)系統(tǒng)中的流水線級越多,則由于時(shí)鐘偏斜導(dǎo)致功能錯(cuò)誤的可能性越大。

       在ASIC設(shè)計(jì)中,解決時(shí)鐘偏斜的方法很多。比如:按與數(shù)據(jù)流相反的方向來分布時(shí)鐘走線;控制時(shí)鐘的非交迭時(shí)間來消除時(shí)鐘偏斜;通過分析時(shí)鐘分布網(wǎng)絡(luò)來保證時(shí)鐘偏斜在合理的范圍內(nèi)等。

       上面3種方法中最好的是通過分析時(shí)鐘網(wǎng)絡(luò)來保證合理的時(shí)鐘偏斜。設(shè)計(jì)人員可以通過調(diào)整一些參數(shù)來控制時(shí)鐘分布網(wǎng)絡(luò),以達(dá)到較好的效果??烧{(diào)整的參數(shù)包括時(shí)鐘網(wǎng)絡(luò)的互連材料、時(shí)鐘分布網(wǎng)絡(luò)的形狀、時(shí)鐘驅(qū)動(dòng)和所用的緩沖配置、時(shí)鐘線上的負(fù)載(扇出)、時(shí)鐘的上升和下降時(shí)間等??傊瑫r(shí)鐘分布網(wǎng)絡(luò)的目的就是使與時(shí)鐘信號相連的功能子模塊的互連線大致等長。

       Astro工具的使用

      
Synopsys公司的Astro是在ASIC設(shè)計(jì)中流行的后端物理實(shí)現(xiàn)工具,是深亞微米芯片設(shè)計(jì)進(jìn)行設(shè)計(jì)優(yōu)化、布局、布線、計(jì)算時(shí)延的設(shè)計(jì)環(huán)境。Astro可以滿足5千萬門、GHz時(shí)鐘頻率、采用0.10um及以下工藝SOC設(shè)計(jì)的工程和技術(shù)需求,其基本流程如下:

       1. 讀入網(wǎng)表,用晶圓廠提供的標(biāo)準(zhǔn)單元庫、Pad庫以及宏模塊庫進(jìn)行映射; 
       2. 預(yù)布局,規(guī)定芯片的大致面積、引腳位置以及宏單元位置等粗略的布局信息;
       3. 讀入時(shí)序約束文件,設(shè)置好時(shí)序建立的菜單,為后面進(jìn)行時(shí)序驅(qū)動(dòng)的布局布線做準(zhǔn)備;
       4. 詳細(xì)布局,力求使布線階段能順利滿足布線布通率100%的要求和時(shí)序要求;
       5. 時(shí)鐘樹綜合,為了降低時(shí)鐘樹偏斜而產(chǎn)生由許多驅(qū)動(dòng)單元組成的時(shí)鐘樹;

    6. 布線,先對電源線和時(shí)鐘信號布線,然后對信號線布線,目標(biāo)是最大程度地滿足時(shí)序;

       7. 為滿足設(shè)計(jì)規(guī)則從而能成功制造出芯片而做的修補(bǔ)工作,如填充一些dummy單元等。

       上面7個(gè)步驟是Astro設(shè)計(jì)的基本流程,下面針對設(shè)計(jì)中的時(shí)序偏斜對第5部分時(shí)鐘樹綜合進(jìn)行重點(diǎn)分析。

       時(shí)鐘樹綜合是時(shí)序優(yōu)化處理中最重要的一步。時(shí)鐘樹綜合的目的是為了減小時(shí)鐘偏斜和傳輸延遲,通常是將最重要的時(shí)鐘放到最后來綜合,這是因?yàn)榍懊婢C合的時(shí)鐘可能會(huì)因后面插入的緩沖器而受到影響。這些緩沖器在芯片內(nèi)部應(yīng)均勻分布,力求使時(shí)鐘偏斜和傳輸延遲保持在設(shè)計(jì)范圍之內(nèi)。

       時(shí)鐘樹綜合解決時(shí)鐘偏斜的一般方法是:通過分析時(shí)鐘線路延遲,在時(shí)鐘樹中插入不同尺寸不同驅(qū)動(dòng)能力的緩沖器以改變時(shí)鐘信號到達(dá)觸發(fā)器的延時(shí),使時(shí)鐘信號能在同一時(shí)間到達(dá)各個(gè)觸發(fā)器,讓時(shí)鐘偏斜近似為零。用這種方法可以使電路盡可能不受時(shí)鐘偏斜的影響,而正確工作。時(shí)鐘樹綜合對話框和做完時(shí)鐘樹優(yōu)化后常見的時(shí)鐘樹結(jié)構(gòu)模型如圖2所示。

CTS對話框和生成的時(shí)鐘樹模型

       在進(jìn)行完時(shí)鐘樹綜合與優(yōu)化之后,可得到電路的時(shí)鐘樹偏斜報(bào)告,報(bào)告包括全局偏斜(global skew),局部偏斜(local skew)和有用偏斜(useful skew)。此時(shí)的時(shí)序應(yīng)為正,否則還要進(jìn)行繼續(xù)優(yōu)化。

       結(jié)語

      
對于復(fù)雜的同步系統(tǒng)而言,創(chuàng)建時(shí)序拓?fù)洳⑦M(jìn)行時(shí)序分析是保證ASIC設(shè)計(jì)成功的基本因素。解決時(shí)鐘偏斜的方法很多,主要目的是將時(shí)鐘偏斜的影響降到最低。其實(shí)時(shí)鐘偏斜并非總是給電路帶來負(fù)面影響,我們還可以利用它來改進(jìn)電路的時(shí)序,使電路工作在最優(yōu)性能。


參考文獻(xiàn)
1 Steve Furber. ARM SoC 體系結(jié)構(gòu)[M] . 田澤譯. 北京:北京 航空航天大學(xué)出版社,2003.
2 Synopsys.Synopsys Astro user guide, Clock Tree Synthesis and Clock Tree
3 Optimizations, V-2004.06
4 潘松,黃繼業(yè). EDA 技術(shù)實(shí)用教程,北京,科學(xué)出版社,2002
5 D. Harris, M. Horowitz, and D. Liu, “Timing analysis including clock skew,” IEEE Trans. Comput.-Aided Design, vol. 18, no. 11, Nov. 1999.
6 E. G. Friedman, Clock Distribution Networks in VLSI Circuits and Systems.New York: IEEE, 1995.

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