解決時序違例就看這篇文檔
- 2019 年 10 月 31 日
- 筆記
上期內容:深度解析ug1292(10)
針對時序收斂,Xilinx提供了一套完備的方法學,也就是基準線設計流程,這使得時序收斂變得有章可循,而不再是盲目嘗試。同時,藉助Vivado強大的分析處理能力、可視化功能和互動式功能,設計者可進一步加速時序收斂的進程。
本質上,時序收斂要解決的是如下圖所示的公式。在這個公式中,一旦晶片規格確定,Tco和Tsu是固定的,用戶能改變的是其餘三個值。針對這三個值,從FPGA設計角度而言,優化Tdata的可能性會更大一些。

Tdata由兩部分構成Tlogic和Tnet,前者為邏輯延遲,後者為布線延遲。邏輯延遲主要跟邏輯級數相關,顯然,過高的邏輯級數會導致邏輯延遲增大。因此,在設計之初就要對邏輯級數有所評估。由此可見,降低邏輯延遲很大程度上需要在HDL程式碼層面優化,或者藉助Vivado提供的綜合選項以及綜合技術。導致布線延遲過大的因素比較多,例如邏輯級數過大,路徑中的某個net的扇出過大,或者工具優先對關鍵路徑布線而使得某些路徑的發送端和接收端相距太遠等。針對這些問題,ug1292給出了明確的解決方法。
深度解析ug1292:
- 時序收斂好文檔ug1292:概述
- 深度解析ug1292(1):初始設計檢查
- 深度解析ug1292(2):時序收斂基準線流程
- 深度解析ug1292(3):建立時間違例分析流程
- 深度解析ug1292(4):保持時間違例分析流程
- 深度解析ug1292(5):降低邏輯延遲
- 深度解析ug1292(6):降低布線延遲(1)
- 深度解析ug1292(7):降低布線延遲(2)
- 深度解析ug1292(8):降低Clock Skew
- 深度解析ug1292(9):降低Clock Uncertainty
- 深度解析ug1292(10):用好report_failpast
如果文章對你有收穫,歡迎轉發讚賞~