網(wǎng)絡(luò)課程《數(shù)字集成電路靜態(tài)時序分析基礎(chǔ)》的筆記
地址:https://www.iccollege.cn/portal/courseDetail/193.mooc
?
多周期半周期偽路徑
多周期路徑
通常對于普通路徑來說,路徑延遲是 T,但是某些情況下,中間延遲遠(yuǎn)遠(yuǎn)大于一個周期 T。
?
建立時間檢查
多周期時序約束
一個簡單的例子,對于多周期路徑,建立時間檢查邊沿會推到第三個周期
多周期時序路徑,launch path 和普通的沒有區(qū)別
而 captured path 有些不一樣,clock CLKM 的 incr 達(dá)到了 30,也就是三個周期。
?
保持時間檢查
對于 hold 來說,如果按照默認(rèn)的邊沿,所需要保持的時間就會非常長,過于嚴(yán)格,通過下面的約束可以將保持時間檢查邊沿向前移動兩個邊沿。
保持時間報告
默認(rèn)的話,clock CLKP 應(yīng)該是 20(建立時間檢查邊沿前一個),由于設(shè)置了前面的約束,變成 0 了。
如果建立時間多周期約束了 N,而保持時間 N-1 沒有設(shè)定,那么會發(fā)生什么?
時序路徑就會變化,launch path 沒有變化,主要是 capture path 變化了
clock CLKP 變成了 20,時序不滿足。
?
半周期路徑
普通路徑的觸發(fā)時鐘邊沿是一致的,對于一個是正邊沿,一個時負(fù)邊沿來說,就要使用到半周期路徑約束
如果兩個邊沿不一樣,中間組合邏輯的裕度實際上就會減少到半個周期。
?
建立時間檢查
launch path 的 clock incr 會達(dá)到 6,而 capture path 的 clock incr 依然是整個時鐘周期 12,于是中間裕度就只有半個周期了,6ns
?
保持時間檢查
會看到 launch path 和 capture path 的起點不一樣
半周期路徑中保持時間很輕松就能滿足。
?
偽路徑
有些路徑并不是真實的,或者說不可能發(fā)生的,那么就需要偽路徑告訴工具不需要進(jìn)行檢查。
偽路徑通常出現(xiàn)在異步時鐘,跨時鐘域中
偽路徑可以讓 STA 工具速度變快,將時間花在真實的路徑中。但是如果過多的使用偽路徑反而會減慢 STA 的速度。
偽路徑約束的例子
偽路徑定義應(yīng)該盡可能定義得精確
第二個約束的數(shù)量過多,第一個直接指定時鐘會更加快一些。
盡可能少使用 through,這也會增加計算量
必須確認(rèn)是真的偽路徑,例如多周期路徑就不能被設(shè)定為偽路徑。該分析的路徑就應(yīng)該施加準(zhǔn)確的時序約束,只對真正的偽路徑設(shè)定偽路徑
?