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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA設(shè)計(jì)開發(fā)軟件Quartus II的使用技巧之: LogicLock邏輯鎖定工具使用技巧

          FPGA設(shè)計(jì)開發(fā)軟件Quartus II的使用技巧之: LogicLock邏輯鎖定工具使用技巧

          作者: 時(shí)間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

          5.8使用技巧

          5.8.1邏輯鎖定方法學(xué)

          邏輯鎖定方法學(xué)(Methodology)內(nèi)容就是在設(shè)計(jì)時(shí)采用邏輯鎖定的基于模塊設(shè)計(jì)流程(block-baseddesignflow),來達(dá)到固定單模塊優(yōu)化的目的。這種設(shè)計(jì)方法學(xué)中第一次引入了高效團(tuán)隊(duì)合作方法:它可以讓每個(gè)單模塊設(shè)計(jì)者獨(dú)立優(yōu)化他的設(shè)計(jì),并把所用資源鎖定。

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

          這樣在合成頂層設(shè)計(jì)時(shí)就可以保持每個(gè)模塊的性能,而且它還讓邏輯模塊可重復(fù)使用,提高了資源利用率,縮短了設(shè)計(jì)周期。邏輯鎖定的基于模塊設(shè)計(jì)流程與傳統(tǒng)設(shè)計(jì)流程對(duì)比如圖5.37所示。

          圖5.37兩種設(shè)計(jì)流程比較

          5.8.2邏輯鎖定優(yōu)勢(shì)

          性能不變,而設(shè)計(jì)周期更短。使用LogicLock約束,邏輯模塊只需優(yōu)化一次。通過約束達(dá)到性能要求后,LogicLock區(qū)域的回傳機(jī)制將此性能指標(biāo)保持不變。例如,設(shè)計(jì)人員可以在設(shè)計(jì)中使用一個(gè)PCI宏函數(shù),鎖定布局和性能指標(biāo)。在設(shè)計(jì)中,加入其他邏輯模塊或者在其他區(qū)域中改變邏輯都不會(huì)影響PCI核的性能。LogicLock流程減少了完成一個(gè)工程所需的設(shè)計(jì)周期數(shù)量。

          更強(qiáng)的分層次設(shè)計(jì)流程。設(shè)計(jì)人員通過LogicLock流程,可以保持每個(gè)模塊的特性不變,通過分層次區(qū)域?qū)嵤┖芸斓剡_(dá)到性能指標(biāo)。采用LogicLock方法學(xué),設(shè)計(jì)人員或者設(shè)計(jì)團(tuán)隊(duì)可以在設(shè)計(jì)中獨(dú)立工作,完成布局布線,優(yōu)化和對(duì)每個(gè)設(shè)計(jì)模塊的驗(yàn)證。在集成階段,只需對(duì)整個(gè)系統(tǒng)進(jìn)行驗(yàn)證。布局和每個(gè)模塊的性能保持不變。

          優(yōu)化的設(shè)計(jì)重復(fù)使用流程。LogicLock約束可以由外部輸入。由于LogicLock方法允許將單個(gè)約束過的設(shè)計(jì)模塊輸入到多個(gè)設(shè)計(jì)中去,因此設(shè)計(jì)可以方便地重復(fù)使用。如圖5.38所示為工程師獨(dú)立開發(fā)的模塊在多個(gè)工程中使用的例子,模塊在每個(gè)實(shí)施中都有相同的性能。

          圖5.38LogicLock設(shè)計(jì)的重復(fù)使用

          5.8.3邏輯鎖定參數(shù)設(shè)置

          LogicLock區(qū)域參數(shù)設(shè)置在LogicLock區(qū)域中,設(shè)計(jì)人員可以控制布局。這些區(qū)域?yàn)檎嬲姆謱哟卧O(shè)計(jì)提供基本構(gòu)架,設(shè)計(jì)中改變一個(gè)模塊不會(huì)影響到區(qū)域中其他模塊的性能。表5.4所示為控制LogicLock區(qū)域行為的各種參數(shù)含義。默認(rèn)的選項(xiàng)分別是浮動(dòng)、自動(dòng)、關(guān)閉和硬區(qū)域。

          表5.4 LogicLock區(qū)域參數(shù)

          參數(shù)

          選項(xiàng)

          特征

          狀態(tài)

          浮動(dòng)、鎖定

          浮動(dòng)區(qū)允許軟件決定器件上的區(qū)域位置。鎖定區(qū)是區(qū)域中用戶定義的位置,在圖形平面配置圖上以實(shí)線邊界標(biāo)出,鎖定區(qū)必須有固定的大小

          大小

          自動(dòng)、固定

          自動(dòng)大小區(qū)允許軟件決定區(qū)域的合適大小,固定區(qū)域含有用戶定義的形狀和大小

          保留

          關(guān)閉、打開

          保留特性允許用戶定義區(qū)域中的資源能否用于沒有分配給區(qū)域的實(shí)體。如果保留打開,則只有分配給區(qū)域的項(xiàng)目才可以在區(qū)域內(nèi)布放

          執(zhí)行

          硬、軟

          軟區(qū)域有更寬松的時(shí)間約束,允許總設(shè)計(jì)的性能提高后,將一些實(shí)體置于區(qū)域之外。硬區(qū)域不允許將內(nèi)容放置在區(qū)域邊界之外

          原點(diǎn)

          平面配置圖的任一位置

          原點(diǎn)定義為L(zhǎng)ogicLock區(qū)域放置在平面配置圖上時(shí)其左上角位置

          5.8.4邏輯鎖定流程

          首先,分析整體資源利用率,如果采用的芯片容量足夠,理論上只要保證重點(diǎn)模塊的資源利用率,就能保證整體設(shè)計(jì)的性能;然后采用邏輯鎖定的基于模塊設(shè)計(jì)流程(LogicLockblock-baseddesignflow)進(jìn)行設(shè)計(jì),步驟如下。

          (1)在Quartus®中綜合單個(gè)底層模塊。

          (2)優(yōu)化重點(diǎn)模塊,進(jìn)行邏輯鎖定。

          (3)反標(biāo)(back-annotaing)。

          (4)導(dǎo)出模塊邏輯鎖定約束信息,包括原級(jí)網(wǎng)表(atomnetlist)文件(.vqm)、布局信息(placementinformation)文件(qsf)和布線信息(routinginformation)文件(.rcf)。

          (5)將這些約束文件導(dǎo)入頂層(top-level)工程中。

          (6)編譯和驗(yàn)證整個(gè)頂層設(shè)計(jì)。

          (7)編譯完成后,查看時(shí)序分析界面是否達(dá)到要求。

          以上介紹的邏輯鎖定的具體方法可以參照5.11小節(jié)。

          通過應(yīng)用一種新的設(shè)計(jì)方法學(xué)——邏輯鎖定方法學(xué)(LogicLockMethodology),采用了模塊化、團(tuán)隊(duì)化的設(shè)計(jì)流程,對(duì)重點(diǎn)模塊進(jìn)行優(yōu)化,解決了傳統(tǒng)設(shè)計(jì)流程無法解決的問題,同時(shí)對(duì)其他設(shè)計(jì)工程中類似的問題提供了可借鑒的思路。



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