有關數據傳輸模型以及建立時間和保持時間的知識請參考下面兩篇文章:
一、時序違例的原因
時序違例的主要原因是建立時間和保持時間不滿足要求,那么什么情況下會出現建立時間和保持時間不滿足要求呢?
-
建立時間不滿足要求通常是因為組合邏輯處理時間太長!
-
保持時間不滿足要求通常是因為組合邏輯處理時間太短!
建立時間和保持時間都不滿足往往出現在異步時鍾域中!

二、時序違例的解決辦法
解決建立時間不滿足的方法有如下∶
- 加強約束,重新進行綜合,對違規的路徑進行進一步的優化,但是一般效果可能不是很明顯
- 降低時鍾的頻率,但是這個一般是在項目最初的時候決定的,這個時候很難再改變
- 拆分組合邏輯,插入寄存器,增加流水線,這個是常用的方法
- 優化布局布線,減小傳輸的延時
解決保持時間不滿足的方法有如下∶
- 增加組合邏輯的處理時間,一般就是在后端的時候插入butffer
- 減小時鍾的延時
相比建立時間,保持時間的問題一般比較好解決。
