_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://freenode.irclog.whitequark.org/litex
tpb has quit [Remote host closed the connection]
tpb has joined #litex
jaseg has quit [Ping timeout: 246 seconds]
jaseg has joined #litex
Degi has quit [Ping timeout: 260 seconds]
Degi has joined #litex
CarlFK has quit [Quit: Leaving.]
_whitelogger has joined #litex
TMM has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM has joined #litex
kgugala_ has quit [*.net *.split]
HoloIRCUser has quit [*.net *.split]
daddesio has quit [*.net *.split]
trabucayre has quit [*.net *.split]
anuejn has quit [*.net *.split]
goran-mahovlic has quit [*.net *.split]
simeonm has quit [*.net *.split]
goran-mahovlic has joined #litex
simeonm has joined #litex
kgugala_ has joined #litex
daddesio has joined #litex
HoloIRCUser has joined #litex
anuejn has joined #litex
trabucayre has joined #litex
jaseg has quit [Ping timeout: 246 seconds]
jaseg has joined #litex
HoloIRCUser1 has joined #litex
HoloIRCUser2 has joined #litex
HoloIRCUser1 has quit [Read error: Connection reset by peer]
HoloIRCUser has quit [Ping timeout: 256 seconds]
HoloIRCUser2 has quit [Ping timeout: 246 seconds]
CarlFK has joined #litex
mescobar has joined #litex
scanakci has joined #litex
_whitelogger has joined #litex
_whitelogger has joined #litex
TMM has quit [Remote host closed the connection]
acathla has quit [Remote host closed the connection]
acathla has joined #litex
dkozel has quit [Ping timeout: 240 seconds]
TMM has joined #litex
dkozel has joined #litex
<scanakci> Did anyone recently try Vexriscv on Genesys board with a frequency lower than 125 MhZ?
<scanakci> Memory tests fail if I use 75MhZ rather than default 125 MhZ.
<scanakci> Memory tests for Rocket also fails if I use 75 MhZ clock frequency.
mescobar has quit [Remote host closed the connection]
CarlFK has quit [Quit: Leaving.]
indy has joined #litex
CarlFK has joined #litex
HoloIRCUser has joined #litex
kgugala has joined #litex
kgugala_ has quit [Read error: Connection reset by peer]
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 265 seconds]
HoloIRCUser1 has joined #litex
HoloIRCUser has quit [Ping timeout: 272 seconds]
<lkcl> scanakci: interestingly i have a similar isssue on a versa ecp5 - below 55-60 mhz the memory tests fail
<lkcl> however in discussing with daveshah yesterday he mentioned that some boards can go as low as 48mhz no problem
<lkcl> meaning: the particular DRAM ICs or something to do with the way they're soldered is causing problems.
<lkcl> really this needs fixing by having DRAM on its own PLL.
<lkcl> on the versa ecp5 there's 2 spare to do that
<daveshah> It's more complex than that, as you then need CDC on the DRAM interfaces too
<lkcl> CDC?
<lkcl> cross-domain clock synchronisation?
<daveshah> yes
<daveshah> for both the CSR control bus and the main memory Wishbone bus
<lkcl> between wishbone and the DRAM... ah the CSR as well.
kgugala has joined #litex
kgugala_ has quit [Ping timeout: 240 seconds]
indy has quit [Ping timeout: 240 seconds]
indy has joined #litex
indy has quit [Quit: ZNC - http://znc.sourceforge.net]
HoloIRCUser has joined #litex
HoloIRCUser1 has quit [Ping timeout: 264 seconds]
indy has joined #litex
indy has quit [Ping timeout: 256 seconds]
indy has joined #litex
_whitelogger has joined #litex
indy has quit [Ping timeout: 240 seconds]
indy has joined #litex
<_florent_> lkcl: the sys_clk is currently coupled to the dram_clk to avoid CDC that can be costly
<_florent_> in term of resources
<_florent_> lkcl: this is generally working fine with CPUs that are really targeting FPGAs, but indeed does not work well with CPUs targeting ASICs
<_florent_> that's something we could work on in the next months
<_florent_> some automatic benchs have been already created to check calibration at various frequencies (with a main PLL reconfigured dynamically), this need to be extended to more boards and after that we could see if it's interesting to add CDC support directly with LiteX, or if this should be done with a standalone LiteDRAM controller (with a SERV CPU doing the initialization) and do the CDC on the user ports. The latter is
<_florent_> already possible, but still require some time to create/test the design.
<tpb> Title: litedram/arty.py at master · enjoy-digital/litedram · GitHub (at github.com)
<scanakci> thanks @lkcl
<lkcl> _florent_: appreciated
<lkcl> well, fortunately, after 2 *days* of arseing about, i've tracked down a bunch of critical path issues
<lkcl> none of them being important in simulation of course
<lkcl> one of which was that the instruction decoder (which is enormous in POWER9) was combinatorially linked/chained to register read.
<lkcl> looovely
<lkcl> daveshah: Info: 2.9 ns logic, 14.8 ns routing
<lkcl> Info: Max frequency for clock '$glbnet$sys_clk': 56.72 MHz
<lkcl> yaaaaaa it's above 55 mhz, w00t.
<lkcl> but.. boy did i make a dog's dinner of the RTL finding out that it was the decoder...
<lkcl> picorv32 runs @ 55mhz on this LFE5UM... libresoc shouuuld therefore also run
<lkcl> _florent_: just looking at nextpnr critical path
<lkcl> now that i've fixed the decoder combinatorial issues in libresoc
<lkcl> the 32-to-64 bit wishbone converter is a major combinatorial path
<lkcl> Info: 0.2 13.3 Source testsoc_converter1_counter_converter1_next_value_LUT4_Z_D_LUT4_Z_SLICE.F1
<lkcl> Info: 0.0 17.5 Setup csr_bankarray_interface1_bank_bus_dat_r_LUT4_C_Z_LUT4_D_Z_LUT4_Z_SLICE.CE
<lkcl> 3ns logic, 5ns routing
<lkcl> which means, any core with a 64 bit bus is inherently going to have to run slower
<_florent_> lkcl: great if you managed to improved fmax, for the critical path, can you try with upstream LiteX?
<tpb> Title: interconnect/wishbone/Wishbone2CSR: add registered version and use it… · enjoy-digital/litex@e4f5dd9 · GitHub (at github.com)
<lkcl> _florent_: yes currently on commit bb7f33434ec1dc6493b4a25d58cd8aecce9694a5
<lkcl> _florent_: ahh, more recent. excellent will give it a shot
<lkcl> _florent_: yep, one of the pipelines is back to being "the" critical path :)
<_florent_> it's your turn then :)
<lkcl> haha funny man :)
<_florent_> btw have you been able to test it on hardware with the DDR3 at 55MHz?
<lkcl> not yet: i have a missing instruction (hrfid) which previously was ignored
<_florent_> ah ok
<lkcl> some changes to the POWER9 decoder accidentally "un-ignored" it...
<lkcl> and it's now being interpreted as an illegal instruction.. trap... faillll..
<lkcl> currently trying to track down why, when i know i've added support for it, it is being ignored
<lkcl> _florent_: fixed in sim (changes to FSM forgot to copy PC, MSR)
<lkcl> ecp5 should work, will find out in... 2-3 mins
<lkcl> _florent_: libresoc core back up and running in ecp5, however those bus changes miiight have broken something
<lkcl> i'm checking again with picorv32 except that's 32-bit
<lkcl> ah: yes, broken with picorv32 as well
<lkcl> 1 sec will checkout commit bb7f33434ec1dc6493b4a25d58cd8aecce9694a5
<daveshah> how is it failing? totally dead, or DDR issues?
<lkcl> DDR
<lkcl> - bus errors: 4/256
<lkcl> - addr errors: 8192/8192
<lkcl> - data errors: 524288/524288
<lkcl> where on bb7f3343, picorv32 was going "yep i'm happy with that"
<lkcl> errr... and now it isn't
<lkcl> err
<lkcl> ah 1 sec
<lkcl> i think i wrote "+6" to the ecp5dram.py
<lkcl> after we experimented yesterday
<lkcl> 1 sexc
<lkcl> sec
<lkcl> ok yep working with litedram changes reverted (picorv32)
<daveshah> cool
* lkcl trying with litex master, picorv32
<lkcl> ha, all good there too: picorv32, git master litex
<lkcl> litex/soc/interconnect/wishbone.py updates
<lkcl> interesting - libresoc, bb7f33434 still fails @ 55mhz
* lkcl trying git master litex, libresoc 64-bit bus, 55mhz
<lkcl> i should try microwatt, next.
<lkcl> nope on libresoc git master, 64-bit 55mhz.
* lkcl trying microwatt instead.
<lkcl> off to get coffee and watch a bit of season 5 episode 5 andromeda :)
tnt has left #litex [#litex]
<lkcl> holy cow microwatt takes a long time on nextpnr-ecp5
<lkcl> 45 minutes and it's only 85% complete
<daveshah> Yes, I think there is an issue with bram inference that results in a large and congested design
<daveshah> Last I looked anyway
<lkcl> ahh raptor engineering mentioned this
* lkcl episode 6, season 5 of andromeda it is, then :)
lkcl has quit [Ping timeout: 240 seconds]
lkcl has joined #litex
CarlFK has quit [Quit: Leaving.]
lf has quit [Ping timeout: 260 seconds]
lf has joined #litex
CarlFK has joined #litex