Sebastien Bourdeauducq
aeb1ba8471
gateware: use default MiSoC timer
2017-01-18 15:22:33 -06:00
Sebastien Bourdeauducq
043780d603
drtio: fix DRTIOSatellite invokation in test
2017-01-15 17:30:02 -06:00
Sebastien Bourdeauducq
b8d89d56b1
drtio: add GenericRXSynchronizer
2017-01-15 13:44:43 -06:00
Sebastien Bourdeauducq
0edffb54c2
drtio: fix packet truncation detection in RTPacketSatellite
2017-01-13 09:29:22 -06:00
Sebastien Bourdeauducq
6805feb494
drtio: report truncated packets
2017-01-12 23:44:45 -06:00
Robert Jördens
394ffd827e
phaser/demo_2tone: add ttl and led pulse
2017-01-11 21:45:34 +01:00
Sebastien Bourdeauducq
7c699e2f80
drtio: add FIFO space request count debug API
2017-01-11 13:48:14 -06:00
Sebastien Bourdeauducq
c25186fae1
drtio: print packet error descriptions in log
2017-01-10 18:03:01 -06:00
Sebastien Bourdeauducq
7af152ed22
firmware: pass spawner around instead of scheduler
2017-01-10 16:15:39 -06:00
Sebastien Bourdeauducq
d3d23d0d3b
drtio: report get FIFO space timeouts to log
2017-01-10 16:12:46 -06:00
Sebastien Bourdeauducq
98598df78e
rtio: keep retrying on get FIFO space timeout
2017-01-10 16:12:32 -06:00
Sebastien Bourdeauducq
e624f45369
drtio: remove FIFO empty local detection optimization
...
It optimizes a marginal case, it is difficult to get right
(need to know the size of the FIFO for each channel), and
it adds complexity and potential bug sources.
2017-01-10 14:31:46 -06:00
Sebastien Bourdeauducq
f75fffcf96
drtio: fix satellite RX data corruption
2017-01-10 14:29:30 -06:00
Sebastien Bourdeauducq
fdfaa377db
drtio: add debug syscalls
2017-01-08 15:06:14 -06:00
Sebastien Bourdeauducq
1b49affd18
typo
2017-01-08 13:04:10 -06:00
Sebastien Bourdeauducq
780d6d152c
worker: fix handling of archive parameter during dataset get in examine
2017-01-07 16:20:17 +01:00
Sebastien Bourdeauducq
fe53bab953
targets: kc705 -> kc705_dds
2017-01-05 18:40:56 +01:00
Sebastien Bourdeauducq
8be9a827ba
test: move dsp tests into their own folder
2017-01-05 18:25:38 +01:00
Sebastien Bourdeauducq
4f97d00e79
firmware: make i2c busno u8
2017-01-05 14:54:48 +01:00
Sebastien Bourdeauducq
13c45c8766
firmware: add si5324 programming functions
2017-01-05 14:50:00 +01:00
Sebastien Bourdeauducq
6c685205ce
firmware: support i2c restart
2017-01-05 14:49:24 +01:00
Sebastien Bourdeauducq
082fdaf450
move i2c to libboard, do bit-banging on comms CPU
2017-01-04 21:04:38 +01:00
Sebastien Bourdeauducq
3dd9d54b22
firmware: fix compilation warning without moninj/analyzer
2017-01-04 21:04:08 +01:00
Sebastien Bourdeauducq
86f6b391b7
ad9xxx -> ad9_dds
2017-01-04 11:34:52 +01:00
Sebastien Bourdeauducq
c08fc8aae9
firmware: support moninj without DDS. Closes #650
2017-01-04 11:26:02 +01:00
Sebastien Bourdeauducq
455250b3f9
remove DDS_AD9914 and DDS_ONEHOT_SEL
2017-01-03 22:04:25 +01:00
whitequark
c2ba718efa
firmware: remove unnecessary --cfg injection.
2017-01-03 20:56:56 +00:00
Sebastien Bourdeauducq
9b4c1ddc8e
libboard: use --cfg
2017-01-03 21:39:40 +01:00
Sebastien Bourdeauducq
fbf5a4d4a2
Merge branch 'phaser2-rust-init'
2017-01-03 21:31:21 +01:00
Sebastien Bourdeauducq
318dbb699b
fix phaser device_db SAWG channel numbers
2017-01-03 21:22:16 +01:00
whitequark
c2d86c4f67
firmware: apply build flags globally, move --cfg handling to build.rs.
2017-01-03 20:12:56 +00:00
Sebastien Bourdeauducq
8e9be41c73
reset core device in phaser examples
2017-01-03 20:05:22 +01:00
Sebastien Bourdeauducq
d29ec22497
remove stale phaser startup kernel
2017-01-03 20:03:55 +01:00
Robert Jördens
9a80b8d533
spi: fix xfers with full data_width ( closes #615 )
...
misoc 15000af43611bbe8be13cb2b016e408f043202cd
2017-01-03 19:51:14 +01:00
Sebastien Bourdeauducq
7ff77bceac
move AD9616 and AD9154 initialization to firmware
2017-01-03 16:11:38 +01:00
Sebastien Bourdeauducq
6b7e6a53f7
firmware: ad9154 timeouts and logging
2017-01-03 15:19:51 +01:00
Sebastien Bourdeauducq
417708af90
phaser: add note about DDS defines ( #650 )
2017-01-02 22:15:21 +01:00
Sebastien Bourdeauducq
eef3f50016
firmware: fix compilation problems in ad9154 and ad9516
2017-01-02 22:14:20 +01:00
Sebastien Bourdeauducq
26e7f68b5d
firmware: move clock to libboard
2017-01-01 18:23:27 +01:00
Sebastien Bourdeauducq
bb056c1d2c
firmware: load *_reg correctly
2017-01-01 18:21:12 +01:00
whitequark
74f46cb965
firmware: fix merge screwup.
2016-12-31 14:03:39 +00:00
whitequark
58a95c1f40
firmware: libboard: extract irq.rs, csr.rs.
2016-12-31 14:00:43 +00:00
Sebastien Bourdeauducq
6c1fc2987a
libbsp: add ad9154 and ad9516 init code (untested)
2016-12-31 14:48:43 +01:00
Sebastien Bourdeauducq
62596a733d
libbsp: add ad9154 and ad9516 register maps
2016-12-31 14:48:43 +01:00
Sebastien Bourdeauducq
fb35336389
typo
2016-12-31 14:48:43 +01:00
whitequark
4bb7132848
firmware: prune stabilized and unused features.
2016-12-31 13:41:32 +00:00
whitequark
4480a1c2ff
firmware: libbsp::board → libboard.
2016-12-31 13:41:32 +00:00
whitequark
bd33dca203
firmware: extract liballoc_none into its own crate.
2016-12-31 13:41:32 +00:00
Joe Britton
2dd72fb94c
work around firmware bug in KA3005P that impacts get_i()
2016-12-30 12:19:19 +01:00
whitequark
010ce019b3
firmware: remove spurious build-dependency on winapi.
2016-12-29 13:06:40 +00:00
whitequark
aed91292e2
firmware: remove cargo profiles.
...
These are specified per-workspace, and anyhow are mostly overridden
by our Makefile, so specify everything in it.
2016-12-29 13:06:40 +00:00
whitequark
9df7932169
firmware: add a Cargo workspace.
...
The Rust editor plugin for Sublime Text tries to invoke cargo,
which disregards our Makefile and places junk all around the source
tree. This calms it down, and now it only does that where our
.gitignore already handles it.
2016-12-26 17:20:29 +00:00
whitequark
c45a170bb4
firmware: update for Rust 1.16.0.
2016-12-26 17:20:29 +00:00
Robert Jördens
f5f662200b
fir: streamline, optimize DSP extraction, left-align inputs
2016-12-20 21:39:51 +01:00
Robert Jördens
cfb66117af
fir: size hint for pre-adder
2016-12-20 17:58:06 +01:00
Robert Jördens
f310274e39
fir: cleanup halfgen4
2016-12-20 17:58:06 +01:00
whitequark
5f3033b518
firmware: remove max_level_debug.
...
Tracing to the core log isn't particularly slow, and is handy
when debugging.
2016-12-19 13:24:29 +00:00
whitequark
739da9f1b3
runtime: print trace level log messages to UART during startup.
...
There's no way to retrieve them otherwise if the startup kernel
hangs.
This commit was mistakenly removed in 88ad054
.
2016-12-19 13:21:21 +00:00
whitequark
b9588ddf03
firmware: don't crash on artiq_compile'd kernels ( fixes #641 ).
2016-12-19 13:01:18 +00:00
Sebastien Bourdeauducq
68b2373b9a
korad_ka3005p: fix simulation mode
2016-12-19 09:49:44 +01:00
Sebastien Bourdeauducq
161025e7df
korad_ka3005p: use ProactorEventLoop on windows
2016-12-19 09:33:20 +01:00
Sebastien Bourdeauducq
d55f2bda86
korad_ka3005p: cleanup
2016-12-19 09:32:21 +01:00
jboulder
baac555f96
add device for Korad KA3005P programmable DC power supply
2016-12-19 09:31:21 +01:00
Sebastien Bourdeauducq
db5957a7e7
firmware: use bsp crate in ad9154
2016-12-17 11:43:29 +08:00
Sebastien Bourdeauducq
9a564e07c0
firmware: make libbsp a crate
2016-12-16 21:28:25 +08:00
Sebastien Bourdeauducq
c99388f80f
firmware: use M-Labs as author in Cargo.toml files
2016-12-16 20:14:11 +08:00
Sebastien Bourdeauducq
9967dfc5ca
runtime: reorganize to support DRTIO satellite firmware
2016-12-16 19:11:19 +08:00
Sebastien Bourdeauducq
6b998581cc
rtio: use same reset for counter_rtio whatever the interface delay is
2016-12-15 09:28:13 +08:00
Robert Jördens
15b48be6e4
test/sawg: adapt to new latency spec
2016-12-14 19:43:30 +01:00
Robert Jördens
115ea67860
fir: automatically use transposed topology
2016-12-14 19:16:07 +01:00
Robert Jördens
a451b675c9
Revert "fir: different adder layout"
...
This reverts commit 6f50e77b409c293c1905f28e69d79403a0803866.
2016-12-14 19:16:07 +01:00
Robert Jördens
93076b8efa
fir: different adder layout
2016-12-14 19:16:07 +01:00
Robert Jördens
61abd994e9
Revert "fir: force dsp48"
...
This reverts commit 0ad433832d1b6dcd803ffa086ae73b2ee0568326.
2016-12-14 19:16:07 +01:00
Robert Jördens
641d109786
fir: force dsp48
2016-12-14 19:16:07 +01:00
Robert Jördens
8381db279f
sawg: wire up all HBF outputs, latency compensation in phys, simplify
2016-12-14 19:16:07 +01:00
Robert Jördens
6cdb96c5e0
rtio: add support for latency compensation in phy
...
* if multiple RTIO channels influence the same data stream and physical
output channel (see SAWG) differential latency needs to be compensated
* this is a NOP for phys with zero delay (default)
* if delay==1, it adds one timestamp-wide register
* if delay >1, it adds one adder and one register
* latency compensation using (~10-50 deep) delay lines is about as
expensive as a single adder+register but very tedious to implement
2016-12-14 19:16:07 +01:00
Robert Jördens
7be27d7116
fir: add upsample transfer function test
2016-12-14 19:16:07 +01:00
Robert Jördens
4c27029be0
sawg: fix limit regs
2016-12-14 19:16:07 +01:00
Robert Jördens
708c25b83a
phaser: don't init rtio in startup_kernel
2016-12-14 19:16:07 +01:00
Sebastien Bourdeauducq
e9592105ce
drtio: fix aux controller clock domain mistakes
2016-12-14 10:16:45 +08:00
Sebastien Bourdeauducq
527757b471
kc705_drtio: use ad9154_fmc_ebz
2016-12-13 14:30:26 +08:00
Sebastien Bourdeauducq
3b5abae935
drtio: fix clock domain conflict
2016-12-13 14:19:49 +08:00
Robert Jördens
03d13d3811
phaser: dma/drtio changes
2016-12-12 17:46:36 +01:00
Robert Jördens
c63fa46430
Merge branch 'phaser2'
...
* phaser2: (157 commits)
sawg/hbf: tweak pipeline for timing
fir: register multiplier output
conda/phaser: build-depend on numpy
sawg: reduce coefficient width
sawg: fix latency
test/fir: needs mpl. don't run by default
test/sawg: patch spline
sawg: use ParallelHBFCascade to AA [WIP]
fir: add ParallelHBFCascade
fir: add ParallelFIR and test
gateware/dsp: add FIR and test
README_PHASER: update
sawg: documentation
sawg: extract spline
sawg: document
sawg: demo_2tone
sawg: round to int64
gateware/phaser -> gateware/ad9154_fmc_ebz
phaser: fix typo
sawg: merge set/set64
...
2016-12-12 17:31:39 +01:00
Sebastien Bourdeauducq
4b61020b27
drtio: reset more local state
2016-12-12 18:48:10 +08:00
Sebastien Bourdeauducq
d99e64effd
drtio: clear any stale FIFO space reply
2016-12-12 18:02:56 +08:00
Sebastien Bourdeauducq
4c59c0fecf
Revert "drtio: order resets wrt writes"
...
This reverts commit 9a048c2b3a
.
2016-12-12 17:49:07 +08:00
Sebastien Bourdeauducq
6a60afcba0
runtime: clear all DRTIO FIFOs first, reset remote PHYs on link init
2016-12-12 17:48:25 +08:00
Sebastien Bourdeauducq
8f747fa209
drtio: clear underflow and sequence error on reset
2016-12-12 17:39:14 +08:00
Sebastien Bourdeauducq
7196bc21c1
rtio: simplify error reset logic
...
Channel is always selected when reset is issued.
2016-12-12 17:35:10 +08:00
Sebastien Bourdeauducq
1c74249638
runtime: reset local DRTIO state
2016-12-12 17:30:41 +08:00
Sebastien Bourdeauducq
9a048c2b3a
drtio: order resets wrt writes
2016-12-12 17:18:07 +08:00
Sebastien Bourdeauducq
cbc49ea91d
set asyncio loop earlier in controllers ( #627 )
2016-12-12 11:38:02 +08:00
Sebastien Bourdeauducq
3743633b04
Revert "pc_rpc: use ProactorEventLoop on Windows ( #627 )"
...
This reverts commit 7d4297b9bb
.
2016-12-12 11:33:56 +08:00
Sebastien Bourdeauducq
09fb4869f3
runtime: centralize (D)RTIO management
2016-12-09 19:24:00 +08:00
Sebastien Bourdeauducq
0a9f69a3ed
kc705_drtio_master: add missing rtio_core CSRs
2016-12-09 19:23:36 +08:00
Sebastien Bourdeauducq
4422b6902a
runtime: silence unused variable warnings
2016-12-09 19:23:06 +08:00
Sebastien Bourdeauducq
bc36bda94a
perform RTIO init on comms CPU side
2016-12-09 14:16:55 +08:00
Robert Jördens
f6071a5812
sawg/hbf: tweak pipeline for timing
2016-12-08 17:00:53 +01:00
Robert Jördens
b7a308d33d
fir: register multiplier output
2016-12-08 17:00:39 +01:00
Robert Jördens
18e3f58c22
sawg: reduce coefficient width
2016-12-08 16:14:32 +01:00
Robert Jördens
598da09a93
sawg: fix latency
2016-12-08 15:53:35 +01:00
Robert Jördens
f4ceace253
test/fir: needs mpl. don't run by default
2016-12-08 15:49:50 +01:00
Robert Jördens
efc95043c4
test/sawg: patch spline
2016-12-08 15:49:23 +01:00
Robert Jördens
3eef6229cc
sawg: use ParallelHBFCascade to AA [WIP]
2016-12-08 15:32:57 +01:00
Robert Jördens
a629eb1665
fir: add ParallelHBFCascade
2016-12-08 15:30:26 +01:00
Robert Jördens
d303225249
fir: add ParallelFIR and test
2016-12-08 15:21:04 +01:00
Robert Jördens
7e0f3edca5
gateware/dsp: add FIR and test
2016-12-07 19:14:23 +01:00
Sebastien Bourdeauducq
4c3717932e
drtio: link layer debugging CSRs
2016-12-07 23:03:14 +08:00
Robert Jördens
5efd0fcea5
sawg: documentation
2016-12-06 19:25:40 +01:00
Sebastien Bourdeauducq
b311830fc4
kc705: fix drtio_aux address conflict
2016-12-06 18:28:48 +08:00
Sebastien Bourdeauducq
4669d3f02f
kc705_drtio_satellite: add MiSoC system, hook up auxiliary controller
2016-12-06 14:56:42 +08:00
Sebastien Bourdeauducq
f4b7d39a69
kc705_drtio_master: hook up auxiliary controller
2016-12-06 14:56:15 +08:00
Sebastien Bourdeauducq
f3c50a37ca
rtio: always read full DMA sequence
2016-12-06 01:05:47 +08:00
Sebastien Bourdeauducq
c413d95b49
rtio: fix DMA get_csrs
2016-12-05 18:12:09 +08:00
Sebastien Bourdeauducq
eb8d630148
rtio: test DMA RTIO wait state
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
b677c69faf
rtio: fix handling of o_status in DMA
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
75ea13748a
rtio: fix DMA data MSB and stop signaling, self-checking unittest
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
43a5455058
rtio: DMA unittest WIP
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
a5834765d0
rtio: more DMA fixes, better stopping mechanism
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
30bce5ad35
rtio: DMA fixes
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
74fe5c3ef0
test: make gateware simulations discoverable
2016-12-05 18:01:48 +08:00
whitequark
668928a16c
runtime: fix a lifetime issue in lwip::Pbuf.
...
This would have allowed a use-after-move (or -free) to typecheck.
2016-12-05 05:24:27 +00:00
whitequark
f68e4ae519
compiler: rein in overzealous cast monomorphization.
2016-12-05 05:08:57 +00:00
whitequark
218720cfa7
Revert "compiler: rein in overzealous cast monomorphization."
...
This reverts commit 4305903dde
.
This broke the monomorphizer/round.py test.
2016-12-05 05:04:26 +00:00
whitequark
4305903dde
compiler: rein in overzealous cast monomorphization.
...
This caused failures on e.g. "int32(var64a >> var64b)", where
the type of the argument is already fully known, but was unified
with the result of the cast anyway.
2016-12-05 04:38:25 +00:00
whitequark
4c94873560
runtime: upgrade lwip to release 2.0.0.
2016-12-05 04:35:02 +00:00
whitequark
b5a684830d
compiler: fix parsing of TList annotations ( fixes #632 ).
2016-12-05 03:18:56 +00:00
Robert Jördens
695eb705b3
sawg: extract spline
2016-12-04 16:52:08 +01:00
Robert Jördens
39becd0b4e
sawg: document
2016-12-04 16:50:49 +01:00
Sebastien Bourdeauducq
88ad054ab6
Merge branch 'drtio'
2016-12-03 23:25:17 +08:00
Sebastien Bourdeauducq
5d145ff912
drtio: add false paths between sys and transceiver clocks
2016-12-03 23:03:01 +08:00
Sebastien Bourdeauducq
4b97b9f8ce
drtio: add clock constraints
2016-12-03 22:17:29 +08:00
Sebastien Bourdeauducq
617f6897a4
runtime: more concise message
2016-12-03 11:17:47 +08:00
Robert Jördens
d6f6ebf066
sawg: demo_2tone
2016-12-02 18:18:47 +01:00
Robert Jördens
a324f4faa1
Merge remote-tracking branch 'm-labs/master' into phaser2
...
* m-labs/master:
compiler: monomorphize int64(round(x)) to not lose precision.
2016-12-02 18:11:29 +01:00
Robert Jördens
87bd2072e8
sawg: round to int64
2016-12-02 18:07:01 +01:00
whitequark
68de724554
compiler: monomorphize int64(round(x)) to not lose precision.
...
This applies to any expression with an indeterminate integer type
cast to int64(), not just round().
2016-12-02 15:02:44 +00:00
Robert Jördens
3d4723353e
Merge branch 'master' into phaser2
...
* master:
dashboard: mention disable in CCB policies
runtime: clear async RPC queue when kernel stops (fixes #631 ).
artiq_devtool: fix incorrect use of nargs in argparse.
2016-12-02 14:12:04 +01:00
Robert Jördens
e747696aaa
Merge remote-tracking branch 'm-labs/phaser2' into phaser2
...
* m-labs/phaser2:
phaser: fix typo
2016-12-02 14:11:56 +01:00
Robert Jördens
cbf1004df3
gateware/phaser -> gateware/ad9154_fmc_ebz
2016-12-02 14:11:41 +01:00
Sebastien Bourdeauducq
6353f6d590
drtio: support different configurations and speeds
2016-12-02 17:22:22 +08:00
Sebastien Bourdeauducq
3cee269afe
phaser: fix typo
2016-12-02 11:06:45 +08:00
Robert Jördens
6e9bc7c05d
sawg: merge set/set64
2016-12-01 16:45:54 +01:00
Robert Jördens
93a853a0e0
test/sawg: non trivial coarse_ref_period
2016-12-01 16:00:06 +01:00
Sebastien Bourdeauducq
3931d8097b
rtio: fix DMA TimeOffset stream.connect
2016-12-01 16:43:46 +08:00
Sebastien Bourdeauducq
d4cb1eb998
kc705: integrate DMA
2016-12-01 16:31:00 +08:00
Sebastien Bourdeauducq
7c59688a12
rtio: simple DMA fixes
2016-12-01 16:30:48 +08:00
Sebastien Bourdeauducq
46dbc44c8f
rtio: export DMA and CRIInterconnectShared
2016-12-01 16:30:29 +08:00
Sebastien Bourdeauducq
6c97a97d8c
rtio: support single-master CRI arbiter
2016-12-01 16:30:11 +08:00