02:45
_whitelogger has joined #m-labs
03:35
sb0 has joined #m-labs
03:37
<
whitequark >
sb0: well... sigrok? it has python bindings iirc
03:38
<
sb0 >
I want a continuous stream of data (analyzer continuously sampling without glitches), ideally passed into numpy arrays some thousands samples deep
03:38
<
sb0 >
okay and that sigrok lib works correctly? have you tried it? i saw you reimplemented many things yourself in glasgow...
03:39
<
whitequark >
glasgow is orthogonal to sigrok though, no?
03:40
<
whitequark >
it pays off to reimplement things in glasgow because i can use python to share code between gateware and software, so i don't have to e.g. add some complicated serialization to explain sigrok what channels, sample rates, etc I need. also sigrok doesn't work well with glasgow's internal logic analyzer because it doesn't support multibit signals
03:40
<
whitequark >
and glasgow's LA shows you FIFO reads and writes
03:41
<
whitequark >
anyway, i didn't try that part of sigrok's python bindings myself
03:41
<
whitequark >
i only really wrote decoders for it
03:42
sb0 has quit [Quit: Leaving]
03:43
<
whitequark >
I suppose you could also use sigrok-cli to stream data into an unix FIFO in straight binary, or something like that
03:46
cedric has joined #m-labs
03:46
cedric has joined #m-labs
03:46
cedric has quit [Changing host]
04:05
<
mtrbot-ml >
[mattermost] <sb10q> Hmm I'll see. For that FIFO approach, Python I/O seems a bit slow, and I need at least 5Msps on 3 channels
04:06
<
mtrbot-ml >
[mattermost] <sb10q> Something that writes numpy arrays directly and efficiently sounds safer
04:10
<
whitequark >
15 MB/s?
04:10
<
whitequark >
I easily hit 30 MB/s with Python, libusb, and glasgow
04:10
<
whitequark >
and that's without any numpy arrays, just regular Python memoryview, and some pretty crappy code too
04:11
<
whitequark >
s/30/40/, actually
04:11
<
whitequark >
wait, no, 3 channels fit into 1 byte, so it'd be just 5 MB/s
04:11
<
whitequark >
that's completely trivial
04:16
<
mtrbot-ml >
[mattermost] <sb10q> Well OK, but you need to separate them afterwards
04:16
<
mtrbot-ml >
[mattermost] <sb10q> Anyway I can benchmark that easily
04:16
<
whitequark >
sure, use numpy for that
05:10
rohitksingh_work has joined #m-labs
05:34
proteusguy has joined #m-labs
05:41
proteusguy has quit [Ping timeout: 248 seconds]
05:48
bluebugs has joined #m-labs
05:48
bluebugs has quit [Changing host]
05:48
bluebugs has joined #m-labs
05:48
cedric has quit [Ping timeout: 258 seconds]
06:00
rohitksingh has joined #m-labs
06:04
rohitksingh has quit [Ping timeout: 246 seconds]
07:01
futarisIRCcloud has joined #m-labs
07:08
proteusguy has joined #m-labs
07:19
sb0 has joined #m-labs
07:19
<
sb0 >
okay, this sigrok stuff just works out of the box. nice!
07:20
<
sb0 >
no firmware to compile, fxload, etc.
07:20
<
whitequark >
yes, sigrok is quite good. unfortunately it is badly understaffed.
07:21
<
whitequark >
the core needs some significant refactoring to really get to its full potential and there's not enough people working on it
07:21
<
whitequark >
e.g. pulseview ought to be better than gtkwave. and decoders should not choke on 100Ms of mostly idle data points.
08:16
m4ssi has joined #m-labs
10:35
<
_whitenotifier-3 >
[nmigen] whitequark opened issue #161: pysim should have a way to reset user/sync signals -
https://git.io/fjDd8
11:03
_whitelogger has joined #m-labs
12:28
sb0 has quit [Quit: Leaving]
13:00
rohitksingh_work has quit [Read error: Connection reset by peer]
13:01
proteusguy has quit [Ping timeout: 245 seconds]
13:48
rohitksingh has joined #m-labs
14:45
rohitksingh has quit [Ping timeout: 245 seconds]
14:57
bluebugs has quit [Ping timeout: 245 seconds]
14:59
bluebugs has joined #m-labs
14:59
bluebugs has joined #m-labs
14:59
bluebugs has quit [Changing host]
15:07
sb0 has joined #m-labs
15:49
m4ssi has quit [Remote host closed the connection]
16:03
proteusguy has joined #m-labs
16:20
bluebugs is now known as cedric
17:02
isengaara-tomoko has joined #m-labs
17:05
<
isengaara-tomoko >
When using NMigen I get UnusedElaboratable warnings, meaning that
17:06
<
isengaara-tomoko >
class Fragment: @staticmethod def get(obj, platform): while True: if isinstance(obj, Fragment): return obj elif isinstance(obj, Elaboratable): obj._Elaboratable__used = True
17:06
<
isengaara-tomoko >
is never called
17:07
<
whitequark >
indeed. any elaboratables that are created but not synthesized display this message
17:12
<
isengaara-tomoko >
so I just need to connect each Elaboratables output
17:13
<
isengaara-tomoko >
I currently working on a unittest for a TLB, and all inner modules have already been tested
17:13
<
whitequark >
are you adding the modules that show UnusedElaboratable warning as submodules somewhere?
17:13
<
whitequark >
that's the bug this warning is supposed to guard against
17:19
<
isengaara-tomoko >
I think yes, the modules are added as submodules
17:20
<
isengaara-tomoko >
however the code was generated using a systemverilog to nmigen converter and had to be modified manually to run inside nmigen
19:04
isengaara-tomoko has left #m-labs [#m-labs]
19:48
mumptai has joined #m-labs
21:11
bluebugs has joined #m-labs
21:11
bluebugs has quit [Changing host]
21:11
bluebugs has joined #m-labs
21:11
cedric has quit [Ping timeout: 246 seconds]
21:46
<
cr1901_modern >
sb0: I sent a privmsg and email when you get the chance.
22:30
mumptai has quit [Quit: Verlassend]
22:43
proteusguy has quit [Ping timeout: 246 seconds]