Friday, 2021-12-10

*** tpb <[email protected]> has joined #litex00:00
*** thirtythreeforty <thirtythreeforty!~thirtythr@2603-8080-2704-6601-0000-0000-0000-0260.res6.spectrum.com> has joined #litex01:32
thirtythreefortyMigen question: I need some unique identifier for the clock domain that a module will end up being clocked by. How should I do this? Things I've tried:01:34
*** jryans <jryans!~jryans@2001:470:69fc:105::1d> has joined #litex01:34
*** sajattack[m] <sajattack[m]!~sajattack@2001:470:69fc:105::1d9> has joined #litex01:35
*** shoragan[m] <shoragan[m]!~shoraganm@2001:470:69fc:105::39> has joined #litex01:35
*** dcallagh <dcallagh!~dcallagh@2001:470:69fc:105::9c5> has joined #litex01:35
*** david-sawatzke[m <david-sawatzke[m!~david-saw@2001:470:69fc:105::1634> has joined #litex01:35
*** CarlosEDP <CarlosEDP!~carlosedp@2001:470:69fc:105::218e> has joined #litex01:35
*** DerekKozel[m] <DerekKozel[m]!~dkozelgnu@2001:470:69fc:105::2f14> has joined #litex01:35
*** vomoniyi[m] <vomoniyi[m]!~vomoniyig@2001:470:69fc:105::3023> has joined #litex01:35
*** leons <leons!~leons@2001:470:69fc:105::abc> has joined #litex01:35
*** promach[m] <promach[m]!~promach@2001:470:69fc:105::ca1> has joined #litex01:35
*** Las[m] <Las[m]!~lasmatrix@2001:470:69fc:105::74e> has joined #litex01:35
*** jevinskie[m] <jevinskie[m]!~jevinskie@2001:470:69fc:105::bb3> has joined #litex01:35
*** bluecmd <bluecmd!~bluecmd@2001:470:69fc:105::1d44> has joined #litex01:35
thirtythreeforty- Ask the module to keep hold of it as self.clk or whatever. This does not work because strings like 'sys' are not unique until .finalize() is finished.01:35
*** willcode4[m] <willcode4[m]!~willcode4@2001:470:69fc:105::e1b3> has joined #litex01:35
*** Crofton[m] <Crofton[m]!~croftongn@2001:470:69fc:105::9a7> has joined #litex01:35
thirtythreeforty(and in fact 'sys' might get renamed for a variety of reasons, so...)01:35
*** amstan <amstan!~amstan@2001:470:69fc:105::1e9> has joined #litex01:36
*** a3f <a3f!~a3f@2001:470:69fc:105::41d> has joined #litex01:36
*** CarlFK <CarlFK!~carlfk@2001:470:69fc:105::5d8> has joined #litex01:36
*** nrossi[m] <nrossi[m]!~nrossimat@2001:470:69fc:105::1:4527> has joined #litex01:36
thirtythreeforty- Have a ClockSignal() in the module in question. ClockSignal's self.clk *will* be updated by the visitor when ClockDomainsRenamer walks the tree. This is better, because now I can get the real clock domain from the module after .finalize()01:37
thirtythreefortybut, this still doesn't work because eventually the module doing the walking (via xdir()) must also be a submodule, and *its siblings* will not be finalized by the time the walker's do_finalize() is running, so the same caveat about 'sys' not being the real clock domain still applies01:38
thirtythreefortySo, what to do? The ultimate goal is to learn which clock each module is using so I can connect it to the appropriately-clocked bus01:39
thirtythreeforty(Also, is this easier in nMigen?)01:43
*** Degi_ <[email protected]> has joined #litex01:54
*** Degi <[email protected]> has quit IRC (Ping timeout: 256 seconds)01:55
*** Degi_ is now known as Degi01:55
*** thirtythreeforty <thirtythreeforty!~thirtythr@2603-8080-2704-6601-0000-0000-0000-0260.res6.spectrum.com> has quit IRC (Ping timeout: 252 seconds)02:13
*** thirtythreeforty <thirtythreeforty!~thirtythr@2603-8080-2704-6601-0000-0000-0000-0260.res6.spectrum.com> has joined #litex02:20
*** rlittl01 <[email protected]> has joined #litex02:30
*** thirtythreeforty <thirtythreeforty!~thirtythr@2603-8080-2704-6601-0000-0000-0000-0260.res6.spectrum.com> has quit IRC (Ping timeout: 260 seconds)02:55
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)03:46
*** TMM_ <[email protected]> has joined #litex03:46
*** rlittl01 <[email protected]> has quit IRC (Remote host closed the connection)04:47
_florent_thirtythreeforty: I'm not sure to understand correctly your question, but for this, I would probably do the opposite: Have a clock domain in the submodule, expose it and clock the logic with this clock domain. Then at the top, connect the clocks of each submodule. In fact in a way very similar to traditional (S) Verilog/VHDL designs. 06:30
_florent_thirtythreeforty: if this is not answering your question, can you create an issue in LiteX to discuss this and share minimal code of what you are trying to do?06:31
*** Coldberg <[email protected]> has quit IRC (Ping timeout: 260 seconds)07:48
*** _whitelogger <[email protected]> has quit IRC (Remote host closed the connection)07:51
*** _whitelogger <[email protected]> has joined #litex07:52
*** _franck_ <[email protected]> has quit IRC (Read error: Connection reset by peer)07:59
*** _franck_ <[email protected]> has joined #litex07:59
*** FabM <[email protected]> has joined #litex08:05
*** _franck_ <[email protected]> has quit IRC (Ping timeout: 256 seconds)08:11
*** _franck_ <[email protected]> has joined #litex08:16
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)08:38
*** TMM_ <[email protected]> has joined #litex08:38
*** TMM_ <[email protected]> has quit IRC (Client Quit)08:40
*** TMM_ <[email protected]> has joined #litex08:40
*** TMM_ <[email protected]> has quit IRC (Client Quit)08:40
*** TMM_ <[email protected]> has joined #litex08:40
*** _franck_ <[email protected]> has quit IRC (Ping timeout: 250 seconds)09:19
*** _franck_ <[email protected]> has joined #litex09:43
*** Coldberg <[email protected]> has joined #litex13:53
*** paultech <paultech!~paultech@2600:6c5d:4f00:5a24:f5b9:43b3:be85:ec4d> has joined #litex14:44
paultechLooks like nMigen is now called Amaranth? Seems to have broken a few things:(14:44
tnt_florent_: https://pastebin.com/MVUa3jCx14:47
tpbTitle: Creating Serdes0Measuring Serdes0 frequencies...TX freq: 153.903MHzRX f - Pastebin.com (at pastebin.com)14:47
tntpaultech: :/ I hate name changes14:48
tnt_florent_: so that looks like good news ?14:49
paultechYeah this one seems fairly intrusive. Changed repo URL, changed default branch, changed folder structure14:50
tnt_florent_: Or possibly not ... works even without --loopback which it should definitely not ...14:50
paultechShould litex_setup support different branches? Seems to be master only atm14:50
paultechTook all of 10 seconds.   clone="recursive",branch="main") but unsure if breaking some convention if everything else uses master14:54
*** str1 <[email protected]> has quit IRC (Quit: WeeChat 2.3)15:13
*** mtretter <[email protected]> has quit IRC (Remote host closed the connection)15:13
paultechPython package is also amaranth-yosys now, broke ci. How rude15:19
*** andresmanelli <[email protected]> has joined #litex15:24
*** andresmanelli <[email protected]> has quit IRC (Client Quit)15:24
*** zjason` is now known as zjason15:30
tntSo looks like the "tx freq is at 122.88" (the measured one in the pastebin above is bad because of measurement imprecision since litex_server is remote though vpn and forwarded ports etc ...).15:35
tntand the rx freq is actually 0 ...15:35
tntSo that's obviously not good.15:35
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Quit: Leaving)15:48
tntAny clue how to debug ?15:57
*** whitequark <whitequark!~whitequar@2001:470:69fc:105::37> has joined #litex16:24
whitequarkhey folks, I know the nMigen to Amaranth name change was going to break a few things16:26
whitequarkI'd be happy to assist in fixing the breakage16:28
cr1901cc: paultech, I posted the log into #amaranth-lang with your msgs highlighted. I have no idea why CI broke16:34
cr1901but I have some symlinks and program settings that depend on the old nmigen name, and I'd rather wait to break those settings until litex has handled the name change16:35
paultechcr1901, whitequark, Don't think anything is broken on litex side yet. The setup script broke due to lack of a master branch but since remaining packages are still available I believe litex CI will build (apart from the previously mentioned failure with the setup script)16:39
paultechWill leave that to _florent_to test out16:39
_florent_Hi whitequark, thanks for letting us know, nice new name! The breakage should be limited and easy to fix for LiteX. I'll have a closer look in the next days.17:01
_florent_tnt: the first thing to look at is the TX/RX initialization, the TX/RX freqs17:04
_florent_tnt: so maybe you could add LiteScope and verify the TX/RX initialization FSM17:04
tntThe TX freq looks fine. RX freq is zero. rx_ready stays at 0.  I'm digging into the RX init fsm right now.17:06
tntI've never used litescope actually, no idea how that works. 17:06
_florent_it's very easy to add it to your design: https://github.com/enjoy-digital/litex/wiki/Use-LiteScope-To-Debug-A-SoC#add-a-litescope-analyzer-to-your-soc17:20
_florent_and since you probably already have a UARTBone bridge in your design, it will be even easier17:20
_florent_Just add the analyzer17:20
tntWhy is litescope repo a github template ?17:21
_florent_and you can use litescope_cli over the same litex_server that you are currently using for test_prbs.py17:21
tntThanks for the howto, got it added with a few signals related to rx init status.17:21
tnt(easy indeed, nice :)17:22
whitequarkhttps://github.com/enjoy-digital/litex/pull/113017:22
_florent_ litescope repo a github template ? Sorry, not sure to understand17:22
tntGo to https://github.com/enjoy-digital/litescope17:22
tnthttps://i.imgur.com/TDobCaK.png17:22
tntIt says "public template"  and "Use this template" instead of the normal clone button.17:23
_florent_whitequark: Thanks!17:24
_florent_tnt: Thanks, this is fixed (LiteScope public template)17:31
*** Martoni42 <Martoni42!~Martoni@2a03:d604:103:600:2ad2:44ff:fe23:2f72> has joined #litex17:33
tntLooks like RXRESETDONE never comes up.18:16
tntThere is a RX clock ( RXOUTCLK ), it's just that because the init never finishes, it stays in reset.18:45
MoeIcenowyhow could I connect a FPGA's internal flash (co-packaged SPI Flash, accessible as a blackbox HDL module) to LiteSPI?19:10
MoeIcenowyhow should I construct the pads needed by LiteSPIPHY, make them connect to a Instance of the blackbox HDL19:11
*** essele_ <[email protected]> has quit IRC (Read error: Connection reset by peer)19:11
*** essele <[email protected]> has joined #litex19:11
MoeIcenowyI now created a Record and use them as the signals connected to the Instance and pass it as pads to LiteSPIPHY19:11
tnt_florent_: mmm ... looks like the 1ms timeout in the init time machine was too short, it just kept resetting before it was done going through its internal init. 19:19
tntLooking at the wait timer value, it seems to have taken ever so slightly above 2 ms.19:20
tntAnd now if I have the loopback disabled, I have tons of errors (kind of expected) and if it's enabled, no errors.19:22
MoeIcenowyhttps://paste.aosc.io/paste/Rk3AbVJ0I0By9W1YKhbsPw my current try to connect LiteSPI flash to the blackbox19:38
tpbTitle: Pastebin | AOSC Pastebin (at paste.aosc.io)19:38
tntMoeIcenowy: and that doesn't work ?19:47
*** somlo <[email protected]> has quit IRC (Remote host closed the connection)19:47
*** essele <[email protected]> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)19:50
MoeIcenowytnt: that does not work...19:56
MoeIcenowythings do not get connected19:56
*** Martoni42 <Martoni42!~Martoni@2a03:d604:103:600:2ad2:44ff:fe23:2f72> has quit IRC (Ping timeout: 250 seconds)20:01
*** MoeIcenowy <[email protected]> has quit IRC (Quit: ZNC 1.7.2+deb3 - https://znc.in)20:03
*** MoeIcenowy <[email protected]> has joined #litex20:03
tntMoeIcenowy: did you look at the verilog output see what it did ?20:11
*** somlo <[email protected]> has joined #litex20:13
*** MoeIcenowy <[email protected]> has quit IRC (Quit: ZNC 1.7.2+deb3 - https://znc.in)20:14
*** MoeIcenowy <MoeIcenowy!~MoeIcenow@2604:a880:2:d1::1d1:f001> has joined #litex20:15
*** eigenform <[email protected]> has joined #litex21:09
_florent_tnt: Great, init time is indeed different between type of transceiver, result of test_prbs seems good21:10
tnt_florent_: I currently don't have an external loopback to test with, maybe next week.21:15
tntI checked the talisse adi chip doesn't have any loopback mode I can enable, but it does have a PRBS mode I can try.21:15
*** paultech <paultech!~paultech@2600:6c5d:4f00:5a24:f5b9:43b3:be85:ec4d> has quit IRC (Quit: Client closed)22:04
shorne__florent_: I got the package, thank you23:04
*** bytebucket <[email protected]> has joined #litex23:09
*** bytebucket <[email protected]> has quit IRC (Client Quit)23:09

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