網路課程《數字積體電路靜態時序分析基礎》的筆記通常對於普通路徑來說,路徑延遲是t,但是某些情況下,中間延遲遠遠大於乙個週期t。
多週期時序約束
乙個簡單的例子,對於多週期路徑,建立時間檢查邊沿會推到第三個週期
多週期時序路徑,launch path和普通的沒有區別
而captured path有些不一樣,clock clkm的incr達到了30,也就是三個週期。
對於hold來說,如果按照預設的邊沿,所需要保持的時間就會非常長,過於嚴格,通過下面的約束可以將保持時間檢查邊沿向前移動兩個邊沿。
保持時間報告
預設的話,clock clkp應該是20(建立時間檢查邊沿前乙個),由於設定了前面的約束,變成0了。
如果建立時間多週期約束了n,而保持時間n-1沒有設定,那麼會發生什麼?
時序路徑就會變化,launch path沒有變化,主要是capture path變化了
clock clkp變成了20,時序不滿足。
普通路徑的觸發時鐘邊沿是一致的,對於乙個是正邊沿,乙個時負邊沿來說,就要使用到半週期路徑約束
如果兩個邊沿不一樣,中間組合邏輯的裕度實際上就會減少到半個週期。
launch path的clock incr會達到6,而capture path的clock incr依然是整個時鐘週期12,於是中間裕度就只有半個週期了,6ns
會看到launch path和capture path的起點不一樣
半週期路徑中保持時間很輕鬆就能滿足。
有些路徑並不是真實的,或者說不可能發生的,那麼就需要偽路徑告訴工具不需要進行檢查。
偽路徑通常出現在非同步時鐘,跨時鐘域中
偽路徑可以讓sta工具速度變快,將時間花在真實的路徑中。但是如果過多的使用偽路徑反而會減慢sta的速度。
偽路徑約束的例子
偽路徑定義應該盡可能定義得精確
第二個約束的數量過多,第乙個直接指定時鐘會更加快一些。
盡可能少使用through,這也會增加計算量
必須確認是真的偽路徑,例如多週期路徑就不能被設定為偽路徑。該分析的路徑就應該施加準確的時序約束,只對真正的偽路徑設定偽路徑
數字積體電路的描述
一 三個描述領域 1.行為領域 描述乙個設計的基本功能,或者說所設計的電路應該做什麼。從概念上講,是純行為的描述,是輸入和輸出對映關係的描述。2.結構領域 描述乙個設計的邏輯結構,或者說乙個設計的抽象實現。典型的表達方式是一些抽象功能模組之間相互連線的網表。二 五個描述層次 1.系統級 是針對整個數...
數字積體電路的層次關係
一篇博文,挺喜歡它的那個層次圖,很清晰的反映了數字積體電路的層次關係 數位電路的設計,是按照層次化的方式進行的。在每乙個設計層次上,乙個複雜模組的內部細節可以被抽象化並用乙個黑盒子或模型來替代。典型的抽象層次 器件 電路 門 功能模組 系統。這點類似於軟體設計,也是採用層次化結構,乙個完整的程式由若...
讀 數字積體電路物理設計
靜態時序分析 sta貫穿設計過程的各個階段,從rtl邏輯綜合到布局 時鐘樹綜合 佈線和反標,直到tape out。每一次分析的目的都是為了檢查當前設計的結果是否滿足設計的約束條件。在做時序分析時,總延遲的期間延遲部分由時序庫提供,互連線延遲部分在每一階段是不一樣的。前者在設計中隨後者的變化而變化。即...