whitequark
9e38132c0a
artiq_devtool: don't drop data in unpredictable ways (sigh).
2017-07-18 05:31:59 +00:00
a201a9abd9
drtio: multilink transceiver interface
2017-07-18 13:27:33 +08:00
d96c2abe44
pdq: read/write_reg -> get/set_reg
...
see also m-labs/pdq#14
2017-07-17 21:45:46 +02:00
9045b4cc19
drtio: initial firmware support for multi-link
2017-07-18 00:40:21 +08:00
whitequark
d06d53b00d
firmware: don't bail out if building not from a git checkout ( #783 ).
2017-07-15 03:16:21 +00:00
4deb5f6a45
gateware: use new MiSoC Wishbone address system
2017-07-13 19:16:49 +08:00
mntng
40ca951750
kc705: add SPI bus for memory card
...
This will be useful for SPI unit tests using a SD card as victim.
2017-07-12 00:27:44 +08:00
f0841f5489
spline: be really verbose
...
closes #773
2017-07-07 11:43:58 +02:00
7b130a2c32
sawg: confirm smooth(order=3)
2017-07-07 11:36:03 +02:00
3bc0e32dc0
sawg: advance the timeline on Config access
...
c.f. #773 #765
2017-07-07 11:33:58 +02:00
3222f5036f
sawg: describe latency matching in detail
2017-07-06 10:06:21 +02:00
whitequark
1e2603572a
runtime: fix a bug causing sockets to get stuck in CLOSE-WAIT.
2017-07-05 16:27:36 +00:00
whitequark
86c027e9c5
artiq_flash: don't require binaries to merely restart FPGA.
2017-07-04 18:55:38 +00:00
whitequark
ee1d5dbccb
runtime: allow a much larger log buffer and avoid hacks.
2017-07-04 18:18:31 +00:00
whitequark
7a5fbc1622
devtool: forward port 1383 (moninj).
2017-07-04 17:54:18 +00:00
whitequark
4e5ea1bbaf
dashboard: fix a crash touching moninj without a connection.
2017-07-04 17:53:48 +00:00
2f1029c292
Revert "sawg: advance dds 1/2 by one sample group"
...
This reverts commit 8e0a1cbdc8
.
c.f. #772
The underlying issue is still the same. You will always find something that does not match when trying to compare the DDS with the parallelized DUC. They are just different. I could correct it for phase but then it will fail for amplitude. Or you'll compare the offset channel to phase1 or amplitude1. Let's state that equal things are well synchronized but unequal things may have a deterministic latency difference of strictly less than one coarse RTIO cycle.
2017-07-04 17:55:19 +02:00
8e0a1cbdc8
sawg: advance dds 1/2 by one sample group
...
closes #772
2017-07-04 16:51:58 +02:00
91ca9fbcad
sawg: also give offset some headroom
...
closes #771
2017-07-04 16:50:06 +02:00
78d1f0fdf6
sawg: fix PhasedAccu resets
2017-07-04 11:56:21 +02:00
Florent Kermarrec
2910b1be5e
artiq/gateware/rtio/dma: replace leave_out with omit in Record.connect
2017-07-04 10:48:06 +02:00
838127d914
rtio: break DMA timing path
2017-07-02 10:24:01 +08:00
whitequark
ea7549cfa4
compiler: coerce while
condition to bool.
...
Fixes #768 .
2017-07-01 18:59:07 +00:00
911ee4a959
rtio: make pipelined logic reset_less
...
* latency-corrected counters
* registered error logic
2017-06-29 12:55:32 +02:00
600a48ac61
dsp.fir: cleanup
2017-06-29 12:18:48 +02:00
dca662a743
dsp.fir: pipeline final systolic adder
2017-06-29 11:33:19 +02:00
32a33500c8
dsp.fir: actively cull zero delays
2017-06-29 11:24:56 +02:00
f520d4a768
rtio: undo _RelaxedAsyncResetSynchronizer
2017-06-28 22:08:15 +02:00
3cbbcdfe96
sawg: don't enable_replace for Config
...
closes #762
2017-06-28 20:31:40 +02:00
f2632e0fd1
sawg: adapt latency to fir changes
...
closes #748
2017-06-28 20:12:30 +02:00
e7db2c6578
dsp.accu: reset_less outputs
2017-06-28 20:04:58 +02:00
6bb994228f
dsp.fir: drop x shift
2017-06-28 19:55:15 +02:00
01847271c5
rtio: use reset_less signal for reset fanout
2017-06-28 19:43:55 +02:00
b9859cc0c3
dsp.fir: remove old/wrong comment
2017-06-28 19:21:57 +02:00
55b5b87490
fir: simplify latency compensation
...
Don't try to tweak out the last bit of latency by feeding the HBF input
early. Instead feed it late so the interpolated samples are early and
the latency is an even multiple of the super-sample cycle.
2017-06-28 19:13:43 +02:00
d1e5dd334f
sawg: use pipeline reset
2017-06-28 19:09:39 +02:00
6418205906
dsp.fir: use pipelin-reset
2017-06-28 19:09:21 +02:00
whitequark
6a49c114c8
runtime: update smoltcp.
2017-06-28 00:27:22 +00:00
whitequark
370f22541c
runtime: update smoltcp.
2017-06-27 21:06:45 +00:00
whitequark
f36f00a83d
artiq_devtool: do not chop up the TCP stream into 1024 byte chunks.
...
This makes the smoltcp behavior quite different than without
the TCP forwarding (and can mask smoltcp issues).
2017-06-26 08:39:16 +00:00
whitequark
282f4256e0
artiq_pcap: atomically replace pcap file.
...
Otherwise this segfaults Wireshark (?!).
2017-06-26 03:22:14 +00:00
whitequark
d6f4f1f3bc
artiq_devtool, artiq_pcap: better option naming.
2017-06-26 00:00:05 +00:00
whitequark
6061393bd0
tools: lazily import paramiko.
2017-06-25 07:17:03 +00:00
whitequark
816ec6c52f
artiq_pcap: implement.
2017-06-25 07:04:29 +00:00
whitequark
69fa9b38e0
test: actually run test_embedding.AsyncTest.
2017-06-25 05:28:32 +00:00
whitequark
31b52ff1b3
coredevice: do not desync kernel TCP stream on RPCReturnValueError.
...
And propagate the error upwards instead of trying to squeeze it
through the core device in futility.
2017-06-25 04:47:32 +00:00
whitequark
fdb24ef139
coredevice: truncate overlong exception messages.
...
If we have a really long one (megabytes) then this may exhaust
the heap of the core device and crash it.
2017-06-25 04:39:08 +00:00
whitequark
1fa8be3835
artiq_devtool: don't loop forever if core device dies.
2017-06-25 04:18:45 +00:00
whitequark
f17a6616b2
runtime: ensure management interface buffer can hold log buffer.
...
Otherwise we get weird edge cases where the network stack could try
to append to log buffer while management interface is holding
the log buffer and trying to push it out, and it's just no good.
The serialized log buffer at its maximum length is slightly longer
than 32 KiB, so we just allocate the largest possible TCP buffer
to the management interface to keep it simple.
2017-06-24 17:09:28 +00:00
whitequark
d0f72632e1
language: export TBytes and TByteArray.
2017-06-24 17:03:35 +00:00
whitequark
12357d884e
runtime: update smoltcp.
2017-06-24 16:55:59 +00:00
07f5e99140
dsp/sat_add: works after previous changes
2017-06-22 18:24:22 +02:00
f78d5a87e9
dsp/test: skip and fix sat_add
2017-06-22 18:01:31 +02:00
47928a2c0d
sawg: disable limiter
...
temporary workaround to permit testing other aspects
2017-06-22 17:31:04 +02:00
cd2ac53bc5
dsp/sat_add: make width mandatory
2017-06-22 17:28:39 +02:00
9b940aa876
dsp/sat_add: spell out logic more
2017-06-22 16:55:13 +02:00
d0cf0f2b87
sawg/limiter: make signed signals explicitly
2017-06-22 13:44:36 +02:00
53be34a25f
sawg: clear phase accu in reset
2017-06-22 13:27:49 +02:00
694f8d784c
dsp/tools: unittest sat_add
2017-06-22 11:29:56 +02:00
bd1438d28e
sawg: wrap limits init values
2017-06-22 10:26:29 +02:00
cccd01e81e
sawg: cleanup sat_add logic
2017-06-22 10:26:29 +02:00
5f6e665158
test/sawg: patch delay_mu
2017-06-22 10:26:29 +02:00
570f2cc1ff
dsp/tools/SatAdd: fix reuse of clipped signal
2017-06-22 10:26:29 +02:00
4b3aad2563
sawg: clean up Config
...
* unify I and Q data limiters. there is no conceivable way why they
would be different.
* reorder clr bits to be like consistent
* move the sat add limiter to before the hbf again
2017-06-22 10:26:29 +02:00
f4c6879c76
sawg: special case Config RTIO address
2017-06-22 10:26:29 +02:00
ff0da2c9fc
sawg: stage code for y-data exchange on channels
2017-06-22 10:26:29 +02:00
b6569df02f
dsp/tools: clean up SatAddMixin logic
2017-06-22 10:26:29 +02:00
f369cb97f7
sawg/examples: add a bit more slack
2017-06-22 10:26:29 +02:00
05b57f5110
protocols: increase another asyncio line limit ( #671 )
2017-06-22 09:43:52 +08:00
c2cc29142d
drtio: remove misleading comment from device_db
2017-06-21 18:34:53 +08:00
6262969d46
test: relax test_dma_record_time
2017-06-21 18:33:58 +08:00
64ce85445c
drtio: add remote converter SPI example ( #740 )
2017-06-21 17:08:12 +08:00
74cf074538
drtio: remove sawg_3g from example targets, add converter SPI bus from FMC-EBZ at all times
2017-06-21 17:01:52 +08:00
66dee9d1ad
drtio: send/process I2C and SPI aux packets ( #740 )
2017-06-21 16:50:51 +08:00
f58f16ccd4
drtioaux: add default timeout
2017-06-21 16:23:11 +08:00
7675dd063b
drtioaux: add I2C and SPI packets ( #740 )
2017-06-21 14:07:16 +08:00
c74de6ae96
phaser: reintroduce test_ad9154_status
2017-06-20 00:49:57 +08:00
8c56a95fa2
spi: add default busno
2017-06-20 00:49:38 +08:00
39ddb66f0f
phaser: add AD9154 SPI access driver to example ddb
2017-06-20 00:49:21 +08:00
470bce6214
coredevice: add AD9154 SPI access driver
2017-06-20 00:48:50 +08:00
a6d06824e7
fix indentation
2017-06-20 00:12:11 +08:00
8f2d85fc5b
add back ad9154_reg.py
2017-06-19 23:45:32 +08:00
c86029bca2
i2c: expose restart as syscall, add structure for I2C-over-DRTIO
2017-06-19 23:44:51 +08:00
268b7d8aaf
typo
2017-06-19 15:42:10 +08:00
09d198c7a1
test: add test for exception on non-existent I2C bus
2017-06-19 15:32:09 +08:00
d08bd58dff
versioneer: cut git hashes consistently ( #753 )
2017-06-19 15:31:48 +08:00
6c6bb67618
libboard: fix compiler warning on not(has_i2c)
2017-06-19 14:57:15 +08:00
5d63489080
i2c,spi: add busno error detection
2017-06-19 14:27:30 +08:00
0d8067256b
rtio: refactor RelaxedAsyncResetSynchronizer
2017-06-18 14:37:08 +02:00
8399f8893d
add kernel access to non-realtime SPI buses ( #740 )
2017-06-18 12:45:07 +08:00
424b2bfbd8
rtio: describe rio and rio_phy domains a bit more
2017-06-17 12:21:07 +02:00
219dfd8984
rtio: add one register level for rio and rio_phy resets
...
* This should give Vivado some wiggle room during PnR.
* It needs three new clock domains which is ugly. But since
AsyncResetSynchronizer can only drive clock domains resets directly
there seems to be no other way to add one register level currently.
2017-06-17 12:17:48 +02:00
8fea361412
firmware: always use 8 characters to abbreviate git commit hashes
2017-06-17 14:43:50 +08:00
e19bfd4781
test_sawg_fe: add ref_multiplier to simulated core
2017-06-16 19:45:24 +02:00
b5772f478a
sawg: add channel reset ( closes #751 )
2017-06-16 19:31:57 +02:00
2a76034fbc
cri: add note about clearing of o_data
2017-06-16 19:06:00 +02:00
fecc42fd0c
sawg/phaser: expand documentation ( closes #750 )
2017-06-14 11:49:52 +02:00
858c1be381
sawg: expand documentation
2017-06-13 18:51:48 +02:00
3f37870e25
sawg: register pre-hbf adder
2017-06-13 18:15:44 +02:00
e229edd5d5
sawg: add register after hbf for timing
2017-06-12 23:08:27 +02:00
315338fca9
test/sawg: test HBF overshoot, fix sim patching
2017-06-12 20:35:47 +02:00
9a8a7b9102
sawg: handle clipping interpolator
...
* give 1 bit headroom to interpolator to handle overshoot
* fix Config limiter widths (NFC)
* move clipper to behind the HBF to correctly shield DUC
This leaves a factor of two headroom for the sum of the following
effects:
* HBF overshoot (~15 % of the step)
* A1/A2 DDS sum
While this is technically not sufficient and can still lead to
overflows, it is unlikely that one would trigger those. It would require
doing large amplitude A1, large amplitude A2 and additionally doing
amplitude/phase jumps that would overshoot the HBF. No sane person would
try that, right?
closes #743
2017-06-12 20:33:54 +02:00
1fb3995ffc
Revert "fir/ParallelHBFUpsampler: add headroom (gain=2)"
...
This reverts commit 6ac9d0c41e
.
Overshooting behavior must to be handled outside the FIR.
2017-06-12 20:07:25 +02:00
332bcc7f3b
fir: check widths
2017-06-12 20:07:23 +02:00
39a1dcbb3d
test/fir: look at overshoot behavior
2017-06-12 20:06:07 +02:00
6ac9d0c41e
fir/ParallelHBFUpsampler: add headroom (gain=2)
...
This addresses part of #743
2017-06-12 18:59:45 +02:00
566ff73dff
pdq: unify spi-PDQ and usb-PDQ protocols
2017-06-10 15:03:25 +02:00
6c54c0f834
sawg: update example
2017-06-10 11:52:48 +02:00
d8aee931ba
sawg: extend phase mode docs
2017-06-09 12:26:49 +02:00
whitequark
f7254dd3ce
compiler.validators.constness: take AugAssign into account.
2017-06-09 07:31:08 +00:00
whitequark
ad2ee714c2
compiler: do not permit iterating str values.
...
This currently breaks badly on UTF-8, and doesn't even return
a value of a correct type.
2017-06-09 07:29:31 +00:00
whitequark
4e7493843a
compiler: Constness is a validator, not analysis.
2017-06-09 07:29:31 +00:00
whitequark
5d841d08e9
compiler: do not permit mutation of bytes values ( #714 ).
2017-06-09 07:29:28 +00:00
whitequark
284382b1f5
compiler: add support for bytearray values in RPC ( #714 ).
2017-06-09 07:15:25 +00:00
whitequark
9ed4e9c1cd
compiler: add support for printing of bytearray values ( #714 ).
2017-06-09 07:15:25 +00:00
whitequark
e9564b15c8
compiler: add support for bytearray type ( #714 ).
2017-06-09 07:15:24 +00:00
whitequark
5b4fde30a8
compiler: unbreak subscripts for bytes values ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
66a683f583
compiler: add support for bytes values in RPC ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
778e7dc2ab
compiler: add support for concatenating bytes values ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
7b2da5294f
compiler: add support for printing of bytes values ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
dba4e1a28b
compiler: add support for bytes type and b"x" literals ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
d0e92067c3
ksupport: fix UB.
2017-06-09 06:18:20 +00:00
91ad2bc600
sawg: add note about disabled q-exchange
2017-06-07 09:13:01 +02:00
94273e9455
sawg: add non-mu methods for limiter
2017-06-07 09:12:36 +02:00
ebb4660207
coredevice: compare software and gateware versions strictly
2017-06-07 02:11:54 +08:00
f3c7a7de3b
phaser: remove non-functional SPI examples
...
Those will be reimplemented after we have converter SPI access, but this will not be part of the 3.0 release.
2017-06-06 17:37:13 +08:00
ab493a860d
coredevice: fix socket resource leak
2017-06-05 15:45:40 +08:00
bea7a47349
coredevice: compare gateware and software versions on release numbers only. Closes #738
2017-06-05 13:52:24 +08:00
9c973793df
update versioneer
2017-06-05 13:27:26 +08:00
92307d1f9c
fix some missing pdq2→pdq renames
2017-06-03 18:35:36 +08:00
2458da1ade
pdq: get new host driver, adapt
2017-05-31 00:20:10 +02:00
2895448477
sawg: link Spline in docs
2017-05-23 10:33:04 +02:00
52625d57f0
sawg: explain DUC
2017-05-23 10:28:23 +02:00
bfc224d4ba
phaser: adjust to new jesd
2017-05-22 19:59:53 +02:00
679060af1d
phaser: enable dma
2017-05-22 19:32:34 +02:00
06721c19c4
sawg: work around bool->int
2017-05-22 18:50:58 +02:00
1562f79101
sawg: expose config channel
2017-05-22 18:27:42 +02:00
4901cb9a8a
sawg: fix clr width
2017-05-22 17:46:55 +02:00
253ee950f6
sawg: fix config channel addr
2017-05-22 17:45:14 +02:00
e845de2ff2
remove aqcli_pdq2
2017-05-22 19:17:23 +08:00
e4a631a3d7
scheduler: consider the pipeline flushed if everything has a lower priority than us. Closes #640
2017-05-22 18:43:59 +08:00
5fc953119e
fix usage of CommMgmt
2017-05-22 17:32:11 +08:00
6bdb76e9ea
core device logging controller WIP ( #691 )
2017-05-22 16:48:00 +08:00
5ccca74a3f
fold comm device into core device
2017-05-22 15:45:45 +08:00
e7382f4753
fix test_ctlmgr
2017-05-22 15:04:46 +08:00
0ae5e6d8b1
test_lda: more thorough and consistent test of simulation mode
2017-05-22 00:26:05 +08:00
3ed70afaa1
Use commandline prefix for controllers
...
This keeps them better organized and consistent with the artiq_* naming scheme.
Tab completion from aqctl_ also lists all the controllers installed on a machine.
2017-05-22 00:22:10 +08:00
c83e15d040
artiq_corelog: cleanup
2017-05-22 00:06:03 +08:00
8cf0628435
fix lit tests
2017-05-18 23:41:01 +08:00
b7a94d466d
fix experiment name conflict in phaser example
2017-05-18 23:14:55 +08:00
cd757c0f16
generate device database from executable python file
2017-05-18 23:14:55 +08:00
Florent Kermarrec
db3e1aef77
examples/phaser: adapt test_ad9154_prbs to new prbs in fabric
2017-05-15 16:12:02 +02:00
9ab63920e0
Remove Pipistrello support
...
Closes #658
Closes #381
2017-05-15 17:17:44 +08:00
ad85a0cee3
add session manager ( #691 )
2017-05-15 17:05:22 +08:00
0b6fb95deb
firmware: fix revision of compiler_builtins for satman
2017-05-13 15:12:53 +01:00
170d2886fd
Merge branch 'pdq'
...
* pdq:
pdq: documentation
pdq2 -> pdq
pdq2: use 16 bit data, buffered read_mem()
spi: style
pdq2: mem_read
pdq2: align subsequent writes to end
sma_spi: undo cri_con
pdq2: memory write, kernel_invariants
sma_spi: cri/cd changes
sma_spi: LVCMOS25
coredevice.spi: kernel invariants and style
sma_spi: free up user_sma pins
sma_spi: add demo target with SPI on four SMA
pdq2: memory write
pdq2: crc/frame register accessors
doc: pdq2 spi backend
pdq2: config writes
2017-05-12 11:46:45 +02:00
fed24309b8
pdq: documentation
2017-05-02 18:55:02 +02:00
1a1edb13bf
pdq2 -> pdq
2017-05-02 18:05:41 +02:00
Florent Kermarrec
79c339d4ac
gateware/targets/phaser: jesd core now handles jsync completely
2017-04-26 22:25:08 +02:00
8ebb33c05c
master: record time run() is called
2017-04-26 23:36:19 +08:00
Florent Kermarrec
0546affd4c
gateware/target/phaser: jesd start signal renamed to jsync
2017-04-26 12:27:40 +02:00
whitequark
bb64992395
compiler: remove dead code.
2017-04-21 18:38:43 +00:00
whitequark
c5d7445973
compiler: reject reachable implicit return if not returning TNone.
...
Fixes #718 .
2017-04-21 18:11:14 +00:00
whitequark
ed2b10c5aa
compiler: in codegen for delay(), round fp instead of truncating.
...
Consider delay(8*us). It results in the following computation...
>>> 8*1e-06/1e-09
7999.999999999999
with the result promptly getting truncated to 7999.
Fixes #706 .
2017-04-21 17:36:44 +00:00
whitequark
a820ae98cf
ksupport: avoid allocations on I/O error paths.
...
Fixes #715 .
2017-04-21 17:20:50 +00:00
whitequark
b913d1d6f2
runtime: make a copy of startup/idle kernel firmware before loading.
...
Fixes #716 .
2017-04-21 16:46:40 +00:00
whitequark
726ee7370a
runtime: update smoltcp.
...
This brings in correct TIME-WAIT handling. Fixes #722 .
2017-04-21 16:08:04 +00:00
whitequark
0e68eaa879
runtime: print a heap dump on out-of-memory condition.
2017-04-21 14:48:10 +00:00
whitequark
fd994ceef3
DMA: various fixes to bring tests in line.
2017-04-20 20:05:03 +00:00
whitequark
db494967c5
firmware use Rust 0.18.0.
2017-04-19 09:38:24 +00:00
fe05aede78
firmware: DmaPlayback → DMARetrieve
2017-04-19 11:11:42 +08:00
e8f7f8ef9c
DMA: speed up playback
...
Time reduced from 1.53µs to 1.37µs.
2017-04-19 10:59:12 +08:00
whitequark
41c4de4556
DMA: add API for a much faster replay using handles.
2017-04-18 08:20:12 +00:00
whitequark
c6e8d5c901
runtime: allow setting UART log level explicitly.
...
This is way more convenient than commenting out parts
of session.rs when debugging.
2017-04-15 08:27:18 +00:00
whitequark
0531dc45c3
DMA: erase trace before re-recording it.
...
Or we could needlessly OOM replacing a large trace.
2017-04-15 07:48:02 +00:00
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
534e681d0b
pdq2: use 16 bit data, buffered read_mem()
2017-04-13 20:49:46 +02:00
90cf11994e
spi: style
2017-04-13 13:38:29 +02:00
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
whitequark
31048f4b6a
compiler: fix monomorphization of coerced integer literals.
...
Fixes #703 .
2017-04-12 04:11:47 +00: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
20652ce128
pdq2: align subsequent writes to end
2017-04-09 13:50:19 +02:00
ed8edf318d
sma_spi: undo cri_con
2017-04-08 17:19:35 +02:00
78dd4b8614
pdq2: memory write, kernel_invariants
2017-04-08 17:16:19 +02:00
16b7f8f50c
sma_spi: cri/cd changes
2017-04-08 17:16:19 +02:00
1e6e81a19e
sma_spi: LVCMOS25
2017-04-08 17:16:19 +02:00
0838981bed
coredevice.spi: kernel invariants and style
2017-04-08 17:16:19 +02:00
555b3c38c1
sma_spi: free up user_sma pins
2017-04-08 17:16:19 +02:00
2c7c6143ab
sma_spi: add demo target with SPI on four SMA
2017-04-08 17:16:19 +02:00
f13f6eb7be
pdq2: memory write
2017-04-08 17:16:19 +02:00
b9c61ae2da
pdq2: crc/frame register accessors
2017-04-08 17:16:19 +02:00
aebbaa339e
pdq2: config writes
2017-04-08 17:16:18 +02:00
f314f8b8f5
relax test_rpc_timing
2017-04-08 22:45:08 +08:00
c2667debf8
drtio: test replace in RTL simulation
2017-04-06 16:33:59 +08:00
729e7b52f0
drtio: collision/replace fixes
2017-04-06 16:33:49 +08:00
83d87b5805
drtio: remove outdated comment
2017-04-06 12:45:10 +08:00
c0100ebc56
rtio: fix indentation
2017-04-06 12:08:13 +08:00
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
674bf82f3a
gateware: add cri_con CSRs to all DMA-capable targets
2017-04-06 01:14:09 +08:00
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
12249dac57
rtio: do not clear asynchronous error flags on RTIO reset
2017-04-03 00:20:30 +08:00
db3118b916
drtio: use BlindTransfer for error reporting
2017-04-03 00:18:07 +08:00
8c414cebc7
drtio: report busy errors
2017-04-03 00:11:08 +08:00
008678b741
drtio: add infrastructure for reporting busy/collision errors
2017-04-02 23:45:55 +08:00
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
7ec14f26c2
examples: fix after introduction of RangeScan
2017-03-31 16:54:07 +08:00
58da76a169
gui: remove unnecessary state test
2017-03-31 16:48:39 +08:00
bdf1ca25c6
scannable: fix RangeScan randomize seeding
2017-03-31 16:48:39 +08:00
07c71bf020
language,gui: combine LinearScan and RandomScan into RangeScan. Closes #679
2017-03-31 16:48:39 +08:00
28211e0b32
gateware: reset RTIO DMA core when kernel CPU is reset
2017-03-31 15:35:28 +08:00
200c499114
test: change base address in DMA simulation testbench
2017-03-31 13:17:00 +08:00
whitequark
245e186347
Commit missing parts of 948ed6fb
.
2017-03-29 18:34:08 +00:00
756e8a415e
language: fix PYONValue list defaults ( fixes #682 )
2017-03-29 21:58:34 +08:00
whitequark
d04d7ed120
runtime: show a more informative message for interrupted sessions.
...
Fixes #690 .
2017-03-29 03:36:49 +00:00
whitequark
948ed6fb0a
Extract core device management interface from session interface ( #691 ).
2017-03-29 03:36:21 +00:00
2e2d0be201
skip crashing DMA tests on buildbot
2017-03-29 09:36:51 +08:00
452bc6ecac
monkey_patches: fix 3af29f7
2017-03-29 01:07:32 +02:00
whitequark
b643847da5
Fix a misleading message for non-clean kernel termination.
2017-03-28 14:22:20 +00:00
whitequark
7eb368fd5d
test: add DMA test that checks the analyzer trace.
2017-03-28 14:22:20 +00:00
6caab4d10b
test: verify that RTIO collisions appear in log
2017-03-27 18:08:03 +08:00
432c6b99e2
master: still save results when analyze fails. Closes #684
2017-03-27 17:57:02 +08:00
70343b244d
test: add more RTIO slack in test_clock_generator_loopback
2017-03-27 17:26:23 +08:00
58ee09dbdc
test: re-enable test_clock_generator_loopback
...
It passes now for some reason.
2017-03-27 17:26:02 +08:00
b9ff5afc85
dma: improve/fix documentation
2017-03-27 17:21:39 +08:00
2c3f720301
runtime: report asynchronous RTIO errors (collision, busy) in log. Closes #681
2017-03-27 17:14:14 +08:00
ea3af1e20e
drtio: remove obsolete CSR accesses from test
2017-03-27 16:44:22 +08:00
b74d6fb9ba
make collision and busy asynchronous errors, and simplify CPU/gateware handshake for output errors and reads
2017-03-27 16:32:23 +08:00
1ee3f96482
test: self.break_realtime → self.core.break_realtime
2017-03-27 16:31:11 +08:00
whitequark
ac9e8b8568
test: avoid underflow in DMA replay test.
2017-03-17 12:09:02 +00:00
whitequark
dbea679e96
Revert "test: relax test_rpc_timing on Windows."
...
This reverts commit e9cf451c0b
.
2017-03-17 11:34:45 +00:00
whitequark
e9cf451c0b
test: relax test_rpc_timing on Windows.
2017-03-17 11:20:16 +00:00
whitequark
7dc7dcda2c
test: relax test_pulse_rate_dds to only catch catastrophic slowdown.
2017-03-17 11:17:47 +00:00
whitequark
4de336fbe9
gateware: reverse bytes of SDRAM word, not bits.
2017-03-17 11:16:46 +00:00
whitequark
6b63322106
gateware: reverse SDRAM words in RTIO DMA engine.
2017-03-17 07:29:28 +00:00
whitequark
4b14887ddb
gateware: work around ISE/Vivado bugs with very wide shifts.
2017-03-17 07:29:28 +00:00
f5aa73b8fa
satman: unbreak after c586035c
2017-03-15 17:26:09 +08:00
whitequark
c586035caa
runtime: add an option to reboot after a panic.
2017-03-14 09:02:28 +00:00
whitequark
80c75ed505
firmware: fix for unwinder update.
2017-03-14 08:50:32 +00:00
whitequark
4beda73217
firmware: don't build libdyld through misoc.
2017-03-14 08:33:31 +00:00
a7de58b604
rtio: Inout → InOut
2017-03-14 14:18:55 +08:00
13ae1d1a38
drtio: input unittest
2017-03-14 14:14:55 +08:00
56fd9b3b4b
drtio: input fixes
2017-03-14 14:14:43 +08:00
856a64f6d2
drtio: use TTLInOut in device_db
2017-03-14 14:13:52 +08:00
95ede18809
drtio: support PHY latency compensation
2017-03-14 00:01:38 +08:00
497c795d8c
drtio: input support (untested)
2017-03-13 23:54:44 +08:00
d1b9f9d737
drtio: rt_packets → rt_packet
2017-03-13 00:10:07 +08:00
6b7c781ff2
drtio: introduce 'standard request' interface in RT packet layer
2017-03-13 00:08:03 +08:00
2b8729f326
drtio: clear any read request on satellite reset
2017-03-13 00:00:38 +08:00
whitequark
b391598c87
artiq_devtool: add reset action.
2017-03-07 14:37:08 +00:00
whitequark
5bbb05362b
runtime: update smoltcp.
2017-03-07 11:36:28 +00:00
whitequark
d52723d5bc
runtime: allow setting log level in configuration.
2017-03-07 11:36:28 +00:00
whitequark
cce1481fac
artiq_devtool: add hotswap action.
2017-03-07 11:36:28 +00:00
whitequark
795a3e24d8
artiq_coreboot: block until hotswap image is actually received.
2017-03-07 11:36:28 +00:00
804e69b144
language: add "W" (Watt) to units
2017-03-07 10:03:42 +08:00
6895236794
frontend: fix permissions
2017-03-07 00:47:45 +08:00
1e47e638bb
drtio: implement inputs in RTPacketSatellite, reorganize code
2017-03-07 00:46:59 +08:00
whitequark
b0cdef3211
firmware: implement hotswap through artiq_coreboot tool.
2017-03-06 16:01:28 +00:00
whitequark
98454e9bda
runtime: remove unnecessary dcache flush.
...
Data cache is write-through, so sending data to DMA doesn't need
a flush.
2017-03-04 09:46:55 +00:00
whitequark
218046d96c
artiq_devtool: fix an infinite loop on network error.
2017-03-04 09:40:22 +00:00
whitequark
924ae73000
firmware: fix DMA trace alignment and flush caches.
2017-03-04 09:40:22 +00:00
whitequark
30ac42de3f
ksupport: fix an exception safety issue.
...
Raising from inside a recv! will never send an acknowledgement.
2017-03-04 09:40:22 +00:00
f121ca20fe
test: relax test_pulse_rate_dds
2017-03-03 18:10:27 +08:00
1e6a33b586
rtio: handle input timeout in gateware
...
The information passed by the runtime will be used by the DRTIO core
to poll the remote side appropriately.
2017-03-03 17:37:47 +08:00
whitequark
4f94709e9f
firmware: move packet dumps to the DEBUG log level.
2017-03-03 06:11:35 +00:00
whitequark
e8c093deb3
Allow changing runtime log level without recompilation.
...
This shouldn't affect performance much, as the log crate guards
every log statement with a branch, adding just two instructions.
2017-03-03 06:06:26 +00:00
whitequark
fe77fcc45f
firmware: fix a warning.
2017-03-03 05:35:28 +00:00
whitequark
3070a2fac1
runtime: fix more bugs in DMA trace encoder.
2017-03-03 05:15:54 +00:00
whitequark
86dea869b3
compiler.types: add missing TTuple.__hash__ implementation.
2017-03-03 03:27:49 +00:00
whitequark
7e886ddc89
transforms.inferencer: do not unnecessarily mutate typedtree.
...
This caused the hash to change after every iteration of inference,
if the result of any coercion was an integer of indefinite width.
2017-03-02 16:15:37 +00:00
whitequark
8c9f157563
compiler.embedding: fix an overly lax hasher.
2017-03-02 15:28:24 +00:00
whitequark
a79c3c2cff
compiler.transforms: implement a typedtree printer.
2017-03-02 15:28:04 +00:00
d2f2415b50
analyzer: use CRI and connect at RTIO core
...
This causes DMA events to be included in analyzer traces.
2017-03-02 18:47:56 +08:00
0b4922e0f4
dma: request RTIO control
2017-03-01 18:59:45 +08:00
553b8046ff
examples: add DMA LED blinker
2017-03-01 18:37:58 +08:00
whitequark
a4ece19614
Implement DMA playback.
2017-02-28 21:28:40 +00:00
whitequark
4107938fd8
compiler.embedding: use attribute count in fixpoint condition.
...
Before this commit, we had a hack where inferencing would run
one more time, in case we can still infer more attributes even
after all the type information is there. This doesn't work
if *that* round of inferencing brings even more code, e.g.
this is easy to trigger with context managers.
2017-02-28 21:28:40 +00:00
whitequark
252cda6e7f
compiler.llvm_ir_generator: fix string quoting.
2017-02-28 21:28:38 +00:00
3af29f7a59
monkey_patches: cleanup
2017-02-28 13:20:41 +01:00
00ed3909dd
monkey-patch Python 3.5.3 asyncio.base_events._ipaddr_info
...
this fixes #506 for py3.5.3
2017-02-28 10:49:19 +00:00
9cfa3e704b
fix test_analyzer
2017-02-27 19:19:46 +08:00
3b386aa590
fix test_moninj import
2017-02-27 18:44:32 +08:00
7d6ebabc1b
reorganize core device communication code
2017-02-27 18:37:30 +08:00
e64d923a67
dashboard: fix moninj display refresh issues after mode changes
2017-02-27 17:56:45 +08:00
f402b4af3f
drtio: fix typo in example device_db
2017-02-27 17:51:55 +08:00
d16073fcaa
test: add moninj unittest
2017-02-27 15:56:58 +08:00
b8bfcd2d7e
moninj: share probe/override numbers and use Enum
2017-02-27 11:54:16 +08:00
fc0ce310a8
examples: fix dds_test RTIO underflow
2017-02-27 11:45:18 +08:00
26654e6a3a
moninj: Python-side fixes
2017-02-27 11:45:04 +08:00
7481eaff52
moninj: use smaller network buffer
2017-02-27 11:44:29 +08:00