一張圖看懂Setup Slack

  • 2019 年 10 月 31 日
  • 筆記

時序收斂是FPGA設計都要面臨的問題。要解決時序收斂就要找到導致時序違例的根本原因。時序違例以同一時鐘域內的觸發器到觸發器的建立時間違例最為普遍,優先解決這類時序違例將加速時序收斂。

典型的同步邏輯單元時序模型如下圖所示。發送時鐘與接收時鐘為同一時鐘。圖中Tclka為時鐘到發送觸發器的延遲,Tclkb為時鐘到接收觸發器的延遲,Tco為發送觸發器時鐘到輸出延遲,Tdata為數據延遲,它包括邏輯延遲Tlogic和布線延遲Tnet,Tsu是接收觸發器所需的建立時間。

在此模型的基礎上,可確定Setup Slack,如下圖所示。Setup Slack等於數據需求時間(Data Required Time)減去數據到達時間(Data Arrival Time)。

對於前述時序模型,Setup Path Requirement為一個時鐘周期,以Tperiod表示,可得如下圖所示公式。該公式清晰地顯示了造成時序違例的「貢獻者」:Tdata、Setup Uncertainty 和Clock Skew,因為其他二者Tsu、Tco均為固定常數。進一步,Tdata可分解為Tlogic和Tnet。其中Tlogic和邏輯級數相關;而導致Tnet過大的原因則較多:可能是布線策略不合適、路徑中存在扇出較大的網線、布線擁塞、控制集較多導致驅動和負載相隔較遠等。Tlogic通常需要在綜合或者opt_design階段解決,而Tnet則要在布局布線階段解決。

結論

-優先解決內部觸發器到觸發器的時序路徑出現的時序違例

-對於這類路徑,Setup Slack等於數據需求時間(Data Required Time)減去數據到達時間(Data ArrivalTime)

-導致這類時序路徑出現時序違例的可能「貢獻者」為Tdata、Setup Uncertainty 和Clock Skew

====================

///回復「年+月」6位數字,可查看yyyy年mm月好文

例如:回復 201806 可查看2018年6月內容///