Robert Jördens
3e99f1ce5a
phaser: refactor link
2020-08-22 11:56:23 +00:00
Robert Jördens
a34a647ec4
phaser: refactor fastlink
2020-08-22 11:56:23 +00:00
Robert Jördens
aa0154d8e2
phaser: initial
2020-08-22 11:56:23 +00:00
Sebastien Bourdeauducq
504f72a02c
rtio: remove legacy i_overflow_reset CSR
2020-08-06 17:52:32 +08:00
Sebastien Bourdeauducq
4340a5cfc1
rtio/dma: fix previous commit
2020-07-12 10:14:22 +08:00
Sebastien Bourdeauducq
f2e0d27334
rtio/dma: remove dead/broken code
2020-07-12 10:13:18 +08:00
Sebastien Bourdeauducq
3a7819704a
rtio: support direct 64-bit now CSR in KernelInitiator
2020-04-26 16:04:32 +08:00
Robert Jördens
ea79ba4622
ttl_serdes: detect edges on short pulses
...
Edges on pulses shorter than the RTIO period were missed because the
reference sample and the last sample of the serdes word are the same.
This change enables detection of edges on pulses as short as the
serdes UI (and shorter as long as the pulse still hits a serdes sample
aperture).
In any RTIO period, only the leading event corresponding to the first
edge with slope according to sensitivity is registerd. If the channel is
sensitive to both rising and falling edges and if the pulse is contained
within an RTIO period, or if it is sensitive only to one edge slope and
there are multiple pulses in an RTIO period, only the leading event is
seen. Thus this possibility of lost events is still there. Only the
conditions under which loss occurs are reduced.
In testing with the kasli-ptb6 variant, this also improves resource
usage (a couple hundred LUT) and timing (0.1 ns WNS).
2020-04-13 13:21:03 +02:00
Robert Jördens
e803830b3b
fastino: support wide RTIO interface and channel groups
2020-03-05 17:55:04 +00:00
Robert Jördens
2c4e5bfee4
fastino: add [WIP]
2020-01-20 13:25:00 +01:00
Sebastien Bourdeauducq
6c948c7726
sayma: RF switch control is active-low on Basemod, invert
2020-01-16 08:59:52 +08:00
Sebastien Bourdeauducq
37d0a5dc19
rtio/ttl: expose OE
2019-10-16 18:48:20 +08:00
Sebastien Bourdeauducq
bc060b7f01
style
2019-10-16 18:18:11 +08:00
Robert Jördens
f0e87d2e59
grabber: remove unused code
2019-09-20 15:26:12 +02:00
Sebastien Bourdeauducq
f8dba7ae35
rtio: use BlindTransfer from Migen
2019-07-05 18:46:18 +08:00
David Nadlinger
0353966ef7
gateware/suservo: Sign-extend data on RTIO read-back
...
See GitHub #1327 for original patch by Brad Bondurant.
2019-06-14 23:46:16 +01:00
hartytp
cfe1f56f73
suservo: add some more comments to the RTServoMem to clarify the RTIO interface ( #1323 )
2019-05-17 16:12:35 +01:00
Sebastien Bourdeauducq
3e8fe3f29d
suservo: fix permissions
2019-02-08 14:54:02 +08:00
hartytp
87e85bcc14
suservo: fix coefficient data writing
...
Signed-off-by: Thomas Harty <thomas.harty@physics.ox.ac.uk>
2019-02-07 14:47:11 +01:00
David Nadlinger
a565f77538
Add gateware input event counter
2019-01-15 10:55:07 +00:00
Sebastien Bourdeauducq
cf9447ab77
rtio/cri: remove unneeded CSR management
2019-01-05 23:40:45 +08:00
Sebastien Bourdeauducq
0972d61e81
ttl_serdes_ultrascale: use GTH clock domains
2019-01-03 20:50:04 +08:00
Sebastien Bourdeauducq
4af8fd6a0d
ttl_serdes_ultrascale: fix Input
2019-01-03 20:14:54 +08:00
Sebastien Bourdeauducq
7e14f3ca4e
compiler,gateware: atomic now stores
2018-12-02 05:06:46 +08:00
Sebastien Bourdeauducq
c56c0ba41f
rtio/dds: use write-only RT2WB
...
This saves one address bit and prevents issues with AD9914 and 8-bit addresses.
2018-11-26 07:38:15 +08:00
Sebastien Bourdeauducq
09141e5bee
rtio/wishbone: support write-only interface
2018-11-26 07:38:06 +08:00
Sebastien Bourdeauducq
450a035f9e
suservo: move overflowing RTIO address bits into data
2018-11-26 06:54:20 +08:00
Sebastien Bourdeauducq
ae8ef18f47
rtlink: sanity-check parameters
2018-11-26 01:14:02 +08:00
Sebastien Bourdeauducq
8caea0e6d3
gateware,runtime: optimize RTIO kernel interface further
...
* now pinning (TODO: atomicity)
* for inputs, merge request and timeout registers
2018-11-08 18:29:24 +08:00
Sebastien Bourdeauducq
aadf5112b7
rtio: remove incorrect comment
2018-11-08 00:02:44 +08:00
Sebastien Bourdeauducq
3d0c3cc1cf
gateware,runtime: optimize RTIO output interface
...
* reduce address to 8 bits
* merge core, channel and address into 32-bit pre-computable "target"
* merge we register into data register
2018-11-07 23:39:58 +08:00
Sebastien Bourdeauducq
ad0254c17b
Merge branch 'switching125' into new
2018-11-07 22:03:18 +08:00
Sebastien Bourdeauducq
48a142ed63
use FutureWarning instead of DeprecationWarning
...
DeprecationWarning is disabled by default and too easy to ignore.
2018-10-21 12:14:51 +08:00
Sebastien Bourdeauducq
d38755feff
drtio: implement destination state checks on operations
2018-09-15 15:55:45 +08:00
Sebastien Bourdeauducq
420e1cb1d0
cri: fix firmware routing table access
2018-09-12 18:08:16 +08:00
Sebastien Bourdeauducq
5bcd40ff59
cri: fix routing table depth
2018-09-12 17:30:55 +08:00
Sebastien Bourdeauducq
d5577ec0d0
cri: add routing table support
2018-09-09 16:26:48 +08:00
Sebastien Bourdeauducq
92be9324df
add missing files
2018-09-05 16:09:02 +08:00
Sebastien Bourdeauducq
4e4398afa6
analyzer: adapt to TSC changes
2018-09-05 12:06:20 +08:00
Sebastien Bourdeauducq
f3fe818049
rtio: refactor TSC to allow sharing between cores
2018-09-03 09:48:12 +08:00
Sebastien Bourdeauducq
0fe2a6801e
drtio: forward destination with channel
2018-09-02 15:50:23 +08:00
Sebastien Bourdeauducq
aa64e6c1c6
cri: add buffer space request protocol
2018-08-29 15:16:43 +08:00
Sebastien Bourdeauducq
60a7e0e40d
grabber: use usual order of ROI coordinates in cfg addresses
2018-07-24 10:55:13 +08:00
Sebastien Bourdeauducq
7b75026391
grabber: add MultiReg to transfer ROI boundaries
2018-07-21 13:40:12 +08:00
Sebastien Bourdeauducq
031de58d21
grabber: complete RTIO PHY, untested
2018-07-21 13:25:47 +08:00
Sebastien Bourdeauducq
82def6b535
grabber: add frequency counter
...
Cameras are a bit obscure about what they output, this can help with troubleshooting.
2018-07-12 17:05:18 +08:00
Sebastien Bourdeauducq
4f56710e4b
grabber: add parser, report detected frame size in core device log
2018-07-10 02:06:37 +08:00
Sebastien Bourdeauducq
9142a5ab8a
rtio: expose coarse timestamp in RTIO and DRTIO satellite cores
2018-06-20 17:39:54 +08:00
Sebastien Bourdeauducq
2612fd1e72
rtio: add grabber deserializer and WIP PHY encapsulation
2018-05-28 22:42:27 +08:00
Sebastien Bourdeauducq
3027951dd8
integrate new AD9914 driver
...
moninj, analyzer, docs, examples, tests.
2018-05-13 23:29:35 +08:00
Robert Jördens
f055bf88f6
suservo: add clip flags ( #992 )
2018-05-09 07:16:15 +00:00
Sebastien Bourdeauducq
4120105e3a
rtio/sed: fix output network cmp_wrap
2018-05-02 12:04:03 +08:00
Sebastien Bourdeauducq
83fb431cd0
rtio/sed: pass sequence numbers through the FIFOs. Closes #978
2018-05-02 10:57:57 +08:00
Robert Jördens
5f00326c65
suservo: coeff mem write port READ_FIRST
2018-04-27 15:43:32 +00:00
Robert Jördens
307cd07b9d
suservo: lots of gateware/ runtime changes
...
tested/validated:
* servo enable/disable
* dds interface, timing, io_update, mask_nu
* channel control (en_out, en_iir, profile)
* profile configuration (coefficients, delays, offsets, channel)
* adc timings and waveforms measured
* asf state readback
* adc readback
individual changes below:
suservo: correct rtio readback
suservo: example, device_db [wip]
suservo: change rtio channel layout
suservo: mem ports in rio domain
suservo: sck clocked from rio_phy
suservo: cleanup, straighten out timing
suservo: dds cs polarity
suservo: simplify pipeline
suservo: drop unused eem names
suservo: decouple adc SR from IIR
suservo: expand coredevice layer
suservo: start the correct stage
suservo: actually load ctrl
suservo: refactor/tweak adc timing
suservo: implement cpld and dds init
2018-04-27 13:50:26 +02:00
Robert Jördens
c83305065a
suservo: add servo/config/status register
2018-04-25 15:59:06 +00:00
Robert Jördens
fe75064c1e
suservo: cleanup rtio interface
2018-04-24 13:08:40 +00:00
Robert Jördens
99dd9c7a2a
suservo: fix rtio interface width
2018-04-23 18:30:18 +00:00
Robert Jördens
934c41b90a
gateware: add suservo
...
from
fe4b60b902
m-labs/artiq#788
2018-04-23 18:24:59 +00:00
Sebastien Bourdeauducq
f0771765c1
rtio: move CRI write comment to more appropriate location
2018-03-29 23:55:00 +08:00
Robert Jördens
3a0dfb7fdc
ad53xx: port monitor, moninj dashboard, kc705 target
2018-03-24 16:04:02 +01:00
Robert Jördens
1553fc8c7d
sed: reset `valid` in output sorter
2018-03-23 11:11:11 +00:00
Sebastien Bourdeauducq
f8c2d54e75
ttl_serdes_ultrascale: configurable SERDES ratio. Also try X4 on Sayma
2018-03-21 13:01:38 +08:00
Sebastien Bourdeauducq
c8020f6bbd
ttl_serdes_generic: fix/upgrade test
2018-03-20 16:46:57 +08:00
Sebastien Bourdeauducq
a5825184b7
add ttl_serdes_ultrascale (untested)
2018-03-20 16:07:23 +08:00
Sebastien Bourdeauducq
fad066f1aa
ttl_serdes_7series: cleanup indentation
...
Inconsistent with other code and confuses text editors.
2018-03-20 15:50:04 +08:00
Sebastien Bourdeauducq
a315ecd10b
rtio/ttl_serdes_7series: reset IOSERDES ( #958 )
2018-03-14 09:01:29 +08:00
Chris Ballance
6dfebd54dd
ttl_serdes_7series: use correct IBUFDS_INTERMDISABLE port names
2018-03-12 10:37:33 +08:00
Robert Jördens
3a6566f949
rtio: judicious spray with reset_less=True
...
Hoping to reduce rst routing difficulty and easier RTIO timing closure.
2018-03-07 14:57:18 +00:00
Robert Jördens
b0282fa855
spi2: reset configuration in rio_phy
2018-03-07 14:42:11 +00:00
Robert Jördens
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
Robert Jördens
a6d1b030c1
RTIO: use TS counter in the correct CD
...
artiq/m-labs#938
2018-03-07 11:34:42 +00:00
Robert Jördens
8b70db5f17
LaneDistributor: try equivalent spread logic
2018-03-07 11:34:42 +00:00
Robert Jördens
2cbd597416
LaneDistributor: style and signal consolidation [NFC]
2018-03-07 11:34:42 +00:00
Robert Jördens
50298a6104
ttl_serdes_7series: suppress diff_term in outputs
2018-03-06 14:27:19 +01:00
Robert Jördens
e356150ac4
ttl_simple: support differential io
2018-03-06 14:27:19 +01:00
Sebastien Bourdeauducq
c25560baec
sed: more LaneDistributor comments
2018-03-06 20:56:35 +08:00
Sebastien Bourdeauducq
f40255c968
sed: add comments about key points in LaneDistributor
2018-03-06 20:51:09 +08:00
Sebastien Bourdeauducq
928d5dc9b3
drtio: raise RTIOLinkError if operation fails due to link lost ( #942 )
2018-03-04 01:02:53 +08:00
Robert Jördens
cc70578f1f
remove old spi RTIO Phy
2018-03-01 11:19:18 +01:00
Robert Jördens
f8e6b4f4e3
ad5360: port to spi2
...
* kc705 nist_clock target gateware
* coredevice driver
* moninj code
* test/example/device_db
This is untested as we don't have a AD5360 board right now.
Will be tested with Zotino v1.1
m-labs/artiq#926
2018-02-22 10:25:46 +01:00
Robert Jördens
37a0d6580b
spi2: add RTIO gateware and coredevice driver
...
1006218997
2018-02-21 13:37:36 +00:00
Robert Jördens
7a1d71502a
ttl_serdes_7series: drive IBUF and INTERM disables from serdes
2018-02-21 13:37:29 +00:00
Robert Jördens
476e4fdd56
ttl_serdes_7series: disable IBUF and INTERM when output
2018-02-21 13:37:29 +00:00
Sebastien Bourdeauducq
ab5f397fea
sed/fifos: use AsyncFIFOBuffered
...
(D)RTIO now passes timing at 150MHz on Kasli.
2018-02-13 20:02:51 +08:00
Sebastien Bourdeauducq
dc593ec0f0
Merge branch 'rtio-sed' into sed-merge
2018-01-10 12:04:54 +08:00
Robert Jördens
6d20b71dde
ttl_serdes_7series: refactor IOSERDES
2018-01-02 13:20:47 +01:00
Sebastien Bourdeauducq
d5b5076f67
gateware/ad5360_monitor: fix SPI data decoding
2017-10-26 11:58:59 +08:00
Sebastien Bourdeauducq
412548a86c
gateware: add AD5360 monitor (untested)
2017-10-23 20:09:28 +08:00
Sebastien Bourdeauducq
4fa823b62a
gateware: add support for SPI-over-LVDS
2017-10-23 15:04:01 +08:00
Sebastien Bourdeauducq
5f083f21a4
rtio/dma: fix signal width
2017-10-08 22:37:46 +08:00
Sebastien Bourdeauducq
6c049ad40c
rtio: report channel numbers in asynchronous errors
2017-09-29 16:32:57 +08:00
Sebastien Bourdeauducq
5437f0e3e3
rtio: make sequence errors consistently asychronous
2017-09-29 14:40:06 +08:00
Sebastien Bourdeauducq
d7ef07a0c2
rtio/sed: document architecture
2017-09-26 16:44:23 +08:00
Sebastien Bourdeauducq
9905b8723b
rtio/sed: support negative latency compensation
2017-09-26 16:11:08 +08:00
Sebastien Bourdeauducq
4112e403de
rtio/sed: latency compensation
2017-09-26 15:09:07 +08:00
Sebastien Bourdeauducq
aa8fc81a87
rtio: allow specifying glbl_fine_ts_width externally
2017-09-23 22:34:55 +08:00
Sebastien Bourdeauducq
5cf0693758
rtio: use BlindTransfer to report collision and busy errors to sys domain
2017-09-21 22:31:56 +08:00
Sebastien Bourdeauducq
d74a7d272e
rtio: fix/cleanup parameters
2017-09-21 15:59:48 +08:00
Sebastien Bourdeauducq
07d3f87c51
rtio/sed: min_space → buffer_space
2017-09-21 14:36:13 +08:00