# MAX_RISCV **Repository Path**: sunxiang_git/max_-riscv ## Basic Information - **Project Name**: MAX_RISCV - **Description**: MAX_RISCV 致力于让 RISC-V + FPGA 开发“零门槛”,最大程度减轻初学者的学习负担 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2026-04-16 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README MAX_RISCV 开源项目说明 > 专为零基础初学者设计,基于 PicoRV32 软核 + RV32I 架构,全程无任何IP核,所有文件均为纯.v源码,兼容性拉满!全程围绕“零门槛、零配置、零报错”打造,彻底减轻初学者入门 FPGA+RISC-V 的负担。无需安装复杂工具、无需配置环境变量,Windows 一键编译烧录,10分钟完成从改代码到看现象的全流程。 项目核心定位 ✅ 源码开源,无IP核束缚:所有文件均为纯.v Verilog源码,无任何封装IP核,可直接查看、修改所有底层逻辑,兼容性拉满,适配各类入门级FPGA开发板; ✅ 效率拉满:内置全套工具链,一键完成“C代码编译→固件生成→FPGA适配”,全程无需手动操作,新手不浪费时间在工具配置上; ✅ 极简入门:无需懂 RISC-V 指令集、无需懂工具链原理、无需懂 FPGA 底层细节,只需会基础 C 语言,就能上手; ✅ 零坑适配:针对新手最容易踩的“路径中文、环境缺失、文件找不到”等问题做了深度优化,开箱即用; ✅ 合规开源:基于 PicoRV32(ISC 许可证)开发,可自由使用、修改、开源,无版权纠纷。 项目核心亮点(纯源码+无IP核+新手友好) - 所有文件均为纯.v源码,无任何IP核:核心软核(picorv32.v)、外设模块(gpio.v、simpleuart.v)、顶层模块(top.v)、存储模块(ramXE.v、romEX.v)等全部为可直接查看、修改的Verilog源码,无任何封装IP,打破IP核束缚,兼容性拉满,适配任意支持Verilog的FPGA开发板;其中ramXE.v可直接综合为FPGA内部RAM,不占用额外硬件资源,romEX.v由build.bat脚本自动生成,采用initial begin end初始化方式,兼容所有FPGA; - 无任何环境门槛:内置 `make_tool`(Windows 版 Make)、`python_bag`(Python 运行环境)、`riscv_mini_gcc`(RISC-V 编译器),无需安装 Python、Make、编译器,无需配置环境变量,解压即跑; - 一键编译,无需敲命令:仅需双击 `soft/build.bat`,自动完成编译、链接、生成 FPGA 可调用的 `.v` 固件文件,全程可视化,新手不用记任何命令; - 极简修改入口:所有业务逻辑仅需修改 `soft/main.c` 一个文件,底层.v源码可按需查看、修改,新手可先专注写 C 代码,进阶后可深入研究.v源码; - 目录极简清晰:所有文件/文件夹用途明确,纯.v源码文件标注清晰,新手一眼看懂,不混淆、不误删; - 高可移植+兼容性拉满:绿色免安装工具,复制到任意 Windows 10/11 电脑都能直接编译;纯.v源码无厂商、无IP核依赖,适配Cyclone IV、Artix-7等各类入门级FPGA开发板,兼容性拉满; - 稳定无报错:针对新手高频报错(路径问题、文件缺失、编译中断)做了适配,同时纯.v源码可直接编译,无IP核适配报错,降低新手挫败感。 目录结构说明(新手易懂版,纯.v源码标注清晰) 结合项目实际目录,清晰标注每个文件/文件夹的用途,重点强调“所有.v文件均为纯源码、无IP核”,明确区分“需要操作”和“无需触碰”的文件,新手无需额外操作: max_riscv/ # 项目根目录(所有文件都在这里,无需移动) ├── .git/ # Git 版本控制文件(新手不用管,开源时保留即可,不影响使用) ├── make_tool/ # 内置 Windows 版 Make 工具(自动被编译脚本调用,无需手动打开、无需修改) ├── python_bag/ # 内置 Python 运行环境(自动被脚本调用,无需安装系统 Python,不用操作) ├── riscv_mini_gcc/ # 内置 RISC-V 编译器(riscv-none-embed-gcc,自动编译代码,无需配置) ├── soft/ # 【新手核心操作目录】所有业务修改、编译、清理都在这里(重点关注) │ ├── build.bat # 一键编译脚本(新手核心操作,双击即可生成固件,无需其他操作) │ ├── clr.bat # 清除编译产物脚本(编译出错、重新编译时,双击即可清理,无需手动删除文件) │ ├── hex2vx.py # 固件格式转换脚本(自动被 build.bat 调用,无需手动运行、无需修改) │ ├── link.lds # 链接脚本(已适配 PicoRV32 + RV32I 架构,新手无需修改、无需打开) │ ├── main.c # 【新手唯一需要修改的文件】业务逻辑入口,写 LED 闪烁、串口输出等功能 │ ├── Makefile # 编译配置文件(已全部配置完成,适配内置工具链,新手无需修改) │ └── start.S # 汇编启动文件(已适配 PicoRV32 软核,确保程序正常启动,新手无需修改) ├── gpio.v # 【纯.v源码】GPIO 外设模块(无IP核,可直接查看/修改,新手可在 main.c 中直接调用) ├── picorv32.v # 【纯.v源码】PicoRV32 软核核心文件(无IP核,纯Verilog源码,可直接查看/修改,自动被顶层模块调用) ├── ramXE.v # 【纯.v源码】RAM 存储模块(无IP核,纯Verilog源码,可直接综合为FPGA内部RAM,不占用额外硬件资源,已适配软核和外设,可按需修改) ├── romEX.v # 【纯.v源码】ROM 存储模块(无IP核,纯Verilog源码,由soft/build.bat编译脚本自动生成,采用initial begin end 初始化方式,兼容所有FPGA,无需手动修改) ├── simpleuart.v # 【纯.v源码】串口模块(无IP核,纯Verilog源码,已适配,新手可在 main.c 中调用串口输出功能) ├── top.qpf / top.qsf # FPGA 工程配置文件(Quartus 专用,双击即可打开工程,无需修改配置) ├── top.v # 【纯.v源码】FPGA 顶层模块(无IP核,纯Verilog源码,已整合 PicoRV32 软核、所有外设,可按需修改) └── README.md # 项目说明文档(本文档,新手遇到问题可随时查阅) 新手核心提示(必看,避免误操作) - 新手仅需关注 3 个文件:`soft/main.c`(修改业务逻辑)、`soft/build.bat`(编译固件)、`soft/clr.bat`(清理产物); - 根目录所有 `.v` 文件(gpio.v、picorv32.v、ramXE.v、romEX.v 等)均为纯Verilog源码,无任何IP核,可直接查看、修改,新手进阶后可深入研究;其中ramXE.v可综合为FPGA内部RAM,不占用额外资源,romEX.v由soft/build.bat自动生成,采用initial begin end初始化,兼容所有FPGA;除 `soft` 目录下3个核心文件外,其余文件均已配置完成,新手无需修改,避免误操作导致编译失败; - 所有工具均为绿色免安装,无需移动任何文件位置,保持目录结构不变;纯.v源码无IP核依赖,兼容性拉满,无需担心开发板适配问题。 快速使用步骤(新手专属,全程鼠标操作,无复杂命令) 无需懂任何底层原理,跟着步骤点鼠标,纯新手也能轻松完成;所有.v源码可直接编译,无IP核适配门槛,每一步都标注新手注意事项,避开所有坑: 1. 准备工作(仅需一次,后续无需重复操作) 1. 下载项目压缩包,解压到 纯英文、无空格 的路径(如 `D:\max_riscv`); ⚠️ 新手注意:禁止放在“桌面”“我的文档”“新建文件夹”等带中文、空格的目录,这是新手最容易踩的坑,会导致编译失败; 2. 解压完成后,确认目录结构与上述一致,所有.v文件均为纯源码、无IP核,无需额外下载任何文件、任何插件,解压即能用。 2. 修改业务逻辑(新手唯一需要动手的步骤) 1. 打开项目根目录下的 `soft` 文件夹(新手核心操作目录); 2. 找到 `main.c` 文件,用电脑自带的 记事本或 VS Code 打开(新手用记事本即可,无需安装复杂软件); 3. 仅修改 `main.c` 中的业务逻辑,示例代码已添加清晰注释,新手可直接参考修改,无需从零编写。 4. 修改完成后,按 `Ctrl+S` 保存文件,无需修改其他任何文件;若想深入研究,可打开根目录.v源码文件查看底层逻辑(不影响正常使用)。 3. 一键编译生成 FPGA 固件(全程双击,无需敲命令) 1. 保持在 `soft` 目录下,找到 `build.bat` 文件,鼠标左键双击运行; 2. 弹出黑色命令行窗口,无需关注窗口内的内容,脚本会自动完成:调用内置编译器 → 编译 C 代码 → 生成 `.elf` 文件 → 调用 `hex2vx.py` 转换为 FPGA 可直接调用的 `.v` 固件文件; 3. 等待 1-3 秒,黑色窗口会自动关闭,表示编译成功,生成的 `.v` 固件文件已自动同步到 FPGA 工程目录,无需手动复制; 4. 若窗口一闪而过:大概率是项目路径有中文/空格,按步骤1的要求,将项目移动到纯英文路径,重新双击 `build.bat` 即可;无需担心.v源码编译问题,纯源码无IP核,兼容性拉满,其中romEX.v由该脚本自动生成、采用initial begin end初始化,ramXE.v可综合为内部RAM不占资源,均不会出现IP适配或资源占用相关报错。 4. 编译 FPGA 工程(这个以quartus为例,其实无论是什么FPGA都可,添加.v即可) 1. 打开项目根目录,找到 `top.qpf` 文件,双击打开(会自动用 Quartus 软件打开,无需手动选择打开方式); 2. 工程打开后,无需手动添加任何 `.v` 文件(`build.bat` 已自动将固件文件同步到工程,顶层模块 `top.v` 为纯源码,已整合所有外设和软核); 3. 在 Quartus 软件中,找到 `Start Compilation` 按钮(一般在工具栏,图标为绿色三角+齿轮),点击开始编译; 4. 等待编译完成(时间根据 FPGA 开发板型号略有差异,一般 1-5 分钟),提示“Compilation was successful”即为成功;因所有.v文件均为纯源码、无IP核,其中ramXE.v可综合为FPGA内部RAM不占用额外资源,romEX.v由build.bat自动生成、采用initial begin end初始化且兼容所有FPGA,不会出现IP核编译报错或兼容性问题,兼容性拉满; 5. 若提示“找不到固件 .v 文件”:无需手动找文件,重新运行一次 `soft/build.bat`,再点击编译即可。 5. 烧录到硬件,查看运行现象(新手3步走) 1. 连接硬件:将 FPGA 开发板通过 USB 下载器(如 USB-Blaster)连接到电脑,确保开发板正常通电; 2. 烧录程序:打开 Quartus 软件中的 `Programmer`(工具栏图标为“下载”标志),点击“Add File”,选择编译生成的 `.sof` 文件(一般在 `output_files` 目录下),点击 `Program` 开始烧录; 3. 查看现象:烧录完成后,程序会自动运行,观察 FPGA 开发板上的现象(如 LED 闪烁、串口输出等),即代表整个流程成功;纯.v源码无IP核,适配各类入门级FPGA开发板,兼容性拉满,无需担心硬件适配问题。 6. 重新编译/清理编译产物(出错时使用) 1. 若修改 `main.c` 后需要重新编译,或编译过程中报错:打开 `soft` 目录,双击 `clr.bat` 脚本; 2. 弹出黑色窗口,等待 1-2 秒自动关闭,脚本会自动清除所有编译产物(.o、.elf、.v 等临时文件); 3. 清理完成后,重新运行 `build.bat` 即可重新编译,无需手动删除任何文件;纯.v源码可反复编译,无IP核损坏、适配失效等问题。 新手常见问题(FAQ)(精准解决新手高频报错,不用到处查资料) - Q:双击 build.bat 后窗口一闪而过,没生成 .v 文件? A:100% 是路径问题!新手只需做一步:将整个 `max_riscv` 文件夹移动到纯英文、无空格的路径(如 `D:\max_riscv`),禁止放在“桌面”“我的文档”等带中文/空格的目录,重新双击 build.bat 即可解决;与.v源码、IP核无关,纯源码兼容性无问题。 - Q:FPGA 编译提示“找不到固件 .v 文件”? A:无需手动找文件、无需手动添加!只需重新运行一次 `soft/build.bat`,脚本会自动将 `.v` 固件文件同步到 FPGA 工程目录,再重新编译 FPGA 工程即可。 - Q:烧录后没看到现象,怎么办? A:新手按 3 步排查(无需懂原理): ① 检查 FPGA 开发板是否通电、USB 下载器是否插紧; ② 确认 `main.c` 逻辑正确(如 LED 引脚是否匹配自己的开发板、延时时间是否合理); ③ 重新运行 `clr.bat` 清理 → `build.bat` 编译 → 重新烧录,一般就能解决;本项目所有.v文件均为纯源码、无IP核,兼容性拉满,排除硬件故障后均可正常运行。 - Q:需要懂 RISC-V 指令集、FPGA 底层原理才能用吗? A:完全不需要!新手只需会基础 C 语言(if 判断、for 循环、变量、函数调用),专注修改 `main.c` 中的业务逻辑即可,工具链会自动将 C 代码转换成 RISC-V 指令;底层.v源码可按需查看,不用强制掌握,纯源码设计也降低了入门难度。 - Q:修改 main.c 后编译报错,怎么解决? A:新手优先检查 2 点,90% 能解决: ① 代码是否有语法错误(少写分号、括号不匹配、变量/函数拼写错误); ② 修改后是否保存文件(必须按 `Ctrl+S` 保存,否则编译的还是旧代码); ③ 若还是报错:运行 `clr.bat` 清理后,再重新运行 `build.bat` 编译;无需担心.v源码报错,所有.v文件均为可直接编译的纯源码,无IP核适配问题。 - Q:用什么软件打开 main.c 文件? A:新手用电脑自带的 记事本 就能打开、修改,无需安装 VS Code、Keil 等复杂软件,记事本完全满足需求,打开方式:右键 main.c → 打开方式 → 记事本。 - Q:项目可以复制到其他电脑使用吗? A:可以!所有工具都是绿色免安装,无需配置环境,将整个 `max_riscv` 文件夹复制到任意 Windows 10/11 电脑,解压后就能直接使用;所有.v纯源码无依赖,兼容性拉满,换电脑也能正常编译。 - Q:项目真的没有任何IP核吗?不同FPGA开发板都能适配吗? A:完全无任何IP核!所有核心文件(picorv32.v、top.v、gpio.v、ramXE.v、romEX.v等)均为纯Verilog源码,无任何封装IP、无厂商绑定;其中ramXE.v可直接综合为FPGA内部RAM,不占用额外硬件资源,romEX.v由soft/build.bat脚本自动生成,采用initial begin end初始化方式,适配所有FPGA,无需额外适配,直接编译即可使用,整体兼容性拉满,支持各类入门级FPGA开发板(Cyclone IV、Artix-7等)。 运行环境(无任何门槛,新手电脑均能满足) ✅ 操作系统:Windows 10 / Windows 11(32位、64位均可,新手常用的电脑系统都支持); ✅ FPGA 工具:Quartus(已适配根目录 `top.qpf` 工程,无需额外配置); ❌ 无需安装 Python(内置 `python_bag`,自动调用); ❌ 无需安装 Make 工具(内置 `make_tool`,自动调用); ❌ 无需安装 RISC-V 编译器(内置 `riscv_mini_gcc`,无需配置); ❌ 无需配置环境变量(新手不用懂什么是环境变量,解压即能用); ✅ 核心优势:所有.v文件均为纯源码、无任何IP核,其中ramXE.v可综合为FPGA内部RAM不占用额外资源,romEX.v由build.bat自动生成、采用initial begin end初始化且兼容所有FPGA,整体兼容性拉满,适配各类入门级FPGA开发板; ✅ 新手操作流程:下载项目压缩包 → 解压到纯英文路径 → 修改 `soft/main.c` → 双击 `soft/build.bat` → 编译 FPGA 工程 → 烧录看现象。 适用场景(精准匹配初学者需求,纯源码+高兼容性) - RISC-V + FPGA 零基础入门者(纯新手快速上手,避免被环境配置、底层原理、IP核适配劝退,纯源码更易理解); - 高校课程设计、毕业设计(上手快,不浪费时间在工具配置、IP核适配上,纯.v源码可直接修改,满足设计需求); - 轻量级嵌入式控制项目(资源占用低,纯.v源码无IP核依赖,其中ramXE.v可综合为FPGA内部RAM不占用额外资源,romEX.v由build.bat自动生成且兼容所有FPGA,兼容性拉满,适配 Cyclone IV、Artix-7 等入门级 FPGA 开发板); - PicoRV32 软核学习(无需自己搭建软核环境,直接基于纯.v源码学习软核原理,可自由修改软核逻辑,专注业务逻辑与底层研究); - 教学演示(一键操作,课堂上快速演示 RISC-V + FPGA 运行效果,纯源码无IP核,适配不同实验室开发板,适合老师教学使用)。 开源合规说明 本项目基于 PicoRV32 软核(纯.v源码,无IP核) 开发,PicoRV32 遵循 ISC 开源许可证(与 MIT 许可证类似,对新手友好,无复杂限制),具体说明如下: - 允许自由使用、修改、分发本项目(商业用途、非商业用途均可),无需额外申请授权; - 开源本项目时,只需保留根目录 `picorv32.v` 文件(纯.v源码)中的原始版权声明,无需将本项目的衍生代码强制开源; - 本项目所有文件均为纯.v源码、无任何IP核,其中ramXE.v可综合为FPGA内部RAM不占用额外资源,romEX.v由build.bat脚本自动生成、采用initial begin end初始化且兼容所有FPGA,开源后可自由修改所有源码,无IP核相关版权纠纷风险,新手可放心使用、修改、二次开源。 项目寄语(致所有初学者) MAX_RISCV 从一开始就定位“减轻初学者负担”,同时坚持纯.v源码开发、无任何IP核,打破IP核束缚,让兼容性拉满,适配各类入门级FPGA开发板。其中ramXE.v作为纯.v源码RAM模块,可直接综合为FPGA内部RAM,不占用额外硬件资源;romEX.v同样为纯.v源码,由soft/build.bat编译脚本自动生成,采用initial begin end初始化方式,确保兼容所有FPGA。我们深知很多新手入门 FPGA+RISC-V 时,会被“复杂的工具链、繁琐的环境配置、晦涩的底层原理、IP核适配难题”劝退,所以我们做了极致简化:内置所有需要的工具,简化所有操作流程,所有文件均为可直接查看、修改的纯.v源码,明确区分“需要操作”和“无需触碰”的文件,让新手不用懂原理、不用记命令、不用排错,只需专注于自己的 C 代码逻辑,就能快速完成从修改代码到烧录运行的全流程。 本项目依托 PicoRV32 软核(纯.v源码)的轻量、稳定优势,进一步降低入门门槛,同时严格遵循开源协议,所有.v源码开源可修改,兼容性拉满,让新手可以放心使用、自由修改。无论你是刚接触 RISC-V 的纯新手,还是需要快速完成课设、毕设的学生,这个项目都能帮你节省时间、少走弯路,轻松入门 RISC-V+FPGA 开发,同时能深入接触纯.v源码,夯实底层基础。 欢迎 Star、Fork,一起完善项目,补充更多新手友好的功能和注释,优化纯.v源码兼容性,帮助更多初学者避开“入门坑”,轻松走进 RISC-V 的世界!