加入星計劃,您可以享受以下權(quán)益:

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

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

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

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

有兩點(diǎn)需要申明:

● 筆者目前研二,只能利用科研之余推進(jìn)翻譯進(jìn)度,本書共計 588 頁,預(yù)計半年到一年內(nèi)翻譯完成吧

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

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

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

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

?

1.1 納米級設(shè)計

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

?

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

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

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

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

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

圖 1-1

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

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

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

?

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

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

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

串?dāng)_與噪聲

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

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

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

?

1.4 設(shè)計流程

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

?

1.4.1 CMOS 數(shù)字設(shè)計

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

圖 1-2

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

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

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

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

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

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

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

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

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

?

1.4.2 FPGA 設(shè)計

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

?

1.4.3 異步設(shè)計

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

?

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

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

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

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

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

?

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

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

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

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

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

?

1.7 功耗考慮

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

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

?

1.8 可靠性考慮

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

?

1.9 本書大綱

盡管表面上靜態(tài)時序分析似乎是一個非常簡單的概念,但該分析背后有很多背景知識?;靖拍畹姆秶鷱臏?zhǔn)確地表示單元延遲到計算具有最小悲觀度的最壞路徑延遲。計算單元延遲、組合邏輯塊的延時、時鐘關(guān)系、多個時鐘域和門控時鐘的概念構(gòu)成了靜態(tài)時序分析的重要基礎(chǔ),為設(shè)計編寫正確的 SDC 確實是一個挑戰(zhàn)。

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

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

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

第一章:緒論 (完)

相關(guān)推薦

電子產(chǎn)業(yè)圖譜