7b2eba9fbd
firmware: misoc_registers -> misoc_cfg
2017-01-27 23:28:00 +08:00
11994d1900
satman: unbreak build
2017-01-27 23:26:40 +08:00
6acb8021e1
satman: remove stale reference to main.c
2017-01-27 23:24:07 +08:00
whitequark
6891b5fcfd
firmware: accept sessions even when startup kernel is running.
...
Fixes #625 .
Fixes #649 .
2017-01-27 13:46:32 +00:00
whitequark
24ce9a057b
firmware: add missing try!.
2017-01-27 13:46:32 +00:00
whitequark
74b910e97d
In case of a load error, pass the reason to host interpreter.
...
Fixes #654 .
2017-01-27 12:49:48 +00:00
whitequark
609fd3d902
test: skip test_clock_generator_loopback as well.
...
Both tests pass locally, which means there's some conda screwup
that prevents them from working on CI.
2017-01-27 11:47:26 +00:00
whitequark
c529cefc89
conda: bump llvmlite-artiq dependency.
2017-01-27 11:14:53 +00:00
c659c2e551
Relicense ARTIQ as LGPLv3+ ( closes #570 )
...
Kelly Stevens: 1481043941095.63542@gtri.gatech.edu
David Nadlinger: E7C03799-5D45-4C03-9DF9-029FE2B4F12B@klickverbot.at
whitequark: 69d1ca29d5ab03fbcfb446d65cbe1150@mail.whitequark.org
Felix Held: 9145cc19-2319-3516-b2a9-dde60aef11f7@felixheld.de
Robert Jordens: CANb+zoFgXVYgCji_vXPauK-fnnYKpm_QioMnvmh=hvLFWQONWA@mail.gmail.com
Daniel Slichter: BL2PR09MB1010FE3D3A325E889AD70A2591820@BL2PR09MB1010.namprd09.prod.outlook.com
Joe Britton: CAE2_b1V60_6PJ3VYx_s-p5XVfKJUx8kbQA7VwD3MdcmHdzROGw@mail.gmail.com
Florent Kermarrec: CA+96J6JHM8yZM=RYaporU36NdyOTL3BeSuO9oM8TTtdnXiJ5jw@mail.gmail.com
Zach Smith: CAAJ=EH+OzDs_rBJ_zTjbOZmumEZWONX2MSFUasJwf8josJGdkw@mail.gmail.com
David Leibrandt: CY1PR09MB0921C628EC76CDFC4CC7F64F95820@CY1PR09MB0921.namprd09.prod.outlook.com
Raghavendra Srinivas: DM5PR09MB1531C49EEE1774DF2BA80616F8850@DM5PR09MB1531.namprd09.prod.outlook.com
Yann Sionneau: CACi+aWbdY48D9CgKtXdtVsdX4NS1JwVN4v-PCC17F_rPKSt4XQ@mail.gmail.com
Sébastien Bourdeauducq: c3f235dc-e9c5-7f7a-10f2-bb4e4f85e7f5@m-labs.hk
2017-01-27 11:19:46 +01:00
whitequark
50f234bea4
firmware: update smoltcp to take advantage of TCP MSS option.
2017-01-27 03:47:57 +00:00
whitequark
477664f931
test: temporarily skip pulse_rate_dds.
2017-01-26 20:53:30 +00:00
143f784291
artiq_flash: fix scripts_path
2017-01-26 21:52:59 +01:00
whitequark
b7f6bfffeb
firmware: fix embedding of software version during build.
2017-01-26 17:40:29 +00:00
whitequark
31e5f9a810
firmware: read MAC/IP address configuration from flash.
2017-01-26 17:40:29 +00:00
653eee071d
artiq_flash: make scripts_path a function (for doc generating)
2017-01-26 17:53:33 +01:00
f7dec72f02
firmware: give satman whole RAM in linker script
2017-01-26 15:58:42 +08:00
whitequark
0b67396630
test: convert test_pulse_rate_dds to use mu.
...
Before this commit, this test was actually measuring soft-FP
performance.
2017-01-25 11:26:30 +00:00
whitequark
57f54dbd12
llvm_ir_generator: recognize inline and forceinline flags.
2017-01-25 10:25:00 +00:00
whitequark
7b6de36d1d
firmware: cap loglevel at DEBUG to increase RPC throughput ~3x.
2017-01-25 06:50:56 +00:00
whitequark
3c177c6d71
firmware: update smoltcp, to fix analyzer dump extraction.
2017-01-25 06:36:26 +00:00
whitequark
6721c1e82f
firmware: update smoltcp.
2017-01-25 04:08:06 +00:00
whitequark
82cd9e27f7
ksupport: fix I2C function signatures.
2017-01-25 02:11:32 +00:00
whitequark
58a0e4c97f
Fix 2de3770
.
2017-01-25 01:24:03 +00:00
whitequark
de17908b38
Revert "Globally update UART baudrate to 921600."
...
This reverts commit b29e2d5bfe
.
This broke flterm firmware upload, which was the entire point
of the whole exercise.
2017-01-25 00:31:28 +00:00
whitequark
6414e40deb
firmware: fix race condition between TCP listen and accept.
2017-01-25 00:17:46 +00:00
whitequark
2de3770c06
firmware: rewrite cache flushing code in Rust.
2017-01-24 23:07:28 +00:00
whitequark
209be73204
firmware: simplify ksupport build script.
2017-01-24 23:07:28 +00:00
whitequark
b29e2d5bfe
Globally update UART baudrate to 921600.
2017-01-24 22:25:58 +00:00
whitequark
3633671656
firmware: factor out console and logging from runtime/satman.
2017-01-24 21:58:58 +00:00
whitequark
5604d9bb55
firmware: factor out build scripts from runtime/satman.
2017-01-24 21:15:41 +00:00
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
28a41a2f60
gateware: fix aeb1ba847
2017-01-18 17:11:02 -06:00
5c0d402ef3
firmware: runtime.ld formatting
2017-01-18 17:09:49 -06:00
2a7a8f91ca
gateware: fix import
2017-01-18 16:51:30 -06:00
ce31ffddb0
firmware: add satellite manager
...
The code duplication with the runtime should be cleaned up later.
2017-01-18 16:50:32 -06:00
b40953800a
gateware: soc -> amp.soc
2017-01-18 15:28:14 -06:00
aeb1ba8471
gateware: use default MiSoC timer
2017-01-18 15:22:33 -06:00
043780d603
drtio: fix DRTIOSatellite invokation in test
2017-01-15 17:30:02 -06:00
b8d89d56b1
drtio: add GenericRXSynchronizer
2017-01-15 13:44:43 -06:00
0edffb54c2
drtio: fix packet truncation detection in RTPacketSatellite
2017-01-13 09:29:22 -06:00
6805feb494
drtio: report truncated packets
2017-01-12 23:44:45 -06:00
394ffd827e
phaser/demo_2tone: add ttl and led pulse
2017-01-11 21:45:34 +01:00
7c699e2f80
drtio: add FIFO space request count debug API
2017-01-11 13:48:14 -06:00
c25186fae1
drtio: print packet error descriptions in log
2017-01-10 18:03:01 -06:00
7af152ed22
firmware: pass spawner around instead of scheduler
2017-01-10 16:15:39 -06:00
d3d23d0d3b
drtio: report get FIFO space timeouts to log
2017-01-10 16:12:46 -06:00
98598df78e
rtio: keep retrying on get FIFO space timeout
2017-01-10 16:12:32 -06:00
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
f75fffcf96
drtio: fix satellite RX data corruption
2017-01-10 14:29:30 -06:00
fdfaa377db
drtio: add debug syscalls
2017-01-08 15:06:14 -06:00
1b49affd18
typo
2017-01-08 13:04:10 -06:00
780d6d152c
worker: fix handling of archive parameter during dataset get in examine
2017-01-07 16:20:17 +01:00
fe53bab953
targets: kc705 -> kc705_dds
2017-01-05 18:40:56 +01:00
8be9a827ba
test: move dsp tests into their own folder
2017-01-05 18:25:38 +01:00
4f97d00e79
firmware: make i2c busno u8
2017-01-05 14:54:48 +01:00
13c45c8766
firmware: add si5324 programming functions
2017-01-05 14:50:00 +01:00
6c685205ce
firmware: support i2c restart
2017-01-05 14:49:24 +01:00
082fdaf450
move i2c to libboard, do bit-banging on comms CPU
2017-01-04 21:04:38 +01:00
3dd9d54b22
firmware: fix compilation warning without moninj/analyzer
2017-01-04 21:04:08 +01:00
86f6b391b7
ad9xxx -> ad9_dds
2017-01-04 11:34:52 +01:00
c08fc8aae9
firmware: support moninj without DDS. Closes #650
2017-01-04 11:26:02 +01:00
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
9b4c1ddc8e
libboard: use --cfg
2017-01-03 21:39:40 +01:00
fbf5a4d4a2
Merge branch 'phaser2-rust-init'
2017-01-03 21:31:21 +01:00
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
8e9be41c73
reset core device in phaser examples
2017-01-03 20:05:22 +01:00
d29ec22497
remove stale phaser startup kernel
2017-01-03 20:03:55 +01:00
9a80b8d533
spi: fix xfers with full data_width ( closes #615 )
...
misoc 15000af43611bbe8be13cb2b016e408f043202cd
2017-01-03 19:51:14 +01:00
7ff77bceac
move AD9616 and AD9154 initialization to firmware
2017-01-03 16:11:38 +01:00
6b7e6a53f7
firmware: ad9154 timeouts and logging
2017-01-03 15:19:51 +01:00
417708af90
phaser: add note about DDS defines ( #650 )
2017-01-02 22:15:21 +01:00
eef3f50016
firmware: fix compilation problems in ad9154 and ad9516
2017-01-02 22:14:20 +01:00
26e7f68b5d
firmware: move clock to libboard
2017-01-01 18:23:27 +01:00
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
6c1fc2987a
libbsp: add ad9154 and ad9516 init code (untested)
2016-12-31 14:48:43 +01:00
62596a733d
libbsp: add ad9154 and ad9516 register maps
2016-12-31 14:48:43 +01:00
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
f5f662200b
fir: streamline, optimize DSP extraction, left-align inputs
2016-12-20 21:39:51 +01:00
cfb66117af
fir: size hint for pre-adder
2016-12-20 17:58:06 +01:00
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
68b2373b9a
korad_ka3005p: fix simulation mode
2016-12-19 09:49:44 +01:00
161025e7df
korad_ka3005p: use ProactorEventLoop on windows
2016-12-19 09:33:20 +01:00
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
db5957a7e7
firmware: use bsp crate in ad9154
2016-12-17 11:43:29 +08:00
9a564e07c0
firmware: make libbsp a crate
2016-12-16 21:28:25 +08:00
c99388f80f
firmware: use M-Labs as author in Cargo.toml files
2016-12-16 20:14:11 +08:00
9967dfc5ca
runtime: reorganize to support DRTIO satellite firmware
2016-12-16 19:11:19 +08:00
6b998581cc
rtio: use same reset for counter_rtio whatever the interface delay is
2016-12-15 09:28:13 +08:00
15b48be6e4
test/sawg: adapt to new latency spec
2016-12-14 19:43:30 +01:00
115ea67860
fir: automatically use transposed topology
2016-12-14 19:16:07 +01:00
a451b675c9
Revert "fir: different adder layout"
...
This reverts commit 6f50e77b409c293c1905f28e69d79403a0803866.
2016-12-14 19:16:07 +01:00
93076b8efa
fir: different adder layout
2016-12-14 19:16:07 +01:00
61abd994e9
Revert "fir: force dsp48"
...
This reverts commit 0ad433832d1b6dcd803ffa086ae73b2ee0568326.
2016-12-14 19:16:07 +01:00
641d109786
fir: force dsp48
2016-12-14 19:16:07 +01:00
8381db279f
sawg: wire up all HBF outputs, latency compensation in phys, simplify
2016-12-14 19:16:07 +01:00
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
7be27d7116
fir: add upsample transfer function test
2016-12-14 19:16:07 +01:00
4c27029be0
sawg: fix limit regs
2016-12-14 19:16:07 +01:00
708c25b83a
phaser: don't init rtio in startup_kernel
2016-12-14 19:16:07 +01:00
e9592105ce
drtio: fix aux controller clock domain mistakes
2016-12-14 10:16:45 +08:00
527757b471
kc705_drtio: use ad9154_fmc_ebz
2016-12-13 14:30:26 +08:00
3b5abae935
drtio: fix clock domain conflict
2016-12-13 14:19:49 +08:00
03d13d3811
phaser: dma/drtio changes
2016-12-12 17:46:36 +01:00
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
4b61020b27
drtio: reset more local state
2016-12-12 18:48:10 +08:00
d99e64effd
drtio: clear any stale FIFO space reply
2016-12-12 18:02:56 +08:00
4c59c0fecf
Revert "drtio: order resets wrt writes"
...
This reverts commit 9a048c2b3a
.
2016-12-12 17:49:07 +08:00
6a60afcba0
runtime: clear all DRTIO FIFOs first, reset remote PHYs on link init
2016-12-12 17:48:25 +08:00
8f747fa209
drtio: clear underflow and sequence error on reset
2016-12-12 17:39:14 +08:00
7196bc21c1
rtio: simplify error reset logic
...
Channel is always selected when reset is issued.
2016-12-12 17:35:10 +08:00
1c74249638
runtime: reset local DRTIO state
2016-12-12 17:30:41 +08:00
9a048c2b3a
drtio: order resets wrt writes
2016-12-12 17:18:07 +08:00
cbc49ea91d
set asyncio loop earlier in controllers ( #627 )
2016-12-12 11:38:02 +08:00
3743633b04
Revert "pc_rpc: use ProactorEventLoop on Windows ( #627 )"
...
This reverts commit 7d4297b9bb
.
2016-12-12 11:33:56 +08:00
09fb4869f3
runtime: centralize (D)RTIO management
2016-12-09 19:24:00 +08:00
0a9f69a3ed
kc705_drtio_master: add missing rtio_core CSRs
2016-12-09 19:23:36 +08:00
4422b6902a
runtime: silence unused variable warnings
2016-12-09 19:23:06 +08:00
bc36bda94a
perform RTIO init on comms CPU side
2016-12-09 14:16:55 +08:00
f6071a5812
sawg/hbf: tweak pipeline for timing
2016-12-08 17:00:53 +01:00
b7a308d33d
fir: register multiplier output
2016-12-08 17:00:39 +01:00
18e3f58c22
sawg: reduce coefficient width
2016-12-08 16:14:32 +01:00
598da09a93
sawg: fix latency
2016-12-08 15:53:35 +01:00
f4ceace253
test/fir: needs mpl. don't run by default
2016-12-08 15:49:50 +01:00
efc95043c4
test/sawg: patch spline
2016-12-08 15:49:23 +01:00
3eef6229cc
sawg: use ParallelHBFCascade to AA [WIP]
2016-12-08 15:32:57 +01:00
a629eb1665
fir: add ParallelHBFCascade
2016-12-08 15:30:26 +01:00
d303225249
fir: add ParallelFIR and test
2016-12-08 15:21:04 +01:00
7e0f3edca5
gateware/dsp: add FIR and test
2016-12-07 19:14:23 +01:00
4c3717932e
drtio: link layer debugging CSRs
2016-12-07 23:03:14 +08:00
5efd0fcea5
sawg: documentation
2016-12-06 19:25:40 +01:00
b311830fc4
kc705: fix drtio_aux address conflict
2016-12-06 18:28:48 +08:00
4669d3f02f
kc705_drtio_satellite: add MiSoC system, hook up auxiliary controller
2016-12-06 14:56:42 +08:00
f4b7d39a69
kc705_drtio_master: hook up auxiliary controller
2016-12-06 14:56:15 +08:00
f3c50a37ca
rtio: always read full DMA sequence
2016-12-06 01:05:47 +08:00
c413d95b49
rtio: fix DMA get_csrs
2016-12-05 18:12:09 +08:00
eb8d630148
rtio: test DMA RTIO wait state
2016-12-05 18:01:48 +08:00
b677c69faf
rtio: fix handling of o_status in DMA
2016-12-05 18:01:48 +08:00
75ea13748a
rtio: fix DMA data MSB and stop signaling, self-checking unittest
2016-12-05 18:01:48 +08:00
43a5455058
rtio: DMA unittest WIP
2016-12-05 18:01:48 +08:00
a5834765d0
rtio: more DMA fixes, better stopping mechanism
2016-12-05 18:01:48 +08:00
30bce5ad35
rtio: DMA fixes
2016-12-05 18:01:48 +08:00
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
695eb705b3
sawg: extract spline
2016-12-04 16:52:08 +01:00
39becd0b4e
sawg: document
2016-12-04 16:50:49 +01:00
88ad054ab6
Merge branch 'drtio'
2016-12-03 23:25:17 +08:00
5d145ff912
drtio: add false paths between sys and transceiver clocks
2016-12-03 23:03:01 +08:00
4b97b9f8ce
drtio: add clock constraints
2016-12-03 22:17:29 +08:00
617f6897a4
runtime: more concise message
2016-12-03 11:17:47 +08:00
d6f6ebf066
sawg: demo_2tone
2016-12-02 18:18:47 +01:00
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
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
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
e747696aaa
Merge remote-tracking branch 'm-labs/phaser2' into phaser2
...
* m-labs/phaser2:
phaser: fix typo
2016-12-02 14:11:56 +01:00
cbf1004df3
gateware/phaser -> gateware/ad9154_fmc_ebz
2016-12-02 14:11:41 +01:00
6353f6d590
drtio: support different configurations and speeds
2016-12-02 17:22:22 +08:00
3cee269afe
phaser: fix typo
2016-12-02 11:06:45 +08:00
6e9bc7c05d
sawg: merge set/set64
2016-12-01 16:45:54 +01:00
93a853a0e0
test/sawg: non trivial coarse_ref_period
2016-12-01 16:00:06 +01:00
3931d8097b
rtio: fix DMA TimeOffset stream.connect
2016-12-01 16:43:46 +08:00
d4cb1eb998
kc705: integrate DMA
2016-12-01 16:31:00 +08:00
7c59688a12
rtio: simple DMA fixes
2016-12-01 16:30:48 +08:00
46dbc44c8f
rtio: export DMA and CRIInterconnectShared
2016-12-01 16:30:29 +08:00
6c97a97d8c
rtio: support single-master CRI arbiter
2016-12-01 16:30:11 +08:00
a318243083
rtio: CRI arbiter (untested)
2016-12-01 15:41:43 +08:00
696db32603
dashboard: mention disable in CCB policies
2016-12-01 11:47:04 +08:00
cd3f68ba76
rtio: DMA core (untested)
2016-11-30 18:43:19 +08:00
01057dfb6d
test/sawg: check 48 bit frequency
2016-11-30 11:21:25 +01:00
ea04fb2704
test/sawg: skip 2tone demo test
2016-11-30 11:02:41 +01:00
ed6d1e73cc
sawg: cleanup
2016-11-30 10:52:35 +01:00
fb58f31c9d
Revert "sawg: test w/o discrete_compensate"
...
This reverts commit b736dd0df7
.
2016-11-29 20:56:04 +01:00
dbf72f5fde
sawg: extend unittests
2016-11-29 20:52:51 +01:00
b736dd0df7
sawg: test w/o discrete_compensate
2016-11-29 20:52:02 +01:00
d8b5eac856
sawg: style
2016-11-29 20:51:40 +01:00
4f813c4977
test/sawg: rtio_output_wide fixes
2016-11-29 18:11:38 +01:00
d9dd79fb1a
sawg: int32 artiq python
2016-11-29 17:36:03 +01:00
4a03e3fce0
sawg: rtio_output_wide
2016-11-29 17:23:06 +01:00
f6fc7f9216
rtio: rtio_output_{list->wide}
2016-11-29 17:22:55 +01:00
313aa32779
sawg: artiq-python list scoping
2016-11-29 17:20:02 +01:00
c53040e1e4
sawg: work around #632
2016-11-29 17:01:39 +01:00
a3d9e21b8c
sawg: artiq-python changes
2016-11-29 16:58:26 +01:00
82c651c17a
phaser: remove trivial sawg demo
2016-11-29 15:40:23 +01:00
27160f5912
phaser: make sysref input only for timing
2016-11-29 15:28:10 +01:00
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
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
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
c5b55c1dfe
applets: compatibility with older Qt. Closes #629
2016-11-29 10:45:07 +08:00
cf342eca6e
kc705_drtio_master: fix number of fine RTIO timestamp bits
2016-11-29 10:44:27 +08:00
f4c6d6eb69
kc705_drtio_master: fix number of fine RTIO timestamp bits
2016-11-28 15:18:54 +08:00
85f2467e2c
rtio: fix RTIO/DRTIO timestamp resolution discrepancy
2016-11-28 15:01:46 +08:00
9fdd29ddae
drtio: connect KernelInitiator correctly
2016-11-28 14:36:18 +08:00
5460202220
drtio: typo
2016-11-28 14:35:21 +08:00
4e1b497742
drtio: typo
2016-11-28 14:34:58 +08:00
c419c422fa
drtio: support for local RTIO core
2016-11-28 14:33:26 +08:00
d37b73fd31
drtio: FIFO timeout is handled in gateware + give remote side more time
2016-11-28 14:33:06 +08:00
046b8bfd33
drtio: fix transmit datapath with transceiver width > max packet width
2016-11-27 13:19:12 +08:00
b2450c7c56
drtio: test large data
2016-11-27 12:57:12 +08:00
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
d381dd5384
drtio: remove stale signal from test
2016-11-25 18:33:55 +08:00
8090abef5d
drtio: large data support
2016-11-25 17:04:09 +08:00
55e37b41ec
phaser: use ttl_simple.Input for sync
2016-11-24 15:55:26 +01:00
6fa2a6ebd8
phaser: move ad9154 spi/jesd api to rust
2016-11-24 15:53:14 +01:00
8060652913
phaser: use Inout_8X
2016-11-24 15:21:03 +01:00
617650f3b2
phaser: extract target
2016-11-24 15:20:51 +01:00
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
95c885b580
rtio: support differential ttl
2016-11-24 15:04:12 +01:00
7d4297b9bb
pc_rpc: use ProactorEventLoop on Windows ( #627 )
2016-11-24 10:19:13 +08:00
8b736ddbc9
drtio: update test
2016-11-24 00:37:53 +08:00
7cd27abaa6
drtio: do not reset remote TSC on reset command
2016-11-24 00:09:53 +08:00
dab19d23cc
runtime: support rtio data wider than 64 bit
2016-11-23 16:40:52 +01:00
fbf60108a8
moninj.rs: force u32 dds_ftws
2016-11-23 16:39:08 +01:00
0d5f962d0c
runtime.rs/rtio.rs: style
2016-11-23 23:27:59 +08:00
eab18d8e34
runtime.rs: wide rtio data
2016-11-23 23:27:46 +08:00
2d62a89143
rtio: use large data register
2016-11-23 23:23:27 +08:00
07f2d84275
drtio: remote resets
2016-11-23 23:19:31 +08:00
9941f3557d
rtio: use only CRI commands for rio/rio_phy resets
2016-11-23 23:19:14 +08:00
a964cf24f2
runtime.rs/rtio.rs: style
2016-11-23 15:03:36 +01:00
8cce5d2fcd
runtime.rs: wide rtio data
2016-11-23 15:03:36 +01:00
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
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
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
d400c81cb2
rtio: remove debug print
2016-11-23 13:37:14 +08:00
4e931c7dd2
rtio: fix timestamp shift
2016-11-23 13:36:30 +08:00
5a2edef422
drtio: adapt example to new mu/second API
2016-11-23 12:43:17 +08:00
cd334c0ecf
Merge branch 'master' into drtio
2016-11-23 12:40:18 +08:00
e532261a9b
drtio: fix FullMemoryWE usage
2016-11-23 12:25:43 +08:00
0443f83d5e
runtime: support for targets without RTIO log channel
2016-11-23 10:50:55 +08:00
cd40d5b107
runtime: support for targets without I2C
2016-11-23 10:50:55 +08:00
0c49679984
runtime: support for targets without RTIO log channel
2016-11-23 10:48:26 +08:00
3c5a62243d
runtime: support for targets without I2C
2016-11-23 10:43:33 +08:00
ffefdb9269
rtio: fix counter readback
2016-11-23 00:54:47 +08:00
aa00627c0e
rtio: fix CRI CSRs
2016-11-22 22:57:04 +08:00
fbd83cf9ee
kc705: remove stale DDS definition
2016-11-22 22:48:22 +08:00
9acc7d135e
gateware: common RTIO interface
2016-11-22 22:46:50 +08:00
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
6799bb097a
sawg: adapt to int32/int64 change
2016-11-22 11:57:34 +01:00
7498c8bba0
Merge branch 'master' into drtio
2016-11-22 16:07:30 +08:00
3459793586
Merge branch 'master' into drtio
2016-11-22 15:15:22 +08:00
5e900cf42a
runtime.rs: wide rtio data
2016-11-21 23:12:16 +01:00
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
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
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
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
ad264ac070
phaser: 300 MHz sample rate clock/dac
2016-11-21 16:58:07 +01:00
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
b3e4a1df03
sawg: adapt basic example
2016-11-21 13:17:01 +01:00
c73b1af7ab
coredevice/sawg: missing comma
2016-11-21 13:16:44 +01:00
b226dbd257
sawg: unittest data format
2016-11-21 12:35:57 +01:00
2f838e3512
rtio: fix i_data/o_data csr endianess
2016-11-21 12:15:26 +01:00
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
9221a275cb
sawg: kernel support (wip)
2016-11-20 16:39:53 +01:00
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
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
12e39a64cf
sawg: reduce f0 oscillator width to 32
2016-11-19 17:07:07 +01:00
04813ea29b
sawg: wir up limiting, saturating addition
2016-11-19 16:12:27 +01:00
e53d0bcd5b
dsp: add limits support to SatAddMixin
2016-11-19 16:12:27 +01:00
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
b714137f76
phaser: 150 MHz rtio/jesd clock
2016-11-19 13:16:30 +01:00
02adae7397
drtio: fix link shutdown
2016-11-19 11:01:33 +08:00
abd1b2a94e
drtio: wait longer for remote (bruteforce clock aligner can be slow)
2016-11-19 11:01:09 +08:00
381e58434f
drtio: handle link restarts at transceiver level
2016-11-19 10:46:56 +08:00
0ee47e77ae
phaser: fix widths
2016-11-18 17:24:11 +01:00
bcde26f990
Revert "phaser: cap phy data width to 64 temporarily"
...
This reverts commit 342b9e977e
.
2016-11-18 17:08:44 +01:00
641f07119f
runtime: support rtio data wider than 64 bit
2016-11-18 17:08:33 +01:00
ba94ed8f4b
drtio: check for absence of disparity errors before claiming RX ready
2016-11-19 00:05:59 +08:00
342b9e977e
phaser: cap phy data width to 64 temporarily
2016-11-18 15:46:59 +01:00
14ddcd2e30
Revert "dsp/Delay: reset_less"
...
for now
This reverts commit 98193d6fa1
.
2016-11-18 15:25:42 +01:00
d678bb3fb6
phaser: update sawg tests
2016-11-18 15:23:56 +01:00
4d07974a34
drtio: reset link from CPU
2016-11-18 17:45:33 +08:00
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
bb047aabe9
drtio: simpler link layer
2016-11-17 22:32:39 +08:00
51f23feeac
dsp: implement sawg features
2016-11-17 03:20:37 +01:00
98193d6fa1
dsp/Delay: reset_less
2016-11-17 02:36:29 +01:00
424a1f8f4e
dsp: move test tools
2016-11-16 13:39:19 +01:00
09363e1da8
drtio: aux controller unittest
2016-11-16 19:45:28 +08:00
140bb0ecee
drtio: aux controller fixes
2016-11-16 19:44:03 +08:00
7fa9a4efc3
drtio: aux controller unittest WIP
2016-11-15 12:02:53 +08:00
6c9965b444
drtio: aux controller fixes
2016-11-15 12:02:41 +08:00
e1394db861
drtio: aux controller minor fixes
2016-11-14 17:26:30 +08:00
84bd962ed5
drtio: integrate aux controller
2016-11-14 17:20:47 +08:00
a4d92716da
drtio: fix aux receiver, add aux transmitter
2016-11-14 17:18:54 +08:00
b9ce2bb1f0
Merge branch 'phaser' into phaser2
...
* phaser: (127 commits)
phaser: use misoc cordic
phaser: fix DDS dummy cfg
runtime: disable the Nagle algorithm entirely.
runtime: buffer RPC send packets.
runtime: don't print debug messages to the UART.
runtime: print microsecond timestamps in debug messages.
artiq_devtool: abort if build failed.
conda: bump llvmlite-artiq dep.
conda: bump llvmlite-artiq dep.
llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
artiq_devtool: more robust port forwarding.
setup: remove paramiko dependency (optional and developer-only)
artiq_devtool: implement.
artiq_compile: actually disable attribute writeback.
conda: use pythonparser 1.0.
conda: tighten pythonparser dependency (fixes #600 ).
doc: clarify kernel_invariant doc (fixes #609 ).
compiler: Emit all-kernel_invariant objects as LLVM constants
conda: update for LLVM 3.9.
add has_dds, use config flags
...
2016-11-13 17:30:37 +01:00
70a70320bd
phaser: use misoc cordic
2016-11-13 17:29:38 +01:00
2e482505c6
phaser: fix DDS dummy cfg
2016-11-13 17:08:59 +01:00
f2f131e0fb
drtio: add aux receiver (untested)
2016-11-14 00:04:53 +08:00
aedb6747f2
Merge branch 'master' into phaser
...
* master: (47 commits)
runtime: disable the Nagle algorithm entirely.
runtime: buffer RPC send packets.
runtime: don't print debug messages to the UART.
runtime: print microsecond timestamps in debug messages.
artiq_devtool: abort if build failed.
conda: bump llvmlite-artiq dep.
conda: bump llvmlite-artiq dep.
llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
artiq_devtool: more robust port forwarding.
setup: remove paramiko dependency (optional and developer-only)
artiq_devtool: implement.
artiq_compile: actually disable attribute writeback.
conda: use pythonparser 1.0.
conda: tighten pythonparser dependency (fixes #600 ).
doc: clarify kernel_invariant doc (fixes #609 ).
compiler: Emit all-kernel_invariant objects as LLVM constants
conda: update for LLVM 3.9.
add has_dds, use config flags
Revert "Revert "Revert "Revert "Update for LLVM 3.9.""""
Revert "Revert "Revert "Update for LLVM 3.9."""
...
2016-11-13 16:54:28 +01:00
whitequark
18c394976e
runtime: disable the Nagle algorithm entirely.
...
See also commit feed91d; that commit fixed the test_rpc_timing test,
but caused frequent hangs elsewhere, which were also caused by buggy
Nagle implementation. Just disable this entirely, as with our
explicit buffering it provides no benefit anyway.
2016-11-13 00:33:24 +00:00
whitequark
feed91d8b2
runtime: buffer RPC send packets.
...
This brings mean RPC time from ~45ms to ~2ms.
The cause of the slowness without buffering is, primarily, that lwip
is severely pessimized by small writes, whether with Nagle on or off.
(In fact, disabling Nagle makes it function *better* on many small
writes, which begs the question of what's the point of having Nagle
there in the first place.) In practical terms, the slowness appears
only when writing a 4-byte buffer (the synchronization segment);
writing buffers of other sizes does not trigger the problem.
This all is extremely confusing and the fix is partly palliative,
but since it seems to work reliably and we're migrating off lwip
I think it is unwise to spend any more time debugging this.
2016-11-12 23:06:33 +00:00
whitequark
3ce1826891
runtime: don't print debug messages to the UART.
...
It takes ~4ms to print an empty log line because of how slow
the UART is. This makes the log timestamps useless for debugging
performance problems.
After this commit, it takes ~75us to print an empty log line instead,
which pessimizes test_rpc_timing by less than 2ms with tracing
enabled.
2016-11-12 20:26:32 +00:00
whitequark
acc5e53b32
runtime: print microsecond timestamps in debug messages.
2016-11-12 20:26:32 +00:00
whitequark
dca3fb5c96
artiq_devtool: abort if build failed.
2016-11-12 20:26:32 +00:00
whitequark
d3ee858d16
llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
...
This helps LICM, among other things.
2016-11-12 04:08:58 +00:00
whitequark
8b6418c604
artiq_devtool: more robust port forwarding.
2016-11-11 15:22:07 +00:00
whitequark
3b6cbb1f06
artiq_devtool: implement.
2016-11-10 20:25:15 +00:00
whitequark
0e76cbc414
artiq_compile: actually disable attribute writeback.
...
I wrote both halves of this condition but forgot to hook
them together.
Fixes #586 .
2016-11-10 01:04:36 +00:00
David Nadlinger
bfbdba9205
compiler: Emit all-kernel_invariant objects as LLVM constants
...
This enables constant propagation optimisations, as verified by
the included test case. This is only a first stop-gap measure, though;
we should support optimisation based on kernel invariants on a more
fine-grained level.
2016-11-09 14:50:48 +00:00
8a48d6d66e
drtio: fix typo
2016-11-09 22:15:42 +08:00
863934c4fa
drtio: more reliable link layer init
2016-11-09 22:03:47 +08:00
c92ccd3b5b
drtio: add pulse rate example
2016-11-09 15:29:15 +08:00
60e748eabe
drtio: better LED demo
2016-11-09 14:53:45 +08:00
d547c5d922
drtio: fix example ref_period
2016-11-09 14:44:01 +08:00
99ad9b5917
add has_dds, use config flags
2016-11-08 23:33:03 +08:00
whitequark
ec8fe6f8bd
Revert "Revert "Revert "Revert "Update for LLVM 3.9.""""
...
This reverts commit 7b81ed1d18
.
2016-11-08 14:22:47 +00:00
whitequark
7b81ed1d18
Revert "Revert "Revert "Update for LLVM 3.9."""
...
This reverts commit 0d7688017b
.
2016-11-08 12:58:20 +00:00
whitequark
a8fd697d41
runtime: unbreak 453e8b7
.
...
Running
rustc --cfg 'foo="1"'
does not result in a statement of the form
do_thing()
to be compilex in.
2016-11-08 12:57:06 +00:00
whitequark
e0297039c9
artiq_run: fix bitrot in .ll/.bc runners.
2016-11-08 12:08:20 +00:00
whitequark
0d7688017b
Revert "Revert "Update for LLVM 3.9.""
...
This reverts commit 5f5975844a
.
2016-11-08 11:59:16 +00:00
whitequark
798a5f70df
Revert "runtime: remove some redundant libm functions copied inline."
...
This reverts commit fee75bd50f
.
LLVM does not have lround as a libcall and this inhibits LICM.
2016-11-08 11:54:17 +00:00
95acc9b9d4
drtio: allow specifying 7series RXSynchronizer initial phase
2016-11-08 16:52:40 +08:00
bcb5053fb6
drtio: fix master TSC KCSR readout
2016-11-08 16:40:50 +08:00
651d538217
Merge branch 'master' into drtio
2016-11-08 16:11:18 +08:00
8c86920364
drtio: add examples
2016-11-08 16:11:10 +08:00
David Nadlinger
6e77f65d50
compiler: Clarify recv_rpc value names and documentation [nfc]
...
Previously, the phi emitted for the pointer parameter to recv_rpc was –
rather confusingly – called "size", and the pseudo-code in the comment
had bit-rotted.
Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-11-07 14:38:21 +00:00
78f18a12eb
runtime: basic DRTIO init code
2016-11-07 19:34:34 +08:00
453e8b7eb3
runtime: support configurations without moninj, log or dds
2016-11-06 23:53:10 +08:00
266ae292d9
runtime: support configurations without moninj, log or dds
2016-11-06 23:52:27 +08:00
c4cd269afc
Merge branch 'master' into drtio
2016-11-06 00:13:32 +08:00
d158c69be0
phaser: fix frequency comment
2016-11-05 16:54:23 +01:00
47b9868c68
kc705_drtio_master: pretend drtio is rtio
2016-11-05 23:48:29 +08:00
de065b7578
kc705_drtio_satellite: set output dir
2016-11-05 23:48:15 +08:00
David Nadlinger
7dcc987dd7
compiler: Fix break/continue targets in loop else blocks
...
Previously, they would still target the respective labels in the
just-exited loop.
Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-11-05 02:35:01 +00:00
de47123737
drtio: connect RST and LOCKED on 7series RXSynchronizer MMCM
2016-11-05 00:24:49 +08:00
5019b03f10
drtio: add echo and packet count test
2016-11-04 22:24:35 +08:00
df7294792c
drtio: break some RT features into manager, add echo request CSR
2016-11-04 19:38:24 +08:00
1145a193dd
drtio: fix ack of echo and set_time requests
2016-11-04 18:36:43 +08:00
3da1cce783
drtio: add packet counters
2016-11-04 17:53:42 +08:00
8ec73cb9ec
dashboard: pack moninj widgets ( #603 )
2016-11-04 16:20:46 +08:00
747da3da15
drtio: differentiate local and remote unknown packet type errors
2016-11-04 15:17:19 +08:00
f76aa249ce
drtio: squelch 7series RXSynchronizer outputs when MMCM is unlocked
2016-11-04 15:16:48 +08:00
6a75837261
drtio: fix link_layer remote RX ready detection
2016-11-03 20:15:04 +08:00
1d027ffa95
drtio: fix gtx_7series comma alignment
2016-11-03 20:14:11 +08:00
a4ba34bb2c
drtio: cleanup test_full_stack
2016-11-03 20:13:31 +08:00
ba58a8affd
drtio/gtx_7series: paranoid reset deglitching
2016-11-02 18:30:22 +08:00
whitequark
00100148f1
Si5324: actually write value of N32 into registers.
2016-11-02 07:09:04 +00:00
bee9774bd5
drtio: add link layer status CSR
2016-11-02 13:09:13 +08:00
1ed3278783
remove stale TODO
2016-11-02 10:53:54 +08:00
whitequark
a6ae254796
Si5324: update to free run from XA/XB, with CKIN1 having priority.
2016-11-01 16:01:24 +00:00
whitequark
b30734a105
runtime: fix a race condition with async RPCs.
...
session.rs has code like:
while !rpc_queue::empty() {
try!(process_kern_queued_rpc(stream, &mut session))
}
// A
if mailbox::receive() != 0 {
try!(process_kern_message(waiter, Some(stream), &mut session));
}
If both an async and a mailbox RPC (async or large sync) are posted
at point A then they will be processed out of order.
This commit fixes the issue by flushing the async RPC queue before
posting any RPC to the mailbox.
2016-11-01 13:22:22 +00:00
whitequark
6fcd57a41a
runtime: fix remaining async RPC bugs.
2016-11-01 10:33:57 +00:00
whitequark
2095d01b84
runtime: dirty hacks to remove allocations in ksupport.
2016-11-01 08:55:49 +00:00
whitequark
c1e6d4b67c
runtime: fix multiple async RPC bugs.
2016-11-01 06:51:44 +00:00
whitequark
636d4efe81
gateware: rewrite mailbox to use bits_for.
2016-11-01 06:28:43 +00:00
43cd970100
make set_dataset and mutate_dataset async RPCs
2016-11-01 11:11:41 +08:00
whitequark
18ae8d54a3
gateware: fix mailbox.
2016-11-01 02:33:00 +00:00
whitequark
898a716b91
runtime: work around mor1kx ignoring low bits of reset address.
...
Fixes #599 .
2016-10-31 18:13:15 +00:00
0c1a76d668
unify rtio/drtio kernel interface
2016-11-01 00:30:16 +08:00
whitequark
617e345d16
gateware: fix kernel CPU exec address.
2016-10-31 15:16:35 +00:00
07ad00c1ca
drtio: split kernel/system CSRs
2016-10-31 18:09:36 +08:00
9aa94e1a2d
adapt to migen/misoc changes
2016-10-31 00:53:01 +08:00
2392113bb6
kc705: use misoc clock for false path
2016-10-30 11:16:04 +08:00
whitequark
cd68577dbc
compiler: add support for async RPCs.
2016-10-30 00:57:31 +00:00
whitequark
2ac85cd40f
runtime: implement prototype background RPCs.
2016-10-29 21:34:25 +00:00
c656a53532
kc705: clean up clock constraints
2016-10-29 21:28:01 +08:00
ed4d57c638
use new Migen signal attribute API
2016-10-29 21:19:58 +08:00
da5208e160
drtio: add master gateware target
2016-10-29 17:31:15 +08:00
7c05dccf65
drtio: add support for 125MHz clock on GTX_1000BASE_BX10
2016-10-29 17:30:29 +08:00
95def81c03
drtio: squelch frame signals until link layer ready
2016-10-29 17:05:30 +08:00
4f6241283c
drtio: always use NoRetiming on MultiReg inputs
2016-10-29 16:37:53 +08:00
b14fcd41e4
ksupport: add ad9154*
2016-10-28 02:39:24 +02:00
2a1e529dcf
phaser: DDS config dummies
2016-10-28 01:58:08 +02:00
8eff8586bb
moninj.rs: force u32 dds_ftws
2016-10-28 01:57:55 +02:00
6d07a16c62
Merge branch 'master' into phaser
...
* master: (72 commits)
gateware: extend mailbox to 3 entries.
master/worker_db: set default value for archive
master: keep dataset manager consistent when set_dataset is called with contradictory attributes
master: archive input datasets. Closes #587
master: ensure same dataset is in broadcast and local when mutating
scheduler: default submission arguments, closes #577
pdq2: sync with pdq2
doc: clarify usage of pause/check_pause, closes #571
dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572
gateware/spi: fix import
runtime: fix use of $(realpath) in Makefile.
test: fix printf specifier.
llvm_ir_generator: make sure RPC allocations are not underaligned.
runtime: use i64 for watchdog timeout, not i32.
runtime: port ksupport to Rust.
runtime: remove some redundant libm functions copied inline.
language: Add "A" (ampere) as well-known unit for arguments
conda: misoc 0.4 (csr)
runtime: cap log level at debug.
runtime: discard unnecessary sections.
...
2016-10-28 01:40:11 +02:00
c428800caf
phaser: spi, sma_gpio: 2.5 V
2016-10-27 15:53:49 +02:00
65b2e4464c
phaser: sysref/sync diff term
2016-10-27 14:14:56 +02:00
ea0c304a0c
phaser2: wip
2016-10-27 01:00:42 +02:00
9bbc6eb0ef
drtio: more full stack testing
2016-10-26 22:04:32 +08:00
929a7650a8
drtio: fixes
2016-10-26 22:03:44 +08:00
45621934fd
drtio: forward errors to CSR
2016-10-26 22:03:05 +08:00
7f8e53aa5c
drtio: more fixes and tests
2016-10-26 11:48:47 +08:00
22173b8c70
drtio: full stack unittest
2016-10-26 00:35:22 +08:00
f763b519f4
drtio: fix channel selection
2016-10-26 00:33:21 +08:00
ad042de954
drtio: fixes, basic TTL working in simulation
2016-10-25 12:41:16 +08:00
e981b23548
phaser: use misoc cordic
2016-10-24 19:33:23 +02:00
d2f776b0d0
phaser: add more tools
2016-10-24 17:39:14 +02:00
94e68dbae4
drtio: test_full_stack (WIP)
2016-10-24 23:36:33 +08:00
a4e85081aa
drtio: more simple fixes
2016-10-24 23:32:49 +08:00
029e0d95b7
drtio: simple fixes
2016-10-24 23:10:15 +08:00
c39987b617
drtio: handle underflow/sequence error CSRs
2016-10-24 20:46:55 +08:00
7dd6eb2f5e
drtio: add RT write controller
2016-10-24 19:50:13 +08:00
83bec06226
drtio: fifo level -> fifo space
2016-10-24 15:59:12 +08:00
aa8e211735
drtio/rt_packets: fix
2016-10-22 13:03:35 +08:00
449d1c4dc6
rtio: export CDC modules
2016-10-22 13:03:10 +08:00
67c19ab178
drtio: RTPacketMaster RX, untested
2016-10-22 01:04:14 +08:00
3b4a40401a
drtio: RTPacketMaster TX (WIP)
2016-10-21 22:46:14 +08:00
1e313afe64
drtio: CrossDomainNotification
2016-10-21 22:45:45 +08:00
c71c4c89e0
drtio: change data direction in _CrossDomainRequest
2016-10-21 22:44:47 +08:00
whitequark
6872017449
gateware: extend mailbox to 3 entries.
2016-10-21 12:09:14 +00:00
6a88229e6a
drtio: CrossDomainRequest
2016-10-20 23:37:59 +08:00
6aa13fbf25
master/worker_db: set default value for archive
2016-10-19 20:12:16 +08:00
9790c5d9ed
drtio/iot: FIFO level
2016-10-19 18:04:03 +08:00
bf942fc228
ksupport: adapt to dyld_load()
2016-10-18 11:37:27 +02:00
71480c4d15
drtio: fix mmcm_mult
2016-10-18 17:28:03 +08:00
5d184f8061
master: keep dataset manager consistent when set_dataset is called with contradictory attributes
2016-10-18 17:11:07 +08:00
69d96b0158
master: archive input datasets. Closes #587
2016-10-18 17:11:07 +08:00
ed2624545f
master: ensure same dataset is in broadcast and local when mutating
2016-10-18 17:11:07 +08:00
1908339d4e
scheduler: default submission arguments, closes #577
2016-10-18 17:11:06 +08:00
54f05b6fc1
ksupport: kernel_run lookup with dyld ( closes #590 )
...
adapt to misoc change
2016-10-18 10:07:07 +02:00
78700a67bc
sawg: fast-math
2016-10-18 10:05:51 +02:00
b2327cf808
sawg: core is kernel_invariant
2016-10-18 10:05:51 +02:00
0e41725e2d
pdq2: sync with pdq2
2016-10-18 09:43:46 +02:00
69099691f7
doc: clarify usage of pause/check_pause, closes #571
2016-10-17 20:08:15 +08:00
02adccf4a2
dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572
2016-10-17 19:57:59 +08:00
e7dbed3b02
gateware: KC705 satellite target
2016-10-17 19:23:45 +08:00
9752ffe3d1
drtio: various fixes
2016-10-17 19:23:08 +08:00
cce29e8b83
gateware/spi: fix import
2016-10-17 14:47:19 +08:00
b6002529cf
gateware/spi: fix import
2016-10-17 14:07:11 +08:00
85834976d9
gateware/spi: fix import
2016-10-17 14:06:35 +08:00
whitequark
6da1f39670
runtime: fix use of $(realpath) in Makefile.
2016-10-17 00:11:02 +00:00
whitequark
f10a4498c7
test: fix printf specifier.
2016-10-16 23:54:29 +00:00
whitequark
2a9e370840
llvm_ir_generator: make sure RPC allocations are not underaligned.
2016-10-16 16:43:03 +00:00
whitequark
7618907cad
runtime: use i64 for watchdog timeout, not i32.
2016-10-16 16:32:43 +00:00
whitequark
a8c017bfcc
runtime: port ksupport to Rust.
2016-10-16 16:32:43 +00:00
whitequark
fee75bd50f
runtime: remove some redundant libm functions copied inline.
2016-10-16 16:25:29 +00:00
6a683c712b
phaser: work around for unreliable transciever init
2016-10-16 16:01:23 +02:00
d3b274fc4d
drtio: synchronizer MMCM
2016-10-16 17:40:58 +08:00
03d3a85e75
drtio: RX clock alignment and ready
2016-10-15 18:36:27 +08:00
Florent Kermarrec
0259c80015
phaser/kc705: remove transceiver initialization workaround
2016-10-14 19:06:43 +02:00
9ba6be8796
phaser: speed up ad9154_test_status
2016-10-14 13:23:14 +02:00
4b4fd32e3d
phaser: add another sawg demo
2016-10-14 13:21:42 +02:00
d16068dd9b
sawg: absolute phase updates
2016-10-14 12:42:08 +02:00
9b43f09c1d
phaser: cleanup prbs
2016-10-14 11:56:10 +02:00
b41b9de905
phaser: tag jesd as clock net
2016-10-14 10:46:33 +02:00
4ea3dea217
phaser: broad spectrum antibiotics with xilinx false paths
2016-10-14 10:22:03 +02:00
e400f8d672
phaser: add two more registers before jesd
2016-10-14 09:54:56 +02:00
3c9c42c779
phaser: drive rtio from jesd-bufg
2016-10-14 02:26:19 +02:00
b9de621557
phaser: fix comment
2016-10-14 02:18:58 +02:00
2b5a69a80c
phaser: rm idle_kernel
2016-10-14 02:18:15 +02:00
808874a523
phaser: drive cd_jesd with BUFG
2016-10-14 01:57:48 +02:00
342d6d756e
phaser: bypass gtx phalign
2016-10-14 00:59:53 +02:00
89150c9817
phaser: 10G line rate
2016-10-14 00:53:38 +02:00
08e4aa3e3f
drtio: GTX WIP
2016-10-14 00:36:13 +08:00
c548a65ec3
drtio: clock domains
2016-10-14 00:34:59 +08:00
42c6658ffe
phaser: add some more blinking leds
2016-10-13 15:21:27 +02:00
6a456bd7d4
phaser: feed correct sink (crucial)
2016-10-13 15:17:38 +02:00
b1137563b3
phaser: cleanup dac_setup
2016-10-13 15:02:42 +02:00
4c7c479c94
ad9154: add mirrored bits
2016-10-13 15:02:18 +02:00
c8e45ae3f6
phaser: cleanup jesd phy instantiation a bit
2016-10-13 14:43:24 +02:00
01bfe54dde
phaser: actually enable stpl
2016-10-13 14:09:29 +02:00
78a41eec8f
phaser: kc705: syntax
2016-10-13 12:38:32 +02:00
Florent Kermarrec
af0e8582a2
phaser: use new jesd clocking
2016-10-13 11:51:06 +02:00
David Nadlinger
e037d167f4
language: Add "A" (ampere) as well-known unit for arguments
...
Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-10-13 12:22:01 +08:00
9c8b21b3f4
phaser: let link settle a bit longer before starting
2016-10-12 16:13:34 +02:00
0d1ed247e2
phaser: tweak sawg example
2016-10-12 16:01:07 +02:00
2d14864c6d
Revert "phaser: 500 MHz dacclock"
...
This reverts commit 5f737bef76
.
2016-10-12 16:01:07 +02:00
Florent Kermarrec
12b8598b84
stpl: fix byte ordering
2016-10-12 15:59:27 +02:00
9644a3a362
ad9154: mix mode addr, digital gain must be on
2016-10-12 15:00:53 +02:00
4376ef5615
phaser: slow down spi a bit
2016-10-12 14:37:43 +02:00
3f1d96b68d
phaser: tweak dac_setup
2016-10-12 14:22:57 +02:00
466d1e8304
phaser: update stpl
2016-10-12 14:22:21 +02:00
5f737bef76
phaser: 500 MHz dacclock
2016-10-12 14:03:08 +02:00
3b1d5d7eb6
phaser: verify flags in dac_setup
2016-10-12 12:19:08 +02:00
1117fe191b
phaser: support core stpl
2016-10-12 12:03:29 +02:00
f515c11f26
phaser: fix refclk period spec
2016-10-11 20:13:34 +02:00
bae5b73155
phaser: comment out stpl test
2016-10-11 19:50:19 +02:00
2b1cca2e7e
phaser: stpl
2016-10-11 19:29:27 +02:00
018f6d1b52
drtio: implement basic IOT
2016-10-11 17:59:22 +08:00
18d18b6685
phaser: add sync ttl input for monitoring
2016-10-10 17:13:23 +02:00
f5f7acc1f8
ttl_simple: add pure Input
...
(no Tristate for internal signals)
2016-10-10 17:13:23 +02:00
e27228fdd5
ad9516: duty cycle correction
2016-10-10 17:13:23 +02:00
a40b39e9a2
drtio: structure
2016-10-10 23:12:12 +08:00
Florent Kermarrec
c08caae171
phaser: use qpll
2016-10-10 17:05:42 +02:00
5f7229ef92
ad9154: tweak jesd prbs test
2016-10-09 20:34:15 +02:00
87ec333f55
drtio: implement basic writes, errors, fifo levels on satellite
2016-10-10 00:13:41 +08:00
1f93658724
phaser/dac_setup: clear sticky bits, use syncmode=9
2016-10-07 18:54:21 +02:00
89a30b6f7c
phaser: error on startup kernel
2016-10-08 00:02:38 +08:00
4e60a6ac71
phaser: tweak sawg example
2016-10-08 00:02:24 +08:00
whitequark
9c3394794e
runtime: cap log level at debug.
2016-10-07 14:24:12 +00:00
1157a3a54b
ad9514_status: more info
2016-10-07 15:42:46 +02:00
72932fccec
phaser: fix sysref for 250 MHz sample rate
2016-10-07 15:40:00 +02:00
cfd2fe8627
phaser: fix fpga deviceclock divider
2016-10-07 13:40:45 +02:00
23b3302200
drtio: implement TSC load in satellite
2016-10-07 19:30:53 +08:00
9b860b26e8
phaser: fix rtio pll inputs
2016-10-07 13:00:42 +02:00
c846e758f1
phaser: fix startup_kernel/ceil
2016-10-07 12:57:38 +02:00
09434ec054
phaser: also adapt rtio_crg
2016-10-07 12:44:22 +02:00
43caffc168
drtio: self-checking echo test
2016-10-07 17:31:51 +08:00
whitequark
4d790b452c
runtime: discard unnecessary sections.
2016-10-07 08:30:14 +00:00
0574e882d2
drtio: basic RT packet echo test
2016-10-07 15:36:32 +08:00
cb0d1549c6
drtio: add rt_packets TX datapath, fixes
2016-10-07 15:35:29 +08:00
Florent Kermarrec
e998a980b3
phaser/startup: use get_configuration_checksum()
2016-10-07 09:00:01 +02:00
Florent Kermarrec
b02a7234f6
phaser: use 125MHz refclk for jesd
2016-10-07 08:59:34 +02:00
whitequark
ef10344b3e
runtime: rewrite isr() in Rust.
2016-10-07 06:27:10 +00:00
whitequark
8be60cc223
runtime: fix KERNELCPU_LAST_ADDRESS after layout change.
2016-10-07 05:53:55 +00:00
whitequark
4f11b071a5
runtime: remove useless handshaking in analyzer.
2016-10-07 05:53:16 +00:00
whitequark
b52ecda1d5
runtime: make memory map saner.
2016-10-06 18:05:38 +00:00
whitequark
b4bbf44a0a
runtime: buffer writes of RPC data.
...
This improves upload speed ~166×.
2016-10-06 17:32:26 +00:00
whitequark
557bc4bb56
runtime: remove unnecessary buffering.
2016-10-06 17:25:43 +00:00
whitequark
edafb08b43
test: fix d6193365
.
2016-10-06 16:27:12 +00:00
whitequark
d619336503
test: update libartiq_support for changed personality ABI.
2016-10-06 15:44:55 +00:00
whitequark
bcdbd00e7b
runtime: remove unnecessary null bytes from session protocol.
2016-10-06 15:39:00 +00:00
whitequark
5428a866b3
runtime: the Rust runtime is now just the runtime.
2016-10-06 15:38:45 +00:00
4390fea437
phaser status: add statusmode stuff for serdes pll
2016-10-06 17:36:54 +02:00
01bc7faacc
dac_setup: cleanup, add doc
2016-10-06 17:27:50 +02:00
fee7831573
phaser: split setup
2016-10-06 16:48:03 +02:00