3.15. Sodor Core
Sodor is a collection of 5 simple RV32MI cores designed for educational purpose. The Sodor core is wrapped in an tile during generation so it can be used as a component within the Rocket Chip SoC generator. The cores contain a small scratchpad memory to which the program are loaded through a TileLink slave port, and the cores DO NOT support external memory.
The five available cores and their corresponding generator configuration are:
1-stage (essentially an ISA simulator) -
Sodor1StageConfig
2-stage (demonstrates pipelining in Chisel) -
Sodor2StageConfig
3-stage (uses sequential memory; supports both Harvard (
Sodor3StageConfig
) and Princeton (Sodor3StageSinglePortConfig
) versions)5-stage (can toggle between fully bypassed or fully interlocked) -
Sodor5StageConfig
“bus”-based micro-coded implementation -
SodorUCodeConfig
For more information, please refer to the GitHub repository.