FPGA复现RISC-V标签架构踩坑全记录

需积分: 0 1 下载量 162 浏览量 更新于2024-08-05 收藏 827KB PDF 举报
"本文是关于在FPGA上复现RISC-V架构的踩坑指南,主要涉及硬件配置、启动模式设置、开发环境搭建等环节,适用于想要在ZCU102开发板上实现标签化RISC-V架构的研究者或开发者。" 在FPGA上复现RISC-V架构的过程中,首先面临的是硬件配置的问题。文章中提到的开发板是ZCU102,它配备了一个Zynq UltraScale+ XCZU9EG-2FFVB1156 MPSoC FPGA。正确设置启动模式至关重要,对于ZCU102,应将SW6的1拨向on,其他拨向off来从SD卡启动,这是避免错误的起点。 硬件配置还包括对散热的考虑。ZCU102上的小风扇可能噪音较大,作者建议替换为更大、转速更低的风扇,但这样做的风险自负。此外,可以通过Xilinx Wiki监控PS和PL的温度及电压,但未在文中详述具体方法。 开发环境的搭建通常需要Linux环境,因为大部分代码和工具在此环境下运行或编译更为合适。作者使用了Windows + WSL (Windows Subsystem for Linux) + VMware的组合,但注意到挂载硬盘到WSL仍是预览功能,因此处理SD卡上的ext4分区需要在非WSL的Linux环境中进行。 在工具链方面,涉及到Xilinx的工具,如用于FPGA编程的Bitstream,以及交叉编译工具链,这对于构建RISC-V的软件环境是必不可少的。RISC-V Proxy Kernel的准备,以及DeviceTree和rootfs的构建,都是复现过程中的关键步骤。同时,需要准备SD卡,包含FSBL (First Stage Boot Loader) 和Arm Trusted Firmware/BL31,以及BOOT.BIN和相应的DeviceTree,这些组件协同工作以启动ARM SoC和RISC-V子系统。 在启动流程中,需要正确设置启动模式以启动标签化RISC-V子系统。整个过程按照指定的指南进行,每个步骤都可能遇到问题,本文旨在记录这些问题并提供解决方案,帮助其他开发者避免或更快地解决这些问题。 复现RISC-V架构在FPGA上是一项技术性强且细节繁多的任务,需要对硬件配置、开发环境、系统工具链有深入理解,同时准备好应对各种可能出现的挑战。本文提供的踩坑指南是这一过程中的实用参考,有助于提高复现的成功率和效率。