rsd-devel / rsd

RSD: RISC-V Out-of-Order Superscalar Processor
Apache License 2.0
981 stars 98 forks source link

Add to LiteX ecosystem? #6

Open mithro opened 4 years ago

mithro commented 4 years ago

RSD looks like it would be a super interesting addition CPU core option for the LiteX Ecosystem. LiteX already supports multiple different RISC-V cores (see https://github.com/enjoy-digital/litex/wiki/Soft-CPU for the list);

It would be awesome to see RSD in the LiteX system. It would let us very easily compare the resource usage of RSD to Black-Parrot, to Rocket, and VexRISCV in a fair environment.

LiteX-BuildEnv is my environment which uses LiteX to create images for many different FPGA boards. It supports Zephyr, Linux, Micropython and bare metal firmware.

You can find a diagram of this below; image

There is also a Linux on LiteX VexRISCV repository which would be cool to port to use RSD as an alternative option.

You can find the existing CPUs at https://github.com/enjoy-digital/litex/tree/master/litex/soc/cores/cpu Rocket is probably the closest configuration which can be found at https://github.com/enjoy-digital/litex/blob/master/litex/soc/cores/cpu/rocket/core.py

mithro commented 4 years ago

Related issues;

FYI Here are a collection of links related to Linux on RISC-V;

shioyadan commented 4 years ago

Thank you for your attractive suggestions. The LiteX ecosystem looks very good for usability, evaluation and maintenance for RSD. I'm not sure about the LiteX ecosystem, so I'd like to read the document and source code first, and then comment again.

mithro commented 4 years ago

@shioyadan - I'm happy to provide advice and answer questions. The #litex IRC channel on irc.freenode.net is also a very useful resource.

As actual performance is a lot more complicated than DMIPS/Mhz once you start taking into account things like memory subsystems and memory buses. I think the performance of your superscalar processor will be more interesting once those things are taken into account.