_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
lf_ has quit [Ping timeout: 260 seconds]
lf has joined #litex
vup has quit [Remote host closed the connection]
vup has joined #litex
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #litex
teknoman117 has joined #litex
Dolu_ has quit [Ping timeout: 272 seconds]
CarlFK has quit [Ping timeout: 264 seconds]
CarlFK has joined #litex
Bertl_oO is now known as Bertl_zZ
<teknoman117> is 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?
<teknoman117> or run calibration ahead of time and bake in the values?
<teknoman117> or is that generally considered a bad idea?
<teknoman117> reason 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)
<teknoman117> I'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.
kgugala has joined #litex
kgugala_ has quit [Ping timeout: 256 seconds]
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 264 seconds]
<zyp> you could use a serv for it :)
abeljj[m] has quit [Quit: Idle for 30+ days]
mibus[m] has quit [Quit: Idle for 30+ days]
_whitelogger has joined #litex
Dolu_ has joined #litex
teknoman117 has quit [Ping timeout: 245 seconds]
promach3 has quit [Quit: Bridge terminating on SIGTERM]
xobs has quit [Quit: Bridge terminating on SIGTERM]
CarlFK[m] has quit [Quit: Bridge terminating on SIGTERM]
leons has quit [Quit: Bridge terminating on SIGTERM]
DerFetzer[m] has quit [Quit: Bridge terminating on SIGTERM]
sajattack[m] has quit [Quit: Bridge terminating on SIGTERM]
disasm[m] has quit [Quit: Bridge terminating on SIGTERM]
apolkosnik[m] has quit [Quit: Bridge terminating on SIGTERM]
powergraphic has quit [Quit: Bridge terminating on SIGTERM]
Bertl_zZ is now known as Bertl
powergraphic has joined #litex
DerFetzer[m] has joined #litex
sajattack[m] has joined #litex
xobs has joined #litex
promach3 has joined #litex
CarlFK[m] has joined #litex
leons has joined #litex
disasm[m] has joined #litex
apolkosnik[m] has joined #litex
CarlFK has quit [Read error: Connection reset by peer]
CarlFK has joined #litex
somlo has quit [Ping timeout: 265 seconds]
somlo has joined #litex
Bertl is now known as Bertl_oO
kgugala has joined #litex
kgugala_ has quit [Ping timeout: 256 seconds]
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 240 seconds]
dlobato has joined #litex
<somlo> daveshah: 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)
<daveshah> Oh dear
<somlo> tried 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"
<daveshah> Sounds like a nondeterministic failure, tbh
<daveshah> Can you see if old Yosys with a different seed still passes?
<somlo> for 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)
<somlo> is 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?
<daveshah> Yes
<daveshah> When changing the seed, don't rerun litex or Yosys so you are sure you have exactly the same netlist
<somlo> the 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`
<somlo> curious if it works for you
<somlo> "Yes" meaning "hardcoded seed", or "it counts for answering the diversity question" :) Sorry, lost that thread...
<daveshah> I'll try and check tomorrow
<daveshah> Yes the seed is hardcoded
<somlo> oh
<daveshah> Is it still passing timing?
<somlo> hasn'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)
feldim2425 has quit [Ping timeout: 260 seconds]
<daveshah> nowidelut will make the timing worse
feldim2425 has joined #litex
<daveshah> If it is failing timing by more than 10% or so, then I can't guarantee it will work
<somlo> which is why it helped with new (trellis, nextpnr) + old yosys, I guess
<somlo> leaving it out, I mean
<somlo> but it
<somlo> is not helping when I upgrade yosys
<daveshah> Its only one possibility, other bugs are also possible
<daveshah> Does the timing failure get worse when you update Yosys?
<somlo> I think timing actually got better (by a very small amount), but I'd have to re-test before I have any confidence in that answer
<somlo> and 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*...
<somlo> I'll throw some more things at the wall, try collecting some additional data points
<daveshah> Thanks
<somlo> weird 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 hypothesis
<daveshah> the lights are independent from the CPU
<daveshah> it's almost 100% going to be a complex failure in the CPU or core SoC stuff, timing or otherwise
<daveshah> tested here and it doesn't work, but it's failing timing catastrophically - only 23.04MHz on the 60MHz domain
<daveshah> as the logic/routing mix looks typical, I think something must be being very badly synthesised
<daveshah> something associated with ExampleRocketSystem.subsystem_mbus.coupler_to_memory_controller_port_named_axi4.tl2axi4._T_549_ looks to be the biggest part of the critical path
<somlo> I'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 in
<daveshah> So 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)
<daveshah> however, maybe the timing failure is a clue towards some other synthesis issue going on
<somlo> I 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 :)
<somlo> daveshah: 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...
<daveshah> Yeah, vendored abc
<daveshah> can you remember what kind of Fmax the design used to get
<somlo> I 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)
<somlo> I used to see high 40s reported for the trellisboard (with ethernet, with *no* sdcard)
<somlo> adding the sdcard to the mix dropped fmax significantly, but things kept working fine, as of cca. 4-5 months ago
<somlo> for a very fuzzy, unscientific recollection :)
<somlo> but 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 output
dlobato has quit [Ping timeout: 245 seconds]
kgugala_ has quit [Quit: -a- Connection Timed Out]
kgugala has joined #litex
FFY00 has quit [Remote host closed the connection]
FFY00 has joined #litex
FFY00 has quit [Remote host closed the connection]
FFY00 has joined #litex
FFY00 has quit [Remote host closed the connection]