Thursday, 2020-11-26

*** tpb has joined #litex00:00
*** lf_ has quit IRC00:46
*** lf has joined #litex00:46
*** vup has quit IRC00:54
*** vup has joined #litex00:55
*** Degi has quit IRC01:52
*** Degi has joined #litex01:55
*** teknoman117 has joined #litex02:17
*** Dolu_ has quit IRC02:20
*** CarlFK has quit IRC03:18
*** CarlFK has joined #litex03:31
*** Bertl_oO is now known as Bertl_zZ03:55
teknoman117is there any sort of self calibration logic that can be turned on with litedram so you can do the calibration without an embedded soft core?04:13
teknoman117or run calibration ahead of time and bake in the values?04:13
teknoman117or is that generally considered a bad idea?04:14
teknoman117reason I ask is that I've been working on writing description in LiteX for the various FPGA boards I have hanging around (Mojo V3, Alchitry Au, LiteFury)04:14
teknoman117I've got it up on all of them, but the Mojo V3 is a XC6LX9 (so, second smallest FPGA from the 6-series) and not everything I'd want to do with it needs a soft CPU core.04:16
*** kgugala has joined #litex06:23
*** kgugala_ has quit IRC06:24
*** kgugala_ has joined #litex07:44
*** kgugala has quit IRC07:46
zypyou could use a serv for it :)08:31
*** abeljj[m] has quit IRC09:00
*** mibus[m] has quit IRC09:00
*** _whitelogger has quit IRC09:24
*** _whitelogger has joined #litex09:26
*** Dolu_ has joined #litex10:16
*** teknoman117 has quit IRC10:42
*** promach3 has quit IRC11:34
*** xobs has quit IRC11:34
*** CarlFK[m] has quit IRC11:34
*** leons has quit IRC11:34
*** DerFetzer[m] has quit IRC11:34
*** sajattack[m] has quit IRC11:34
*** disasm[m] has quit IRC11:35
*** apolkosnik[m] has quit IRC11:35
*** powergraphic has quit IRC11:35
*** Bertl_zZ is now known as Bertl11:39
*** powergraphic has joined #litex11:44
*** DerFetzer[m] has joined #litex12:02
*** sajattack[m] has joined #litex12:02
*** CarlFK[m] has joined #litex12:02
*** xobs has joined #litex12:02
*** promach3 has joined #litex12:02
*** disasm[m] has joined #litex12:02
*** leons has joined #litex12:02
*** apolkosnik[m] has joined #litex12:02
*** CarlFK has quit IRC13:21
*** CarlFK has joined #litex13:21
*** somlo has quit IRC13:37
*** somlo has joined #litex13:45
*** Bertl is now known as Bertl_oO14:12
*** kgugala has joined #litex17:31
*** kgugala_ has quit IRC17:35
*** kgugala_ has joined #litex18:29
*** kgugala has quit IRC18:31
*** dlobato has joined #litex19:12
somlodaveshah: tried upgrading my yosys/trellis/nextpnr toolchain; with the latest yosys (2116c58) I get no console output whatsoever after programming my trellisboard (with a litex+rocket bitstream)19:35
daveshahOh dear19:36
somlotried downgrading the components selectively, and things work with the latest trellis and nextpnr, and yosys c39ebe6 from way back, provided I don't use "nowidelut"19:36
daveshahSounds like a nondeterministic failure, tbh19:37
daveshahCan you see if old Yosys with a different seed still passes?19:37
somlofor the record, yosys was built with ABCEXTERNAL, using ABC 448f263 (trying to build the latest abc from github, see if I can shake anything loose that way)19:37
somlois there a hardcoded seed somewhere in LiteX? I built it multiple times (with the old yosys and new trellis/nextpnr) and it worked each time -- does that count?19:38
daveshahYes19:39
daveshahWhen changing the seed, don't rerun litex or Yosys so you are sure you have exactly the same netlist19:40
somlothe command I used to build the bitstream was `litex-boards/litex_boards/targets/trellisboard.py --sys-clk-freq 60e6 --with-ethernet --with-sdcard --cpu-type rocket --cpu-variant linuxq --integrated-rom-size 0x10000 --build`19:40
somlocurious if it works for you19:41
somlo"Yes" meaning "hardcoded seed", or "it counts for answering the diversity question" :) Sorry, lost that thread...19:41
daveshahI'll try and check tomorrow19:41
daveshahYes the seed is hardcoded19:41
somlooh19:41
daveshahIs it still passing timing?19:42
somlohasn't been passing timing in a long while, but kept working... That's another thing I could try, lower the requested frequency to 55 or 50 MHZ (lowest it's ever actually worked with the DRAM)19:43
*** feldim2425 has quit IRC19:43
daveshahnowidelut will make the timing worse19:43
*** feldim2425 has joined #litex19:44
daveshahIf it is failing timing by more than 10% or so, then I can't guarantee it will work19:44
somlowhich is why it helped with new (trellis, nextpnr) + old yosys, I guess19:44
somloleaving it out, I mean19:44
somlobut it19:44
somlois not helping when I upgrade yosys19:44
daveshahIts only one possibility, other bugs are also possible19:44
daveshahDoes the timing failure get worse when you update Yosys?19:45
somloI think timing actually got better (by a very small amount), but I'd have to re-test before I have any confidence in that answer19:45
somloand leaving out ethernet and/or litesdcard definitely improves timing, so I'll have to try that too, see if console output comes back when timing fails by *less*...19:46
somloI'll throw some more things at the wall, try collecting some additional data points19:47
daveshahThanks19:48
somloweird thing is (I just remembered) -- the lights blink the same way as when the board is programmed with the "good" bitstream (built with the older yosys), so at least some things still work -- which I think supports the timing hypothesis19:50
daveshahthe lights are independent from the CPU19:50
daveshahit's almost 100% going to be a complex failure in the CPU or core SoC stuff, timing or otherwise19:51
daveshahtested here and it doesn't work, but it's failing timing catastrophically - only 23.04MHz on the 60MHz domain20:20
daveshahas the logic/routing mix looks typical, I think something must be being very badly synthesised20:21
daveshahsomething associated with ExampleRocketSystem.subsystem_mbus.coupler_to_memory_controller_port_named_axi4.tl2axi4._T_549_ looks to be the biggest part of the critical path20:22
somloI'm building now without --with-ethernet and --with-sdcard, that gives me a rather useless litex, but one that has much better timing than when sdcard and ethernet are thrown in20:25
daveshahSo it isn't just the timing failure that is the problem, as I've tried tweaking the PLL divider to run at a lower frequency and still no life (I did also change the terminal UART baud accordingly)20:29
daveshahhowever, maybe the timing failure is a clue towards some other synthesis issue going on20:31
somloI wish I had time (or a way to trick my employer into ordering me) to get more in depth with yosys... As it is, I have only the vaguest of clues as to what it might be up to, in there :)20:40
somlodaveshah: you're using yosys with the vendored abc, right? I still care about updating the stand-alone fedora package, but curious if it's on the critical path of this particular endeavor...20:42
daveshahYeah, vendored abc20:51
daveshahcan you remember what kind of Fmax the design used to get20:51
somloI remember getting actual 60MHz on the versa5g about a year and a half ago, with just ethernet (but that was a lot of LiteX changes ago, as well, not just toolchain changes)20:54
somloI used to see high 40s reported for the trellisboard (with ethernet, with *no* sdcard)20:55
somloadding the sdcard to the mix dropped fmax significantly, but things kept working fine, as of cca. 4-5 months ago20:55
somlofor a very fuzzy,  unscientific recollection :)20:56
somlobut right now, dropping sdcard and ethernet only got me to 21.71 MHz (from the 19-and-change I get *with* both) -- and still no terminal output20:58
*** dlobato has quit IRC21:07
*** kgugala_ has quit IRC21:43
*** kgugala has joined #litex21:43
*** FFY00 has quit IRC22:27
*** FFY00 has joined #litex22:27
*** FFY00 has quit IRC23:30
*** FFY00 has joined #litex23:31
*** FFY00 has quit IRC23:32

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