freeemint has quit [Remote host closed the connection]
freeemint has joined #litex
freemint has joined #litex
freeemint has left #litex [#litex]
<_florent_>
xobs, somlo: following our recent discussions, i just added io_regions (uncached regions) to SoCCore/CPU to replace shadow_base (it's still possible to use shadow_base to avoid breaking designs but no longer recommended)
<tpb>
Title: soc_core/cpu: add io_regions and deprecate shadow_base (with API retr… · enjoy-digital/litex@a4ef9b2 · GitHub (at github.com)
<_florent_>
this should be easier to apprehend, instead of adding shadow base to io peripherals automatically, we now just check that the io peripherals is in an IO region defined by the user or the CPU
<_florent_>
somlo: this should solve the case where you wanted shadow_base = 0 for Rocket since now you can just define your own io_regions in the Rocket wrapper
<xobs>
florent: Awesome!
<_florent_>
xobs: for vexriscv, i added and io_region that is equivalent to what we had with a shadow_base of 0x80000000, but from what we discussed previously, i don't think that's correct and we should reduce it
<_florent_>
xobs: thanks, the special case for litex seems to be for ethernet (0xB) and spiflash (0x5) for linux-on-litex-vexriscv, we'll see in the future if it's useful to reduce to strictly these regions in the VexRiscv wrapper
<xobs>
Oh, so /that's/ where those regions come from!
<xobs>
florent: how well does the wishbone2csr bridge handle clock domain crossing?
<xobs>
Hmm... I think I asked that before, and in looking at it now the answer appears to be "not well". I think I may need to put a PulseSynchronizer on the .re lines. Maybe on the .we lines as well.
freemint has joined #litex
<_florent_>
xobs: since there is no handshake on the csr bus, that's difficult to do cdc on it. The best is whether to have a wishbone csr before the wishone2csr, or do the CDC on the CSR register signals (we, re, storage, status...)
freemint has quit [Ping timeout: 264 seconds]
<xobs>
I think in my USB stack, signals are slow enough that it'll be fine to just get the we and re pulses to cross. But it'll require some rework. Maybe. (Famous last words.)
freemint has joined #litex
freemint has quit [Ping timeout: 250 seconds]
xobs has quit [Ping timeout: 250 seconds]
xobs has joined #litex
freemint has joined #litex
freemint has quit [Ping timeout: 245 seconds]
felix_ has quit [Ping timeout: 268 seconds]
felix___ has joined #litex
felix___ is now known as felix_
freemint has joined #litex
<somlo>
_florent_: thanks, works like a charm. Once https://github.com/enjoy-digital/rocket-litex-verilog/pull/2 is applied, I'll send a litex PR to redo the Rocket map at the same time as we switch to updated verilog built for that new map
<tpb>
Title: RFC: Place MMIO below 0x8000_0000, and L1-cached RAM above 0x8000_0000 by gsomlo · Pull Request #2 · enjoy-digital/rocket-litex-verilog · GitHub (at github.com)