Wednesday, 2023-10-18

*** tpb <[email protected]> has joined #litex00:00
*** Degi_ <[email protected]> has joined #litex00:05
*** Degi <[email protected]> has quit IRC (Ping timeout: 255 seconds)00:07
*** Degi_ is now known as Degi00:07
*** sakman <[email protected]> has quit IRC (Quit: Leaving)01:33
*** ElfenKaiser <ElfenKaiser!~deadsalmo@2a0a-a541-d10-0-9952-8cea-7c9e-182e.ipv6dyn.netcologne.de> has joined #litex01:55
*** FabM <FabM!~FabM@2a03:d604:103:600:2e60:8c7c:e8fb:7990> has joined #litex05:16
*** sakman <[email protected]> has joined #litex05:52
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)06:27
*** TMM_ <[email protected]> has joined #litex06:27
*** stettberger <[email protected]> has joined #litex07:15
stettbergerHey 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 it07:19
stettbergersynthesizes 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).07:19
stettbergerTherefore 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?07:19
geertustettberger: somlo is, but using rocket instead of vexriscv07:56
geertusomlo_: ^07:56
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has quit IRC (Remote host closed the connection)08:31
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has joined #litex08:36
stettbergersomlo_: Impressive work with doing the full self-hosting of a rocket core. that is great work!08:37
*** stettberger <[email protected]> has quit IRC (Quit: Client closed)08:51
*** stettberger <[email protected]> has joined #litex08:55
*** ElfenKaiser <ElfenKaiser!~deadsalmo@2a0a-a541-d10-0-9952-8cea-7c9e-182e.ipv6dyn.netcologne.de> has quit IRC (Quit: Konversation terminated!)10:45
*** stettberger <[email protected]> has quit IRC (Quit: Client closed)10:47
*** stettberger <[email protected]> has joined #litex10:50
somlo_stettberger,geertu: thanks! :)12:28
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-85k12:29
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 kernel12:30
*** somlo_ is now known as somlo12:30
somlothere'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 myself12:31
*** nelgau <[email protected]> has quit IRC (Ping timeout: 258 seconds)12:31
geertusomlo: Unfortunately no standard Linux distro supports 32-bit, so that's a good reason to use rocket instead.12:33
geertuI guess the -85K does vex-riscv multi-core. My -25K doesn't (and also no rocket :-(12:34
zypisn't naxriscv also a decent alternative?13:07
geertuzyp: Perhaps. I haven't tried all possible RISC-V cores yet (not to mention non-RISC-V like microwatt and J-core)13:13
*** ElfenKaiser <[email protected]> has joined #litex13:58
*** stettberger <[email protected]> has quit IRC (Quit: Client closed)14:02
*** nelgau <[email protected]> has joined #litex14:15
*** stettberger <[email protected]> has joined #litex14:45
stettbergersomlo: 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.14:47
somlostettberger: 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 :)14:52
somloeither 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 works14:54
somlostettberger: 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)14:56
somloI'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 board14:57
stettbergerthat 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 atm15:02
stettbergerYeah, for building your own OS, 32-bit is more than enough horror15:02
stettbergerCurrently, we are doing this with IA-32 (while some colleagues switched to AMD64, because... i don't know)15:03
stettbergerMy hope is that I can remove the IA-32 Segmentation model from my yearly schedule....15:04
*** ElfenKaiser <[email protected]> has quit IRC (Quit: Konversation terminated!)15:20
stettbergerzyp: I had a look at naxriscv now. Can you build a multicore system from that?15:32
*** sakman <[email protected]> has quit IRC (Quit: Leaving)15:33
stettbergerBut 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 mode15:33
*** stettberger <[email protected]> has quit IRC (Quit: Client closed)15:57
*** Foxyloxy_ <Foxyloxy_!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has joined #litex16:05
*** Foxyloxy <Foxyloxy!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has quit IRC (Ping timeout: 272 seconds)16:08
*** RaYmAn <[email protected]> has joined #litex17:33
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has quit IRC (*.net *.split)18:16
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 258 seconds)19:21
*** ElfenKaiser <ElfenKaiser!~deadsalmo@2a0a-a541-d10-0-9952-8cea-7c9e-182e.ipv6dyn.netcologne.de> has joined #litex20:44
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)23:59

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!