Commit Graph

3535 Commits

Author SHA1 Message Date
whitequark 4d05c70dfa firmware: update smoltcp. 2017-01-23 22:37:33 +00:00
whitequark 15ba6f36ba runtime: reduce the amount of noise during build. 2017-01-23 13:59:34 +00:00
whitequark 527b1e986c firmware: integrate smoltcp instead of lwip. 2017-01-23 13:59:34 +00:00
whitequark 0253e0a89d firmware: remove false dependency from runtime to ksupport.
This significantly speeds up no-change builds.
2017-01-23 13:57:08 +00:00
whitequark 971e4c3026 firmware: increase post-boot UART speed to 921600. 2017-01-23 13:57:08 +00:00
whitequark 13a544e13f artiq_devtool: add boot+log action; avoid forwarder crashes. 2017-01-23 13:57:08 +00:00
Sebastien Bourdeauducq 28a41a2f60 gateware: fix aeb1ba847 2017-01-18 17:11:02 -06:00
Sebastien Bourdeauducq 5c0d402ef3 firmware: runtime.ld formatting 2017-01-18 17:09:49 -06:00
Sebastien Bourdeauducq 2a7a8f91ca gateware: fix import 2017-01-18 16:51:30 -06:00
Sebastien Bourdeauducq ce31ffddb0 firmware: add satellite manager
The code duplication with the runtime should be cleaned up later.
2017-01-18 16:50:32 -06:00
Sebastien Bourdeauducq b40953800a gateware: soc -> amp.soc 2017-01-18 15:28:14 -06:00
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
Sebastien Bourdeauducq a318243083 rtio: CRI arbiter (untested) 2016-12-01 15:41:43 +08:00
Sébastien Bourdeauducq 696db32603 dashboard: mention disable in CCB policies 2016-12-01 11:47:04 +08:00
Sebastien Bourdeauducq cd3f68ba76 rtio: DMA core (untested) 2016-11-30 18:43:19 +08:00
Robert Jördens 01057dfb6d test/sawg: check 48 bit frequency 2016-11-30 11:21:25 +01:00
Robert Jördens ea04fb2704 test/sawg: skip 2tone demo test 2016-11-30 11:02:41 +01:00
Robert Jördens ed6d1e73cc sawg: cleanup 2016-11-30 10:52:35 +01:00
Robert Jördens fb58f31c9d Revert "sawg: test w/o discrete_compensate"
This reverts commit b736dd0df7.
2016-11-29 20:56:04 +01:00
Robert Jördens dbf72f5fde sawg: extend unittests 2016-11-29 20:52:51 +01:00
Robert Jördens b736dd0df7 sawg: test w/o discrete_compensate 2016-11-29 20:52:02 +01:00
Robert Jördens d8b5eac856 sawg: style 2016-11-29 20:51:40 +01:00
Robert Jördens 4f813c4977 test/sawg: rtio_output_wide fixes 2016-11-29 18:11:38 +01:00
Robert Jördens d9dd79fb1a sawg: int32 artiq python 2016-11-29 17:36:03 +01:00
Robert Jördens 4a03e3fce0 sawg: rtio_output_wide 2016-11-29 17:23:06 +01:00
Robert Jördens f6fc7f9216 rtio: rtio_output_{list->wide} 2016-11-29 17:22:55 +01:00
Robert Jördens 313aa32779 sawg: artiq-python list scoping 2016-11-29 17:20:02 +01:00
Robert Jördens c53040e1e4 sawg: work around #632 2016-11-29 17:01:39 +01:00
Robert Jördens a3d9e21b8c sawg: artiq-python changes 2016-11-29 16:58:26 +01:00
Robert Jördens 82c651c17a phaser: remove trivial sawg demo 2016-11-29 15:40:23 +01:00
Robert Jördens 27160f5912 phaser: make sysref input only for timing 2016-11-29 15:28:10 +01:00
Robert Jördens 7816078d6b phaser/demo: update 2016-11-29 15:11:18 +01:00
whitequark 5b7e068157 runtime: clear async RPC queue when kernel stops (fixes #631). 2016-11-29 14:00:43 +00:00
Robert Jördens d5d17aca9e Merge remote-tracking branch 'm-labs/master' into phaser2
* m-labs/master:
  applets: compatibility with older Qt. Closes #629
  doc: update LLVM configure command (fixes #628).
  runtime: match argument signedness between ARTIQ Python and ksupport.
  runtime: refactor rtio_output_list.
  runtime: use correct ABI when accepting ARTIQ lists.
2016-11-29 14:49:30 +01:00
Robert Jördens 23fd225947 sawg: spline knot packing/conversion, unittest 2016-11-29 14:49:07 +01:00
whitequark 852598c491 artiq_devtool: fix incorrect use of nargs in argparse. 2016-11-29 13:09:26 +00:00
Sebastien Bourdeauducq c5b55c1dfe applets: compatibility with older Qt. Closes #629 2016-11-29 10:45:07 +08:00
Sebastien Bourdeauducq cf342eca6e kc705_drtio_master: fix number of fine RTIO timestamp bits 2016-11-29 10:44:27 +08:00
Sebastien Bourdeauducq f4c6d6eb69 kc705_drtio_master: fix number of fine RTIO timestamp bits 2016-11-28 15:18:54 +08:00
Sebastien Bourdeauducq 85f2467e2c rtio: fix RTIO/DRTIO timestamp resolution discrepancy 2016-11-28 15:01:46 +08:00
Sebastien Bourdeauducq 9fdd29ddae drtio: connect KernelInitiator correctly 2016-11-28 14:36:18 +08:00
Sebastien Bourdeauducq 5460202220 drtio: typo 2016-11-28 14:35:21 +08:00
Sebastien Bourdeauducq 4e1b497742 drtio: typo 2016-11-28 14:34:58 +08:00
Sebastien Bourdeauducq c419c422fa drtio: support for local RTIO core 2016-11-28 14:33:26 +08:00
Sebastien Bourdeauducq d37b73fd31 drtio: FIFO timeout is handled in gateware + give remote side more time 2016-11-28 14:33:06 +08:00
Sebastien Bourdeauducq 046b8bfd33 drtio: fix transmit datapath with transceiver width > max packet width 2016-11-27 13:19:12 +08:00
Sebastien Bourdeauducq b2450c7c56 drtio: test large data 2016-11-27 12:57:12 +08:00
Sebastien Bourdeauducq 0903964488 drtio: large data fixes 2016-11-27 02:12:50 +08:00
whitequark ea25856d92 runtime: match argument signedness between ARTIQ Python and ksupport.
This is only required when reading the ABI very strictly, but better
be conservative here than spend time debugging silly stuff.
2016-11-26 07:25:22 +00:00
whitequark cf12a888e7 runtime: refactor rtio_output_list. 2016-11-26 07:25:22 +00:00
whitequark 79e70fa465 runtime: use correct ABI when accepting ARTIQ lists. 2016-11-26 07:25:22 +00:00
Sebastien Bourdeauducq d381dd5384 drtio: remove stale signal from test 2016-11-25 18:33:55 +08:00
Sebastien Bourdeauducq 8090abef5d drtio: large data support 2016-11-25 17:04:09 +08:00
Robert Jördens 55e37b41ec phaser: use ttl_simple.Input for sync 2016-11-24 15:55:26 +01:00
Robert Jördens 6fa2a6ebd8 phaser: move ad9154 spi/jesd api to rust 2016-11-24 15:53:14 +01:00
Robert Jördens 8060652913 phaser: use Inout_8X 2016-11-24 15:21:03 +01:00
Robert Jördens 617650f3b2 phaser: extract target 2016-11-24 15:20:51 +01:00
Robert Jördens 1c84d1ee59 Merge branch 'master' into phaser2
* master:
  rtio: support differential ttl
  RELEASE_NOTES: int(a, width=b) removal, use int32/64
  pc_rpc: use ProactorEventLoop on Windows (#627)
2016-11-24 15:05:49 +01:00
Robert Jördens 95c885b580 rtio: support differential ttl 2016-11-24 15:04:12 +01:00
Sebastien Bourdeauducq 7d4297b9bb pc_rpc: use ProactorEventLoop on Windows (#627) 2016-11-24 10:19:13 +08:00
Sebastien Bourdeauducq 8b736ddbc9 drtio: update test 2016-11-24 00:37:53 +08:00
Sebastien Bourdeauducq 7cd27abaa6 drtio: do not reset remote TSC on reset command 2016-11-24 00:09:53 +08:00
Robert Jördens dab19d23cc runtime: support rtio data wider than 64 bit 2016-11-23 16:40:52 +01:00
Robert Jördens fbf60108a8 moninj.rs: force u32 dds_ftws 2016-11-23 16:39:08 +01:00
Robert Jördens 0d5f962d0c runtime.rs/rtio.rs: style 2016-11-23 23:27:59 +08:00
Robert Jördens eab18d8e34 runtime.rs: wide rtio data 2016-11-23 23:27:46 +08:00
Sebastien Bourdeauducq 2d62a89143 rtio: use large data register 2016-11-23 23:23:27 +08:00
Sebastien Bourdeauducq 07f2d84275 drtio: remote resets 2016-11-23 23:19:31 +08:00
Sebastien Bourdeauducq 9941f3557d rtio: use only CRI commands for rio/rio_phy resets 2016-11-23 23:19:14 +08:00
Robert Jördens a964cf24f2 runtime.rs/rtio.rs: style 2016-11-23 15:03:36 +01:00
Robert Jördens 8cce5d2fcd runtime.rs: wide rtio data 2016-11-23 15:03:36 +01:00
Robert Jördens 347609d765 rtio: auto clear output event data and address
This is to support channels where variable length
event data is well-defined through zero-padding.
E.g. in the case of `Spline` zero-padding of events naturally
corresponds to low-order knots.

Use timestamp change as trigger. This assumes that writes to the
timestamp register always precede address and data writes.
It does not break support for ganged writes of the same event
timestamp and data/address to multiple channels or
channel-addresses.
2016-11-23 15:03:36 +01:00
Robert Jördens 32fdacd95a Merge remote-tracking branch 'm-labs/master' into phaser2
* m-labs/master:
  runtime: don't attempt to perform writeback if disabled in kernel.
  runtime: print trace level log messages to UART during startup.
  runtime: support for targets without RTIO log channel
  runtime: support for targets without I2C
  kc705: remove stale DDS definition
  runtime: show a prompt to erase startup/idle kernels.
2016-11-23 14:56:29 +01:00
Robert Jördens fec34d605e runtime.rs/rtio.rs: style 2016-11-23 14:56:20 +01:00
whitequark 4df7941a97 runtime: don't attempt to perform writeback if disabled in kernel.
Otherwise, the startup kernel session hangs.
2016-11-23 13:53:40 +00:00
whitequark cd7527b701 runtime: print trace level log messages to UART during startup.
There's no way to retrieve them otherwise if the startup kernel
hangs.
2016-11-23 13:53:40 +00:00
Sebastien Bourdeauducq d400c81cb2 rtio: remove debug print 2016-11-23 13:37:14 +08:00
Sebastien Bourdeauducq 4e931c7dd2 rtio: fix timestamp shift 2016-11-23 13:36:30 +08:00
Sebastien Bourdeauducq 5a2edef422 drtio: adapt example to new mu/second API 2016-11-23 12:43:17 +08:00
Sebastien Bourdeauducq cd334c0ecf Merge branch 'master' into drtio 2016-11-23 12:40:18 +08:00
Sebastien Bourdeauducq e532261a9b drtio: fix FullMemoryWE usage 2016-11-23 12:25:43 +08:00
Sebastien Bourdeauducq 0443f83d5e runtime: support for targets without RTIO log channel 2016-11-23 10:50:55 +08:00
Sebastien Bourdeauducq cd40d5b107 runtime: support for targets without I2C 2016-11-23 10:50:55 +08:00
Sebastien Bourdeauducq 0c49679984 runtime: support for targets without RTIO log channel 2016-11-23 10:48:26 +08:00
Sebastien Bourdeauducq 3c5a62243d runtime: support for targets without I2C 2016-11-23 10:43:33 +08:00
Sebastien Bourdeauducq ffefdb9269 rtio: fix counter readback 2016-11-23 00:54:47 +08:00
Sebastien Bourdeauducq aa00627c0e rtio: fix CRI CSRs 2016-11-22 22:57:04 +08:00
Sebastien Bourdeauducq fbd83cf9ee kc705: remove stale DDS definition 2016-11-22 22:48:22 +08:00
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
whitequark 965fdd35e5 runtime: show a prompt to erase startup/idle kernels. 2016-11-22 14:45:40 +00:00
Robert Jördens 6799bb097a sawg: adapt to int32/int64 change 2016-11-22 11:57:34 +01: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
Robert Jördens 5e900cf42a runtime.rs: wide rtio data 2016-11-21 23:12:16 +01:00
Robert Jördens 4cd2b36995 Merge branch 'phaser' into phaser2
* phaser:
  runtime: replace a (deliberate) memory leak with an interner.
  compiler: disable remarks.
  runtime: rewrite i2c support code in Rust.
  runtime: rewrite rtio support code in Rust.
2016-11-21 23:11:52 +01:00
Robert Jördens feb95bf3cf Merge branch 'master' into phaser
* master:
  runtime: replace a (deliberate) memory leak with an interner.
  compiler: disable remarks.
  runtime: rewrite i2c support code in Rust.
  runtime: rewrite rtio support code in Rust.
2016-11-21 22:26:52 +01: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
Robert Jördens 4160490e0a Merge branch 'phaser' into phaser2
* phaser: (23 commits)
  RELEASE_NOTES: update
  pipistrello: add some inputs
  Remove last vestiges of nist_qc1.
  Fully drop AD9858 and kc705-nist_qc1 support (closes #576).
  coredevice.dds: reimplement fully in ARTIQ Python.
  compiler: unbreak casts to int32/int64.
  analyses.constness: fix false positive on x[...].
  inferencer: significantly improve the op-assignment diagnostic.
  Fix tests.
  Move mu_to_seconds, seconds_to_mu to Core.
  artiq_devtool: don't crash on invalid utf-8.
  artiq_devtool: detect a race condition during connect.
  llvm_ir_generator: handle no-op coercions.
  conda: use development version of migen/misoc
  Revert accidentally committed code.
  Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623"
  analyses.invariant_detection: implement (#622).
  Fix whitespace.
  coredevice.dds: work around the round(numpy.float64()) snafu.
  coredevice.dds: update from obsolete int(width=) syntax (fixes #621).
  ...
2016-11-21 17:29:46 +01:00
Robert Jördens f7e8961ab0 Merge branch 'master' into phaser
* master: (23 commits)
  RELEASE_NOTES: update
  pipistrello: add some inputs
  Remove last vestiges of nist_qc1.
  Fully drop AD9858 and kc705-nist_qc1 support (closes #576).
  coredevice.dds: reimplement fully in ARTIQ Python.
  compiler: unbreak casts to int32/int64.
  analyses.constness: fix false positive on x[...].
  inferencer: significantly improve the op-assignment diagnostic.
  Fix tests.
  Move mu_to_seconds, seconds_to_mu to Core.
  artiq_devtool: don't crash on invalid utf-8.
  artiq_devtool: detect a race condition during connect.
  llvm_ir_generator: handle no-op coercions.
  conda: use development version of migen/misoc
  Revert accidentally committed code.
  Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623"
  analyses.invariant_detection: implement (#622).
  Fix whitespace.
  coredevice.dds: work around the round(numpy.float64()) snafu.
  coredevice.dds: update from obsolete int(width=) syntax (fixes #621).
  ...
2016-11-21 17:29:39 +01:00
Robert Jördens ad264ac070 phaser: 300 MHz sample rate clock/dac 2016-11-21 16:58:07 +01: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
Robert Jördens b3e4a1df03 sawg: adapt basic example 2016-11-21 13:17:01 +01:00
Robert Jördens c73b1af7ab coredevice/sawg: missing comma 2016-11-21 13:16:44 +01:00
Robert Jördens b226dbd257 sawg: unittest data format 2016-11-21 12:35:57 +01:00
Robert Jördens 2f838e3512 rtio: fix i_data/o_data csr endianess 2016-11-21 12:15:26 +01:00
Robert Jördens 174c4be218 phaser: false paths sys<->{jesd,phy.tx} 2016-11-21 09:57:33 +01: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
Robert Jördens 9221a275cb sawg: kernel support (wip) 2016-11-20 16:39:53 +01:00
Robert Jördens 74e5013fe5 sawg: fix b delay width 2016-11-20 16:39:22 +01: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
Robert Jördens 12e39a64cf sawg: reduce f0 oscillator width to 32 2016-11-19 17:07:07 +01:00
Robert Jördens 04813ea29b sawg: wir up limiting, saturating addition 2016-11-19 16:12:27 +01:00
Robert Jördens e53d0bcd5b dsp: add limits support to SatAddMixin 2016-11-19 16:12:27 +01:00
Robert Jördens 97a54046e8 rtio: auto clear output event data and address
This is to support channels where variable length
event data is well-defined through zero-padding.
E.g. in the case of `Spline` zero-padding of events naturally
corresponds to low-order knots.

Use timestamp change as trigger. This assumes that writes to the
timestamp register always precede address and data writes.
It does not break support for ganged writes of the same event
timestamp and data/address to multiple channels or
channel-addresses.
2016-11-19 16:12:27 +01:00
Robert Jördens b714137f76 phaser: 150 MHz rtio/jesd clock 2016-11-19 13:16:30 +01: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
Robert Jördens 0ee47e77ae phaser: fix widths 2016-11-18 17:24:11 +01:00
Robert Jördens bcde26f990 Revert "phaser: cap phy data width to 64 temporarily"
This reverts commit 342b9e977e.
2016-11-18 17:08:44 +01:00
Robert Jördens 641f07119f runtime: support rtio data wider than 64 bit 2016-11-18 17:08:33 +01:00
Sebastien Bourdeauducq ba94ed8f4b drtio: check for absence of disparity errors before claiming RX ready 2016-11-19 00:05:59 +08:00
Robert Jördens 342b9e977e phaser: cap phy data width to 64 temporarily 2016-11-18 15:46:59 +01:00
Robert Jördens 14ddcd2e30 Revert "dsp/Delay: reset_less"
for now

This reverts commit 98193d6fa1.
2016-11-18 15:25:42 +01:00
Robert Jördens d678bb3fb6 phaser: update sawg tests 2016-11-18 15:23:56 +01: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
Robert Jördens 51f23feeac dsp: implement sawg features 2016-11-17 03:20:37 +01:00
Robert Jördens 98193d6fa1 dsp/Delay: reset_less 2016-11-17 02:36:29 +01:00