<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]