sb0 changed the topic of #m-labs to: https://m-labs.hk :: Logs http://irclog.whitequark.org/m-labs :: Due to spam bots, only registered users can talk. See: https://freenode.net/kb/answer/registration
hakzsam24 has joined #m-labs
hakzsam24 has quit [Remote host closed the connection]
futarisIRCcloud has joined #m-labs
mauz555 has quit [Ping timeout: 252 seconds]
up2late has joined #m-labs
up2late has quit [Remote host closed the connection]
drebs14 has joined #m-labs
drebs14 has quit [Remote host closed the connection]
rohitksingh_work has joined #m-labs
rohitksingh_work has quit [Read error: Connection reset by peer]
rohitksingh_work has joined #m-labs
mauz555 has joined #m-labs
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
mitch_23 has joined #m-labs
mitch_23 has quit [Remote host closed the connection]
hartytp has joined #m-labs
<hartytp> sb0: I think there must be a dodgy connection on this board, because after putting it away and then getting it out again it seems to work fine
<hartytp> no odd JESD errors or PLL lock ups
<hartytp> sigh
<hartytp> sb0: testing something out for changing the linerate. I want to run the FPGA reference clock at 300MHz and then divide by two in the IBUF, to still put the rtio clock at 150MHz
<hartytp> can you see anything missing from this patch, or do you think it should work? https://hastebin.com/ihefehetog.m
<GitHub-m-labs> [artiq] jordens pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/20cddb6a2505ec943592abd515f7373e53331396
<GitHub-m-labs> artiq/master 20cddb6 Robert Jördens: tester: handle no available ttl outputs
cr1901_modern has quit [Read error: Connection reset by peer]
Jesin12 has joined #m-labs
cr1901_modern has joined #m-labs
Jesin12 has quit [Remote host closed the connection]
<bb-m-labs> build #1869 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1869
<bb-m-labs> build #1870 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/1870
<bb-m-labs> build #2611 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/2611
<sb0> hartytp: yes, you did not change the linerate
<sb0> hartytp: l.20 of that patch
<hartytp> in that patch, I wasn't trying to.
<hartytp> was just trying to use a 300MHz reference from the FPGA
<hartytp> which is a prerequisite to changing the linerate
<sb0> hartytp: but then it'll try to get back the original linerate with that refclk, which may or may not work
<hartytp> why wouldn't it work?
<hartytp> (hint: it doesn't)
<sb0> because GTH transceivers only support certain ratios
<hartytp> right
<hartytp> but one nice thing about _florent_'s core is that it checks that
<hartytp> I looked through his code and through the Xiling UGs and AFIACT his code does not allow the user to set any PLL ratios that aren't supported.
<hartytp> although it's very possible that there is some extra constraint that he didn't enforce that I also missed
<sb0> hartytp: in any cases, those things can only do 20x or 40x the fabric frequency on the line
<sb0> hartytp: you can set other PLL settings and different clocks but then it'll not work
<hartytp> okay
<hartytp> do you have a reference for that?
<larsc> if you use the ref clock for the fpga device clock and want det lat the only supported ratio is 40
<sb0> larsc: why?
<larsc> if you have a divider in the fpga you'll introduce uncertainty because you can't control the phase of the divider
<sb0> you get a bigger divider with 40 than with 20
<larsc> yes, put the phase ambiguity will be to other external signals that have a even larger divider like sysref
<larsc> if all the dividers are in the clock chip you can make sure they are all aligned
<sb0> also they can align the output of the divider
<sb0> oh, you are talking about the external clock chip dividers
<sb0> right
<sb0> I thought you were talking about something intrinsic to the transceiver
<sb0> but yes, that IBUFDS_GTE3 contains an unsynced divider
<larsc> if you use it
<larsc> which you do when you go to 300MHz refclk
<larsc> btw. fyi I'm leaving ADI at the end of October, no more insider knowledge ;)
<hartytp> sb0: right, I see what you're saying.
<hartytp> but, going back to that patch, I'm not changing the line rate or the fabric frequency
<hartytp> just the reference clock, and hence the pll settings
<sb0> hartytp: what are you trying to do?
<hartytp> go to a different line rate eventually, but that will requrie changing the GTH PLL settings and using the IBUF divider, so I want to check that I can get that to work without changing the linerate first
<sb0> hartytp: what linerate? 12G?
<hartytp> yes
<hartytp> sorry, 10G
<hartytp> 1GBPS
<sb0> hartytp: actually the GTH can do 80x
<hartytp> yes, but the core currently hard codes 40x afaict
<sb0> so you can keep everything the FPGA sees at 150MHz and "simply" change the GTH settings
<hartytp> yes
<hartytp> "simply"
<sb0> hartytp: well you only have two options: clock the FPGA at 300MHz, which will fail timing, or implement 80x in the fabric (2x + 40x) or in the transceiver
<sb0> hartytp: both options require changing that code
<hartytp> sure
<sb0> well, not the one you linked to, but in various parts of artiq
<hartytp> but, first, i was surprised that using a 300MHz reference clock but keeping the line rate at 6GBPs and adding the divider didn't work
<hartytp> that doesn't change either the fabric freq or the line rate, so should be a pretty simple change
<sb0> also, you probably want to review every single GTH parameter when going to 12G. yes, there are 600 of them. this is one reason I hate those things so much.
<sb0> hartytp: in addition to the nondeterminism that larsc pointed, iirc that only divides the fabric output, not the transceiver output
juvenal1 has joined #m-labs
<hartytp> sb0: right but for now I'm not worried about the non-determinism
<hartytp> and, I didn't want to change the transceiver output
<hartytp> (that's the whole point)
<hartytp> the PLL settings should give the correct TX clock for the given linerate even with the 300MHz ref clk, shouldn't they
<larsc> usually when you double the ref clock the only change required for the PLL is dividing the feedback divider by two
<larsc> hartytp: CPLL can't do 20x
<larsc> ah no
<larsc> it can do 20
<larsc> it can't do 80
<hartytp> yes, _florent_ did a good job of documenting that and adding assertions to ensure that the code won't build with invalid PLL divider settings
<hartytp> which is why I figured that the patch I posted above would work -- just change the refclk frequency as well as the FPGA dividers and it should work
<hartytp> the fact that it doesn't shows that I don't understand how the various FPGA bits are clocked and shouldn't try to do anything more complex :(
<larsc> what does it report for the dividers it computed etc?
juvenal1 has quit [Ping timeout: 252 seconds]
<hartytp> {'clkin': 150000000, 'm': 1, 'n1': 4, 'vco_freq': 3000000000.0, 'linerate': 6000000000, 'n2': 5, 'd': 1}
<larsc> you need to change that to b100
<sb0> hartytp: what error do you get?
<hartytp> larsc: thanks! Will look at that.
<hartytp> sbo: jesd init errors.
<hartytp> no, larsc I don't think that's the issue
<hartytp> should be fine using the current setting there
<hartytp> however, there are other things like TX_CLK25_DIV which seem likely to cause issues
<sb0> hartytp: wouldn't you get two 150MHz clocks with potentially two different phases with this code?
<hartytp> you mean the jesd logic clock at 150MHz that comes from the div2 output of the ibuf
<larsc> hartytp: trust me that is the issue
<larsc> TX_CLK25_DIV does not matter
<hartytp> larsc: okay, I need to read more about the transceiver structure them
<larsc> it is only used for PCIe
<larsc> hartytp: this selects the clock that clocks the fabric side of the transceiver
<larsc> and needs to be 1/40 of the linerate
<hartytp> aah, okay
<larsc> b011 means that this clock is the ref clock
<larsc> b100 means that it is ref clock / 2
rohitksingh_work has quit [Read error: Connection reset by peer]
mauz555 has quit [Ping timeout: 240 seconds]
<hartytp> larsc: thanks again for the pointers.
<hartytp> I'll put increasing the JESD linerate on hold for now and just crank the DAC interpolation up as a quicker way of getting the clock frequency up
rohitksingh has joined #m-labs
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1100: @dhslichter Is the problem still present? It should be fixed in release-3 as well now. https://github.com/m-labs/artiq/issues/1100#issuecomment-423975184
sb0 has quit [Ping timeout: 245 seconds]
sb0 has joined #m-labs
rohitksingh has quit [Quit: Leaving.]
hartytp has quit [Quit: Page closed]
mauz555 has joined #m-labs
rohitksingh has joined #m-labs
hartytp has joined #m-labs
<hartytp> sb0: are there any docs for the DRTIO switching?
<sb0> hartytp: no
<hartytp> are you planning to write any?
<sb0> artiq_route init, artiq_route set <destination> <hop1> <hop2> ... (on kasli: 0=local rtio, 1=sfp1, 2=sfp2; routes must end with 0), artiq_flash -f routing_table file, then 8 MSBs of RTIO channels are the destination
<sb0> or artiq_coremgmt config routing_table
<sb0> destinations are numbers 0-255 of your choosing
<hartytp> okay, so all satellites are now repeaters with no special new configuration required
<hartytp> sf0 is upstream, sfp1/2 are downstream
<hartytp> all that is needed is to program the routing table in the master
<hartytp> is that correct?
rohitksingh has quit [Quit: Leaving.]
rohitksingh has joined #m-labs
rohitksingh has quit [Client Quit]
rlindsgaard has joined #m-labs
xpoqp27 has joined #m-labs
xpoqp27 has quit [Remote host closed the connection]
<GitHub-m-labs> [artiq] hartytp opened issue #1156: DRTIO switching documentation https://github.com/m-labs/artiq/issues/1156
rlindsgaard has quit [Ping timeout: 240 seconds]
<sb0> hartytp: yes, satellites do not need any user configuration
<GitHub-m-labs> [artiq] hartytp commented on issue #1156: Documentation in artiq_route could be a bit clearer.... https://github.com/m-labs/artiq/issues/1156#issuecomment-424008895
<GitHub-m-labs> [artiq] hartytp commented on issue #1156: no special gateware/firwmare configuration is required, since all satellites are now DRTIO repeaters by default https://github.com/m-labs/artiq/issues/1156#issuecomment-424009051
<hartytp> do I need to explicitly set route 0?
<sb0> yes
rohitksingh has joined #m-labs
<sb0> destination numbers are totally arbitrary
<sb0> destination 0 is not special
<hartytp> would it make sense to have `0 0` added by default in init?#
<hartytp> also, does this mean that all master builds now need to have a routing table programmed to be functional?
<sb0> no, there is a default in firmware
<GitHub-m-labs> [artiq] hartytp commented on issue #1156: NB route `0 0` does need to be explicitly programmed otherwise local RTIO channels aren't available https://github.com/m-labs/artiq/issues/1156#issuecomment-424010273
<hartytp> oh, how does that work?
<hartytp> also, what's the plan for https://github.com/m-labs/artiq/issues/1155?
<hartytp> I would like to check synchronisation using DRTIO switching, as part of my acceptance testing
<GitHub61> [smoltcp] whitequark commented on issue #256: > It seems when I write a straightforward case (do a bunch of `send!` calls with frames but one missing from the sequence), the `recv!` call at the end -- expecting an ACK with sACK in the TCP options -- gets `Ok(None)`, which causes an assert failure. And I cannot figure out why.... https://github.com/m-labs/smoltcp/issues/256#issuecomment-424011255
<sb0> if no routing table is programmed, it takes a default that corresponds to a star (similar to when there was no switching)
<sb0> as for #1155 either fix it or stop using the SERDES
<GitHub-m-labs> [artiq] hartytp commented on issue #1156: if no routing table is programmed a default one is adopted https://github.com/m-labs/artiq/issues/1156#issuecomment-424020006
gendl20 has joined #m-labs
hartytp has quit [Quit: Page closed]
gendl20 has quit [Ping timeout: 252 seconds]
rohitksingh has quit [Quit: Leaving.]
jimInDevNull28 has joined #m-labs
jimInDevNull28 has quit [Read error: Connection reset by peer]
<GitHub42> [smoltcp] podhrmic commented on issue #51: @whitequark there is a pending PR #236 but I got to a halt with the `ManagedMap`(see the comments there). I got the fragmentation working properly in [my fork](https://github.com/GaloisInc/smoltcp/tree/firewall/src/iface) using `ManagedSlice` so it might be used for reference. https://github.com/m-labs/smoltcp/issues/51#issuecomment-424036146
<GitHub135> [smoltcp] whitequark commented on issue #51: @podhrmic That PR is for fragmentation but this issue is for IGMP; I thought IGMP fully works now https://github.com/m-labs/smoltcp/issues/51#issuecomment-424036814
<GitHub31> [smoltcp] podhrmic commented on issue #51: Yes, I believe IGMP support was added in #178 https://github.com/m-labs/smoltcp/issues/51#issuecomment-424041034
mauz555 has quit [Ping timeout: 244 seconds]
rohitksingh has joined #m-labs
<GitHub117> [smoltcp] whitequark closed issue #51: Implementing IGMP protocol and multicast support https://github.com/m-labs/smoltcp/issues/51
mauz555 has joined #m-labs
mauz555 has quit [Ping timeout: 252 seconds]
Medic-16 has joined #m-labs
Medic-16 has quit [Remote host closed the connection]
kristianpaul has quit [Quit: leaving]
c0rn3j19 has joined #m-labs
c0rn3j19 has quit [Remote host closed the connection]
setrofim2 has joined #m-labs
kristianpaul has joined #m-labs
kristianpaul has quit [Client Quit]
setrofim2 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
onenerdyguy21 has joined #m-labs
grove24 has joined #m-labs
onenerdyguy21 has quit [Remote host closed the connection]
grove24 has quit [Remote host closed the connection]
rohitksingh has quit [Quit: Leaving.]
paul__ has joined #m-labs
paul__ is now known as kristianpaul
kristianpaul has quit [Client Quit]
kristianpaul has joined #m-labs
kristianpaul has quit [Client Quit]
kristianpaul has joined #m-labs
mumptai has joined #m-labs
kristianpaul has quit [Quit: leaving]
kristianpaul has joined #m-labs
kristianpaul has quit [Client Quit]
kristianpaul has joined #m-labs
roadhog86312 has joined #m-labs
Trangar10 has joined #m-labs
roadhog86312 has quit [Ping timeout: 252 seconds]
Roconda has joined #m-labs
Trangar10 has quit [Ping timeout: 246 seconds]
Roconda has quit [Remote host closed the connection]
tolland28 has joined #m-labs
tolland28 has quit [Ping timeout: 245 seconds]
devjunk15 has joined #m-labs
alh25 has joined #m-labs
devjunk15 has quit [Remote host closed the connection]
alh25 has quit [Remote host closed the connection]
felix_ has quit [Quit: leaving]
felix_ has joined #m-labs
jmorgan14 has joined #m-labs
jmorgan14 has quit [Remote host closed the connection]
mauz555 has joined #m-labs
d4nky4 has joined #m-labs
d4nky4 has quit [Remote host closed the connection]
mumptai has quit [Quit: Verlassend]
Astro-_ has joined #m-labs
iwxzr has quit [*.net *.split]
Astro- has quit [*.net *.split]
iwxzr has joined #m-labs
mauz555 has quit [Ping timeout: 252 seconds]