19a14b68b1
runtime: program DRTIO routing table into gateware
2018-09-10 22:48:56 +08:00
264078baba
style
2018-09-10 22:29:35 +08:00
e01efbcb8a
runtime: merge sync_tsc and wait_tsc_ack
2018-09-10 22:17:00 +08:00
4d889c0c4e
firmware: improve DRTIO log messages
2018-09-10 21:40:02 +08:00
663432adbd
satman: load TSCs of downstream devices
2018-09-10 20:34:33 +08:00
bc1d3fda6a
satman: ping repeater links
...
Tested OK on hardware.
2018-09-10 20:17:13 +08:00
31bef9918e
firmware: fix drtio_routing compatibility with master and satellite
2018-09-10 20:16:42 +08:00
7ec45efdcf
kasli: add missing cri_con to Satellite
2018-09-10 20:16:09 +08:00
014cfd8dbd
firmware: add drtioaux routing packets
2018-09-09 22:44:25 +08:00
7ae44f3417
firmware: add routing table (WIP)
2018-09-09 21:49:28 +08:00
496d1b08fd
kasli: enable routing in Master
2018-09-09 21:48:12 +08:00
ec302747e0
kasli: add DRTIO repeaters
2018-09-09 16:27:39 +08:00
d5577ec0d0
cri: add routing table support
2018-09-09 16:26:48 +08:00
df61b85988
drtio: fix imports
2018-09-09 14:11:32 +08:00
87e0384e97
drtio: separate aux controller
...
This helps with managing CSR groups and heterogeneous (satellite/repeaters) DRTIO cores.
2018-09-05 17:56:58 +08:00
92be9324df
add missing files
2018-09-05 16:09:02 +08:00
2884d595b3
drtio: add rt_controller_repeater
2018-09-05 16:08:40 +08:00
839f748a1d
drtio: add external TSC to repeater
2018-09-05 15:55:20 +08:00
5f20d79408
drtio: add timeout on satellite internal CRI buffer space request
2018-09-05 14:12:11 +08:00
1450e17a73
sayma: adapt to TSC and DRTIOSatellite changes
2018-09-05 12:10:41 +08:00
19ae9ac1b1
kc705: adapt to TSC changes
2018-09-05 12:07:28 +08:00
3d531cc923
kasli: adapt to TSC and DRTIOSatellite changes
2018-09-05 12:06:47 +08:00
4e4398afa6
analyzer: adapt to TSC changes
2018-09-05 12:06:20 +08:00
15b16695c6
frontend: add artiq_route
2018-09-04 19:04:27 +08:00
778f1de121
drtio: add TSC sync and missed command detection to rt_packet_repeater
2018-09-03 18:26:13 +08:00
00fabee1ca
drtio: fix rt_packet_repeater timeout
2018-09-03 09:57:15 +08:00
f3fe818049
rtio: refactor TSC to allow sharing between cores
2018-09-03 09:48:12 +08:00
0fe2a6801e
drtio: forward destination with channel
2018-09-02 15:50:23 +08:00
6768dbab6c
drtio: add buffer space support to rt_packet_repeater
2018-09-02 14:38:37 +08:00
88b7529d09
drtio: share CDC
2018-09-02 14:37:29 +08:00
078c862618
drtio: add repeater (WIP, write only)
2018-09-01 21:07:55 +08:00
6057cb797c
drtio: reorganize tests
2018-08-31 16:28:33 +08:00
4f963e1e11
drtio: minor cleanup
2018-08-30 15:15:32 +08:00
ce6e390d5f
drtio: expose internal satellite CRI
2018-08-30 12:41:09 +08:00
aa64e6c1c6
cri: add buffer space request protocol
2018-08-29 15:16:43 +08:00
ba6094c3e5
test: relax network transfer rates
...
Due to lower Kasli system clock frequency.
2018-08-27 16:47:48 +08:00
whitequark
0e7419450e
firmware: update smoltcp.
...
This adds TCP window scaling support.
2018-08-20 00:26:40 +00:00
9b6ea47b7a
kasli: use SFP LEDs to show DRTIO link status. Closes #1073
2018-08-19 13:04:41 +08:00
d1d26e2aa3
hmc7043: add explanation about HMC_SYSREF_DIV
2018-08-18 11:43:40 +08:00
f75a317446
hmc7043: automatically determine output groups
2018-08-18 11:43:23 +08:00
c498b28f88
hmc7043: disable FPGA_ADC_SYSREF
2018-08-18 11:42:57 +08:00
a7810502f6
artiq_coremgmt: add option to specify core device address directly
2018-08-18 10:58:40 +08:00
fc09144baa
artiq_coremgmt: remove unnecessary DeviceManager
2018-08-18 10:46:08 +08:00
167e97efd2
sayma: support external RTM clocking
2018-08-17 22:57:54 +08:00
041dc0f64a
jesd204: update core to v0.10
...
Closes #727
Closes #1127
2018-08-17 22:50:07 +08:00
5c3e834c4d
ad9154: retry DAC initialization on STPL or PRBS failure
...
Works around #1127
2018-08-17 20:52:55 +08:00
66e33a66d6
test: enable TTL loopback tests on Kasli
2018-08-17 13:35:55 +08:00
d707d2f4fe
test: relax TTL timing requirements to support DIO EEM
2018-08-17 13:35:16 +08:00
1ba12e1cdb
gui/log: print messages in tooltips
...
This helps reading long messages in small log windows.
2018-08-17 13:21:38 +08:00
David Nadlinger
2463e5667d
compiler: Fix attribute writeback with skipped fields
...
offset wasn't advanced for skipped fields previously,
leading to memory corruption/unaligned accesses at runtime.
2018-08-14 13:34:32 +01:00
c172ec6de9
artiq_flash: target Kasli by default
2018-08-13 12:13:21 +08:00
David Nadlinger
0e32a165c2
satman: Fix build with Rust 1.28
...
The build was broken in 2648b1b7a1
.
2018-08-13 00:12:27 +01:00
whitequark
e285fe0d56
test: tighten required TransferTest timings.
...
smoltcp performs significantly better with LTO.
2018-08-12 20:17:37 +00:00
whitequark
46bd96abd1
artiq_devtool: make kasli-tester the default configuration.
2018-08-12 19:17:45 +00:00
whitequark
38d60100ff
firmware: optimize dma_record_output.
...
This removes a number of bounds checks and adds a fast path for
outputting exactly one word to DMA, which is the most common
operation.
2018-08-12 19:17:45 +00:00
whitequark
bdd18de2c1
firmware: globally enable LTO.
...
This used to crash with earlier rustc versions, but doesn't anymore,
and gives significant speedup (e.g. 2x on test_dma_record_time).
2018-08-12 19:17:45 +00:00
whitequark
2648b1b7a1
firmware: migrate to Rust 1.28.0.
...
This also updates / is a prerequisite for updating smoltcp.
Rationale for changes made:
* compiler_builtins is now shipped in the rust prefix.
* rustc's libpanic_unwind no longer works for us because it
has a hard dependency on Box (and it's a horrible hack);
fortunately, we only ever needed a personality function
from it.
* panic and oom handlers are now set in a completely different
way.
* allocators are quite different (and finally stable).
* NLL caused internal compiler errors in runtime, so code using
NLL was rewritten to not rely on it and it was turned off.
2018-08-12 19:17:45 +00:00
738d2c6bcb
hmc7043: REFSYNCIN → RFSYNCIN
2018-08-11 12:07:17 +08:00
bc3e715a8f
examples: fix kasli_tester
2018-08-11 10:51:42 +08:00
whitequark
fab6e5cdff
compiler: skip functional values in attribute writeback.
...
Fixes #1088 .
2018-08-10 12:02:49 +00:00
052e400f12
test: skip test_dma_playback_time on Kasli ( #946 )
2018-08-09 18:08:21 +08:00
957645a7e7
examples: move kasli tester out of kasli_basic
2018-08-09 18:07:44 +08:00
bbc98410e4
test: dds → ad9914dds
...
Prevent confusion with Urukul.
2018-08-09 16:55:09 +08:00
bf78e0c7d2
test: fix handling of missing devices
2018-08-09 16:51:12 +08:00
a061ba2505
grabber/kasli_basic: add grabber test
...
close #1121
2018-08-08 12:43:44 +02:00
f7678cc24a
grabber: refactor state machine
2018-08-07 18:07:46 +02:00
6cd2432e30
grabber: log all resolution changes
...
close #1120
2018-08-07 16:21:21 +02:00
99a15ca0c6
grabber: rationalize derived traits
2018-08-07 16:21:21 +02:00
49f7a1610f
sayma: use GTP_CLK1 only for all variants ( #1080 )
2018-08-07 20:53:14 +08:00
e2a49ce368
drtio: support external IBUFDS_GTE3
2018-08-07 20:52:45 +08:00
8b8e1844f0
kasli_sawgmaster: roughly match Urukul and Sayma amplitudes
2018-08-07 20:07:21 +08:00
9ce6233926
kasli: fix SYSU TTL directions
2018-08-07 19:29:28 +08:00
8aa88cfe70
kasli_sawgmaster: add Urukul-Sayma example
2018-08-07 19:29:28 +08:00
474bc7b65b
browser: handle windows file urls for feeding h5py
...
close #1014
2018-08-07 12:57:01 +02:00
whitequark
93af5d2a03
compiler: handle async RPC as last statement in try block.
...
Fixes #1107 .
2018-08-07 07:06:53 +00:00
whitequark
7bd7b6592a
rpc_proto: serialize keywords correctly.
...
Fixes #1109 .
2018-08-07 06:47:09 +00:00
whitequark
259f1576c3
Fix tests after a74958f0
.
2018-08-07 06:06:49 +00:00
whitequark
a74958f01f
ksupport: raise RuntimeError on reraise with no inflight exception.
...
Fixes #1123 .
2018-08-07 05:53:13 +00:00
2008d02f4d
runtime: use different default IP and MAC for different kinds of boards
...
This helps reduce conflicts when having many boards on a development network.
2018-08-07 10:30:50 +08:00
bbe36b94f7
ad9154: enable sync in init
2018-08-06 19:02:27 +08:00
7f0b2ff594
jesd204sync: work around HMC7043 poor behavior with combined delays
...
The HMC7043 outputs poorly controlled signals when adjusting
two delays at once. This commit puts the DAC in one-shot SYSREF mode,
and only triggers synchronizations when SYSREF is stable.
2018-08-06 17:43:17 +08:00
f32f0126e2
Revert "ad9154: use continuous sync mode"
...
The HMC7043 is not really glitchless.
This reverts commit bd968211de
.
2018-08-06 16:59:53 +08:00
65f198bdee
kasli: use tester EEMs for DRTIO, add Urukul-Sayma sync example
2018-08-06 16:53:13 +08:00
bd968211de
ad9154: use continuous sync mode
2018-08-06 00:27:10 +08:00
b023865b42
sayma: instantiate dummy IBUFDS_GTE3 on unused but driven Si5324 clock pins
...
Solve same problem as e83ee3a0
but channels cannot be independently disabled.
2018-08-05 23:02:41 +08:00
e83ee3a07a
hmc7043: disable GTP_CLK1 when not in use
...
Termination and biasing are not active at the FPGA when IBUFDS_GTE3 is
not instantiated, and driving a clock then leads to overvoltage.
2018-08-03 10:03:52 +08:00
6fc8439399
tweak moninj to allow old dashboard with new firmware
2018-08-02 19:34:14 +08:00
04cbc3237b
test_moninj: test injection monitoring
2018-08-02 19:34:14 +08:00
47740c8930
share moninj injection state between dashboards
...
Previously if one dashboard overrode a channel this was not visible on
any other dashboard - the channel appeared to operate normally.
2018-08-02 19:34:14 +08:00
7d6a1b528d
ad9912: add ftw_to_frequency
2018-08-02 11:19:12 +00:00
e518a1f1d0
ad53xx: also increase slack after control readback
2018-08-02 11:19:12 +00:00
whitequark
5871d13da8
firmware: actually compact in config::compact().
...
Fixes #1116 .
2018-08-01 16:27:48 +00:00
David Nadlinger
829fca6112
pyon: Correctly deserialize bare NaNs
...
This also fixes (non-numpy) lists containing NaNs.
Previously, accidentally storing a NaN in a dataset would
bring down large parts of the system.
2018-07-30 11:08:56 +01:00
David Nadlinger
08ee91beb2
ad9910: Clarify chip_select range [nfc]
...
`assert 3 <= chip_select <= 7` is rather opaque without looking
at the CPLD source code otherwise.
2018-07-30 11:08:17 +01:00
David Nadlinger
6b89106578
ad53xx: Avoid sporadic RTIOUnderflow in init()
...
I observed sporadic RTIO underflows on Kasli before, by ~2.5 µs,
so 5 µs extra slack should be plenty. No underflows since.
2018-07-28 23:45:48 +01:00
e4d48a78eb
drtio: wait for remote to ack TSC synchronization
...
Sayma takes a long time after TSC sync to align SYSREF, and this caused two issues:
1. Aux packets getting lost and causing error reports
2. DRTIO links reported up and kernels proceeding despite the DACs not being properly synced.
2018-07-26 20:28:17 +08:00
83de8b2ba2
drtio: add ping timeout during link init
2018-07-26 20:27:53 +08:00
446f791180
firmware: simplify SYSREF DRTIO alignment
2018-07-26 19:37:59 +08:00
f8c17528e7
satman: use new SYSREF code
2018-07-26 16:26:57 +08:00
32c95ac034
sayma: automated DAC SYSREF phase calibration
2018-07-26 16:23:55 +08:00