Xilinx Vivado的使用詳細介紹(2):綜合、實現、管腳分配、時鐘設定、燒寫
前面一篇介紹了從新建工程一直到編寫程式碼進行行為模擬,這篇繼續進行介紹。
修改器件型號
新建工程時選擇過器件型號,如果新建好工程後需要修改型號,可以選擇選單Tools - Project Settings
。
彈出視窗中,點選Project Device
右側的按鈕,即可選擇器件型號。
綜合(Synthesis)
綜合類似於程式設計中的編譯。
在Flow Navigator
或Flow
選單中,選擇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......
。
彈出位元流檔案選擇視窗,一般直接按預設值點選確認,即可燒寫程式到板子中。