本文選自《UltraFast 設(shè)計方法時序收斂快捷參考指南》。由于篇幅有限,僅選取部分內(nèi)容分享。
本快捷參考指南用于根據(jù)《適用于 FPGA 和 SoC 的 UltraFast 設(shè)計方法指南》(UG949) 中的建議快速完成時序收斂:
初始設(shè)計檢查:在實現(xiàn)設(shè)計前審核資源利用率、邏輯層次和時序約束。
時序基線設(shè)定:在每個實現(xiàn)步驟后檢查并解決時序違例,從而幫助布線后收斂時序。
時序違例解決:識別建立時間違例或保持時間違例的根源,并解決時序違例。
QoR 評估報告
您可使用結(jié)果質(zhì)量 (QoR) 評估報告來快速復(fù)查設(shè)計。此報告會將關(guān)鍵設(shè)計指標(biāo)和約束指標(biāo)與準則中所述限制進行比對。與準則不符的指標(biāo)都會被標(biāo)記為 REVIEW。此報告包括下列部分:
設(shè)計特性
方法檢查
根據(jù)目標(biāo) Fmax 進行保守的邏輯層次評估
在 AMD Vivado? 工具中,您可按如下所述方式運行此報告:
report_qor_assessment
QoR 建議報告
在 Vivado 工具中,在實現(xiàn)階段會調(diào)用 report_qor_suggestions。此報告用于分析設(shè)計、提供建議,在某些情況下會自動應(yīng)用建議。
Vitis 環(huán)境中的報告
在 AMD Vitis? 環(huán)境中,在編譯流程期間使用 v++ –R 1 或 v++ –R 2 來調(diào)用 report_qor_assessment
初始設(shè)計檢查流程
提示:通過使用 Intelligent Design Run (IDR) 即可在實現(xiàn)期間自動解決大部分時序收斂難題。IDR 屬于特殊類型的實現(xiàn)運行,能夠有效利用 report_qor_suggestions、基于 ML 的策略預(yù)測以及增量編譯。欲知詳情,請參閱 UG949 中的“使用智能設(shè)計運行”。
初始設(shè)計檢查介紹
雖然在 AMD 器件上實現(xiàn)設(shè)計是一個自動化程度相當(dāng)高的任務(wù),但要實現(xiàn)更高的性能并解決因時序或布線違例所帶來的編譯問題,則是一項復(fù)雜且耗時的工作。僅根據(jù)簡單的日志消息或由工具生成的實現(xiàn)后時序報告可能難以明確失敗原因。因此有必要采用按步驟進行設(shè)計開發(fā)和編譯的方法,包括復(fù)查中間結(jié)果以確保設(shè)計能繼續(xù)執(zhí)行下一個實現(xiàn)步驟。
第一步是確保所有的初始設(shè)計檢查都已經(jīng)完成。在下列層次復(fù)查檢查結(jié)果:
由定制 RTL 構(gòu)成或者由 Vivado HLS 生成的每個內(nèi)核
注意:檢查目標(biāo)時鐘頻率約束是否現(xiàn)實。
與子系統(tǒng)逐一對應(yīng)的每個主要層級,例如有多個內(nèi)核、IP 塊和連接邏輯的 Vivado IP integrator 模塊框圖
包括所有主要功能和層級、I/O 接口、完整時鐘電路、物理約束和時序約束的完整設(shè)計
如果設(shè)計使用布局規(guī)劃約束,如超級邏輯區(qū)域 (SLR) 分配或分配給 Pblock 的邏輯,請復(fù)查每項物理約束的估算的資源利用率,確保符合資源利用率準則。運行 report_qor_assessment 時,會自動檢查 SLR 和 Pblock 違例。如未報告任何違例,則表示設(shè)計在可接受的限制范圍內(nèi)。