1. 程式人生 > >Xilinx Vivado的使用詳細介紹(2):綜合、實現、管腳分配、時鐘設定、燒寫

Xilinx Vivado的使用詳細介紹(2):綜合、實現、管腳分配、時鐘設定、燒寫

前面一篇介紹了從新建工程一直到編寫程式碼進行行為模擬,這篇繼續進行介紹。

修改器件型號

新建工程時選擇過器件型號,如果新建好工程後需要修改型號,可以選擇選單Tools - Project Settings

彈出視窗中,點選Project Device右側的按鈕,即可選擇器件型號。

綜合(Synthesis)

綜合類似於程式設計中的編譯。

Flow NavigatorFlow選單中,選擇Synthesis - Run Synthesis;或點選工具欄中的三角形按鈕如圖,即可開始對設計檔案進行綜合。

綜合以及後面的實現等操作,耗時較長,可以在底部的Design Runs

視窗檢視進度。

如果沒有找到這個視窗,在選單中選擇Window - Design Runs即可開啟。

綜合完成後,會彈出如下視窗。如果選擇第一項並點選OK,就會啟動下一步的實現。為了方便學習,這裡我們直接點選Cancel

實現(Implementation)

綜合完成後,需要進行實現,操作如圖。

實現完成後,同樣會出現一個視窗如下。選擇第一項可以開啟下一步的IO口設定介面,選擇第一項可以啟動後面要說的生成位元流操作。同樣,這裡還是點選Cancel關閉。

IO口配置(I/O Planning)/編輯約束檔案(Edit Constraints Sets)

做好的模組,在燒寫進板子之前,需要設定輸入輸出訊號與板子上IO口的對應關係。

IO口設定有兩種方法,第一種是直接建立並編輯約束檔案,第二種是在圖形介面進行設定。

編輯約束檔案

如果對約束檔案的格式有了解,IO口的配置,可以直接通過手動編輯約束檔案實現。右擊資料夾或空白處,選擇Edit Constraints Sets

在彈出視窗中新增約束檔案,點選OK

開啟檔案按格式進行編輯即可。

圖形介面配置管腳

在實現完成後,Open Implemented Design選項從灰色變成可點選狀態。

點選Open Implemented Design,即可開啟Implemented Design視窗。

I/O Ports視窗展開管腳,對於每個輸入輸出訊號,在Site

欄選擇對應的管腳,注意確保Fixed欄處於勾選狀態,I/O Std常選擇LVCMOS33

設定好後,Implemented Design視窗標題欄會顯示一個*號,表示設定發生了更改。

Ctrl+S快捷鍵儲存設定,會彈出視窗如圖,提示儲存constraints檔案會導致綜合與實現過期。也就是說,修改了管腳分配設定後,需要重新進行綜合、實現操作。這裡點選OK

彈出視窗,選擇Create a new file並輸入檔名,點選OK。

此時test.xdc約束檔案已經自動被建立並編輯,可以開啟檢視。

時鐘訊號

很多電路需要有時鐘訊號進行驅動,通常在開發板上都有一個外部時鐘訊號輸入。例如在Basys3開發板中,從電路圖可以看出,W5管腳外接了一個100MHz的時鐘。因此可以設定100MHz時鐘輸入訊號clk對應管腳W5。

如果需要的時鐘頻率不是100MHz,可以自行編寫分頻器取得需要的頻率,或者配置IP核中的時鐘Clocking Wizard來實現。IP核的具體使用方法將在後面再進行介紹。

重新進行綜合與實現

IO口設定進行了修改,需要重新綜合與實現。

生成位元流

生成位元流檔案,這個檔案會被直接燒寫進板子。類似於程式設計中的二進位制可執行檔案。

錯誤處理

由於程式編寫問題、管腳分配問題,生成位元流檔案容易發生錯誤。

Message視窗可以看到發生錯誤的原因。

右擊選擇Search for Answer Record可以在論壇搜尋這個問題,尋找解決方法。

燒寫程式

選擇Program and Debug - Open Hardware Manager

Hardware Manager視窗即被開啟。

用USB連線開發板。如果之前連線過開發板,直接點選上方綠色欄的Open recent target即可開啟;如果是第一次連線開發板,則點選Open a new hardware target

點選Next

還是點選Next

顯示下面視窗,稍後即可開啟硬體裝置。

由於手頭暫時沒有開發板,後面的步驟就不截圖先簡單說一下。有了板子再截圖補上。

開啟裝置後,就會在Hardware視窗顯示。右擊裝置並選擇Program......

彈出位元流檔案選擇視窗,一般直接按預設值點選確認,即可燒寫程式到板子中。