当前位置:首页>Linux>FPGA RISC-V处理器Linux点亮了

FPGA RISC-V处理器Linux点亮了

  • 2026-09-10 12:19:57
FPGA RISC-V处理器Linux点亮了

5年前拿到一块FPGA开发版,一直没去折腾它。最近闲下来把它当玩具开始把玩,那就先搞一个简单的RISC-V吧,把Linux点亮。有点重操旧业的感觉,作为老工程师,就喜欢各种穷折腾。

开源是个好东西,网上到处都是各种RISC-V软核,下载了一个RISC-V软核并带有SoC集成的工程,试着简单修改下处理器ID之类的,重新综合生成bitstream文件,然后下载到FPGA上,先把流程打通。

下载RISC-V工程

从https://github.com/eugene-tarassov/vivado-risc-v.git下载RISC-V工程,核心代码为Chisel语言编写,不是verilog

git clone https://github.com/eugene-tarassov/vivado-risc-v.git

cd vivado-risc-v

make apt-install

make update-submodules

处理器VENDOR ID /IMP ID修改

修改rocket-chip/src/main/scala/rocket/CSR.scala文件

安装AMD Vivado软件

先注册然后下载,并生成基础免费版本的license,用的阿里云g9i 8核32GB云实例,硬盘需要至少80GB,保险起见租了120GB的云盘。

安装在/tools/Xilinx目录下

综合生成bitstream文件

source /tools/Xilinx/2026.1/Vivado/settings64.sh

make JOBS=$(nproc) CONFIG=rocket64b1 BOARD=nexys-a7-100t bitstream

生成的bit文件为

vivado-risc-v/workspace/rocket64b1/vivado-nexys-a7-100t-riscv/nexys-a7-100t-riscv.runs/impl_1/riscv_wrapper.bit

烧写bit文件

openfpgaloader -b nexys_a7_100 -f riscv-nexys-a7-100t.bit

连接USB串口

screen -h 10000 /dev/tty.usbserial-210292B0F11C1 115200

对了,用的本地开发机为macbook

Linux启动很慢,得10几分钟才出控制台,进入Linux console后cat /proc/cpuinfo, lscpu可以看到处理器vendorid和impid分别为0x12345678, 0x20260801。为修改后的值,说明流程跑通了。

小结

由于用的是AMD Artix™ 7 FPGA系列,逻辑资源不是很大,只能放一个in-order,5级流水,标量RISC-V处理器核心Rocket。主频只有50MHz。如果要放超标量乱序的BOOM或者多核,得升级FPGA开发板了。

最新文章

随机文章