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