為了將蜂鳥E203的FPGA代碼能夠真正運行在 FPGA 硬件上,需要將其編譯成為 bitstream 文件然后燒錄到 FPGA 中去,本文介紹了兩種方法進行編譯和燒錄:一種是make指令,另外一種就是傳統的FPGA GUI界面加入文件進行編譯。
make執行
參考文檔:https://github.com/SI-RISCV/e200_opensource/blob/master/doc/蜂鳥E203快速上手介紹.pdf
按照參考文檔,進行操作如下:
- 將 e200_opensource 項目下載到本機 Linux 環境中,使用如下命令
- 進入到 e200_opensource 目錄文件夾下面的 fpga 目錄。
cd <your_e200_dir>/fpga
- 設置需要編譯的 Core 的具體型號
一定要指定FPGA_NAME,否則器件類型不一樣,導致編譯出錯
make install CORE=e203 FPGA_NAME=nucleikit
- 生成 bitstream 文件
make bit FPGA_NAME=nucleikit
- 生成 mcs 文件
make mcs FPGA_NAME=nucleikit
- 燒錄flash
這一步對於 FPGA 工程師應該輕車熟路了,老鳥可以略過。
-
打開 Vivado 軟件。
-
打開 Hardware Manager, 會自動連接 FPGA 開發板(如果前提步驟 1 操作正確)。
-
右鍵 FPGA Device,選擇“Add Configuration Memory Device”。
-
選擇如下參數的 Flash。
Part n25q128-3.3v
Manufacturer Micron
Family n25q
Type spi
Density 128
Width x1 x2 x4
-
彈出“Do you want to program the configuration memory device now?”,選擇 OK
-
在彈出的窗口中的
對話框中選擇添加<your_e200_dir>/fpga/nucleikit/system.mcs,然后選擇 OK,則開始燒寫 Flash,可能會花費幾十秒的時間等待。 -
一旦燒寫 Flash 成功,則可以通過按開發板上的“FPGA_PROG”按鍵觸發硬件電路使用 Flash 中的內容對 FPGA 重新進行燒錄。
注意: FPGA 燒寫成功之后,則可以無需再連接“FPGA JTAG 接口”的 USB 連接線。
GUI 加載編譯
加入源文件
- 加入verilog文件
- nucleikit里面的src路徑
- 加入IP
升級IP
- 加入約束文件xdc
綜合出錯
沒有e203_define.v文件
選擇verilog header
實現出錯
實現時候報錯,需要在xdc中加入
生成bitstream出錯
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
set_property SEVERITY {Warning} [get_drc_checks RTSTAT-1]
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]

加入bitstream.tcl

成功生成bit

## 燒錄 flash
>這一步與上面燒寫 flash 一模一樣。
- 打開 Vivado 軟件。
- 打開 Hardware Manager, 會自動連接 FPGA 開發板(如果前提步驟 1 操作正確)。
- 右鍵 FPGA Device,選擇“Add Configuration Memory Device”。
- 選擇如下參數的 Flash。
>Part n25q128-3.3v
Manufacturer Micron
Family n25q
Type spi
Density 128
Width x1 x2 x4
- 彈出“Do you want to program the configuration memory device now?”,選擇 OK
- 在彈出的窗口中的<Configuration file>對話框中選擇添加<your_e200_dir>/fpga/nucleikit/system.mcs,然后選擇 OK,則開始燒寫 Flash,可能會花費幾十秒的時間等待。
- 一旦燒寫 Flash 成功,則可以通過按開發板上的“FPGA_PROG”按鍵觸發硬件電路使用 Flash 中的內容對 FPGA 重新進行燒錄。
注意: FPGA 燒寫成功之后,則可以無需再連接“FPGA JTAG 接口”的 USB 連接線。