付費限定

[Verilog] STA分析 - setup / hold violation 怎麼workaround

更新 發佈閱讀 5 分鐘

前面探討完setup time / hold time violation的原因跟解法,

來更進一步探討一下現實面,

實際ic design中,

我們有可能會碰到一個狀況,

synthesis過後path出現了setup time violation 或 hold time violation,

但離tape out的時辰不遠了,

在沒辦法完全解乾淨眼前的violatoin的情況下,

要如何做仲裁,哪些是重要的不解的話可能帶來的impact又是如何?

有沒有其他的方式來做workaround?

這邊來分享一下我個人的見解供大家參考看看

對於setup time violation來說

先來複習一下傳統的STA check formula

Tcycle + Tskew >= Tclk2Q_max + Tdata_max +Tsetup

raw-image

公式意涵為

左半部為clk走到終點的速度

右半部為data最晚走到終點的速度

clk 走到終點前,data必須已經到了 則可以看到meet的timing

反之則violation


因此,有了這個感覺後來想一下,

假如我在synthesis過後setup time violation還是解不掉

會導致甚麼impact


從實際應用面來說,

以行動支持創作者!付費即可解鎖
本篇內容共 1767 字、1 則留言,僅發佈於IC面試專班你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
留言
avatar-img
留言分享你的想法!
avatar-img
數位IC設計第一品牌
145會員
29內容數
數位IC設計第一品牌 從0到1用嘴做IC 觀念大權
2025/04/23
作為designer一定經常看到spec中描述當edge出現時需要trigger電路運作, 舉個實際的例子 2 phase的handshake protocal, 以下方paper中的圖例來看. Quasi Delay-Insensitive High Speed Two-Phase Prot
Thumbnail
2025/04/23
作為designer一定經常看到spec中描述當edge出現時需要trigger電路運作, 舉個實際的例子 2 phase的handshake protocal, 以下方paper中的圖例來看. Quasi Delay-Insensitive High Speed Two-Phase Prot
Thumbnail
2024/10/02
上一篇內容提到說, hold time violation的成因是因為訊號源在clk trigger edge後太快就開始要變化成新的value, 導致reg在還沒完全把data取樣下來時他的input端口就開始震動, 可能會導致reg在抓data時出現問題,雖然預期要鎖到1但是最後卻因為in
Thumbnail
2024/10/02
上一篇內容提到說, hold time violation的成因是因為訊號源在clk trigger edge後太快就開始要變化成新的value, 導致reg在還沒完全把data取樣下來時他的input端口就開始震動, 可能會導致reg在抓data時出現問題,雖然預期要鎖到1但是最後卻因為in
Thumbnail
2024/10/01
上一篇內容提到說register取樣時需要刻意地維持訊號源的stable, 才不會讓register取樣時出現問題, 那如果我真的發生了上述的violation要怎麼處理呢? setup time violation和hold time violation的解法一致? 在這邊詳細的說明一
Thumbnail
2024/10/01
上一篇內容提到說register取樣時需要刻意地維持訊號源的stable, 才不會讓register取樣時出現問題, 那如果我真的發生了上述的violation要怎麼處理呢? setup time violation和hold time violation的解法一致? 在這邊詳細的說明一
Thumbnail
看更多