<tnt>
Shouldn't the PCIe address translation be handled by litex_server rather than the client ?
<tnt>
After all, it's kind of its job to fully abstract the access method from the client so having them check if the server uses PCIe and apply the offset is kind of weird.
Brinx has quit [Remote host closed the connection]
<somlo>
gatecat: I finally managed to build a fpu-enabled rocket + litex on the ecpix5, which passes timing, and memtest, and boots linux via opensbi. Thanks again for pointing out "flow3" -- I had to run nextpnr a few times in a loop until it managed to pass timing, but eventually I got there :)
<gatecat>
very nice :3
<gatecat>
another thing to play with might be `--tmg-ripup` with nextpnr
<somlo>
now that I have it working, let me try booting fedora on it
<gatecat>
it's sometimes helpful when designs are just failing timing
<somlo>
oh, interesting -- I'll have to play with that flag too (and add it to the litex command line in case it proves helpful :)
<somlo>
but the main thing is I can finally leave BBL behind (and unfortunately the versa board, which doesn't have room for the fpu on its 45k ecp5 chip)
<zyp>
> Basically, you’re allowed just one write port without also inferring an arbiter. Although the RAMB36E1 primitive supports two write ports, the verilog template used to infer them is rejected by Vivado (as of 2018.2).
<zyp>
so you can either put an arbiter in front of a single ported memory or directly instance a dual port primitive
<esteves>
so, I would have to use directly the wishbone interface in the logic to write to the memory? or there is already a module doing the abstraction?
<tnt>
Oh really it doesn't support the pattern ? That's a shame :/
<somlo>
at this point I think it's probably in the software
<somlo>
I'll try it on the trellisboard and the genesys2 (1G RAM, less memory pressure), and maybe try turning off a buch of the on-by-default services