02:13
fengling has joined #m-labs
02:58
sb0 has quit [Quit: Leaving]
04:49
rohitksingh has joined #m-labs
05:00
<
mithro >
cyrozap: re: UART over JTAG -- OMG, OMG! If you get that working, I'll send you a pizza/beer!
05:02
<
mithro >
cyrozap: btw, who are you and what are you doing with misoc / migen?
06:21
Gurty has quit [Ping timeout: 246 seconds]
08:01
rohitksingh has quit [Ping timeout: 246 seconds]
08:14
Gurty has joined #m-labs
08:21
FabM has joined #m-labs
08:40
rohitksingh has joined #m-labs
11:08
kyak has joined #m-labs
11:46
rohitksingh has quit [Ping timeout: 260 seconds]
16:49
<
whitequark >
rjo: ping
16:50
<
rjo >
whitequark: pong
16:50
<
whitequark >
oh, nevermind, the stupid backplane jtag problem hits again
16:50
<
whitequark >
do I just issue the load command?
16:51
<
whitequark >
via artiq_flash I mean. and wait the board to boot.
16:51
<
rjo >
whitequark: artiq_flash -t kc705 -d path_to_top.bit load
16:52
<
whitequark >
huh wtf
16:52
<
whitequark >
Memtest failed: 131332/532736 words incorrect
16:52
<
whitequark >
Memory initialization failed
16:52
<
whitequark >
that was intermittent.
16:56
<
rjo >
is the fan ok?
16:56
<
whitequark >
the fan is running yes
16:56
<
whitequark >
spinning
16:58
<
whitequark >
rjo: btw would you share your scope interfacing code?
16:58
<
whitequark >
the layout seemed quite elegant to me
16:58
<
rjo >
whitequark: it's ~rj/src/artiq/run/capture.py
17:01
<
whitequark >
ah well. yes. less useful than I expected.
17:01
<
whitequark >
still I'm quite pleased that you were able to use this scope remotely. huge timesaver.
17:13
<
whitequark >
rjo: hm, no, I was wrong, that memory initialization problem is not intermittent
17:13
<
whitequark >
in fact now I get it every time
17:20
<
rjo >
whitequark: new gateware?
17:20
<
whitequark >
define 'new'?
17:21
<
whitequark >
I'm trying to load a patched gateware, yes
17:21
<
rjo >
iirc there were some changes in the ram stuff recently (last few days)
17:21
<
whitequark >
yes, with all the TTLs as TTLInOut
17:22
<
rjo >
try an older misoc.
18:19
ylamarre has joined #m-labs
18:35
<
whitequark >
FYI I've flashed a gateware where all TTLs are TTLInOut
19:51
<
whitequark >
rjo: can you look at test_loopback?
19:51
<
whitequark >
I get this:
19:51
<
whitequark >
self.assertLess(rtt, 50*ns)
19:51
<
whitequark >
AssertionError: 5.0000000000000004e-08 not less than 5.0000000000000004e-08
19:51
<
whitequark >
this seems very suspicious.
19:51
<
whitequark >
is 50ns one RTIO clock period?
19:54
<
rjo >
will have a look
19:57
<
rjo >
how are they connected?
19:57
<
whitequark >
a wire.
19:57
<
rjo >
how long is the wire?
19:58
<
whitequark >
no, it's a tiny breadboard jumper
19:58
<
whitequark >
160ps?
19:58
<
whitequark >
not including breadboard itself
20:00
<
rjo >
let me calculate the expected delay.
20:00
<
rjo >
but 50ns sounds possible.
20:00
<
rjo >
could you just for fun try a cable that is at least 1ns longer?
20:01
<
rjo >
maybe the test was last run when that ttlout was still a simple TTLout. the simple TTLouts have less latency AFAIK.
20:01
<
rjo >
and/or the same for the TTLInOUt
20:01
<
whitequark >
actually it used to use loop_inout
20:02
<
whitequark >
but I'm curious about the exact 50ns value
20:03
<
rjo >
well. you should try a slightly modified version of the test where they are the same.
20:03
<
whitequark >
that's not possible anymore
20:03
<
whitequark >
because of with parallel / with interleaving issue
20:03
<
rjo >
pretty sure that it is 48ns latency from the PHYs (and the SERDESes) and then 2 ns from the package, board, connector, backplane, jumper.
20:04
<
rjo >
you manually inline the gate_rising, right?
20:04
<
whitequark >
I don't inline anything here, I use with parallel
20:04
<
whitequark >
the new one
20:04
<
whitequark >
I could inline it perhas
20:04
<
rjo >
that's why i say you manually inline it.
20:05
<
rjo >
but the code looks fine. i would do the two things suggested to make you comfortable.
20:05
<
whitequark >
yep, I used a longer wire and here it is 2ns more
20:06
<
rjo >
let me estimate the latency
20:14
<
whitequark >
actually, how come it's 2ns more?
20:14
<
whitequark >
if the RTIO clock is 6.25ns
20:15
<
rjo >
the rtio clock is 8ns. 50ns/8ns=6.25
20:16
<
whitequark >
I mean--it used to return 50ns, now it returns 52ns
20:16
<
whitequark >
that makes no sense
20:16
<
rjo >
i count 6 or 7 cycles rtt depending on details i am too lazy to confirm.
20:18
<
whitequark >
so with a short wire the rtt is 50mu with the long one it's 52mu
20:18
<
whitequark >
1mu=1ns?
20:19
<
whitequark >
does rtio do 8 acquisitions per clock cycle?
20:21
<
whitequark >
oh. those are 10Gbps transceivers
20:22
ylamarre has quit [Ping timeout: 260 seconds]
20:26
<
rjo >
one coarse RTIO cycles is 8ns = 8mu.
20:29
ylamarre has joined #m-labs
20:35
<
GitHub34 >
misoc/master 3cf5dfe whitequark: flterm: fix typo: --kernel-adr → --kernel-addr.
20:39
<
rjo >
whitequark: 50ns is fine if you intend to run that way. other backplanes will measure wildly different things. i would say: decide on a reproducible wiring for that test, describe how you expect loop_in and loop_out to be connected in the device_db.pyon for the test, then make the test rtt value bounded by a few ns around the delay that you measure reproducibly.
20:42
<
_florent_ >
whitequark, rjo: the changes from the last days on the SDRAM are not impacting ARTIQ (SoCs with LASMICON were not compiling since refactoring)
20:42
<
_florent_ >
the others changes are related to ethernet
20:42
<
_florent_ >
I just tested MiniSoC here on my KC705 and memtest seems fine
20:43
<
whitequark >
this seems to be the problem with one specific gateware I compiled
20:43
<
whitequark >
dunno why
20:43
<
whitequark >
maybe some of the nondeterministic parts of layout got fucked?
20:44
<
_florent_ >
and now it's fine with another compilation?
20:44
<
whitequark >
I didn't try another compilation
20:44
<
whitequark >
takes too much time
20:49
<
rjo >
_florent_: ack
20:49
<
_florent_ >
ok, if it's still failing I'll do the test here and will fix it. Please ping me if it's the case.
21:12
<
whitequark >
rjo: I found your cache-related crash
21:13
<
GitHub84 >
artiq/master 9ffa8cb whitequark: test_loopback: bump RTT limit to 60ns....
21:13
<
GitHub84 >
artiq/master 739568f whitequark: runtime: fix sloppy memory management in cache_put.
21:14
<
whitequark >
ok. the testsuite reliably succeeds now, with the exception of one test, test_time_keeps_running.
21:42
<
rjo >
whitequark: where does it fail?
21:50
<
rjo >
whitequark: that test should not look at now_mu() but at the value of the timestamp counter. rtio_get_counter() should be exposed
21:51
<
rjo >
or break_realtime() and then now_mu() as a quick fix.
22:02
<
rjo >
oh. it is exposed. self.core.get_rtio_counter_mu() could use a docstring
22:12
ylamarre has quit [Ping timeout: 276 seconds]
22:17
ylamarre has joined #m-labs
23:12
bb-m-labs_ has quit [Quit: buildmaster reconfigured: bot disconnecting]
23:12
bb-m-labs has joined #m-labs
23:12
bb-m-labs has quit [Client Quit]
23:14
<
GitHub70 >
buildbot-config/master 1a298c6 whitequark: Run hardware test as a part of the build.
23:14
<
GitHub70 >
buildbot-config/master 3b4ebf4 whitequark: Ensure local changes are pushed before deploy.
23:15
bb-m-labs has joined #m-labs
23:15
<
GitHub34 >
buildbot-config/master 3a60ff1 whitequark: Run hardware test as a part of the build.
23:15
<
GitHub34 >
buildbot-config/master 7612302 whitequark: Ensure local changes are pushed before deploy.
23:40
<
whitequark >
there's a stupid circular dependency between artiq main package and board packages.
23:41
<
whitequark >
ah well maybe not
23:49
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
23:49
<
GitHub133 >
buildbot-config/master a859d4c whitequark: Flash the test board before testing.
23:49
bb-m-labs has joined #m-labs
23:49
<
GitHub35 >
buildbot-config/master c605691 whitequark: Flash the test board before testing.
23:50
<
whitequark >
bb-m-labs: force build artiq
23:50
<
bb-m-labs >
The build has been queued, I'll give a shout when it starts
23:50
<
bb-m-labs >
build #346 forced
23:50
<
bb-m-labs >
I'll give a shout when the build finishes