手機數字基帶處理晶片中的靜態時序分析

Augusdi發表於2018-09-20

1.引言

  隨著深亞微米技術的發展,數位電路的規模已經發展到上百萬門甚至上千萬門。工藝也從幾十um提高到65nm甚至45nm。這樣的電路規模做驗證的時間在整個晶片的開發週期所佔的比例會越來越重。通常,在做驗證的時候,我們都會採用動態驗證的方法。現在,用靜態驗證方法(STA Static Timing Analysis),不僅能夠完成驗證的工作,而且還能大大節省驗證所需要的時間。靜態時序分析簡稱它提供了一種針對大規模門級電路進行時序驗證的有效方法。靜態時序分析是相對於動態時序分析而言的。動態時序分析時不可能產生完備的測試向量,覆蓋門級網表中的每一條路徑。因此在動態時序分析中,無法暴露一些路徑上可能存在的時序問題;而靜態時序分析,可以方便地顯示出全部路徑的時序關係,因此逐步成為積體電路設計簽字認可的標準。

  2.靜態時序分析工作原理

  本文以Synopsys公司的Prime Time SI作為時序分析的工具,介紹靜態時序分析的工作原理。Prime Time把整個設計電路打散成從主要的輸入埠到電路觸發器、從觸發器到觸發器、從觸發器到主要輸出埠、從主要的輸出埠到主要的輸出埠、四種型別的時序路徑,分析不同路徑的時序資訊,得到建立時間(setup time)和保持時間(hold time)的計算結果。而Prime time SI又在Prime time的基礎上加入串擾分析(Crosstalk analysis)。串擾是由兩個或者多個物理相鄰連線之間的容性交叉耦合(capacitive cross-coupling)產生的相互作用。隨著工藝越來越進步,在130nm或者90nm的工藝下,串擾的影響已經變得與單元延遲和線延遲一樣重要。

  2.1 時序路徑的分析

  整個電路的靜態時序分析都是由時序路徑分析組成。時序路徑分析就是檢查從發射沿(lunching edge)到捕獲沿(capturing edge)的時間是否滿足設計的需要。它主要可以分為兩類:

立時間路徑

  這種路徑用於檢查訊號在到達捕獲沿之前的一段穩定時間(setup time),也就是確定從發射沿到捕獲沿的過程是否足夠快。建立路徑包括普通的資料到時鐘的建立路徑、資料到資料以及時鐘門的路徑。如果最晚的一個發射沿到最早的一個捕獲沿之間的時間滿足時序要求(沒有timing violation),才能確保這條建立路徑都滿足條件。

  保持時間路徑

  這種路徑用於檢查訊號在到達捕獲沿之後的一段穩定時間的(hold time),也就是確定從發射沿到捕獲沿的時間是否太短。包括普通的資料到時鐘的建立路徑、資料到資料以及時鐘門的路徑、非同步訊號同步化的檢查。為了正確的分析,我們檢查保持路徑時必須檢查最早的一個發射沿到最晚的一個捕獲沿之間的時間滿足時序要求。

  

  圖1 建立/保持路徑示意圖

  如圖1中發射部分由所有的時鐘埠到觸發器FF2的D埠之間的單元(包括U1、U2、FF1、U4)和線組成;捕獲部分由所有的時鐘埠到觸發器FF2 的時鐘埠之間的單元(U1、U3、FF2)和線組成。其中U1既屬於建立路徑又屬於保持路徑。那麼,建立路徑就應該結合到FF2的D埠最慢的路徑和到其時鐘埠最快的路徑來看。保持路徑則相反,我們應該找到達FF2D埠最快的路徑和到其時鐘埠最慢的路徑。對於Setup Time驗證來說:

  Slack=Required Time – Arrival Time

  對於Hold Time驗證來說:

  Slack= Arrival Time –Required Time

  Slack為正值,表示滿足時序要求

  PT工作流程

  

圖2 PT工作流程

  圖2為PT的工作流程,我們可以看出靜態時序分析是一個反覆進行的過程。直到結果滿足要求為止。

  晶片在工作時所處的環境是不同的,然而環境的不同導致晶片內部的單元和線的延遲不同。為了使晶片在大多數環境下都能正常工作,PT中提供了三種分析模式:single、bc_wc、on_chip_variation。我們平時常用的是bc_wc模式,它把環境用工藝製程(process)、溫度(temperature)、電壓(voltage)分為以下3種情況:

  1、best case:工藝製程:1;理想溫度零下40攝氏度;電壓1 .32V(此晶片額定電壓為1.2V)

  2、typical case:工藝製程:1;室溫環境25攝氏度;電壓1.2V

  3、worst case: 工藝製程:1;125攝氏度;電壓1.08v

  為了測試晶片在投片生產和封裝整個製造過程是否出現物理等方面的缺陷導致功能不正確。現在的超大規模積體電路的設計中,都加入了可測性設計(DFT:Design for Test)電路。當晶片工作於測試模式時,時鐘樹的結構與功能模式完全不同。我們必須在測試模式下也要分以上3種情況做靜態時序分析。

  3.靜態時序分析與門級模擬的關係

  靜態時序分析也有自己的弱點,它無法驗證電路功能的正確性。值得注意的是,靜態時序分析只能有效地驗證同步時序的正確性,大部分設計中可能包含地非同步電路的時序驗證,則必須通過門級模擬來保證其時序的正確性。

  根據以上對靜態時序分析的介紹,我們做門級模擬也應該分別模擬功能模式和測試模式下的best case、typical case、worst case三種情況,但是側重點有所不同。功能模式下,大部分電路我們只需要驗證worst case和best case就可以認為是正確的,但是在我們晶片的設計中,曾經過出現worst case和best case通過而typical case模擬失敗的情況。這是因為有的電路中暫存器級數太多,時鐘偏移(clock skew)對電路的影響造成的。雖然這種情況即使在百萬門級以上的設計中也很少見,但為了提高晶片成功率,對於關鍵路徑,關鍵模組,需要模擬3中情況。測試模式一般工作在室溫環境,它的模擬我們只需要關心typical case就可以了。

靜態時序分析工具無法驗證非同步時鐘的電路。然而現在晶片中可能存在非同步時鐘電路,如我們的TDS-CDMA數字基帶處理晶片中,就有二十幾個非同步時鐘域。在PT中,所有非同步時鐘域的路徑都必須被設為false_path(表示不關心該路徑)。由於RTL級功能模擬也不能發現非同步時鐘域之間訊號的錯誤,我們在門級模擬時需要特別注意非同步時鐘域之間的訊號的驗證。

  我們還可能遇到門級模擬失敗,但是PT中並沒有報錯的情況。經過反覆試驗分析,可能會有以下幾種情況導致它們的結果不一致:

  1、VCS不支援負的輸入輸出路徑延遲,但是PT是支援的。當VCS遇到負輸入輸出路徑延遲,它就自動認為它是0。這樣就導致了錯誤

  2、新版本的PT產生的SDF檔案有關於訊號沿的資訊。如果我們用老版本的庫或儲存器模型沒有包含這種沿的資訊,PT將會認為它是一條更長的路徑。而 VCS仍然用標準的延遲來計算,就導致結果不一致。可見,一套完善的EDA工具很複雜,不同版本之間的細微差別也可能導致我們驗證的失敗。

  3、最常見的原因是`timescale不同。如果設計和SDF檔案中所設的`timescale不同,那麼SDF檔案中的反標值可能被捨去。這就導致了靜態時序分析和動態模擬的不匹配。所以,保證RTL程式碼、庫檔案、儲存器模型、SDF檔案中的`timescale一致非常重要。

  門級模擬是晶片流片前的最後一道驗證。雖然能夠很好的反映晶片工作的真實情況,但是資源佔用嚴重、時間長。只有綜合利用動態驗證和靜態驗證的優點,才能高效準確的完成一塊晶片的設計。

  4.TDS-CDMA數字基帶處理晶片中的應用

  我們實驗的物件TDS-CDMA數字基帶處理晶片,是一塊規模在1000萬門以上,130nm工藝的超大規模積體電路,其中包含ARM、DSP等硬核。在門級做全功能測試需要大量的人力物力資源,是很不現實的。我們在實際晶片中設計中採用靜態時序的分析加門級模擬的方法。

 

在晶片的設計過程中,我們在幾個階段做靜態時序分析。

  1)綜合之後先做一次STA。此時主要檢查:

  1、電路設計的時序有沒有問題。如兩個暫存器之間有過多的組合邏輯,使電路不能執行在需要的時脈頻率上。

  2、由於綜合工具(設計中用Design Complier)的演算法限制,每一次綜合出的網表都不同。需要反覆做綜合,直到網表的時序達到我們的期望。用這一版網表再繼續往下做。

  因為沒有具體的佈局佈線資訊,此時的時序分析建立線上上負載模型(wire load model)上。線上負載模型是一種比較悲觀的模型,所以可能出現一些不是很嚴重的Violation。現階段我們不需要關心這些,它們可以在佈局佈線時得到解決。

  2)預佈局之後:

  這時候,元件的大概位置關係已經確定。可以通過靜態時序分析來解決佈局中不合理的地方,以便修改。

  3)佈局佈線完成後

  佈局佈線後可以從版圖中提取精確的器件和網路延遲得到SPEF (Standard Parasitic Exchange Format ) 檔案,反標到Prime Time SI中再做一次時序分析,這時可以得到基於版圖的精確的時序分析結果。

  佈局佈線的過程中,需要不停的用STA來分析佈局佈線的結果。我們的晶片採用SMIC提供的0.13微米工藝的元件庫。他們提供了標準元件庫和HVT元件庫兩種。HVT元件的特點是漏電低,但是延時比較大。所以,剛開始的時候我們用HVT元件,做STA之後發現有的路徑不能滿足時序要求。我們再用一些標準元件來替代這些HVT元件,反覆不停比較,直到所有路徑都滿足時序要求為止。這樣,既最大程度的實現了低功耗,也滿足了時序要求。

  在完成時序分析之後,用PT SI生成SDF(standard delay format)檔案反標到網表中做門級模擬。

 

  此時的SDF檔案不僅包含單元延遲和線延遲,也包含了版圖資訊,串擾資訊等。門級模擬可以得到最真實,最接近實際情況的結果。

  5.結束語

  靜態時序分析以它執行速度很快、佔用記憶體較少,可以對晶片設計進行全面的時序功能檢查,並利用時序分析的結果來優化設計等優點,很快地被用到數字積體電路設計的驗證中。然而門級模擬也由於它不可取代的地位在ASIC設計中仍有一席之地。結合在TDS-CDMA數字基帶處理晶片設計中的經驗,我們可以得出這樣的結論:靜態時序分析和門級時序模擬是從不同的側重點來分析電路以保證電路的時序正確,它們是相輔相成的。現在,實驗中的TDS-CDMA數字基帶處理晶片已經成功流片。

相關文章