sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
<GitHub168> [smoltcp] jhwgh1968 commented on issue #106: I've been thinking about using smoltcp for a project of mine. If no one else has started on this task yet, I could give it a try over the next week or two. https://github.com/m-labs/smoltcp/issues/106#issuecomment-394203335
<sb0> tpw_rules, go ahead
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #998: I don't think this has anything to do with the LOCs. https://github.com/m-labs/artiq/issues/998#issuecomment-394209765
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1043: Yes. https://github.com/m-labs/artiq/issues/1043#issuecomment-394209776
kaolpr has quit [Ping timeout: 256 seconds]
kaolpr has joined #m-labs
rohitksingh_work has joined #m-labs
futarisIRCcloud has joined #m-labs
rohitksingh_work has quit [Ping timeout: 260 seconds]
rohitksingh_work has joined #m-labs
sb0 has quit [Quit: Leaving]
mumptai has joined #m-labs
sb0 has joined #m-labs
sb0 has quit [Quit: Leaving]
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<rjo> hartytp: it's good modulo a few details.
<GitHub-m-labs> [artiq] jordens opened pull request #1046: Suservo docs (master...suservo_docs) https://github.com/m-labs/artiq/pull/1046
<GitHub-m-labs> [artiq] jordens closed pull request #1046: Suservo docs (master...suservo_docs) https://github.com/m-labs/artiq/pull/1046
mumptai has quit [Quit: Verlassend]
sb0 has joined #m-labs
<GitHub-m-labs> [artiq] jordens pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/bb87976d4fdb6163c9a7fecad980630df9e1d3ae
<GitHub-m-labs> artiq/master bb87976 Robert Jordens: suservo: docstring fixes, revert parametrization of r_rtt
FabM has quit [Quit: ChatZilla 0.9.93 [Firefox 52.8.0/20180509233012]]
<bb-m-labs> build #1607 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1607
<bb-m-labs> build #2416 of artiq is complete: Failure [failed python_unittest_2] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/2416 blamelist: Robert J?rdens <rj@quartiq.de>
<GitHub53> [smoltcp] jD91mZM2 opened issue #226: Ethernet::poll infinite loop https://github.com/m-labs/smoltcp/issues/226
<GitHub-m-labs> [artiq] hartytp commented on issue #1043: @sbourdeauducq my question was addressed to @jbqubit (see the text I quoted) as he is still using 2017.4, where Sayma didn't meet timing for me... https://github.com/m-labs/artiq/issues/1043#issuecomment-394269914
<GitHub-m-labs> [artiq] hartytp commented on commit bb87976: Thanks.... https://github.com/m-labs/artiq/commit/bb87976d4fdb6163c9a7fecad980630df9e1d3ae#commitcomment-29229123
<bb-m-labs> build #1608 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1608
<bb-m-labs> build #2417 of artiq is complete: Failure [failed python_unittest_2] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/2417 blamelist: Robert Jordens <jordens@gmail.com>
cjbe_ has joined #m-labs
cjbe_ has quit [Ping timeout: 256 seconds]
hartytp has joined #m-labs
<hartytp> remind me what you use to reset Sayma USB JTAG lockups
<hartytp> (sb0,whitequark: ^)
<sb0> hartytp, usbreset.c
<hartytp> thanks!¬
<hartytp> thanks!
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1045: > As a bonus this will make the compiler faster (though IIRC I didn't use any particularly expensive asserts).... https://github.com/m-labs/artiq/issues/1045#issuecomment-394300809
<sb0> is there still no website, cfp, etc. for ecti5?
sb0 has quit [Quit: Leaving]
sb0 has joined #m-labs
<_florent_> hartytp: we can discuss here if you want for the hmc7043 traces
hartytp_ has joined #m-labs
<hartytp_> _florent_ sounds good
<_florent_> hmm sorry
<_florent_> that's the hmc830
hartytp_ has quit [Client Quit]
<hartytp> seenms si
<hartytp> so
<hartytp> yes
<_florent_> can we try to do the hmc7043 configuration but mute the outputs?
<_florent_> so set bit3 of register 1
<hartytp> yep, can try that
<hartytp> maybe even better would be to just leave it shutdown?
<_florent_> change that to write(0x1, 0x48);
<GitHub-m-labs> [artiq] cjbe opened pull request #1047: correct documented siphaser VCO frequency [NFC] (master...siphaserdoc) https://github.com/m-labs/artiq/pull/1047
<_florent_> if it stops crashing, maybe something we can try next is to enable the outputs only when the rest of the configuration has been done
<hartytp> yes, I did implement that before (change the shutdown function to mute and then only call unmute after the init)
<hartytp> it didn't help then, but we've fixed a few things since, so maybe now it will do something
<hartytp> I'll try
<_florent_> ok thanks
<hartytp> but, might be shutting the proverbial stable door after the horse has kicked the shit out of our FPGA
<hartytp> i.e. we can't mute the 7043 until after boot has been completed, so maybe enough time for it to cause memory corruption, etc that only shows up later on?
<_florent_> ah yes indeed...
<hartytp> hmmm what about using the reset line
<_florent_> now that you are able to see the broadband noise, do you see if we only have it on the first start after power on, or if we have it at each restart?
<hartytp> each restart
<hartytp> (each time I call artiq_flash ... load)
<_florent_> ok interesting, i was thinking it was only at the first power on
<hartytp> nope
<hartytp> I guess that loading the RTM FPGA resets things
<_florent_> ok
<hartytp> (regulators?)
<hartytp> do you remember how the resets work
<hartytp> ?
<hartytp> looking on schematic sheet 9, it looks like the Si5324 and HMC7043 reset lines are tied together
<hartytp> I guess we don't need the SI5324 atm, so I can hold both in reset and see what happens
<_florent_> no, but i'm going to look too.
<hartytp> yes, it resets both chips
<hartytp> okay, I'll add a CSR to control the HMC7043 reset and see what happens if I keep it disabled until after HMC830 boot...
<_florent_> yes we can do that
<_florent_> do you want i add this?
<hartytp> I think I'm fine doing it
<_florent_> ok good
<hartytp> remind me: on the AMC, where do you disable the inputs from the HMC7043 during boot?
<_florent_> ah, i was also thinking about disabling this feature to be sure we really eliminate the broadband noise :)
<_florent_> i'm looking at the code
<_florent_> if you regenerate the AMC, you can replace the self.jreset.storage with 1
<hartytp> 1 or 0?
<hartytp> 1 would keep it disabled
<hartytp> if you want to really test for noise then 0 might be better....
<_florent_> ah yes sorry, 0
<GitHub-m-labs> [artiq] enjoy-digital pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/925b47b077b5f84e2ec7a0c1b222afe6f7b249f9
<GitHub-m-labs> artiq/master 925b47b Florent Kermarrec: firmware/ad9154: reset the dac between each configuration attempt
<_florent_> hartytp: ^ it will may be help for the serdes pll timeout issue
<_florent_> hartytp: to get the serdes pll to lock, the dac only needs a correct clock and configuration.
<_florent_> hartytp: i don't explain why it fails getting serdes pll to lock, but that' probably a different issues than the hang/crash.
<hartytp> agreed
rohitksingh_work has quit [Read error: Connection reset by peer]
<rjo> bb-m-labs: force build --props=package=artiq-board,artiq_target=kasli,artiq_variant=ptb artiq-board
<bb-m-labs> The build has been queued, I'll give a shout when it starts
<bb-m-labs> build #1609 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1609
<bb-m-labs> build forced [ETA 34m41s]
<bb-m-labs> I'll give a shout when the build finishes
<GitHub-m-labs> [artiq] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/07d4145a35c73978b2ef4b648bcf8630ea43a1e1
<GitHub-m-labs> artiq/master 07d4145 Chris Ballance: correct documented siphaser VCO frequency [NFC]
<bb-m-labs> build #2418 of artiq is complete: Failure [failed python_unittest_2] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/2418 blamelist: Florent Kermarrec <florent@enjoy-digital.fr>
<hartytp> _florent_: building this atm https://github.com/hartytp/artiq/tree/hmc7043_rst
<_florent_> hartytp: ok that seems fine
<GitHub-m-labs> [artiq] jbqubit commented on issue #1043: > FWIW, with 2018.1 I've run two different Sayma boards (after the various fixes for bugs like SDRAM, HMC7043 noise, 1V8, etc.) continuously for days without any bug of this sort.... https://github.com/m-labs/artiq/issues/1043#issuecomment-394346575
<hartytp> (building without sawg because life is too short)
<_florent_> hartytp: yes, if rtm is already build, you can probably also start doing some tests without the input buffers always enabled on the AMC.
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1043: Always running the same kernel that uses SAWG, but there was Ethernet traffic processed by the comms CPU due to TCP keepalive and network broadcasts.... https://github.com/m-labs/artiq/issues/1043#issuecomment-394348143
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #984: This is also affecting 3.6. https://github.com/m-labs/artiq/issues/984#issuecomment-394352659
<bb-m-labs> build #1610 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1610
<hartytp> uurgh, looking closely at my HMC7043, it seems that one of Greg's bits of rework has come loose
<_florent_> ah, what was this rework supposed to do?
<hartytp> I actually don't know
<hartytp> looks like it was pulling reset low
<hartytp> fyi, the dac reset patch didn't help the pll lock issues I see atm
<hartytp> yes, see the erata
<hartytp> damn
<hartytp> I think he cut the f****** trace
<_florent_> sorry, which trace?
<hartytp> HMC7043 reset
rohitksingh has joined #m-labs
<_florent_> ah ok
<hartytp> one big mess up with Sayma is using the smallest traces and vias allowed with all routing on internal layers and no test points
<_florent_> maybe that's when he was investigating on the hmc7043
<hartytp> I think this was right when the boards first arrived
<hartytp> near the top
<GitHub-m-labs> [artiq] jbqubit commented on issue #1043: I'll use 2018.1 going forward. --without-sawg builds with problem. Now building with SAWG.... https://github.com/m-labs/artiq/issues/1043#issuecomment-394356634
<hartytp> I'll have a look, but I'm not really set up for that kind of rework
<GitHub-m-labs> [artiq] jbqubit commented on issue #1044: @sbourdeauducq Do you see this on your hardware? https://github.com/m-labs/artiq/issues/1044#issuecomment-394356809
<hartytp> haven't the optics or the soldering tips
<_florent_> i see, so the hmc7043 reset is floating?
<hartytp> just on my board right now yes
<hartytp> on other boards, it's tied to gnd afaict
<hartytp> there should be a small wire that Greg added on pin 5
<hartytp> mine has travelled so much that it's come loose at some point
<hartytp> there comes a point where one has to spin up new boards, rather than dealing with too many fragile hacks
<_florent_> hartytp: could this explain the broadband noise you see and that don't seems to happen on others boards (except maybe joe's board)
<hartytp> probably not
<hartytp> but who knows
<hartytp> let me try to fix it
<_florent_> ok
<hartytp> re grounded it
<hartytp> noise is still there
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1043: > --without-sawg builds with problem.... https://github.com/m-labs/artiq/issues/1043#issuecomment-394359722
<_florent_> ok
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1044: As pointed out elsewhere by Tom and Robert, SAWG tests are not relevant until further JESD204 testing and debugging. https://github.com/m-labs/artiq/issues/1044#issuecomment-394360087
<_florent_> and are you able to reconnect it to the fpga trace?
<hartytp> hmmm right now, I'm getting a lot of serwb issues and the 830 is not identifying
<hartytp> ffs
<_florent_> then maybe you should use your last amc bistream with the enable on the buffers
<GitHub-m-labs> [artiq] jbqubit commented on issue #1043: > --without-sawg builds with problem. ... https://github.com/m-labs/artiq/issues/1043#issuecomment-394363070
<hartytp> I didn't change the input buffer enables yet
<_florent_> so you only changed the rtm?
<bb-m-labs> build #1611 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1611
<hartytp> okay either serwb init fails or hmc830 acks 0
<bb-m-labs> build #2419 of artiq is complete: Failure [failed python_unittest_2] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/2419 blamelist: Chris Ballance <chris.ballance@physics.ox.ac.uk>
<_florent_> and the hmc7043 rst is floating or connected to the trace?
<hartytp> was grounded
<hartytp> now tied to 3v3
<hartytp> will tell you what happens when I get JTAG to stop playing silly buggers
<hartytp> okay, tying the reset high does stop the noise
<_florent_> ok, and are you able to connect it to the trace or is it complicated?
<hartytp> hmc830 is just not acking
<hartytp> I saw this once before where it stopped responding
<hartytp> I left it for an hour and it started again
<hartytp> may be some thermal thing...
<hartytp> **shudder**
<_florent_> ok, so maybe you should power off the board, try to connect the rst to the trace, and continue the test in one hour
hartytp has quit [Ping timeout: 260 seconds]
hartytp has joined #m-labs
<hartytp> I'll have another quick go in the morning.
<hartytp> but, I'm beginning to think that it's better to just focus on the boards that work
<GitHub-m-labs> [artiq] jbqubit commented on issue #1043: Using latest from master 20180604 with SAWG vivado 2018.1 07d4145a35c739. Meets timing. I've run 25 scripts involving SAWG via Ethernet. I don't see any errors on UART. https://github.com/m-labs/artiq/issues/1043#issuecomment-394375956
<hartytp> the board to board variation could well be some piece of rework that's failed
<GitHub-m-labs> [artiq] jbqubit commented on issue #1026: Using latest from master 20180604 with SAWG vivado 2018.1 07d4145a35c739. Meets timing. I've run 25 scripts involving SAWG via Ethernet. No panics. https://github.com/m-labs/artiq/issues/1026#issuecomment-394379327
hartytp has quit [Ping timeout: 260 seconds]
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1026: So you fixed Ethernet? https://github.com/m-labs/artiq/issues/1026#issuecomment-394384373
hartytp has joined #m-labs
<hartytp> _florent_ did the JTAG rework that Greg suggested (short pins 11 and 13 with a solder blob)
<hartytp> board seems much happier now
<hartytp> with the HMC7043 enable tied high, 5 out of 5 times I get to SERDES PLL lock timeout (now expected since there is no output from the HMC7043)
<hartytp> scope verifies that there is no noise on the HMC7043 output during boot
<hartytp> spoke too soon, now I have 2/2 serwb init failed, so that's definitely not connected to the 7043
<GitHub81> [smoltcp] pothos commented on issue #224: Hello,... https://github.com/m-labs/smoltcp/issues/224#issuecomment-394386392
<hartytp> in that case, this doesn't seem so different to having the 7043 enabled
<hartytp> well, not quite true, it has not crashed after HMC7043 init even once, so maybe that was a noise issue from the 7043
<hartytp> I'll see if I can do the 7043 rework
<GitHub40> [smoltcp] pothos commented on issue #224: Ah, I applied the proposed patch with a saturating add, btw. So the numbers jumping back again should not be caused by overflows. https://github.com/m-labs/smoltcp/issues/224#issuecomment-394387036
rohitksingh has quit [Ping timeout: 255 seconds]
rohitksingh has joined #m-labs
<_florent_> hartytp: yes we have many problems together, so that's a bit difficult
<GitHub-m-labs> [artiq] jbqubit commented on issue #1022: What I assume:... https://github.com/m-labs/artiq/issues/1022#issuecomment-394391309
<_florent_> hartytp: i would not focus too much on serwb for now
<_florent_> hartytp: for now let's try to get rid of the crashes
<_florent_> hartytp: if you are able to do the 7043 rework and see that crashes stop, then i would recommend regenerating serwb with 1gbps linerate
<_florent_> hartytp: also if you no longer have noise due to hmc7043, there is no reason to use low speed serwb, we should be able to use the 1gbps version on all boards
rohitksingh has quit [Read error: Connection reset by peer]
<hartytp> how do I enable 1GSPS line rate
<hartytp> okay, that seems to have worked!
<hartytp> okay, that seems to have worked!
<rjo> hartytp: github annoyingly put me as the author of that commit of yours. sorry about that.
<hartytp> np
<hartytp> thanks again for all the work on the servo
<hartytp> it's really lovely
<sb0> rjo, I still find it a bit strange that the various sawg problems would stem from jesd breakage... https://github.com/m-labs/artiq/issues/1022#issuecomment-394391309
<sb0> there is definitely jesd breakage but I'm not sure if that explains everything
<hartytp> sb0: probably not, but shall we try to fight one fire at a time?
<sb0> I've done one test where I set a small amplitude in the SAWG, but the generated signal would still be full-range; samples getting swapped all over the place would not explain that
rohitksingh has joined #m-labs
<sb0> whitequark, ping
<rjo> jesd (at least the core) splits it up into nibbles.
<rjo> i'd debug sawg right now if i knew where to look. imho the proper way to approach this is with prbs (check), stpl, and then the ramp generator.
<GitHub-m-labs> [artiq] hartytp commented on issue #794: To look at this, I changed the FPGA_CLOCK divider to 12 (100MHz output) and looked at J61 on a fast scope triggered from my 100MHz reference. I can confirm that the HMC7043 configuration currently used in ARTIQ master does not provide deterministic latency. I'll apply the patch I proposed above and recheck.... https://github.com/m-labs/artiq/issues/794#issuecomment-3
<_florent_> hartytp: ok, now that you no longer have crashes, can you use this patch to use 1gbps serwb?:
<GitHub-m-labs> [artiq] hartytp commented on issue #794: Nope, even with that patch, the 7043 outputs don't have deterministic latency w.r.t. the reference. https://github.com/m-labs/artiq/issues/794#issuecomment-394406731
<hartytp> will try that tomorrow
<GitHub-m-labs> [artiq] hartytp commented on issue #794: Will dig into this further tomorrow. https://github.com/m-labs/artiq/issues/794#issuecomment-394406793
<_florent_> rjo: i'm going to add the stpl test
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #794: Great, thanks for all your help! https://github.com/m-labs/artiq/issues/794#issuecomment-394409078
<rjo> _florent_: thanks. just a quick q: what is the smallest granularity that jesd could end up doing wrong ordering or misalignment at? octets? nibbles?
<rjo> or maybe larsc ^^^
<_florent_> rjo: so i would say octets, but i have to have a closer look
<rjo> _florent_: ack.
<larsc> rjo: what do you mean with wrong ordering?
<larsc> if you have problems with amplitude, maybe MS octet and LS octet are swapped?
<larsc> although that should not be random
<larsc> when I look at your broken waveform I'd say offset binary vs two's complement problem, no idea how that would happen though
<rjo> larsc: well. i am not certain i'm asking the right question. lmfc alignment granularity is frames, frame alignment granularity is octets, right?
<larsc> I don't thing lmfc matters here, lmfc is just for determinisitc latency
<larsc> lane alignment is done based on the first non /K/ character that is received
<larsc> so unless you have a underflow/overflow in the transceiver after the link has been established things should stay aligned
<rjo> right. underflows is one thing.
<rjo> but https://pasteboard.co/HnSYE20.jpg that's from a counter that wraps around and outputs the same sample 4 times into the jesd core.
<rjo> that is a sample ordering issue.
<larsc> yes
mumptai has joined #m-labs
<larsc> but that kind of reordering would only happen in the FPGA
<larsc> never seen this in a DAC
<larsc> any CDC FIFOs?
<larsc> that almost looks like a gray counter
<rjo> larsc: hmm. yes.
<_florent_> rjo: could it be related to the elastic buffers?
<larsc> any 3 bit gray counters in your system?
<rjo> larsc: sure. EB depth comes to mind.
<rjo> larsc: why 3 bit?
<larsc> looks like 3-bit, I don't know
<rjo> _florent_: i don't know whether any of the sc1 changes are now "actually making use" of the EB.
<rjo> larsc: there is the 4-periodicity. that matches both the EB depth and the "samples-per-fabric-clock" number.
<_florent_> rjo: do you mean we should remove the EB?
<rjo> _florent_: i have no idea. in general: if the two sides of the EB always have the same phase then it can be removed.
<rjo> but i'd probably debug this with stpl first (assuming the EB is after the STPL gen).
<_florent_> rjo: no, the EB are not used for STPL
<rjo> ok. then let's still do stpl to ddx between upstream/downstream of the stpl injection point.
<swivel> win 11
<larsc> your data path width is 4? you always process 4 samples in 1 clock cycle?
<swivel> oops
<larsc> do you have different elastic buffers for different samples?
<larsc> or all samples through the same elastic buffer?
<rjo> iirc data path is 4 samples (certainly in the fabric up to the jesd core). i forget whether the jesd core continues then at 4 samples or at 2 samples. and then i don't know it goes. _florent_ is the man.
<larsc> it looks like half the sample are one clock cycle late/early, which makes no sense if they are always processed 4 at a time
<rjo> but i think it is 4 throughout including the EBs
<larsc> even if the order gets messed up, with a data path width of 4 and 4 consecutive samples with the same value there should at least be 2 consective samples in the output that have the same value
<rjo> sorry, 2 sample wide EB. from the looks of it.
<rjo> 2 EBs per channel. 1 per lane.
<rjo> and the eb is 4 entries deep.
<larsc> but 4 conecutive samples would be 1 entry in the EB
<rjo> yes.
<larsc> and if you generate 4 samples with the same value the only patterns we'd see are 0000 0001 0011 0111
mumptai_ has joined #m-labs
<larsc> so at least 2 samples with the same value
<larsc> even if the order in the EB is messed up
cjbe_ has joined #m-labs
mumptai_ has quit [Remote host closed the connection]
<larsc> but the pattern we see in the scope is 0101
<larsc> or rather 1010
<rjo> yes. what we are seeing is 1010 2121 3232...
cjbe has quit [Ping timeout: 256 seconds]
<larsc> makes no sense :)
<rjo> well. i don't know about the octets. that's a binary counter that has the lowest octet 0.
<rjo> and i don't know if the sequence assignment between the EBs is 02/13 or 01/23.
<larsc> and mode 0 is confirmed?
<rjo> i hope so.
<larsc> I could see this happen with mode 1
<larsc> where is the framer?
<rjo> url? or logically?
<larsc> url
<rjo> m-labs/jesd204b somewhere.
<rjo> but i think digging into this too much right now is pointless. let's wait for new data with fixed clock fanout and stpl.
<larsc> aha!
<larsc> you are using mode 1
rohitksingh has quit [Quit: Leaving.]
<larsc> in mode one if the entries in the EB are swapped the output makes sense again
<larsc> cause it is only 2 samples per 4 octets
<larsc> lane 0 has sample 0 and 1 and lane 1 has sample 2 and 3
<larsc> rather than each lane having 1 octet of each sample
<travis-ci> batonius/smoltcp#131 (master - 91f5891 : Dan Robertson): The build passed.
<rjo> larsc: nice find! thanks
<rjo> _florent_: ^^
<rjo> indeed.
<rjo> would stpl have found that?
<_florent_> sorry, with family, i'll be back later
<travis-ci> batonius/smoltcp#133 (layers - 7d37aa0 : Egor Karavaev): The build is still failing.
<rjo> _florent_: ok.
<larsc> I assume that one of the EBs glitches by 1 clock cycle relative to the other
<rjo> "glitches"? or "ends up being ahead of the other"?
<rjo> and in addition to the mode1/mode0 error?
<GitHub-m-labs> [artiq] jbqubit commented on issue #794: Analog Devices talks about deterministic latency of HMC7043 this in a report on a huge clock tree.... https://github.com/m-labs/artiq/issues/794#issuecomment-394435901
sb0 has quit [Ping timeout: 245 seconds]
<larsc> rjo: here is what happens https://image.ibb.co/jW2vQ8/jesd.png
<larsc> I'm pretty sure the DAC is also configured for mode 1, otherwise the output would never be correct
<rjo> yes. mode1 might be fine per se.
<rjo> larsc: i need a legend to read that figure ;) but i think i know what you mean.
<larsc> this might be clearer
<rjo> larsc: the way our EB is implemented is also without any flow control other than reset. it assumes that after a reset the phase won't make excursions beyond depth/2
<larsc> top is when it works
<larsc> bottom is when it doesn't
<larsc> and you can see in the bottom half lane 1 is 1 clock cycle behind lane 0
<larsc> samples are read in the order A, B, C, D
<rjo> yes. one lane+EB being one sample deeper than the other
<rjo> well beyond depth/2 - 1 = 1
<GitHub-m-labs> [artiq] hartytp commented on issue #794: Joe I'm being daft and measuring the wr on thing. That was never going to work as I was measuring ref to hmc output phase which we can't control. Should have measured phase between hmc7043 outputs! https://github.com/m-labs/artiq/issues/794#issuecomment-394439986
<GitHub-m-labs> [artiq] hartytp commented on issue #794: Well can't = can't via SPI alone https://github.com/m-labs/artiq/issues/794#issuecomment-394440352
<larsc> I'd assume the EB doesn't get it's reset properly or the reset has a asynchronous de-assert or something like that
<GitHub-m-labs> [artiq] whitequark commented on issue #1007: Yes. I tried to fix this purely in the ARTIQ compiler, and it didn't work. Specifically, hoisting invariant loads requires inlining, which requires devirtualization, which is quite hard to implement due to Python's semantics. (We had devirtualization to support compiler-assisted interleaving, but it broke a while ago, and I wasn't successful in fixing it).... htt
<larsc> does each for your EBs has its own reset synchronizer?
<larsc> that would explain it
<larsc> so, fix is one EB to rule them all
<_florent_> larsc: i'm back, thanks a lot for looking at this and for the infos
<_florent_> so you are suggesting to have the same write/read reset for all the EBs?
<larsc> where is the /K/ generated? before or after the EB?
<larsc> if I read the source correctly it is after the EB
<larsc> so what is happening is that your EBs introduce a random offset of one clock cycle on each lane for the data stream
<larsc> but at the same time /K/ and ILAS do not have this random offset since they are after the EB and have the same control signals
<larsc> so two options
<larsc> either place EB after the link
<larsc> or use the same EB for all lanes
<larsc> I'd do the later
<larsc> no need to have a read/write pointer for each EB
<larsc> ah I see
<_florent_> yes but the EB are here because all lanes are operating with their own clocks (same frequency but phase can vary)
<larsc> you want to have the option to have one clock for each phy
<_florent_> larsc: ideally, we should run all the phy with the same clock and use the "tx multilane alignement" of the transceiver
<_florent_> larsc: but that's not what we did here, maybe we'll do that later, but i see what you mean and i'll probably implement that first
<larsc> the other alternative is to make sure that all the EBs use the same reset on the write side
<larsc> but this is a bit tricky to implement using the current code
<larsc> I think swapping the order and run all of the link in the same domain will work
<larsc> the jesd204 protocol will then filter out that additional skew from the EBs
<_florent_> thanks, i'll try that
<GitHub-m-labs> [artiq] jbqubit commented on issue #1022: @sbourdeauducq @jordens What's the next step here? It looks to me like there may be both JESD and SAWG bugs here. https://github.com/m-labs/artiq/issues/1022#issuecomment-394493440
<GitHub-m-labs> [artiq] hartytp commented on issue #1022: Probably just a small JESD issue. Fix on the way. See IRC logs... https://github.com/m-labs/artiq/issues/1022#issuecomment-394504890
jbqubit has joined #m-labs
<GitHub-m-labs> [artiq] cjbe opened issue #1048: SUServo channel number confusion https://github.com/m-labs/artiq/issues/1048
<GitHub-m-labs> [migen] enjoy-digital pushed 1 new commit to master: https://github.com/m-labs/migen/commit/33bb06ab3a61f803d5ae94acd14bea855615db39
<GitHub-m-labs> migen/master 33bb06a Florent Kermarrec: genlib/cdc: add optional master parameter to ElasticBuffer to allow sharing write reset between ElasticBuffers
<bb-m-labs> build #276 of migen is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/migen/builds/276
<GitHub50> [smoltcp] barskern commented on issue #224: @pothos I found a bug in the fast retransmit code based on your logs! ... https://github.com/m-labs/smoltcp/issues/224#issuecomment-394533109
mumptai has quit [Remote host closed the connection]