Robert Jördens
6bb994228f
dsp.fir: drop x shift
2017-06-28 19:55:15 +02:00
Robert Jördens
01847271c5
rtio: use reset_less signal for reset fanout
2017-06-28 19:43:55 +02:00
Robert Jördens
b9859cc0c3
dsp.fir: remove old/wrong comment
2017-06-28 19:21:57 +02:00
Robert Jördens
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
Robert Jördens
d1e5dd334f
sawg: use pipeline reset
2017-06-28 19:09:39 +02:00
Robert Jördens
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
Robert Jördens
07f5e99140
dsp/sat_add: works after previous changes
2017-06-22 18:24:22 +02:00
Robert Jördens
f78d5a87e9
dsp/test: skip and fix sat_add
2017-06-22 18:01:31 +02:00
Robert Jördens
47928a2c0d
sawg: disable limiter
...
temporary workaround to permit testing other aspects
2017-06-22 17:31:04 +02:00
Robert Jördens
cd2ac53bc5
dsp/sat_add: make width mandatory
2017-06-22 17:28:39 +02:00
Robert Jördens
9b940aa876
dsp/sat_add: spell out logic more
2017-06-22 16:55:13 +02:00
Robert Jördens
d0cf0f2b87
sawg/limiter: make signed signals explicitly
2017-06-22 13:44:36 +02:00
Robert Jördens
53be34a25f
sawg: clear phase accu in reset
2017-06-22 13:27:49 +02:00
Robert Jördens
694f8d784c
dsp/tools: unittest sat_add
2017-06-22 11:29:56 +02:00
Robert Jördens
bd1438d28e
sawg: wrap limits init values
2017-06-22 10:26:29 +02:00
Robert Jördens
cccd01e81e
sawg: cleanup sat_add logic
2017-06-22 10:26:29 +02:00
Robert Jördens
5f6e665158
test/sawg: patch delay_mu
2017-06-22 10:26:29 +02:00
Robert Jördens
570f2cc1ff
dsp/tools/SatAdd: fix reuse of clipped signal
2017-06-22 10:26:29 +02:00
Robert Jördens
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
Robert Jördens
f4c6879c76
sawg: special case Config RTIO address
2017-06-22 10:26:29 +02:00
Robert Jördens
ff0da2c9fc
sawg: stage code for y-data exchange on channels
2017-06-22 10:26:29 +02:00
Robert Jördens
b6569df02f
dsp/tools: clean up SatAddMixin logic
2017-06-22 10:26:29 +02:00
Robert Jördens
f369cb97f7
sawg/examples: add a bit more slack
2017-06-22 10:26:29 +02:00
Chris Ballance
05b57f5110
protocols: increase another asyncio line limit ( #671 )
2017-06-22 09:43:52 +08:00
Sebastien Bourdeauducq
c2cc29142d
drtio: remove misleading comment from device_db
2017-06-21 18:34:53 +08:00
Sebastien Bourdeauducq
6262969d46
test: relax test_dma_record_time
2017-06-21 18:33:58 +08:00
Sebastien Bourdeauducq
64ce85445c
drtio: add remote converter SPI example ( #740 )
2017-06-21 17:08:12 +08:00
Sebastien Bourdeauducq
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
Sebastien Bourdeauducq
66dee9d1ad
drtio: send/process I2C and SPI aux packets ( #740 )
2017-06-21 16:50:51 +08:00
Sebastien Bourdeauducq
f58f16ccd4
drtioaux: add default timeout
2017-06-21 16:23:11 +08:00
Sebastien Bourdeauducq
7675dd063b
drtioaux: add I2C and SPI packets ( #740 )
2017-06-21 14:07:16 +08:00
Sebastien Bourdeauducq
c74de6ae96
phaser: reintroduce test_ad9154_status
2017-06-20 00:49:57 +08:00
Sebastien Bourdeauducq
8c56a95fa2
spi: add default busno
2017-06-20 00:49:38 +08:00
Sebastien Bourdeauducq
39ddb66f0f
phaser: add AD9154 SPI access driver to example ddb
2017-06-20 00:49:21 +08:00
Sebastien Bourdeauducq
470bce6214
coredevice: add AD9154 SPI access driver
2017-06-20 00:48:50 +08:00
Sebastien Bourdeauducq
a6d06824e7
fix indentation
2017-06-20 00:12:11 +08:00
Sebastien Bourdeauducq
8f2d85fc5b
add back ad9154_reg.py
2017-06-19 23:45:32 +08:00
Sebastien Bourdeauducq
c86029bca2
i2c: expose restart as syscall, add structure for I2C-over-DRTIO
2017-06-19 23:44:51 +08:00
Sebastien Bourdeauducq
268b7d8aaf
typo
2017-06-19 15:42:10 +08:00
Sebastien Bourdeauducq
09d198c7a1
test: add test for exception on non-existent I2C bus
2017-06-19 15:32:09 +08:00
Sebastien Bourdeauducq
d08bd58dff
versioneer: cut git hashes consistently ( #753 )
2017-06-19 15:31:48 +08:00
Sebastien Bourdeauducq
6c6bb67618
libboard: fix compiler warning on not(has_i2c)
2017-06-19 14:57:15 +08:00
Sebastien Bourdeauducq
5d63489080
i2c,spi: add busno error detection
2017-06-19 14:27:30 +08:00
Robert Jördens
0d8067256b
rtio: refactor RelaxedAsyncResetSynchronizer
2017-06-18 14:37:08 +02:00
Sebastien Bourdeauducq
8399f8893d
add kernel access to non-realtime SPI buses ( #740 )
2017-06-18 12:45:07 +08:00
Robert Jördens
424b2bfbd8
rtio: describe rio and rio_phy domains a bit more
2017-06-17 12:21:07 +02:00
Robert Jördens
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
Sebastien Bourdeauducq
8fea361412
firmware: always use 8 characters to abbreviate git commit hashes
2017-06-17 14:43:50 +08:00
Robert Jördens
e19bfd4781
test_sawg_fe: add ref_multiplier to simulated core
2017-06-16 19:45:24 +02:00
Robert Jördens
b5772f478a
sawg: add channel reset ( closes #751 )
2017-06-16 19:31:57 +02:00
Robert Jördens
2a76034fbc
cri: add note about clearing of o_data
2017-06-16 19:06:00 +02:00
Robert Jördens
fecc42fd0c
sawg/phaser: expand documentation ( closes #750 )
2017-06-14 11:49:52 +02:00
Robert Jördens
858c1be381
sawg: expand documentation
2017-06-13 18:51:48 +02:00
Robert Jördens
3f37870e25
sawg: register pre-hbf adder
2017-06-13 18:15:44 +02:00
Robert Jördens
e229edd5d5
sawg: add register after hbf for timing
2017-06-12 23:08:27 +02:00
Robert Jördens
315338fca9
test/sawg: test HBF overshoot, fix sim patching
2017-06-12 20:35:47 +02:00
Robert Jördens
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
Robert Jördens
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
Robert Jördens
332bcc7f3b
fir: check widths
2017-06-12 20:07:23 +02:00
Robert Jördens
39a1dcbb3d
test/fir: look at overshoot behavior
2017-06-12 20:06:07 +02:00
Robert Jördens
6ac9d0c41e
fir/ParallelHBFUpsampler: add headroom (gain=2)
...
This addresses part of #743
2017-06-12 18:59:45 +02:00
Robert Jördens
566ff73dff
pdq: unify spi-PDQ and usb-PDQ protocols
2017-06-10 15:03:25 +02:00
Robert Jördens
6c54c0f834
sawg: update example
2017-06-10 11:52:48 +02:00
Robert Jördens
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
Robert Jördens
91ad2bc600
sawg: add note about disabled q-exchange
2017-06-07 09:13:01 +02:00
Robert Jördens
94273e9455
sawg: add non-mu methods for limiter
2017-06-07 09:12:36 +02:00
Sebastien Bourdeauducq
ebb4660207
coredevice: compare software and gateware versions strictly
2017-06-07 02:11:54 +08:00
Sebastien Bourdeauducq
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
Sebastien Bourdeauducq
ab493a860d
coredevice: fix socket resource leak
2017-06-05 15:45:40 +08:00
Sebastien Bourdeauducq
bea7a47349
coredevice: compare gateware and software versions on release numbers only. Closes #738
2017-06-05 13:52:24 +08:00
Sebastien Bourdeauducq
9c973793df
update versioneer
2017-06-05 13:27:26 +08:00
Sebastien Bourdeauducq
92307d1f9c
fix some missing pdq2→pdq renames
2017-06-03 18:35:36 +08:00
Robert Jördens
2458da1ade
pdq: get new host driver, adapt
2017-05-31 00:20:10 +02:00
Robert Jördens
2895448477
sawg: link Spline in docs
2017-05-23 10:33:04 +02:00
Robert Jördens
52625d57f0
sawg: explain DUC
2017-05-23 10:28:23 +02:00
Robert Jördens
bfc224d4ba
phaser: adjust to new jesd
2017-05-22 19:59:53 +02:00
Robert Jördens
679060af1d
phaser: enable dma
2017-05-22 19:32:34 +02:00
Robert Jördens
06721c19c4
sawg: work around bool->int
2017-05-22 18:50:58 +02:00
Robert Jördens
1562f79101
sawg: expose config channel
2017-05-22 18:27:42 +02:00
Robert Jördens
4901cb9a8a
sawg: fix clr width
2017-05-22 17:46:55 +02:00
Robert Jördens
253ee950f6
sawg: fix config channel addr
2017-05-22 17:45:14 +02:00
Sebastien Bourdeauducq
e845de2ff2
remove aqcli_pdq2
2017-05-22 19:17:23 +08:00
Sebastien Bourdeauducq
e4a631a3d7
scheduler: consider the pipeline flushed if everything has a lower priority than us. Closes #640
2017-05-22 18:43:59 +08:00
Sebastien Bourdeauducq
5fc953119e
fix usage of CommMgmt
2017-05-22 17:32:11 +08:00
Sebastien Bourdeauducq
6bdb76e9ea
core device logging controller WIP ( #691 )
2017-05-22 16:48:00 +08:00
Sebastien Bourdeauducq
5ccca74a3f
fold comm device into core device
2017-05-22 15:45:45 +08:00
Sebastien Bourdeauducq
e7382f4753
fix test_ctlmgr
2017-05-22 15:04:46 +08:00
Sebastien Bourdeauducq
0ae5e6d8b1
test_lda: more thorough and consistent test of simulation mode
2017-05-22 00:26:05 +08:00
Sebastien Bourdeauducq
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
Sebastien Bourdeauducq
c83e15d040
artiq_corelog: cleanup
2017-05-22 00:06:03 +08:00
Sebastien Bourdeauducq
8cf0628435
fix lit tests
2017-05-18 23:41:01 +08:00
Sebastien Bourdeauducq
b7a94d466d
fix experiment name conflict in phaser example
2017-05-18 23:14:55 +08:00
Sebastien Bourdeauducq
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
Sebastien Bourdeauducq
9ab63920e0
Remove Pipistrello support
...
Closes #658
Closes #381
2017-05-15 17:17:44 +08:00
Sebastien Bourdeauducq
ad85a0cee3
add session manager ( #691 )
2017-05-15 17:05:22 +08:00
Chris Ballance
0b6fb95deb
firmware: fix revision of compiler_builtins for satman
2017-05-13 15:12:53 +01:00
Robert Jördens
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
Robert Jördens
fed24309b8
pdq: documentation
2017-05-02 18:55:02 +02:00
Robert Jördens
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
Chris Ballance
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
Sebastien Bourdeauducq
fe05aede78
firmware: DmaPlayback → DMARetrieve
2017-04-19 11:11:42 +08:00
Sebastien Bourdeauducq
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
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