如何快速解決隔離FPGA設(shè)計中的錯誤
通過導(dǎo)出模塊隔離問題
您可將故障模塊作為完全獨立的綜合項目導(dǎo)出,以便專門對該模塊進(jìn)行調(diào)試。導(dǎo)出過程會產(chǎn)生隔離的綜合項目,其中包含所有該模塊的源文件、語言標(biāo)準(zhǔn)和編譯庫,以及所含文件的目錄路徑和路徑順序,以達(dá)到對該模塊進(jìn)行單獨綜合與調(diào)試的目的。如前一節(jié)所示,出現(xiàn)錯誤的模塊會自動在設(shè)計數(shù)據(jù)庫中標(biāo)出錯誤屬性,并在設(shè)計原理圖中突出顯示,便于對該模塊進(jìn)行查找和提取。
為了導(dǎo)出模塊及其所有相關(guān)源文件進(jìn)行隔離調(diào)試,應(yīng)首先在Synplify Pro/Premier軟件GUI中(圖4)的設(shè)計分級視圖或RTL視圖中選擇設(shè)計模塊或?qū)嵗缓簏c擊右鍵并在彈出菜單中選擇“Generate Dependent File List”。
將每個分級模塊的錯誤進(jìn)行修復(fù)后,您可將其再集成到設(shè)計中,既可作為RTL在整個設(shè)計環(huán)境中重新綜合(自上而下的綜合流程),也可作為網(wǎng)表(自下而上的流程)進(jìn)行綜合(見圖5)。
要滿足時序要求就不可避免地要用到設(shè)計分級,這可能會帶來挑戰(zhàn)。層級界限可能會限制性能,除非為設(shè)計的每個層級分區(qū)建立時序預(yù)算。使用RTL分區(qū)(也稱為手動鎖定編譯點)時,一些工具能自動設(shè)置時序預(yù)算。Synplify Pro/Premier軟件還能提供自動編譯點,能創(chuàng)建自動分區(qū),比方說通過多處理加速運行速度。預(yù)算功能為每個RTL分區(qū)建立接口邏輯模型(ILM),這樣軟件就能知道如何滿足每個分區(qū)的時序目標(biāo)。這樣,您可為每個編譯點指定一個約束文件,從而覆蓋手動鎖定編譯點自動時序預(yù)算。
Synopsy近期進(jìn)行的全球用戶調(diào)查發(fā)現(xiàn),59%的設(shè)計人員認(rèn)為“設(shè)計規(guī)范的正確性”是最重要的設(shè)計挑戰(zhàn)之一。這個挑戰(zhàn)會造成設(shè)計延期,最壞情況下可能導(dǎo)致設(shè)計失敗。設(shè)計工具必須能盡早捕捉到錯誤,并就設(shè)計工作提供更高的可視化,確保設(shè)計規(guī)范得到有效驗證和修復(fù)。這些工具還必須就提出的設(shè)計修復(fù)方案提供反饋途徑。
評論