手機數(shù)字基帶處理芯片中的靜態(tài)時序分析
1.引言
隨著深亞微米技術的發(fā)展,數(shù)字電路的規(guī)模已經(jīng)發(fā)展到上百萬門甚至上千萬門。工藝也從幾十μm提高到65nm甚至45nm。這樣的電路規(guī)模做驗證的時間在整個芯片的開發(fā)周期所占的比例會越來越重。通常,在做驗證的時候,我們都會采用動態(tài)驗證的方法?,F(xiàn)在,用靜態(tài)驗證方法(STA Static Timing Analysis),不僅能夠完成驗證的工作,而且還能大大節(jié)省驗證所需要的時間。靜態(tài)時序分析簡稱它提供了一種針對大規(guī)模門級電路進行時序驗證的有效方法。靜態(tài)時序分析是相對于動態(tài)時序分析而言的。動態(tài)時序分析時不可能產(chǎn)生完備的測試向量,覆蓋門級網(wǎng)表中的每一條路徑。因此在動態(tài)時序分析中,無法暴露一些路徑上可能存在的時序問題;而靜態(tài)時序分析,可以方便地顯示出全部路徑的時序關系,因此逐步成為集成電路設計簽字認可的標準。
2.靜態(tài)時序分析工作原理
本文以Synopsys公司的Prime Time SI作為時序分析的工具,介紹靜態(tài)時序分析的工作原理。Prime Time把整個設計電路打散成從主要的輸入端口到電路觸發(fā)器、從觸發(fā)器到觸發(fā)器、從觸發(fā)器到主要輸出端口、從主要的輸出端口到主要的輸出端口、四種類型的時序路徑,分析不同路徑的時序信息,得到建立時間(setup time)和保持時間(hold time)的計算結果。而Prime time SI又在Prime time的基礎上加入串擾分析(Crosstalk analysis)。串擾是由兩個或者多個物理相鄰連線之間的容性交叉耦合(capacitive cross-coupling)產(chǎn)生的相互作用。隨著工藝越來越進步,在130nm或者90nm的工藝下,串擾的影響已經(jīng)變得與單元延遲和線延遲一樣重要。
2.1 時序路徑的分析
整個電路的靜態(tài)時序分析都是由時序路徑分析組成。時序路徑分析就是檢查從發(fā)射沿(lunching edge)到捕獲沿(capturing edge)的時間是否滿足設計的需要。它主要可以分為兩類:
建立時間路徑
這種路徑用于檢查信號在到達捕獲沿之前的一段穩(wěn)定時間(setup time),也就是確定從發(fā)射沿到捕獲沿的過程是否足夠快。建立路徑包括普通的數(shù)據(jù)到時鐘的建立路徑、數(shù)據(jù)到數(shù)據(jù)以及時鐘門的路徑。如果最晚的一個發(fā)射沿到最早的一個捕獲沿之間的時間滿足時序要求(沒有timing violation),才能確保這條建立路徑都滿足條件。
保持時間路徑
這種路徑用于檢查信號在到達捕獲沿之后的一段穩(wěn)定時間的(hold time),也就是確定從發(fā)射沿到捕獲沿的時間是否太短。包括普通的數(shù)據(jù)到時鐘的建立路徑、數(shù)據(jù)到數(shù)據(jù)以及時鐘門的路徑、異步信號同步化的檢查。為了正確的分析,我們檢查保持路徑時必須檢查最早的一個發(fā)射沿到最晚的一個捕獲沿之間的時間滿足時序要求。
如圖1中發(fā)射部分由所有的時鐘端口到觸發(fā)器FF2的D端口之間的單元(包括U1、U2、FF1、U4)和線組成;捕獲部分由所有的時鐘端口到觸發(fā)器FF2的時鐘端口之間的單元(U1、U3、FF2)和線組成。其中U1既屬于建立路徑又屬于保持路徑。那么,建立路徑就應該結合到FF2的D端口最慢的路徑和到其時鐘端口最快的路徑來看。保持路徑則相反,我們應該找到達FF2D端口最快的路徑和到其時鐘端口最慢的路徑。對于Setup Time驗證來說:
Slack=Required Time – Arrival Time
對于Hold Time驗證來說:
Slack= Arrival Time –Required Time
Slack為正值,表示滿足時序要求
圖1 建立/保持路徑示意圖
PT工作流程
圖2為PT的工作流程,我們可以看出靜態(tài)時序分析是一個反復進行的過程。直到結果滿足要求為止。
圖2 PT工作流程
芯片在工作時所處的環(huán)境是不同的,然而環(huán)境的不同導致芯片內(nèi)部的單元和線的延遲不同。為了使芯片在大多數(shù)環(huán)境下都能正常工作,PT中提供了三種分析模式:single、bc_wc、on_chip_variation。我們平時常用的是bc_wc模式,它把環(huán)境用工藝制程(process)、溫度(temperature)、電壓(voltage)分為以下3種情況:
1、best case:工藝制程:1;理想溫度零下40攝氏度;電壓1.32V(此芯片額定電壓為1.2V)
2、typical case:工藝制程:1;室溫環(huán)境25攝氏度;電壓1.2V
3、worst case: 工藝制程:1;125攝氏度;電壓1.08V
為了測試芯片在投片生產(chǎn)和封裝整個制造過程是否出現(xiàn)物理等方面的缺陷導致功能不正確?,F(xiàn)在的超大規(guī)模集成電路的設計中,都加入了可測性設計(DFT:Design for Test)電路。當芯片工作于測試模式時,時鐘樹的結構與功能模式完全不同。我們必須在測試模式下也要分以上3種情況做靜態(tài)時序分析。
3.靜態(tài)時序分析與門級仿真的關系
靜態(tài)時序分析也有自己的弱點,它無法驗證電路功能的正確性。值得注意的是,靜態(tài)時序分析只能有效地驗證同步時序的正確性,大部分設計中可能包含地異步電路的時序驗證,則必須通過門級仿真來保證其時序的正確性。[!--empirenews.page--]
根據(jù)以上對靜態(tài)時序分析的介紹,我們做門級仿真也應該分別仿真功能模式和測試模式下的best case、typical case、worst case三種情況,但是側重點有所不同。功能模式下,大部分電路我們只需要驗證worst case和best case就可以認為是正確的,但是在我們芯片的設計中,曾經(jīng)過出現(xiàn)worst case和best case通過而typical case仿真失敗的情況。這是因為有的電路中寄存器級數(shù)太多,時鐘偏移(clock skew)對電路的影響造成的。雖然這種情況即使在百萬門級以上的設計中也很少見,但為了提高芯片成功率,對于關鍵路徑,關鍵模塊,需要仿真3中情況。測試模式一般工作在室溫環(huán)境,它的仿真我們只需要關心typical case就可以了。
靜態(tài)時序分析工具無法驗證異步時鐘的電路。然而現(xiàn)在芯片中可能存在異步時鐘電路,如我們的TDS-CDMA數(shù)字基帶處理芯片中,就有二十幾個異步時鐘域。在PT中,所有異步時鐘域的路徑都必須被設為false_path(表示不關心該路徑)。由于RTL級功能仿真也不能發(fā)現(xiàn)異步時鐘域之間信號的錯誤,我們在門級仿真時需要特別注意異步時鐘域之間的信號的驗證。
我們還可能遇到門級仿真失敗,但是PT中并沒有報錯的情況。經(jīng)過反復試驗分析,可能會有以下幾種情況導致它們的結果不一致:
1、VCS不支持負的輸入輸出路徑延遲,但是PT是支持的。當VCS遇到負輸入輸出路徑延遲,它就自動認為它是0。這樣就導致了錯誤。
2、新版本的PT產(chǎn)生的SDF文件有關于信號沿的信息。如果我們用老版本的庫或存儲器模型沒有包含這種沿的信息,PT將會認為它是一條更長的路徑。而VCS仍然用標準的延遲來計算,就導致結果不一致??梢?,一套完善的EDA工具很復雜,不同版本之間的細微差別也可能導致我們驗證的失敗。
3、最常見的原因是`timescale不同。如果設計和SDF文件中所設的`timescale不同,那么SDF文件中的反標值可能被舍去。這就導致了靜態(tài)時序分析和動態(tài)仿真的不匹配。所以,保證RTL代碼、庫文件、存儲器模型、SDF文件中的`timescale一致非常重要。
門級仿真是芯片流片前的最后一道驗證。雖然能夠很好的反映芯片工作的真實情況,但是資源占用嚴重、時間長。只有綜合利用動態(tài)驗證和靜態(tài)驗證的優(yōu)點,才能高效準確的完成一塊芯片的設計。
4.TDS-CDMA數(shù)字基帶處理芯片中的應用
我們實驗的對象TDS-CDMA數(shù)字基帶處理芯片,是一塊規(guī)模在1000萬門以上,130nm工藝的超大規(guī)模集成電路,其中包含ARM、DSP等硬核。在門級做全功能測試需要大量的人力物力資源,是很不現(xiàn)實的。我們在實際芯片中設計中采用靜態(tài)時序的分析加門級仿真的方法。
在芯片的設計過程中,我們在幾個階段做靜態(tài)時序分析。
1)綜合之后先做一次STA。此時主要檢查:
1、電路設計的時序有沒有問題。如兩個寄存器之間有過多的組合邏輯,使電路不能運行在需要的時鐘頻率上。
2、由于綜合工具(設計中用Design Complier)的算法限制,每一次綜合出的網(wǎng)表都不同。需要反復做綜合,直到網(wǎng)表的時序達到我們的期望。用這一版網(wǎng)表再繼續(xù)往下做。
因為沒有具體的布局布線信息,此時的時序分析建立在線上負載模型(wire load model)上。線上負載模型是一種比較悲觀的模型,所以可能出現(xiàn)一些不是很嚴重的Violation。現(xiàn)階段我們不需要關心這些,它們可以在布局布線時得到解決。
2)預布局之后:
這時候,元件的大概位置關系已經(jīng)確定??梢酝ㄟ^靜態(tài)時序分析來解決布局中不合理的地方,以便修改。
3)布局布線完成后:
布局布線后可以從版圖中提取精確的器件和網(wǎng)絡延遲得到SPEF (Standard Parasitic Exchange Format ) 文件,反標到Prime Time SI中再做一次時序分析,這時可以得到基于版圖的精確的時序分析結果。
布局布線的過程中,需要不停的用STA來分析布局布線的結果。我們的芯片采用SMIC提供的0.13微米工藝的元件庫。他們提供了標準元件庫和HVT元件庫兩種。HVT元件的特點是漏電低,但是延時比較大。所以,剛開始的時候我們用HVT元件,做STA之后發(fā)現(xiàn)有的路徑不能滿足時序要求。我們再用一些標準元件來替代這些HVT元件,反復不停比較,直到所有路徑都滿足時序要求為止。這樣,既最大程度的實現(xiàn)了低功耗,也滿足了時序要求。
在完成時序分析之后,用PT SI生成SDF(standard delay format)文件反標到網(wǎng)表中做門級仿真。
此時的SDF文件不僅包含單元延遲和線延遲,也包含了版圖信息,串擾信息等。門級仿真可以得到最真實,最接近實際情況的結果。
5.結束語
靜態(tài)時序分析以它運行速度很快、占用內(nèi)存較少,可以對芯片設計進行全面的時序功能檢查,并利用時序分析的結果來優(yōu)化設計等優(yōu)點,很快地被用到數(shù)字集成電路設計的驗證中。然而門級仿真也由于它不可取代的地位在ASIC設計中仍有一席之地。結合在TDS-CDMA數(shù)字基帶處理芯片設計中的經(jīng)驗,我們可以得出這樣的結論:靜態(tài)時序分析和門級時序仿真是從不同的側重點來分析電路以保證電路的時序正確,它們是相輔相成的。現(xiàn)在,實驗中的TDS-CDMA數(shù)字基帶處理芯片已經(jīng)成功流片。
本文作者創(chuàng)新點:在實踐中尋找到一種STA和門級仿真結合的新方法。在保證流片成功率的基礎上最大程度的節(jié)省芯片驗證的時間。