*** tpb <[email protected]> has joined #litex | 00:00 | |
*** Degi_ <[email protected]> has joined #litex | 00:05 | |
*** Degi <[email protected]> has quit IRC (Ping timeout: 255 seconds) | 00:07 | |
*** Degi_ is now known as Degi | 00: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 #litex | 01:55 | |
*** FabM <FabM!~FabM@2a03:d604:103:600:2e60:8c7c:e8fb:7990> has joined #litex | 05:16 | |
*** sakman <[email protected]> has joined #litex | 05:52 | |
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) | 06:27 | |
*** TMM_ <[email protected]> has joined #litex | 06:27 | |
*** stettberger <[email protected]> has joined #litex | 07:15 | |
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 | 07:19 |
---|---|---|
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). | 07:19 |
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? | 07:19 |
geertu | stettberger: somlo is, but using rocket instead of vexriscv | 07:56 |
geertu | somlo_: ^ | 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 #litex | 08:36 | |
stettberger | somlo_: 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 #litex | 08: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 #litex | 10: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-85k | 12: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 kernel | 12:30 |
*** somlo_ is now known as somlo | 12:30 | |
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 | 12:31 |
*** nelgau <[email protected]> has quit IRC (Ping timeout: 258 seconds) | 12:31 | |
geertu | somlo: Unfortunately no standard Linux distro supports 32-bit, so that's a good reason to use rocket instead. | 12:33 |
geertu | I guess the -85K does vex-riscv multi-core. My -25K doesn't (and also no rocket :-( | 12:34 |
zyp | isn't naxriscv also a decent alternative? | 13:07 |
geertu | zyp: 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 #litex | 13:58 | |
*** stettberger <[email protected]> has quit IRC (Quit: Client closed) | 14:02 | |
*** nelgau <[email protected]> has joined #litex | 14:15 | |
*** stettberger <[email protected]> has joined #litex | 14:45 | |
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. | 14:47 |
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 :) | 14:52 |
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 | 14:54 |
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) | 14:56 |
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 | 14:57 |
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 | 15:02 |
stettberger | Yeah, for building your own OS, 32-bit is more than enough horror | 15:02 |
stettberger | Currently, we are doing this with IA-32 (while some colleagues switched to AMD64, because... i don't know) | 15:03 |
stettberger | My 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 | |
stettberger | zyp: 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 | |
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 | 15: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 #litex | 16: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 #litex | 17: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 #litex | 20: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/!