5.8??LogicLock邏輯鎖定工具使用技巧
5.8.1??邏輯鎖定方法學(xué)
邏輯鎖定方法學(xué)(LogicLock?Methodology)內(nèi)容就是在設(shè)計時采用邏輯鎖定的基于模塊設(shè)計流程(LogicLock?block-based?design?flow),來達(dá)到固定單模塊優(yōu)化的目的。這種設(shè)計方法學(xué)中第一次引入了高效團隊合作方法:它可以讓每個單模塊設(shè)計者獨立優(yōu)化他的設(shè)計,并把所用資源鎖定。
這樣在合成頂層設(shè)計時就可以保持每個模塊的性能,而且它還讓邏輯模塊可重復(fù)使用,提高了資源利用率,縮短了設(shè)計周期。邏輯鎖定的基于模塊設(shè)計流程與傳統(tǒng)設(shè)計流程對比如圖5.37所示。
圖5.37??兩種設(shè)計流程比較
5.8.2??邏輯鎖定優(yōu)勢
性能不變,而設(shè)計周期更短。使用LogicLock約束,邏輯模塊只需優(yōu)化一次。通過約束達(dá)到性能要求后,LogicLock區(qū)域的回傳機制將此性能指標(biāo)保持不變。例如,設(shè)計人員可以在設(shè)計中使用一個PCI宏函數(shù),鎖定布局和性能指標(biāo)。在設(shè)計中,加入其他邏輯模塊或者在其他區(qū)域中改變邏輯都不會影響PCI核的性能。LogicLock流程減少了完成一個工程所需的設(shè)計周期數(shù)量。
更強的分層次設(shè)計流程。設(shè)計人員通過LogicLock流程,可以保持每個模塊的特性不變,通過分層次區(qū)域?qū)嵤┖芸斓剡_(dá)到性能指標(biāo)。采用LogicLock方法學(xué),設(shè)計人員或者設(shè)計團隊可以在設(shè)計中獨立工作,完成布局布線,優(yōu)化和對每個設(shè)計模塊的驗證。在集成階段,只需對整個系統(tǒng)進行驗證。布局和每個模塊的性能保持不變。
?
優(yōu)化的設(shè)計重復(fù)使用流程。LogicLock約束可以由外部輸入。由于LogicLock方法允許將單個約束過的設(shè)計模塊輸入到多個設(shè)計中去,因此設(shè)計可以方便地重復(fù)使用。如圖5.38所示為工程師獨立開發(fā)的模塊在多個工程中使用的例子,模塊在每個實施中都有相同的性能。
圖5.38??LogicLock設(shè)計的重復(fù)使用
5.8.3??邏輯鎖定參數(shù)設(shè)置
LogicLock區(qū)域參數(shù)設(shè)置在LogicLock區(qū)域中,設(shè)計人員可以控制布局。這些區(qū)域為真正的分層次設(shè)計提供基本構(gòu)架,設(shè)計中改變一個模塊不會影響到區(qū)域中其他模塊的性能。表5.4所示為控制LogicLock區(qū)域行為的各種參數(shù)含義。默認(rèn)的選項分別是浮動、自動、關(guān)閉和硬區(qū)域。
表5.4 LogicLock區(qū)域參數(shù)
參????數(shù) |
選????項 |
特????征 |
狀態(tài) |
浮動、鎖定 |
浮動區(qū)允許Quartus?II軟件決定器件上的區(qū)域位置。鎖定區(qū)是區(qū)域中用戶定義的位置,在圖形平面配置圖上以實線邊界標(biāo)出,鎖定區(qū)必須有固定的大小 |
大小 |
自動、固定 |
自動大小區(qū)允許Quartus?II軟件決定區(qū)域的合適大小,固定區(qū)域含有用戶定義的形狀和大小 |
保留 |
關(guān)閉、打開 |
保留特性允許用戶定義區(qū)域中的資源能否用于沒有分配給區(qū)域的實體。如果保留打開,則只有分配給區(qū)域的項目才可以在區(qū)域內(nèi)布放 |
執(zhí)行 |
硬、軟 |
軟區(qū)域有更寬松的時間約束,允許總設(shè)計的性能提高后,將一些實體置于區(qū)域之外。硬區(qū)域不允許將內(nèi)容放置在區(qū)域邊界之外 |
原點 |
平面配置圖的任一位置 |
原點定義為LogicLock區(qū)域放置在平面配置圖上時其左上角位置 |
5.8.4??邏輯鎖定流程
首先,分析整體資源利用率,如果采用的FPGA芯片容量足夠,理論上只要保證重點模塊的資源利用率,就能保證整體設(shè)計的性能;然后采用邏輯鎖定的基于模塊設(shè)計流程(LogicLock?block-based?design?flow)進行設(shè)計,步驟如下。
(1)在Quartus?中綜合單個底層模塊。
(2)優(yōu)化重點模塊,進行邏輯鎖定。
(3)反標(biāo)(back-annotaing)。
(4)導(dǎo)出模塊邏輯鎖定約束信息,包括原級網(wǎng)表(atom?netlist)文件(.vqm)、布局信息(placement?information)文件(qsf)和布線信息(routing?information)文件(.rcf)。
(5)將這些約束文件導(dǎo)入頂層(top-level)工程中。
(6)編譯和驗證整個頂層設(shè)計。
(7)編譯完成后,查看時序分析界面是否達(dá)到要求。
以上介紹的邏輯鎖定的具體方法可以參照5.11小節(jié)。
通過應(yīng)用一種新的設(shè)計方法學(xué)——邏輯鎖定方法學(xué)(LogicLock?Methodology),采用了模塊化、團隊化的設(shè)計流程,對重點模塊進行優(yōu)化,解決了傳統(tǒng)設(shè)計流程無法解決的問題,同時對其他FPGA設(shè)計工程中類似的問題提供了可借鑒的思路。