Sebastien Bourdeauducq
9acc7d135e
gateware: common RTIO interface
2016-11-22 22:46:50 +08:00
Sebastien Bourdeauducq
0aaf120ca7
kc705: remove stale DDS definition
2016-11-22 22:46:19 +08:00
Sebastien Bourdeauducq
7498c8bba0
Merge branch 'master' into drtio
2016-11-22 16:07:30 +08:00
Sebastien Bourdeauducq
3459793586
Merge branch 'master' into drtio
2016-11-22 15:15:22 +08:00
whitequark
1d1e821a74
runtime: replace a (deliberate) memory leak with an interner.
2016-11-21 19:47:56 +00:00
whitequark
ac997daf95
compiler: disable remarks.
2016-11-21 19:12:11 +00:00
whitequark
18b7ccea4e
runtime: rewrite i2c support code in Rust.
2016-11-21 18:25:43 +00:00
whitequark
a825584ac0
runtime: rewrite rtio support code in Rust.
2016-11-21 17:13:09 +00:00
Sebastien Bourdeauducq
ef971ef8ba
RELEASE_NOTES: update
2016-11-21 23:51:39 +08:00
Sebastien Bourdeauducq
93c310dfa5
pipistrello: add some inputs
2016-11-21 23:43:41 +08:00
whitequark
6aa5d9f6c6
Remove last vestiges of nist_qc1.
2016-11-21 15:36:22 +00:00
whitequark
5e8888d5f3
Fully drop AD9858 and kc705-nist_qc1 support ( closes #576 ).
2016-11-21 15:14:17 +00:00
whitequark
f4b7666768
coredevice.dds: reimplement fully in ARTIQ Python.
...
This commit also drops AD9858 support from software.
2016-11-21 15:13:26 +00:00
whitequark
55ea68da7f
compiler: unbreak casts to int32/int64.
2016-11-21 14:20:28 +00:00
whitequark
53b7d59b6a
analyses.constness: fix false positive on x[...].
2016-11-21 14:20:26 +00:00
whitequark
35f4449ef2
inferencer: significantly improve the op-assignment diagnostic.
...
Before this commit, it displayed incorrect output if an error
appeared on 2nd run and beyond, and displayed messages for trying
to do "num32 -= num64" that made very little sense.
2016-11-21 14:20:24 +00:00
whitequark
3485c83429
Fix tests.
2016-11-21 06:40:47 +00:00
whitequark
009d396740
Move mu_to_seconds, seconds_to_mu to Core.
2016-11-21 05:37:30 +00:00
whitequark
06ea76336d
artiq_devtool: don't crash on invalid utf-8.
2016-11-21 05:37:27 +00:00
whitequark
b562b0fbc4
artiq_devtool: detect a race condition during connect.
2016-11-21 03:10:41 +00:00
whitequark
7af41bd29c
llvm_ir_generator: handle no-op coercions.
2016-11-21 02:25:34 +00:00
Sebastien Bourdeauducq
eb18466820
conda: use development version of migen/misoc
2016-11-20 22:56:48 +08:00
whitequark
cdb29f9caa
Revert accidentally committed code.
2016-11-20 14:32:59 +00:00
Sebastien Bourdeauducq
ad1049d59a
Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623 "
...
This reverts commit 4a62e09bd4
.
2016-11-20 21:35:07 +08:00
whitequark
f5cca6b09e
analyses.invariant_detection: implement ( #622 ).
2016-11-20 12:48:26 +00:00
whitequark
30598720f4
Fix whitespace.
2016-11-20 09:50:00 +00:00
whitequark
abf2b32b20
coredevice.dds: work around the round(numpy.float64()) snafu.
2016-11-20 09:49:58 +00:00
whitequark
d7f4397924
coredevice.dds: update from obsolete int(width=) syntax ( fixes #621 ).
2016-11-20 09:49:39 +00:00
David Leibrandt
4a62e09bd4
gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623
2016-11-20 15:22:32 +08:00
Sebastien Bourdeauducq
02adae7397
drtio: fix link shutdown
2016-11-19 11:01:33 +08:00
Sebastien Bourdeauducq
abd1b2a94e
drtio: wait longer for remote (bruteforce clock aligner can be slow)
2016-11-19 11:01:09 +08:00
Sebastien Bourdeauducq
381e58434f
drtio: handle link restarts at transceiver level
2016-11-19 10:46:56 +08:00
Sebastien Bourdeauducq
ba94ed8f4b
drtio: check for absence of disparity errors before claiming RX ready
2016-11-19 00:05:59 +08:00
whitequark
2015fe9de0
doc: update installing_from_source for LLVM 3.9 transitionl
2016-11-18 10:35:36 +00:00
Sebastien Bourdeauducq
4d07974a34
drtio: reset link from CPU
2016-11-18 17:45:33 +08:00
Sebastien Bourdeauducq
f040e27041
drtio: add timeout on FIFO get space request
2016-11-18 17:44:48 +08:00
whitequark
c7844d5223
runtime: use proper format for git commit.
...
Fixes #620 .
2016-11-17 15:20:21 +00:00
Sebastien Bourdeauducq
bb047aabe9
drtio: simpler link layer
2016-11-17 22:32:39 +08:00
Sebastien Bourdeauducq
09363e1da8
drtio: aux controller unittest
2016-11-16 19:45:28 +08:00
Sebastien Bourdeauducq
140bb0ecee
drtio: aux controller fixes
2016-11-16 19:44:03 +08:00
Sebastien Bourdeauducq
7fa9a4efc3
drtio: aux controller unittest WIP
2016-11-15 12:02:53 +08:00
Sebastien Bourdeauducq
6c9965b444
drtio: aux controller fixes
2016-11-15 12:02:41 +08:00
Sebastien Bourdeauducq
e1394db861
drtio: aux controller minor fixes
2016-11-14 17:26:30 +08:00
Sebastien Bourdeauducq
84bd962ed5
drtio: integrate aux controller
2016-11-14 17:20:47 +08:00
Sebastien Bourdeauducq
a4d92716da
drtio: fix aux receiver, add aux transmitter
2016-11-14 17:18:54 +08:00
Sebastien Bourdeauducq
f2f131e0fb
drtio: add aux receiver (untested)
2016-11-14 00:04:53 +08:00
whitequark
18c394976e
runtime: disable the Nagle algorithm entirely.
...
See also commit feed91d; that commit fixed the test_rpc_timing test,
but caused frequent hangs elsewhere, which were also caused by buggy
Nagle implementation. Just disable this entirely, as with our
explicit buffering it provides no benefit anyway.
2016-11-13 00:33:24 +00:00
whitequark
feed91d8b2
runtime: buffer RPC send packets.
...
This brings mean RPC time from ~45ms to ~2ms.
The cause of the slowness without buffering is, primarily, that lwip
is severely pessimized by small writes, whether with Nagle on or off.
(In fact, disabling Nagle makes it function *better* on many small
writes, which begs the question of what's the point of having Nagle
there in the first place.) In practical terms, the slowness appears
only when writing a 4-byte buffer (the synchronization segment);
writing buffers of other sizes does not trigger the problem.
This all is extremely confusing and the fix is partly palliative,
but since it seems to work reliably and we're migrating off lwip
I think it is unwise to spend any more time debugging this.
2016-11-12 23:06:33 +00:00
whitequark
3ce1826891
runtime: don't print debug messages to the UART.
...
It takes ~4ms to print an empty log line because of how slow
the UART is. This makes the log timestamps useless for debugging
performance problems.
After this commit, it takes ~75us to print an empty log line instead,
which pessimizes test_rpc_timing by less than 2ms with tracing
enabled.
2016-11-12 20:26:32 +00:00
whitequark
acc5e53b32
runtime: print microsecond timestamps in debug messages.
2016-11-12 20:26:32 +00:00