Monday, 2021-03-08

*** tpb has joined #litex00:00
nats`maybe a silly question but when I declare the clock period in the platform I don't see it in the generated ucf/xdc00:18
nats`is it normal ?00:18
*** lf has quit IRC00:55
*** lf_ has joined #litex00:55
*** lkcl has quit IRC02:25
*** Bertl is now known as Bertl_zZ02:38
*** lkcl has joined #litex02:38
*** Degi_ has joined #litex03:07
*** Degi has quit IRC03:07
*** Degi_ is now known as Degi03:07
*** felix__ is now known as felix_03:34
*** _whitelogger has quit IRC03:42
*** _whitelogger has joined #litex03:44
*** futarisIRCcloud has joined #litex04:50
*** FFY00_ has quit IRC04:54
*** FFY00_ has joined #litex05:00
*** shorne_ is now known as shorne05:32
shornewell, jtagbone is working, but having an issue getting litescope to route, my design needs 101 RAM cells, but the device as 10005:33
shornechanging the litescope sample depth doesnt seem to help05:33
shorneIll try to turn off some features in the CPU code05:33
shorneok, now its building, time to try out litescope05:41
shorneit works, I had to move my csr.csv file and analyser.csv file into the right place but then it works, I got a blank trace on the sdcard, but thats expected05:55
*** kgugala has quit IRC06:11
*** kgugala has joined #litex06:11
*** kgugala_ has joined #litex06:13
*** kgugala has quit IRC06:16
*** rozpruwacz has joined #litex06:20
*** rozpruwacz has quit IRC06:46
*** rozpruwacz has joined #litex06:46
*** TMM has quit IRC07:09
*** TMM has joined #litex07:09
_florent_nats`: Are you using Plaform.add_period_constraint? If you execute an Artix7 target, ex arty.py, you'll see the constraint on the 100MHz input in the generated .xdc07:29
_florent_shorne: Good you got jtagbone working, LiteScope will indeed use some blockrams, so this can be tricky on a design that is already already almost full07:31
*** RaYmAn has quit IRC07:35
*** RaYmAn has joined #litex07:48
*** shivampotdar[m] has joined #litex08:08
shivampotdar[m]!nick shivampotdar08:09
*** shivampotdar[m] is now known as shivampotdar08:10
*** shivampotdar has joined #litex08:11
*** futarisIRCcloud has quit IRC08:59
nats`_florent_, I tried with a spartan 6 target for an easier test with led09:22
nats`I used a default(clock name / period)09:22
nats`class Platform(XilinxPlatform):09:23
nats`    default_clk_name = "clk100"09:23
nats`    default_clk_period = 1009:23
*** FFY00_ has quit IRC10:06
*** FFY00_ has joined #litex10:07
*** Bertl_zZ is now known as Bertl10:11
zyp_florent_, is there a canonical endianness for wide buses in liteeth? mismatching endiannesses is the sort of problem where two wrongs make a right, and I'd rather get it all consistent :)10:13
*** pftbest has quit IRC10:29
*** pftbest has joined #litex10:33
rozpruwaczHi All. If anyone is interesting in reviewing my work related to litespi and litegpio linux kernel drivers I will be happy to get some reviews. I pushed my implementation of gpio interrupts handling in linux driver here https://github.com/mczerski/linux/tree/litex-riscv, there are my two commits. 444d3dae2e78f8e89ed9c1788f30d2cf574aebe3 is about the gpio interrupts and 8d885998822bb625aa854b52e6627ab42f03bfb9 is about litespi chip select10:55
rozpruwaczsignal handling. Regarding spi chip select I encountered an issue that my spi slave required multibyte transfers without deasserting cs signal. There is set_cs callback for spi_master which allows the higher level api to handle cs signal. This was required for my slave device to work. This chip select handling also require changes in HDL which I pushed here https://github.com/mczerski/litex (commit c234d1b54ce73950614e270b26e29b5e84f4c7cf10:55
rozpruwacz).10:55
gatecat_florent_: is there a way of creating unconstrained IO pins in LiteX (I need to work around a slightly icky Radiant bug around the hard MIPI IP core, where the MIPI pads can't have constraints on them or Radiant fails) ?11:07
*** FFY00_ has quit IRC11:19
*** FFY00_ has joined #litex11:20
_florent_nats`: I just tried doing something similar on the minispartan6 (using the default CRG) and I still see the clock constraint in the .ucf11:22
_florent_If you have a minimal repro, can you share it?11:22
_florent_zyp: Etherbone with dw=32 was working previously is even the default IIRC, so I'm still not sure the issue on ECPIX5 is related to the core itself but could also be some malformed RX packets. I would need to do more tests on different boards11:25
_florent_gatecat: At some point it was possible with Pins("X") but I have to disable this since was causing an issue on a design I was working on recently. But we could add back a way to define pins without generating the constraints.11:27
gatecatOK, thanks, I think I'm just gonna ignore Radiant and try and get nextpnr working for now anyway (and manually patch the constraints if I need to try Radiant...) but if you have a moment then that would be useful11:28
_florent_For a quick test, you can probably revert this: https://github.com/enjoy-digital/litex/commit/8623536a8a95053bf75e1ad5191a278b2fd18df411:31
_florent_and use Pins("X") (or Pins("X X ...") if a multi-bit signal)11:31
gatecatoh even easier, thanks!11:32
zyp_florent_, did you see the screenshots I posted last night? arp/icmp not working was clearly an endianness issue, solved by flipping the endianness11:32
_florent_zyp: yes, but I'm still not sure it's really a endianness issue (since dw=32 works in simulation and other boards), this could also be an issue with the start of the RX frame that would cause  issues very similar to endianness issues11:38
_florent_zyp: I'll try to have a look11:39
_florent_gatecat: In fact the case I reverted this (integrating LiteDRAM on Gowin) the tools were requiring the IOStandard constraints but not the LOC constraints, so did the revert I just shared and then added this to the Gowin backend:11:41
_florent_https://github.com/enjoy-digital/litex/commit/f324f9531af311853d83eb4700af0e08e440e75f11:41
_florent_gatecat: If your case is similar (avoid generating the LOC constraint) you can also probably do something similar11:42
gatecatthanks, I'll look at that in a bit11:43
*** FFY00_ has quit IRC11:46
*** FFY00_ has joined #litex11:47
*** Melkhior has quit IRC11:50
*** lkcl has quit IRC11:56
*** lkcl_ has joined #litex12:09
nats`_florent_, yes I send it to you this evening but it's really a simple exemple12:50
nats`I must miss something silly :)12:51
_florent_zyp: This was a stupid issue, the UDPIPCore was not running in the right clock domain: https://github.com/enjoy-digital/litex/commit/5af8e5c9345053763f6d89764790a7fc8793b8bf12:51
_florent_zyp: With this, the data-width is kept to 8 up to the UDP Layer (with a 125MHz clock) and Etherbone is then running at lower speed (sys_clk)12:52
_florent_zyp: Running the core with a data-width != 8 is another thing, I have a version working that has been validated at 1Gbps with a 32-bit data-width on EC5 and 10Gbps with a 64-bit data-width (on Kintex7) but I still need to spend time integrating the changes correctly.12:55
zypah, makes sense12:55
_florent_zyp: I also added --with-etherbone args to ecpix5.py while testing12:57
pftbest_florent_: thanks!13:02
zypas long as the udp layer meets timing at 125MHz easily I'm happy enough with that solution for now13:04
zyphere's a few minor unrelated things I ran across: https://paste.jvnv.net/view/yNFqA13:04
tpbTitle: JVnV Pastebin View paste – Untitled (at paste.jvnv.net)13:04
_florent_zyp: sorry for the time you spent on that, I thought the core was already running in the eth clock domain. For info I found the issue by capturing the ethphy.source with LiteScope and saw some backpressure on the ready signal (that is not supposed to happen).13:04
_florent_zyp: thanks! I'll review and apply them13:06
*** lkcl_ has quit IRC13:33
*** pftbest has quit IRC13:45
*** pftbest has joined #litex13:45
*** lkcl_ has joined #litex13:47
*** pftbest has quit IRC13:49
*** Bertl is now known as Bertl_oO13:53
*** pftbest has joined #litex13:57
*** Melkhior has joined #litex14:56
*** rj has joined #litex15:28
*** rj has quit IRC15:53
*** rj has joined #litex15:55
somloanyone remember which of the two rj45 connectors on the ecp5-versa board is supposed to be connected to LiteETH?16:08
_florent_somlo: It's the one near L5 and the USB connector16:35
_florent_somlo: But due to a bug fix in the ecp5rgmii (delay were not applied correctly) it's possible the delays need to be specified in the target16:36
_florent_I'm testing this16:36
somlo_florent_: thanks! neither works for me right now, but I wanted to at least be barking up the right tree :D16:37
*** rj has quit IRC16:38
somlofor context, I've just built the latest versions of yosys/trellis/nextpnr, which seem to fit a linux-capable rocket/litex with ethernet much more reliably with 99% slice utilization into the 45k ecp516:39
_florent_somlo: https://github.com/litex-hub/litex-boards/commit/8fb80053f716cd8b752064de2249639cde3a5c1b16:40
_florent_tested with ./versa_ecp5.py --with-etherbone --cpu-type=None --integrated-main-ram-size=0x1000 --build --load to speed up P&R16:40
somlothe previous toolchain iteration bounced back and forth over the 100% utilization limit, but now it seems p&r is significantly tighter (thanks gatecat, as always :)16:40
somlo_florent_: thanks, I'll restart the build to incorporate that commit16:42
*** rj has joined #litex16:42
_florent_somlo: you should probably try with the smaller SoC first (just to be sure your cable is plugged correctly :))16:44
*** rj has quit IRC16:45
_florent_it should build in less than 2 minutes16:45
*** rj has joined #litex16:45
somlo_florent_: amazing! and yeah, it pings, so the rj45 closer to the middle of the board (and to the usb connector) is indeed phy0 :)16:52
* somlo reaches for the permanent marker :)16:52
_florent_hehe good idea16:53
somlonow back to building the rocket SoC (which takes 30-45 minutes)16:53
*** Bertl_oO is now known as Bertl16:56
*** rozpruwacz has quit IRC17:07
*** kgugala_ has quit IRC17:08
*** kgugala has joined #litex17:08
*** rj has quit IRC17:20
*** lkcl_ has quit IRC17:22
*** rj has joined #litex17:24
*** lkcl_ has joined #litex17:35
st-gourichon-fidSomething that looks like a regression. New error message "ERROR: Failed to expand region (0, 0) |_> (25, 31) of 5294 ICESTORM_LCs" on a design that used to compile.17:55
st-gourichon-fidAppeared between 19fda3364ae1e2c96a77331fb19c4b8efd56d927 and current master 834c90b7 .17:56
st-gourichon-fidSo, appeared after 2021-01-08.17:56
st-gourichon-fidDunno if it's just a regression, or an actual problem in the design that wasn't spotted, though.17:57
*** rj has quit IRC18:05
gatecatIt sounds like the design is just a bit too large18:08
gatecatChances are it was always on the marginal side and something has pushed it over the edge18:08
*** rj has joined #litex18:09
*** rj has quit IRC18:16
*** rozpruwacz has joined #litex18:31
st-gourichon-fidgatecat, thank you for your comment.18:38
st-gourichon-fidAh, indeed, ICESTORM_LC jumped from  94% to 100%. That looks quite significant!18:47
st-gourichon-fidThe same design jumping 6% from success to failure after a `git pull --ff-only` sounds fishy. :-/18:48
*** rozpruwacz has quit IRC18:51
*** rozpruwacz has joined #litex18:54
*** rj has joined #litex19:01
*** rozpruwacz has quit IRC19:07
*** lkcl_ has quit IRC19:08
*** lkcl_ has joined #litex19:21
st-gourichon-fidgatecat, the regression was introduced by commit ceb8a6502cc1315eb48fa654a073101c783013a319:22
st-gourichon-fidhttps://github.com/enjoy-digital/litex/commit/ceb8a6502cc1315eb48fa654a073101c783013a319:24
st-gourichon-fid2020.12-165-g6e883b45.log:Info:          ICESTORM_LC:  4771/ 5280    90%19:24
st-gourichon-fid2020.12-166-gceb8a650.log:Info:          ICESTORM_LC:  5294/ 5280   100%19:24
*** rozpruwacz has joined #litex19:24
st-gourichon-fidSame design, changed litex version by one commit.19:25
st-gourichon-fidLooks like it adds an optional parameter to the vexriscv constructor, to enable or disable a timer, but puts it enabled by default.19:29
*** rj has quit IRC19:33
*** rj has joined #litex19:35
*** lkcl_ has quit IRC19:48
*** lkcl_ has joined #litex20:01
*** rozpruwacz has quit IRC20:04
*** rj has quit IRC20:15
*** rozpruwacz has joined #litex20:16
*** rj has joined #litex20:19
*** rozpruwacz has quit IRC20:44
_florent_st-gourichon-fid: yes that's indeed probably related to the timer, I saw this while merging but was not sure how much it would increase resource usage20:50
*** rozpruwacz has joined #litex20:50
_florent_st-gourichon-fid: I'll disable it tomorrow20:50
*** rj has quit IRC21:00
*** rj has joined #litex21:03
*** TMM has quit IRC21:15
*** TMM has joined #litex21:15
*** rj has quit IRC21:45
*** rj has joined #litex21:49
*** Melkhior has quit IRC22:28
*** rj has quit IRC22:29
*** rj has joined #litex22:31
*** rj has quit IRC23:26
*** rj has joined #litex23:30
*** rj has quit IRC23:54

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