加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    •  
    • 1.1 納米級設計
    •  
    • 1.2 什么是靜態(tài)時序分析?
    •  
    • 1.3 為何使用靜態(tài)時序分析?
    •  
    • 1.4 設計流程
    •  
    • 1.5 不同階段的靜態(tài)時序分析
    •  
    • 1.6 靜態(tài)時序分析的局限性
    •  
    • 1.7 功耗考慮
    •  
    • 1.8 可靠性考慮
    •  
    • 1.9 本書大綱
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

【第一章:緒論】靜態(tài)時序分析圣經翻譯計劃

2020/12/07
223
閱讀需 20 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

由于網(wǎng)上找不到此書的翻譯,因此筆者決定開坑進行對“圣經”的翻譯~!希望可以在加深對靜態(tài)時序分析的學習同時,完成這一本書的翻譯方便大家以后更好地從中學習吧。

有兩點需要申明:

● 筆者目前研二,只能利用科研之余推進翻譯進度,本書共計 588 頁,預計半年到一年內翻譯完成吧

● 筆者僅對書中原文語言進行翻譯,不會添加個人見解,但求閱讀通順吧!

本章節(jié)概述了納米級(nanometer)設計下的靜態(tài)時序仿真過程

本章節(jié)解決了如下問題:

  • 什么是靜態(tài)時序分析(static timing analysis)?噪聲(noise)與串擾(crosstalk)會帶來什么影響 ?如何使用靜態(tài)時序分析?在整個設計流程中的哪個階段會應用靜態(tài)時序分析?

?

1.1 納米級設計

半導體器件中,常使用金屬互連線來連接電路中的不同部分,從而實現(xiàn)設計。隨著工藝技術的發(fā)展,這些互連線逐漸開始影響設計的性能。對于深亞微米或者納米級別的工藝技術,互連線間的耦合效應會帶來噪聲與串擾,而這兩者都會限制設計的運行速度。雖然噪聲與串擾帶來的影響在老一代的工藝技術下是可以忽略不計的,但在如今納米級別下已經不容忽視了。因此,不論是物理設計還是設計驗證都應考慮到噪聲與串擾的影響。

?

1.2 什么是靜態(tài)時序分析?

靜態(tài)時序分析(簡稱 STA)是用來驗證數(shù)字設計時序的技術之一,另外一種驗證時序的方法是時序仿真,時序仿真可以同時驗證功能和時序。“時序分析”這個術語就是用來指代“靜態(tài)時序分析“或”時序仿真“這兩種方法之一,簡單來說,時序分析的目的就是為了解決設計中的各種時序問題。

STA 被稱為靜態(tài)的原因是其對于設計的分析是靜態(tài)地執(zhí)行的,并不依賴于施加在輸入端口上的激勵。相比之下,時序仿真則可以被視作動態(tài)地執(zhí)行對設計的分析,具體過程描述如下:施加一組激勵,觀察在這組激勵下電路行為是否符合要求,然后換一組激勵再重復以上過程,以此類推。

給定了一個設計、輸入時鐘以及外部環(huán)境,STA 的目的就是驗證這個設計是否能夠運行在預期的速度,即這個設計可以安全地運行在給定的時鐘頻率下且沒有時序違例。

圖 1-1 展示了 STA 的基本功能:

圖 1-1

上圖中 DUA 即為待分析的設計。時序檢查是指建立時間與保持時間檢查:建立時間檢查是用來保證數(shù)據(jù)可以在給定時鐘周期內到達觸發(fā)器;保持時間檢查是用來保證數(shù)據(jù)在被觸發(fā)器采樣后還能保持一定時間,即保證觸發(fā)器不要漏采數(shù)據(jù)。這些時序檢查的目的都是為了保證觸發(fā)器可以發(fā)送并且采樣到正確的數(shù)據(jù)。

STA 更重要的意義在于:整個設計只需要被分析一次,就可以對所有情況下設計中的全部路徑進行所需的時序檢查。因此,STA 是能夠被用來驗證設計時序的一種完全且詳盡的方法。

DUA 通常使用硬件描述語言,例如 VHDL 或者 Verilog HDL;外部環(huán)境,包括時鐘定義,通常使用 SDC 或等價格式進行描述;SDC 是一種時序約束的規(guī)范語言;而時序報告通常以 ASCII 格式呈現(xiàn),一般報告中會有許多列,每一列都會顯示路徑延時的一個屬性。

?

1.3 為何使用靜態(tài)時序分析?

STA 是一種可以驗證設計中所有時序要求的詳盡方法,而其他時序分析方法例如時序仿真則只能驗證到被當前激勵執(zhí)行到的那部分時序路徑?;跁r序仿真的驗證完備性取決于施加激勵的完備性。如果使用時序仿真來驗證一個千萬門級別的設計,速度將會非常慢,并且實際上也無法充分驗證。因此,想要基于時序仿真的方法來進行詳盡的時序驗證是非常困難的。

相比之下,STA 則提供了一種更快更簡單的方法去分析并檢查設計中的全部時序路徑。鑒于如今的 ASIC 設計規(guī)模已達千萬門級別,STA 已經成為了詳盡地驗證設計時序的必要方法。

串擾與噪聲

設計的功能和性能會受到噪聲的影響,引起噪聲的主要原因有:與其他信號的串擾、主要輸入端口的噪聲、電源等。由于噪聲會限制設計所能運行的最高頻率,并且也可能導致功能錯誤,因此一個設計必須保證有足夠的魯棒性,即這個設計可以在原有額定性能的基礎上抵御一定的噪聲。

基于邏輯仿真的驗證是無法處理由串擾、噪聲以及片上變化(on-chip variations)所帶來的的影響的。

本書中所描述的分析方法不僅包括了傳統(tǒng)時序分析技術,還包括了能夠驗證設計中噪聲問題的噪聲分析。

?

1.4 設計流程

本節(jié)主要介紹了本書其余部分使用的 CMOS 數(shù)字設計流程,同時也簡要說明了其在 FPGA 和異步設計中的適用性。

?

1.4.1 CMOS 數(shù)字設計

在 CMOS 數(shù)字設計流程中,STA 會在實現(xiàn)的各個階段里被使用到。圖 1-2 展示了一個基本的流程:

圖 1-2

STA 很少在 RTL 級完成,因為在這一抽象層級上,驗證設計的功能更為重要,而非時序。同樣,由于塊(block)的描述處于行為級,因此時序信息也并非都是可用的。一旦將 RTL 級的設計綜合到門級,就可以使用 STA 來驗證設計的時序。STA 也可以在執(zhí)行邏輯優(yōu)化之前運行,其目標是確定最差或關鍵的時序路徑??梢栽谶壿媰?yōu)化后重新運行 STA,以查看是否還有剩余的時序違例路徑需要優(yōu)化,或者確定關鍵路徑。

在物理設計的一開始,時鐘樹被認為是理想的,即它們具有零延遲。一旦物理設計開始并且建立了時鐘樹之后,就可以執(zhí)行 STA 來再次檢查時序。實際上,在物理設計過程中,可以在每一步都執(zhí)行 STA 以確定最差的路徑。

在物理實現(xiàn)中,邏輯單元通過金屬互連走線連接。金屬走線的寄生 RC(電阻電容)會影響通過這些走線的信號路徑延遲。在典型的納米級設計中,大部分延遲和功耗都是由互連線帶來的寄生因素所導致的。因此,對設計的任何分析都應評估互連線對性能(速度,功耗等)的影響。綜上所述,信號走線之間的耦合會導致噪聲,并且設計驗證必須考慮到噪聲對性能的影響。

在邏輯設計階段,由于沒有與布局有關的物理信息,因此可以假設互連線是理想狀態(tài)的,此階段會更關注查看導致最差路徑的邏輯。在這個階段使用的另一種技術是采用線負載模型(wireload model)來估算互連線的長度, 線負載模型會基于邏輯單元的扇出提供一個估計的 RC 值。

在完成走線的布線之前,設計實現(xiàn)工具會使用布線距離的估算值來獲得該路線的寄生 RC 值。由于布線尚未完成,因此該階段稱為全局布線(global route)階段,以將其與最終布線(final route)階段區(qū)分開來。在物理設計的全局布線階段,簡化的布線用于估計布線長度,而對布線的估計用于確定計算走線延遲所需的電阻和電容值。在此階段中,無法考慮耦合效應帶來的影響。在實際精細的布線完成后,就可以提取實際的 RC 值,并且可以分析耦合效應帶來的影響。但是,物理設計工具仍可以使用近似值來幫助縮短計算 RC 值的運行時間。

提取工具用于從布線設計中提取詳細的寄生參數(shù)(RC 值),這樣的提取工具一般具有以下選項:在迭代優(yōu)化期間以較少的運行時間和較低精確度的 RC 值來獲取寄生參數(shù),以及在最終驗證期間以較長的運行時間來提取非常精確的 RC 值。

總結一下,可以根據(jù)以下條件在門級網(wǎng)表上執(zhí)行靜態(tài)時序分析:

  1. 互連線的建模方式:理想互連線,線負載模型,具有近似 RC 值的全局布線以及具有精確 RC 值的實際布線。時鐘的建模方式:理想時鐘(零延遲)或是傳播時鐘(實際延遲)。是否考慮信號之間的耦合效應以及是否分析串擾噪聲。

圖 1-2 似乎暗示著 STA 是在實現(xiàn)步驟之外完成的,即 STA 是在綜合、邏輯優(yōu)化和物理設計步驟中的每個步驟之后完成的。實際上,這些步驟中的每一個都在其功能范圍內集成有 STA。例如,邏輯優(yōu)化步驟中的時序分析引擎可用于識別優(yōu)化器需要處理的關鍵路徑。同樣,布局工具中集成的時序分析引擎可用于在布局逐步進行過程中保持設計的時序。

?

1.4.2 FPGA 設計

STA 的基本流程在 FPGA 中仍然有效,即使 FPGA 中的布線受限于通道,提取寄生參數(shù)和執(zhí)行 STA 的機制也與 CMOS 數(shù)字設計流程相同。例如,可以在假設互連為理想狀態(tài)的情況下執(zhí)行 STA,或使用線負載模型,在時鐘樹為理想狀態(tài)或真實狀態(tài)的情況下執(zhí)行 STA,或者對寄生參數(shù)情況采用全局布線或真實布線來執(zhí)行 STA。

?

1.4.3 異步設計

STA 的原理也適用于異步設計,但在異步設計中會更加關注從一個信號到另一個信號的時序,而不是進行有可能不存在的建立時間與保持時間檢查。因此,異步設計中的時序檢查一般是點到點時序檢查或偏斜檢查。用于分析由耦合效應引起的毛刺的噪聲分析適用于任何設計,包括同步設計與異步設計。同樣,考慮到耦合響應對時序帶來影響的噪聲分析,對于異步設計也同樣有效。

?

1.5 不同階段的靜態(tài)時序分析

在邏輯級(未進行物理設計的門級),STA 可采用以下模型:

  1. 理想的互連線或者基于線負載模型的互連線帶有延遲和抖動估計值的理想時鐘

在物理設計階段,除了上述模型,STA 還可采用以下模型:

  1. 具有近似估計值的全局布線的互連線、具有近似寄生參數(shù)提取值的實際布線的互連線、具有可以簽收(signoff)精度寄生參數(shù)提取值的實際布線的互連線實際的時鐘樹包括串擾的影響或者不包括串擾的影響

?

1.6 靜態(tài)時序分析的局限性

雖然時序分析和噪聲分析在所有可能的情況下都可以很好地分析設計中的時序問題,但在最新的技術中仍然無法完全使用 STA 替代仿真, 這是因為時序驗證的某些方面還無法完全被 STA 捕獲并得到驗證。

靜態(tài)時序分析的局限性包括以下幾點:

  1. 復位順序:檢查所有觸發(fā)器在異步或同步復位后是否都復位為所需的邏輯值,這是無法使用靜態(tài)時序分析來檢查的。芯片可能不會退出復位狀態(tài)。這是因為某些聲明(例如信號的初始值)沒有被綜合,僅在仿真過程中被驗證。未知態(tài) X 的處理:STA 技術僅處理邏輯 0 和邏輯 1(或高電平 / 低電平)的邏輯域,或者是上升沿和下降沿的邏輯域。設計中的未知態(tài) X 導致不確定的值在整個設計中傳播,這也是無法使用 STA 進行檢查。即使 STA 內的噪聲分析可以分析整個設計中的毛刺,但作為納米級設計中基于仿真的時序驗證的一部分,毛刺分析和傳播的范圍也與對未知態(tài) X 的處理大為不同。PLL 設置:PLL 的配置可能未被正確加載或設置。跨異步時鐘域:STA 不檢查是否使用了正確的時鐘同步器,需要其他工具來確保在任何跨異步時鐘域的地方都有正確的時鐘同步器。IO 接口時序:可能僅根據(jù) STA 約束無法規(guī)定 IO 接口要求。例如,設計人員可能使用 SDRAM 仿真模型為 DDR 接口選擇詳細的電路級仿真。仿真是為了確??梢砸宰銐虻挠嗔孔x取和寫入存儲器,并且在必要時可以控制 DLL(如果有)來對齊信號。模擬模塊和數(shù)字模塊之間的接口:由于 STA 不處理模擬模塊,因此驗證方法需要確保這兩種類型的模塊之間的連接正確。偽路徑(false path):靜態(tài)時序分析會驗證通過邏輯路徑的時序是否滿足所有約束,如果通過邏輯路徑的時序不符合要求的規(guī)范,則標記違例。在許多情況下,即使邏輯可能永遠無法傳播通過該路徑,STA 也會將該邏輯路徑標記為時序違例路徑。當系統(tǒng)應用程序從不使用此類路徑時,或者在時序違例路徑的敏感列表中使用了互斥的條件時,可能會發(fā)生這種情況。這種時序路徑被稱為偽路徑,因為這種時序路徑實際上不會被執(zhí)行。當在設計中指定了正確的時序約束(包括偽路徑和多周期路徑約束)時,STA 結果的質量會更好。在大多數(shù)情況下,設計人員可以利用設計的固有知識并指定約束條件,以便在 STA 期間消除偽路徑。FIFO 指針不同步:當兩個預期要同步的有限狀態(tài)機實際上不同步時,STA 無法檢測到該問題。在功能仿真過程中,兩個有限狀態(tài)機可能始終保持同步變化。但是,在考慮了延遲之后,一個有限狀態(tài)機有可能與另一個就不同步了,這很可能是因為一個有限狀態(tài)機比另一個更早退出復位狀態(tài),而 STA 無法檢測到這種情況。時鐘同步邏輯:STA 無法檢測到時鐘生成邏輯與時鐘定義不匹配的問題。STA 會假設時鐘生成器將提供時鐘定義中指定的波形。對時鐘生成器邏輯的優(yōu)化可能很糟糕,比如會導致在未適當約束的路徑之一上插入較大的延遲,又或者,添加的邏輯改變了時鐘的占空比。而 STA 無法檢測到這些潛在情況中的任何一個??鐣r鐘周期的功能行為:STA 無法建?;蚍抡婵鐣r鐘周期變化的功能行為。

盡管存在諸如此類的問題,STA 依然適合被廣泛用于驗證設計的時序,而時序仿真可作為備用方法來檢查極端情況,并且能夠更簡單地驗證設計的功能正確。

?

1.7 功耗考慮

功耗是設計實現(xiàn)中的重要考慮因素,大多數(shù)設計需要在電路板和系統(tǒng)的功耗預算內運行。若需要符合標準并且考慮到芯片運行在電路板和系統(tǒng)上的熱預算,可能還會出現(xiàn)功耗方面的考慮。對總功率(total power)和待機功率(standby power)通常存在獨立的限制,待機功率限制通常適用于手持式或電池供電的設備。

在大多數(shù)實際設計中,功耗和時序通常是密不可分的。設計人員希望使用更快(或更高速度)的單元來滿足速度方面的考慮,但可能會受到功耗的限制。在選擇工藝技術和單元庫時,功耗是一個重要的考慮因素。

?

1.8 可靠性考慮

設計實現(xiàn)必須滿足可靠性要求。如 1.4.1 節(jié)中所述,金屬互連走線具有寄生 RC 值,從而限制了設計的性能。除寄生效應外,在設計金屬互連走線寬度時也應當要考慮可靠性因素。例如,高速時鐘信號需要足夠寬,以滿足諸如電遷移之類的可靠性考慮。

?

1.9 本書大綱

盡管表面上靜態(tài)時序分析似乎是一個非常簡單的概念,但該分析背后有很多背景知識。基本概念的范圍從準確地表示單元延遲到計算具有最小悲觀度的最壞路徑延遲。計算單元延遲、組合邏輯塊的延時、時鐘關系、多個時鐘域和門控時鐘的概念構成了靜態(tài)時序分析的重要基礎,為設計編寫正確的 SDC 確實是一個挑戰(zhàn)。

這本書是按照自底向上(bottom-up)的順序編寫的,即首先介紹簡單的概念,在隨后的章節(jié)中介紹更高級的主題。

  • 本書首先介紹了準確計算單元延遲(第 3 章)。估計或計算精確的互連延遲及其有效表示方法是第 4 章的主題。在第 5 章中討論如何計算由單元和互連線組成的路徑延遲。信號完整性(即信號在相鄰網(wǎng)絡上的相互影響)及其對路徑延遲的影響是第 6 章的主題。第 7 章介紹了時鐘定義和路徑例外來準確表示 DUA 的環(huán)境。第 8 章介紹了在 STA 中執(zhí)行時序檢查的詳細信息。第 9 章將討論跨各種接口的 IO 時序建模。最后,第 10 章將介紹高級時序檢查,如片上變化(on-chip variation)、時鐘門控(clock gating)檢查,電源管理和統(tǒng)計時序分析。附錄提供了 SDC(用于表示時序約束),SDF(用于表示單元和網(wǎng)絡延遲)和 SPEF(用于表示寄生參數(shù))的詳細說明。

第 7 章至第 10 章介紹的是 STA 驗證的核心,前面的章節(jié)為更好地了解 STA 打下了扎實的基礎。

第一章:緒論 (完)

相關推薦

電子產業(yè)圖譜