<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > FPGA設(shè)計:時序就是全部

          FPGA設(shè)計:時序就是全部

          作者: 時間:2014-08-14 來源:網(wǎng)絡(luò) 收藏

            當(dāng)你的設(shè)計不能滿足要求時,原因也許并不明顯。解決方案不僅僅依賴于使用的實現(xiàn)工具來優(yōu)化設(shè)計從而滿足要求,也需要設(shè)計者具有明確目標(biāo)和診斷/隔離問題的能力。設(shè)計者現(xiàn)在有一些小技巧和幫助來設(shè)置時鐘;使用像Synopsys Premier一樣的工具正確地設(shè)置時序約束;然后調(diào)整參數(shù)使之滿足賽靈思設(shè)計性能的目標(biāo)。

          本文引用地址:http://www.ex-cimer.com/article/261726.htm

            會有來自不同角度的挑戰(zhàn),包括:

            ● 更好的設(shè)計計劃,例如完整的和精確的時序約束和時鐘規(guī)范

            ● 節(jié)約時間的設(shè)計技術(shù),例如為更好的性能結(jié)果,整合設(shè)計的各個部分而編寫嚴(yán)謹(jǐn)?shù)腞TL代碼,提出最高性能挑戰(zhàn),當(dāng)你之后調(diào)整設(shè)計時減少迭代運行時間

            ● 綜合和擺放以及路由時序的相關(guān)性,帶來更好的時序質(zhì)量的結(jié)果(QoR)和時序收斂

            讓我更進一步地觀察這三類中的技術(shù),檢驗如何使用它們來達到時序目的。

            第一步:更好的設(shè)計計劃

            最重要的就是確定正確且完整的設(shè)計約束。這些約束用于設(shè)計意圖以及性能的目標(biāo)和綜合工具之間的通信。設(shè)計一旦綜合完畢,這些約束和關(guān)鍵路徑信息將被自動注釋到Vivado設(shè)計套件的擺放和路由(P&R)工具中,進一步確保滿足時序。

            第二步:RTL代碼風(fēng)格和關(guān)鍵路徑調(diào)整

            為了獲得更好的時序,我們建議使用特定的代碼風(fēng)格來描述有限狀態(tài)機、RAM、數(shù)學(xué)/DSP功能、時鐘樹和移位寄存器。結(jié)果會提高時序QoR,因為綜合工具能夠推斷一個實現(xiàn)使用了FPGA原語的構(gòu)件。

            此外,這些代碼風(fēng)格讓你免于創(chuàng)建不必要的邏輯,例如可推測的鎖存器、RAM的讀/寫檢查邏輯和打包進入DSP原語的邏輯。當(dāng)需要更多這方面主題時,使用綜合工具中的核生成器就成為值得考慮的關(guān)鍵點了。

            第三步:獲得最終的時序收斂

            在綜合、擺放和路由之后能夠報告總體的時序信息。例如,軟件允許你使用TCL命令(report_timing)報告設(shè)計的具體部分。為了進一步提高時序QoR,我們建議你關(guān)聯(lián)綜合之后和P&R之后的時序結(jié)果,具體是在時序關(guān)鍵路徑上給定起點和終點的邊界。

            我們指出的方法會早早地截取時鐘和約束設(shè)置問題,同時也提供多種技術(shù)來調(diào)整和關(guān)聯(lián)你設(shè)計的時序以及擁有快速時序收斂的RTL。

          fpga相關(guān)文章:fpga是什么




          關(guān)鍵詞: FPGA Synplify 時序

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();