Friday, 2020-08-14

*** tpb has joined #litex00:00
*** jaseg has quit IRC00:01
*** jaseg has joined #litex00:04
*** Degi has quit IRC00:21
*** Degi has joined #litex00:22
*** CarlFK has quit IRC00:25
*** _whitelogger has quit IRC00:54
*** _whitelogger has joined #litex00:56
*** TMM has quit IRC02:23
*** TMM has joined #litex02:24
*** kgugala_ has quit IRC02:53
*** HoloIRCUser has quit IRC02:53
*** daddesio has quit IRC02:53
*** trabucayre has quit IRC02:53
*** anuejn has quit IRC02:53
*** simeonm has quit IRC02:53
*** goran-mahovlic has quit IRC02:53
*** simeonm has joined #litex02:54
*** goran-mahovlic has joined #litex02:54
*** kgugala_ has joined #litex02:59
*** HoloIRCUser has joined #litex02:59
*** daddesio has joined #litex02:59
*** trabucayre has joined #litex02:59
*** anuejn has joined #litex02:59
*** jaseg has quit IRC03:03
*** jaseg has joined #litex03:05
*** HoloIRCUser1 has joined #litex03:23
*** HoloIRCUser2 has joined #litex03:24
*** HoloIRCUser1 has quit IRC03:24
*** HoloIRCUser has quit IRC03:27
*** HoloIRCUser2 has quit IRC03:39
*** CarlFK has joined #litex03:48
*** mescobar has joined #litex04:24
*** scanakci has joined #litex04:42
*** _whitelogger has quit IRC04:51
*** _whitelogger has joined #litex04:53
*** _whitelogger has quit IRC05:15
*** _whitelogger has joined #litex05:17
*** TMM has quit IRC05:49
*** acathla has quit IRC05:49
*** acathla has joined #litex05:49
*** dkozel has quit IRC05:50
*** TMM has joined #litex05:50
*** dkozel has joined #litex05:51
scanakciDid anyone recently try Vexriscv on Genesys board  with a frequency lower than 125 MhZ?05:55
scanakciMemory tests fail if I use 75MhZ rather than default 125 MhZ.05:56
scanakciMemory tests for Rocket also fails if I use 75 MhZ clock frequency.06:05
*** mescobar has quit IRC06:06
*** CarlFK has quit IRC06:38
*** indy has joined #litex06:38
*** CarlFK has joined #litex07:11
*** HoloIRCUser has joined #litex08:28
*** kgugala has joined #litex09:02
*** kgugala_ has quit IRC09:04
*** kgugala_ has joined #litex09:04
*** kgugala has quit IRC09:06
*** HoloIRCUser1 has joined #litex10:13
*** HoloIRCUser has quit IRC10:17
lkclscanakci: interestingly i have a similar isssue on a versa ecp5 - below 55-60 mhz the memory tests fail10:53
lkclhowever in discussing with daveshah yesterday he mentioned that some boards can go as low as 48mhz no problem10:54
lkclmeaning: the particular DRAM ICs or something to do with the way they're soldered is causing problems.10:55
lkclreally this needs fixing by having DRAM on its own PLL.10:56
lkclon the versa ecp5 there's 2 spare to do that10:56
daveshahIt's more complex than that, as you then need CDC on the DRAM interfaces too10:56
lkclCDC?10:56
lkclcross-domain clock synchronisation?10:57
daveshahyes10:57
daveshahfor both the CSR control bus and the main memory Wishbone bus10:58
lkclbetween wishbone and the DRAM... ah the CSR as well.10:58
*** kgugala has joined #litex12:00
*** kgugala_ has quit IRC12:04
*** indy has quit IRC12:48
*** indy has joined #litex12:55
*** indy has quit IRC13:01
*** HoloIRCUser has joined #litex13:02
*** HoloIRCUser1 has quit IRC13:06
*** indy has joined #litex13:11
*** indy has quit IRC13:21
*** indy has joined #litex13:24
*** _whitelogger has quit IRC13:51
*** _whitelogger has joined #litex13:53
*** indy has quit IRC14:14
*** indy has joined #litex14:16
_florent_lkcl: the sys_clk is currently coupled to the dram_clk to avoid CDC that can be costly14:42
_florent_in term of resources14:43
_florent_lkcl: this is generally working fine with CPUs that are really targeting FPGAs, but indeed does not work well with CPUs targeting ASICs14:44
_florent_that's something we could work on in the next months14:45
_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 is14:49
_florent_already possible, but still require some time to create/test the design.14:49
_florent_the bench on Arty is here: https://github.com/enjoy-digital/litedram/blob/master/bench/arty.py14:49
tpbTitle: litedram/arty.py at master · enjoy-digital/litedram · GitHub (at github.com)14:49
scanakcithanks @lkcl16:23
lkcl_florent_: appreciated16:58
lkclwell, fortunately, after 2 *days* of arseing about, i've tracked down a bunch of critical path issues16:58
lkclnone of them being important in simulation of course16:59
lkclone of which was that the instruction decoder (which is enormous in POWER9) was combinatorially linked/chained to register read.16:59
lkcllooovely16:59
lkcldaveshah: Info: 2.9 ns logic, 14.8 ns routing17:00
lkclInfo: Max frequency for clock              '$glbnet$sys_clk': 56.72 MHz17:00
lkclyaaaaaa it's above 55 mhz, w00t.17:00
lkclbut.. boy did i make a dog's dinner of the RTL finding out that it was the decoder...17:03
lkclpicorv32 runs @ 55mhz on this LFE5UM... libresoc shouuuld therefore also run17:05
lkcl_florent_: just looking at nextpnr critical path17:08
lkclnow that i've fixed the decoder combinatorial issues in libresoc17:08
lkclthe 32-to-64 bit wishbone converter is a major combinatorial path17:09
lkclInfo:  0.2 13.3  Source testsoc_converter1_counter_converter1_next_value_LUT4_Z_D_LUT4_Z_SLICE.F117:09
lkclInfo:  0.0 17.5  Setup csr_bankarray_interface1_bank_bus_dat_r_LUT4_C_Z_LUT4_D_Z_LUT4_Z_SLICE.CE17:09
lkcl3ns logic, 5ns routing17:10
lkclwhich means, any core with a 64 bit bus is inherently going to have to run slower17:11
_florent_lkcl: great if you managed to improved fmax, for the critical path, can you try with upstream LiteX?17:40
_florent_https://github.com/enjoy-digital/litex/commit/e4f5dd987eb8d2a98c714d4e2130fe015e1df244 and https://github.com/enjoy-digital/litex/commit/35929c0f8a8f1cc098a6b6ebb569caca8df8c08d could help17:41
tpbTitle: interconnect/wishbone/Wishbone2CSR: add registered version and use it… · enjoy-digital/litex@e4f5dd9 · GitHub (at github.com)17:41
lkcl_florent_: yes currently on commit bb7f33434ec1dc6493b4a25d58cd8aecce9694a518:46
lkcl_florent_: ahh, more recent.  excellent will give it a shot18:47
lkcl_florent_: yep, one of the pipelines is back to being "the" critical path :)18:56
_florent_it's your turn then :)18:58
lkclhaha funny man :)18:58
_florent_btw have you been able to test it on hardware with the DDR3 at 55MHz?18:59
lkclnot yet: i have a missing instruction (hrfid) which previously was ignored18:59
_florent_ah ok18:59
lkclsome changes to the POWER9 decoder accidentally "un-ignored" it...18:59
lkcland it's now being interpreted as an illegal instruction.. trap... faillll..19:00
lkclcurrently trying to track down why, when i know i've added support for it, it is being ignored19:01
lkcl_florent_: fixed in sim (changes to FSM forgot to copy PC, MSR)20:33
lkclecp5 should work, will find out in... 2-3 mins20:33
lkcl_florent_: libresoc core back up and running in ecp5, however those bus changes miiight have broken something20:40
lkcli'm checking again with picorv32 except that's 32-bit20:40
lkclah: yes, broken with picorv32 as well20:41
lkcl1 sec will checkout commit bb7f33434ec1dc6493b4a25d58cd8aecce9694a520:41
daveshahhow is it failing? totally dead, or DDR issues?20:41
lkclDDR20:42
lkcl- bus errors:  4/25620:42
lkcl- addr errors: 8192/819220:42
lkcl- data errors: 524288/52428820:42
lkclwhere on bb7f3343, picorv32 was going "yep i'm happy with that"20:42
lkclerrr... and now it isn't20:43
lkclerr20:43
lkclah 1 sec20:44
lkcli think i wrote "+6" to the ecp5dram.py20:44
lkclafter we experimented yesterday20:44
lkcl1 sexc20:44
lkclsec20:44
lkclok yep working with litedram changes reverted (picorv32)20:46
daveshahcool20:46
* lkcl trying with litex master, picorv3220:47
lkclha, all good there too: picorv32, git master litex20:49
lkcllitex/soc/interconnect/wishbone.py updates20:49
lkclinteresting - libresoc, bb7f33434 still fails @ 55mhz20:53
* lkcl trying git master litex, libresoc 64-bit bus, 55mhz20:53
lkcli should try microwatt, next.20:55
lkclnope on libresoc git master, 64-bit 55mhz.20:59
* lkcl trying microwatt instead.21:00
lkcloff to get coffee and watch a bit of season 5 episode 5 andromeda :)21:00
*** tnt has left #litex21:29
lkclholy cow microwatt takes a long time on nextpnr-ecp521:52
lkcl45 minutes and it's only 85% complete21:53
daveshahYes, I think there is an issue with bram inference that results in a large and congested design21:53
daveshahLast I looked anyway21:53
lkclahh raptor engineering mentioned this21:54
* lkcl episode 6, season 5 of andromeda it is, then :)21:54
*** lkcl has quit IRC22:18
*** lkcl has joined #litex22:54
*** CarlFK has quit IRC23:09
*** lf has quit IRC23:10
*** lf has joined #litex23:10
*** CarlFK has joined #litex23:57

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