为了将蜂鸟E203的FPGA代码能够真正运行在 FPGA 硬件上,需要将其编译成为 bitstream 文件然后烧录到 FPGA 中去,本文介绍了两种方法进行编译和烧录:一种是make指令,另外一种就是传统的FPGA GUI界面加入文件进行编译。
make执行GUI 加载编译加入源文件综合出错实现出错生成bitstream出错烧录 flash
make执行
参考文档:https://github.com/SI-RISCV/e200_opensource/blob/master/doc/蜂鸟E203快速上手介绍.pdf
按照参考文档,进行操作如下:
- 将 e200_opensource 项目下载到本机 Linux 环境中,使用如下命令
git clone https://github.com/SI-RISCV/e200_opensource.git
- 进入到 e200_opensource 目录文件夹下面的 fpga 目录。
cd/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
- 在弹出的窗口中的对话框中选择添加/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出错
代码语言:javascript复制
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
- 在弹出的窗口中的对话框中选择添加/fpga/nucleikit/system.mcs,然后选择 OK,则开始烧写 Flash,可能会花费几十秒的时间等待。
- 一旦烧写 Flash 成功,则可以通过按开发板上的“FPGA_PROG”按键触发硬件电路使用 Flash 中的内容对 FPGA 重新进行烧录。
注意:FPGA 烧写成功之后,则可以无需再连接“FPGA JTAG 接口”的 USB 连接线。