FPGA线上课程平台|最全栈的FPGA学习平台|FPGA工程师认证培训
登录
首页-所有问题-其他-正文

想用FPGA做毕设实现一个轻量级RISC-V CPU并运行RTOS,可行性如何?有什么开源框架推荐?

电子爱好者小张电子爱好者小张
其他
4小时前
0
0
2
本科电子信息工程,想做一个有挑战性的FPGA毕设。看到RISC-V很火,想尝试在FPGA上从头设计一个支持RV32IM指令集的微处理器,并移植FreeRTOS或Zephyr这样的实时操作系统。这个工作量对于本科生来说是否现实?大概需要多长时间?有没有像PicoRV32、VexRiscv这样的开源核可以参考,整个开发流程和调试难点有哪些?求有经验的学长学姐指点。
电子爱好者小张

电子爱好者小张

这家伙真懒,几个字都不愿写!
313800
分享:
2024年,哪些城市的芯片/FPGA岗位机会多且薪资有竞争力?一线城市还是二线强市?上一篇
拿到初创AI芯片公司和传统大厂IC部门的offer,该如何选择?风险和机遇怎么看?下一篇
回答列表总数:6
  • 单片机新手小王

    单片机新手小王

    同学你好,这个方向作为毕设很有价值,但得合理规划。如果你FPGA和数字逻辑基础扎实,可以尝试。但“从头设计”可能不现实,更可行的路线是:选一个开源RISC-V核(比如VexRiscv,它配置灵活,有SaxonSoc框架),然后重点放在系统集成和RTOS移植上。工作量大概分几块:1. 理解核的结构,配置成RV32IM;2. 设计或集成总线(如Wishbone/AXI)、内存、外设;3. 搭建软件环境(交叉编译器、链接脚本);4. 移植RTOS(FreeRTOS比Zephyr简单些)。时间上,如果每天能投入4-6小时,3个月左右能出原型。调试时最头疼的是硬件和软件问题交织,记得用好ILA和串口打印。另外,FPGA资源要算好,比如Block RAM可能不够用。

    57分钟前
  • 逻辑设计小白

    逻辑设计小白

    完全可行,但挑战不小。我也是电子工程本科,去年毕设做的类似方向。先说结论:如果从头设计RV32IM核,工作量巨大,建议基于成熟开源核修改。PicoRV32和VexRiscv都是很好的起点,代码简洁,文档也够用。我用的PicoRV32,它支持RV32IMC,代码就一个文件,容易理解。你可以在上面加中断控制器、定时器这些外设,然后移植FreeRTOS。整个流程大概需要3-4个月全职投入。调试难点主要是软件工具链和硬件仿真的结合,建议先跑仿真,再上板。用Verilator或Modelsim做仿真,用OpenOCD调试。注意,内存管理单元(MMU)不是必须的,但如果你要跑Zephyr,可能需要支持某些特权指令。

    57分钟前
  • 数字系统入门

    数字系统入门

    同学你好,这个选题非常棒,能系统锻炼数字设计、计算机体系结构和嵌入式开发能力。可行性很高,但必须借助开源生态。

    我推荐VexRiscv,它用SpinalHDL(基于Scala)编写,配置性极强,文档和社区都不错。你可以通过改配置生成支持RV32IM的CPU,而不用从头写Verilog。PicoRV32是纯Verilog,更小巧,但性能弱一些,适合学习CPU流水线原理。

    工作量预估:假设每周投入20小时。第一阶段(1个月):学习RISC-V指令集,用开源核在FPGA(比如Artix-7)上搭建最小系统,跑通裸机C程序。第二阶段(1-2个月):添加必要外设(如PLIC、CLINT用于中断),移植RTOS。Zephyr对RISC-V支持很好,有现成的板级支持包(BSP)可参考修改。第三阶段(1个月):做应用演示(比如多任务调度、信号量通信),写论文。

    整个流程的难点在于理解RISC-V特权架构(机器模式、中断处理)以及如何让RTOS的上下文切换、中断服务例程与你的硬件正确配合。务必用好仿真(Verilator或Modelsim),先仿真再上板。遇到问题多查RISC-V官方手册和开源项目Issue。祝你成功!

    2小时前
  • 硅农预备役

    硅农预备役

    作为过来人,我觉得这个想法很有挑战性,但并非不可能。关键在于你对“从头设计”的定义。如果你指的是从零开始写RTL,那工作量巨大,调试更是噩梦,很可能毕设做不完。我建议采用“集成与修改”路线。直接用PicoRV32或VexRiscv这类成熟开源核作为起点,它们都支持RV32IM。你的工作重点可以放在:1. 理解核的结构,可能添加一些自定义指令或外设(比如UART、GPIO、定时器)。2. 搭建SoC,连接内存(Block RAM)、外设和CPU。3. 移植Bootloader(比如RISCV-V boot)和RTOS。FreeRTOS移植相对简单,网上有RISC-V端口参考。这样,核心是现成的,你专注系统集成和软件移植,大概3-4个月能出雏形。调试难点主要是软硬件协同:用ILA抓总线信号,用GDB调试软件,需要耐心。

    如果学校有相关课程基础或导师指导,可以冲。否则,慎选。

    2小时前
  • FPGA探索者

    FPGA探索者

    同学你好,看到你想挑战这个方向,挺佩服的。从本科生角度,这个选题完全可行,但需要合理规划。工作量主要分三块:CPU核设计/集成、工具链搭建、RTOS移植。我建议不要从头写CPU,而是基于VexRiscv这样的开源核进行修改——它配置灵活,且有SaxonSoc项目展示了如何挂接外设和运行Zephyr,参考价值极大。时间估计:如果已有Verilog和嵌入式基础,2个月能让CPU跑起裸机程序,再用1个月移植RTOS核心功能(任务调度、信号量等)。整个毕设周期建议留足5-6个月,因为调试会占大量时间。

    开发流程上,一定要先仿真后上板。用Icarus Verilog或Verilator做仿真,配合RISCV-GCC编译测试程序。难点往往是软硬件协同:比如确保编译器生成的代码和你的CPU行为一致,处理异常和中断时硬件上下文保存要完整。另外,RTOS需要系统定时器和足够的存储空间,FPGA上可以用软核或硬件定时器实现,Block RAM不够的话可以接外部SDRAM但复杂度增加。

    最后提醒:和导师充分沟通,确保他支持这个方向并能提供调试设备(逻辑分析仪等)。开源框架除了PicoRV32、VexRiscv,也可以看看SERV(超小体积的串行RISC-V核)或Chisel3生成的核,但后者需要Scala基础。祝你顺利!

    4小时前
  • 电子爱好者小陈

    电子爱好者小陈

    可行性没问题,但工作量不小。我去年毕设做的就是类似题目,最后实现了RV32I并跑了FreeRTOS。给你点实在建议:别上来就搞RV32IM,先搞定RV32I基础指令集,能跑简单C程序再说。开源核强烈推荐PicoRV32,代码简洁,文档全,特别适合学习。你可以先把它下载下来,在FPGA上跑通,然后重点研究总线接口和中断控制器——这两块是移植RTOS的关键。时间上,如果每天能投入3-4小时,从零到跑通RTOS大概需要3-4个月。调试难点主要是软件工具链搭建和硬件仿真,建议用Verilator做前期仿真,再用真实FPGA调试。记住,先让CPU能运行简单的裸机程序,再逐步添加RTOS需要的功能(如系统定时器、上下文切换支持)。别贪心,稳扎稳打就能成。

    补充一点:选FPGA开发板时,注意片上Block RAM大小,至少要有几十KB才能放得下RTOS内核和简单应用。Xilinx Artix-7系列或Intel Cyclone 10 LP都是性价比不错的选择。

    4小时前
我要回答answer.notCanPublish
回答被采纳奖励100个积分
FPGA线上课程平台|最全栈的FPGA学习平台|FPGA工程师认证培训
请先登录