Thursday, 2024-05-02

*** tpb <[email protected]> has joined #litex00:00
*** sakman <[email protected]> has joined #litex01:03
*** ElfenKaiser <ElfenKaiser!~deadsalmo@2a0a-a541-6c15-0-5906-18b5-a765-8c2.ipv6dyn.netcologne.de> has quit IRC (Quit: Konversation terminated!)01:58
*** Stary <Stary!Stary@hacksoc/infrastructure> has quit IRC (Quit: ZNC - http://znc.in)03:41
*** Degi_ <[email protected]> has joined #litex03:42
*** Degi <[email protected]> has quit IRC (Ping timeout: 260 seconds)03:42
*** Degi_ is now known as Degi03:42
*** Stary <Stary!Stary@hacksoc/infrastructure> has joined #litex03:47
*** CarlFK <[email protected]> has quit IRC (Ping timeout: 272 seconds)04:37
*** joshua_ <joshua_!~joshua@2607:fea0:2:8149::> has joined #litex04:45
joshua_Hi!  I am back, some time later.  I'm trying to figure out a reasonable flow to build software as part of my LiteX build.  Basically, I want to have my firmware compiled into the bitstream, with a single large SRAM (i.e., no ROM-to-SRAM copy).  I think I want a flow that is similar to the BIOS build flow, but instead of the BIOS, I want to build, say, the LiteX bare metal demo.05:17
*** 078AATWML <[email protected]> has joined #litex05:36
ysionneaujoshua_: I can see in soc_core.py you can easily add ram/rom to the SoC but you need to pass directly the binary file to init the ramblock, you can't just pass a path that will get built05:57
ysionneauso I don't think litex supports for now adding other build than the bios, but I might be wrong :o05:57
ysionneauI also looked at builder.py which contains the logic to build the bios but it seems it only builds bios and basic libraries05:59
ysionneaubut maybe logic can be extended/generalized in builder.py ?06:00
ysionneaumaybe the add_ram() / add_rom() from the SoC class can be extended to be called with a path/build type info (makefile/meson/cmake etc) to tell how to build the content of those rams06:02
ysionneauthen builder.py can "finalyze" everything and build those, like it's done for the bios06:03
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)06:09
*** TMM_ <[email protected]> has joined #litex06:09
joshua_I think I am making some progress by doing a `builder.add_software_package`06:11
joshua_and indeed I am doing s `self.init_rom('main_ram', get_mem_data('demo.bin', endianness = 'little', data_width = 32))06:11
joshua_`06:11
joshua_but I am sort of lost in how I would specify the correct path to `demo.bin` from __init__ in a SoCCore, before the builder has even done its work yet06:12
ysionneauah yes you're right, _generate_rom_software() seems to build everything it finds in self.software_packages06:13
ysionneauso maybe it's ok like this06:13
joshua_maybe I can override `build` in my SoC object06:15
joshua_I think I have achieved this06:25
joshua_if this actually runs correctly on my board I will pastebin it06:25
*** FabM <[email protected]> has joined #litex06:33
joshua_https://gist.github.com/jwise/827ee5e26e1cdea7aa636542bf772547 this is how I achieved this06:36
ysionneauseems like a bit of a "hack" but I guess it's a good start until someone adds proper support06:42
joshua_yes, the situation is not great06:43
*** 078AATWML <[email protected]> has quit IRC (Ping timeout: 268 seconds)06:50
zypjoshua_, beware that if you don't split .data into a RW area and a RO area of initial values, you can't reset the CPU without reloading the whole FPGA07:04
joshua_that explains why I could not reset the CPU07:04
joshua_is it still the case that 32-bit CSRs in LiteX are not really a thing?  I am seeing some documentation from quite a while ago that CSRs are 8 bits strided in memory one dword at a time, and I am feeling like it would be nice to have atomic 32-bit loads/stores on CSRs07:14
joshua_but the documentation is quite out of date07:14
zypI think it's configurable and IIRC the default got changed to 32 years ago07:15
joshua_that is pleasant to know07:15
zypthe CSRs in the stuff I've worked on is certainly 32b07:15
joshua_cool.  I shall try it tomorrow07:18
*** ElfenKaiser <ElfenKaiser!~deadsalmo@2a0a-a540-e50f-0-c834-38ab-f897-1877.ipv6dyn.netcologne.de> has joined #litex07:50
*** d_olex <d_olex!~d_olex@user/d-olex:35658> has quit IRC (Ping timeout: 260 seconds)12:04
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)13:21
*** TMM_ <[email protected]> has joined #litex13:21
*** CarlFK1 <[email protected]> has joined #litex13:36
mithrohttps://antmicro.com/blog/2024/04/simulating-zephyr-based-pcie-devices-warp-pipe/ is pretty cool!13:40
tpbTitle: Antmicro ยท Warp Pipe: library for simulation-driven development of Zephyr and Linux-based PCIe devices (at antmicro.com)13:40
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 264 seconds)15:03
*** ElfenKaiser <ElfenKaiser!~deadsalmo@2a0a-a540-e50f-0-c834-38ab-f897-1877.ipv6dyn.netcologne.de> has quit IRC (Quit: Konversation terminated!)15:13
*** d_olex <d_olex!~d_olex@user/d-olex:35658> has joined #litex15:43
*** CarlFK1 <[email protected]> has quit IRC (Ping timeout: 252 seconds)18:23
*** CarlFK <[email protected]> has joined #litex19:29
*** CarlFK <[email protected]> has quit IRC (Ping timeout: 240 seconds)19:33
*** CarlFK <CarlFK!~carl@2600:1700:7000:8f80:bbaf:1a53:bd14:b3b5> has joined #litex19:38
*** CarlFK <CarlFK!~carl@2600:1700:7000:8f80:bbaf:1a53:bd14:b3b5> has quit IRC (Ping timeout: 245 seconds)20:09
*** CarlFK <CarlFK!~carl@2600:1700:7000:8f80:f6b5:e73f:606a:d9a8> has joined #litex20:15
*** ElfenKaiser <ElfenKaiser!~deadsalmo@2a0a-a540-e50f-0-c834-38ab-f897-1877.ipv6dyn.netcologne.de> has joined #litex21:40
*** CarlFK <CarlFK!~carl@2600:1700:7000:8f80:f6b5:e73f:606a:d9a8> has quit IRC (Ping timeout: 245 seconds)23:01

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