2026年,全国大学生集成电路创新创业大赛,想选‘基于FPGA的RISC-V处理器软硬件协同调试平台’这个题目,如何设计高效的JTAG调试模块、实现处理器跟踪(Trace)并集成开源调试软件(如OpenOCD)?
我们团队想参加集创赛,选题是做一个围绕RISC-V处理器的软硬件协同调试平台。计划在FPGA上实现一个支持RV32IM指令集的软核,并重点攻克调试功能。目前有几个难点:1. 如何设计符合RISC-V调试规范的JTAG TAP控制器和调试模块(DM)?是参照SiFive的文档自己写,还是用开源IP(如PULP的Debug Module)?2. 如何实现指令跟踪(Instruction Trace)来监控程序流,数据量很大,FPGA上的BRAM可能不够,有什么存储和压缩策略?3. 最后如何将硬件调试模块与开源的OpenOCD软件对接,实现类似GDB的源码级调试?感觉涉及硬件、固件、软件多个层面,不知如何有效分工和集成。