我对 RISC-V 域完全陌生。我的目标是在我的 FPGA 上实现 Rocket Chip 内核,作为一个更大项目的模块。
据我所知,SiFive 是 Rocket Chip 的供应商。据我所知,SiFive 的所有内核都只能在 Xilinx Artix-7 FPGA 上实现。然而,我想知道是否可以在其他 FPGA(例如 Xilinx Virtex 7 或 Zynq)上实现它?
如果是,那是否需要任何形式的进一步修改?或者我对 Github 上展示的常规流程感到满意?
谢谢。
我对 RISC-V 域完全陌生。我的目标是在我的 FPGA 上实现 Rocket Chip 内核,作为一个更大项目的模块。
据我所知,SiFive 是 Rocket Chip 的供应商。据我所知,SiFive 的所有内核都只能在 Xilinx Artix-7 FPGA 上实现。然而,我想知道是否可以在其他 FPGA(例如 Xilinx Virtex 7 或 Zynq)上实现它?
如果是,那是否需要任何形式的进一步修改?或者我对 Github 上展示的常规流程感到满意?
谢谢。
LiteX 支持在一系列平台上围绕 Rocket 核心构建 SoC。它已经在 Xilinx FPGA 和 Lattice ECP5 上进行了测试。
https://www.contrib.andrew.cmu.edu/~somlo/BTCP/是对该流程的描述,主要针对 Versa ECP5 开发板。但 LiteX 支持一系列其他平台,包括一些 Virtex 和 Zynq 板。
顺便说一句,Rocket-Chip 不仅仅是一个 SiFive 项目,它最初是由伯克利开发的,现在由 Chips Alliance 维护。
我设法在 Xilinx VC-709 板 Virtex-7 fpga 上为裸机实现了 32 位单微型内核。我很确定您可以使用 linux 映像实现更大的核心。根据您的要求进行修改并不难。只需学习凿子并完成接口和架构。在硬件方面只需要了解 dpi 接口和 fpga 的设计流程。
最初,Zynq FPGA 支持 Rocket Chip:https ://github.com/ucb-bar/fpga-zynq
该 repo 已弃用且不再受支持,但也许可以从中发现一些有用的东西。