<emkat>
Good afternoon. I was wondering how the internal clock of the LiteDRAM module works when using the simsoc target. The simsoc sets the internal clock frequency to 100 MHz by default, but where and how exactly is that 100 MHz clock created? It is my guess that it is somehow derived from the (default) 1 MHz system clock, but I was unable to find where this happens.
<somlo>
_florent_: any recent success programming the ecpix5 with openocd? If you scroll up a bit I posted some logs of what I'm seeing -- used to work a few weeks ago, now I can't seem to get it to work; not sure if I'm screwing up something subtle enough that I can't notice, or if anything changed...
<_florent_>
somlo: Sorry, saw it yesterday but forgot to answer today :)
<_florent_>
somlo: So you are not able to load the bitstream with OpenOCD?
<somlo>
curious if this is reproducible by anyone else but me
<_florent_>
somlo: I'll try in 20-30 min
<somlo>
btw, the nature of the bitstream .svf file doesn't seem to matter -- tried it with an old .svf I posted to linux-on-litex-rocket, which I know for a fact worked in the past
<somlo>
so either I broke my board (again) when I unplugged it a few weeks ago, or (less likely) something changed in litex-boards or with openocd, or whatever
<_florent_>
somlo: sadly I don't think anything changed on this in last week
<_florent_>
weeks
<somlo>
weird thing is when plugging in I get the usual two ttyUSB (0 and 1) devices recognized, power goes to the board, so I'm having a hard time imagining *how* I might have broken it :)
<acathla>
somlo, I don't know how it's wired on the icebreaker, but on the lattice up5k breakout board, with the same FTDI, I also have two ttyUSB but none are usable for an uart in litex, so I use an external one.
indy has quit [Read error: Connection reset by peer]
indy has joined #litex
<somlo>
acathla: the weird thing is that the ecpix5 worked great for *weeks*; then I unplugged it for the last two weeks (cleaning up and moving stuff around in my office), now it no longer works
<gatecat>
it sounds like something changing in openocd tbh
<gatecat>
could you try reverting the openocd version to an older package ?
<somlo>
so either I broke it (but then why the heck can it still speak usb on both jtag and uart, ttyUSB0 *and* ttyUSB1) to the linux host?!?), or something changed (not in litex-boards, but maybe some other related bit of software or library or something)
<somlo>
gatecat: I might have updated my fedora once while the ecpix5 card was packed away, but `dnf updateinfo list` doesn't seem to suggest openocd was part of it... In fact, openocd hasn't been updated at all since f34 was released, so that can't be it. At least not the openocd package itself, maybe one of its dependencies, who knows...
<gatecat>
it looks suspiciously like it's reporting a syntax error in the svf command, which is very strange
<gatecat>
the ttyUSB0 disconnected thing is normal - that's just openocd taking over from the usb serial driver on interface 0
<somlo>
gatecat: yeah, I noticed that on the trellisboard too (now that I started paying attention) -- and happily the trellisboard still works, so I can check the "before" and "after" I package the new yosys release as an rpm (which is why I started dusting off my ecp5 cards in the first place)
<somlo>
* the ttyUSB0 disconnect thing, to be precise
<somlo>
gatecat: do you have an ecpix5 (specifically, the 85k version)? If so, can *you* program a current litex .svf to it ?
<somlo>
gatecat: re. syntax error in the .svf, I tried an old .svf posted for linux-on-litex-rocket which worked when I uploaded it, so I have no reason to believe recent generated .svf files are somehow broken where they weren't earlier
<somlo>
tnt: thanks! I suspected it's something silly that I'm perceptually unable to notice (I once spent a few days chasing a missing semicolon in some code I was working on :) )
<somlo>
would have been nice if openocd threw a more useful error message (such as "I can't find your file named <foo>"), but since it turns out my board isn't broken after all, I'm willing to forgive it for that :D
<somlo>
thanks for spoting my typo for me, and sorry to everyone for the noise :D
<tnt>
hehe. Yeah, when I saw the help message, I thought "Ok ... what would make it believe that this is not a <file> ..."
<tcal>
_florent_: Thanks! So once you do the `self.specials += Instance("xxxx", self.xxx_params)`, you can't modify i/o/p. But if you hold off doing that until the very end, then `self.xxx_params` can be tweaked between the time it is created and the finalization step.
<tnt>
_florent_: I'm looking at the jesd example you provided last week. The S7MMCM and the BUFGMUX are not really needed right ? If I don't need any dynamic way to change the user clock freq.