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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 業(yè)界動(dòng)態(tài) > 在賽靈思FPGA設(shè)計(jì)中保留可重復(fù)結(jié)果

          在賽靈思FPGA設(shè)計(jì)中保留可重復(fù)結(jié)果

          作者: 時(shí)間:2011-04-29 來源:電子產(chǎn)品世界 收藏

            滿足設(shè)計(jì)的時(shí)序要求本身已非易事,而要實(shí)現(xiàn)某項(xiàng)設(shè)計(jì)的整體時(shí)序具有完全可重復(fù)性有時(shí)候卻是不可能的任務(wù)。幸運(yùn)的是,設(shè)計(jì)人員可以借助有助于實(shí)現(xiàn)可重復(fù)時(shí)序結(jié)果的設(shè)計(jì)流程概念。影響最大的四個(gè)方面分別是 HDL 設(shè)計(jì)實(shí)踐、綜合優(yōu)化、平面布局和實(shí)施方案。

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

            就獲得可重復(fù)結(jié)果而言,資源利用和頻率要求都很高的設(shè)計(jì)是最大的挑戰(zhàn)。它們也是可重復(fù)結(jié)果流程需求最高的設(shè)計(jì)。得到可重復(fù)結(jié)果的第一步是在 HDL設(shè)計(jì)階段運(yùn)用設(shè)計(jì)合理的實(shí)踐。遵循出色的分層邊界實(shí)踐有助于保持邏輯整體性,而這在設(shè)計(jì)變更時(shí)有助于保持可重復(fù)結(jié)果。一條不錯(cuò)的規(guī)則就是把那些需要整體優(yōu)化、實(shí)施和驗(yàn)證的邏輯放在同一層級(jí)。另外需要記錄模塊的輸入和輸出。這樣就可以把時(shí)序路徑保持在模塊內(nèi)部,從而避免模塊改變時(shí)引起相互影響。最后,把所有需要放入更大 資源 (如 Block RAM 或 DSP)的邏輯全部設(shè)置在相同層級(jí)。

            邏輯電平

            從所需 QoR 結(jié)果需要太多查詢表(LUT) 邏輯電平的設(shè)計(jì)很難獲得可重復(fù)結(jié)果。LUT 延遲一般不是問題所在,而問題是 LUT 之間的路由延遲。這在設(shè)計(jì)的高性能領(lǐng)域至關(guān)重要。

            邏輯電平過多往往歸因于 i f /else結(jié)構(gòu)較大和選擇語句較長(zhǎng)。如果合適,可以采用 “ful l_case”和 “paral lel_case” Veri log 指令優(yōu)化較少邏輯的選擇語句,這種技巧一般能夠減少邏輯電平。較大的多路復(fù)用器或者解碼器可能造成路由擁塞,從而導(dǎo)致不可重復(fù)的結(jié)果。多級(jí)注冊(cè)多路復(fù)用器 / 解碼器路徑有助于解決此問題。對(duì)于加算器而言,用注冊(cè)的加算器鏈代替注冊(cè)加算器樹可以提高性能。如果加算器全部注冊(cè)的話,則鏈會(huì)比樹造成更長(zhǎng)時(shí)延。有關(guān)編碼最佳實(shí)踐的更多信息, 請(qǐng)參考賽靈思白皮書 《提高設(shè)計(jì)性能的 HDL 編碼實(shí)踐》 (WP231), http://www.xilinx.com/support/documentation/white_papers/wp231.pdf。

            復(fù)位與其他控制信號(hào)

            復(fù)位的選擇會(huì)影響到設(shè)計(jì)的性能、面積和功率。加電時(shí)電路初始化并不需要全局復(fù)位,但是它會(huì)對(duì)設(shè)計(jì)過程中能夠采用的資源類型產(chǎn)生重大影響。如果在 HDL 中存在全局復(fù)位,則無法推斷移位寄存器。一個(gè)移位寄存器產(chǎn)生的可重復(fù)結(jié)果比十個(gè)寄存器還多。

            另外,DSP 和塊 RAM 寄存器僅僅包含同步復(fù)位。如果編碼中包含異步復(fù)位,則無法使用此類寄存器,從而迫使設(shè)計(jì)中轉(zhuǎn)而使用可配置邏輯塊 (CLB)寄存器。而把寄存器放入 DSP、塊 RAM 或者同時(shí)放入二者中更容易保持相同結(jié)果。在一般邏輯中運(yùn)用同步重置可減少邏輯電平。slice 寄存器能擁有異步或同步復(fù)位。如果設(shè)計(jì)采用同步復(fù)位,那么組合邏輯就可以采用同步置位。這樣就可以降低一個(gè) LUT 的邏輯電平。

            一個(gè)控制置位包含一組獨(dú)特的時(shí)鐘、時(shí)鐘啟用、置位與復(fù)位信號(hào),而且在分布式 RAM 中還包含可寫入信號(hào)??刂浦梦恍畔⒎浅V匾?,因?yàn)榧拇嫫鞅仨毠蚕矸庋b在同一片中的同一控制置位信號(hào)。這可能影響封裝和利用率, 造成可重復(fù)結(jié)果問題。有關(guān)復(fù)位的更多信息,請(qǐng)參閱賽靈思 WP272 《復(fù)位訣竅: 考慮局部而非全局》 (http://www.xilinx.com/support/documentation/white_papers/wp272.pdf) 。有關(guān)控制置位的更多信息,請(qǐng)參閱WP309 《Spartan®-6 定向與重定向指南》 (http://www.xilinx.com/support/documentation/white_papers/wp309.pdf ) 。盡管此白皮書專用于 Spartan-6器件,但其中還包含了適用于所有 的有益通用信息。

            了解FPGA資源

            了解什么樣的 FPGA 資源可用以及何時(shí)是最佳利用時(shí)機(jī)至關(guān)重要。一般會(huì)有綜合指令來定義使用哪些資源。例如,塊 RAM 最適合深存儲(chǔ)器 (deepmemory)需求,而分布式 RAM 適用于寬總線,尤其是在局部時(shí)鐘為高速數(shù)據(jù)計(jì)時(shí)的情況下。塊 RAM 和分步式 RAM在控制信號(hào)具有較大扇區(qū)出時(shí)會(huì)出現(xiàn)某種問題。重復(fù)控制信號(hào)并且采用布局規(guī)劃技巧把塊與相同信號(hào)融合在一起有助于維持可重復(fù)結(jié)果。

            移位寄存器會(huì)降低設(shè)計(jì)的利用率,而其能夠促進(jìn)可重復(fù)性。有一些性能問題值得注意。SRL 的時(shí)鐘到輸出比觸發(fā)器的時(shí)鐘到輸出慢; 因此,最好把觸發(fā)器用作移位寄存器的最后一級(jí)。大部分綜合工具都能自動(dòng)實(shí)現(xiàn)這一點(diǎn),但是,如果涉及移位寄存器的路徑出現(xiàn)問題,則最好確認(rèn)其最后一級(jí)是否為寄存器。

            初始寄存器也存在類似問題。SRL前端設(shè)置觸發(fā)器能讓放置器有更多選以擇滿足時(shí)序要求,進(jìn)而維持結(jié)果。同樣,大部分綜合工具都能自動(dòng)實(shí)現(xiàn)這一點(diǎn),但是,如果涉及移位寄存器的路徑出現(xiàn)問題,則最好確認(rèn)其最后一級(jí)是否為寄存器。

            FPGA 有許多寄存器,從而使得流水線技術(shù)可在提高性能方面發(fā)揮重要作用。其中,重要的一點(diǎn)是禁用經(jīng)多重流水線優(yōu)化的觸發(fā)器 SRL 推論。上文引用的關(guān)于 HDL 編碼實(shí)踐的白皮書 (WP231)提供了關(guān)于塊 RAM 的更多信息。有關(guān)移位寄存器的更多信息,請(qǐng)參閱 WP271 《借助 SRL16E 節(jié)約成本》 (http://www.xi l inx.com/support/docume n t a t i o n /wh i t e _ p a p e r s /wp271.pdf ) 。

            時(shí)鐘域問題

            設(shè)計(jì)人員必須慎重正確約束跨越不相關(guān)時(shí)鐘域的路徑。相關(guān)工具會(huì)自動(dòng)關(guān)聯(lián)來自相同源時(shí)鐘 (如 DCM)的時(shí)鐘。PERIOD 約束條件也能關(guān)聯(lián)外部時(shí)鐘。不是器件內(nèi)部創(chuàng)建的無關(guān)時(shí)鐘需要特殊考慮。系統(tǒng)默認(rèn)不約束此類時(shí)鐘。如果有特殊時(shí)序考慮,設(shè)計(jì)人員必須采用FROM:TO 約束條件正確約束相關(guān)路徑。DATAPATHONLY 關(guān)鍵詞會(huì)指示相關(guān)工具在等式中不包含時(shí)鐘偏移。

            更多信息,請(qǐng)參閱 UG625 《賽靈思約束條件指南》 (http://www.xilinx.com/support/documentation/ sw_manuals/xi l inx11/cgd.pdf)或者 WP257 《何為PERIOD 約束條件?》 (http://www.xilinx.com/support/documentation/ white_papers/wp257.pdf)之中的 “異步時(shí)鐘域”章節(jié)。

            另外關(guān)鍵一點(diǎn)是確保不發(fā)生競(jìng)態(tài)狀態(tài)。從一個(gè)領(lǐng)域跨越另一個(gè)領(lǐng)域時(shí)可以采用 FIFO。否則,設(shè)計(jì)人員需要雙重同步一個(gè) (僅有一個(gè))控制信號(hào),并且在接收時(shí)鐘域利用其接收其它信號(hào)。


          上一頁(yè) 1 2 3 4 下一頁(yè)

          關(guān)鍵詞: Xilinx FPGA

          評(píng)論


          相關(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); })();