Commit Graph

5230 Commits

Author SHA1 Message Date
whitequark
c33f74dabe firmware: derive Clone for Mutex. 2018-09-15 15:24:44 +00:00
c8cd830118 drtio: implement get_rtio_destination_status for kernels 2018-09-15 19:11:22 +08:00
f7ad7a99e3 firmware: set DEST_COUNT to 0 without routing 2018-09-15 19:10:52 +08:00
3cbdf2fbac kasli: cleanup drtio blink example 2018-09-15 18:43:27 +08:00
d38755feff drtio: implement destination state checks on operations 2018-09-15 15:55:45 +08:00
whitequark
1990ab35d3 firmware: implement mutexes. 2018-09-15 07:35:35 +00:00
cd61ee858c kasli: fix satellite TSC instantiation 2018-09-15 14:06:54 +08:00
7565d816e4 frontend: remove artiq_pcap. Closes #1152 2018-09-15 12:09:37 +08:00
eaeab0c9bd frontend: add artiq_rtiomon 2018-09-15 12:09:32 +08:00
c0c413196a frontend: remove artiq_pcap. Closes #1152 2018-09-15 12:08:06 +08:00
f097b4104c satman: not(has_drtio_routing) fixes 2018-09-15 12:06:47 +08:00
0017cb756e frontend: add artiq_rtiomon 2018-09-15 10:44:59 +08:00
2f010e0109 runtime: improve moninj aux error logging 2018-09-15 10:44:41 +08:00
20ed393c1e style 2018-09-15 10:43:50 +08:00
f8c6fa5ad6 typo 2018-09-15 10:43:36 +08:00
65da1fee4a firmware: fix build without DRTIO 2018-09-14 20:38:41 +08:00
d19550daf8 firmware: simplify drtioaux function names 2018-09-14 20:32:09 +08:00
ae72e3a51e firmware: add support for moninj and kern_hwreq over DRTIO switching 2018-09-14 20:26:39 +08:00
1ef39a98a7 drtio: implement per-destination buffer space 2018-09-13 16:16:32 +08:00
e95638e0a7 style 2018-09-13 15:54:28 +08:00
042b0065de runtime: print destination up message for local RTIO 2018-09-13 14:10:52 +08:00
fa872c3341 firmware: implement DRTIO destination survey 2018-09-13 12:00:29 +08:00
6cf3db3485 satman: forward RTIO resets 2018-09-12 23:02:54 +08:00
5a9cc004f2 drtio: receive and print unsolicited aux packets
Helps with debugging and prevents the aux channel from getting stuck after packets arrive after the timeout.
2018-09-12 22:57:21 +08:00
0befec7d26 drtio: improve repeater error reports 2018-09-12 20:54:01 +08:00
420e1cb1d0 cri: fix firmware routing table access 2018-09-12 18:08:16 +08:00
e36a8536d7 runtime: better handling of aux timeouts 2018-09-12 17:31:23 +08:00
5bcd40ff59 cri: fix routing table depth 2018-09-12 17:30:55 +08:00
edf403b837 drtio: improve error reporting 2018-09-12 15:44:34 +08:00
95432a4ac1 drtio: remove old debugging features 2018-09-12 13:01:27 +08:00
8227037a84 examples: add kasli_drtioswitching 2018-09-11 22:20:18 +08:00
41972d6773 drtio: rt_packet_satellite CRI fixes 2018-09-11 22:19:55 +08:00
051bafbfd9 drtio: ensure 2 cycles between frames on the link
This gives time for setting chan_sel before cmd on CRI.
2018-09-11 22:18:42 +08:00
251b9a2b0d drtio: do not lock up master when satellite repeatedly fails to answer buffer space reqs 2018-09-11 22:17:57 +08:00
5439abaa9d satman: fix error messages 2018-09-11 20:10:52 +08:00
36e3fedfc6 runtime: print routing table at boot 2018-09-11 20:10:33 +08:00
e6bd835b5d satman: fix rank setting 2018-09-11 20:04:51 +08:00
2679a35082 firwmare: propagate DRTIO routing table and rank all the way 2018-09-11 18:28:17 +08:00
c0c5867f9e satman: increase stack size
Prevents crashing when running the routing code.

Will have to be shrunk back on Sayma RTM.
2018-09-11 18:23:51 +08:00
a23af67f2b satman: print better debugging information on exception 2018-09-11 18:23:36 +08:00
f5b386c0d8 firmware: fix routing table formatting 2018-09-11 18:22:45 +08:00
b38c57d73b firmware: send DRTIO routing table to satellite 2018-09-11 14:12:41 +08:00
3d29a7ed14 firmware: add fmt::Display to RoutingTable 2018-09-11 11:27:56 +08:00
2fff96802b runtime: remove support for building without RTIO 2018-09-10 23:09:02 +08:00
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
312256a18d grabber: fix frame size off-by-1 2018-09-07 16:55:43 +02:00
ec62eb9373 drtio: minor cleanup 2018-09-07 17:51:38 +08:00
4d73fb5bc9 grabber: only advance when DVAL 2018-09-06 11:01:08 +02: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
bf36786d45 kasli_tester: clean up grabber test 2018-09-04 10:59:19 +00:00
47eb37e212 VLBAI{Master,Slave}: align rtio channels with PTB 2018-09-04 10:39:45 +00:00
778f1de121 drtio: add TSC sync and missed command detection to rt_packet_repeater 2018-09-03 18:26:13 +08:00
hartytp
c55460f59f suservo: fix doc typo 2018-09-03 11:48:40 +02: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
e7dba34475 kasli/tester: fill all 12 EEM 2018-08-29 18:09:09 +00:00
b58ec2d78e artiq_flash: treat all variants ending in satellite as such 2018-08-29 17:53:48 +00:00
fbf05db5ab kasli: add VLBAI Master and Satellite 2018-08-29 17:53:48 +00:00
9584c30a1f kasli: DRTIO Base: flexible rtio_clk_freq 2018-08-29 17:53:48 +00:00
eb9e9634df siphaser: support 125 MHz rtio clk
keep the phase shift increment/decrement at 1/(56*8) rtio_clk
cycles
2018-08-29 17:53:48 +00:00
ccc58a0f84 satman: add 125 MHz Si5324 settings
from cjbe
2018-08-29 17:53:48 +00: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
dbcf2fe9b4 firmware: remove 'chip found' messages on Sayma 2018-07-26 16:07:37 +08:00
d523d03f71 sayma: automated FPGA SYSREF phase offset calibration 2018-07-26 14:53:28 +08:00
0a9d3638ee config: add write_int 2018-07-26 14:49:32 +08:00
19c51c644e grabber: cleanup GRABBER_STATE 2018-07-24 19:08:51 +08:00
fb96c1140e grabber: add coredevice driver 2018-07-24 18:06:44 +08:00
b38c685857 grabber: fix pix.stb 2018-07-24 11:32:32 +08:00
60a7e0e40d grabber: use usual order of ROI coordinates in cfg addresses 2018-07-24 10:55:13 +08:00
7b75026391 grabber: add MultiReg to transfer ROI boundaries 2018-07-21 13:40:12 +08:00
4a4d0f8e51 grabber: fix missing variable rename 2018-07-21 13:39:46 +08:00
3638a966e1 kasli: add false path between RTIO and CL clocks 2018-07-21 13:26:13 +08:00
031de58d21 grabber: complete RTIO PHY, untested 2018-07-21 13:25:47 +08:00
e3ba4b9516 grabber: minor ROI engine cleanup, export count_len, cap count width to 31 2018-07-21 13:25:13 +08:00
cab0ba408d fmcdio_vhdci_eem: cleanup and document 2018-07-20 09:57:03 +08:00
d152506ecb sayma: update fmcdio_vhdci_eem demo 2018-07-19 15:47:20 +08:00
8dfcd463aa fmcdio_vhdci_eem: naming consistency 2018-07-19 15:46:04 +08:00
fe93a454d6 fmcdio_vhdci_eem: fix direction shift register permutation and polarity 2018-07-19 15:16:21 +08:00
e71cbe53a6 firmware: cleanup Cargo.lock 2018-07-18 10:37:43 +08:00
31f4f8792a sayma: add Urukul and Zotino to example device_db 2018-07-18 10:31:55 +08:00
25170a53e5 sayma: add back Urukul and Zotino 2018-07-18 10:27:54 +08:00
5e62910a8d examples: add Sayma VHDCI DIO 2018-07-17 23:28:05 +08:00
8b9a8be12a fmcdio_vhdci_eem: add dirctl word computation functions 2018-07-17 23:27:29 +08:00
82145b1263 examples: sayma_drtio → sayma_masterdac 2018-07-17 20:32:30 +08:00
7fe76426fe fmcdio_vhdci_eem: commit missing part of previous commit 2018-07-17 20:30:13 +08:00
d4d12e264d fmcdio_vhdci_eem: refactor
This allows access to the pin allocation from kernels, which becomes useful
to configure the direction shift register.
2018-07-17 20:13:59 +08:00
4fdc20bb11 sayma: disable Urukul and Zotino for now
Ultrascale I/Os are being a pain as usual and the SPI core won't compile.
2018-07-17 20:08:21 +08:00
8335085fd6 fmcdio_vhdci_eem: fix cc pins 2018-07-17 19:50:34 +08:00
8f7c0c1646 fmcdio_vhdci_eem: fix iostandard 2018-07-17 19:40:34 +08:00
d724bd980c sayma: add EEMs to Master 2018-07-17 18:58:23 +08:00
a0f2d8c2ea gateware: add FMCDIO/EEM adapter definitions 2018-07-17 18:58:16 +08:00
3645a6424e sayma: fix Master build 2018-07-17 18:56:33 +08:00
9b016dcd6d eem: support specifying I/O standard
Xilinx FPGAs require different LVDS I/O standard names depending on I/O bank voltage.
2018-07-17 18:55:17 +08:00
3168b193e6 kc705: remove Zotino and Urukul
* use Kasli instead for using EEMs
* code required outdated VHDCI adapter 1.0
2018-07-17 17:48:57 +08:00
13984385a8 firmware: version → ident 2018-07-15 17:40:17 +08:00
b2695d03ed sayma: remove with_sawg from Master variant 2018-07-15 17:38:29 +08:00
123e7bc054 pyon: sort string dicts by key when pretty-printing. Closes #1010 2018-07-15 17:38:09 +08:00
b27fa8964b add variant in identifier string
Also add without-sawg suffixes on Sayma.

Closes #1060
Closes #1059
2018-07-15 17:21:17 +08:00
b6c70b3cb0 eem: add Zotino monitoring. Closes #1095 2018-07-15 15:35:04 +08:00
8bcba82b65 grabber: reset *_good signals on end of frame
This reduces the amount of time the ROI engine produces invalid output after
being reconfigured.
2018-07-15 15:34:00 +08:00
ea7f925852 Revert "worker_db: Only warn on repeated archive read if dataset changed"
Breaks numpy arrays.

This reverts commit 141fcaaa8a.
2018-07-13 10:41:06 +08:00
46fb5adac3 grabber: fix frequency counter formula 2018-07-12 20:14:38 +08:00
82def6b535 grabber: add frequency counter
Cameras are a bit obscure about what they output, this can help with troubleshooting.
2018-07-12 17:05:18 +08:00
29c35ee553 hmc7043: fix dumb mistake in previous commit 2018-07-12 13:01:41 +08:00
8802b930de hmc7043: add delay after init
Delay required at step 9 of the "Typical Programming Sequence" (page 24 of the datasheet)
2018-07-12 12:37:12 +08:00
c66f9483f8 hmc7043: wait after changing delays
Allows for the SPI transaction to finish, and for the delay to stabilize.
2018-07-12 12:33:53 +08:00
1c191a62bf sayma: tune SYSREF phases 2018-07-12 12:33:35 +08:00
773240bef4 hmc7043: test GPO before using
Based on code by David.
2018-07-12 11:30:24 +08:00
David Nadligner
141fcaaa8a worker_db: Only warn on repeated archive read if dataset changed
In larger experiments, it is quite natural for the same dataset
to be read from multiple unrelated components. The only situation
where multiple reads from an archived dataset are problematic is
when the valeu actually changes between reads. Hence, this commit
restricts the warning to the latter situation.
2018-07-12 10:15:42 +08:00
4843832329 hmc7043: check phase status on init. Closes #1055
Troubleshooting by David.
2018-07-11 19:45:24 +08:00
9397fa7f5a hmc7043: unstick SYSREF FSM (#1055)
Troubleshooting by David.

Additionally, register 7D is broken.
Checking phase init state has to be done through another means.
2018-07-11 19:11:01 +08:00
88fb9ce4d6 sayma_rtm: add hmc7043_gpo monitoring 2018-07-11 19:04:29 +08:00
29e5c95afa sayma_rtm: minor cleanup 2018-07-11 19:02:59 +08:00
7f05e0c121 sayma_rtm: remove UART loopback
RTM power supply issues are fixed now, plus this will get in the way of satman support.
2018-07-11 19:00:18 +08:00
f8ceea20d0 grabber: add new ROI engine (untested) 2018-07-10 17:06:17 +08:00
d82beee540 grabber: make parser EOP a pulse 2018-07-10 17:04:07 +08:00
701c93d46c grabber: add false path constraints 2018-07-10 14:28:23 +08:00
6a77032fa5 grabber: use BUFR/BUFIO
Less jitter and frees up BUFGs.
2018-07-10 13:30:38 +08:00
208dc7c218 grabber: prevent glitches in last_x/last_y cdc 2018-07-10 12:56:37 +08:00
c4e3c66265 grabber: add clock constraint 2018-07-10 12:37:32 +08:00
David Nadlinger
768b970deb Fixup 4359a437 (tuples of lists), add regression tests 2018-07-10 01:18:51 +01:00
David Nadlinger
edc314524c test_embedding: Remove unused reference to led device 2018-07-10 01:11:47 +01:00
4f56710e4b grabber: add parser, report detected frame size in core device log 2018-07-10 02:06:37 +08:00
David Nadlinger
4359a43732 compiler: Indirection status of TTuple depends on elements
For instance, TTuple(TList(TInt32())) has indirections, while
TTuple(TInt32()) does not.

This fixes memory corruption with RPCs that return tuples of lists.

Signed-off-by: David Nadlinger <code@klickverbot.at>
2018-07-09 18:49:50 +08:00
d2c8e62cb7 test_rtio: relax ClockGeneratorLoopback performance requirements 2018-07-09 18:07:25 +08:00
423929a125 test: relax min transfer rates from 2MB/s to 1.9MB/s 2018-07-09 18:00:24 +08:00
9153c4d8a3 use tokenize.open() to open Python source files
Fixes encoding issues especially with device databases modified in obscure editors.
2018-07-07 17:04:56 +08:00
4420046502 kasli_tester: support mixed AD9910/AD9912 systems 2018-07-06 15:43:38 +08:00
ac3f360c26 kasli_tester: fix AD9912 support 2018-07-06 15:43:25 +08:00
509562ddbf kasli: add WIPM target 2018-07-06 15:41:28 +08:00
4eb26c0050 hmc7043: enable group 5 2018-07-03 14:16:31 +02:00
540bdae99c grabber: enable DIFF_TERM on inputs 2018-07-01 09:28:51 +08:00
0483b8d14c sayma_drtio: ditto 2018-06-28 17:03:32 +08:00
04d6ff45c8 kasli_sawgmaster: reset SAWGs
Most importantly this resets the phase accumulators.
2018-06-28 17:01:48 +08:00
729ce58f98 sayma: use GTP_CLK1 to clock DRTIO satellite transceiver
This is required to get constant skew between the DRTIO transceiver clock
(which then generates the RTIO clock) and the siphaser reference clock.

Both the Si5324 and the RTM clock tree have non-deterministic in-to-out skew
at 150MHz due to dividers.
2018-06-28 11:23:40 +08:00
a65721d649 sayma: put RTM clock tree into the siphaser loop
* Fixes one bug where siphaser was one Si5324 output and the rest of the
system was clocked by the other. With the Si5324 settings we have, skew
between the outputs is not controlled.
* Puts the coaxial cable between AMC and RTM into the siphaser loop.
2018-06-27 21:46:55 +08:00
d49716dfac satman: tune Sayma SYSREF phases 2018-06-27 18:09:35 +08:00
46c044099c hmc7043,satman: verify alignment of SYSREF slips 2018-06-27 17:36:13 +08:00
7dfd70c502 hmc7043: make margin_{minus,plus} consistent with ad9154 2018-06-27 17:35:26 +08:00
4bbdd43bdf hmc7043: do not freeze if SYSREF slip fails 2018-06-27 17:32:56 +08:00
a8a2ad68d3 runtime: tune Sayma SYSREF phases 2018-06-27 17:31:29 +08:00
811882943b artiq_flash: RTM gateware is not required for master variant 2018-06-25 18:28:55 +08:00
c750de2955 sayma: add many-port pure DRTIO master 2018-06-25 18:21:22 +08:00
84b3d9ecc6 bootloader: also check firmware CRC in SDRAM (#1065) 2018-06-23 11:28:12 +08:00
68530fde07 sayma: generate 100MHz from Si5324 on standalone and master targets
* Allow switching between DRTIO satellite and standalone without
  touching the hardware.
* Allow operating standalone and master without an additional RF
  signal generator.
2018-06-23 10:44:38 +08:00
whitequark
b6dd9c8bb0 runtime: support builds without RTIO DMA.
Fixes #1079.
2018-06-23 00:56:21 +00:00
whitequark
12fde6d34b artiq_coremgmt: fix typo.
Fixes #1056.
2018-06-23 00:36:59 +00:00
51a5d8dff9 examples: add Kasli SAWG master 2018-06-22 18:57:49 +08:00
f87da95e57 jesd204: use jesd clock domain for sysref sampler
RTIO domain is still in reset during calibration.
2018-06-22 17:13:01 +08:00
76fc63bbf7 jesd204: use separate controls for reset and input buffer disable 2018-06-22 11:38:18 +08:00
d9955fee76 jesd204: make sure IOB FF is used to sample SYSREF at FPGA 2018-06-22 11:00:56 +08:00
60b22217ce sayma: set DRTIO master HMC830_REF to 100MHz 2018-06-22 10:10:09 +08:00
e6d1726754 sayma: add RTIO log to DRTIO master 2018-06-22 00:05:22 +08:00
83428961ad sayma: add SAWG and JESD to DRTIO master 2018-06-22 00:04:22 +08:00
c1db02a351 drtio/gth_ultrascale: disable IBUFDS_GTE3 until stable_clkin
Precaution against HMC7043 noise issues.
2018-06-21 22:56:07 +08:00
8b3c12e6eb sayma: clock DRTIO master transceiver from HMC7043 2018-06-21 22:34:44 +08:00