本教程所用板子为n4ddr,另外gcc-for-riscv,board files,Nexys4DDR_Master.xdc均在链接:https://share.weiyun.com/T36ly4p5 中。
首先在win中安装vivado,https://blog.csdn.net/weixin_42693097/article/details/82780125
安装 instant soc,https://www.fpga-cores.com/instant-soc/instant-soc-installation/
编写代码,如
#include "fc_io.h"
#include "fc_system.h"
int main(void)
{
//% hw_begin
FC_IO_Clk CLK100MHZ(100); // 100 MHz
FC_IO_Out LED(16);
FC_System_Timer timer;
//% hw_end
int i=0;
int LED_value=1;
while(1)
{
timer.Sleep(1000, TU_ms);
if (LED_value>=32768)
{
LED_value=1;
}
else
{
LED_value=LED_value*2;
}
LED=LED_value;
}
}
ctrl+shift+P,并搜索build,能得到一个ctrl+shift+B的命令,点击。
此时得到三个文件:
- 包含所有 RISC-V、外设、存储器和说明的 VHDL 文件。
- 使用该系统的 VHDL 测试台,包括大多数外围设备的刺激。
- Verilog 头文件。
此时还需准备board files:将解压缩的文档里new/board_files/ 文件夹下的所有文件复制Vivado安装路径中并重启vivado:
(Linux)/opt/Xilinx/Vivado/2016.4/data/boards/board_files
(Windows) C:\Xilinx\Vivado\2016.4\data\boards\board_files打开 Vivado,[File]-[New Project…]-Select RTL Project-Select xc7a100tcsg324-1。(Flash型号S25FL128S)
-
[File]-[Add Sources…],将 vhd 文件添加到项目。此时应该不报错,然后
依次Synthesis Implementation和生成bit stream应该都能成功。生成的.bit文件在project_name \project_name.runs\impl_1\xxx.bit
把.bit文件烧进板子或者生成mcs文件烧进板子:https://wenku.baidu.com/view/0294cbb3bb4cf7ec4bfed01a.html
https://blog.csdn.net/wy517650971/article/details/56494304