靜態時序分析 (STA) 是一種透過檢查所有可能路徑是否存在時序違規,來驗證設計時序性能的方法。STA 會將設計分解為時序路徑,計算每條路徑上的訊號傳播延遲,並檢查設計內部以及輸入/輸出介面處是否存在時序約束違規。
進行時序分析的另一種方法是使用動態模擬,該方法可針對一組給定的輸入刺激向量,確定電路的完整行為。相較於動態模擬,時序分析(靜態時序分析 ,簡稱 STA)的速度要快得多,因為無需模擬電路的邏輯運算。此外,STA 的檢查也更為徹底,因為它會檢查所有時序路徑,而不僅僅是受某組測試向量觸發的邏輯條件。然而,STA 僅能檢查電路設計的時序,而無法檢查其功能性。
在執行時序分析時,STA 會先將設計分解為時序路徑。每個時序路徑由以下元素組成:
下圖顯示了一個簡單設計範例中的時序路徑:
如以下圖所示,一個組合邏輯雲可能包含多條路徑。STA 會使用最長路徑來計算最大延遲,並使用最短路徑來計算最小延遲。
STA 在進行時序分析時,也會考慮以下幾種類型的路徑:
將設計分解為一組時序路徑後,STA 工具會計算每條路徑的延遲。一條路徑的總延遲即為該路徑中所有單元與網路延遲的總和。
單元延遲是指邏輯路徑中邏輯閘從輸入到輸出的延遲量。若 SDF 檔案中未提供回溯標註的延遲資訊,工具會根據邏輯庫中針對該單元提供的延遲表來計算單元延遲。
通常,延遲表會列出延遲量與一個或多個變數(例如輸入轉換時間和輸出負載電容)之間的函數關係。工具會根據這些表格條目,計算出每個單元的延遲。
網路延遲是指在時序路徑中,從一個單元輸出端到下一個單元輸入端之間的延遲量。此延遲是由兩個單元之間互連線路的寄生電容,加上網路電阻以及驅動該網路的單元所具有的有限驅動強度所共同造成的。
接著,STA 會檢查是否違反時序約束,例如建立時間與保持時間約束:
以下範例說明 STA 如何檢查觸發器(flip-flop)的建立與保持約束:
在此範例中,假設邏輯庫中定義的觸發器具有 1.0 時間單位的最小建立時間,以及 0.0 時間單位的最小保持時間。工具中定義的時鐘週期為 10 時間單位。時間單位的大小(例如 ns 或 ps)則在邏輯庫中指定。
預設情況下,該工具假設訊號會在一個時鐘週期內傳遞通過每個資料路徑。因此,當工具執行設定檢查時,會驗證從 FF1 發送的資料能否在一個時鐘週期內抵達 FF2,且在 FF2 由下一個時鐘邊沿擷取資料之前,至少提前 1.0 時間單位抵達。若資料路徑延遲過長,系統將報告為時序違規。 針對此設定檢查,工具會考慮資料路徑上的最長可能延遲,以及 FF1 與 FF2 之間時鐘路徑上的最短可能延遲。
當工具執行保持檢查時,會驗證從 FF1 發送出的資料,其抵達 FF2 的時間不早於前一時鐘週期的擷取時鐘邊沿。此檢查可確保 FF2 輸入端已存在的資料,在擷取前一週期資料的時鐘邊沿之後,仍能保持足夠長的時間不變。 針對此保持檢查,工具會考量 FF1 與 FF2 之間資料路徑上的最短可能延遲,以及時脈路徑上的最長可能延遲。若時脈路徑存在較長延遲,便可能發生保持違規。
如果某些路徑不應依照 STA 工具預設的設定與保持行為來運作,您需要將這些路徑指定為時序例外。否則,該工具可能會錯誤地將這些路徑報告為存在時序違規。
STA 工具可能允許您指定以下類型的例外情況:
新思科技' PrimeTime 靜態時序分析 工具為時序、訊號完整性 、功耗及變異感知分析提供單一、黃金標準且值得信賴的驗收解決方案。該 新思科技 PrimeTime 套件包含:
它提供與 HSPICE® 同等精準的簽核分析,有助於在流片前精準找出問題,從而降低時程風險、確保設計完整性,並降低設計成本。
這套業界黃金標準解決方案,透過大幅提升開發進度的週轉速度,無論是大型或小型設計皆能迅速完成,同時藉由更高的可預測性與最高精準度,確保首次晶圓製程即能成功,從而提升您團隊的生產力。