forked from M-Labs/artiq
1
0
Fork 0
Commit Graph

4411 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 6aaa8bf9d9 drtio: fix link error generation 2018-03-04 23:20:13 +08:00
Sebastien Bourdeauducq d747d74cb3 test: fix test_dma 2018-03-04 23:19:06 +08:00
Sebastien Bourdeauducq 928d5dc9b3 drtio: raise RTIOLinkError if operation fails due to link lost (#942) 2018-03-04 01:02:53 +08:00
Sebastien Bourdeauducq ba74013e3e runtime: add a missing overflow flag reset 2018-03-03 13:16:21 +08:00
Sebastien Bourdeauducq abfbadebb5 doc: DMA can also raise RTIOUnderflow 2018-03-03 13:14:34 +08:00
Robert Jördens ddcc68cff9 sayma_amc: move bitstream options to migen
close #930
2018-03-02 18:13:03 +08:00
Sebastien Bourdeauducq 5e074f83ac examples: update kasli sysu 2018-03-02 16:05:12 +08:00
Sebastien Bourdeauducq 29d42f4648 artiq_flash: add kasli sysu 2018-03-02 15:49:41 +08:00
Sebastien Bourdeauducq a9daaad77b kasli: add SYSU variant and device_db 2018-03-02 14:44:31 +08:00
Robert Jördens 1c57d27ae2 slave_fpga: use sayma_rtm magic 2018-03-01 18:32:19 +01:00
Robert Jördens de63e657b8 kasli/si5324: lock to 100 MHz with highest available bandwidth 2018-03-01 14:49:53 +01:00
Robert Jördens abd160d143 slave_fpga: check DONE before loading 2018-03-01 19:53:34 +08:00
Robert Jördens a04a36ee36 firmware: move wait for write completion to read() 2018-03-01 11:37:33 +01:00
Robert Jördens a6ae08d8b8 firmware/spi: work around cs_polarity semantics
The semantics differ between the RTIO and CSR interface.
2018-03-01 11:19:18 +01:00
Robert Jördens cc70578f1f remove old spi RTIO Phy 2018-03-01 11:19:18 +01:00
Robert Jördens ec5b81da55 kc705: switch backplane spi to spi2 2018-03-01 11:19:18 +01:00
Robert Jördens 6fbe0d8ed8 hmc830: be explicit about SPI mode selection 2018-03-01 11:19:18 +01:00
Robert Jördens a7720d05cd firmware, sayma: port converter_spi to spi2
* ksupport/nrt_bus
* port ad9154, hmc830, hmc7043
* port local_spi and drtio_spi
* port kernel_proto libdrtioaux, satman
* change sayma_rtm gateware over
* add spi2 NRTSPIMaster
* remove spi NRTSPIMaster
* change sayma device_db
* change HMC830 to open mode and explicitly sequence open mode
2018-03-01 11:19:18 +01:00
Robert Jördens 68278e225d slave_fpga: check for INIT low 2018-03-01 17:28:01 +08:00
whitequark 14f6fa6699 firmware: fix a warning. 2018-03-01 01:25:55 +00:00
whitequark d051cec0dd firmware: remove useless module. 2018-03-01 01:22:52 +00:00
Robert Jördens 54984f080b artiq_flash: flash RTM firmware
based on whitequark's work in f95fb27

m-labs/artiq#813
2018-02-28 19:29:01 +01:00
Robert Jördens 0c49201be7 firmware: add slave fpga serial load support
based on whitequark's work in f95fb27

m-labs/artiq#813
2018-02-28 19:27:52 +01:00
Robert Jördens 1f999c7f5f sayma_amc: expose RTM fpga load pins as GPIOs 2018-02-28 18:44:36 +01:00
Robert Jördens cedecc3030 Revert "firmware: Sayma RTM FPGA bitstream loading prototype (#813)."
This reverts commit f95fb273f1.

Will be replaced with a bitbang/GPIO based version.
2018-02-28 18:43:56 +01:00
whitequark f95fb273f1 firmware: Sayma RTM FPGA bitstream loading prototype (#813). 2018-02-28 16:46:23 +00:00
Florent Kermarrec 2896dc619b drtio/transceiver/gth: fix multilane 2018-02-28 14:15:40 +01:00
Robert Jördens 5046d6a529 ad9912/10: add a bit more slack to init() 2018-02-27 23:14:44 +01:00
Robert Jördens f97163cdee examples/master: sync device_db with kc705_nist_clock 2018-02-27 19:40:00 +01:00
whitequark 916b10ca94 examples: spi → spi2. 2018-02-27 18:36:45 +00:00
Sebastien Bourdeauducq 386aa75aaa kasli: control SFP1 and SFP2 LEDs in DRTIO satellite to match master 2018-02-27 23:18:18 +08:00
Sebastien Bourdeauducq 5d81877b34 kasli: implement multi-link DRTIO on SFP1 and SFP2 of master 2018-02-27 23:15:20 +08:00
Florent Kermarrec 1f0d955ce4 drtio/transceiver/gtp: implement tx multi lane phase alignment sequence 2018-02-27 12:32:25 +01:00
Sebastien Bourdeauducq e565d3fa59 kasli: add analyzer and RTIO log to DRTIO master target 2018-02-27 18:09:07 +08:00
Robert Jördens 760724c500 kasli/device_db: fix i2c switch addr 2018-02-26 11:37:12 +01:00
Robert Jördens b466a569bf coredevice: export spi2 2018-02-24 09:49:31 +01:00
Florent Kermarrec 5b0f9cc6fd drtio/transceiver/gth: fix single transceiver case 2018-02-23 12:15:47 +01:00
Robert Jördens cff85ee13b novogorny: simplify and fix coefficient 2018-02-23 10:09:44 +01:00
Florent Kermarrec b4ba71c7a4 drtio/transceiver/gth: implement tx multi lane phase alignment sequence (fix merge issue...) 2018-02-23 08:37:05 +01:00
Florent Kermarrec 820c834251 drtio/transceiver/gth: implement tx multi lane phase alignment sequence 2018-02-22 22:14:15 +01:00
Robert Jördens bc5e949bb4 novogorny: fix gain register length 2018-02-22 18:45:55 +00:00
Robert Jördens 1452cd7447 novogorny: add coredevice driver and test with Kasli
m-labs/artiq#687
2018-02-22 17:19:51 +01:00
Robert Jördens 74517107f0 ad9912: add slack after prodid read 2018-02-22 17:19:51 +01:00
Robert Jördens 3b7971d15d kasli: spelling 2018-02-22 17:19:51 +01:00
Robert Jördens 771bf87b56 kc705: port amc101_dac/spi0 and sma_spi to spi2 2018-02-22 17:19:51 +01:00
Robert Jördens d4a10dcbd4 urukul: fix example 2018-02-22 11:28:50 +01:00
Robert Jördens e8d4db1ccf coreanalyzer: add spi2 support
m-labs/artiq#926
2018-02-22 11:28:46 +01:00
Robert Jördens f8e6b4f4e3 ad5360: port to spi2
* kc705 nist_clock target gateware
* coredevice driver
* moninj code
* test/example/device_db

This is untested as we don't have a AD5360 board right now.
Will be tested with Zotino v1.1

m-labs/artiq#926
2018-02-22 10:25:46 +01:00
Sebastien Bourdeauducq 96423882f2 fix 4d6619f3b 2018-02-22 15:27:54 +08:00
Sebastien Bourdeauducq fa0d929b4d drtio: reorganize RX synchronizers 2018-02-22 15:21:23 +08:00
Sebastien Bourdeauducq e5de5ef473 kasli: use deterministic RX synchronizer
Could not reproduce the "fully broken bitstream" bug.
2018-02-22 15:18:09 +08:00
Sebastien Bourdeauducq 4d6619f3bc satman: send ResetAck 2018-02-22 15:17:44 +08:00
Robert Jördens a5ad1dc266 kc705: fix sdcard miso pullup 2018-02-21 19:41:05 +01:00
Robert Jördens 0d8145084d test_spi: move to new spi2 core 2018-02-21 19:41:05 +01:00
Robert Jördens 898bad5abc spi2: fixes 2018-02-21 19:41:05 +01:00
Florent Kermarrec 5eda894db4 firmware/libboard/sdram: increase read_delays dead zone to 32 on KU 2018-02-21 19:36:37 +01:00
whitequark 96f697ec96 firmware: update compiler_builtins to unbreak __gtdf2.
Fixes #883.
2018-02-21 15:21:48 +00:00
Robert Jördens a63fd306af urukul: use spi2
* switch kc705 and kasli targets to spi2 gateware on urukul
* rewrite urukul, ad9912, ad9910
* update example experiments, device_dbs
2018-02-21 15:00:28 +00:00
Robert Jördens 37a0d6580b spi2: add RTIO gateware and coredevice driver
1006218997
2018-02-21 13:37:36 +00:00
Robert Jördens 91a4a7b0ee kasli: free run si5324 on opticlock for now 2018-02-21 13:37:29 +00:00
Robert Jördens 7a1d71502a ttl_serdes_7series: drive IBUF and INTERM disables from serdes 2018-02-21 13:37:29 +00:00
Robert Jördens 476e4fdd56 ttl_serdes_7series: disable IBUF and INTERM when output 2018-02-21 13:37:29 +00:00
Florent Kermarrec afc16a67b6 firmware/liboard/sdram.rs: iterate read multiple times in read_delays to avoid false positives 2018-02-21 14:15:35 +01:00
whitequark 86ceee570f compiler: reject calls with unexpected keyword arguments.
Fixes #924.
2018-02-21 11:37:12 +00:00
Sebastien Bourdeauducq f060d6e1b3 drtio: increase A7 clock aligner check period 2018-02-20 18:50:35 +08:00
Sebastien Bourdeauducq 738654c783 drtio: support remote RTIO resets 2018-02-20 18:48:54 +08:00
Sebastien Bourdeauducq f15b4bdde7 style 2018-02-20 18:47:59 +08:00
Sebastien Bourdeauducq 7d9c7ada71 drtio: fix test infinite loop 2018-02-20 17:42:00 +08:00
Sebastien Bourdeauducq ad2c9590d0 drtio: rewrite/fix reset and link bringup/teardown 2018-02-20 17:26:43 +08:00
Robert Jördens 7e02d8245c kasli: false paths
* don't bother with the round trip OSERDESE2 -> ... -> pad -> ... ->
  ISERDESE2
* clock groups with derived clocks c.f. migen 9c3a301
2018-02-19 13:05:11 +00:00
Sebastien Bourdeauducq 0f4549655b sayma: use Xilinx RX synchronizer
Cannot be used on Kasli, this breaks the bitstream entirely (nothing on UART).
2018-02-19 17:49:53 +08:00
Sebastien Bourdeauducq 52049cf36a drtio: add Xilinx RX synchronizer 2018-02-19 17:49:43 +08:00
Sebastien Bourdeauducq 3bc575bee7 drtio: add missing define for Sayma master 2018-02-19 17:11:21 +08:00
Sebastien Bourdeauducq 7376ab0ff8 drtio: fix Sayma after 83abdd28 2018-02-19 17:10:55 +08:00
Florent Kermarrec f5831af535 drtio/transceiver/gtp_7series_init: don't reset gtp rx on power down 2018-02-19 10:03:19 +01:00
Florent Kermarrec 89a158c0c9 drtio/transceiver/gtp_7series_init: remove dead code 2018-02-19 10:02:23 +01:00
Florent Kermarrec 782051f474 drtio/transceiver/gtp_7series_init: add no retiming on gtp resets 2018-02-19 09:59:50 +01:00
Sebastien Bourdeauducq 01fa6c1c2e reorganize examples 2018-02-19 15:46:08 +08:00
Sebastien Bourdeauducq 4b4090518b drtio: clean up remnants of removed debug functions 2018-02-19 15:14:32 +08:00
Sebastien Bourdeauducq c329c83676 kasli: fix disable_si5324_ibuf no_retiming 2018-02-19 12:19:05 +08:00
Sebastien Bourdeauducq a93decdef2 kasli: disable DRTIO IBUFDS_GTE2 until Si5324 is initialized 2018-02-19 00:48:37 +08:00
Sebastien Bourdeauducq 94c20dfd4d drtio: fix misleading GenericRXSynchronizer comment 2018-02-19 00:47:54 +08:00
Sebastien Bourdeauducq 83abdd283a drtio: signal stable clock input to transceiver 2018-02-18 22:29:30 +08:00
Robert Jördens c87636ed2b si5324: fix cfb21ca 2018-02-18 11:38:20 +01:00
Robert Jördens caedcd5a15 ad9912: cleanup, document init() 2018-02-18 11:38:16 +01:00
Robert Jördens 75c89422c9 ad991[02]: sysclk can be 1 GHz 2018-02-18 10:29:19 +00:00
Sebastien Bourdeauducq 287d533437 Revert "sayma_amc: remove RTM bitstream upload core. Closes #908"
This reverts commit 2d4a1340ea.
2018-02-17 17:38:48 +08:00
Sebastien Bourdeauducq 73985a9215 sayma: remove constraints at outputs of serwb PLL (see misoc d1489ed) 2018-02-17 17:38:17 +08:00
Sebastien Bourdeauducq 039dee4c8e si5324: rename SI5324_FREE_RUNNING to SI5324_AS_SYNTHESIZER
The previous name was causing confusion with the FREE_RUN bit
that connects the crystal to CLKIN2.
2018-02-17 13:54:50 +08:00
Sebastien Bourdeauducq cfb21ca126 si5324: fix usage of external CLKIN2 reference 2018-02-17 13:52:01 +08:00
Sebastien Bourdeauducq fb8b36cd41 clean up ccc279b8 2018-02-17 12:10:46 +08:00
hartytp ccc279b8da rewrite HMC7043 init code without using ADI GUI outputs, working analog/digital delay 2018-02-17 12:07:11 +08:00
Robert Jördens e41f49cc75 kasli: opticlock 125 MHz, mark external reference case broken 2018-02-16 17:23:15 +00:00
Robert Jördens 7002bea0ab kasli: clean up urukul example more 2018-02-15 14:21:17 +01:00
Sebastien Bourdeauducq 4d42df2a7c kasli: set up Si5324 in standalone operation 2018-02-15 20:32:58 +08:00
Sebastien Bourdeauducq c5ae81f452 satman: remove unused 62.5MHz Si5324 settings 2018-02-15 20:29:51 +08:00
Sebastien Bourdeauducq d7387611c0 sayma: print RTM gateware version 2018-02-15 19:31:58 +08:00
whitequark d572c0c34d artiq_devtool: fix the hotswap action. 2018-02-14 23:10:27 +00:00
whitequark fe50018037 firmware: make network tracing runtime switchable. 2018-02-14 23:03:20 +00:00
Robert Jördens 2adba3ed33 urukul: document ad9912, and cpld, fix api 2018-02-14 09:45:17 +01:00
Robert Jördens ede98679fc ad9910: add documentation 2018-02-14 09:05:03 +01:00
Robert Jördens b6395a809b kasli: remove old urukul test code 2018-02-13 22:16:57 +01:00
Robert Jördens be693bc8a9 opticlock: examples 2018-02-13 22:13:40 +01:00
Robert Jördens a3d136d30d opticlock: wire urukul and novogorny 2018-02-13 22:13:40 +01:00
Robert Jördens 7f1bfddeda ad9910: tweak spi timing for higher speed 2018-02-13 22:13:40 +01:00
Robert Jördens 6a6695924f urukul: proto 8 2018-02-13 22:13:40 +01:00
Robert Jördens bc6af03a61 urukul: (proto 7) drop att_le 2018-02-13 22:13:40 +01:00
Sebastien Bourdeauducq df177bfd5b use new misoc identifier 2018-02-13 20:38:48 +08:00
Sebastien Bourdeauducq ab5f397fea sed/fifos: use AsyncFIFOBuffered
(D)RTIO now passes timing at 150MHz on Kasli.
2018-02-13 20:02:51 +08:00
Sebastien Bourdeauducq 00f42f912b rename 'RTM identifier' to 'RTM magic number'
Avoids confusion with the MiSoC identifier (containing the ARTIQ version).
2018-02-13 20:02:51 +08:00
Sebastien Bourdeauducq 96b948f57f remote_csr: add sanity check of CSR CSV type column 2018-02-13 20:02:51 +08:00
Sebastien Bourdeauducq e67a289e2b examples: add SAWG sines (DAC synchronization test) 2018-02-13 20:02:51 +08:00
Florent Kermarrec bfdda340fd drtio/transceiver/gtp_7series: use parameters from xilinx wizard 2018-02-13 00:23:59 +01:00
Florent Kermarrec 180c28551d drtio/gateware/transceiver/gtp_7series: add power down state before reset on rx (seems to make restart reliable) 2018-02-09 20:17:02 +01:00
Sebastien Bourdeauducq 2d4a1340ea sayma_amc: remove RTM bitstream upload core. Closes #908 2018-02-07 12:27:35 +08:00
whitequark 61c64a76be gateware: use a per-variant subfolder in --output-dir. (fixes #912)
This commit also adds support for --variant and --args
to artiq-devtool.
2018-02-06 08:19:01 +00:00
Florent Kermarrec e80b481032 firmware/libboard_artiq/hmc830_7043.rs: add template for sys_ref phase configuration for dac1/dac2 and fpga 2018-02-05 13:40:17 +01:00
Florent Kermarrec e50bebb63d firmware/liboard_artiq/ad9154.rs: add checks for jesd subclass 1 (verify that we receive the sysref and that phase error is within the specified window error threshold). 2018-02-05 13:39:30 +01:00
Robert Jördens 9fca7b8faa artiq_flash: also report sayma AMC SYSMONE1 data
requires hardware patch (https://github.com/m-labs/sinara/issues/495)
2018-01-30 15:17:11 +08:00
Robert Jördens fb8c779b4f artiq_flash: report XADC data
* bump openocd
* only kasli, kc705, sayma rtm so far
2018-01-30 14:56:50 +08:00
whitequark 807eb1155b Update smoltcp.
Fixes #902.
2018-01-30 03:29:08 +00:00
whitequark a669652854 artiq_flash: tell openocd to not listen on any network ports. 2018-01-30 03:12:06 +00:00
whitequark 0edc34a9e5 artiq_devtool: the proxy artiq_flash action doesn't exist anymore. 2018-01-28 15:19:17 +00:00
whitequark 885ab40946 conda: split RTM and AMC packages back.
This avoids multiplying the RTM compilation time by the number
of AMC packages.
2018-01-28 14:27:55 +00:00
whitequark 11a8b84355 Merge the build trees of sayma_amc and sayma_rtm targets.
This also makes them a single artiq_flash target, and a single
conda package.
2018-01-27 19:54:31 +00:00
whitequark 0b9c551962 artiq_flash: implement flash read functionality. 2018-01-27 19:54:31 +00:00
Sebastien Bourdeauducq 0aacdb0458 tools: add missing import 2018-01-28 02:12:46 +08:00
Sebastien Bourdeauducq 6f90a43df2 examples: reorganize for new hardware 2018-01-28 02:11:45 +08:00
Sebastien Bourdeauducq 67625fe912 test: check kernel overhead credibility 2018-01-28 01:02:03 +08:00
Sebastien Bourdeauducq e8ed3475ea test: add kernel overhead test (#407) 2018-01-28 01:00:59 +08:00
whitequark eed2db3a98 artiq_flash: make the proxy action unnecessary. 2018-01-27 15:43:27 +00:00
whitequark d58393a1e5 runtime: build with -Cpanic=unwind.
This is required for backtraces to function. I'm not sure how it
turned out that master had -Cpanic=abort.
2018-01-26 23:01:24 +00:00
whitequark 08101b631d artiq_devtool: fix typo. 2018-01-26 13:55:31 +00:00
Sebastien Bourdeauducq 440e19b8f9 kasli: use SFP2 for DRTIO mastering
SFP1 PCB routing has some issues.

Also use SFP1 LED for DRTIO in both master and satellite.
2018-01-26 19:02:54 +08:00
Sebastien Bourdeauducq 0d2f89db53 si5324: chip does not ack RST_REG write 2018-01-25 11:06:19 +08:00
Sebastien Bourdeauducq ca4d5ae73e artiq_flash: add kasli drtio variants 2018-01-25 00:00:07 +08:00
Sebastien Bourdeauducq 77f90cf93b test: relax RTIO counter test and print result 2018-01-24 10:07:22 +08:00
Sebastien Bourdeauducq ed0fbd5662 test: add test for RTIO counter (#883) 2018-01-24 00:28:39 +08:00
Robert Jördens e0e795f11c sayma_amc: constrain pin, remove keep 2018-01-23 15:42:47 +00:00
Robert Jördens b5c035bb52 sayma_rtm: constrain serwb clock input 2018-01-23 13:54:53 +00:00
Robert Jördens aada38f508 kasli, kc705: remove vivado "keep", cleanup a constraint 2018-01-23 13:15:26 +00:00
Robert Jördens 85102e191e sayma_rtm: derive clocks automatically
* also don't add false paths unless necessary
2018-01-23 11:00:55 +00:00
Robert Jördens 7d1b3f37c9 sayma_rtm: set CFGBVS/CONFIG_VOLTAGE, compress 2018-01-23 10:56:42 +00:00
Sebastien Bourdeauducq cb0016ceee examples/sayma: fix ref_multiplier
SAWG is working, whoohoo!
2018-01-23 15:26:03 +08:00
Sebastien Bourdeauducq cfffd9e13d si5324: kasli support 2018-01-23 13:17:03 +08:00
Sebastien Bourdeauducq 649deccd9b kasli: fix DRTIO satellite QPLL refclksel 2018-01-23 12:27:19 +08:00
Sebastien Bourdeauducq 4b4374f76a sayma: register_jref for JESD204. Closes #904 2018-01-23 12:19:15 +08:00
Sebastien Bourdeauducq 763aefacff kasli: fix typo 2018-01-23 12:10:54 +08:00
Sebastien Bourdeauducq c7b148a704 kasli: when using both GTP clocks, send REFCLK0 to PLL0 and REFCLK1 to PLL1 2018-01-23 12:08:10 +08:00
Sebastien Bourdeauducq d6157514c7 gtp_7series: flexible QPLL channel selection 2018-01-23 12:03:09 +08:00