b0282fa855
spi2: reset configuration in rio_phy
2018-03-07 14:42:11 +00:00
7afb23e8be
runtime: demote dropped and malformed packets msgs to debug
2018-03-07 14:28:21 +01:00
4af7600b2d
Revert "LaneDistributor: try equivalent spread logic"
...
This reverts commit 8b70db5f17
.
Just a shot into the dark.
2018-03-07 11:34:51 +00:00
a6d1b030c1
RTIO: use TS counter in the correct CD
...
artiq/m-labs#938
2018-03-07 11:34:42 +00:00
8b70db5f17
LaneDistributor: try equivalent spread logic
2018-03-07 11:34:42 +00:00
2cbd597416
LaneDistributor: style and signal consolidation [NFC]
2018-03-07 11:34:42 +00:00
916197c4d7
siphaser: cleanup
2018-03-07 11:15:44 +08:00
74d1df3ff0
firmware: implement si5324 skew calibration
2018-03-07 10:57:30 +08:00
f7aba6b570
siphaser: fix phase_shift_done CSR
2018-03-07 10:57:30 +08:00
acfd9db185
siphaser: minor cleanup
2018-03-07 10:57:30 +08:00
e6e5236ce2
firmware: fix si5324 select_recovered_clock
2018-03-07 10:57:30 +08:00
7d98864b31
sayma: enable siphaser
2018-03-07 10:57:30 +08:00
c2d2cc2d72
runtime: fix setup_si5324_as_synthesizer
2018-03-07 10:57:30 +08:00
a6e29462a8
sayma: enable multilink DRTIO
2018-03-07 10:57:30 +08:00
c34d00cbc9
drtio: implement Si5324 phaser gateware and partial firmware support
2018-03-07 10:57:30 +08:00
994ceca9ff
sayma_amc: disable slave fpga gateware loading
2018-03-06 17:27:43 +01:00
f4dad87fd9
coredevice: add pcf8574a driver
...
I2C IO expander with 8 quasi-bidirectional pins
2018-03-06 14:27:19 +01:00
62af7fe2ac
Revert "kasli/opticlock: use plain ttls for channels 8-23"
...
This reverts commit bd5c222569eb68d624a5ac1e9f2542f6ee553f83.
No decrease in power consumption or improvement in timing.
2018-03-06 14:27:19 +01:00
fd3cdce59a
kasli/opticlock: use plain ttls for channels 8-23
2018-03-06 14:27:19 +01:00
50298a6104
ttl_serdes_7series: suppress diff_term in outputs
2018-03-06 14:27:19 +01:00
e356150ac4
ttl_simple: support differential io
2018-03-06 14:27:19 +01:00
956098c213
kasli: add second urukul, make clk_sel drive optional
2018-03-06 14:26:27 +01:00
07de7af86a
kasli: make second eem optional in urukul
2018-03-06 14:26:26 +01:00
257bef0d21
slave_fpga: print more info
2018-03-06 14:26:26 +01:00
c25560baec
sed: more LaneDistributor comments
2018-03-06 20:56:35 +08:00
f40255c968
sed: add comments about key points in LaneDistributor
2018-03-06 20:51:09 +08:00
Florent Kermarrec
5b3d6d57e2
drtio/gth: power down rx on restart (seems to make link initialization reliable)
2018-03-06 11:49:28 +01:00
Florent Kermarrec
64b05f07bb
drtio/gth: use parameters from Xilinx transceiver wizard
2018-03-06 11:02:15 +01:00
Florent Kermarrec
45f1e5a70e
drtio/gth: cleanup import
2018-03-06 10:56:07 +01:00
a274af77d5
runtime: fix compilation without DRTIO
2018-03-05 00:43:42 +08:00
432e61bbb4
drtio: add kernel API to check for link status. Closes #941
2018-03-05 00:23:55 +08:00
6aaa8bf9d9
drtio: fix link error generation
2018-03-04 23:20:13 +08:00
d747d74cb3
test: fix test_dma
2018-03-04 23:19:06 +08:00
928d5dc9b3
drtio: raise RTIOLinkError if operation fails due to link lost ( #942 )
2018-03-04 01:02:53 +08:00
ba74013e3e
runtime: add a missing overflow flag reset
2018-03-03 13:16:21 +08:00
abfbadebb5
doc: DMA can also raise RTIOUnderflow
2018-03-03 13:14:34 +08:00
ddcc68cff9
sayma_amc: move bitstream options to migen
...
close #930
2018-03-02 18:13:03 +08:00
5e074f83ac
examples: update kasli sysu
2018-03-02 16:05:12 +08:00
29d42f4648
artiq_flash: add kasli sysu
2018-03-02 15:49:41 +08:00
a9daaad77b
kasli: add SYSU variant and device_db
2018-03-02 14:44:31 +08:00
1c57d27ae2
slave_fpga: use sayma_rtm magic
2018-03-01 18:32:19 +01:00
de63e657b8
kasli/si5324: lock to 100 MHz with highest available bandwidth
2018-03-01 14:49:53 +01:00
abd160d143
slave_fpga: check DONE before loading
2018-03-01 19:53:34 +08:00
a04a36ee36
firmware: move wait for write completion to read()
2018-03-01 11:37:33 +01:00
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
cc70578f1f
remove old spi RTIO Phy
2018-03-01 11:19:18 +01:00
ec5b81da55
kc705: switch backplane spi to spi2
2018-03-01 11:19:18 +01:00
6fbe0d8ed8
hmc830: be explicit about SPI mode selection
2018-03-01 11:19:18 +01:00
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
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
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
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
1f999c7f5f
sayma_amc: expose RTM fpga load pins as GPIOs
2018-02-28 18:44:36 +01:00
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
5046d6a529
ad9912/10: add a bit more slack to init()
2018-02-27 23:14:44 +01:00
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
386aa75aaa
kasli: control SFP1 and SFP2 LEDs in DRTIO satellite to match master
2018-02-27 23:18:18 +08:00
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
e565d3fa59
kasli: add analyzer and RTIO log to DRTIO master target
2018-02-27 18:09:07 +08:00
760724c500
kasli/device_db: fix i2c switch addr
2018-02-26 11:37:12 +01:00
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
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
bc5e949bb4
novogorny: fix gain register length
2018-02-22 18:45:55 +00:00
1452cd7447
novogorny: add coredevice driver and test with Kasli
...
m-labs/artiq#687
2018-02-22 17:19:51 +01:00
74517107f0
ad9912: add slack after prodid read
2018-02-22 17:19:51 +01:00
3b7971d15d
kasli: spelling
2018-02-22 17:19:51 +01:00
771bf87b56
kc705: port amc101_dac/spi0 and sma_spi to spi2
2018-02-22 17:19:51 +01:00
d4a10dcbd4
urukul: fix example
2018-02-22 11:28:50 +01:00
e8d4db1ccf
coreanalyzer: add spi2 support
...
m-labs/artiq#926
2018-02-22 11:28:46 +01:00
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
96423882f2
fix 4d6619f3b
2018-02-22 15:27:54 +08:00
fa0d929b4d
drtio: reorganize RX synchronizers
2018-02-22 15:21:23 +08:00
e5de5ef473
kasli: use deterministic RX synchronizer
...
Could not reproduce the "fully broken bitstream" bug.
2018-02-22 15:18:09 +08:00
4d6619f3bc
satman: send ResetAck
2018-02-22 15:17:44 +08:00
a5ad1dc266
kc705: fix sdcard miso pullup
2018-02-21 19:41:05 +01:00
0d8145084d
test_spi: move to new spi2 core
2018-02-21 19:41:05 +01:00
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
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
37a0d6580b
spi2: add RTIO gateware and coredevice driver
...
1006218997
2018-02-21 13:37:36 +00:00
91a4a7b0ee
kasli: free run si5324 on opticlock for now
2018-02-21 13:37:29 +00:00
7a1d71502a
ttl_serdes_7series: drive IBUF and INTERM disables from serdes
2018-02-21 13:37:29 +00:00
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
f060d6e1b3
drtio: increase A7 clock aligner check period
2018-02-20 18:50:35 +08:00
738654c783
drtio: support remote RTIO resets
2018-02-20 18:48:54 +08:00
f15b4bdde7
style
2018-02-20 18:47:59 +08:00
7d9c7ada71
drtio: fix test infinite loop
2018-02-20 17:42:00 +08:00
ad2c9590d0
drtio: rewrite/fix reset and link bringup/teardown
2018-02-20 17:26:43 +08:00
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
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
52049cf36a
drtio: add Xilinx RX synchronizer
2018-02-19 17:49:43 +08:00
3bc575bee7
drtio: add missing define for Sayma master
2018-02-19 17:11:21 +08:00
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
01fa6c1c2e
reorganize examples
2018-02-19 15:46:08 +08:00
4b4090518b
drtio: clean up remnants of removed debug functions
2018-02-19 15:14:32 +08:00
c329c83676
kasli: fix disable_si5324_ibuf no_retiming
2018-02-19 12:19:05 +08:00
a93decdef2
kasli: disable DRTIO IBUFDS_GTE2 until Si5324 is initialized
2018-02-19 00:48:37 +08:00
94c20dfd4d
drtio: fix misleading GenericRXSynchronizer comment
2018-02-19 00:47:54 +08:00
83abdd283a
drtio: signal stable clock input to transceiver
2018-02-18 22:29:30 +08:00
c87636ed2b
si5324: fix cfb21ca
2018-02-18 11:38:20 +01:00
caedcd5a15
ad9912: cleanup, document init()
2018-02-18 11:38:16 +01:00
75c89422c9
ad991[02]: sysclk can be 1 GHz
2018-02-18 10:29:19 +00:00
287d533437
Revert "sayma_amc: remove RTM bitstream upload core. Closes #908 "
...
This reverts commit 2d4a1340ea
.
2018-02-17 17:38:48 +08:00
73985a9215
sayma: remove constraints at outputs of serwb PLL (see misoc d1489ed)
2018-02-17 17:38:17 +08:00
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
cfb21ca126
si5324: fix usage of external CLKIN2 reference
2018-02-17 13:52:01 +08:00
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
e41f49cc75
kasli: opticlock 125 MHz, mark external reference case broken
2018-02-16 17:23:15 +00:00
7002bea0ab
kasli: clean up urukul example more
2018-02-15 14:21:17 +01:00
4d42df2a7c
kasli: set up Si5324 in standalone operation
2018-02-15 20:32:58 +08:00
c5ae81f452
satman: remove unused 62.5MHz Si5324 settings
2018-02-15 20:29:51 +08:00
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
2adba3ed33
urukul: document ad9912, and cpld, fix api
2018-02-14 09:45:17 +01:00
ede98679fc
ad9910: add documentation
2018-02-14 09:05:03 +01:00
b6395a809b
kasli: remove old urukul test code
2018-02-13 22:16:57 +01:00
be693bc8a9
opticlock: examples
2018-02-13 22:13:40 +01:00
a3d136d30d
opticlock: wire urukul and novogorny
2018-02-13 22:13:40 +01:00
7f1bfddeda
ad9910: tweak spi timing for higher speed
2018-02-13 22:13:40 +01:00
6a6695924f
urukul: proto 8
2018-02-13 22:13:40 +01:00
bc6af03a61
urukul: (proto 7) drop att_le
2018-02-13 22:13:40 +01:00
df177bfd5b
use new misoc identifier
2018-02-13 20:38:48 +08:00
ab5f397fea
sed/fifos: use AsyncFIFOBuffered
...
(D)RTIO now passes timing at 150MHz on Kasli.
2018-02-13 20:02:51 +08:00
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
96b948f57f
remote_csr: add sanity check of CSR CSV type column
2018-02-13 20:02:51 +08:00
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
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
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
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
0aacdb0458
tools: add missing import
2018-01-28 02:12:46 +08:00
6f90a43df2
examples: reorganize for new hardware
2018-01-28 02:11:45 +08:00
67625fe912
test: check kernel overhead credibility
2018-01-28 01:02:03 +08:00
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
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
0d2f89db53
si5324: chip does not ack RST_REG write
2018-01-25 11:06:19 +08:00
ca4d5ae73e
artiq_flash: add kasli drtio variants
2018-01-25 00:00:07 +08:00
77f90cf93b
test: relax RTIO counter test and print result
2018-01-24 10:07:22 +08:00
ed0fbd5662
test: add test for RTIO counter ( #883 )
2018-01-24 00:28:39 +08:00
e0e795f11c
sayma_amc: constrain pin, remove keep
2018-01-23 15:42:47 +00:00
b5c035bb52
sayma_rtm: constrain serwb clock input
2018-01-23 13:54:53 +00:00
aada38f508
kasli, kc705: remove vivado "keep", cleanup a constraint
2018-01-23 13:15:26 +00:00
85102e191e
sayma_rtm: derive clocks automatically
...
* also don't add false paths unless necessary
2018-01-23 11:00:55 +00:00
7d1b3f37c9
sayma_rtm: set CFGBVS/CONFIG_VOLTAGE, compress
2018-01-23 10:56:42 +00:00
cb0016ceee
examples/sayma: fix ref_multiplier
...
SAWG is working, whoohoo!
2018-01-23 15:26:03 +08:00
cfffd9e13d
si5324: kasli support
2018-01-23 13:17:03 +08:00
649deccd9b
kasli: fix DRTIO satellite QPLL refclksel
2018-01-23 12:27:19 +08:00
4b4374f76a
sayma: register_jref for JESD204. Closes #904
2018-01-23 12:19:15 +08:00
763aefacff
kasli: fix typo
2018-01-23 12:10:54 +08:00
c7b148a704
kasli: when using both GTP clocks, send REFCLK0 to PLL0 and REFCLK1 to PLL1
2018-01-23 12:08:10 +08:00
d6157514c7
gtp_7series: flexible QPLL channel selection
2018-01-23 12:03:09 +08:00
9f87c34a94
kasli: fix QPLL instantiation
2018-01-23 10:39:31 +08:00
98a5607634
gtp_7series: set clock muxes correctly for second QPLL channel
2018-01-23 10:39:20 +08:00
25fee1a0bb
gtp_7series: use QPLL second channel
2018-01-23 10:15:49 +08:00
031d7ff020
kasli: keep using second QPLL channel for DRTIO satellite
2018-01-23 10:13:10 +08:00
626075cbc1
gtp_7series: simplify TX clocking
2018-01-23 09:49:23 +08:00
74b7baa8c5
urukul example: mmcx clock input
2018-01-22 20:30:08 +01:00
a86b28def2
urukul: example additions
...
* relax timings for faster spi xfers
* continuous readback test to explore spi speed limit
2018-01-22 20:29:30 +01:00
5a9035b122
urukul: faster spi clock
2018-01-22 18:27:40 +00:00
ca1fdaa190
ad9910: relax timing for faster spi clock
2018-01-22 18:27:40 +00:00
401e57d41c
gtp_7series: fix nchannels assert
2018-01-23 01:28:01 +08:00
aa62e91487
kasli: add DRTIO targets (no firmware)
2018-01-23 01:27:40 +08:00
296ac35f5d
sayma_amc: SFP TX disable is active-high
2018-01-23 00:32:09 +08:00
77192256ea
kc705: style
2018-01-23 00:02:35 +08:00
ab7c49d6d0
sayma_amc: raise error on invalid variant
2018-01-23 00:02:16 +08:00
c1ac3b66b1
sayma_rtm: fix 8fe463d4a
2018-01-23 00:01:45 +08:00
53facfef13
sayma: build fixes
2018-01-22 18:33:22 +08:00
25f3feeda8
refactor targets
2018-01-22 18:25:10 +08:00
5198c224a2
sayma,kasli: use new pin names
2018-01-22 11:51:07 +08:00
whitequark
8598e475e9
artiq_flash: fix a refactoring mistake.
2018-01-20 08:30:42 +00:00
c3323f0d57
hmc830: improve lock failure error report
2018-01-20 15:42:53 +08:00
whitequark
115aa0d0d6
artiq_flash: support load action for Sayma RTM FPGA.
2018-01-20 07:23:50 +00:00
whitequark
94592c7a4c
artiq_flash: unify flash handling in XC7 and Sayma programmers.
2018-01-20 07:23:50 +00:00
whitequark
1ffabac06f
artiq_flash: use atexit for tempfile cleanup.
2018-01-20 07:23:50 +00:00
Florent Kermarrec
8fe463d4a0
sayma_rtm: add UART loopback to easily know if rtm fpga is alive
2018-01-20 06:04:34 +01:00
Florent Kermarrec
74ce7319d3
sayma: reduce serwb linerate to 625Mbps (make it work on saymas with 1.8v issue, related?)
2018-01-20 06:04:18 +01:00
whitequark
f4022ba872
remoting: avoid a race condition.
2018-01-20 01:30:44 +00:00
whitequark
83278a6edb
artiq_flash: fix a refactoring bug.
2018-01-20 01:30:44 +00:00
hartytp
37fa3b29da
firmware: add register dump on HMC830 lock timeout.
2018-01-20 00:19:31 +00:00
whitequark
934bc53cb5
artiq_devtool: refactor.
2018-01-19 20:35:35 +00:00
whitequark
ebd02c4f43
artiq_flash: fix typo.
2018-01-19 18:53:49 +00:00
whitequark
1c7cb737ca
artiq_flash: refactor.
2018-01-19 17:45:49 +00:00
whitequark
bcc39a8c9d
artiq_flash: add --dry-run option.
2018-01-19 17:45:49 +00:00
whitequark
323c7e66cf
artiq_devtool: fix help message.
2018-01-19 17:45:49 +00:00
Florent Kermarrec
9eb13aba3c
liboard_artiq/hmc830_7043: allow sysref digital/analog delay configuration (will need to be adjusted for jesd subclass1)
2018-01-19 17:19:02 +01:00
Florent Kermarrec
d27727968c
add artix7 gtp (3gbps), share clock aligner with gth_ultrascale
2018-01-19 12:17:54 +01:00
cdbf95d46a
kasli: fix permissions
2018-01-19 18:31:20 +08:00
whitequark
3c0b164e4d
artiq_devtool: update for new board file convention.
...
Also fix a typo in documentation.
2018-01-19 09:43:03 +00:00
whitequark
4fd236d234
artiq_flash: cache transferred artifacts.
2018-01-19 08:28:04 +00:00
whitequark
3922a7c64b
artiq_devtool: make locking reentrant.
2018-01-19 07:58:58 +00:00
whitequark
b553804e5a
artiq_flash: implement network transparency.
2018-01-19 07:39:55 +00:00
whitequark
80cbef0031
firmware: always reset PHY when initializing Ethernet.
...
Fixes #897 .
2018-01-19 04:56:11 +00:00
whitequark
1f82ceaa85
firmware: add HMC542 (Allaki) support.
2018-01-19 04:47:26 +00:00
Florent Kermarrec
07f4e2e35a
libboard_artiq/ad9154: fix prbs test (only keep prbs7) and
...
always do it after ad9154 initialization
2018-01-18 08:19:37 +01:00
8ec33ae7bd
kasli: feed EEM clock fan-out from SI5324
2018-01-17 17:27:59 +01:00
whitequark
dbe48d3cad
Fix 3313e997
.
2018-01-17 11:31:32 +00:00
whitequark
3313e997df
test: fix test_worker to work when deprecation warnings are emitted.
2018-01-17 11:27:56 +00:00
ed3e3b2791
sayma_amc: clarify --with-sawg help
2018-01-17 12:10:30 +01:00
Florent Kermarrec
f54b27b79c
sayma_amc: prepare for jesd subclass 1
2018-01-17 11:49:36 +01:00
whitequark
f77aa9b78f
artiq_flash: rename sayma to sayma_amc to fix bitstream discovery.
...
Fixes #895 .
2018-01-17 01:45:47 +00:00
whitequark
a536d6df12
artiq_flash: add sayma_rtm support.
2018-01-17 01:21:19 +00:00
whitequark
bfceef439f
Add missing parts of f317d1a2
.
2018-01-17 01:14:16 +00:00
whitequark
1e896d4ba8
firmware: fix warnings.
2018-01-17 00:48:46 +00:00
whitequark
f317d1a2c6
Update board naming (again) to match DNS.
2018-01-17 00:42:56 +00:00
Florent Kermarrec
f73c3e5944
gateware/test/serwb: update and cleanup test (v2...)
2018-01-16 20:06:43 +01:00
7405006668
sayma: rtio clock is jesd fabric clock
2018-01-16 18:19:04 +01:00
whitequark
247167d34a
Revert "gateware/test/serwb: update and cleanup tests"
...
This reverts commit 5b03cc2fae
.
2018-01-16 08:21:26 +00:00
whitequark
444b901dbe
sayma: add RTM configuration port.
2018-01-16 07:28:00 +00:00
Florent Kermarrec
702c35821b
libboard_artiq/ad9154: add dac_status and dac_prbs (untested)
2018-01-15 22:15:35 +01:00
Florent Kermarrec
5b03cc2fae
gateware/test/serwb: update and cleanup tests
2018-01-15 21:53:40 +01:00
1c15124c5e
artiq_flash: add kasli
2018-01-15 14:17:40 +01:00
whitequark
6891141fa6
artiq_flash: add sayma support.
2018-01-15 11:43:29 +00:00
529033e016
kernel_cpu: disable PCU
...
* contributes to long timing paths on artix 7 (kasli)
* currently only used for testing and debugging
2018-01-12 12:03:50 +00:00
ac3c3871d0
kasli: s/extensions/variant/g
2018-01-12 12:29:42 +01:00
7429ee4fb6
firmware: make read leveling robust for KUS SDRAM
...
Increases the initial delay step into the valid read window as
with the original delay I was not getting out of the noisy
transition window, as evidenced by seeing read delay windows
of only 8 LSB ~10% of the time, leading to failing memory
tests
2018-01-12 10:35:38 +08:00
7c82fcf41a
targets: avoid passing cpu_type around unnecessarily
2018-01-11 11:21:55 +08:00
6d58c4390b
Merge branch 'sed-merge'
2018-01-10 13:14:39 +08:00
94d51d1364
firmware: fix drtio_dbg module syntax
2018-01-10 12:15:23 +08:00
04b2fd3e13
sayma: fix AD9154NoSAWG ramp clock domain
2018-01-10 12:11:33 +08:00
dc593ec0f0
Merge branch 'rtio-sed' into sed-merge
2018-01-10 12:04:54 +08:00
Florent Kermarrec
2009734b3c
serwb/phy: get 625Mbps linerate working, increase timeout
2018-01-09 18:54:52 +01:00
Florent Kermarrec
9c6a7f7509
serwb/kusphy: use same serwb_serdes_5x reset than s7phy
2018-01-09 18:54:05 +01:00
whitequark
267c699835
firmware: support DDRPHY without write leveling ( fixes #886 ).
...
Currently, this is kasli.
2018-01-09 02:41:02 +00:00
whitequark
07ccb9eebd
firmware: support configuration without ethphy ( #886 ).
...
Currently, this is kasli.
2018-01-08 22:16:17 +00:00
whitequark
34a5445802
compiler: don't die if addr2line cannot extract line from backtrace.
...
Fixes #885 .
2018-01-08 21:53:04 +00:00
whitequark
3a3f44af53
firmware: update smoltcp.
2018-01-08 21:41:53 +00:00
whitequark
987a9c8308
conda: update rustc to 1.23.0.
2018-01-08 21:39:15 +00:00
8813aee6b1
targets: add kasli [wip, untested]
2018-01-04 16:12:12 +01:00
161a414567
serwb: debug print on error
2018-01-04 22:23:59 +08:00
e1a75ac1c1
runtime: set log level early
...
We want to debug startup.
2018-01-04 22:19:48 +08:00
whitequark
fc9766d2fa
firmware: reset ethphy before initializing smoltcp ( fixes #884 ).
2018-01-04 11:42:35 +00:00
67746cc7a0
urukul: raise instead of assert, clean up
2018-01-03 19:22:36 +00:00
e3d66d286d
urukul: ad9910 examples
2018-01-03 18:43:04 +00:00
eae7584432
ad9910: add [wip]
2018-01-03 18:43:04 +00:00
7ac809f8b3
urukul: do io reset
2018-01-03 18:43:04 +00:00
28a3ee7e61
urukul: make STA reading robust, add io_rst(), clean up
2018-01-03 18:43:04 +00:00
cef40eef43
ad9912: clean up
2018-01-03 18:43:04 +00:00
d8dbab024d
urukul: don't deal with dds_reset for now
2018-01-03 18:43:04 +00:00
e8608d12f5
device_db.py: whitespace
2018-01-03 18:43:04 +00:00
Florent Kermarrec
1e972034e8
gateware/targets: enable serwb scrambling on sayma amc & rtm
2018-01-03 17:34:46 +01:00
Florent Kermarrec
907af25a69
gateware/serwb: add scrambling, reduce cdc fifo depth
2018-01-03 17:34:03 +01:00
Florent Kermarrec
7f4756a869
gateware/serwb: cleanup packet
2018-01-03 17:30:12 +01:00
a940550e47
urukul: add CPLD and AD9912 driver [wip]
2018-01-02 19:59:24 +01:00
c2be820e9a
kc705_dds: make ext_clkout 100 MHz
2018-01-02 19:58:47 +01:00
43686f324b
kc705_dds: fix HPC voltages
...
* VADJ is 3.3 V due to the DDS card on LPC
* the LVDS standards need to be 2.5 V
* the direction control register on HPC (FMC-DIO to VHDCI)
was LVCMOS33 but while all the LVDS pairs are at VCCIO=VADJ=3.3 V
they were instantiated as LVDS_25 (ignoring the wrongly powered bank)
* we now use 2.5 V standards on HPC consistently despite VADJ=3.3 V
and hope for the best.
2018-01-02 13:41:07 +01:00
94b84ebe7c
kc705_dds: add urukul spi/ttl channels
2018-01-02 13:20:48 +01:00
53969d3686
kc705_dds: add urukul on vhdci extension definition
2018-01-02 13:20:47 +01:00
2f8e6c7462
spi: add diff_term, save power on outputs
2018-01-02 13:20:47 +01:00
6d20b71dde
ttl_serdes_7series: refactor IOSERDES
2018-01-02 13:20:47 +01:00
whitequark
b7f38b123b
frimware: update to log 0.4.
2018-01-01 11:45:55 +00:00
745e695b09
sayma: output a ramp in the absence of SAWG channels
2017-12-31 12:18:53 +01:00
whitequark
a371b25525
bootloader: allow using without Ethernet.
2017-12-31 09:21:28 +00:00
whitequark
70ebe431fd
satman: fix build after b8f3d28b
.
2017-12-31 09:21:02 +00:00
whitequark
e1253db0e8
firmware: update crc dependency, use it in libdrtioaux.
2017-12-31 09:16:11 +00:00
whitequark
b8f3d28bc0
firmware: update compiler_builtins dependency and move it to libboard.
...
This is so that we only specify it once.
2017-12-31 09:16:11 +00:00
a1b8bca1e6
Revert "artiq_flash: ignore RTM FPGA"
...
Naive optimism.
This reverts commit 100bda2582
.
2017-12-31 13:29:36 +08:00
100bda2582
artiq_flash: ignore RTM FPGA
...
It has no flash connected, and attempting to detect it causes unnecessary program failure when the RTM is not present.
2017-12-31 12:10:16 +08:00
38ce1f1d5d
artiq_flash: support flashing satman
...
A bit ugly and ad-hoc but I cannot think of an easy and better option right now.
2017-12-31 12:09:18 +08:00
a897d82324
ad9154: retry initialization ( #727 )
2017-12-31 11:27:43 +08:00
6e0288e568
drtio: fix GTH CPLL reset
2017-12-30 12:14:36 +08:00
379d29561b
sayma: plausibility assertion on sawg data stream
2017-12-29 19:15:40 +01:00
37f9c0b10c
spi: register clk
...
following m-labs/misoc#65
1dc68b0d0b
2017-12-28 16:50:22 +01:00
whitequark
3505878176
bootloader: add basic network support.
2017-12-28 15:26:12 +00:00
whitequark
d2687ce3c4
firmware: fix a typo replacing spiflash::SECTOR_SIZE with PAGE_SIZE.
2017-12-28 15:26:12 +00:00
whitequark
33e0393e4a
firmware: move mod ethmac to libboard.
2017-12-28 14:40:15 +00:00
whitequark
55cfdec644
firmware: enlarge bootloader partition to 4 sectors.
2017-12-28 14:39:26 +00:00
whitequark
acd13837ff
firmware: implement the new bootloader.
2017-12-28 13:18:51 +00:00
whitequark
b9754e7108
firmware: deduplicate libbuild_misoc and libbuild_artiq.
2017-12-28 13:18:51 +00:00
8153cfa88f
drtio/gth: add probes on {tx,rx}_init.done
2017-12-28 16:49:08 +08:00
c086149782
drtio/gth: use async microscope probes
2017-12-28 16:37:40 +08:00
whitequark
d94db1de5d
Revert accidentally committed parts of 1b9b5602
.
2017-12-28 08:23:34 +00:00
whitequark
fcc438524c
firmware: use main.rs as the root source for non-library crates. NFC.
2017-12-28 08:20:23 +00:00
whitequark
1b9b560242
firmware: use libbuild_misoc in libdrtioaux. NFC.
2017-12-28 08:20:23 +00:00
whitequark
8f33061a6d
firmware: fix sayma_amc_standalone build with sawg.
2017-12-28 08:20:23 +00:00
4ea801b2ea
firmware: si5324 moved to board_artiq
2017-12-28 15:45:45 +08:00
whitequark
3b18ece3b7
satman: update for changes in firmware elsewhere.
2017-12-28 07:36:33 +00:00
whitequark
d3066e5044
firmware: oops, misoc #[cfg]s were missing from libboard_artiq.
2017-12-28 07:36:33 +00:00
whitequark
ca419aa3c2
firmware: split out libboard_artiq from libboard.
2017-12-28 07:07:00 +00:00
6801921fc0
drtio: instrument GTH transceiver
2017-12-28 15:03:14 +08:00
whitequark
b443fbd8f7
runtime: remove #[repr(simd)] hack.
2017-12-28 04:46:27 +00:00
whitequark
7687a34285
firmware: remove dependency on compiler-rt.
2017-12-28 04:08:29 +00:00
whitequark
4dfe71676e
firmware: remove dependency on libbase.
2017-12-28 04:03:27 +00:00
whitequark
68f128944a
firmware: clean up makefiles.
2017-12-27 23:10:47 +00:00
whitequark
d7cb4963e1
firmware: prepare config block for access from BIOS/bootloader.
...
* remove liballoc dependency from mod config,
* move mod config to libboard,
* move config sector immediately after BIOS sector.
2017-12-27 21:28:40 +00:00
whitequark
5a2cbe7088
runtime: remove borrow_mut!() in favor of backtraces.
2017-12-27 19:15:25 +00:00
whitequark
4d915ad15b
compiler: do not permit str(...). ( #878 )
2017-12-27 03:10:50 +00:00
whitequark
355acb5e13
compiler: fix typo in a0a2650f
.
2017-12-26 21:55:22 +00:00
whitequark
edfacbd063
conda: ship runtime.elf in board-specific packages.
...
This is so that backtraces may be symbolized.
2017-12-26 21:50:31 +00:00
whitequark
9aec64093b
compiler: do not ever emit !tbaa on invoke instructions.
2017-12-26 21:35:08 +00:00
whitequark
a2bc12da68
Only print gateware/software mismatch warning once per process.
2017-12-26 21:13:46 +00:00
whitequark
b31b59f7ca
compiler: update for llvmlite 0.20.0.
2017-12-26 16:25:19 +00:00
whitequark
a0a2650fca
compiler: do not use invoke for calls to nounwind ffi functions.
...
Otherwise, declarations such as:
@syscall(flags={"nounwind", "nowrite"})
def foo(...):
trip an LLVM assert because the invoke instruction and the !tbaa
metadata are no longer compatible since LLVM 4.0.
2017-12-26 16:24:57 +00:00
whitequark
fd6d97f052
artiq_devtool: set ServerAliveInterval.
2017-12-26 15:41:03 +00:00
whitequark
8b4a006855
runtime: update smoltcp.
2017-12-26 14:33:56 +00:00
whitequark
c939c6183e
Update to LLVM 4.0.
2017-12-26 14:09:17 +00:00
whitequark
71eca5ad61
runtime: fix some final flash storage issues.
2017-12-26 14:09:17 +00:00
whitequark
188764693e
runtime: we're growing, put storage at 1M instead of 512K.
2017-12-26 03:34:16 +00:00
whitequark
e2513a2401
runtime: ensure flash storage never overlaps with runtime sections.
2017-12-26 03:31:37 +00:00
whitequark
6e341da3a1
runtime: simplify. NFC.
2017-12-26 02:31:28 +00:00
whitequark
061fb3dcd5
runtime: remove accidentally committed parts of a Makefile.
2017-12-25 20:30:13 +00:00
whitequark
230f2e5e18
runtime: print (address-only) backtraces on core device panics.
2017-12-25 18:32:41 +00:00
whitequark
3eec15c01d
firmware: fix compatibility with newer rustc. NFC.
2017-12-25 17:16:05 +00:00
whitequark
1570a482c2
artiq_devtool: don't require lock for reset.
...
reset is mainly useful as a part of reset+hotswap sequence, and that
already needs lock via connect.
2017-12-25 16:15:51 +00:00
70b7f28ad3
drtio: drive SFP TX disable pins
2017-12-23 22:58:51 +08:00
00ed51f6f4
satman: use new alloc_list ( #880 )
2017-12-23 22:15:39 +08:00
f8c8f3fe26
drtio: fix GTH clock domains
2017-12-23 07:21:44 +08:00
1af21c0b29
drtio: integrate GTH transceiver for Sayma
2017-12-23 01:19:59 +08:00
c57b66497c
drtio: refactor/simplify GTH, use migen
2017-12-23 01:19:44 +08:00
77897228ca
drtio: add GTH transceiver code from Florent (197c79d47)
2017-12-22 18:01:28 +08:00
ebdbaaad32
drtio: remove KC705/GTX support
2017-12-22 17:51:42 +08:00
0681d472c7
conda: fix sayma_rtm_csr.csv location for Sayma AMC
2017-12-22 17:14:10 +08:00
cbd69287a7
artiq_flash: select Sayma standalone variant by default
2017-12-22 16:54:06 +08:00
44959144d8
conda: add Sayma AMC standalone board package
2017-12-22 16:44:04 +08:00
Florent Kermarrec
86825a852c
gateware/targets/sayma_rtm: add false path between cd_sys and cd_clk200
2017-12-21 23:52:44 +01:00
69d7e93e99
drtio: adapt examples to Sayma
2017-12-21 23:09:19 +08:00
a6ffe9f38d
drtio: add Sayma top-level designs
2017-12-21 23:08:56 +08:00
4fbc8772a5
sayma: allocate all user LEDs to RTIO, make one TTL SMA input
2017-12-21 19:27:38 +08:00
a23251276d
Revert "sayma: set up Si5324 for RGMII clock rerouting"
...
This reverts commit 2b01aa22b6
.
2017-12-21 14:42:15 +08:00
whitequark
701308474f
runtime: update smoltcp.
2017-12-19 15:51:03 +00:00
whitequark
aaba36be7a
runtime: log moninj messages at TRACE level, like all others.
2017-12-16 22:39:13 +00:00
whitequark
8cece4f260
runtime: hotswap slightly more carefully.
...
This generally lets some last characters out of UART, last ACKs
out of queues, etc. Nothing guaranteed though.
2017-12-16 22:39:13 +00:00
whitequark
4a9d8c9459
runtime: fix a warning.
2017-12-16 22:39:13 +00:00
2b01aa22b6
sayma: set up Si5324 for RGMII clock rerouting
2017-12-17 00:25:33 +08:00
David Nadlinger
c3c13da1a6
dashboard: Restore minimized experiments when trying to open them again
...
When the user tried to open an experiment from the explorer that
already existed, previously "nothing would happen" (focus change
without the window being restored).
2017-12-15 19:11:09 +00:00
b6199bb35b
sayma: style
2017-12-15 19:45:51 +08:00
649b60ea29
targets/kc705_drtio: remove DAC FMC card support
2017-12-15 17:32:25 +08:00
f02c74cb7b
libboard/si5324: enable both clock outputs
2017-12-15 16:56:44 +08:00
9caef3c1d3
libboard/si5324: configure I2C mux on Sayma
2017-12-15 16:45:26 +08:00
341e809859
targets/sayma_rtm: enable Allaki RF switches, GPIO access to attenuator
2017-12-15 13:08:35 +08:00
77977932f2
firmware: remove AD9516 support
...
This was only used in KC705 phaser.
2017-12-14 19:16:39 +08:00
2e74ce25d8
examples/sayma: make LED blink pattern more peculiar
2017-12-14 19:10:34 +08:00
100c2b1769
add Sayma LED blinker example
2017-12-14 18:49:50 +08:00
569484f888
remove phaser, adapt SAWG example to Sayma
2017-12-14 18:49:27 +08:00
5809e08686
runtime: no startup_clock config is not an error
2017-12-14 12:39:26 +08:00
71db953ea0
artiq_flash: add srcbuild option to look into MiSoC source build trees. Closes #868
2017-12-14 10:36:32 +08:00
5e251cd85c
sayma_amc: remove redundant bitstream options
...
* CONFIGRATE default is sufficient
* SPI width can be auto and QSPI works
2017-12-13 14:39:32 +01:00
a9d0f253a5
sayma_amc: set bitstream and config parameters
...
* slow down CCLK rate as there is additional loading
on the signals
* single bit SPI for now until we know that quad SPI
works
* set up
https://github.com/m-labs/artiq/issues/847
2017-12-13 21:21:52 +08:00
2917208d89
artiq_flash: fix sayma flashing
...
* do not include jtagspi as it already instantiates a flash bank
instead define the target manually
* erase before writing
* verify written images
2017-12-13 21:20:16 +08:00
whitequark
3cf5cef168
artiq_pcap: still grab the file if the command fails.
2017-12-08 07:36:56 +00:00
whitequark
9e8bb1d51c
runtime: update smoltcp.
2017-12-08 07:36:56 +00:00
a44f8282dc
test_performance: relax network speed to 2 MB/s
...
At QUARTIQ I am getting 2.4/2.3 MB/s and with single switch at M-Labs we
apparently regularly met 2.2/2.2 MB/s. But with the current multiple
switches and one of them being a problematic switch that triggered #837
it looks like it is a tad slower.
http://buildbot.m-labs.hk/builders/artiq/builds/1818/steps/python_coverage_1/logs/stdio
2017-12-06 17:21:41 +01:00
whitequark
1c25f7ef52
gateware: make software builds spew less junk on the console.
...
[ci skip]
2017-12-04 14:19:35 +00:00
whitequark
277b00eb9d
artiq_devtool: --config is no longer supported by artiq_flash.
...
[ci skip]
2017-12-04 14:19:31 +00:00
66e089b376
libboard/serwb: more explicit retry log message
2017-12-02 10:51:13 +08:00
Florent Kermarrec
0eb9f93611
libboard/serwb: retry serwb initialization on error
2017-12-01 22:45:05 +01:00
2e5b20d53d
libboard/hmc830_7043: enable HMC830
2017-11-30 12:06:54 +08:00
ad2a32d381
libboard/ad9154: small cleanup
2017-11-30 11:33:58 +08:00
Florent Kermarrec
bd75954192
libboard/ad9154: update for sayma (spi, jesd parameters, linerate), breaks kc705/ad9154 fmc support
2017-11-29 18:09:39 +01:00
Florent Kermarrec
8b8da39a8f
libboard/hmc830_7043.rs: fix HMC7043 comments
2017-11-29 17:59:42 +01:00
19498e59f9
libboard: fix JESD reset release
2017-11-29 18:18:41 +08:00
bb3d6ef84a
sayma: remove ad9154 from mem_map
...
Address is autogenerated by CSR system.
2017-11-29 18:17:25 +08:00
1426ecad64
dashboard: tidy dashboard naming logic
2017-11-28 08:56:04 +08:00
fbd4d8eb6f
dashboard: log server address even if friendly name given
2017-11-28 08:56:04 +08:00
b6ad510007
master: style (NFC)
2017-11-28 08:56:04 +08:00
00efb0ccd2
master: expand --name help
2017-11-28 08:56:04 +08:00
10ee3f19a8
dashboard: close config RPC Client cleanly at exit
2017-11-28 08:56:04 +08:00
0999f2dd86
dashboard: explain default configuration file path
2017-11-28 08:56:04 +08:00
84b5e68349
dashboard: use master's friendly name in dashboard title
2017-11-28 08:56:04 +08:00
fafabacf97
master: add friendly name
2017-11-28 08:56:04 +08:00
2852e793ab
dashboard: store separate configuration data for each master, keyed by server and port
2017-11-28 08:56:04 +08:00
cfb41e71a8
libboard: print serwb settings at the debug log level
2017-11-28 01:23:33 +08:00
whitequark
8e8f037971
runtime: print ethmac preamble error count.
...
Also, print total error count, not the difference (but still compute
the difference to determine *when* to print).
2017-11-26 22:35:26 +00:00
whitequark
e5995794be
artiq_devtool: actually hold the lock until script termination.
...
The open channel that ran flock was garbage collected, which caused
the flock command to terminate.
2017-11-26 20:54:24 +00:00
whitequark
b5d098c6db
Add lockfile support to artiq_devtool.
2017-11-26 15:17:35 +00:00
7f15f50878
coredevice/ad9912: add [untested, wip]
2017-11-24 18:47:46 +01:00
280392708d
sawg: fix typo
2017-11-22 20:06:02 +08:00
29181b1586
artiq_influxdb: use aiohttp.ClientSession. Closes #829
2017-11-22 17:31:09 +08:00
whitequark
26fdd42f8f
runtime: update smoltcp.
2017-11-22 08:09:06 +00:00
ecfe2e40ee
sayma_amc_standalone: rtio channels for both sawg groups
2017-11-19 18:32:42 +01:00
d1a7c1c3a1
sayma_amc_standalone: connect sawg to jesd again
2017-11-19 14:36:20 +01:00
Florent Kermarrec
dfdd2dd9e6
gateware/targets/sayma_amc_standalone: revert self.add_wb_slave on serwb
2017-11-19 09:01:20 +01:00
Florent Kermarrec
cd83b71d92
gateware/targets/sayma_amc_standalone: serwb working, need fixing on AD9154 data mapping
2017-11-18 18:10:28 +01:00
Florent Kermarrec
a3383c340c
firmware/satman/lib.rs: has_serwb_phy to has_serwb_phy_amc
2017-11-18 18:09:35 +01:00
Florent Kermarrec
39a8fc682d
artiq/firmware/libboard/hmc830_7043.rs: some cleanup, don't use hmc830 for now
2017-11-18 18:08:31 +01:00
Florent Kermarrec
f003566e52
serwb: fix rx_delay_inc on ultrascale, this was the issue serwb issue...
...
rx_delay_inc and rx_delay_ce were set for only one cycle, on ultrascale, these signals are translated to serwb_serdes_5x clock domain and we now set rx_delay_inc always to 1 (MultiReg), rx_delay_ce for one cycle (PulseSynchronizer)
2017-11-18 18:01:46 +01:00
Florent Kermarrec
1b976bfa4d
gateware/serwb/kusphy: use AsyncResetSynchronizer on cd_serwb_serdes_5x
2017-11-18 17:57:11 +01:00
Florent Kermarrec
aff1609a53
firmware/libboard: use correct jesd clocking
2017-11-10 10:56:45 +01:00
Florent Kermarrec
d90d624877
firmware/libboard/serwb: revert init reset, show delay
2017-11-10 10:53:20 +01:00
Florent Kermarrec
464b24a608
gateware/targets/sayma_amc: integrate ad9154 correctly (add crg, use cpll instead of qpll, use correct clocking) and cleanup serwb constraints.
2017-11-10 10:48:32 +01:00
Florent Kermarrec
278c739d30
gateware/targets/sayma_rtm: add dynamic clock mux, cleanup serwb clock constraints
2017-11-10 10:39:47 +01:00
Florent Kermarrec
48bfaec8d3
gateware/serwb/phy: remove unnecessary rx_dly_rst (use wrap-around), fix typo & pep8
2017-11-10 10:37:08 +01:00
Florent Kermarrec
59be095512
gateware/serwb/kusphy: use locally inverted clk_b on iserdese3
2017-11-10 10:35:48 +01:00
Florent Kermarrec
db82b11f29
gateware/serwb/core: cleanup and increase fifo depth
2017-11-10 10:33:39 +01:00
5dc131636d
artiq_flash: adapt to bit2bin
2017-11-09 18:10:15 +01:00
4880e4225d
bit2bin: cleanup
2017-11-09 13:00:04 +01:00
Florent Kermarrec
76ddb063cf
gateware/targets/sayma: get hmc830/7043 spi working (still need to test clock generation)
2017-11-06 12:08:28 +01:00
whitequark
fcd660d682
runtime: remove accidentally deleted code.
2017-11-03 16:10:59 +00:00
whitequark
dfb2fe0b80
runtime: allow #[cfg(not(has_ethmac))] builds.
2017-11-03 16:09:22 +00:00
whitequark
4835431ac3
runtime: allow #[cfg(not(has_kernel_cpu))] builds.
2017-11-03 16:04:17 +00:00
whitequark
ad8fcb8b86
runtime: has_rtio -> has_rtio_core.
...
has_rtio is the cfg for the kernel CPU, has_rtio_core is the one
for the comms CPU.
Also remove a few useless #[cfg]s.
2017-11-03 15:59:59 +00:00
whitequark
2404a0d8c8
runtime: allow #[cfg(not(has_rtio))] builds.
2017-11-03 15:49:30 +00:00
Florent Kermarrec
b3e920b3c8
firmware/libboard/serwb: fix init
2017-11-03 12:16:16 +01:00
Florent Kermarrec
5bd1e43ced
gateware/serwb: cleanup imports, use buffered SyncFIFO in EtherboneRecordSender
2017-11-03 12:15:14 +01:00
0d8bad5128
runtime: fix rtio::log
2017-11-03 09:25:37 +08:00
4387b0be1e
clean up rtio_log
2017-11-03 00:52:53 +08:00
62320432a5
artiq_flash: fix sayma amc tap/pld index
2017-11-01 14:45:07 +01:00
bfd36e7340
artiq_flash: update for Sayma OpenOCD changes
2017-11-01 20:11:18 +08:00
4a57b52241
artiq_flash: add preinit-command option
2017-11-01 17:34:10 +08:00
6089d44fd0
artiq_flash: update Sayma flash proxy bitstream name
2017-11-01 14:57:30 +08:00
8407b2c400
examples/ad5360: set FMC DIO directions
2017-10-31 23:15:03 +08:00
d80cf8d59d
kc705: add TTLs and shift register driver for FMC DIO
2017-10-31 23:14:39 +08:00
4deeccbead
coredevice: add shift register driver
2017-10-31 23:13:06 +08:00
f3f83174b1
test: check that DMA can underflow
2017-10-31 00:10:13 +08:00
0695afec37
examples/dma_blink: use handle
2017-10-31 00:07:34 +08:00
415fa00846
test: relax rtio test_loopback
2017-10-30 23:07:54 +08:00
20a5f095f8
test: use longer DMA sequence when playing it back repeatedly
...
The CPU has to keep up.
2017-10-30 23:06:38 +08:00
9bf189ca10
test: relax timing requirements when not using DMA handle
...
core_dma.playback() without handle incurs a round-trip with the comms
CPU and should not be used in critical real-time sections.
Closes #834 .
2017-10-30 22:57:12 +08:00
whitequark
b03e36e4e9
conda: update misoc.
2017-10-30 09:33:02 +00:00
whitequark
7f32ae31de
runtime: fix a typo.
2017-10-30 08:48:35 +00:00
whitequark
a66450b0af
runtime: temporarily revert ethmac statistics collection.
2017-10-30 08:27:51 +00:00
whitequark
ae2d7abbed
runtime: update smoltcp.
2017-10-30 08:26:54 +00:00
whitequark
cdf63c5ea0
runtime: interrogate ethmac error counters and display changes.
2017-10-30 07:46:23 +00:00
whitequark
978c0d98aa
runtime: update smoltcp.
2017-10-30 07:22:47 +00:00
whitequark
7dfe7d8c93
test: verify no network performance regression from current 2.2 MB/s.
2017-10-30 04:25:58 +00:00
whitequark
8e91856426
runtime: parse the "ip" configuration as IP, not CIDR.
...
Or it defaults to the default IP on settings that were previously
perfectly valid.
2017-10-30 04:25:58 +00:00
dc9327e056
dashboard: handle device dependencies in moninj
2017-10-26 14:33:49 +08:00
c98fe70cfa
dashboard: resize moninj widgets to fit titles
2017-10-26 12:02:15 +08:00
d5b5076f67
gateware/ad5360_monitor: fix SPI data decoding
2017-10-26 11:58:59 +08:00
00a2e51f99
examples/ad5360: adapt for Zotino
2017-10-26 11:58:15 +08:00
e80a527f2e
dashboard: add DAC monitoring widgets
2017-10-26 02:26:59 +08:00
bb6e7618bb
examples/device_db: update DAC entry for Zotino, add sections
2017-10-26 02:26:19 +08:00
whitequark
6bdeddd201
runtime: remove UDP-related code.
2017-10-25 02:55:01 +00:00
whitequark
cdba330845
Update smoltcp.
...
Fixes #840 .
2017-10-25 02:31:27 +00:00
7edff48b6d
conda/artiq_flash: use proxy bitstream package
...
fix #841
2017-10-23 15:21:54 +02:00
412548a86c
gateware: add AD5360 monitor (untested)
2017-10-23 20:09:28 +08:00
42aca0d64a
ad5360: revert incorrect part of a9798ae2
...
We don't have enumerate() yet.
2017-10-23 18:50:50 +08:00
a9798ae2b1
gateware/spi: style
2017-10-23 18:46:18 +08:00
5803ac9998
gateware: add Zotino SPI to NIST CLOCK target
2017-10-23 15:04:30 +08:00
4fa823b62a
gateware: add support for SPI-over-LVDS
2017-10-23 15:04:01 +08:00
whitequark
9d356ed93b
firmware: implement board::pcr.
2017-10-18 11:04:13 +00:00
e1e1f58ba9
libboard: fix use
2017-10-13 12:26:34 +02:00
95b3ddbaf0
scanwidget: protect against resize from zero
...
fix #839
2017-10-11 22:26:18 +02:00
893be82ad1
rtio/dma: raise underflow in test
2017-10-09 10:22:58 +08:00
a9c9d5779d
rtio/dma: add full-stack test with connection to RTIO core
2017-10-08 22:38:02 +08:00
5f083f21a4
rtio/dma: fix signal width
2017-10-08 22:37:46 +08:00
whitequark
e7dac530c1
runtime: avoid hardcoding ethmac slot layout, use info from CSR.
2017-10-03 19:16:11 +00:00
a89b053473
firmware: wait for HMC830 lock
2017-10-04 01:42:57 +08:00
whitequark
fd3a09dd4d
Fix ca254ec5
.
2017-10-03 05:49:50 +00:00
whitequark
ca254ec55e
compiler: disallow op= on mutable lists only ( fix #835 ).
...
This only really applies to lists since those use fat pointers.
`x.y += z` is fine.
2017-10-02 07:21:14 +00:00
cda9719f4b
gui: update version number in background
2017-10-02 12:43:49 +08:00
whitequark
2684aec4c6
firmware: use read_unaligned instead of a hack. NFC.
2017-10-02 03:38:31 +00:00
whitequark
fd07c3f4d7
runtime: get rid of config_dummy.rs. NFC.
...
Use the same strategy as elsewhere.
2017-10-02 03:20:50 +00:00
whitequark
73c76ebb9a
firmware: eliminate most transmutes and document the rest. NFC.
2017-10-02 03:09:46 +00:00
whitequark
7ad54e1dcf
firmware: unbreak heap view.
...
This was missing since 7799413a
for no good reason.
2017-10-02 02:02:45 +00:00
whitequark
e59b301a3b
compiler: disallow op= on mutable values ( fix #835 ).
...
In general, we can't reallocate a value in earlier stack frames,
or fixup references to it. This mainly impacts lists.
2017-10-02 01:55:26 +00:00
whitequark
f86744c65c
compiler: implement ~ operator ( fix #836 ).
2017-10-01 19:33:18 +00:00
whitequark
843786a091
compiler: minor intrinsic refactoring.
2017-10-01 19:00:10 +00:00
whitequark
491c7ef898
compiler: correct semantics of floating point % operator ( fix #830 ).
2017-10-01 18:57:45 +00:00
whitequark
62f2693e36
compiler: correct semantics of integer % operator ( #830 ).
2017-10-01 18:32:57 +00:00
c7de233208
Merge Sayma SAWG changes (untested)
...
See #798
* sinara:
conda: bump migen
sayma_amc: SAWG (untested)
sayma_rtm: make build dir
conda: jesd204b 0.4
2017-09-29 21:01:02 +02:00
b4c52c34f7
Merge branch 'sinara'
2017-09-30 01:11:16 +08:00
6c049ad40c
rtio: report channel numbers in asynchronous errors
2017-09-29 16:32:57 +08:00
5437f0e3e3
rtio: make sequence errors consistently asychronous
2017-09-29 14:40:06 +08:00
5e3cc83842
sayma_amc: SAWG (untested)
2017-09-27 18:44:35 +02:00
2604806512
sayma_rtm: make build dir
2017-09-27 18:35:46 +02:00
4e31e9a9ac
test: relax test_rtio.test_loopback
...
With SED there are 8 additional FIFO output stages.
2017-09-26 17:13:02 +08:00
73043c3464
drtio: disable SED lane spread
...
Doesn't improve things as the buffer space would still be determined
by the full FIFO, and adds unnecessary logic.
2017-09-26 16:46:09 +08:00
d7ef07a0c2
rtio/sed: document architecture
2017-09-26 16:44:23 +08:00
e6f0ce3aba
rtio/sed: test latency compensation
2017-09-26 16:11:21 +08:00
9905b8723b
rtio/sed: support negative latency compensation
2017-09-26 16:11:08 +08:00
f079ac6af6
rtio/sed: disable wait in TestLaneDistributor.test_regular
2017-09-26 16:10:52 +08:00
4112e403de
rtio/sed: latency compensation
2017-09-26 15:09:07 +08:00
whitequark
c00b3fe8cd
firmware: update smoltcp.
2017-09-24 22:57:27 +00:00
whitequark
7799413a41
firmware: update Rust from 1.18.0 to 1.20.0.
2017-09-24 22:51:44 +00:00
e430d04d3f
drtio: remove obsolete import
2017-09-24 12:49:21 +08:00
20d79c930c
drtio: use SED and input collector
2017-09-24 12:23:47 +08:00
aa8fc81a87
rtio: allow specifying glbl_fine_ts_width externally
2017-09-23 22:34:55 +08:00
whitequark
c1829f3eda
runtime: update smoltcp.
2017-09-22 19:05:18 +00:00
5cf0693758
rtio: use BlindTransfer to report collision and busy errors to sys domain
2017-09-21 22:31:56 +08:00
d74a7d272e
rtio: fix/cleanup parameters
2017-09-21 15:59:48 +08:00
07d3f87c51
rtio/sed: min_space → buffer_space
2017-09-21 14:36:13 +08:00
Thao
e94d2d3779
set range for divider values
2017-09-21 14:26:16 +08:00
d8aa75b742
rtio/sed: add minimum buffer space reporting
2017-09-20 11:27:57 +08:00
63e39dec94
style
2017-09-20 11:26:12 +08:00
9ccd95e10d
drtio: remove spurious signals
2017-09-19 20:48:12 +08:00
7249f151a5
targets/kc705_drtio_satellite: add missing shebang line
2017-09-19 20:48:12 +08:00
171a2d19a0
drtio: remove spurious signals
2017-09-19 20:47:37 +08:00
1ff10785dc
targets/kc705_drtio_satellite: add missing shebang line
2017-09-19 20:46:16 +08:00
ddcd6065e8
rtio: drive InputCollector.coarse_timestamp
2017-09-19 17:46:38 +08:00
ff8e17ab89
rtio: use input collector module
2017-09-19 15:53:35 +08:00
4dc80e3d05
rtio: add missing import
2017-09-19 15:53:23 +08:00
06a0707c00
rtio: add simulation unit test for input collector
2017-09-19 15:30:44 +08:00
d37577a8a1
rtio: add input collector module
2017-09-19 15:30:30 +08:00
6dc9cad2c9
rtio: add explanation about cri.counter
2017-09-19 12:05:12 +08:00
81d6317053
rtio/sed: take global fine TS width
2017-09-18 11:30:49 +08:00
65baca8c57
rtio: clean up error-prone rtlink.get_or_zero()
2017-09-17 16:11:36 +08:00
53860868f4
test/rtio: wait for counter >= now before checking for async errors
2017-09-16 17:52:39 +08:00
0824e0aeae
gateware/targets: remove deprecated ofifo_depth parameter
2017-09-16 17:04:11 +08:00
e2c1d4f3d5
rtio/sed: trigger collision error on non-data replace
2017-09-16 17:01:23 +08:00
770ce2658f
test: adapt SequenceError test to SED
2017-09-16 16:28:57 +08:00
0e25154e25
rtio/sed: quash writes to LogChannel
2017-09-16 15:19:30 +08:00
1cfe90b1d9
rtio/sed/Gates: fix fine_ts_width computation
2017-09-16 15:09:21 +08:00
30e7765a2e
drtio: add missing import
2017-09-16 14:36:27 +08:00
a3bb6c167c
rtio: use SED
2017-09-16 14:13:42 +08:00
131f5e4a3b
rtio/sed/LaneDistributor: fix CRI address
2017-09-16 14:13:01 +08:00
25c644c663
rtio/sed: add top-level core unit test
2017-09-16 14:05:08 +08:00
a155a481b1
rtio/sed: add top-level core
2017-09-16 14:04:56 +08:00
92c63ce2e4
rtio/sed: rename fifos/gates, refactor tsc
2017-09-16 14:03:48 +08:00
ac52c7c818
rtio/sed/LaneDistributor: style
2017-09-16 14:02:37 +08:00
7b299ba583
rtio/sed: remove obsolete ofifo_depth from test_output_driver
2017-09-16 14:01:19 +08:00
6b7a1893c7
rtio/sed/OutputDriver: support channels with different fine timestamp widths
2017-09-16 10:53:30 +08:00
f39ee7ad62
rtio/sed: fix seqn_width
2017-09-16 10:52:37 +08:00
064503f224
rtio/sed/LaneDistributor: support specifying existing CRI
2017-09-16 10:52:13 +08:00
1cb05f3ed5
rtio/sed/LaneDistributor: persist underflow/sequence error until next write
2017-09-16 10:51:44 +08:00
3c922463a0
style
2017-09-15 15:36:46 +08:00
8e5ab90129
rtio/sed: add FIFO wrapper
2017-09-15 15:36:34 +08:00
490c9815a2
rtio/sed: add TSC/gate (untested)
2017-09-14 19:53:21 +08:00
181cb42ba8
rtio/sed: centralize all layouts in one file
2017-09-14 19:52:31 +08:00
1b61442bc3
rtio/sed: fix lane spreading and enable by default
2017-09-13 22:48:10 +08:00
8cfe2ec53a
rtio/sed: fix sequence number width computation
2017-09-13 22:11:41 +08:00
a92a955d1e
rtio/sed: use __all__
2017-09-13 18:17:22 +08:00
feec6298a5
rtio/sed: add lane distributor simulation unittest
2017-09-13 18:00:16 +08:00
c74abccfd5
rtio/sed: lane distributor fixes
2017-09-13 17:50:06 +08:00
bdd96084c5
rtio/sed: add lane distributor (untested)
2017-09-13 00:07:26 +08:00
faf54127ac
rtio/sed: remove VCD fine in unittest
2017-09-11 23:07:09 +08:00
a2b7894134
rtio/sed: add output driver simulation unittest
2017-09-11 23:05:10 +08:00
00ff3f5b0d
rtio/sed: fix output driver busy output
2017-09-11 23:04:52 +08:00
64d9381c36
rtio/sed: remove uneeded yield in test_sed_output_network
2017-09-11 23:02:56 +08:00
666bc600a2
rtio/sed: add output driver (untested)
2017-09-11 11:10:28 +08:00
1d2ebbe60f
rtio/sed: make ON payload layout configurable, add latency function
2017-09-11 09:06:40 +08:00
527b403bb1
rtio/sed: add output network simulation unittest
2017-09-10 23:41:20 +08:00
c5d6a2ba1a
rtio/sed: more output network fixes
2017-09-10 23:41:04 +08:00
96505a1cd9
rtio/sed: output network fixes
2017-09-10 23:23:10 +08:00
5646e19dc3
rtio/sed: add output network (untested)
2017-09-10 14:38:43 +08:00
928cffb09b
firmware: export floor() in ksupport. Closes #828
2017-09-10 12:07:06 +08:00
264d5fde83
runtime: fix Rust types in RTIO
...
Previous code assumed all RTIO registers were u32, but this was changed
by misoc c5edcd08.
2017-09-06 19:21:39 +08:00
Florent Kermarrec
2091c7696a
artiq/gateware/targets/sayma_amc_standalone: fix serwb_pll vco_div and serwb_phy mode
2017-09-06 09:18:12 +02:00
2b2b345eb9
firmware: wait for serwb to be ready before proceeding further
2017-09-06 11:07:07 +08:00
33f053cff8
libboard: complete but undebugged support for HMC830/7043 programming
2017-09-06 10:46:02 +08:00
4baf17cebe
libboard: generate HMC7043 register write list
2017-09-05 21:46:03 +08:00
091bb28043
libboard: use libbuild_artiq
2017-09-05 21:13:04 +08:00
whitequark
74b7010d67
runtime: allow safely pulling logs even on TRACE log level.
...
Before this commit, this resulted in a packet flood, because
sending a TRACE log message to the host caused more TRACE log
messages to be emitted.
2017-08-31 14:13:51 +00:00
whitequark
c9e2a085ec
logging, aqctl_corelog: recognize log level TRACE.
2017-08-31 13:12:22 +00:00
b609366c6f
runtime: fix Rust types in RTIO
...
Previous code assumed all RTIO registers were u32, but this was changed
by misoc c5edcd08.
2017-08-31 13:42:32 +08:00
44edba0c65
firmware: add placeholder code for HMC830/7043 initialization
2017-08-31 13:35:47 +08:00
9edff2c520
remote_csr: interpret length as CSR size, not number of bus words
2017-08-31 13:34:48 +08:00
0a5904bbaa
firmware: support for multiple JESD DACs
2017-08-31 13:05:48 +08:00
a4144a07c4
sayma_amc: add converter SPI config defines
2017-08-31 13:04:38 +08:00
bacf8a1614
style
2017-08-31 12:52:09 +08:00
d92cca9712
artiq_flash: fix target_file handling
2017-08-31 12:16:52 +08:00
ad0a940e2d
sayma_rtm: hook up DAC SPI
2017-08-31 11:48:54 +08:00
f765dc50de
sayma_rtm: do not keep DACs in reset
2017-08-31 11:44:33 +08:00
a67659338d
sayma: clean up serwb comments
2017-08-31 11:42:01 +08:00
whitequark
4883eea252
libproto: simplify (NFC).
2017-08-31 02:48:59 +00:00
whitequark
20f43d5792
firmware: fix ethmac MTU value.
...
1500 is the maximum payload size, not maximum frame size.
2017-08-31 00:57:35 +00:00
whitequark
737c1044a4
firmware: update smoltcp.
2017-08-31 00:45:56 +00:00
Florent Kermarrec
660f9856ec
gateware/serwb: add test for phy initialization
2017-08-30 17:59:10 +02:00
whitequark
f26e698f31
Revert "firmware: reduce ethmac maximum burst size by one."
...
This reverts commit 2231b16e0a
.
Only made a difference with TRACE log level to UART, i.e. only
because UART was the bottleneck.
2017-08-30 15:22:20 +00:00
whitequark
39ecbc0d68
firmware: update smoltcp.
2017-08-30 14:35:45 +00:00
whitequark
2231b16e0a
firmware: reduce ethmac maximum burst size by one.
...
Empirically, this much reduces packet loss. I'm not really sure why,
but it seems safe to do the change.
2017-08-30 14:35:25 +00:00
Florent Kermarrec
9650233007
gateware/serwb: change serdes clock domain to serwb_serdes
2017-08-30 15:44:44 +02:00
Florent Kermarrec
32ca51faee
gateware/targets/sayma_amc_standalone/rtm: use new serwb modules
2017-08-30 15:25:20 +02:00
Florent Kermarrec
41d57d64f6
gateware/serwb: SERWBPLL, SERWBPHY, SERWBCore and add checks in delay finding to verify the sampling window
2017-08-30 14:40:11 +02:00
Florent Kermarrec
9ba50098a8
gateware/test/serwb: use unittest for in test_etherbone
2017-08-29 17:31:01 +02:00
Florent Kermarrec
7d7f6be7ce
gateware/serwb: generate wishbone error if link loose ready in the middle of a transaction
2017-08-29 16:41:29 +02:00
Florent Kermarrec
60ad36e7d6
gateware/serwb: generate wishbone error on wishbone slave when access while link is not ready
2017-08-29 13:43:26 +02:00
Florent Kermarrec
89558e2653
gateware/serwb: for the initial version set delay in the center of the valid sampling window and don't use phase detectors
...
we'll use phase detectors later when it will be working reliably for both artix7 and kintex ultrascale
2017-08-29 13:38:52 +02:00
mntng
d19e70595a
test_rpctool: always create new asyncio event loop
2017-08-29 04:00:09 -04:00
mntng
3952954c12
add unitttest for artiq_rpctool
2017-08-28 10:39:32 -04:00
26a11a296c
sayma_rtm: drive DAC control signals
2017-08-26 16:57:02 -07:00
d609c67cbd
sayma_rtm: set clock mux pins
2017-08-26 16:48:10 -07:00
9194402ea5
sayma_rtm: expose HMC SPI bus
2017-08-26 16:31:31 -07:00
dbc12540da
sayma_amc: register RTM CSR regions from CSV
2017-08-26 14:48:11 -07:00
whitequark
e6e176fa14
Revert "firmware: update smoltcp."
...
This reverts commit 7c340f6b48
.
2017-08-25 12:03:01 +00:00
whitequark
7c340f6b48
firmware: update smoltcp.
2017-08-25 07:20:38 +00:00
whitequark
f5e1d9568d
firmware: update smoltcp.
2017-08-24 05:50:59 +00:00
54c75d3274
sayma_rtm: use CSR infrastructure, generate CSR CSV
2017-08-23 17:19:53 -04:00
whitequark
3823193060
artiq_devtool: forward multiple connections.
...
In particular this is useful for running concurrent arqctl_corelog
and anything else using the management channel, such as
artiq_coreboot.
2017-08-23 09:33:07 +00:00
668450db26
sayma_amc: add serwb
2017-08-21 18:11:29 -04:00
0459a70cf6
sayma_amc: cleanup, fix RTM UART forwarding
2017-08-21 16:49:42 -04:00
1f2b373d09
sayma_rtm: remove unnecessary serwb_control
2017-08-21 16:37:13 -04:00
bfea297279
targets: add Sayma RTM
2017-08-21 15:58:01 -04:00
53c7f92fdc
serwb: add __init__.py and expose submodules
2017-08-21 15:57:43 -04:00
dac3a78b75
serwb: style, use migen, fix imports
2017-08-21 12:35:59 -04:00
Florent Kermarrec
da90a0fa12
Add test for Etherbone
...
Files copied directly from https://github.com/enjoy-digital/sayma_test @ 9ec62242659910ad1726beb00ff15b3f0a406615
2017-08-21 12:31:49 -04:00
Florent Kermarrec
44dc76e42e
Add serial Wishbone bridge
...
Files copied directly from https://github.com/enjoy-digital/sayma_test @ 9ce2cba87896d056819dc2edc54f0453a86162c3
2017-08-21 12:22:05 -04:00
d6b624dfbe
sayma_amc: connect RTM serial and second serial
2017-08-20 19:01:55 -04:00
e94d0803e1
artiq_flash: fix Sayma load addresses
2017-08-20 18:21:36 -04:00
261b6fb42e
artiq_flash: fix AMC_DR_LEN
2017-08-20 18:20:51 -04:00
9f4c9fc14b
artiq_flash: Sayma support
2017-08-20 17:23:56 -04:00
bee4902323
add Sayma AMC standalone target
2017-08-20 11:47:45 -04:00
ac83bfbd8e
runtime: add support for targets without SPI flash
2017-08-20 11:28:57 -04:00
1dab7df846
kc705_sma_spi: fix permissions
2017-08-20 10:54:24 -04:00
8459cfe8db
firmware: remove unnecessary git_describe rust-cfg
2017-08-15 08:14:17 -06:00
mntng
ea135f9d06
add unittest for artiq_compile and ELF artiq_run ( #455 )
2017-08-15 08:13:11 -06:00
cf1de4b26a
test_spi: convert to Unix EOL
2017-08-04 11:48:20 +08:00
dd6c48fed2
Merge branch 'master' into epoch_time
2017-08-03 12:55:01 +02:00
cc289dd3a0
master: store run_time and start_time as doubles
2017-08-03 10:41:57 +01:00
223501f811
master: use epoch time for timestamps ( closes #726 )
2017-08-03 10:30:31 +01:00
eabca1f311
master: correct example datestring in help
2017-08-03 10:12:52 +01:00
810bb69989
master: rotate logs at midnight, rather than on log size
2017-08-03 00:31:04 +01:00
2998372d08
browser,dashboard: delete MDI subwindows when they are closed
2017-07-29 20:36:38 +08:00
mntng
692dc0803b
test: add test for SPI core using SD card
2017-07-28 19:10:44 +08:00
df4f38a1e4
kc705: add pullup on SD card MISO
2017-07-24 22:26:16 +08:00
189020344c
spi: fix typo in doc
2017-07-20 22:18:21 +08:00
d0b21a8e85
manual: add short description of drivers, with replace support information. Closes #777
2017-07-20 12:01:29 +08:00
471605ec1e
pdq: move to https://github.com/m-labs/pdq
2017-07-19 17:35:28 +02:00
377c776ec8
examples/dma_blink: replay → playback
2017-07-18 14:01:08 +08:00
9898681a38
aqctl_corelog: only set logging.DEBUG after the server is set up
...
Otherwise asyncio pollutes the log.
2017-07-18 14:00:06 +08:00
whitequark
dd87508a7f
Implement forwarding of logs from core device to master.
...
Fixes #691 .
2017-07-18 05:31:59 +00:00
whitequark
819440f839
runtime: split log timestamp into secs.micros.
2017-07-18 05:31:59 +00:00
whitequark
9e38132c0a
artiq_devtool: don't drop data in unpredictable ways (sigh).
2017-07-18 05:31:59 +00:00
a201a9abd9
drtio: multilink transceiver interface
2017-07-18 13:27:33 +08:00
d96c2abe44
pdq: read/write_reg -> get/set_reg
...
see also m-labs/pdq#14
2017-07-17 21:45:46 +02:00
9045b4cc19
drtio: initial firmware support for multi-link
2017-07-18 00:40:21 +08:00
whitequark
d06d53b00d
firmware: don't bail out if building not from a git checkout ( #783 ).
2017-07-15 03:16:21 +00:00
4deb5f6a45
gateware: use new MiSoC Wishbone address system
2017-07-13 19:16:49 +08:00
mntng
40ca951750
kc705: add SPI bus for memory card
...
This will be useful for SPI unit tests using a SD card as victim.
2017-07-12 00:27:44 +08:00
f0841f5489
spline: be really verbose
...
closes #773
2017-07-07 11:43:58 +02:00
7b130a2c32
sawg: confirm smooth(order=3)
2017-07-07 11:36:03 +02:00
3bc0e32dc0
sawg: advance the timeline on Config access
...
c.f. #773 #765
2017-07-07 11:33:58 +02:00
3222f5036f
sawg: describe latency matching in detail
2017-07-06 10:06:21 +02:00
whitequark
1e2603572a
runtime: fix a bug causing sockets to get stuck in CLOSE-WAIT.
2017-07-05 16:27:36 +00:00
whitequark
86c027e9c5
artiq_flash: don't require binaries to merely restart FPGA.
2017-07-04 18:55:38 +00:00
whitequark
ee1d5dbccb
runtime: allow a much larger log buffer and avoid hacks.
2017-07-04 18:18:31 +00:00
whitequark
7a5fbc1622
devtool: forward port 1383 (moninj).
2017-07-04 17:54:18 +00:00
whitequark
4e5ea1bbaf
dashboard: fix a crash touching moninj without a connection.
2017-07-04 17:53:48 +00:00
2f1029c292
Revert "sawg: advance dds 1/2 by one sample group"
...
This reverts commit 8e0a1cbdc8
.
c.f. #772
The underlying issue is still the same. You will always find something that does not match when trying to compare the DDS with the parallelized DUC. They are just different. I could correct it for phase but then it will fail for amplitude. Or you'll compare the offset channel to phase1 or amplitude1. Let's state that equal things are well synchronized but unequal things may have a deterministic latency difference of strictly less than one coarse RTIO cycle.
2017-07-04 17:55:19 +02:00
8e0a1cbdc8
sawg: advance dds 1/2 by one sample group
...
closes #772
2017-07-04 16:51:58 +02:00
91ca9fbcad
sawg: also give offset some headroom
...
closes #771
2017-07-04 16:50:06 +02:00
78d1f0fdf6
sawg: fix PhasedAccu resets
2017-07-04 11:56:21 +02:00
Florent Kermarrec
2910b1be5e
artiq/gateware/rtio/dma: replace leave_out with omit in Record.connect
2017-07-04 10:48:06 +02:00
838127d914
rtio: break DMA timing path
2017-07-02 10:24:01 +08:00
whitequark
ea7549cfa4
compiler: coerce while
condition to bool.
...
Fixes #768 .
2017-07-01 18:59:07 +00:00
911ee4a959
rtio: make pipelined logic reset_less
...
* latency-corrected counters
* registered error logic
2017-06-29 12:55:32 +02:00
600a48ac61
dsp.fir: cleanup
2017-06-29 12:18:48 +02:00
dca662a743
dsp.fir: pipeline final systolic adder
2017-06-29 11:33:19 +02:00
32a33500c8
dsp.fir: actively cull zero delays
2017-06-29 11:24:56 +02:00
f520d4a768
rtio: undo _RelaxedAsyncResetSynchronizer
2017-06-28 22:08:15 +02:00
3cbbcdfe96
sawg: don't enable_replace for Config
...
closes #762
2017-06-28 20:31:40 +02:00
f2632e0fd1
sawg: adapt latency to fir changes
...
closes #748
2017-06-28 20:12:30 +02:00
e7db2c6578
dsp.accu: reset_less outputs
2017-06-28 20:04:58 +02:00
6bb994228f
dsp.fir: drop x shift
2017-06-28 19:55:15 +02:00
01847271c5
rtio: use reset_less signal for reset fanout
2017-06-28 19:43:55 +02:00
b9859cc0c3
dsp.fir: remove old/wrong comment
2017-06-28 19:21:57 +02:00
55b5b87490
fir: simplify latency compensation
...
Don't try to tweak out the last bit of latency by feeding the HBF input
early. Instead feed it late so the interpolated samples are early and
the latency is an even multiple of the super-sample cycle.
2017-06-28 19:13:43 +02:00
d1e5dd334f
sawg: use pipeline reset
2017-06-28 19:09:39 +02:00
6418205906
dsp.fir: use pipelin-reset
2017-06-28 19:09:21 +02:00
whitequark
6a49c114c8
runtime: update smoltcp.
2017-06-28 00:27:22 +00:00
whitequark
370f22541c
runtime: update smoltcp.
2017-06-27 21:06:45 +00:00
whitequark
f36f00a83d
artiq_devtool: do not chop up the TCP stream into 1024 byte chunks.
...
This makes the smoltcp behavior quite different than without
the TCP forwarding (and can mask smoltcp issues).
2017-06-26 08:39:16 +00:00
whitequark
282f4256e0
artiq_pcap: atomically replace pcap file.
...
Otherwise this segfaults Wireshark (?!).
2017-06-26 03:22:14 +00:00
whitequark
d6f4f1f3bc
artiq_devtool, artiq_pcap: better option naming.
2017-06-26 00:00:05 +00:00
whitequark
6061393bd0
tools: lazily import paramiko.
2017-06-25 07:17:03 +00:00
whitequark
816ec6c52f
artiq_pcap: implement.
2017-06-25 07:04:29 +00:00
whitequark
69fa9b38e0
test: actually run test_embedding.AsyncTest.
2017-06-25 05:28:32 +00:00
whitequark
31b52ff1b3
coredevice: do not desync kernel TCP stream on RPCReturnValueError.
...
And propagate the error upwards instead of trying to squeeze it
through the core device in futility.
2017-06-25 04:47:32 +00:00
whitequark
fdb24ef139
coredevice: truncate overlong exception messages.
...
If we have a really long one (megabytes) then this may exhaust
the heap of the core device and crash it.
2017-06-25 04:39:08 +00:00
whitequark
1fa8be3835
artiq_devtool: don't loop forever if core device dies.
2017-06-25 04:18:45 +00:00
whitequark
f17a6616b2
runtime: ensure management interface buffer can hold log buffer.
...
Otherwise we get weird edge cases where the network stack could try
to append to log buffer while management interface is holding
the log buffer and trying to push it out, and it's just no good.
The serialized log buffer at its maximum length is slightly longer
than 32 KiB, so we just allocate the largest possible TCP buffer
to the management interface to keep it simple.
2017-06-24 17:09:28 +00:00
whitequark
d0f72632e1
language: export TBytes and TByteArray.
2017-06-24 17:03:35 +00:00
whitequark
12357d884e
runtime: update smoltcp.
2017-06-24 16:55:59 +00:00
07f5e99140
dsp/sat_add: works after previous changes
2017-06-22 18:24:22 +02:00
f78d5a87e9
dsp/test: skip and fix sat_add
2017-06-22 18:01:31 +02:00
47928a2c0d
sawg: disable limiter
...
temporary workaround to permit testing other aspects
2017-06-22 17:31:04 +02:00
cd2ac53bc5
dsp/sat_add: make width mandatory
2017-06-22 17:28:39 +02:00
9b940aa876
dsp/sat_add: spell out logic more
2017-06-22 16:55:13 +02:00
d0cf0f2b87
sawg/limiter: make signed signals explicitly
2017-06-22 13:44:36 +02:00
53be34a25f
sawg: clear phase accu in reset
2017-06-22 13:27:49 +02:00
694f8d784c
dsp/tools: unittest sat_add
2017-06-22 11:29:56 +02:00
bd1438d28e
sawg: wrap limits init values
2017-06-22 10:26:29 +02:00
cccd01e81e
sawg: cleanup sat_add logic
2017-06-22 10:26:29 +02:00
5f6e665158
test/sawg: patch delay_mu
2017-06-22 10:26:29 +02:00
570f2cc1ff
dsp/tools/SatAdd: fix reuse of clipped signal
2017-06-22 10:26:29 +02:00
4b3aad2563
sawg: clean up Config
...
* unify I and Q data limiters. there is no conceivable way why they
would be different.
* reorder clr bits to be like consistent
* move the sat add limiter to before the hbf again
2017-06-22 10:26:29 +02:00
f4c6879c76
sawg: special case Config RTIO address
2017-06-22 10:26:29 +02:00
ff0da2c9fc
sawg: stage code for y-data exchange on channels
2017-06-22 10:26:29 +02:00
b6569df02f
dsp/tools: clean up SatAddMixin logic
2017-06-22 10:26:29 +02:00
f369cb97f7
sawg/examples: add a bit more slack
2017-06-22 10:26:29 +02:00
05b57f5110
protocols: increase another asyncio line limit ( #671 )
2017-06-22 09:43:52 +08:00
c2cc29142d
drtio: remove misleading comment from device_db
2017-06-21 18:34:53 +08:00
6262969d46
test: relax test_dma_record_time
2017-06-21 18:33:58 +08:00
64ce85445c
drtio: add remote converter SPI example ( #740 )
2017-06-21 17:08:12 +08:00
74cf074538
drtio: remove sawg_3g from example targets, add converter SPI bus from FMC-EBZ at all times
2017-06-21 17:01:52 +08:00
66dee9d1ad
drtio: send/process I2C and SPI aux packets ( #740 )
2017-06-21 16:50:51 +08:00
f58f16ccd4
drtioaux: add default timeout
2017-06-21 16:23:11 +08:00
7675dd063b
drtioaux: add I2C and SPI packets ( #740 )
2017-06-21 14:07:16 +08:00
c74de6ae96
phaser: reintroduce test_ad9154_status
2017-06-20 00:49:57 +08:00
8c56a95fa2
spi: add default busno
2017-06-20 00:49:38 +08:00
39ddb66f0f
phaser: add AD9154 SPI access driver to example ddb
2017-06-20 00:49:21 +08:00
470bce6214
coredevice: add AD9154 SPI access driver
2017-06-20 00:48:50 +08:00
a6d06824e7
fix indentation
2017-06-20 00:12:11 +08:00
8f2d85fc5b
add back ad9154_reg.py
2017-06-19 23:45:32 +08:00
c86029bca2
i2c: expose restart as syscall, add structure for I2C-over-DRTIO
2017-06-19 23:44:51 +08:00
268b7d8aaf
typo
2017-06-19 15:42:10 +08:00
09d198c7a1
test: add test for exception on non-existent I2C bus
2017-06-19 15:32:09 +08:00
d08bd58dff
versioneer: cut git hashes consistently ( #753 )
2017-06-19 15:31:48 +08:00
6c6bb67618
libboard: fix compiler warning on not(has_i2c)
2017-06-19 14:57:15 +08:00
5d63489080
i2c,spi: add busno error detection
2017-06-19 14:27:30 +08:00
0d8067256b
rtio: refactor RelaxedAsyncResetSynchronizer
2017-06-18 14:37:08 +02:00
8399f8893d
add kernel access to non-realtime SPI buses ( #740 )
2017-06-18 12:45:07 +08:00
424b2bfbd8
rtio: describe rio and rio_phy domains a bit more
2017-06-17 12:21:07 +02:00
219dfd8984
rtio: add one register level for rio and rio_phy resets
...
* This should give Vivado some wiggle room during PnR.
* It needs three new clock domains which is ugly. But since
AsyncResetSynchronizer can only drive clock domains resets directly
there seems to be no other way to add one register level currently.
2017-06-17 12:17:48 +02:00
8fea361412
firmware: always use 8 characters to abbreviate git commit hashes
2017-06-17 14:43:50 +08:00
e19bfd4781
test_sawg_fe: add ref_multiplier to simulated core
2017-06-16 19:45:24 +02:00
b5772f478a
sawg: add channel reset ( closes #751 )
2017-06-16 19:31:57 +02:00
2a76034fbc
cri: add note about clearing of o_data
2017-06-16 19:06:00 +02:00
fecc42fd0c
sawg/phaser: expand documentation ( closes #750 )
2017-06-14 11:49:52 +02:00
858c1be381
sawg: expand documentation
2017-06-13 18:51:48 +02:00
3f37870e25
sawg: register pre-hbf adder
2017-06-13 18:15:44 +02:00
e229edd5d5
sawg: add register after hbf for timing
2017-06-12 23:08:27 +02:00
315338fca9
test/sawg: test HBF overshoot, fix sim patching
2017-06-12 20:35:47 +02:00
9a8a7b9102
sawg: handle clipping interpolator
...
* give 1 bit headroom to interpolator to handle overshoot
* fix Config limiter widths (NFC)
* move clipper to behind the HBF to correctly shield DUC
This leaves a factor of two headroom for the sum of the following
effects:
* HBF overshoot (~15 % of the step)
* A1/A2 DDS sum
While this is technically not sufficient and can still lead to
overflows, it is unlikely that one would trigger those. It would require
doing large amplitude A1, large amplitude A2 and additionally doing
amplitude/phase jumps that would overshoot the HBF. No sane person would
try that, right?
closes #743
2017-06-12 20:33:54 +02:00
1fb3995ffc
Revert "fir/ParallelHBFUpsampler: add headroom (gain=2)"
...
This reverts commit 6ac9d0c41e
.
Overshooting behavior must to be handled outside the FIR.
2017-06-12 20:07:25 +02:00
332bcc7f3b
fir: check widths
2017-06-12 20:07:23 +02:00
39a1dcbb3d
test/fir: look at overshoot behavior
2017-06-12 20:06:07 +02:00
6ac9d0c41e
fir/ParallelHBFUpsampler: add headroom (gain=2)
...
This addresses part of #743
2017-06-12 18:59:45 +02:00
566ff73dff
pdq: unify spi-PDQ and usb-PDQ protocols
2017-06-10 15:03:25 +02:00
6c54c0f834
sawg: update example
2017-06-10 11:52:48 +02:00
d8aee931ba
sawg: extend phase mode docs
2017-06-09 12:26:49 +02:00
whitequark
f7254dd3ce
compiler.validators.constness: take AugAssign into account.
2017-06-09 07:31:08 +00:00
whitequark
ad2ee714c2
compiler: do not permit iterating str values.
...
This currently breaks badly on UTF-8, and doesn't even return
a value of a correct type.
2017-06-09 07:29:31 +00:00
whitequark
4e7493843a
compiler: Constness is a validator, not analysis.
2017-06-09 07:29:31 +00:00
whitequark
5d841d08e9
compiler: do not permit mutation of bytes values ( #714 ).
2017-06-09 07:29:28 +00:00
whitequark
284382b1f5
compiler: add support for bytearray values in RPC ( #714 ).
2017-06-09 07:15:25 +00:00
whitequark
9ed4e9c1cd
compiler: add support for printing of bytearray values ( #714 ).
2017-06-09 07:15:25 +00:00
whitequark
e9564b15c8
compiler: add support for bytearray type ( #714 ).
2017-06-09 07:15:24 +00:00
whitequark
5b4fde30a8
compiler: unbreak subscripts for bytes values ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
66a683f583
compiler: add support for bytes values in RPC ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
778e7dc2ab
compiler: add support for concatenating bytes values ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
7b2da5294f
compiler: add support for printing of bytes values ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
dba4e1a28b
compiler: add support for bytes type and b"x" literals ( #714 ).
2017-06-09 07:10:48 +00:00
whitequark
d0e92067c3
ksupport: fix UB.
2017-06-09 06:18:20 +00:00
91ad2bc600
sawg: add note about disabled q-exchange
2017-06-07 09:13:01 +02:00
94273e9455
sawg: add non-mu methods for limiter
2017-06-07 09:12:36 +02:00
ebb4660207
coredevice: compare software and gateware versions strictly
2017-06-07 02:11:54 +08:00
f3c7a7de3b
phaser: remove non-functional SPI examples
...
Those will be reimplemented after we have converter SPI access, but this will not be part of the 3.0 release.
2017-06-06 17:37:13 +08:00
ab493a860d
coredevice: fix socket resource leak
2017-06-05 15:45:40 +08:00
bea7a47349
coredevice: compare gateware and software versions on release numbers only. Closes #738
2017-06-05 13:52:24 +08:00
9c973793df
update versioneer
2017-06-05 13:27:26 +08:00
92307d1f9c
fix some missing pdq2→pdq renames
2017-06-03 18:35:36 +08:00
2458da1ade
pdq: get new host driver, adapt
2017-05-31 00:20:10 +02:00
2895448477
sawg: link Spline in docs
2017-05-23 10:33:04 +02:00
52625d57f0
sawg: explain DUC
2017-05-23 10:28:23 +02:00
bfc224d4ba
phaser: adjust to new jesd
2017-05-22 19:59:53 +02:00
679060af1d
phaser: enable dma
2017-05-22 19:32:34 +02:00
06721c19c4
sawg: work around bool->int
2017-05-22 18:50:58 +02:00
1562f79101
sawg: expose config channel
2017-05-22 18:27:42 +02:00
4901cb9a8a
sawg: fix clr width
2017-05-22 17:46:55 +02:00
253ee950f6
sawg: fix config channel addr
2017-05-22 17:45:14 +02:00
e845de2ff2
remove aqcli_pdq2
2017-05-22 19:17:23 +08:00
e4a631a3d7
scheduler: consider the pipeline flushed if everything has a lower priority than us. Closes #640
2017-05-22 18:43:59 +08:00
5fc953119e
fix usage of CommMgmt
2017-05-22 17:32:11 +08:00
6bdb76e9ea
core device logging controller WIP ( #691 )
2017-05-22 16:48:00 +08:00
5ccca74a3f
fold comm device into core device
2017-05-22 15:45:45 +08:00
e7382f4753
fix test_ctlmgr
2017-05-22 15:04:46 +08:00
0ae5e6d8b1
test_lda: more thorough and consistent test of simulation mode
2017-05-22 00:26:05 +08:00
3ed70afaa1
Use commandline prefix for controllers
...
This keeps them better organized and consistent with the artiq_* naming scheme.
Tab completion from aqctl_ also lists all the controllers installed on a machine.
2017-05-22 00:22:10 +08:00
c83e15d040
artiq_corelog: cleanup
2017-05-22 00:06:03 +08:00
8cf0628435
fix lit tests
2017-05-18 23:41:01 +08:00
b7a94d466d
fix experiment name conflict in phaser example
2017-05-18 23:14:55 +08:00
cd757c0f16
generate device database from executable python file
2017-05-18 23:14:55 +08:00
Florent Kermarrec
db3e1aef77
examples/phaser: adapt test_ad9154_prbs to new prbs in fabric
2017-05-15 16:12:02 +02:00
9ab63920e0
Remove Pipistrello support
...
Closes #658
Closes #381
2017-05-15 17:17:44 +08:00
ad85a0cee3
add session manager ( #691 )
2017-05-15 17:05:22 +08:00
0b6fb95deb
firmware: fix revision of compiler_builtins for satman
2017-05-13 15:12:53 +01:00
170d2886fd
Merge branch 'pdq'
...
* pdq:
pdq: documentation
pdq2 -> pdq
pdq2: use 16 bit data, buffered read_mem()
spi: style
pdq2: mem_read
pdq2: align subsequent writes to end
sma_spi: undo cri_con
pdq2: memory write, kernel_invariants
sma_spi: cri/cd changes
sma_spi: LVCMOS25
coredevice.spi: kernel invariants and style
sma_spi: free up user_sma pins
sma_spi: add demo target with SPI on four SMA
pdq2: memory write
pdq2: crc/frame register accessors
doc: pdq2 spi backend
pdq2: config writes
2017-05-12 11:46:45 +02:00
fed24309b8
pdq: documentation
2017-05-02 18:55:02 +02:00
1a1edb13bf
pdq2 -> pdq
2017-05-02 18:05:41 +02:00
Florent Kermarrec
79c339d4ac
gateware/targets/phaser: jesd core now handles jsync completely
2017-04-26 22:25:08 +02:00
8ebb33c05c
master: record time run() is called
2017-04-26 23:36:19 +08:00
Florent Kermarrec
0546affd4c
gateware/target/phaser: jesd start signal renamed to jsync
2017-04-26 12:27:40 +02:00
whitequark
bb64992395
compiler: remove dead code.
2017-04-21 18:38:43 +00:00
whitequark
c5d7445973
compiler: reject reachable implicit return if not returning TNone.
...
Fixes #718 .
2017-04-21 18:11:14 +00:00
whitequark
ed2b10c5aa
compiler: in codegen for delay(), round fp instead of truncating.
...
Consider delay(8*us). It results in the following computation...
>>> 8*1e-06/1e-09
7999.999999999999
with the result promptly getting truncated to 7999.
Fixes #706 .
2017-04-21 17:36:44 +00:00
whitequark
a820ae98cf
ksupport: avoid allocations on I/O error paths.
...
Fixes #715 .
2017-04-21 17:20:50 +00:00
whitequark
b913d1d6f2
runtime: make a copy of startup/idle kernel firmware before loading.
...
Fixes #716 .
2017-04-21 16:46:40 +00:00
whitequark
726ee7370a
runtime: update smoltcp.
...
This brings in correct TIME-WAIT handling. Fixes #722 .
2017-04-21 16:08:04 +00:00
whitequark
0e68eaa879
runtime: print a heap dump on out-of-memory condition.
2017-04-21 14:48:10 +00:00
whitequark
fd994ceef3
DMA: various fixes to bring tests in line.
2017-04-20 20:05:03 +00:00
whitequark
db494967c5
firmware use Rust 0.18.0.
2017-04-19 09:38:24 +00:00
fe05aede78
firmware: DmaPlayback → DMARetrieve
2017-04-19 11:11:42 +08:00
e8f7f8ef9c
DMA: speed up playback
...
Time reduced from 1.53µs to 1.37µs.
2017-04-19 10:59:12 +08:00
whitequark
41c4de4556
DMA: add API for a much faster replay using handles.
2017-04-18 08:20:12 +00:00
whitequark
c6e8d5c901
runtime: allow setting UART log level explicitly.
...
This is way more convenient than commenting out parts
of session.rs when debugging.
2017-04-15 08:27:18 +00:00
whitequark
0531dc45c3
DMA: erase trace before re-recording it.
...
Or we could needlessly OOM replacing a large trace.
2017-04-15 07:48:02 +00:00
whitequark
9dfe9c1248
DMA: improve recording performance.
...
This commit moves DMA serialization code to the kernel CPU
(to cope with the existence of rtio_output_wide) and batches
the resulting sequences. This results in less data being transferred
between kernel and comms CPUs (24 octets with one pointer before,
18 octets with no pointers now, for the common case of rtio_output),
but most importantly reduces cache flushes, which now happen
once per 64k octets.
On average, it now takes about 15us to record a single RTIO event
in a DMA trace.
Fixes #712 .
2017-04-15 07:29:52 +00:00
whitequark
ea753bed17
runtime: advise to set panic_reboot=1 on panic.
2017-04-15 07:29:36 +00:00
534e681d0b
pdq2: use 16 bit data, buffered read_mem()
2017-04-13 20:49:46 +02:00
90cf11994e
spi: style
2017-04-13 13:38:29 +02:00
8446cccb4e
pdq2: mem_read
2017-04-13 13:38:13 +02:00
whitequark
0b9601f12d
artiq_devtool: more robust defaults.
2017-04-13 08:26:48 +00:00
whitequark
3a1fc729cf
compiler: refactor type annotations recognizing in kernels.
...
The new implementation is much more generic, more robust,
and shares code with the same for syscalls as well as RPCs.
Fixes #713 .
2017-04-13 08:26:10 +00:00
whitequark
31048f4b6a
compiler: fix monomorphization of coerced integer literals.
...
Fixes #703 .
2017-04-12 04:11:47 +00:00
whitequark
296dc3b0c4
artiq_coreboot: allow hot-rebooting the device.
2017-04-11 03:24:24 +00:00
whitequark
1bd4d13391
artiq_compile: make print() write to core log, not an invalid op.
...
Fixes #710 .
2017-04-11 03:16:34 +00:00
20652ce128
pdq2: align subsequent writes to end
2017-04-09 13:50:19 +02:00
ed8edf318d
sma_spi: undo cri_con
2017-04-08 17:19:35 +02:00
78dd4b8614
pdq2: memory write, kernel_invariants
2017-04-08 17:16:19 +02:00
16b7f8f50c
sma_spi: cri/cd changes
2017-04-08 17:16:19 +02:00
1e6e81a19e
sma_spi: LVCMOS25
2017-04-08 17:16:19 +02:00
0838981bed
coredevice.spi: kernel invariants and style
2017-04-08 17:16:19 +02:00
555b3c38c1
sma_spi: free up user_sma pins
2017-04-08 17:16:19 +02:00
2c7c6143ab
sma_spi: add demo target with SPI on four SMA
2017-04-08 17:16:19 +02:00
f13f6eb7be
pdq2: memory write
2017-04-08 17:16:19 +02:00
b9c61ae2da
pdq2: crc/frame register accessors
2017-04-08 17:16:19 +02:00
aebbaa339e
pdq2: config writes
2017-04-08 17:16:18 +02:00
f314f8b8f5
relax test_rpc_timing
2017-04-08 22:45:08 +08:00
c2667debf8
drtio: test replace in RTL simulation
2017-04-06 16:33:59 +08:00
729e7b52f0
drtio: collision/replace fixes
2017-04-06 16:33:49 +08:00
83d87b5805
drtio: remove outdated comment
2017-04-06 12:45:10 +08:00
c0100ebc56
rtio: fix indentation
2017-04-06 12:08:13 +08:00
207453efcd
rtio: add a missing case for collision reporting
2017-04-06 11:28:16 +08:00
whitequark
14ae1cc100
runtime: advance now on DMA replay.
...
Fixes #700 .
2017-04-05 18:34:36 +00:00
674bf82f3a
gateware: add cri_con CSRs to all DMA-capable targets
2017-04-06 01:14:09 +08:00
5e3aef45dc
drtio: support collision/replace + detect sequence errors at satellite
2017-04-06 01:06:56 +08:00
whitequark
56918fb375
test: re-enable DMA tests as the feature is now stable.
2017-04-05 16:43:22 +00:00
whitequark
17b5388259
gateware: remove one stray CRI arbiter remnant.
2017-04-05 16:38:56 +00:00
whitequark
464202d0aa
gateware: connect CRI switch to kernel CPU.
2017-04-05 16:10:53 +00:00
whitequark
47632f81b1
gateware: CRIArbiter -> CRISwitch.
2017-04-05 16:10:39 +00:00
whitequark
391660e545
gateware: simplify the CRI arbiter to use a plain mux.
2017-04-05 15:09:19 +00:00
12249dac57
rtio: do not clear asynchronous error flags on RTIO reset
2017-04-03 00:20:30 +08:00
db3118b916
drtio: use BlindTransfer for error reporting
2017-04-03 00:18:07 +08:00
8c414cebc7
drtio: report busy errors
2017-04-03 00:11:08 +08:00
008678b741
drtio: add infrastructure for reporting busy/collision errors
2017-04-02 23:45:55 +08:00
0a687b7902
drtio: report satellite errors through firmware
2017-04-01 12:18:00 +08:00
whitequark
8b98e1ea6d
test: relax test_rpc_timing: rpc_time_mean <2ms → <3ms.
2017-03-31 20:41:47 +00:00
7ec14f26c2
examples: fix after introduction of RangeScan
2017-03-31 16:54:07 +08:00
58da76a169
gui: remove unnecessary state test
2017-03-31 16:48:39 +08:00
bdf1ca25c6
scannable: fix RangeScan randomize seeding
2017-03-31 16:48:39 +08:00
07c71bf020
language,gui: combine LinearScan and RandomScan into RangeScan. Closes #679
2017-03-31 16:48:39 +08:00
28211e0b32
gateware: reset RTIO DMA core when kernel CPU is reset
2017-03-31 15:35:28 +08:00
200c499114
test: change base address in DMA simulation testbench
2017-03-31 13:17:00 +08:00
whitequark
245e186347
Commit missing parts of 948ed6fb
.
2017-03-29 18:34:08 +00:00
756e8a415e
language: fix PYONValue list defaults ( fixes #682 )
2017-03-29 21:58:34 +08:00
whitequark
d04d7ed120
runtime: show a more informative message for interrupted sessions.
...
Fixes #690 .
2017-03-29 03:36:49 +00:00
whitequark
948ed6fb0a
Extract core device management interface from session interface ( #691 ).
2017-03-29 03:36:21 +00:00
2e2d0be201
skip crashing DMA tests on buildbot
2017-03-29 09:36:51 +08:00
452bc6ecac
monkey_patches: fix 3af29f7
2017-03-29 01:07:32 +02:00
whitequark
b643847da5
Fix a misleading message for non-clean kernel termination.
2017-03-28 14:22:20 +00:00
whitequark
7eb368fd5d
test: add DMA test that checks the analyzer trace.
2017-03-28 14:22:20 +00:00
6caab4d10b
test: verify that RTIO collisions appear in log
2017-03-27 18:08:03 +08:00
432c6b99e2
master: still save results when analyze fails. Closes #684
2017-03-27 17:57:02 +08:00
70343b244d
test: add more RTIO slack in test_clock_generator_loopback
2017-03-27 17:26:23 +08:00
58ee09dbdc
test: re-enable test_clock_generator_loopback
...
It passes now for some reason.
2017-03-27 17:26:02 +08:00
b9ff5afc85
dma: improve/fix documentation
2017-03-27 17:21:39 +08:00
2c3f720301
runtime: report asynchronous RTIO errors (collision, busy) in log. Closes #681
2017-03-27 17:14:14 +08:00
ea3af1e20e
drtio: remove obsolete CSR accesses from test
2017-03-27 16:44:22 +08:00
b74d6fb9ba
make collision and busy asynchronous errors, and simplify CPU/gateware handshake for output errors and reads
2017-03-27 16:32:23 +08:00
1ee3f96482
test: self.break_realtime → self.core.break_realtime
2017-03-27 16:31:11 +08:00
whitequark
ac9e8b8568
test: avoid underflow in DMA replay test.
2017-03-17 12:09:02 +00:00
whitequark
dbea679e96
Revert "test: relax test_rpc_timing on Windows."
...
This reverts commit e9cf451c0b
.
2017-03-17 11:34:45 +00:00
whitequark
e9cf451c0b
test: relax test_rpc_timing on Windows.
2017-03-17 11:20:16 +00:00
whitequark
7dc7dcda2c
test: relax test_pulse_rate_dds to only catch catastrophic slowdown.
2017-03-17 11:17:47 +00:00
whitequark
4de336fbe9
gateware: reverse bytes of SDRAM word, not bits.
2017-03-17 11:16:46 +00:00
whitequark
6b63322106
gateware: reverse SDRAM words in RTIO DMA engine.
2017-03-17 07:29:28 +00:00
whitequark
4b14887ddb
gateware: work around ISE/Vivado bugs with very wide shifts.
2017-03-17 07:29:28 +00:00
f5aa73b8fa
satman: unbreak after c586035c
2017-03-15 17:26:09 +08:00
whitequark
c586035caa
runtime: add an option to reboot after a panic.
2017-03-14 09:02:28 +00:00
whitequark
80c75ed505
firmware: fix for unwinder update.
2017-03-14 08:50:32 +00:00
whitequark
4beda73217
firmware: don't build libdyld through misoc.
2017-03-14 08:33:31 +00:00
a7de58b604
rtio: Inout → InOut
2017-03-14 14:18:55 +08:00
13ae1d1a38
drtio: input unittest
2017-03-14 14:14:55 +08:00
56fd9b3b4b
drtio: input fixes
2017-03-14 14:14:43 +08:00
856a64f6d2
drtio: use TTLInOut in device_db
2017-03-14 14:13:52 +08:00
95ede18809
drtio: support PHY latency compensation
2017-03-14 00:01:38 +08:00
497c795d8c
drtio: input support (untested)
2017-03-13 23:54:44 +08:00
d1b9f9d737
drtio: rt_packets → rt_packet
2017-03-13 00:10:07 +08:00
6b7c781ff2
drtio: introduce 'standard request' interface in RT packet layer
2017-03-13 00:08:03 +08:00
2b8729f326
drtio: clear any read request on satellite reset
2017-03-13 00:00:38 +08:00
whitequark
b391598c87
artiq_devtool: add reset action.
2017-03-07 14:37:08 +00:00
whitequark
5bbb05362b
runtime: update smoltcp.
2017-03-07 11:36:28 +00:00
whitequark
d52723d5bc
runtime: allow setting log level in configuration.
2017-03-07 11:36:28 +00:00
whitequark
cce1481fac
artiq_devtool: add hotswap action.
2017-03-07 11:36:28 +00:00
whitequark
795a3e24d8
artiq_coreboot: block until hotswap image is actually received.
2017-03-07 11:36:28 +00:00
804e69b144
language: add "W" (Watt) to units
2017-03-07 10:03:42 +08:00
6895236794
frontend: fix permissions
2017-03-07 00:47:45 +08:00
1e47e638bb
drtio: implement inputs in RTPacketSatellite, reorganize code
2017-03-07 00:46:59 +08:00
whitequark
b0cdef3211
firmware: implement hotswap through artiq_coreboot tool.
2017-03-06 16:01:28 +00:00
whitequark
98454e9bda
runtime: remove unnecessary dcache flush.
...
Data cache is write-through, so sending data to DMA doesn't need
a flush.
2017-03-04 09:46:55 +00:00
whitequark
218046d96c
artiq_devtool: fix an infinite loop on network error.
2017-03-04 09:40:22 +00:00
whitequark
924ae73000
firmware: fix DMA trace alignment and flush caches.
2017-03-04 09:40:22 +00:00
whitequark
30ac42de3f
ksupport: fix an exception safety issue.
...
Raising from inside a recv! will never send an acknowledgement.
2017-03-04 09:40:22 +00:00
f121ca20fe
test: relax test_pulse_rate_dds
2017-03-03 18:10:27 +08:00
1e6a33b586
rtio: handle input timeout in gateware
...
The information passed by the runtime will be used by the DRTIO core
to poll the remote side appropriately.
2017-03-03 17:37:47 +08:00
whitequark
4f94709e9f
firmware: move packet dumps to the DEBUG log level.
2017-03-03 06:11:35 +00:00
whitequark
e8c093deb3
Allow changing runtime log level without recompilation.
...
This shouldn't affect performance much, as the log crate guards
every log statement with a branch, adding just two instructions.
2017-03-03 06:06:26 +00:00
whitequark
fe77fcc45f
firmware: fix a warning.
2017-03-03 05:35:28 +00:00
whitequark
3070a2fac1
runtime: fix more bugs in DMA trace encoder.
2017-03-03 05:15:54 +00:00
whitequark
86dea869b3
compiler.types: add missing TTuple.__hash__ implementation.
2017-03-03 03:27:49 +00:00
whitequark
7e886ddc89
transforms.inferencer: do not unnecessarily mutate typedtree.
...
This caused the hash to change after every iteration of inference,
if the result of any coercion was an integer of indefinite width.
2017-03-02 16:15:37 +00:00
whitequark
8c9f157563
compiler.embedding: fix an overly lax hasher.
2017-03-02 15:28:24 +00:00
whitequark
a79c3c2cff
compiler.transforms: implement a typedtree printer.
2017-03-02 15:28:04 +00:00
d2f2415b50
analyzer: use CRI and connect at RTIO core
...
This causes DMA events to be included in analyzer traces.
2017-03-02 18:47:56 +08:00
0b4922e0f4
dma: request RTIO control
2017-03-01 18:59:45 +08:00
553b8046ff
examples: add DMA LED blinker
2017-03-01 18:37:58 +08:00
whitequark
a4ece19614
Implement DMA playback.
2017-02-28 21:28:40 +00:00
whitequark
4107938fd8
compiler.embedding: use attribute count in fixpoint condition.
...
Before this commit, we had a hack where inferencing would run
one more time, in case we can still infer more attributes even
after all the type information is there. This doesn't work
if *that* round of inferencing brings even more code, e.g.
this is easy to trigger with context managers.
2017-02-28 21:28:40 +00:00
whitequark
252cda6e7f
compiler.llvm_ir_generator: fix string quoting.
2017-02-28 21:28:38 +00:00
3af29f7a59
monkey_patches: cleanup
2017-02-28 13:20:41 +01:00
00ed3909dd
monkey-patch Python 3.5.3 asyncio.base_events._ipaddr_info
...
this fixes #506 for py3.5.3
2017-02-28 10:49:19 +00:00
9cfa3e704b
fix test_analyzer
2017-02-27 19:19:46 +08:00
3b386aa590
fix test_moninj import
2017-02-27 18:44:32 +08:00
7d6ebabc1b
reorganize core device communication code
2017-02-27 18:37:30 +08:00
e64d923a67
dashboard: fix moninj display refresh issues after mode changes
2017-02-27 17:56:45 +08:00
f402b4af3f
drtio: fix typo in example device_db
2017-02-27 17:51:55 +08:00
d16073fcaa
test: add moninj unittest
2017-02-27 15:56:58 +08:00
b8bfcd2d7e
moninj: share probe/override numbers and use Enum
2017-02-27 11:54:16 +08:00
fc0ce310a8
examples: fix dds_test RTIO underflow
2017-02-27 11:45:18 +08:00
26654e6a3a
moninj: Python-side fixes
2017-02-27 11:45:04 +08:00
7481eaff52
moninj: use smaller network buffer
2017-02-27 11:44:29 +08:00
whitequark
88bf7d2233
firmware: specialize protocol read/write functions.
...
Before this commit, proto::io::{read,write}_* functions were taking
a &mut {Read,Write}. This means a lot of virtual dispatch.
After this commit, all these functions are specialized for
the specific IO trait.
This could be achieved with just changing the signature from
fn read_x(reader: &mut Read)
to
fn read_x<R: Read>(reader: &mut R)
but the functions were also grouped into ReadExt and WriteExt
traits as a refactoring.
Initially, it was expected that the generic traits from
the byteorder crate could be used, but they require endianness
to be specified on every call and thus aren't very ergonomic.
They also lack the equivalent to our read_string and read_bytes.
Thus, it seems fine to just define a slightly different extension
trait.
This also optimized the test_rpc_timing test: 1.7ms→1.2ms.
2017-02-26 18:24:37 +00:00
whitequark
de015b994d
compiler: allow dumping the object file with ARTIQ_DUMP_OBJ.
2017-02-26 17:09:21 +00:00
dff23293c7
Merge branch 'master' of github.com:m-labs/artiq
2017-02-27 01:05:40 +08:00
96bf414257
dashboard: use new moninj protocol
2017-02-27 00:59:31 +08:00
990b8152f6
coredevice: add moninj protocol driver
2017-02-27 00:59:17 +08:00
whitequark
5d3b00cf12
Implement recording of DMA traces on the core device.
2017-02-26 02:50:20 +00:00
whitequark
3a1f14c16c
compiler: fix overly strict constness analysis.
...
Before this commit, the following code would fail to compile...
obj.foo.bar = True
... if foo is marked kernel_invariant in obj, even if bar is not
marked as such in obj.foo.
2017-02-26 01:58:21 +00:00
whitequark
a07bd918f0
firmware: use Rust naming conventions for enum variants.
2017-02-25 22:34:11 +00:00
whitequark
2a81819eb0
firmware: restructure to avoid #[path = "..."] mod ...;
...
Such code is fragile, introduces mess in dependencies, and
inflates compile times.
2017-02-25 17:54:14 +00:00
whitequark
d04e611232
firmware, compiler: rename rpc functions to be more consistent.
2017-02-25 14:12:58 +00:00
e82ce3ea28
coredevice: ignore .dirty in version checks correctly
2017-02-25 20:05:05 +08:00
98be556143
drtioaux: fix compiler warnings
2017-02-25 12:18:57 +08:00
f017d1771f
gateware: remove unused configs in targets (not needed with new moninj)
2017-02-25 12:14:56 +08:00
5a16660aa2
runtime: new moninj protocol, TCP-based, with DRTIO support
2017-02-25 12:07:00 +08:00
7d568b4bac
style
2017-02-25 12:06:12 +08:00
whitequark
13c6e96760
firmware: implement dyld::Library::rebind.
2017-02-25 00:10:40 +00:00
whitequark
04ad267055
firmware: rewrite the dynamic linker in Rust.
2017-02-24 18:57:29 +00:00
360be0098f
drtio: map local RTIO core on lower channels
2017-02-24 18:15:27 +08:00
whitequark
907589fb58
satman: simplify Makefile.
2017-02-23 10:29:25 +00:00
whitequark
623a605d3b
satman: refactor type conversions.
2017-02-23 08:59:27 +00:00
b34c6ba6b9
satman: process moninj packets
2017-02-23 16:24:05 +08:00
45ac0dcf57
drtioaux: add moninj packets
2017-02-23 16:23:51 +08:00
016743f079
libdrtioaux: do not attempt to access non-existent DRTIO gateware
2017-02-22 16:45:02 +08:00
257527629a
firmware: use aux ping to determine when DRTIO satellite is ready
2017-02-22 15:26:32 +08:00
a8ea557406
firmware: add DRTIO aux packet library (WIP)
2017-02-21 21:55:36 +08:00
b455ea447d
gateware: add moninj to drtio targets
2017-02-21 21:54:47 +08:00
whitequark
a12876b239
firmware: update Cargo.lock.
2017-02-21 05:28:48 +00:00
whitequark
1dabe05c5a
artiq_devtool: add clean command and --config option.
2017-02-21 05:28:19 +00:00
c66efc0279
moninj: do not require a rsys clock domain
2017-02-20 15:52:48 +08:00
e323e37829
pcu: refactor into a device
2017-02-19 19:34:55 +01:00
b05d1bb7e3
coreanalyzer: fix corner case crash
2017-02-19 19:28:13 +01:00
1573ff5fc1
coreanalyzer: add WB stb signal
2017-02-18 14:53:10 +01:00
039ced6637
coreanalyzer: use VCD scopes for DDS/SPI
2017-02-18 14:25:01 +01:00
7519408857
coreanalyzer: add SPIMaster support
2017-02-18 14:13:20 +01:00
41e8acf3ad
coreanalyzer handle input events without timestamp
...
Offset the timeline by the first non-zero timestamp.
2017-02-18 14:12:02 +01:00
bc3fc26e34
coredevice: expose PCU
2017-02-18 14:09:12 +01:00
6b5b679659
libboard: PCU regs
2017-02-18 14:09:12 +01:00
c022b53578
kernel_cpu: enable perf counters
2017-02-18 14:09:12 +01:00
9501d37378
firmware: wait longer for Si5324 lock + more monitoring
2017-02-18 17:24:46 +08:00
7e8348a73e
si5324: fix error handling
2017-02-18 14:12:18 +08:00
59e79673f7
satman: program Si5324 BWSEL depending on frequency
2017-02-18 14:12:01 +08:00
0bfce37fae
satman: do not use Si5324 automatic clock switching
...
The Si5324 is easily confused by the broken clock generated during link
initialization with BruteforceClockAligner. This commit prevents this problem.
2017-02-18 13:32:40 +08:00
bd55436668
protocols: increase asyncio line limit. Closes #671
2017-02-17 20:46:23 +08:00
whitequark
52a046d0fd
conda: roll cargo back to 0.11.0, then fix revision of compiler_builtins.
2017-02-05 15:25:43 +00:00
whitequark
25c9b8827a
firmware: mark __artiq_{re,}raise as #[unwind].
...
This is required for correctness.
2017-02-05 09:04:22 +00:00
whitequark
f94028b8df
Fix c39394b
.
2017-02-04 16:23:32 +00:00
3eef0bcc1a
firmware: give si5324 more time to lock
2017-02-04 19:19:25 +08:00
935799dfb7
drtio: fix satellite transceiver clocking
2017-02-04 19:18:35 +08:00
whitequark
c39394b4d5
firmware: port the exception handling routines to Rust.
2017-02-04 08:21:07 +00:00
whitequark
b9cbedceb1
firmware: migrate last vestiges of the old runtime build system.
2017-02-03 12:59:35 +00:00
whitequark
cde2054926
firmware: do not link to C code in runtime and satman.
2017-02-03 12:12:41 +00:00
whitequark
fd8b11532f
compiler, firmware: use Pascal strings everywhere.
...
This removes a large amount of very ugly code, and also simplifies
the compiler and runtime.
2017-02-03 11:53:27 +00:00
e13d8919ff
Correct tooltip inconsistency between browser and dashboard
2017-02-03 17:53:40 +08:00
639066c6d8
Add tooltips to experiment arguments
2017-02-03 17:53:40 +08:00
whitequark
f48cf9d9a0
firmware: use libcompiler_builtins to build satman.
2017-02-03 08:11:42 +00:00
whitequark
4164fc880e
artiq_devtool: add support for switching targets.
2017-02-03 07:42:06 +00:00
a8ecbd6041
firmware: do not attempt to build Si5324 code when gateware does not support it
2017-02-03 12:27:13 +08:00
6fe1c9ff45
firmware: read back reserved bits from Si5324, use SFOUT2_REG=b001 instead of reserved b000
2017-02-03 12:24:13 +08:00
f6e9d571c2
satman: use rust liballoc
2017-02-03 12:23:38 +08:00
d181989de9
drtio: reset Si5324 at each boot
2017-02-03 12:00:58 +08:00
b3697f951a
drtio: forward clocks to SMA connectors for debugging
2017-02-03 12:00:36 +08:00
aafefee7f5
targets: make number of ethmac slots consistent
2017-02-02 23:02:51 +08:00
90ac915dd1
firmware: do not clear si5324 reserved bit
2017-02-02 20:54:50 +08:00
6bea253f82
firmware: fix misleading si5324 comment
2017-02-02 20:53:39 +08:00
whitequark
9c93c760fc
firmware: do not use PIC in Rust code.
...
This fixes test_pulse_rate and test_pulse_rate_dds by making
rtio_output slightly faster.
2017-02-02 12:22:55 +00:00
whitequark
259319e456
firmware: use compiler_builtins crate instead of our compiler-rt.
...
This cannot be done for ksupport yet because compiler_builtins
misses most soft-float operations.
2017-02-02 10:55:35 +00:00
whitequark
44a9a79f96
firmware: port allocator to Rust.
2017-02-02 10:55:35 +00:00
f512ea42dc
drtio: initialize si5324 in firmware
2017-02-02 18:11:24 +08:00
3488b4a857
firmware: si5324 cleanups/fixes
2017-02-02 18:11:00 +08:00
whitequark
3b54736c02
firmware: port flash storage management to Rust.
2017-02-02 05:26:06 +00:00
whitequark
0df8a24135
Fix c2cf60e
.
2017-02-02 01:08:20 +00:00
whitequark
c2cf60e7f6
firmware: use the cslice crate to get rid of unsafe code in ksupport.
2017-02-02 00:51:58 +00:00
whitequark
9a9a3aa7de
firmware: remove unnecessary inline assembly in libboard.
2017-02-02 00:21:34 +00:00
whitequark
f3b2610ffc
Fix bc22d1c
.
2017-02-01 01:56:39 +00:00
whitequark
6fd149f048
Show a message when interrupting a running kernel (except idle kernel).
...
Fixes #625 .
2017-01-31 22:53:38 +00:00
whitequark
bc22d1c009
firmware: libksupport → ksupport.
...
The idea is that support libraries are called lib*, and the final
products that linked into an executable are not.
2017-01-31 22:24:37 +00:00
whitequark
7a14cf503b
firmware: fix a warning.
2017-01-31 22:19:45 +00:00
whitequark
680a7067a8
firmware: use ? instead of try! everywhere.
2017-01-31 22:18:59 +00:00
whitequark
ee1b2fa3ea
compiler: swap the order of ptr/len fields in lists.
...
This is to make them match the Rust slices.
Once the cslice crate becomes #![no_std] we'll also use its (tidier)
conversion functions.
2017-01-31 22:11:13 +00:00
whitequark
ab71c9a0ba
compiler: the len builtin is not polymorphic, coerce the result.
...
Fixes #659 .
2017-01-31 21:28:20 +00:00
whitequark
6acdcbb82a
Fix 2f37b1d
.
2017-01-30 10:25:11 +00:00
whitequark
2f37b1d1c0
compiler: support methods defined on singleton instances.
...
Fixes #638 .
2017-01-30 10:10:21 +00:00
whitequark
b95db4fa4e
Use four ethmac buffers instead of two.
...
This should address an issue where the host sends a packet burst,
the second packet in a burst gets dropped, the rest also gets
dropped since smoltcp doesn't do reassembly, and the entire dance
is repeated on every retransmit.
2017-01-30 07:42:27 +00:00
whitequark
3a19a9fb77
firmware: minor cleanup in board::si5324.
2017-01-30 07:29:44 +00:00
9800acea92
drtio: program Si5324 for 150MHz in 3G config
2017-01-30 14:50:12 +08:00
7daab07a29
drtio: fix syntax/import
2017-01-30 13:01:45 +08:00
d8e9949266
drtio: initialize AD9516 clock chip
2017-01-30 11:06:45 +08:00
54295b1699
firmware: use has_ad9154 instead of has_converter_spi for conditional compilation
...
DRTIO designs do not have a JESD core yet, so we need to support converter SPI buses with only the clock chip.
2017-01-30 11:03:55 +08:00
f6024b6c9a
drtio: fix ad9154 extension registration
2017-01-30 10:59:22 +08:00
3aced46b19
dashboard: report lost connection with master. Closes #602
2017-01-30 10:48:27 +08:00
dcea48a52d
protocols/broadcast,sync_struct: add disconnect callback
2017-01-30 10:47:56 +08:00
43aad0914e
python3.5 -> python3
...
Many things also work with Python 3.6.
2017-01-30 09:24:43 +08:00
657afd770e
artiq/test/gateware -> artiq/gateware/test
...
This allows gateware simulations to be skipped or not considered for coverage when using test discovery.
2017-01-30 09:00:55 +08:00
whitequark
be0953d98f
firmware: unbreak Io::sleep().
...
Fixes #663 .
2017-01-27 18:18:02 +00:00
82c4c61290
fix 7b2eba9f
2017-01-27 23:44:59 +08:00
94b0783897
drtio: remove support for transceiver SMAs
...
Passive SFP cables do not require bitstream rebuilds and do not cause weird transceiver failures.
2017-01-27 23:33:50 +08:00
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