FPGA設計:時序就是全部
當你的FPGA設計不能滿足時序要求時,原因也許并不明顯。解決方案不僅僅依賴于使用FPGA的實現(xiàn)工具來優(yōu)化設計從而滿足時序要求,也需要設計者具有明確目標和診斷/隔離時序問題的能力。設計者現(xiàn)在有一些小技巧和幫助來設置時鐘;使用像Synopsys Synplify Premier一樣的工具正確地設置時序約束;然后調(diào)整參數(shù)使之滿足賽靈思FPGA設計性能的目標。
本文引用地址:http://m.butianyuan.cn/article/261726.htm會有來自不同角度的挑戰(zhàn),包括:
● 更好的設計計劃,例如完整的和精確的時序約束和時鐘規(guī)范
● 節(jié)約時間的設計技術,例如為更好的性能結果,整合設計的各個部分而編寫嚴謹?shù)腞TL代碼,提出最高性能挑戰(zhàn),當你之后調(diào)整設計時減少迭代運行時間
● 綜合和擺放以及路由時序的相關性,帶來更好的時序質(zhì)量的結果(QoR)和時序收斂
讓我更進一步地觀察這三類中的技術,檢驗如何使用它們來達到時序目的。
第一步:更好的設計計劃
最重要的就是確定正確且完整的設計約束。這些約束用于設計意圖以及性能的目標和綜合工具之間的通信。設計一旦綜合完畢,這些約束和關鍵路徑信息將被自動注釋到Vivado設計套件的擺放和路由(P&R)工具中,進一步確保滿足時序。
第二步:RTL代碼風格和關鍵路徑調(diào)整
為了獲得更好的時序,我們建議使用特定的代碼風格來描述有限狀態(tài)機、RAM、數(shù)學/DSP功能、時鐘樹和移位寄存器。結果會提高時序QoR,因為綜合工具能夠推斷一個實現(xiàn)使用了FPGA原語的構件。
此外,這些代碼風格讓你免于創(chuàng)建不必要的邏輯,例如可推測的鎖存器、RAM的讀/寫檢查邏輯和打包進入DSP原語的邏輯。當需要更多這方面主題時,使用綜合工具中的核生成器就成為值得考慮的關鍵點了。
第三步:獲得最終的時序收斂
在綜合、擺放和路由之后能夠報告總體的時序信息。例如,Synplify軟件允許你使用TCL命令(report_timing)報告設計的具體部分。為了進一步提高時序QoR,我們建議你關聯(lián)綜合之后和P&R之后的時序結果,具體是在時序關鍵路徑上給定起點和終點的邊界。
我們指出的方法會早早地截取時鐘和約束設置問題,同時也提供多種技術來調(diào)整和關聯(lián)你設計的時序以及擁有快速時序收斂的RTL。
fpga相關文章:fpga是什么
評論