_florent_ changed the topic of #litex to: LiteX FPGA SoC builder and Cores / Github : https://github.com/enjoy-digital, https://github.com/litex-hub / Logs: https://libera.irclog.whitequark.org/litex
tpb has quit [Remote host closed the connection]
tpb has joined #litex
Degi_ has joined #litex
Degi has quit [Ping timeout: 255 seconds]
Degi_ is now known as Degi
sakman has quit [Quit: Leaving]
ElfenKaiser has joined #litex
FabM has joined #litex
FabM has quit [Changing host]
FabM has joined #litex
sakman has joined #litex
TMM_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM_ has joined #litex
stettberger has joined #litex
<stettberger> Hey there! I was redirected here from the #ulx3s channel. I have the goal to build an quad-core RISC-V SoC on an ECP5-85K FPGA (on an ULX3S Board) that I can use to teach students how to build multi-core operating systems. I'm also aware of the litex-linux-on-vexriscv repo, and I took the route to build a system with that repository. And while it
<stettberger> synthesizes and I can load the bitstream into the device and it shows some boot messages, I was not able yet to find a combination of settings to have a fully working multi-core setup with Linux (which I use as a first benchmark to test the hardware).
<stettberger> Therefore my question: Does somebody have fully working multi-core RISC-V system running on an ECP5-85K and give me some hints how to achieve the same success?
<geertu> stettberger: somlo is, but using rocket instead of vexriscv
<geertu> somlo_: ^
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #litex
<stettberger> somlo_: Impressive work with doing the full self-hosting of a rocket core. that is great work!
stettberger has quit [Quit: Client closed]
stettberger has joined #litex
ElfenKaiser has quit [Quit: Konversation terminated!]
stettberger has quit [Quit: Client closed]
stettberger has joined #litex
<somlo_> stettberger,geertu: thanks! :)
<somlo_> to be super pedantic, if you want to run a linux distro you need the fpu-enabled version of rocket, and only one such core will fit on the ecp5-85k
<somlo_> you can have two (not sure if 4 will fit, can't quite remember) if you give up on the fpu -- still able to run linux, but not a distro kernel
somlo_ is now known as somlo
<somlo> there's vexriscv-smp -- it's 32-bit, so might fit 4 cores, and *should* be able to also run linux on it. It's just not something I have tried myself
nelgau has quit [Ping timeout: 258 seconds]
<geertu> somlo: Unfortunately no standard Linux distro supports 32-bit, so that's a good reason to use rocket instead.
<geertu> I guess the -85K does vex-riscv multi-core. My -25K doesn't (and also no rocket :-(
<zyp> isn't naxriscv also a decent alternative?
<geertu> zyp: Perhaps. I haven't tried all possible RISC-V cores yet (not to mention non-RISC-V like microwatt and J-core)
ElfenKaiser has joined #litex
stettberger has quit [Quit: Client closed]
nelgau has joined #litex
stettberger has joined #litex
<stettberger> somlo: So yeah, rocket dual core does not fit, but a vexriscv_smp with four cores still fits. So that would be the right choice, however, currently I'm stuck in the Linux boot process. So probably, I have to file a bug there. But I wanted to ask around if it is just a me problem, beforehand.
<somlo> stettberger: rocket dual "linux" core (which now includes FPU) won't fit, but dual "medium" should. The latter has MMU and S-mode, but no FPU, and it can run linux (I used to have bbl emulate the fpu for a while, but bbl is now deprecated and opensbi refuses to support fpu emulation in m-mode, probably for good reason :)
<somlo> either way, a 32-bit cpu is probably better for a "write-your-own-os" class project: 64-bit has more levels of indirection in page tables, and generally more "overhead" but without additional opportunity for learning how to write an os or how an os works
<somlo> stettberger: so I guess you're really better off with vexriscv-smp for your goals (as much as I'd love to have more people play with *my* --rocket-based, 64-bit_-- pet project :P)
<somlo> I'd check github.com/litex-hub/linux-on-litex-vexriscv as a starting point; vexriscv is by far the more "popular" litex cpu option, so you should have no trouble finding help on how to get it running on your board
<stettberger> that is currently my starting point there. But already the single core vexriscv_smp was not booting with the prebuild buildroot. I already have a freshly built linux around, but I'm missing an sdcard reader to flash it atm
<stettberger> Yeah, for building your own OS, 32-bit is more than enough horror
<stettberger> Currently, we are doing this with IA-32 (while some colleagues switched to AMD64, because... i don't know)
<stettberger> My hope is that I can remove the IA-32 Segmentation model from my yearly schedule....
ElfenKaiser has quit [Quit: Konversation terminated!]
<stettberger> zyp: I had a look at naxriscv now. Can you build a multicore system from that?
sakman has quit [Quit: Leaving]
<stettberger> But in the end, I do not have the requirement to have a faster core by out-of-order execution, but a system with MMU, 4 cores and S mode
stettberger has quit [Quit: Client closed]
Foxyloxy_ has joined #litex
Foxyloxy has quit [Ping timeout: 272 seconds]
RaYmAn has joined #litex
GNUmoon has quit [*.net *.split]
FabM has quit [Ping timeout: 258 seconds]
ElfenKaiser has joined #litex
TMM_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]