孫佳佳,趙慶哲
(中國電子科技集團公司第四十七研究所,沈陽110032)
在IC設(shè)計中應用STA處理時序問題的方法
孫佳佳,趙慶哲
(中國電子科技集團公司第四十七研究所,沈陽110032)
當代數(shù)字IC的設(shè)計規(guī)模和復雜性在不斷增加,驗證工作也越來越困難,特別是靜態(tài)時序分析在此背景下變得尤為重要。目前業(yè)界普遍采用自動化的設(shè)計方式,通過應用工具軟件,來對設(shè)計時序進行分析。主要探討了在IC設(shè)計當中對于時序違例的一些處理方法。
數(shù)字IC;靜態(tài)時序分析;建立時間;保持時間
當代數(shù)字IC的設(shè)計規(guī)模和復雜性在不斷增加,設(shè)計的時序驗證已經(jīng)成為制約成品率的一個重要因素。是否能夠全面分析設(shè)計時序關(guān)系到產(chǎn)品的成敗。然而,設(shè)計過程中不可避免地會出現(xiàn)一些與要求時序相違背的情況,怎樣處理這些問題是靜態(tài)時序分析的一個重要方面。本文主要闡述了在設(shè)計中對靜態(tài)時序分析時序違例的處理方法。
在靜態(tài)時序分析中,時序分析工作主要檢查設(shè)計的建立時間和保持時間,即setup timing和hold timing。關(guān)于以上檢查目標的概念,這里就不再贅述。設(shè)計的時序違背主要體現(xiàn)在這兩個時序目標的違背。圖1是保持時間違背的情況,圖2是建立時間違背的情況。
從圖1可以知道,保持時間的違背在電路上是相鄰兩個寄存器之間的組合邏輯路徑延遲過小,導致前一個寄存器的數(shù)據(jù)在時鐘邊沿有效期的后段存入了后一個寄存器中,從而導致邏輯混亂。也即由于寄存器之間的延遲較小,導致后一個數(shù)據(jù)追趕上了前一個數(shù)據(jù),從而將前一個數(shù)據(jù)沖掉,導致邏輯錯誤。而建立時間的違背則是相鄰的兩個寄存器之間組合邏輯路徑的延遲較大,導致在時鐘上升邊沿到來的時候,有效數(shù)據(jù)還沒有到達,此時寄存器存儲的是有效數(shù)據(jù)之前的數(shù)據(jù),從而引起數(shù)據(jù)發(fā)生錯誤。這兩種時序違背的情況都會導致邏輯錯誤,是比較典型的違背情況,也是靜態(tài)時序分析的重點,關(guān)系到整個系統(tǒng)的功能正確性,因此,我們著重探討如何分析并處理這兩種時序問題。當然,對于靜態(tài)時序分析而言,其本身并不改變設(shè)計的邏輯功能,而是通過一些手段方式來檢查導致時序問題的原因并提供給后端設(shè)計者作為時序修正參考。
這是本文論述的重點。作者在實際工作中,總結(jié)出了靜態(tài)時序分析中對于時序問題的方式方法:對于保持時間的違背,其實質(zhì)是相鄰寄存器之間的組合路徑延遲不夠,因此,我們可以試著從增加組合邏輯的延遲入手來解決這個問題,常用的辦法是在邏輯路徑中插入buffer或delay元件。但是究竟插入什么元件還需視電路情況而定。對于圖1的情況,我們可以利用靜態(tài)時序分析工具軟件在c1/U36/Y(NAND2X2M)與c1/data_clr_1_reg/D(DFFRHQX8M)之間插入一個delay元件,這個元件的作用是增加相關(guān)邏輯路徑上的延遲,從而解決保持時間的問題,但是這樣做的一個不良影響就是如果加入的延遲過大,可能導致建立時間的違背或者設(shè)計規(guī)則比如最大轉(zhuǎn)換時間的違背,因此每增加一個delay,都要評估其對整體時序的影響。對于delay和buffer兩種元件,我們應當如何選擇插入路徑呢?一個基本原則就是如果保持時間的違背情況比較嚴重,可以考慮加入delay,如果不十分嚴重,可以考慮插入buffer。同時還要兼顧上下級電路的驅(qū)動能力情況。
圖1 保持時間違背情況
圖2 建立時間違背情況
對于建立時間的違背,本質(zhì)上與保持時間的情況正好相反,寄存器之間組合邏輯的延遲過大導致數(shù)據(jù)不能及時向下傳遞,因此,提出的解決辦法是減少組合邏輯的延遲。此時可以觀察電路的延遲情況,找出制約建立時間的原件,用其它延遲小的同類器件來替代本元件從而達到減少電路延遲的目的。在圖2中,觀察電路延遲,發(fā)現(xiàn)在數(shù)據(jù)路徑的末端,c1/U5/Y單元,也就是BUFFERX4的延遲為0.70ns,因此,可以減少此元件的延遲。通常,對于BUFFER器件,驅(qū)動能力越大延遲越小,因此,我們可以將BUFFERX4替換為BUFFERX12,重新進行分析,觀察分析結(jié)果。如果還是達不到要求,那么采用再增大驅(qū)動能力的方法來解決。
圖3是在實際工作中分析的某型芯片的時序分析報告,將它作為一個典型案例來講解具體的時序問題解決方法。
圖3 實際的建立時間違背情況
報告分析的是setup timing的結(jié)果,最后部分提示有-0.02納秒的時序違背,仔細觀察該報告體現(xiàn)的時序路徑,其中FE_OCP_RBC13199_uCORE_ DAreg_28_,也即INVX12的延遲為0.07納秒,其本身延遲并不大,但是下級電路的延遲有進一步縮小的空間,因此,我們用INVX16來代替INVX12,以增大驅(qū)動的方式來減少下級電路的延遲時間,修正后的報告如圖4所示。
圖4 修正后的建立時間狀況
從報告中可以看到,由于INVX12變?yōu)榱薎NVX16,因此下級電路的延遲時間由0.17納秒變?yōu)?.15納秒,整個路徑的setup timing時序滿足了既定要求。
對于hold timing的修正,也以一個例子來闡述,圖5是在實際工作中分析過的某型芯片的保持時間時序報告。
該報告提示路徑存在著-0.01納秒的時序違背情況,仔細觀察路徑,在uCORE_Pipe_5_/Y后面增加一個緩沖元件來增大路徑延遲,從而修正hold timing的違背。修正后的報告如圖6所示。
經(jīng)過修正,hold timing變?yōu)?.08納秒,滿足了時序要求。
以上是在實際工作中總結(jié)出的對時序違背的處理方式,這是一種普遍方法。在實際工作中,如果后端對電路處理比較合理,那么在時序分析的時候處理的空間就很小,這時候就需要通過修改設(shè)計結(jié)構(gòu)來改善時序。
應該注意,在修正建立時間違背的時候,由于邏輯電路延遲的減少,可能帶來保持時間的違背,因此,設(shè)計者對器件的選取應該有一個大致的印象,不要盲目選擇延遲大的器件,而是應該有目的地遵循由小到大的順序來進行,之所以這樣做是為了防止由于驅(qū)動過大而導致電流增大從而導致電遷移現(xiàn)象,這一點在深亞微米設(shè)計中尤為突出。
圖5 實際的保持時間違背情況
圖6 修正后的保持時間狀況
靜態(tài)時序分析是一個時序分析工具,它不能對設(shè)計進行改變,因此,上述方法旨在考察修正時序的切入點,而不是真正的修正設(shè)計時序。它提供了一種對設(shè)計的修改意見,反饋給P&R人員,由其來對設(shè)計進行修正,再將其修正結(jié)果回饋到靜態(tài)時序分析工具來進行分析。由于不同的工具處理時序的算法可能有差別,因此,一般要經(jīng)過反復迭代之后,最終才能得到符合要求的設(shè)計時序。
應該說,靜態(tài)時序分析不光能分析設(shè)計的時序,還能分析設(shè)計規(guī)則如最大轉(zhuǎn)換時間和電容等參數(shù),同樣是將分析結(jié)果反饋給P&R人員,修正后再反饋回來直到符合設(shè)計要求為止。
靜態(tài)時序分析要求分析人員對邏輯電路時序有一個準確的把握,能找到影響時序的關(guān)鍵點,并能對此點進行有效處理。因此,分析人員要仔細對時序報告進行觀察,找到合適的電路節(jié)點,采取有效的插入或替換方式,這樣,才能對設(shè)計的時序全方位分析,提出一個正確的修正方法,從而減少設(shè)計的迭代時間。
[1]Himanshu Bhatnagar.高級ASIC芯片綜合[M].張文俊,譯.北京:清華大學出版社,2007.
[2]Zainalabedin Navabi.Verilog數(shù)字系統(tǒng)設(shè)計[M].李廣軍,陳亦歐,李林,竇恒,等譯.北京:電子工業(yè)出版社,2007.
[3]Weste,Harris.CMOS超大規(guī)模集成電路設(shè)計[M].汪東,李振濤,李寶鋒,等譯.北京:中國電力出版社,2005.
Process Way for Tim ing Violation by STA in IC Design
SUN Jia-jia,ZHAO Qing-zhe
(The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)
With increasing in scale and complication of the digital IC design,the verification becomesmore difficulty,especially the STA is getting extremely important under this background.Now the CAD is used in the IC design to analysis timing.This papermainly discusses the solution of timing violation in IC design.
Digital IC;Static Timing Analysis;Setup timing;Hold Timing
10.3969/j.issn.1002-2279.2014.04.005
TN492
:B
:1002-2279(2014)04-0015-04
孫佳佳(1980-),女,遼寧沈陽人,工程師,主研方向:集成電路設(shè)計。
2013-12-27