_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
peepsalot has quit [Quit: Connection reset by peep]
Degi has quit [Ping timeout: 252 seconds]
Degi_ has joined #litex
Degi_ is now known as Degi
peepsalot has joined #litex
awordnot has quit [Ping timeout: 245 seconds]
awordnot has joined #litex
pftbest has quit [Remote host closed the connection]
pftbest has joined #litex
pftbest has quit [Ping timeout: 240 seconds]
esden has quit [Ping timeout: 250 seconds]
esden has joined #litex
msh_ has quit [Read error: Connection reset by peer]
msh has joined #litex
alainlou42 has joined #litex
alainlou42 has quit [Client Quit]
_whitelogger has joined #litex
hexagon5un has joined #litex
vup has quit [*.net *.split]
joseng has quit [*.net *.split]
lkcl has quit [*.net *.split]
mithro has quit [*.net *.split]
Wolf0 has quit [*.net *.split]
simeonm has quit [*.net *.split]
mithro has joined #litex
vup has joined #litex
lkcl has joined #litex
Wolf0 has joined #litex
simeonm has joined #litex
joseng has joined #litex
FabM has joined #litex
FabM has joined #litex
FabM has quit [Changing host]
C-Man has quit [Ping timeout: 252 seconds]
alainlou has quit [Ping timeout: 256 seconds]
pavelow has quit [Ping timeout: 256 seconds]
pavelow has joined #litex
lexano has quit [Ping timeout: 240 seconds]
lexano has joined #litex
pftbest has joined #litex
pftbest has quit [Ping timeout: 252 seconds]
pftbest has joined #litex
pftbest has quit [Remote host closed the connection]
pftbest has joined #litex
pftbest_ has joined #litex
pftbest has quit [Ping timeout: 252 seconds]
peepsalot has quit [Quit: Connection reset by peep]
peepsalot has joined #litex
C-Man has joined #litex
C-Man has quit [Ping timeout: 250 seconds]
TMM_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM_ has joined #litex
<david-sawatzke[m> florent: When liteeth is ported to a wider bitwidth, I think the best course of action would be to keep everything in LE and only convert to BE in sram.py.
<david-sawatzke[m> Does that sound reasonable?
<leons> Yeah, I’d also like to vouch for having everything LE and only converting in the wishbone interface, not even SRAM. That reduces a lot of the complexity and allows us to just use a reusable component for the Wishbone endianness conversion
<_florent_> david-sawatzke[m, leons: this seems fine yes
<_florent_> (BTW sorry I haven't been able to review your PRs yet, I'll do that soon)
alainlou has joined #litex
<alainlou> hey everyone, I'm trying to get the bare_metal_demo app to run on my board, but boot_helper doesn't jump to the right place it seems. I'm debugging with led_write's before the call to boot helper and on the first line of main in the application
<alainlou> things I know work: boot menu functionality, sdram_test
<alainlou> I'm running with vexriscv minimal, there seem to be no CRC errors when loading the code over UART
<alainlou> things I've tried: `rm -rf build`, rm -rf all my litex stuff and running litex_setup.py all over again, `li x13, 0x40000000` before the `jr x13` in boot_helper
<alainlou> no matter what I try, the debugging led_write happens before boot_helper but not on the first line of main :(
<alainlou> any tips/other ways I could look at this?
<alainlou> would be highly appreciated!
michalsieron has joined #litex
michalsieron has quit [Quit: michalsieron]
<_florent_> alainlou: can you try in simulation?
<_florent_> litex_sim
<_florent_> python3 demo.py --build-path=build/sim
<_florent_> litex_sim --ram-init=demo.bin
<_florent_> and then try to use VexRiscv minimal variant
<_florent_> Have you tried with standard VexRiscv on hardware?
FabM has quit [Quit: Leaving]
<kbeckmann> Is there an easy way to add a second BRAM-backed RW memory that can be used as application storage? I want to keep the SDRAM that I am using isolated from the application code, but still be able to use lxterm to upload and boot a custom application.
<kbeckmann> thanks!
<kbeckmann> wow that is so simple.
<_florent_> then just update your linker and litex_term command to use this base address
<kbeckmann> cool
<alainlou> hey _florent_ thanks for the tip! I'm trying to get lxsim to work but unfortunately have some issues running `lxsim` (https://pastebin.com/wsqWRCVV) and what I suspect is the problem command (https://pastebin.com/cggcDgj6)
<alainlou> and also unforunately standard doesn't fit on my board :(
<_florent_> alainlou: sorry I'm leaving the office so won't be able to look at the lxsim issue now
<_florent_> but I just tested in simulation on my machine with VexRiscv minimal and it's working fine
<_florent_> so it can be an issue when loading over lxterm or an sdram issue
<_florent_> which board are you using?
<alainlou> rz_easyfpga, not something currently supported :D
<alainlou> no worries! totally not urgent
<alainlou> what should I look for for lxterm or sdram issue? I don't see any CRC errors when loading the application code and `sdram_test` on BIOS says it's fine ....
Martoni42 has joined #litex
Martoni42 has quit [Ping timeout: 250 seconds]
pftbest_ has quit [Ping timeout: 244 seconds]
pftbest has joined #litex
pftbest has quit [Ping timeout: 244 seconds]
TMM_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM_ has joined #litex
pftbest has joined #litex
alainlou has quit [Quit: Client closed]
pftbest_ has joined #litex
pftbest has quit [Read error: Connection reset by peer]
pftbest has joined #litex
pftbest_ has quit [Read error: Connection reset by peer]
<kbeckmann> Are there any examples that I can look at that uses multiple wishbone buses for SDRAM? I want to, at one specific time, access the SDRAM from the CPU, and then at a later time exclusively access the SDRAM from my gateware. However, when using a shared wishbone bus, I see that the request time sometimes becomes longer, probably because the CPU is performing bus accesses.
<_florent_> kbeckmann: you can add a SDRAM port with self.sdram.get_port(...)
<kbeckmann> thank you so much, this is exactly what i need.
<_florent_> or grep get_port in the code (ex in soc/cores/video)
<kbeckmann> ah yeah that seems like a good place to look at too.
C-Man has joined #litex
<kbeckmann> so close.. most of the time the access is fast enough, but sometimes i miss the narrow latency window that i have. i think my sdram parameters are simply too slow for my application.
<kbeckmann> would i save clock cycles if i perform direct commands and skip the wishbone conversion?
<_florent_> It will reduce latency yes. With a direct port you'll also avoid waiting for all the others SoC bus accesses that are not targeting the SDRAM
<kbeckmann> ok, great :). i am making sure that nothing else touches the SDRAM while i run the latency critical stuff, so that should be okay.
alainlou has joined #litex
<jevinskie[m]> Speaking of latency, would disabling banks help or does the controller keep constant latency as N banks grows? I only need 32 mb or 1 bank of the 256 mb dram.
<jevinskie[m]> kbeckmann: you could try “overclocking” by reducing the CL cycle number. I was able to run the arty ram at CL8 which avoids another cycle latency of latency in the DFI PHY vs CL9 with a frequency ratio of 1:4 (but I guess the DFI isn’t applicable to SDRAM?)
<kbeckmann> thanks, i tried something like that and it helps but sometimes i get these longer stalls that i don't really understand
<kbeckmann> notice how the cyc/stb signals at the cursor are longer than the others https://allg.one/d2e7
<kbeckmann> this is with a separate wishbone port to the sdram, so there shouldn't be any stalls caused by the CPU.
<jevinskie[m]> Refresher doing its thing, perhaps?
<jevinskie[m]> I still need to try this Refresher patch out that gives pending commands a chance before refresh begins https://github.com/jfng/litedram/commit/40d822df63d491289535c584646121fba40e8c04
<kbeckmann> yeah that could be it.
<jevinskie[m]> Are you working on this right now? https://github.com/kbeckmann/ECPKart64
<kbeckmann> yep
<kbeckmann> it's *very* much wip
<jevinskie[m]> I have similar tight dram latency constraints for SPI flash emulation at 50 MHz. I think I can do it with a 32 bit bus at 200/800 MHz but it will be with just a handful of sysclk to use vs the base DFI signal latencies
<kbeckmann> i had some issues writing data to the sdram using uartbone (got random skip zones with 0xffffffff), will try to isolate and report an issue for that unless i am doing something wrong. settled for a hacky uart loader instead for the time being.
<kbeckmann> i see
pftbest has quit [Remote host closed the connection]
<jevinskie[m]> Cool project btw!! I always wanted to do for gamegear with sram or something :)
pftbest has joined #litex
<kbeckmann> thanks :). ah yeah, with dedicated SRAM things are easier for sure. unfortunately i need a couple of MB.
<kbeckmann> managed to boot from BRAM so i know that the bus logic works
<kbeckmann> there is a way to increase the read latency in the rom, will experiment with that and see if i can get it to boot at all with sdram. but now, i have to sleep :). thanks for all the help, it's really appreciated.