whitequark
9dfe9c1248
DMA: improve recording performance.
...
This commit moves DMA serialization code to the kernel CPU
(to cope with the existence of rtio_output_wide) and batches
the resulting sequences. This results in less data being transferred
between kernel and comms CPUs (24 octets with one pointer before,
18 octets with no pointers now, for the common case of rtio_output),
but most importantly reduces cache flushes, which now happen
once per 64k octets.
On average, it now takes about 15us to record a single RTIO event
in a DMA trace.
Fixes #712 .
2017-04-15 07:29:52 +00:00
whitequark
ea753bed17
runtime: advise to set panic_reboot=1 on panic.
2017-04-15 07:29:36 +00:00
Robert Jördens
534e681d0b
pdq2: use 16 bit data, buffered read_mem()
2017-04-13 20:49:46 +02:00
Robert Jördens
90cf11994e
spi: style
2017-04-13 13:38:29 +02:00
Robert Jördens
8446cccb4e
pdq2: mem_read
2017-04-13 13:38:13 +02:00
whitequark
0b9601f12d
artiq_devtool: more robust defaults.
2017-04-13 08:26:48 +00:00
whitequark
3a1fc729cf
compiler: refactor type annotations recognizing in kernels.
...
The new implementation is much more generic, more robust,
and shares code with the same for syscalls as well as RPCs.
Fixes #713 .
2017-04-13 08:26:10 +00:00
Sebastien Bourdeauducq
99196986c0
conda: use conda-forge and depend on pyqtgraph 0.10.0 ( #704 )
2017-04-13 00:55:16 +08:00
whitequark
31048f4b6a
compiler: fix monomorphization of coerced integer literals.
...
Fixes #703 .
2017-04-12 04:11:47 +00:00
Sebastien Bourdeauducq
c5cd77f177
manual: add DRTIO intro
2017-04-12 00:43:35 +08:00
Sebastien Bourdeauducq
598533adba
manual: add DMA to tutorial
2017-04-12 00:43:09 +08:00
whitequark
296dc3b0c4
artiq_coreboot: allow hot-rebooting the device.
2017-04-11 03:24:24 +00:00
whitequark
1bd4d13391
artiq_compile: make print() write to core log, not an invalid op.
...
Fixes #710 .
2017-04-11 03:16:34 +00:00
Robert Jördens
20652ce128
pdq2: align subsequent writes to end
2017-04-09 13:50:19 +02:00
Robert Jördens
ed8edf318d
sma_spi: undo cri_con
2017-04-08 17:19:35 +02:00
Robert Jördens
78dd4b8614
pdq2: memory write, kernel_invariants
2017-04-08 17:16:19 +02:00
Robert Jördens
16b7f8f50c
sma_spi: cri/cd changes
2017-04-08 17:16:19 +02:00
Robert Jördens
1e6e81a19e
sma_spi: LVCMOS25
2017-04-08 17:16:19 +02:00
Robert Jördens
0838981bed
coredevice.spi: kernel invariants and style
2017-04-08 17:16:19 +02:00
Robert Jördens
555b3c38c1
sma_spi: free up user_sma pins
2017-04-08 17:16:19 +02:00
Robert Jördens
2c7c6143ab
sma_spi: add demo target with SPI on four SMA
2017-04-08 17:16:19 +02:00
Robert Jördens
f13f6eb7be
pdq2: memory write
2017-04-08 17:16:19 +02:00
Robert Jördens
b9c61ae2da
pdq2: crc/frame register accessors
2017-04-08 17:16:19 +02:00
Robert Jördens
1ce1b7cd71
doc: pdq2 spi backend
2017-04-08 17:16:19 +02:00
Robert Jördens
aebbaa339e
pdq2: config writes
2017-04-08 17:16:18 +02:00
Sebastien Bourdeauducq
f314f8b8f5
relax test_rpc_timing
2017-04-08 22:45:08 +08:00
Sebastien Bourdeauducq
c2667debf8
drtio: test replace in RTL simulation
2017-04-06 16:33:59 +08:00
Sebastien Bourdeauducq
729e7b52f0
drtio: collision/replace fixes
2017-04-06 16:33:49 +08:00
Sebastien Bourdeauducq
83d87b5805
drtio: remove outdated comment
2017-04-06 12:45:10 +08:00
Sebastien Bourdeauducq
c0100ebc56
rtio: fix indentation
2017-04-06 12:08:13 +08:00
Sebastien Bourdeauducq
207453efcd
rtio: add a missing case for collision reporting
2017-04-06 11:28:16 +08:00
whitequark
14ae1cc100
runtime: advance now on DMA replay.
...
Fixes #700 .
2017-04-05 18:34:36 +00:00
Sebastien Bourdeauducq
674bf82f3a
gateware: add cri_con CSRs to all DMA-capable targets
2017-04-06 01:14:09 +08:00
Sebastien Bourdeauducq
5e3aef45dc
drtio: support collision/replace + detect sequence errors at satellite
2017-04-06 01:06:56 +08:00
whitequark
56918fb375
test: re-enable DMA tests as the feature is now stable.
2017-04-05 16:43:22 +00:00
whitequark
17b5388259
gateware: remove one stray CRI arbiter remnant.
2017-04-05 16:38:56 +00:00
whitequark
464202d0aa
gateware: connect CRI switch to kernel CPU.
2017-04-05 16:10:53 +00:00
whitequark
47632f81b1
gateware: CRIArbiter -> CRISwitch.
2017-04-05 16:10:39 +00:00
whitequark
391660e545
gateware: simplify the CRI arbiter to use a plain mux.
2017-04-05 15:09:19 +00:00
Sebastien Bourdeauducq
12249dac57
rtio: do not clear asynchronous error flags on RTIO reset
2017-04-03 00:20:30 +08:00
Sebastien Bourdeauducq
db3118b916
drtio: use BlindTransfer for error reporting
2017-04-03 00:18:07 +08:00
Sebastien Bourdeauducq
8c414cebc7
drtio: report busy errors
2017-04-03 00:11:08 +08:00
Sebastien Bourdeauducq
008678b741
drtio: add infrastructure for reporting busy/collision errors
2017-04-02 23:45:55 +08:00
Sebastien Bourdeauducq
0a687b7902
drtio: report satellite errors through firmware
2017-04-01 12:18:00 +08:00
whitequark
8b98e1ea6d
test: relax test_rpc_timing: rpc_time_mean <2ms → <3ms.
2017-03-31 20:41:47 +00:00
Sebastien Bourdeauducq
7ec14f26c2
examples: fix after introduction of RangeScan
2017-03-31 16:54:07 +08:00
Chris Ballance
58da76a169
gui: remove unnecessary state test
2017-03-31 16:48:39 +08:00
Chris Ballance
bdf1ca25c6
scannable: fix RangeScan randomize seeding
2017-03-31 16:48:39 +08:00
Chris Ballance
07c71bf020
language,gui: combine LinearScan and RandomScan into RangeScan. Closes #679
2017-03-31 16:48:39 +08:00
Sebastien Bourdeauducq
28211e0b32
gateware: reset RTIO DMA core when kernel CPU is reset
2017-03-31 15:35:28 +08:00