Vivado使用技巧(3):Force Up-to-Date功能

FPGADesigner發表於2018-08-10

在Vivado使用過程中,會碰到如下情況:設計程式碼已經編寫完成,且模擬、綜合或實現中的某一步驟已經通過,不需要再修改。此時可能需要新增一些註釋程式碼,或者調整程式碼的格式,而任何修改都會導致狀態更改為“Out of date”,提示使用者更新設計。如何才能在不重新執行綜合或實現的情況下解決這個問題?


Vivado狀態檢測機制

先了解一下Vivado是如何判斷綜合/實現的執行狀態是否為Out-of-date。Vivado在讀取原始檔時會讀取該檔案的時間戳,綜合/實現執行完畢後,狀態會更新為Complete,該狀態可以在Vivado的右上角或Design Runs視窗中看到:
這裡寫圖片描述
每個綜合或實現都有一個NEEDS_REFRESH屬性,當綜合/實現完成時,該屬性為False,即不需要更新。當我們修改了設計中的原始檔,Vivado會檢測到檔案時間戳的更新,便會將該屬性置為True,同時狀態更改為“Out-of-date”,表示需要更新設計:

這裡寫圖片描述


Force Up-to-Date功能

正如前面所說,我們有時候只是加了些註釋,或修改了一些程式碼格式,並沒有做實質上的修改。這種情況下我們並不需要重新執行綜合/實現來浪費時間。此時將Out-of-date狀態強制更新為Complete即可:
這裡寫圖片描述
在需要更改狀態的綜合/實現上右鍵->Force Up-to-Date,該命令會將NEEDS_REFRESH屬性置為False,從而狀態修改為Complete,免去重新執行的麻煩。

相關文章