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