前面一篇介紹了從新建工程一直到編寫代碼進行行為仿真,這篇繼續進行介紹。
修改器件型號
新建工程時選擇過器件型號,如果新建好工程后需要修改型號,可以選擇菜單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......
。
彈出比特流文件選擇窗口,一般直接按默認值點擊確認,即可燒寫程序到板子中。