Verilog小白在路上
三年ARM SoC经验转RISC-V,优势是已有数字设计基础,短板可能是指令集和工具链的开放灵活性。
重点补充三块:
1. 指令集扩展:别只看基础,工作中最常用的是IMAFD组合(通用+浮点)。特别要研究RISC-V的特权架构(Privileged Spec),包括机器模式、监督模式、用户模式的转换,这和ARM的异常级别(EL)概念不同但对应。向量扩展V可以先学理论,实际项目未必立即用到。
2. 微架构优化:RISC-V的简洁性让流水线设计更自由,但分支预测、数据通路优化和ARM思路类似。可以研究开源实现(如BOOM、CVA6)的流水线结构,看他们如何处理数据冒险和控制冒险。
3. 工具链:GCC/LLVM工具链的编译、链接脚本需要熟悉。Spike是ISS,适合早期软件开发;QEMU用于快速系统模拟。实际芯片设计更需要关注FPGA原型验证(用Vivado/VCS跑开源核)和硬件调试(通过JTAG和RISC-V Debug Spec)。
思维转变:从“遵循ARM标准”到“为特定场景定制指令”。RISC-V允许你加自定义指令,这既是机会也是坑——需要平衡软件生态兼容性。建议先深入理解一个成熟开源核,再思考优化方向。
