175f8b8ccc
drtio/gth_ultrascale: generate multiplied RTIO clock from BUFG_GT ( #792 )
2019-01-03 20:14:18 +08:00
77126ce5b3
kasli: use hwrev 1.1 by default for DRTIO examples
2019-01-02 23:04:20 +08:00
ab9ca0ee0a
kasli: use 150MHz for DRTIO by default (Sayma compatibility)
2019-01-02 23:03:57 +08:00
cc58318500
siphaser: autocalibrate skew using RX synchronizer
...
* removes the hardcoded, (poorly) manually determined skew value
* does not need si5324_clkout_fabric anymore (broken on Sayma RTM due to wrong IO voltage)
2019-01-02 22:29:27 +08:00
f5cda3689e
sayma_amc: enable DRTIO on master SATA connector for MasterDAC variant
2019-01-02 16:46:16 +08:00
Drew
d60b95f481
tdr.py: typo ( #1220 )
2018-12-18 18:47:09 +00:00
a7d4d3bda9
ad9910: CONT_RECIRCULATE -> CONT_RAMPUP
2018-12-17 13:25:00 +00:00
35bdf26f01
Merge branch 'ad9910-ram'
2018-12-17 21:16:44 +08:00
David Nadlinger
e608d6ffd3
coredevice, firmware: Add rtio_input_timestamped_data
...
Integration tests to follow as part of an RTIO counter phy that
makes use of this.
2018-12-15 00:35:04 +00:00
David Nadlinger
8e30c4574b
firmware: Treat timestamps consistently as signed [nfc]
...
This matches other functions and the ARTIQ Python side, but
isn't actually an ABI change.
2018-12-15 00:02:18 +00:00
38ce7ab8ff
sync_struct: handle TimeoutError as subscriber disconnection. Closes #1215
2018-12-13 06:58:54 +08:00
79eadb9465
ad9910: add RAM mode methods
...
* also refactor the CFR1 access into a method
c.f. #1154
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-12-11 14:54:16 +00:00
6df4ae934f
eem: name the servo submodule
...
This allows the migen namer to derive names for the ADC return clock
domain in the case of multiple SUServos
close #1201
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-12-11 11:36:40 +01:00
efd400b02c
ad9910: style [nfc]
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-12-11 11:36:25 +01:00
David Nadlinger
d4c393b2a8
firmware/ksupport: Update cfg(not(has_rtio))
stub signatures
...
This fixes up 8caea0e6d3
,
but it is unclear whether anyone even uses a `not(has_rtio)`
configuration at this point.
2018-12-11 01:22:48 +00:00
d90eb3ae88
ad9910: add read64()
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-12-07 21:27:00 +00:00
baf88050fd
urukul: expand attenuator HITL unittests
...
* read back with cleared backing state
* individual channel settings
* check backing state
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-12-07 21:06:12 +00:00
Kaifeng
cc143d5fec
kasli_tester: add support for windows platform. ( #1204 )
2018-12-05 14:06:45 +01:00
6aa341bc44
test_loopback_gate_timing: fix lat_offset
2018-12-02 20:52:32 +08:00
421834fa3e
compiler: document Target.little_endian
2018-12-02 19:07:18 +08:00
981a77834a
compiler: use default triple to determine data_layout for JIT
2018-12-02 18:52:13 +08:00
d931967e5c
fix previous commits
2018-12-02 18:32:03 +08:00
dd03fdfd1a
typo
2018-12-02 18:26:54 +08:00
8940009e1a
compiler: pass data_layout string to llvm.create_target_data before determining endianness
2018-12-02 18:26:19 +08:00
2e66788c6c
compiler: support little endian target when storing now
2018-12-02 17:40:34 +08:00
7e14f3ca4e
compiler,gateware: atomic now stores
2018-12-02 05:06:46 +08:00
fd00021a52
ctlmgr: do not raise exceptions in Controllers.__setitem__. Closes #1198
2018-12-01 18:09:58 +08:00
7f55376c75
test_loopback_gate_timing: print input timing for debugging
2018-12-01 18:09:53 +08:00
dce4f036db
grabber: work around windows numpy int peculiarity (same as a81c12de9
)
2018-11-30 18:41:14 +08:00
156afb48ee
language: fix syscall arg handling
2018-11-30 17:59:24 +08:00
Paweł K
57caa7b149
artiq_flash: add command to erase flash memory ( #1197 )
2018-11-28 12:33:32 +02:00
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
09141e5bee
rtio/wishbone: support write-only interface
2018-11-26 07:38:06 +08:00
450a035f9e
suservo: move overflowing RTIO address bits into data
2018-11-26 06:54:20 +08:00
ae8ef18f47
rtlink: sanity-check parameters
2018-11-26 01:14:02 +08:00
b32e89444c
Merge branch 'master' into new
2018-11-26 01:02:19 +08:00
af9ea1f324
gui: update background
2018-11-26 01:01:36 +08:00
a81c12de94
urukul: work around windows numpy int peculiarity
...
"OverflowError: Python int too large to convert to C long" otherwise
opticlock#74
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-25 16:56:45 +01:00
8f9858be4c
ad9914: remove automatic continuous phase compensation (like Urukul)
2018-11-19 22:00:20 +08:00
22a223bf82
examples/master: clean up remnants of early urukul tests
2018-11-19 21:42:41 +08:00
53e79f553f
Merge branch 'master' into new
2018-11-19 11:54:50 +08:00
a3e0b1c5b4
ad9914,spi2: add warnings about driver state and DMA. Closes #1113
2018-11-17 22:10:20 +08:00
78d4b3a7da
gateware/targets: expose variant lists
...
This allows writing scripts that build all variants.
2018-11-17 22:10:20 +08:00
69e699c7bd
ttl: compensate for SED latency in input gating
...
Closes #1137
2018-11-17 22:10:20 +08:00
3ad68f65c5
urukul: make get_att_mu() not alter state
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-16 14:56:26 +00:00
d1eee7c0ea
ad9910: ensure sync is driven when required
...
close #1194
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-16 13:21:01 +00:00
1b841805f6
Merge branch 'master' into new
2018-11-16 15:20:32 +08:00
d3483c1d26
kasli: fix SDRAM read delay reset/wrap issue. Closes #1149
2018-11-15 19:40:35 +08:00
494ffca4d3
gui,scan: add CenterScan Scannable variant
...
* parametrized by center/span/step instead of
start/stop/npoints which is more convenient in some applications
* no scan widget support so far
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-15 13:30:43 +08:00
f77a75ab17
test_ad9910: robustify w.r.t. profile synchronization
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-14 08:42:27 +01:00
c3178c2cab
ad9910: profile support
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-14 08:30:28 +01:00
d0cadfeb4b
ad9910: more idiomatic register names
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-14 07:55:01 +01:00
a52d1be140
urukul: expose PROFILE setting
...
* add documentation
* add unittest
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-14 07:43:56 +01:00
2af6edb8f5
eem: fix reset/sync in suservo
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-13 13:00:54 +00:00
whitequark
248c1cf7dc
firmware: fix another TOCTTOU race in sync/async RPC code.
2018-11-13 00:58:20 +08:00
whitequark
68aad3e482
firmware: fix TOCTTOU race in sync/async RPC code.
...
Before this commit, the main loop in session code was laid like:
1. process_kern_queued_rpc
2. process_host_message
3. process_kern_message
If a host message (such as an RPC reply) caused the kernel to exit,
then any async RPCs would not complete, since RunFinished immediately
shuts down the kernel.
Fix this by reordering 1 and 2.
2018-11-13 00:57:09 +08:00
whitequark
dd829afebd
firmware: fix another TOCTTOU race in sync/async RPC code.
2018-11-12 15:42:07 +00:00
whitequark
583bba8777
Revert "firmware: workaround for RPC failures"
...
This reverts commit 59033d2588
.
2018-11-12 15:36:36 +00:00
whitequark
0edae64afb
firmware: fix TOCTTOU race in sync/async RPC code.
...
Before this commit, the main loop in session code was laid like:
1. process_kern_queued_rpc
2. process_host_message
3. process_kern_message
If a host message (such as an RPC reply) caused the kernel to exit,
then any async RPCs would not complete, since RunFinished immediately
shuts down the kernel.
Fix this by reordering 1 and 2.
2018-11-12 15:30:59 +00:00
59033d2588
firmware: workaround for RPC failures
2018-11-12 19:51:54 +08:00
84a6b3d09b
runtime: fix DMA recording after now-pinning
2018-11-10 14:14:55 +08:00
a4997c56cf
ad9910: simplify edge detection logic
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-09 18:54:34 +00:00
14b6b63916
ad9910: rewire io_delay tuning
...
This now reliably locates the SYNC_CLK-IO_UPDATE edge by doing two
scans at different delays between start and stop IO_UPDATE.
It also works well when one delay is very close to the edge.
And it correctly identifies which (start or stop) pulse hit or crossed
the SYNC_CLK edge.
for #1143
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-09 18:38:27 +00:00
1f7858b80b
test/dsp: fix rtio_output
2018-11-09 22:11:44 +08:00
e509ab8553
test/dsp: use absolute import path
...
Avoids "ImportError: attempted relative import with no known parent package"
when doing a simple "python -m unittest test_XXX.py".
2018-11-09 22:10:46 +08:00
38c6878d49
urukul: mention min/max attenuation
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-09 13:32:05 +01:00
e565ca6b82
urukul: slow down att write to datasheet limit
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-09 13:23:06 +01:00
998be50f07
urukul: handle MSB in att_reg
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-09 13:21:14 +01:00
c990b5e4f1
Merge remote-tracking branch 'origin/master' into new
2018-11-08 20:21:56 +08:00
a0cc7311ad
test: tighten test_pulse_rate
2018-11-08 20:17:55 +08:00
0bee43aa58
sawg: use new rtio_output() API
2018-11-08 20:16:30 +08:00
bec25cbaa0
suservo: use new rtio_output() API
2018-11-08 20:13:14 +08:00
e8d58b35b4
spi2: use new rtio_output() API
2018-11-08 20:12:30 +08:00
d18546550e
grabber: use new rtio_output() API
2018-11-08 19:15:50 +08:00
2549e623c1
ad9914: use new rtio_output() API
2018-11-08 19:15:44 +08:00
David Nadlinger
9740032a94
firmware: Fix dma_record_output_wide
2018-11-08 11:06:43 +00:00
f74dda639f
drtio: 8-bit address
2018-11-08 18:36:20 +08:00
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
fcb611d1d2
test_ad9910: don't expect large SYNC_IN delay margins
...
sinara-hw/Urukul#16
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-07 18:18:35 +01:00
aadf5112b7
rtio: remove incorrect comment
2018-11-08 00:02:44 +08:00
fae95e73ad
ttl: use optimized rtio_output API
2018-11-07 23:41:43 +08:00
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
e6efe830c4
ad9910: rewire sync delay tuning
...
* search from wide window end
* decouple margins and minimum window size
* add note about kasli jitter
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-07 14:52:03 +00:00
ad0254c17b
Merge branch 'switching125' into new
2018-11-07 22:03:18 +08:00
efd735a6ab
Revert "drtio: monitor RTIOClockMultiplier PLL ( #1155 )"
...
This reverts commit 469a66db61
.
2018-11-07 22:01:03 +08:00
6c00ab57c0
test_ad9910: relax SYNC window
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-06 19:31:38 +01:00
172633c7da
test_ad9910: default to a useful seed
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-06 17:35:57 +01:00
0b2661a34d
ad9910: robustify SYNC window finding
...
don't integrate too long, find the window tip fast and early
a couple 100 SYNC pulses are sufficient
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-06 12:41:21 +00:00
ba4bf6e59b
kasli: don't pass rtio pll feedback through bufg
...
UG472: "The MMCM performance increases because the
feedback clock is not subjected to noise on the core supply since it
never passes through a block powered by this supply."
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-06 11:58:55 +00:00
b6e4961b0f
kasli: lower RTIO clock jitter
...
* high bandwidth since the si5324 is good
* no low power ibufgds
* drop bufg between ibufgds and pll
* increase pll vco frequency to 1.5 GHz
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-06 11:43:19 +00:00
e17e458c58
ptb2: add sync to urukul0 for ad9910 usage
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-06 10:06:51 +00:00
73b7124091
test_ad9910: print sync scan for debugging
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-06 10:04:21 +01:00
9a3d81ffee
kasli: fix tester clk_sel
2018-11-06 14:49:21 +08:00
fb12df7e01
Revert "kasli_tester: urukul0 mmcx clock defunct"
...
This reverts commit 68220c316d
.
2018-11-06 14:33:21 +08:00
31f68ddf6c
Merge branch 'urukul-sync'
...
* urukul-sync: (29 commits)
urukul: flake8 [nfc]
ad9910: flake8 [nfc]
urukul/ad9910 test: remove unused import
test_urukul: relax speed
urukul,ad9910: print speed metrics
kasli: add PTB2 (external clock and SYNC)
kasli: add sync to LUH, HUB, Opticlock
kasli_tester: urukul0 mmcx clock defunct
test_ad9910: relax ifc mode read
tests: add Urukul-AD9910 HITL unittests including SYNC
ad9910: add init bit explanation
test: add Urukul CPLD HITL tests
ad9910: fiducial timestamp for tracking phase mode
ad9910: add phase modes
ad9910: fix pll timeout loop
tester: add urukul sync
ptb: back out urukul-sync
ad9910: add IO_UPDATE alignment and tuning
urukul: set up sync_in generator
ad9910: add io_update alignment measurement
...
close #1143
2018-11-05 19:54:30 +01:00
6fb18270a2
urukul: flake8 [nfc]
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:45:24 +01:00
832690af9a
ad9910: flake8 [nfc]
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:44:51 +01:00
6d525e2f9a
urukul/ad9910 test: remove unused import
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:40:57 +01:00
36c5a7cd04
test_urukul: relax speed
...
works fine at < 3µs here but needs <5 µs on buildbot-kasli-tester
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:37:20 +01:00
89fecfab50
urukul,ad9910: print speed metrics
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:37:18 +01:00
32d538f72b
kasli: add PTB2 (external clock and SYNC)
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:37:16 +01:00
d8a5951a13
kasli: add sync to LUH, HUB, Opticlock
...
for #1143 , also add missing LUH device db
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:37:14 +01:00
68220c316d
kasli_tester: urukul0 mmcx clock defunct
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:37:11 +01:00
89fadab63d
test_ad9910: relax ifc mode read
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:37:08 +01:00
f522e211ba
tests: add Urukul-AD9910 HITL unittests including SYNC
...
for #1143
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:37:06 +01:00
9fb850ae75
ad9910: add init bit explanation
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:37:02 +01:00
bc04da15c5
test: add Urukul CPLD HITL tests
...
for #1143
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:37:00 +01:00
141cc7d99f
ad9910: fiducial timestamp for tracking phase mode
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:58 +01:00
2f6d3f79ff
ad9910: add phase modes
...
* simplified and cross-referenced the explanation of the different
phase modes.
* semantically and functionally merged absolute and tracking/coherent
phase modes.
* simplified numerics to calculate phase correction
* added warning about possible inconsistency with DMA and default
phase mode
* restricted __all__ imports
* moved continuous/relative phase offset tracking from an instance
variable to a "handle" returned by set()/set_mu() in order to avoid
state inconsistency with DMA (#1113 #1115 )
for #1143
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:55 +01:00
d3ad2b7633
ad9910: fix pll timeout loop
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:53 +01:00
4269d5ad5c
tester: add urukul sync
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:52 +01:00
60d3bc63a7
ptb: back out urukul-sync
...
... for backwards compatibility.
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:50 +01:00
06139c0f4d
ad9910: add IO_UPDATE alignment and tuning
...
for #1143
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:48 +01:00
1066430fa8
urukul: set up sync_in generator
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:46 +01:00
4bbd833cfe
ad9910: add io_update alignment measurement
...
for #1143
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:44 +01:00
7b92282012
ad9910: add docs for sync tuning, refactor
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:42 +01:00
8a47a6b2fb
ad9910: disable sync_clk output
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:40 +01:00
65e2ebf960
ad9910: add sync delay control, auto tuning
...
* expose multi device sync functionality
* sync delay configuration interface
* auto-tuning of sync delay from device_db seed
for #1143
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:37 +01:00
8dbf5f87fd
ad9910: simplify io_update pulsing on init, set_mu
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:35 +01:00
0b3b07a7da
ad9910: add power down method
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:34 +01:00
3538444876
urukul: add sync_in to eem0-7 name
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:32 +01:00
0433e8f4fe
urukul: add sync_in generator
...
for #1143
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:30 +01:00
f62c1ff0bb
TTLClockGen: expose acc_width
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:27 +01:00
f755a4682a
device_db_ptb: fix zotino clr
...
Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-05 19:36:24 +01:00
David Nadlinger
f79b9d9e1e
ttl: Expand input gate/count API docstrings
2018-11-03 20:33:19 +08:00
David Nadlinger
f02ceee626
language: Clarify now_mu() docstring [nfc]
2018-11-03 20:33:19 +08:00
David Nadlinger
5d2e3f975f
coredevice: Add get_rtio_counter_mu() docstring [nfc]
2018-11-03 20:33:19 +08:00
David Nadlinger
d6fcc0529f
coredevice: Imperative mood in docstrings [nfc]
...
This follows Python conventions (PEP257) and unifies the style with
other comments.
2018-11-03 20:33:19 +08:00
David Nadlinger
cbdef0225c
ttl: Add target RTIO time argument to timestamp/count functions
...
Software-based tracking of timestamps is problematic (e.g. when
using DMA, see GitHub #1113 ).
2018-11-03 20:33:19 +08:00
David Nadlinger
2a0e1dabfb
ttl: Remove unused attribute [nfc]
2018-11-03 20:33:19 +08:00
David Nadlinger
17a5fb2dce
ttl: Remove error-prone sync() calls
...
These methods are problematic, as with DMA in the picture, the
timestamp member variables did not necessarily reflect the last
submitted event timestamp (see GitHub #1113 ).
sync() is only very rarely used in typical experimental code, so
the methods are removed without a transition period.
Core.wait_until() can be used to busy-wait for a specified RTIO
timestamp value on the core device CPU instead.
2018-11-03 20:33:19 +08:00
David Nadlinger
11e8c9d5f7
coredevice: Add Core.wait_until_mu()
...
(This supersedes TTLOut.sync(), see see GitHub #1113.)
2018-11-03 20:33:19 +08:00
David Nadlinger
cbfbe24d7a
ttl: Remove broken TTLClockGen.sync
...
The code currently doesn't compile because of a typo in the timestamp
field name. However, tracking event timestamps in software is
problematic anyway (e.g. with DMA, see GitHub #1113 ), so just remove
`sync()` altogether.
2018-11-03 20:33:19 +08:00
bc4a8157c0
kasli: add tsinghua2
2018-11-01 18:26:37 +08:00
89a961fb00
urukul, ad9912, ad9910: expose CFG RF switch better
...
* conincident setting of multiple switches
* per channel setting
2018-10-24 13:04:46 +02:00
48a142ed63
use FutureWarning instead of DeprecationWarning
...
DeprecationWarning is disabled by default and too easy to ignore.
2018-10-21 12:14:51 +08:00
9793632282
enviromnment: rename 'save' in set_dataset to 'archive'. Closes #1171
2018-10-21 12:08:34 +08:00
Marius Weber
029f9d983a
Tpz fixes ( #1178 )
...
* flake8
* fix TPZ constructor after move to asyncio
* Tcube fix docummentation in set_channel_enable_state
2018-10-20 20:49:15 +08:00
c52a6ca8e9
typo ( #1179 )
2018-10-20 20:40:07 +08:00
Florent Kermarrec
3318925f4e
firmware/liboard_misoc/sdram: use similar loops on read_level_scan and read_level for consistent results
2018-10-16 09:40:39 +02:00
6357a50d33
kasli: update nudt variant
2018-10-15 18:04:57 +08:00
David Nadlinger
e3cfbfed06
master: Add minimal docstring to worker_impl [nfc]
2018-10-14 10:41:32 +08:00
David Nadlinger
64b9a377da
master: Factor RIDCounter out into own module, explain worker_db module [nfc]
...
The docstrings are quite minimal still, but should already
help with navigating the different layers when getting
accustomed with the code base.
RIDCounter was moved to its own module, as it isn't really
related to the other classes (used from master only).
2018-10-14 10:41:32 +08:00
David Nadlinger
4641ddf002
master: Remove unused import [nfc]
2018-10-14 10:41:32 +08:00
661dd00c4c
ad9912: phase offset is 14 bit LSB aligned
...
c.f. sinara-hw/Urukul#15
2018-10-11 15:16:08 +02:00
hartytp
08074d5275
Urukul: add support for hardware v1.3 clocking options
2018-10-10 09:26:35 +02:00
469a66db61
drtio: monitor RTIOClockMultiplier PLL ( #1155 )
...
Debugging by Tom Harty
2018-10-08 14:50:02 +02:00
hartytp
1a1b454ed9
Urukul: flake8 (NFC)
2018-10-08 10:09:49 +01:00
5de319d76a
bit2bin: don't print string terminator
2018-10-08 10:13:03 +02:00
hartytp
9a509e5070
Zotino: increase delay after register read in init method to avoid underflows
2018-10-06 21:45:17 +08:00
86fe6b0594
kasli: add NUDT variant
2018-10-04 23:20:09 +08:00
a89bd6b684
kasli: swap Urukul EEMs for Tester
...
Updated to Urukul 1.3.
2018-10-04 23:19:31 +08:00
9f96b6bcda
kasli: use 125MHz DRTIO freq for testing
2018-10-04 10:41:01 +08:00
969a305c5a
Merge branch 'master' into switching125
2018-10-04 10:08:42 +08:00
d0ee2c2955
opticlock: external 100 MHz
2018-09-28 19:05:18 +02:00
3b3fddb5a4
kasli: add mitll2
2018-09-27 23:21:52 +08:00
998a468983
examples: add grabber to device databases
2018-09-27 16:09:25 +08:00
c71e442929
documentation improvements
...
Based on PR #1101 by @drewrisinger
2018-09-26 12:12:37 +08:00
b92350b0f6
drtio: monitor RTIOClockMultiplier PLL ( #1155 )
...
Debugging by Tom Harty
2018-09-26 10:52:08 +08:00
53c7a5f2c6
dashboard: fix TTL moninj level display
2018-09-26 10:32:08 +08:00
212892d92f
style
2018-09-26 10:13:33 +08:00
20cddb6a25
tester: handle no available ttl outputs
2018-09-24 09:19:28 +00:00
73f0de7c79
sayma: DRTIO master fixes
2018-09-20 11:15:45 +08:00
1b7f403a4b
drtio: remove remote RTIO PHY resets
2018-09-20 11:10:32 +08:00
53a979e74d
rtio: cleanup resets
2018-09-20 10:58:38 +08:00
251d90c3d5
drtio: clear read request in satellite only after reply has been fully sent
...
Otherwise, chan_sel become invalid before the end of the packet, which
can cause the interconnect to invalidate i_timestamp and i_data which results
in corruption of the end of the packet.
2018-09-20 08:53:45 +08:00
69d060b639
drtio: fix satellite i_status handling
2018-09-19 20:57:21 +08:00
b86b6dcc09
drtio: add switching input test
2018-09-19 17:50:29 +08:00
08be176369
drtio: fix satellite i_status handling
2018-09-19 17:50:18 +08:00
3d965910f7
Revert "drtio: implement per-destination underflow margins"
...
This reverts commit 142c952e3d
.
2018-09-19 17:05:48 +08:00
142c952e3d
drtio: implement per-destination underflow margins
2018-09-19 17:03:15 +08:00
62642957cd
runtime: fix DRTIO aux channel race condition
2018-09-19 11:16:21 +08:00
David Nadlinger
b482f5feae
firmware: Use larger ARP cache
...
This works around a problematic interaction between ARP cache
expiry in smoltcp (with its 3 seconds timeout before a discovery
request is sent) and our TCP keepalive settings, where the timeout
is reached before the keepalive had a chance to be sent.
GitHub: Closes #1150 .
2018-09-18 14:46:52 +00:00
970d1bf147
drtio: add switching unittest
2018-09-18 15:27:52 +08:00
eda15a596c
drtio: add buffering to repeater
2018-09-18 15:27:25 +08:00
2b44786f73
drtio: add repeater input support
2018-09-17 23:45:27 +08:00
whitequark
c33f74dabe
firmware: derive Clone for Mutex.
2018-09-15 15:24:44 +00:00
c8cd830118
drtio: implement get_rtio_destination_status for kernels
2018-09-15 19:11:22 +08:00
f7ad7a99e3
firmware: set DEST_COUNT to 0 without routing
2018-09-15 19:10:52 +08:00
3cbdf2fbac
kasli: cleanup drtio blink example
2018-09-15 18:43:27 +08:00
d38755feff
drtio: implement destination state checks on operations
2018-09-15 15:55:45 +08:00
whitequark
1990ab35d3
firmware: implement mutexes.
2018-09-15 07:35:35 +00:00
cd61ee858c
kasli: fix satellite TSC instantiation
2018-09-15 14:06:54 +08:00
7565d816e4
frontend: remove artiq_pcap. Closes #1152
2018-09-15 12:09:37 +08:00
eaeab0c9bd
frontend: add artiq_rtiomon
2018-09-15 12:09:32 +08:00
c0c413196a
frontend: remove artiq_pcap. Closes #1152
2018-09-15 12:08:06 +08:00
f097b4104c
satman: not(has_drtio_routing) fixes
2018-09-15 12:06:47 +08:00
0017cb756e
frontend: add artiq_rtiomon
2018-09-15 10:44:59 +08:00
2f010e0109
runtime: improve moninj aux error logging
2018-09-15 10:44:41 +08:00
20ed393c1e
style
2018-09-15 10:43:50 +08:00
f8c6fa5ad6
typo
2018-09-15 10:43:36 +08:00
65da1fee4a
firmware: fix build without DRTIO
2018-09-14 20:38:41 +08:00
d19550daf8
firmware: simplify drtioaux function names
2018-09-14 20:32:09 +08:00
ae72e3a51e
firmware: add support for moninj and kern_hwreq over DRTIO switching
2018-09-14 20:26:39 +08:00
1ef39a98a7
drtio: implement per-destination buffer space
2018-09-13 16:16:32 +08:00
e95638e0a7
style
2018-09-13 15:54:28 +08:00
042b0065de
runtime: print destination up message for local RTIO
2018-09-13 14:10:52 +08:00
fa872c3341
firmware: implement DRTIO destination survey
2018-09-13 12:00:29 +08:00
6cf3db3485
satman: forward RTIO resets
2018-09-12 23:02:54 +08:00
5a9cc004f2
drtio: receive and print unsolicited aux packets
...
Helps with debugging and prevents the aux channel from getting stuck after packets arrive after the timeout.
2018-09-12 22:57:21 +08:00
0befec7d26
drtio: improve repeater error reports
2018-09-12 20:54:01 +08:00
420e1cb1d0
cri: fix firmware routing table access
2018-09-12 18:08:16 +08:00
e36a8536d7
runtime: better handling of aux timeouts
2018-09-12 17:31:23 +08:00
5bcd40ff59
cri: fix routing table depth
2018-09-12 17:30:55 +08:00
edf403b837
drtio: improve error reporting
2018-09-12 15:44:34 +08:00
95432a4ac1
drtio: remove old debugging features
2018-09-12 13:01:27 +08:00
8227037a84
examples: add kasli_drtioswitching
2018-09-11 22:20:18 +08:00
41972d6773
drtio: rt_packet_satellite CRI fixes
2018-09-11 22:19:55 +08:00
051bafbfd9
drtio: ensure 2 cycles between frames on the link
...
This gives time for setting chan_sel before cmd on CRI.
2018-09-11 22:18:42 +08:00
251b9a2b0d
drtio: do not lock up master when satellite repeatedly fails to answer buffer space reqs
2018-09-11 22:17:57 +08:00
5439abaa9d
satman: fix error messages
2018-09-11 20:10:52 +08:00
36e3fedfc6
runtime: print routing table at boot
2018-09-11 20:10:33 +08:00
e6bd835b5d
satman: fix rank setting
2018-09-11 20:04:51 +08:00
2679a35082
firwmare: propagate DRTIO routing table and rank all the way
2018-09-11 18:28:17 +08:00
c0c5867f9e
satman: increase stack size
...
Prevents crashing when running the routing code.
Will have to be shrunk back on Sayma RTM.
2018-09-11 18:23:51 +08:00
a23af67f2b
satman: print better debugging information on exception
2018-09-11 18:23:36 +08:00
f5b386c0d8
firmware: fix routing table formatting
2018-09-11 18:22:45 +08:00
b38c57d73b
firmware: send DRTIO routing table to satellite
2018-09-11 14:12:41 +08:00
3d29a7ed14
firmware: add fmt::Display to RoutingTable
2018-09-11 11:27:56 +08:00
2fff96802b
runtime: remove support for building without RTIO
2018-09-10 23:09:02 +08:00
19a14b68b1
runtime: program DRTIO routing table into gateware
2018-09-10 22:48:56 +08:00
264078baba
style
2018-09-10 22:29:35 +08:00
e01efbcb8a
runtime: merge sync_tsc and wait_tsc_ack
2018-09-10 22:17:00 +08:00
4d889c0c4e
firmware: improve DRTIO log messages
2018-09-10 21:40:02 +08:00
663432adbd
satman: load TSCs of downstream devices
2018-09-10 20:34:33 +08:00
bc1d3fda6a
satman: ping repeater links
...
Tested OK on hardware.
2018-09-10 20:17:13 +08:00
31bef9918e
firmware: fix drtio_routing compatibility with master and satellite
2018-09-10 20:16:42 +08:00
7ec45efdcf
kasli: add missing cri_con to Satellite
2018-09-10 20:16:09 +08:00
014cfd8dbd
firmware: add drtioaux routing packets
2018-09-09 22:44:25 +08:00
7ae44f3417
firmware: add routing table (WIP)
2018-09-09 21:49:28 +08:00
496d1b08fd
kasli: enable routing in Master
2018-09-09 21:48:12 +08:00
ec302747e0
kasli: add DRTIO repeaters
2018-09-09 16:27:39 +08:00
d5577ec0d0
cri: add routing table support
2018-09-09 16:26:48 +08:00
df61b85988
drtio: fix imports
2018-09-09 14:11:32 +08:00
312256a18d
grabber: fix frame size off-by-1
2018-09-07 16:55:43 +02:00
ec62eb9373
drtio: minor cleanup
2018-09-07 17:51:38 +08:00
4d73fb5bc9
grabber: only advance when DVAL
2018-09-06 11:01:08 +02:00
87e0384e97
drtio: separate aux controller
...
This helps with managing CSR groups and heterogeneous (satellite/repeaters) DRTIO cores.
2018-09-05 17:56:58 +08:00
92be9324df
add missing files
2018-09-05 16:09:02 +08:00
2884d595b3
drtio: add rt_controller_repeater
2018-09-05 16:08:40 +08:00
839f748a1d
drtio: add external TSC to repeater
2018-09-05 15:55:20 +08:00
5f20d79408
drtio: add timeout on satellite internal CRI buffer space request
2018-09-05 14:12:11 +08:00
1450e17a73
sayma: adapt to TSC and DRTIOSatellite changes
2018-09-05 12:10:41 +08:00
19ae9ac1b1
kc705: adapt to TSC changes
2018-09-05 12:07:28 +08:00
3d531cc923
kasli: adapt to TSC and DRTIOSatellite changes
2018-09-05 12:06:47 +08:00
4e4398afa6
analyzer: adapt to TSC changes
2018-09-05 12:06:20 +08:00
15b16695c6
frontend: add artiq_route
2018-09-04 19:04:27 +08:00
bf36786d45
kasli_tester: clean up grabber test
2018-09-04 10:59:19 +00:00
47eb37e212
VLBAI{Master,Slave}: align rtio channels with PTB
2018-09-04 10:39:45 +00:00
778f1de121
drtio: add TSC sync and missed command detection to rt_packet_repeater
2018-09-03 18:26:13 +08:00
hartytp
c55460f59f
suservo: fix doc typo
2018-09-03 11:48:40 +02:00
00fabee1ca
drtio: fix rt_packet_repeater timeout
2018-09-03 09:57:15 +08:00
f3fe818049
rtio: refactor TSC to allow sharing between cores
2018-09-03 09:48:12 +08:00
0fe2a6801e
drtio: forward destination with channel
2018-09-02 15:50:23 +08:00
6768dbab6c
drtio: add buffer space support to rt_packet_repeater
2018-09-02 14:38:37 +08:00
88b7529d09
drtio: share CDC
2018-09-02 14:37:29 +08:00
078c862618
drtio: add repeater (WIP, write only)
2018-09-01 21:07:55 +08:00
6057cb797c
drtio: reorganize tests
2018-08-31 16:28:33 +08:00
4f963e1e11
drtio: minor cleanup
2018-08-30 15:15:32 +08:00
ce6e390d5f
drtio: expose internal satellite CRI
2018-08-30 12:41:09 +08:00
e7dba34475
kasli/tester: fill all 12 EEM
2018-08-29 18:09:09 +00:00
b58ec2d78e
artiq_flash: treat all variants ending in satellite
as such
2018-08-29 17:53:48 +00:00
fbf05db5ab
kasli: add VLBAI Master and Satellite
2018-08-29 17:53:48 +00:00
9584c30a1f
kasli: DRTIO Base: flexible rtio_clk_freq
2018-08-29 17:53:48 +00:00
eb9e9634df
siphaser: support 125 MHz rtio clk
...
keep the phase shift increment/decrement at 1/(56*8) rtio_clk
cycles
2018-08-29 17:53:48 +00:00
ccc58a0f84
satman: add 125 MHz Si5324 settings
...
from cjbe
2018-08-29 17:53:48 +00:00
aa64e6c1c6
cri: add buffer space request protocol
2018-08-29 15:16:43 +08:00
ba6094c3e5
test: relax network transfer rates
...
Due to lower Kasli system clock frequency.
2018-08-27 16:47:48 +08:00
whitequark
0e7419450e
firmware: update smoltcp.
...
This adds TCP window scaling support.
2018-08-20 00:26:40 +00:00
9b6ea47b7a
kasli: use SFP LEDs to show DRTIO link status. Closes #1073
2018-08-19 13:04:41 +08:00
d1d26e2aa3
hmc7043: add explanation about HMC_SYSREF_DIV
2018-08-18 11:43:40 +08:00
f75a317446
hmc7043: automatically determine output groups
2018-08-18 11:43:23 +08:00
c498b28f88
hmc7043: disable FPGA_ADC_SYSREF
2018-08-18 11:42:57 +08:00
a7810502f6
artiq_coremgmt: add option to specify core device address directly
2018-08-18 10:58:40 +08:00
fc09144baa
artiq_coremgmt: remove unnecessary DeviceManager
2018-08-18 10:46:08 +08:00
167e97efd2
sayma: support external RTM clocking
2018-08-17 22:57:54 +08:00
041dc0f64a
jesd204: update core to v0.10
...
Closes #727
Closes #1127
2018-08-17 22:50:07 +08:00
5c3e834c4d
ad9154: retry DAC initialization on STPL or PRBS failure
...
Works around #1127
2018-08-17 20:52:55 +08:00
66e33a66d6
test: enable TTL loopback tests on Kasli
2018-08-17 13:35:55 +08:00
d707d2f4fe
test: relax TTL timing requirements to support DIO EEM
2018-08-17 13:35:16 +08:00
1ba12e1cdb
gui/log: print messages in tooltips
...
This helps reading long messages in small log windows.
2018-08-17 13:21:38 +08:00
David Nadlinger
2463e5667d
compiler: Fix attribute writeback with skipped fields
...
offset wasn't advanced for skipped fields previously,
leading to memory corruption/unaligned accesses at runtime.
2018-08-14 13:34:32 +01:00
c172ec6de9
artiq_flash: target Kasli by default
2018-08-13 12:13:21 +08:00
David Nadlinger
0e32a165c2
satman: Fix build with Rust 1.28
...
The build was broken in 2648b1b7a1
.
2018-08-13 00:12:27 +01:00
whitequark
e285fe0d56
test: tighten required TransferTest timings.
...
smoltcp performs significantly better with LTO.
2018-08-12 20:17:37 +00:00
whitequark
46bd96abd1
artiq_devtool: make kasli-tester the default configuration.
2018-08-12 19:17:45 +00:00
whitequark
38d60100ff
firmware: optimize dma_record_output.
...
This removes a number of bounds checks and adds a fast path for
outputting exactly one word to DMA, which is the most common
operation.
2018-08-12 19:17:45 +00:00
whitequark
bdd18de2c1
firmware: globally enable LTO.
...
This used to crash with earlier rustc versions, but doesn't anymore,
and gives significant speedup (e.g. 2x on test_dma_record_time).
2018-08-12 19:17:45 +00:00
whitequark
2648b1b7a1
firmware: migrate to Rust 1.28.0.
...
This also updates / is a prerequisite for updating smoltcp.
Rationale for changes made:
* compiler_builtins is now shipped in the rust prefix.
* rustc's libpanic_unwind no longer works for us because it
has a hard dependency on Box (and it's a horrible hack);
fortunately, we only ever needed a personality function
from it.
* panic and oom handlers are now set in a completely different
way.
* allocators are quite different (and finally stable).
* NLL caused internal compiler errors in runtime, so code using
NLL was rewritten to not rely on it and it was turned off.
2018-08-12 19:17:45 +00:00
738d2c6bcb
hmc7043: REFSYNCIN → RFSYNCIN
2018-08-11 12:07:17 +08:00
bc3e715a8f
examples: fix kasli_tester
2018-08-11 10:51:42 +08:00
whitequark
fab6e5cdff
compiler: skip functional values in attribute writeback.
...
Fixes #1088 .
2018-08-10 12:02:49 +00:00
052e400f12
test: skip test_dma_playback_time on Kasli ( #946 )
2018-08-09 18:08:21 +08:00
957645a7e7
examples: move kasli tester out of kasli_basic
2018-08-09 18:07:44 +08:00
bbc98410e4
test: dds → ad9914dds
...
Prevent confusion with Urukul.
2018-08-09 16:55:09 +08:00
bf78e0c7d2
test: fix handling of missing devices
2018-08-09 16:51:12 +08:00
a061ba2505
grabber/kasli_basic: add grabber test
...
close #1121
2018-08-08 12:43:44 +02:00
f7678cc24a
grabber: refactor state machine
2018-08-07 18:07:46 +02:00
6cd2432e30
grabber: log all resolution changes
...
close #1120
2018-08-07 16:21:21 +02:00
99a15ca0c6
grabber: rationalize derived traits
2018-08-07 16:21:21 +02:00
49f7a1610f
sayma: use GTP_CLK1 only for all variants ( #1080 )
2018-08-07 20:53:14 +08:00
e2a49ce368
drtio: support external IBUFDS_GTE3
2018-08-07 20:52:45 +08:00
8b8e1844f0
kasli_sawgmaster: roughly match Urukul and Sayma amplitudes
2018-08-07 20:07:21 +08:00
9ce6233926
kasli: fix SYSU TTL directions
2018-08-07 19:29:28 +08:00
8aa88cfe70
kasli_sawgmaster: add Urukul-Sayma example
2018-08-07 19:29:28 +08:00
474bc7b65b
browser: handle windows file urls for feeding h5py
...
close #1014
2018-08-07 12:57:01 +02:00
whitequark
93af5d2a03
compiler: handle async RPC as last statement in try block.
...
Fixes #1107 .
2018-08-07 07:06:53 +00:00
whitequark
7bd7b6592a
rpc_proto: serialize keywords correctly.
...
Fixes #1109 .
2018-08-07 06:47:09 +00:00
whitequark
259f1576c3
Fix tests after a74958f0
.
2018-08-07 06:06:49 +00:00
whitequark
a74958f01f
ksupport: raise RuntimeError on reraise with no inflight exception.
...
Fixes #1123 .
2018-08-07 05:53:13 +00:00
2008d02f4d
runtime: use different default IP and MAC for different kinds of boards
...
This helps reduce conflicts when having many boards on a development network.
2018-08-07 10:30:50 +08:00
bbe36b94f7
ad9154: enable sync in init
2018-08-06 19:02:27 +08:00
7f0b2ff594
jesd204sync: work around HMC7043 poor behavior with combined delays
...
The HMC7043 outputs poorly controlled signals when adjusting
two delays at once. This commit puts the DAC in one-shot SYSREF mode,
and only triggers synchronizations when SYSREF is stable.
2018-08-06 17:43:17 +08:00
f32f0126e2
Revert "ad9154: use continuous sync mode"
...
The HMC7043 is not really glitchless.
This reverts commit bd968211de
.
2018-08-06 16:59:53 +08:00
65f198bdee
kasli: use tester EEMs for DRTIO, add Urukul-Sayma sync example
2018-08-06 16:53:13 +08:00
bd968211de
ad9154: use continuous sync mode
2018-08-06 00:27:10 +08:00
b023865b42
sayma: instantiate dummy IBUFDS_GTE3 on unused but driven Si5324 clock pins
...
Solve same problem as e83ee3a0
but channels cannot be independently disabled.
2018-08-05 23:02:41 +08:00
e83ee3a07a
hmc7043: disable GTP_CLK1 when not in use
...
Termination and biasing are not active at the FPGA when IBUFDS_GTE3 is
not instantiated, and driving a clock then leads to overvoltage.
2018-08-03 10:03:52 +08:00
6fc8439399
tweak moninj to allow old dashboard with new firmware
2018-08-02 19:34:14 +08:00
04cbc3237b
test_moninj: test injection monitoring
2018-08-02 19:34:14 +08:00
47740c8930
share moninj injection state between dashboards
...
Previously if one dashboard overrode a channel this was not visible on
any other dashboard - the channel appeared to operate normally.
2018-08-02 19:34:14 +08:00
7d6a1b528d
ad9912: add ftw_to_frequency
2018-08-02 11:19:12 +00:00
e518a1f1d0
ad53xx: also increase slack after control readback
2018-08-02 11:19:12 +00:00
whitequark
5871d13da8
firmware: actually compact in config::compact().
...
Fixes #1116 .
2018-08-01 16:27:48 +00:00
David Nadlinger
829fca6112
pyon: Correctly deserialize bare NaNs
...
This also fixes (non-numpy) lists containing NaNs.
Previously, accidentally storing a NaN in a dataset would
bring down large parts of the system.
2018-07-30 11:08:56 +01:00
David Nadlinger
08ee91beb2
ad9910: Clarify chip_select range [nfc]
...
`assert 3 <= chip_select <= 7` is rather opaque without looking
at the CPLD source code otherwise.
2018-07-30 11:08:17 +01:00
David Nadlinger
6b89106578
ad53xx: Avoid sporadic RTIOUnderflow in init()
...
I observed sporadic RTIO underflows on Kasli before, by ~2.5 µs,
so 5 µs extra slack should be plenty. No underflows since.
2018-07-28 23:45:48 +01:00
e4d48a78eb
drtio: wait for remote to ack TSC synchronization
...
Sayma takes a long time after TSC sync to align SYSREF, and this caused two issues:
1. Aux packets getting lost and causing error reports
2. DRTIO links reported up and kernels proceeding despite the DACs not being properly synced.
2018-07-26 20:28:17 +08:00
83de8b2ba2
drtio: add ping timeout during link init
2018-07-26 20:27:53 +08:00
446f791180
firmware: simplify SYSREF DRTIO alignment
2018-07-26 19:37:59 +08:00
f8c17528e7
satman: use new SYSREF code
2018-07-26 16:26:57 +08:00
32c95ac034
sayma: automated DAC SYSREF phase calibration
2018-07-26 16:23:55 +08:00
dbcf2fe9b4
firmware: remove 'chip found' messages on Sayma
2018-07-26 16:07:37 +08:00
d523d03f71
sayma: automated FPGA SYSREF phase offset calibration
2018-07-26 14:53:28 +08:00
0a9d3638ee
config: add write_int
2018-07-26 14:49:32 +08:00
19c51c644e
grabber: cleanup GRABBER_STATE
2018-07-24 19:08:51 +08:00
fb96c1140e
grabber: add coredevice driver
2018-07-24 18:06:44 +08:00
b38c685857
grabber: fix pix.stb
2018-07-24 11:32:32 +08:00
60a7e0e40d
grabber: use usual order of ROI coordinates in cfg addresses
2018-07-24 10:55:13 +08:00
7b75026391
grabber: add MultiReg to transfer ROI boundaries
2018-07-21 13:40:12 +08:00
4a4d0f8e51
grabber: fix missing variable rename
2018-07-21 13:39:46 +08:00
3638a966e1
kasli: add false path between RTIO and CL clocks
2018-07-21 13:26:13 +08:00
031de58d21
grabber: complete RTIO PHY, untested
2018-07-21 13:25:47 +08:00
e3ba4b9516
grabber: minor ROI engine cleanup, export count_len, cap count width to 31
2018-07-21 13:25:13 +08:00
cab0ba408d
fmcdio_vhdci_eem: cleanup and document
2018-07-20 09:57:03 +08:00
d152506ecb
sayma: update fmcdio_vhdci_eem demo
2018-07-19 15:47:20 +08:00
8dfcd463aa
fmcdio_vhdci_eem: naming consistency
2018-07-19 15:46:04 +08:00
fe93a454d6
fmcdio_vhdci_eem: fix direction shift register permutation and polarity
2018-07-19 15:16:21 +08:00
e71cbe53a6
firmware: cleanup Cargo.lock
2018-07-18 10:37:43 +08:00
31f4f8792a
sayma: add Urukul and Zotino to example device_db
2018-07-18 10:31:55 +08:00
25170a53e5
sayma: add back Urukul and Zotino
2018-07-18 10:27:54 +08:00
5e62910a8d
examples: add Sayma VHDCI DIO
2018-07-17 23:28:05 +08:00
8b9a8be12a
fmcdio_vhdci_eem: add dirctl word computation functions
2018-07-17 23:27:29 +08:00
82145b1263
examples: sayma_drtio → sayma_masterdac
2018-07-17 20:32:30 +08:00
7fe76426fe
fmcdio_vhdci_eem: commit missing part of previous commit
2018-07-17 20:30:13 +08:00
d4d12e264d
fmcdio_vhdci_eem: refactor
...
This allows access to the pin allocation from kernels, which becomes useful
to configure the direction shift register.
2018-07-17 20:13:59 +08:00
4fdc20bb11
sayma: disable Urukul and Zotino for now
...
Ultrascale I/Os are being a pain as usual and the SPI core won't compile.
2018-07-17 20:08:21 +08:00
8335085fd6
fmcdio_vhdci_eem: fix cc pins
2018-07-17 19:50:34 +08:00
8f7c0c1646
fmcdio_vhdci_eem: fix iostandard
2018-07-17 19:40:34 +08:00
d724bd980c
sayma: add EEMs to Master
2018-07-17 18:58:23 +08:00
a0f2d8c2ea
gateware: add FMCDIO/EEM adapter definitions
2018-07-17 18:58:16 +08:00
3645a6424e
sayma: fix Master build
2018-07-17 18:56:33 +08:00
9b016dcd6d
eem: support specifying I/O standard
...
Xilinx FPGAs require different LVDS I/O standard names depending on I/O bank voltage.
2018-07-17 18:55:17 +08:00
3168b193e6
kc705: remove Zotino and Urukul
...
* use Kasli instead for using EEMs
* code required outdated VHDCI adapter 1.0
2018-07-17 17:48:57 +08:00
13984385a8
firmware: version → ident
2018-07-15 17:40:17 +08:00
b2695d03ed
sayma: remove with_sawg from Master variant
2018-07-15 17:38:29 +08:00
123e7bc054
pyon: sort string dicts by key when pretty-printing. Closes #1010
2018-07-15 17:38:09 +08:00
b27fa8964b
add variant in identifier string
...
Also add without-sawg suffixes on Sayma.
Closes #1060
Closes #1059
2018-07-15 17:21:17 +08:00
b6c70b3cb0
eem: add Zotino monitoring. Closes #1095
2018-07-15 15:35:04 +08:00
8bcba82b65
grabber: reset *_good signals on end of frame
...
This reduces the amount of time the ROI engine produces invalid output after
being reconfigured.
2018-07-15 15:34:00 +08:00
ea7f925852
Revert "worker_db: Only warn on repeated archive read if dataset changed"
...
Breaks numpy arrays.
This reverts commit 141fcaaa8a
.
2018-07-13 10:41:06 +08:00
46fb5adac3
grabber: fix frequency counter formula
2018-07-12 20:14:38 +08:00
82def6b535
grabber: add frequency counter
...
Cameras are a bit obscure about what they output, this can help with troubleshooting.
2018-07-12 17:05:18 +08:00
29c35ee553
hmc7043: fix dumb mistake in previous commit
2018-07-12 13:01:41 +08:00
8802b930de
hmc7043: add delay after init
...
Delay required at step 9 of the "Typical Programming Sequence" (page 24 of the datasheet)
2018-07-12 12:37:12 +08:00
c66f9483f8
hmc7043: wait after changing delays
...
Allows for the SPI transaction to finish, and for the delay to stabilize.
2018-07-12 12:33:53 +08:00
1c191a62bf
sayma: tune SYSREF phases
2018-07-12 12:33:35 +08:00
773240bef4
hmc7043: test GPO before using
...
Based on code by David.
2018-07-12 11:30:24 +08:00
David Nadligner
141fcaaa8a
worker_db: Only warn on repeated archive read if dataset changed
...
In larger experiments, it is quite natural for the same dataset
to be read from multiple unrelated components. The only situation
where multiple reads from an archived dataset are problematic is
when the valeu actually changes between reads. Hence, this commit
restricts the warning to the latter situation.
2018-07-12 10:15:42 +08:00
4843832329
hmc7043: check phase status on init. Closes #1055
...
Troubleshooting by David.
2018-07-11 19:45:24 +08:00
9397fa7f5a
hmc7043: unstick SYSREF FSM ( #1055 )
...
Troubleshooting by David.
Additionally, register 7D is broken.
Checking phase init state has to be done through another means.
2018-07-11 19:11:01 +08:00
88fb9ce4d6
sayma_rtm: add hmc7043_gpo monitoring
2018-07-11 19:04:29 +08:00
29e5c95afa
sayma_rtm: minor cleanup
2018-07-11 19:02:59 +08:00
7f05e0c121
sayma_rtm: remove UART loopback
...
RTM power supply issues are fixed now, plus this will get in the way of satman support.
2018-07-11 19:00:18 +08:00
f8ceea20d0
grabber: add new ROI engine (untested)
2018-07-10 17:06:17 +08:00
d82beee540
grabber: make parser EOP a pulse
2018-07-10 17:04:07 +08:00
701c93d46c
grabber: add false path constraints
2018-07-10 14:28:23 +08:00
6a77032fa5
grabber: use BUFR/BUFIO
...
Less jitter and frees up BUFGs.
2018-07-10 13:30:38 +08:00
208dc7c218
grabber: prevent glitches in last_x/last_y cdc
2018-07-10 12:56:37 +08:00
c4e3c66265
grabber: add clock constraint
2018-07-10 12:37:32 +08:00
David Nadlinger
768b970deb
Fixup 4359a437
(tuples of lists), add regression tests
2018-07-10 01:18:51 +01:00
David Nadlinger
edc314524c
test_embedding: Remove unused reference to led
device
2018-07-10 01:11:47 +01:00
4f56710e4b
grabber: add parser, report detected frame size in core device log
2018-07-10 02:06:37 +08:00
David Nadlinger
4359a43732
compiler: Indirection status of TTuple depends on elements
...
For instance, TTuple(TList(TInt32())) has indirections, while
TTuple(TInt32()) does not.
This fixes memory corruption with RPCs that return tuples of lists.
Signed-off-by: David Nadlinger <code@klickverbot.at>
2018-07-09 18:49:50 +08:00
d2c8e62cb7
test_rtio: relax ClockGeneratorLoopback performance requirements
2018-07-09 18:07:25 +08:00
423929a125
test: relax min transfer rates from 2MB/s to 1.9MB/s
2018-07-09 18:00:24 +08:00
9153c4d8a3
use tokenize.open() to open Python source files
...
Fixes encoding issues especially with device databases modified in obscure editors.
2018-07-07 17:04:56 +08:00
4420046502
kasli_tester: support mixed AD9910/AD9912 systems
2018-07-06 15:43:38 +08:00
ac3f360c26
kasli_tester: fix AD9912 support
2018-07-06 15:43:25 +08:00
509562ddbf
kasli: add WIPM target
2018-07-06 15:41:28 +08:00
4eb26c0050
hmc7043: enable group 5
2018-07-03 14:16:31 +02:00
540bdae99c
grabber: enable DIFF_TERM on inputs
2018-07-01 09:28:51 +08:00
0483b8d14c
sayma_drtio: ditto
2018-06-28 17:03:32 +08:00
04d6ff45c8
kasli_sawgmaster: reset SAWGs
...
Most importantly this resets the phase accumulators.
2018-06-28 17:01:48 +08:00
729ce58f98
sayma: use GTP_CLK1 to clock DRTIO satellite transceiver
...
This is required to get constant skew between the DRTIO transceiver clock
(which then generates the RTIO clock) and the siphaser reference clock.
Both the Si5324 and the RTM clock tree have non-deterministic in-to-out skew
at 150MHz due to dividers.
2018-06-28 11:23:40 +08:00
a65721d649
sayma: put RTM clock tree into the siphaser loop
...
* Fixes one bug where siphaser was one Si5324 output and the rest of the
system was clocked by the other. With the Si5324 settings we have, skew
between the outputs is not controlled.
* Puts the coaxial cable between AMC and RTM into the siphaser loop.
2018-06-27 21:46:55 +08:00
d49716dfac
satman: tune Sayma SYSREF phases
2018-06-27 18:09:35 +08:00
46c044099c
hmc7043,satman: verify alignment of SYSREF slips
2018-06-27 17:36:13 +08:00
7dfd70c502
hmc7043: make margin_{minus,plus} consistent with ad9154
2018-06-27 17:35:26 +08:00
4bbdd43bdf
hmc7043: do not freeze if SYSREF slip fails
2018-06-27 17:32:56 +08:00
a8a2ad68d3
runtime: tune Sayma SYSREF phases
2018-06-27 17:31:29 +08:00
811882943b
artiq_flash: RTM gateware is not required for master variant
2018-06-25 18:28:55 +08:00
c750de2955
sayma: add many-port pure DRTIO master
2018-06-25 18:21:22 +08:00
84b3d9ecc6
bootloader: also check firmware CRC in SDRAM ( #1065 )
2018-06-23 11:28:12 +08:00
68530fde07
sayma: generate 100MHz from Si5324 on standalone and master targets
...
* Allow switching between DRTIO satellite and standalone without
touching the hardware.
* Allow operating standalone and master without an additional RF
signal generator.
2018-06-23 10:44:38 +08:00
whitequark
b6dd9c8bb0
runtime: support builds without RTIO DMA.
...
Fixes #1079 .
2018-06-23 00:56:21 +00:00
whitequark
12fde6d34b
artiq_coremgmt: fix typo.
...
Fixes #1056 .
2018-06-23 00:36:59 +00:00
51a5d8dff9
examples: add Kasli SAWG master
2018-06-22 18:57:49 +08:00
f87da95e57
jesd204: use jesd clock domain for sysref sampler
...
RTIO domain is still in reset during calibration.
2018-06-22 17:13:01 +08:00
76fc63bbf7
jesd204: use separate controls for reset and input buffer disable
2018-06-22 11:38:18 +08:00
d9955fee76
jesd204: make sure IOB FF is used to sample SYSREF at FPGA
2018-06-22 11:00:56 +08:00
60b22217ce
sayma: set DRTIO master HMC830_REF to 100MHz
2018-06-22 10:10:09 +08:00
e6d1726754
sayma: add RTIO log to DRTIO master
2018-06-22 00:05:22 +08:00
83428961ad
sayma: add SAWG and JESD to DRTIO master
2018-06-22 00:04:22 +08:00
c1db02a351
drtio/gth_ultrascale: disable IBUFDS_GTE3 until stable_clkin
...
Precaution against HMC7043 noise issues.
2018-06-21 22:56:07 +08:00
8b3c12e6eb
sayma: clock DRTIO master transceiver from HMC7043
2018-06-21 22:34:44 +08:00
de7d64d482
sayma: clock JESD204 from GTP CLK2
...
This frees up GTP CLK1, which is routable to the SFP quads, for DRTIO.
2018-06-21 22:33:53 +08:00
b28ff587c5
sayma: add sysref sampler to DRTIO master
2018-06-21 22:28:34 +08:00
07bcdfd91e
hmc7043: stricter check of FPGA SYSREF margin
2018-06-21 22:26:49 +08:00
e29536351d
drtio: resync SYSREF when TSC is loaded
2018-06-21 17:00:32 +08:00
5a2a857a2f
firmware: clean up SYSREF phase management
2018-06-21 16:23:41 +08:00
05e908a0fd
hmc7043: align SYSREF with RTIO
2018-06-21 15:54:42 +08:00
9741654cad
hmc7043: style
2018-06-21 15:54:42 +08:00
45e8263208
hmc7043: do not configure phases during initial init
...
They are determined later on.
2018-06-21 15:54:42 +08:00
whitequark
7cc3da4faf
firmware: do not lose the ".dirty" suffix in build versions.
...
Fixes #1074 .
2018-06-21 05:18:51 +00:00
whitequark
095ee28fd9
runtime: fix size values for bytes and bytearray RPCs.
...
Fixes #1076 .
2018-06-21 00:51:56 +00:00
whitequark
9260cdb2e8
compiler: support conversion of list to bytearray and bytes.
...
Fixes #1077 .
2018-06-21 00:40:45 +00:00
5a91f820fd
examples: change Sayma sines frequency to 9MHz
...
Well within Red Pitaya bandwidth.
2018-06-20 22:40:07 +08:00
9288301543
examples: add DRTIO sines
2018-06-20 22:39:40 +08:00
28fb0fd754
sayma: add SYSREF sampler gateware
2018-06-20 17:48:35 +08:00
814d0583db
hmc7043: improve smoothness of sysref phase control
2018-06-20 17:40:48 +08:00
9142a5ab8a
rtio: expose coarse timestamp in RTIO and DRTIO satellite cores
2018-06-20 17:39:54 +08:00
5272c11704
typo
2018-06-20 17:05:20 +08:00
0c32d07e8b
ad9154: new sysref scan
...
Print margins around the pre-defined fixed phase.
Also report error if margins are too small.
The fixed phase is also changed by this commit (the value 88 is
from before the new HMC7043 initialization code, and is probably wrong).
2018-06-20 00:15:58 +08:00
4803ca3799
examples/sayma_drtio: add SAWG channels
2018-06-19 23:50:26 +08:00
3d0e92aefd
hmc7043: check that chip is disabled at startup
2018-06-19 23:49:17 +08:00
740e6863c3
hmc7043: add delay after releasing hardware reset
2018-06-19 23:48:48 +08:00
75b6cea52f
sayma: add SAWG to DRTIO satellite
2018-06-19 19:12:10 +08:00
eb3259b847
firmware: reduce number of DAC initialization attempts
...
Faster startup when one DAC is broken.
2018-06-19 19:10:23 +08:00
1d594d0c97
firmware: make DAC initialization failures non-fatal
...
This allows using RTMs with one broken DAC for development.
2018-06-19 19:09:38 +08:00
158b5e3083
satman: program Allaki
2018-06-19 18:09:05 +08:00
574892a4e5
firmware/serwb: cleanup and improve messaging
2018-06-19 15:11:03 +08:00
c862471165
typo
2018-06-19 14:35:24 +08:00
433273dd95
sayma: support RTM FPGA, HMC830 and HMC7043 in DRTIO master and satellite
2018-06-19 14:33:48 +08:00
476cfa0f53
si5324: improve lock messaging
2018-06-19 14:29:57 +08:00
6403a0d5d1
sayma_amc: update without-sawg description
2018-06-19 13:52:05 +08:00
d29b3dd588
hmc830: compile-time configurable reference frequency
2018-06-19 13:47:32 +08:00
6f3ed81626
targets/sayma_rtm: fix description
2018-06-18 17:46:53 +08:00
21a48711ec
i2c: refactor common operations
2018-06-18 09:34:09 +00:00
0e640a6d6f
hmc7043: fix SYSREF to meet s/h at FPGA ( #794 )
2018-06-18 17:04:12 +08:00
6272052d15
ad9154: don't drive the bsm with txen pins
2018-06-18 10:04:42 +02:00
32484a62de
sayma_amc: remove unused imports
2018-06-17 13:09:44 +02:00
4f0c918dd3
slave_fpga: improve messaging
2018-06-17 00:27:27 +08:00
53ab255c00
sayma_amc: enable slave fpga loading ( #813 )
2018-06-16 12:47:26 +02:00
f9910ab242
i2c: support selecting multiple or no channels
...
closes #1054
2018-06-15 19:36:37 +02:00
40baa8ecba
hmc7043: disable ch 10 and 11 group
2018-06-15 15:34:31 +00:00
edfae3c4ba
hmc7043: make fpga fabric clocks lvds
...
2 V common and 1.9 Vpp swing
is brutal to the banks (HP 1.8V AMC and RT 1.8V RTM)
2018-06-15 14:24:33 +00:00
f385add8b1
slave_fpga: disable cclk and din drive when done
...
to guard against accidental contention (old rtm gateware
but #813 rework done)
2018-06-13 16:26:48 +00:00
1029ac870b
sayma_rtm: don't drive txen pins
...
pins disabled by config
necessary for using that pin as DIN (#813 )
2018-06-13 16:11:30 +00:00
68d16fc292
serwb: support single-ended signals
...
Low-speed PHY only.
2018-06-13 21:28:21 +08:00
a9a25f2605
sayma_rtm: drive ref_lo_clk_sel, and set clk muxes early
2018-06-12 20:00:12 +02:00
aff7fa008f
Revert "artiq_flash/sayma: check for DONE after load"
...
This reverts commit 2de5b0cf25
.
would make artiq uninstallable on windows as win buildbot is broken
2018-06-12 19:14:43 +02:00
2de5b0cf25
artiq_flash/sayma: check for DONE after load
2018-06-13 00:47:43 +08:00
Thomas Harty
b90a8fcc82
Merge branch 'master' of https://github.com/m-labs/artiq
2018-06-12 14:55:22 +01:00
ion
28ecf81c6c
Sayma: HMC7043 init and detect no longer need results.
2018-06-12 13:10:26 +01:00
ion
c8935f7adf
Sayma: bypass dividers where possible to minimize noise (nb this changes the output skew).
2018-06-12 12:56:04 +01:00
hartytp
7a0140ecb2
Sayma HMC830: update interface and register writes. ( #1068 )
...
* Break the HMC830 init into separate functions for general purpose (but, integer-N) init, setting dividers and checking lock
* Use 1.6mA ICP (which the loop filter was optimized for)
* Go through the data sheet carefully and set all registers to the correct value (e.g. ensure that all settings are correctly optimized for integer-N usage)
* Change divider values (now using 100MHz PFD, which should give lower noise in theory)
2018-06-12 12:37:17 +01:00
a9d97101fc
slave_fpga: add another check
2018-06-12 10:24:04 +02:00
a143e238a8
savel_fpga: get rid of unneeded config
2018-06-12 10:24:04 +02:00
4912f53ab4
slave_fpga: board_misoc
2018-06-12 10:24:04 +02:00
hartytp
cb6e44b23a
Sayma: disable unused HMC7043 outputs.
2018-06-12 16:18:20 +08:00
0b086225a9
sawg: don't use Cat() for signed signals
...
c.f. #1039 #1040 #1022 #1058 #1044
2018-06-09 07:33:47 +00:00
5b73dd8604
sawg: accurate unittest rtio freq
2018-06-08 17:22:13 +02:00
735e4e8561
pcu: spelling
2018-06-08 14:39:22 +00:00
e5f6750171
sawg: cleanup double assign
2018-06-08 14:31:55 +00:00
Florent Kermarrec
53e9e475d0
serwb: transmit zeroes when nothing to transmit (for prbs), improve rx idle detection
2018-06-08 16:10:31 +02:00
Florent Kermarrec
7296a76f18
serwb: move common datapath code to datapath.py, simplify flow control
2018-06-08 12:37:08 +02:00
Florent Kermarrec
89797d08ed
serwb: revert to 125MHz linerate (until we understand why 1gbps version breaks between builds)
2018-06-07 15:13:56 +02:00
b4c2b148d1
sawg: don't use Mux for signed signals
...
migen#75
2018-06-06 15:51:14 +00:00
Florent Kermarrec
009db5eda9
serwb: revert 1gbps linerate
2018-06-06 16:20:20 +02:00
cae92f9b44
kasli: add Tsinghua variant
2018-06-06 19:03:45 +08:00
38971d130a
comm_analyzer: fix data without any spi reads
...
closes #1050
2018-06-06 12:21:42 +02:00
e21b7965b9
sayma_amc: change test patterns for 'without-sawg'
2018-06-06 08:02:52 +00:00
whitequark
38dac16041
compiler: don't crash when quoting builtin functions.
...
Fixes #1051 .
2018-06-05 23:27:23 +00:00
af88c4c93e
clean up hmc7043 reset
2018-06-05 20:41:48 +08:00
Thomas Harty
988054f4bb
Sayma: fix mistake in HMC7043 init code.
2018-06-05 19:22:04 +08:00
Thomas Harty
bd1ac7cf3b
Configure HMC7043 to give deterministic phase differences between its outputs
2018-06-05 19:22:04 +08:00
Thomas Harty
ac5c4913ec
Sayma RTM: hold hmc7043 in reset/mute state during init.
2018-06-05 19:22:04 +08:00
Florent Kermarrec
b82158a2de
firmware/ad9154: add stpl test
2018-06-05 02:08:57 +02:00
07d4145a35
correct documented siphaser VCO frequency [NFC]
2018-06-04 20:53:43 +08:00
Florent Kermarrec
925b47b077
firmware/ad9154: reset the dac between each configuration attempt
2018-06-04 14:03:26 +02:00
bb87976d4f
suservo: docstring fixes, revert parametrization of r_rtt
2018-06-04 07:27:17 +00:00
07a1425e51
SUservo EEM docs
...
add documentation to eem.SUServo. Change parameterization of t_rtt to include delays on Sampler, as this seems simpler and more robust to changing RTIO frequencies in the future.
c.f. #1046
2018-06-04 08:51:28 +02:00
whitequark
d686d33093
runtime: print hex dumps around PC/EA in case of exception.
...
For #1026 .
2018-06-01 21:17:59 +00:00
whitequark
985fd7377b
artiq_rpctool: use inspect.formatargspec instead of a NIH formatter.
...
Fixes #1029 .
2018-06-01 19:18:14 +00:00
62deffa7d2
opticlock: fix core device name
2018-06-01 15:39:23 +00:00
f50aef1a22
suservo: extract boilerplate
...
closes #1041
2018-06-01 15:37:07 +00:00
5de2d06568
ad53xx/zotino: do not clear power down on overtemp
2018-06-01 13:17:13 +00:00
2c344686d9
ad53xx/zotino: enable overtemp shutdown and readback control
2018-06-01 13:06:52 +00:00
87d3ac9d25
suservo: swap transfer function parametrization
...
The integrator is now parametrized through its gain and not the PI
corner frequency. The integrator gain limit is given in absolute gain
units and not relative to the proportional gain.
close #1033
2018-06-01 09:38:18 +00:00
e408241233
sawg: work around compiler not accepting delay_mu(int32)
2018-06-01 15:42:37 +08:00
f5d55c6902
sawg: add 1 coarse RTIO cycle between spline resets
...
This keeps all events in the same SED lane and limits the number of SED lanes required.
Closes #1038
2018-06-01 15:15:24 +08:00
22506e849f
suservo: clarify timings
...
close #1027
2018-06-01 06:35:38 +00:00
a42f774440
suservo: document offset range limits
...
close #1034
2018-05-31 16:55:44 +00:00
36dcea3edf
suservo: refactor y_mu_to_full_scale as portable
...
close #1032
2018-05-31 16:44:14 +00:00
e136709cac
suservo: document gain state
...
close #1030
2018-05-31 16:36:53 +00:00
5dbdc5650c
suservo: document set_config and get_status more
...
close #1028
2018-05-31 16:32:05 +00:00
e1b0fcc24e
suservo: add documentation on settings and setup
...
close #1015
2018-05-31 16:21:09 +00:00
9b5a46dffd
suservo: fix restart counter assertion
...
c.f. #788
2018-05-31 15:56:11 +00:00
Paweł
44c7a028cb
Added second argument to DIO.add_STD in master and satellite variant of kasli (now builds properly)
2018-05-30 22:49:40 +08:00
8fd57e6ccb
kasli_tester: add Sampler and Zotino support
2018-05-29 22:36:42 +08:00
d1df18ae6a
monkey_patches: work around Python issue 33678. Closes #1016
2018-05-29 17:51:41 +08:00
whitequark
2e09307d8d
firmware: use writeln instead of write in UART logger.
2018-05-29 03:16:52 +00:00
560889372f
firmware: grabber support
2018-05-29 10:26:36 +08:00
b860302a9a
firmware: fix typo in UART logger
2018-05-28 17:25:23 +00:00
whitequark
2b7d98eb04
firmware: enable all log levels when creating UART logger.
...
The default is all off.
2018-05-28 16:49:25 +00:00
ad099edf63
kasli: integrate grabber
2018-05-28 22:43:40 +08:00
563e434e15
eem: finalize grabber support
2018-05-28 22:43:06 +08:00
2612fd1e72
rtio: add grabber deserializer and WIP PHY encapsulation
2018-05-28 22:42:27 +08:00
Florent Kermarrec
e21f14c0b3
serwb/phy: typo (KUSSerdes --> KUSerdes)
2018-05-28 10:41:11 +02:00
c2890c6cf0
kasli_tester: initialize DDS channels
2018-05-28 14:24:39 +08:00
b20a8c86b0
kasli: don't bother with grabber ttls for now
...
not used on target cameras
2018-05-28 07:31:00 +02:00
80c69da17e
eem: add Grabber IOs and CC
2018-05-28 11:16:23 +08:00
4d3f763865
move kasli_opticlock to kasli_basic
2018-05-28 11:02:44 +08:00
cc0ddf9d72
artiq_flash: do not check variants anymore
...
Not very useful and adds to the maintainance when building new Kasli systems.
2018-05-28 10:59:01 +08:00
bb248970df
style
2018-05-28 10:40:05 +08:00
56cfe77c91
environment: spelling
2018-05-27 20:36:11 +02:00
b09d07905c
kasli: add LUH/PTB/HUB variants
...
and refactor/simplify variant selection
2018-05-27 18:33:27 +00:00
whitequark
db4d1878d3
compiler: remove debug print.
2018-05-25 09:37:18 +00:00
whitequark
223b984385
Fix non-exception-safe finally: handlers.
...
Fixes #1013 .
2018-05-25 04:23:32 +00:00
whitequark
fbf2c9a2fb
compiler: hoist loads of kernel invariants to function entry block.
...
Addresses intraprocedural cases of #1007 .
2018-05-25 02:18:13 +00:00
whitequark
12d1b9819c
compiler: handle direct calls to class methods.
...
Fixes #1005 .
2018-05-25 02:02:18 +00:00
Florent Kermarrec
bcb9c3d09d
firmware/serwb: move prbs_test outside of wait_init, add wishbone_test
2018-05-24 16:53:47 +02:00
Florent Kermarrec
bca2969957
sayma_rtm: add RTMScratch module to test remote Wishbone accesses
2018-05-24 16:53:10 +02:00
Florent Kermarrec
7642254d83
Merge branch 'master' of http://github.com/m-labs/artiq
2018-05-24 16:51:23 +02:00
Florent Kermarrec
353767bfdb
firmware/hmc830: add VCO subsystem register 6 programming (suggested by hartytp, tested on hardware without regression)
2018-05-24 16:49:49 +02:00
19efd8b13e
kasli: refactor EEM code
2018-05-24 18:41:54 +08:00
Florent Kermarrec
ad89c42acc
firmware/serwb: automatically adjust prbs test delay to prbs test cycles, increase prbs test cycles
2018-05-24 10:20:55 +02:00
Florent Kermarrec
19e5280824
firmware/ad9154: cleanup DAC init
...
- Split dac_setup in dac_reset, dat_detect & dac_setup.
- Only do one reset/detection.
- Configure before doing SYSREF scan (otherwise scan don't work at the first scan after power up).
- Do the spi_setup in each function.
2018-05-24 09:34:00 +02:00
Florent Kermarrec
fa3b48737b
firmware/hmc830: Added magic word to HMC830 init sequence (from gkasprow & marmeladapk)
2018-05-24 09:23:00 +02:00
9715f774ac
artiq_influxdb: controller (add ping())
2018-05-22 22:12:25 +00:00
whitequark
7aacc04f0c
language: scan functions are not supported on core device.
...
Closes #1009 .
2018-05-22 21:33:35 +00:00
whitequark
b55ce66a1b
Reinstate accidentally removed aqctl_corelog.
...
Closes #1008 .
2018-05-22 21:31:34 +00:00
whitequark
ce3c8fcd3e
compiler: add source location to SSA arguments.
...
Fixes #1006 .
2018-05-22 18:14:14 +00:00
fcd12e3472
suservo: work around #1007
2018-05-22 17:36:41 +00:00
9a86dfe70d
units: add mHz
2018-05-22 17:36:02 +00:00
4e863b32a1
coredevice: configurable initial backing state
...
Several core device drivers maintain a copy of some device state.
Since this copy is not transferred between experiments this backing state
can be different from device state when a new experiment is started.
This commit adds support for injecting initial backing state into
experiments via the device database and sets initial backing state where
known.
ad53xx (zotino): spi2 xfer_duration
novogorny: pgia gains
sampler: pgia gains, spi2 pgia and adc xfer_duration
suservo: pgia gains, spi2 pgia xfer_duration
urukul: cpld cfg (partial: rf_sw), attenuator register
spi2: div/length for xfer_duration
close #1003
2018-05-21 18:55:06 +02:00
4e5fe672e7
kasli: add tester target
2018-05-21 17:43:39 +08:00
2e6b81d59a
kasli_tester: reset core device
2018-05-21 15:35:29 +08:00
8513f0b0d4
minor cleanup
2018-05-21 15:35:00 +08:00
whitequark
9b4ad8b5af
compiler: implement local variable demotion.
2018-05-19 17:05:34 +00:00
whitequark
fd110e9848
compiler: sort predecessors in IR dump output.
...
Makes diffs more useful.
2018-05-19 17:02:08 +00:00
whitequark
dc1c4ebf1d
compiler: use ARTIQ_IR_NO_LOC variable to control IR dump output.
...
Useful e.g. in tests or for running diff on irgen output.
2018-05-19 17:02:08 +00:00
whitequark
21a0f26cd1
compiler: do not emit nonstandard !unconditionally* LLVM metadata.
...
This metadata was added by an LLVM patch that was removed because
it was unsound.
2018-05-19 16:58:03 +00:00
f953bee79e
kasli_test: add RF switch control
2018-05-18 23:48:29 +08:00
f457b59985
kasli_tester: bail out when run from ARTIQ master
2018-05-18 23:30:52 +08:00
3cbcb3bff6
move mitll, sysu and ustc device_dbs to kasli_basic
2018-05-18 23:20:40 +08:00
bdfd993818
kasli_tester: add Urukul support
2018-05-18 23:18:03 +08:00
72aef5799e
kasli/ustc: use TTLOut
2018-05-18 22:55:28 +08:00
9a4408a570
add Kasli TTL tester
2018-05-18 22:52:53 +08:00
b10d3ee4b4
make RTIO clock switch optional and simplify
...
Kasli no longer has an internal RTIO clock.
Switching clocks dynamically is no longer supported.
2018-05-18 17:41:34 +08:00
8a988d0feb
kasli: remove leftover debug print
2018-05-18 17:25:23 +08:00
37bd0c2566
kasli: add USTC target
2018-05-18 16:15:07 +08:00
73f8e61478
kasli_sysu: fix TTL directions in example device_db
2018-05-18 16:13:50 +08:00
6476219296
frontend: fix permissions
2018-05-18 00:10:46 +08:00
bfff755295
urukul: do IO_RST also when blind
2018-05-17 14:48:49 +00:00
whitequark
5744d97d59
firmware: adjust backtrace addresses correctly.
2018-05-17 08:13:55 +00:00
d4f074b1e1
firmware: fix Allaki addressing. Closes #993
2018-05-17 16:02:21 +08:00
whitequark
3b61b7c30b
compiler: fix tests after 4d06c1d8
.
2018-05-16 21:53:53 +00:00
whitequark
31c6c79204
firmware: implement an edge profiler.
...
It doesn't work extremely well, and the results can be somewhat
confusing, and it needs a libunwind patch, but it's the best I could
do and it seems still useful.
2018-05-16 21:53:53 +00:00
99f7672c79
ad53xx: tweak spi readback
2018-05-16 19:08:27 +02:00
a640041844
firmware: improve ad9154/hmc830/hmc7043 messaging
2018-05-16 23:15:17 +08:00
fedf7f0c87
firmware/ad9154: cleanup sysref scan and run everytime
2018-05-16 23:01:19 +08:00
1364cd2948
firmware/hmc830_7043: break out HMC830 SPI mode selection
2018-05-16 22:46:45 +08:00
0aadd3a361
firmware/hmc830_7043: improve messaging
2018-05-16 22:46:45 +08:00
whitequark
4d06c1d84b
coredevice.CommKernel: modernize. NFC.
2018-05-16 14:40:14 +00:00
whitequark
ca93b94aea
firmware: move config requests to management protocol.
...
They were only in session protocol because of historical reasons.
2018-05-16 14:32:49 +00:00
whitequark
a39f8d6634
artiq_devtool: use CommMgmt instead of shelling out to artiq_coremgmt.
...
(Which no longer exists.)
This also fixes `artiq_devtool hotswap` to work without
an `artiq_devtool connect` running in background.
2018-05-16 14:08:32 +00:00
whitequark
d446a3293e
frontend: merge core{config,log,boot,debug,profile} into coremgmt.
2018-05-16 14:08:32 +00:00
Florent Kermarrec
f77bcbebb5
serwb/test_serwb_core: fix
2018-05-16 08:34:53 +02:00
Florent Kermarrec
77fc5c599f
serwb/test: update
2018-05-15 23:52:58 +02:00
Florent Kermarrec
3873d09692
serwb: rewrite high-speed phys by splitting clocking/tx/rx, scrambling is now always enabled.
2018-05-15 23:52:41 +02:00
Florent Kermarrec
f8a9dd930b
serwb/genphy: add device parameter (not used here, but this way all the phys share the same parameters), scrambling is also now always enabled.
2018-05-15 23:51:14 +02:00
Florent Kermarrec
2c627cd061
serwb/scrambler: simplify and set scrambler input data to 0 when sink.stb == 0
2018-05-15 23:49:17 +02:00
Florent Kermarrec
7fe49a78d2
firmware/runtime/session: fix compilation when no rtio core
2018-05-15 23:47:47 +02:00
whitequark
8128a814f6
firmware: update dependencies.
2018-05-15 18:17:32 +00:00
whitequark
1b0384c513
firmware: fix satman build.
2018-05-15 16:35:05 +00:00
whitequark
07b713fdad
firmware: use upstream log_buffer.
2018-05-15 15:19:20 +00:00
whitequark
9f5b76253c
firmware: remove some unnecessary unwraps.
2018-05-15 15:05:19 +00:00
whitequark
e5796e26e1
firmware: remove unused #![feature(untagged_unions)].
2018-05-15 15:05:19 +00:00
whitequark
b54926134c
firmware: update the signature of #[lang="panic_fmt"].
2018-05-15 15:05:19 +00:00
Florent Kermarrec
c18a73d45f
sayma_amc/rtm: use new serwb low-speed phy
2018-05-15 16:40:50 +02:00
Florent Kermarrec
913d1e8e12
serwb: add generic low-speed phy (125Mhz linerate, same phy for ultrascale/7-series)
2018-05-15 16:39:39 +02:00
Florent Kermarrec
520aade8fe
serwb/scrambler: cleanup/fix potential bug
2018-05-15 16:30:52 +02:00
whitequark
9347f6e00c
firmware: use a dedicated error type in the scheduler.
...
After this commit, error handling does not normally allocate
(session::Error::{Load,Unexpected} still allocate, but those two
are very rare).
Good riddance to libstd_artiq.
2018-05-15 14:19:44 +00:00
whitequark
479cb9a857
firmware: use dedicated error types for every protocol and thread.
...
Good riddance to io::Error::Unrecognized.
2018-05-15 13:27:23 +00:00
whitequark
514eab3d39
Update Rust to 1.26.0.
2018-05-15 12:47:51 +00:00
whitequark
26faaad2b7
firmware: remove io::Result<T, E> in favor of Result<T, impl Fail>.
...
This doesn't yet use impl Fail since std_artiq::io::Error doesn't
impl it.
2018-05-15 08:29:03 +00:00
whitequark
140ca729aa
firmware: rename io::Error::{UnexpectedEof→UnexpectedEnd}.
...
We don't even have files.
2018-05-15 08:27:45 +00:00
whitequark
ce0593315b
firmware: move {ProtoRead,ProtoWrite} to the root of libio.
2018-05-15 08:16:09 +00:00
whitequark
4416c04ae1
firmware: use the failure crate in libio.
2018-05-15 07:40:13 +00:00
whitequark
9e8f8bb669
firmware: extract io::Cursor into its own file.
...
Also remove unused io::CursorError.
2018-05-15 06:24:04 +00:00
whitequark
a4ab236af3
firmware: simplify some use
s.
2018-05-14 19:24:14 +00:00
whitequark
d93aa13fd6
firmware: use upstream compiler_builtins again.
...
I've fixed i128 in LLVM, so there is no need in our fork anymore.
2018-05-14 19:11:57 +00:00
whitequark
5ead27f2e1
firmware: eliminate uses of std_artiq::io::{Read,Write} from runtime.
2018-05-14 19:11:57 +00:00
whitequark
cf33ba748d
firmware: eliminate non-io uses of std_artiq from runtime.
...
Just replace these with references to alloc.
2018-05-14 19:11:57 +00:00
a100c73dfe
suservo: support pure-I
2018-05-14 18:48:27 +00:00
whitequark
ae50196186
firmware: rename libproto to libproto_artiq.
...
libproto_artiq only has ARTIQ-specific protocols.
2018-05-14 18:09:44 +00:00
whitequark
02b8426f60
firmware: rename libboard to libboard_misoc.
...
By analogy with libbuild_misoc. Hopefully one day it actually gets
moved to misoc...
2018-05-14 18:09:44 +00:00
whitequark
1ff42683d9
firmware: merge libamp into libboard_artiq.
...
All gateware interfaces live in libboard_artiq, but libamp predates
libboard_artiq.
2018-05-14 17:33:25 +00:00
whitequark
764386c9e3
firmware: split libdrtioaux into libproto and libboard_artiq modules.
...
All other protocol code lives in libproto, and all other gateware
interfaces live in libboard_artiq.
2018-05-14 17:26:59 +00:00
whitequark
6a10d54432
firmware: migrate rpc_proto to new libio.
...
This closes an old and horrible issue in that some code in ksupport
may implicitly try to allocate and we'll never know until it crashes
at runtime inside liballoc_stub.
This also removes liballoc_stub.
This also removes ReadExt and WriteExt from libproto.
Hooray!
2018-05-14 17:26:59 +00:00
whitequark
9a1bd66d2c
compiler: add test for int64(round(1.0)).
2018-05-14 15:57:27 +00:00
e121a81f21
ad9914: fix frequency_to_xftw and xftw_to_frequency
2018-05-14 23:49:00 +08:00
80df86f700
ad9914: set_mu_x -> set_x_mu
2018-05-14 23:49:00 +08:00
whitequark
09617c9f5e
firmware: migrate session_proto to new libio.
2018-05-14 15:17:32 +00:00
whitequark
e9c88e32e6
firmware: migrate moninj_proto to new libio.
2018-05-14 15:17:32 +00:00
whitequark
e292c8ab65
firmware: migrate mgmt_proto to new libio.
2018-05-14 15:17:32 +00:00
0c1caf0744
suservo: clean up and beautify example
2018-05-14 15:22:47 +02:00
4ddb29fa02
suservo: document class arguments
2018-05-14 15:22:47 +02:00
whitequark
976bb5e935
firmware: migrate analyzer_proto to new libio.
2018-05-14 12:51:59 +00:00
whitequark
2999756493
firmware: impl std_artiq::io::{Read,Write} for io::{Read,Write}.
2018-05-14 12:51:59 +00:00
whitequark
bfc8fd0807
firmware: add io::Error::Unrecognized variant and use it in drtioaux.
2018-05-14 12:51:59 +00:00
504d37b66b
suservo: add SI units functions and document
...
m-labs/artiq#788
2018-05-14 12:26:49 +00:00
4993ceec35
sampler: unroll conversion for speed
2018-05-14 12:26:49 +00:00
d71e4e60a9
suservo: use addition for offset
2018-05-14 12:26:49 +00:00
27f975e7bb
kasli: eem DifferentialInputs need DIFF_TERM
...
cleanup some formatting on the way
2018-05-14 12:26:49 +00:00
2a47b934ea
suservo: remove adc return clock gating
2018-05-14 12:26:49 +00:00
74c0b4452b
suservo: clkout and sdo[b-d] are inverted
2018-05-14 12:26:49 +00:00
04240cdc08
suservo: sampler channels are reversed
2018-05-14 12:25:09 +00:00
whitequark
7e299563df
firmware: mark many functions in libio as #[inline].
2018-05-14 11:22:56 +00:00
whitequark
368d6f9bfb
satman: remove useless _Unwind_Resume.
2018-05-14 11:22:56 +00:00
whitequark
42420e094a
satman: don't unwrap so much in process_aux_packet.
...
This shrinks the code by almost 4K.
2018-05-14 11:22:56 +00:00
ba1d137d19
ad9914: fix FTW write in regular resolution mode
2018-05-14 18:47:23 +08:00
whitequark
56a29b91fc
firmware: implement ConsoleLogger, use it in satman.
2018-05-14 10:45:11 +00:00
whitequark
5d43d457d2
satman: eliminate heap.
2018-05-14 10:05:02 +00:00
whitequark
46c8afc56c
firmware: implement libio and use in in drtioaux.
2018-05-14 10:02:39 +00:00
whitequark
d543c9aa63
firmware: backtrace_artiq → unwind_backtrace.
...
This crate isn't ARTIQ-specific.
2018-05-14 07:33:00 +00:00
b04c7abde8
ad9914: fix kernel_invariants
2018-05-14 14:02:11 +08:00
56a18682a7
ad9914: minor fixes
2018-05-14 10:37:50 +08:00
194d6462ee
ad9914: fix set_mu
2018-05-14 00:19:09 +08:00
hartytp
00cb31b804
sampler: remove v_ref parameter ( #988 )
2018-05-13 18:00:57 +02:00
3027951dd8
integrate new AD9914 driver
...
moninj, analyzer, docs, examples, tests.
2018-05-13 23:29:35 +08:00
663d8e66ba
ad9914: optimize extended-resolution mode
2018-05-13 23:01:06 +08:00
c8d91b297d
coredevice: add new ad9914 driver
2018-05-13 22:30:33 +08:00
whitequark
f383a470fe
satman: do not debug print unexpected aux packets.
...
This shrinks firmware by 2.8K.
2018-05-13 13:43:39 +00:00
whitequark
aa42a69849
libdrtioaux: always inline read/write helpers.
...
This shrinks Packet::{read_from,write_to} by 1K.
2018-05-13 13:39:14 +00:00
whitequark
32522be413
satman: use 1K log buffer and 4K stack.
...
This reduces memory requirements in half.
2018-05-13 13:28:00 +00:00
whitequark
ee4c475cf3
gateware: fix Sayma satellite build.
...
RTIO clock multiplier was removed from Sayma in 32f22f4c
.
2018-05-13 13:10:39 +00:00
8c1390e557
kasli: use 62.5MHz clock for siphaser reference ( #999 )
2018-05-12 22:58:03 +08:00
2426fea3f2
siphaser: support external reference for the freerunning 150MHz
2018-05-12 22:57:11 +08:00
6796413a53
serwb: remove unnecessary shebang line
2018-05-12 22:49:44 +08:00
Florent Kermarrec
f5208ff2f3
serwb/core: reduce buffering, use buffered=True
2018-05-12 12:03:58 +02:00
Florent Kermarrec
fdc953e569
serwb/etherbone: recuce buffering
2018-05-12 12:03:11 +02:00
Florent Kermarrec
6e67e6d0b1
serwb: revert some changes (was breaking simulation)
2018-05-12 11:59:46 +02:00
Florent Kermarrec
0a6d4ccd85
serwb/phy: improve/cleanup init
2018-05-12 01:35:34 +02:00
Florent Kermarrec
b6ab59fb80
serwb/phy: increase timeout
2018-05-12 01:32:55 +02:00
Florent Kermarrec
e09dbc89bc
serwb: remove idelaye3 en_vtc (was not done correctly, we'll add direct software control)
2018-05-12 01:32:16 +02:00
Florent Kermarrec
6b4bbe31f7
firmware/ad9154: use fixed hmc7043 sysref phase (found with scan)
2018-05-12 00:12:59 +02:00
Florent Kermarrec
3c49eba0a0
firmware/hmc830_7043: put hmc7043 in sleep mode before hmc830 initialization
...
hmc7043 seems to generate broadband noise when not initialized. This allows isolating issues. If hmc830 still does not always lock correctly, then this is not related to hmc7043 broadband noise.
2018-05-12 00:06:49 +02:00
Florent Kermarrec
cd4477864a
serwb: fix case when rtm fpga is not loaded, lvds input can be 0 or 1
2018-05-11 23:31:25 +02:00
2e3bf8602f
serwb: reduce buffering. Closes #997
2018-05-11 14:13:41 +08:00
2cece47b10
firmware/si5324: fix compilation warning
2018-05-09 20:00:08 +08:00
6b811c1a8b
sayma: fix runtime/rtm gateware address conflict
2018-05-09 19:47:29 +08:00
Florent Kermarrec
9de08f85c6
firmware/ad9154: reduce verbosity of dac_sysref_cfg
2018-05-09 10:57:00 +02:00
f055bf88f6
suservo: add clip flags ( #992 )
2018-05-09 07:16:15 +00:00
Florent Kermarrec
60fd362d57
serwb: fix rx_comma detection
2018-05-07 23:54:35 +02:00
7d4a103a43
opticlock, suservo: set default kasli hw_rev
2018-05-07 09:07:18 +02:00
whitequark
c646409dbe
firmware: fix order of bits clocked into hmc542.
...
Fixes #993 .
2018-05-05 03:12:25 +00:00
whitequark
917a4185eb
Unbreak 9dc7efef
.
2018-05-05 03:00:30 +00:00
whitequark
fd2b8d5f8f
firmware: raise hmc542 log level to INFO.
2018-05-05 02:59:49 +00:00
whitequark
a148729bf8
artiq_flash, artiq_devtool: add support for ssh -J option.
2018-05-05 02:50:01 +00:00
whitequark
9704fb837f
firmware: fix warnings in ad9154 driver.
2018-05-05 01:55:42 +00:00
whitequark
8a70c18d1e
firmware: add debug output to hmc542 driver.
2018-05-05 01:53:30 +00:00
whitequark
68ef09ed73
firmware: stop profiler before rebooting too.
2018-05-05 01:52:44 +00:00
whitequark
9dc7efefe4
compiler: transparently handle Windows newlines in RunTool.
2018-05-05 01:43:00 +00:00
whitequark
4f29d9134f
firmware: update log_buffer.
...
Fixes #986 .
2018-05-05 01:18:59 +00:00
whitequark
5ebc626cf4
artiq_coreprofile: fix an inverted option.
2018-05-05 00:49:42 +00:00
whitequark
b1d349cc1b
firmware: implement a sampling profiler.
...
Does not yet support constructing call graphs.
2018-05-05 00:44:40 +00:00
whitequark
9857dfcd7d
firmware: add irq::Exception to libboard.
2018-05-04 18:41:03 +00:00
0b4d06c7a9
worker: keep sys.modules untouched until the end of examine()
2018-05-02 12:50:37 +08:00
8079aa6d20
worker: python docs recommend not replacing sys.modules
2018-05-02 12:48:50 +08:00
8c69d939fb
worker: restore sys.modules in examine() ( #976 )
2018-05-02 12:32:35 +08:00
8d66d53e06
Revert "tools/file_import: restore sys.modules. Closes #976 "
...
This reverts commit b48e782dd6
.
2018-05-02 12:14:56 +08:00
5f0cfadb30
rtio/sed: add unittest for sequence number rollover
2018-05-02 12:04:30 +08:00
4120105e3a
rtio/sed: fix output network cmp_wrap
2018-05-02 12:04:03 +08:00
bce8fa3ec5
rtio/sed: add replace unittest at the top level ( #978 )
2018-05-02 10:58:18 +08:00
83fb431cd0
rtio/sed: pass sequence numbers through the FIFOs. Closes #978
2018-05-02 10:57:57 +08:00
Florent Kermarrec
05955bfd79
sayma_rtm: use bufio for sys4x (needed since we are using a -1 speedgrade)
2018-05-01 22:16:35 +02:00
b48e782dd6
tools/file_import: restore sys.modules. Closes #976
2018-05-01 22:15:47 +08:00
Florent Kermarrec
84e1f05559
sayma_rtm: make cd_sys4x clock domain reset_less
2018-05-01 16:11:26 +02:00
whitequark
623614f835
Update LLVM to 6.0.0 and Rust to 1.25.0.
2018-05-01 08:57:37 +00:00
Florent Kermarrec
64c8eee28d
serwb/phy/master: fix slave ready detection by filtering possible glitches on rx data (seems to happen when RTM fpga is not loaded)
2018-04-30 23:59:56 +02:00
5a683ddd1f
Revert "kasli: force hw_rev for the different targets"
...
This reverts commit 17d7d7856a
.
Would require filtering it in misoc or better
removing the argparse option.
2018-04-28 23:24:41 +02:00
17d7d7856a
kasli: force hw_rev for the different targets
2018-04-28 21:30:29 +02:00
whitequark
f7e08ec46b
Unbreak f35f1001
.
2018-04-28 01:03:08 +00:00
whitequark
f35f100110
compiler: don't crash printing locations of specialized functions.
...
Fixes #987 .
2018-04-28 00:49:25 +00:00
8812824fb2
suservo: speed up example, interlock mem
2018-04-27 17:17:17 +00:00
ae80bab180
urukul: reg based io-update is a kernel
2018-04-27 16:42:09 +00:00
5d3c76fd50
sayma_rtm: use bitstream opts in migen
2018-04-27 15:43:32 +00:00
5f00326c65
suservo: coeff mem write port READ_FIRST
2018-04-27 15:43:32 +00:00
73fa572275
suservo: documentation, small API changes
2018-04-27 16:53:22 +02:00
Florent Kermarrec
4e2d9abaf7
firmware/ad9154: combine analog and digital delay of hmc7043 for sysref scan
2018-04-27 14:32:03 +02:00
fe9834bac4
suservo: update 'technology preview' example [wip]
...
Still with mostly undocumented and unstable API.
2018-04-27 12:04:17 +00:00
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
01f762a8f5
urukul/ad9910: support blind init
...
urukul: always set io_update attribute
to silence compiler warning w.r.t. kernel_invariants
2018-04-27 13:48:40 +02:00
Florent Kermarrec
3802c7badb
firmware/ad9154: add sysref scan/conf for jesd sc1
2018-04-27 13:20:20 +02:00
Florent Kermarrec
8212e46f5e
sayma_amc: filter jesd refclk/sysref with jreset (hmc7043 can generate noise when unconfigured see sinara issue #541 )
2018-04-27 13:04:37 +02:00
edbc7763e0
urukul: allow no io_update_device
2018-04-25 17:32:36 +00:00
8a1151b54f
suservo: example device db
2018-04-25 17:14:25 +00:00
f9b2c32739
suservo: add pgia spi channel
2018-04-25 17:14:25 +00:00
c83305065a
suservo: add servo/config/status register
2018-04-25 15:59:06 +00:00
105068ad90
suservo: fix restart timing
2018-04-25 15:19:49 +00:00
c304b6207a
suservo: drop adc idelays
2018-04-25 14:59:50 +00:00
b44d6517d1
suservo: use 125 MHz SDR ADC
...
* easier timing
* natural sampling on rising edge
* timing, signal robustness
* adjust the servo iteration timing
2018-04-25 14:32:23 +00:00
37c186a0fc
suservo: refactor, constrain
...
* remove DiffMixin, move pad layout handling to pads
* add input delay constraints, IDELAYs
2018-04-25 13:44:52 +00:00
d0258b9b2d
suservo: set input delays
2018-04-24 15:30:25 +00:00
fe75064c1e
suservo: cleanup rtio interface
2018-04-24 13:08:40 +00:00
3942c2d274
suservo: fix clkout cd drive
2018-04-24 10:18:32 +00:00
f74998a5e0
suservo: move arch logic to top, fix tests
2018-04-23 21:11:26 +00:00
4903eb074c
suservo: use BUFIO/BUFH for ADC
2018-04-23 18:30:19 +00:00
e36deab0a8
suservo/adc: try to help vivado extract srls
2018-04-23 18:30:19 +00:00
929ed4471b
kasli/SUServo: use suservo, implement urukul_qspi
...
m-labs/artiq#788
2018-04-23 18:30:18 +00:00
4c1e356f67
suservo: add pads rewiring layer for eems
2018-04-23 18:30:18 +00:00
99dd9c7a2a
suservo: fix rtio interface width
2018-04-23 18:30:18 +00:00
d5eea962ec
suservo: fix cnv_b diff
2018-04-23 18:30:12 +00:00
c8fd63754a
suservo: add unittests
...
m-labs/artiq#788
2018-04-23 18:25:59 +00:00
934c41b90a
gateware: add suservo
...
from
fe4b60b902
m-labs/artiq#788
2018-04-23 18:24:59 +00:00
4fe09fddd5
examples/kc705_nist_clock: update to new ad53xx driver
2018-04-22 15:03:30 +08:00
c47d3ec8c8
zotino: use None as default for ldac and clr
...
This is also what AD53xx does.
2018-04-22 15:03:01 +08:00
d2d02ae353
artiq_coredebug: fix permissions
2018-04-22 15:02:17 +08:00
whitequark
3b054855ec
firmware: add allocator debug feature, invoked by artiq_coredebug frontend.
2018-04-21 19:39:46 +00:00
whitequark
873324d52b
firmware: don't truncate queued RPCs ( fixes #985 ).
2018-04-21 19:39:46 +00:00
whitequark
58967f14fd
compiler: do not try to re-coerce fully coerced numerics.
2018-04-21 18:25:52 +00:00
whitequark
742e273441
Commit missing part of b4e3c30d
.
2018-04-20 15:27:27 +00:00
whitequark
0d5fd1e83d
runtime: fix race condition in log extraction code paths ( #979 ).
...
The core device used to panic if certain combinations of borrows
of the log buffer happened. Now they all use .try_borrow_mut().
2018-04-20 15:26:00 +00:00
whitequark
b4e3c30d8c
compiler: desugar x != y into not x == y ( fixes #974 ).
2018-04-20 12:20:45 +00:00
Florent Kermarrec
fe689ab4f2
firmware/serwb: add link test, use info! instead of debug! for link settings (useful to analyze logs from others boards)
2018-04-17 19:24:22 +02:00
Florent Kermarrec
439d2bf2bc
sayma/serwb: adapt, full reset of rtm on link reset
2018-04-17 19:24:03 +02:00
Florent Kermarrec
8edf4541d6
serwb: adapt test
2018-04-17 19:21:53 +02:00
Florent Kermarrec
20ccc9d82f
serwb/core/phy: move scrambler in phy, add link test, revert delay min/max checks
2018-04-17 19:21:21 +02:00
Florent Kermarrec
ebfac36223
serwb/scrambler: dynamic enable/disable
2018-04-17 19:20:06 +02:00
Florent Kermarrec
816a6f2ec7
serwb/phys: remove phy_width (revert linerate to 1Gbps)
2018-04-17 19:19:18 +02:00
48b48e44dd
kasli/mitll: fix demo
2018-04-17 20:15:38 +08:00
79f4892e22
kasli/mitll: fix RTIO channel numbers
2018-04-17 20:15:17 +08:00
eac447278f
kasli: add MITLL variant
2018-04-17 19:00:11 +08:00
756e120c27
kasli/sysu: add comments
2018-04-17 18:46:55 +08:00
Florent Kermarrec
1acd7ea1db
sayma/serwb: re-enable scrambling
2018-04-17 00:49:36 +02:00
Florent Kermarrec
ca01c8f1cb
sayma: reduce serwb linerate to 500Mbps
2018-04-16 23:19:15 +02:00
Florent Kermarrec
825a2158ba
serwb: add phy_width parameter to allow reducing linerate to 500Mbps or 250Mbps
2018-04-16 23:19:14 +02:00
Florent Kermarrec
bb90fb7d59
sayma/serwb: remove scrambling (does not seems to work on sayma for now...)
2018-04-07 15:57:57 +02:00
Florent Kermarrec
6aa8e2c433
serwb/test: replace valid/ready with stb/ack
2018-04-07 15:55:57 +02:00
Florent Kermarrec
73dbc0b6b6
serwb/test: adapt to new version
2018-04-07 15:09:29 +02:00
Florent Kermarrec
e15f8aa903
sayma/serwb: enable scrambling
2018-04-07 14:52:37 +02:00
Florent Kermarrec
9d0e8c27ff
serwb/scrambler: add flow control
2018-04-07 14:51:17 +02:00
Florent Kermarrec
2f8bd022f7
sayma_rtm: remove sys0p2x clock
2018-04-07 03:10:34 +02:00
Florent Kermarrec
1fd96eb0fd
serwb: replace valid/ready with stb/ack
2018-04-07 03:06:19 +02:00
Florent Kermarrec
c8a08375f8
serwb: replace valid/ready with stb/ack
2018-04-07 03:03:44 +02:00
Florent Kermarrec
73b727cade
serwb: new version using only sys/sys4x clocks domains, scrambling deactivated.
2018-04-07 02:59:14 +02:00
Florent Kermarrec
dd21c07b85
targets/sayma_rtm: fix serwb 2 ...
2018-04-03 18:59:05 +02:00
Florent Kermarrec
7488703f23
targets/sayma_rtm: fix serwb
2018-04-03 18:57:00 +02:00
Florent Kermarrec
aef0153a8f
targets/sayma: adapt to new serwb clocking
2018-04-03 18:53:39 +02:00
Florent Kermarrec
3248caa184
gateware/serwb: move all clocking outside of serwb, use existing sys/sys4x clocks
2018-04-03 18:48:08 +02:00
f0771765c1
rtio: move CRI write comment to more appropriate location
2018-03-29 23:55:00 +08:00
493d2a653f
siphaser: add false path between sys_clk and mmcm_freerun_output
2018-03-29 10:55:41 +08:00
4229c045f4
kasli: fix DRTIO master clock constraint
2018-03-29 10:20:31 +08:00
3d89ba2e11
sayma: remove debug leftover
2018-03-29 10:20:17 +08:00
605292535c
kasli: ignore OSERDESE2->ISERDESE2 timing path on DRTIO targets as well
2018-03-29 10:12:02 +08:00
416232cb64
runtime: do not reset RTIO PHY on core.reset(). Closes #971
2018-03-28 10:51:07 +08:00
5ca59467fd
ad53xx: make LDAC and CLR optional
2018-03-26 22:45:01 +08:00
whitequark
bab6723ff2
Revert "gateware: don't run tests if there is no migen."
...
This reverts commit 4804cfef9b
.
2018-03-26 03:33:52 +00:00
whitequark
4804cfef9b
gateware: don't run tests if there is no migen.
...
This allows us to skip testing gateware on Windows.
2018-03-26 03:26:34 +00:00
whitequark
87c2f119a5
artiq_devtool: add load action.
2018-03-25 20:29:51 +00:00
8d62ea2288
examples: fix KC705 ad53xx
2018-03-25 11:19:54 +08:00
c3f763e217
dashboard: also create monitoring widgets for the Zotino class
2018-03-25 11:19:40 +08:00
a20dfd9c00
examples/master: ad5360 -> zotino
2018-03-24 16:46:59 +01:00
0505e9124f
kc705: port device_db, ad53xx/zotino example
2018-03-24 16:05:26 +01:00
3a0dfb7fdc
ad53xx: port monitor, moninj dashboard, kc705 target
2018-03-24 16:04:02 +01:00
a8f0ee1c86
ad53xx: refactor offset_to_mu(), fix docs
2018-03-24 15:45:42 +01:00
b0c8097025
ad53xx: remove channel index AND
...
It's incorrect since it doesn't respect the number of channels
of any of those chips (none has 64 channels).
2018-03-24 15:39:06 +01:00
77bcc2c78f
zotino: style, use attributes to set SPI config
2018-03-24 15:37:34 +01:00
2cf414a480
ad53xx: move 8 bit shift out of ad53xx protocol funcs
...
That's specific to the SPI bus, not to the ad53xx.
2018-03-24 15:15:56 +01:00
08326c5727
ad53xx: style [nfc]
2018-03-24 14:10:20 +01:00
68e433a3a8
opticlock/device_db: resurrect novogorny
...
deleted in a992a67
2018-03-24 13:46:45 +01:00
hartytp
a992a672d9
coredevice/zotino: add ( #969 )
...
* Replace ad5360 driver with a ad53xx driver, designed to have a nicer interface
Add Zotino driver and add to opticlock target for Kasli
Test Zotino on hw:
- Verify all timings on the hardware with a scope
- Verify that we can correctly set and read back all registers in a loop (checks for SI and driver issues)
- check we can set LEDs correctly
- check calibration routine + all si unit functions with a good DVM
- look at DAC transitions on a scope (while triggering of a TTL) on persist to check there are no LDAC glitches etc
To do: update examples and e.g. KC705 device db.
2018-03-24 13:41:18 +01:00
1553fc8c7d
sed: reset valid
in output sorter
2018-03-23 11:11:11 +00:00
0635907699
artiq_flash: fix cmdline formatting
2018-03-22 19:10:29 +08:00
46d5af31a1
artiq_flash: enclose filename in curly braces before passing to OpenOCD
...
Closes #927
2018-03-22 17:20:48 +08:00
eeedcfbdd7
artiq_flash: do not suppress useful backtrace information
2018-03-22 17:11:21 +08:00
f2cc2a5ff2
firmware: reset local RTIO PHYs on startup ( #958 )
2018-03-22 16:29:31 +08:00
770b0a7b79
novogorny: conv -> cnv
...
* parity with sampler
* also add novogorny device to opticlock
2018-03-21 18:38:42 +00:00
82c4f0eed4
sampler: fix channel gain retrieval
2018-03-21 14:22:13 +01:00
12d699f2a8
suservo: add sampler example
2018-03-21 12:21:53 +00:00
97918447a3
sampler: add coredevice driver
2018-03-21 12:21:53 +00:00
1afce8c613
kasli: simplify single eem pin formatting
2018-03-21 13:08:42 +01:00
d48b8f3086
kasli: fix sampler sdr/cnv pins
2018-03-21 09:28:00 +00:00
80903cead7
novogorny: streamline gain setting method, style [nfc]
2018-03-21 08:53:26 +00:00
f5a1001114
suservo: add device database and artiq_flash variant
2018-03-21 08:53:26 +00:00
1fb5907362
kasli: add SUServo variant (Sampler-Urukul Servo)
2018-03-21 08:53:26 +00:00
f74d5772f4
sampler: add wide eem definition
2018-03-21 08:53:26 +00:00
32f22f4c9c
sayma: disable SERDES TTL entirely
...
Timing closure becomes very random, even at 4X.
2018-03-21 13:03:48 +08:00
f8c2d54e75
ttl_serdes_ultrascale: configurable SERDES ratio. Also try X4 on Sayma
2018-03-21 13:01:38 +08:00
9c2d343052
sayma: use SERDES RTIO TTL
...
This is not enabled on the standalone design as it breaks timing.
2018-03-21 10:53:52 +08:00
9ad1fd8f25
urukul: add comment and doc about the AD9910 MASTER_RESET
2018-03-20 17:40:03 +01:00
f17c0abfe4
urukul: don't pulse DDS_RST on init
...
closes m-labs/artiq#940
Apparently, if the DDS are reset, every other time they don't work
properly.
2018-03-20 16:10:26 +00:00
a185e8dc52
urukul: fix MASK_NU offset
2018-03-20 16:10:11 +00:00
f4719ae24b
sdram: clean up console output
2018-03-20 15:42:49 +01:00
206664afd9
sdram: compact read_level output
2018-03-20 10:16:05 +00:00
495625b99d
bootloader: repeat memory test 4 times
2018-03-20 09:57:49 +00:00
6fb0cbfcd3
sdram: clean up, make read_level robust to wrap around
...
* fix a few rust warnings
* also do eye scans on kintex
2018-03-20 09:57:49 +00:00
3abb378fbe
i2c: unused variable
2018-03-20 09:56:26 +00:00
c8020f6bbd
ttl_serdes_generic: fix/upgrade test
2018-03-20 16:46:57 +08:00
a5825184b7
add ttl_serdes_ultrascale (untested)
2018-03-20 16:07:23 +08:00
fad066f1aa
ttl_serdes_7series: cleanup indentation
...
Inconsistent with other code and confuses text editors.
2018-03-20 15:50:04 +08:00
276b0c7f06
sdram: reject read delay wrap arounds
2018-03-20 00:28:41 +01:00
4b3f408143
sdram: simplify read level scan
2018-03-19 18:41:56 +00:00
845784c180
kusddrphy: use first and last tap that yield many valid reads
2018-03-19 17:54:26 +00:00
ed2e0c8b34
sayma/sdram/scan: test each tap 1024 times
2018-03-20 00:59:31 +08:00
hartytp
a27b5d88c2
Novogorny driver, remove unused imports ( #964 )
...
* Novogorny driver, remove unused imports
* more unused imports
* oops, one final one!
2018-03-19 11:58:14 +01:00
7a7ff6d2dd
Merge pull request #963 from hartytp/kasli_zotino_sampler
...
Add Zotino and Sampler functions to Kasli. Add Zotino to Kasli EEM 7 …
2018-03-19 10:52:50 +01:00
Thomas Harty
37d431039d
Fix typos.
...
Reduce ififo depth to 4 for Zotino.
2018-03-19 09:42:18 +00:00
whitequark
c86df8e13e
firmware: try to unstuck the I2C bus if it gets stuck.
...
Fixes #957 .
2018-03-19 06:23:23 +00:00
Thomas Harty
c4fa44bc62
Add Zotino and Sampler functions to Kasli. Add Zotino to Kasli EEM 7 on OptiClock.
2018-03-18 00:25:43 +00:00
f39b7b33e8
ad5360: whitespace [nfc]
2018-03-17 18:51:17 +01:00
ion
c1439bfd3b
Fix AD5360 after migration to SPI2
2018-03-17 11:37:11 +00:00
whitequark
4b5a78e231
compiler: do not pass files to external tools while they are opened.
...
This fixes access violations on Windows that are present both with
input and output files. For some reason, Cygwin-compiled binutils
did not exhibit this problem, but MSYS-compiled binutils do.
Fixes #961 .
2018-03-15 22:21:29 +00:00
whitequark
5cb2602021
artiq_devtool: flash gateware if -g is passed.
2018-03-15 08:33:53 +00:00
whitequark
9ea7d7a804
firmware: allow building without system UART.
2018-03-14 18:34:31 +00:00
whitequark
158ceb0881
artiq_devtool: add kasli target.
2018-03-14 18:13:13 +00:00
a315ecd10b
rtio/ttl_serdes_7series: reset IOSERDES ( #958 )
2018-03-14 09:01:29 +08:00
2fdc180601
dsp/fir: outputs reset_less (pipelined)
2018-03-13 17:11:50 +00:00
2edf65f57b
drtio: fix satellite minimum_coarse_timestamp clock domain ( #947 )
2018-03-13 00:20:57 +08:00
999ec40e79
bootloader: print gateware ident
2018-03-13 00:11:25 +08:00
2caeea6f25
update copyright year
2018-03-13 00:09:13 +08:00
1d081ed6c2
drtio: print diagnostic info on satellite write underflow ( #947 )
2018-03-12 23:41:19 +08:00
Florent Kermarrec
eb6e59b44c
sayma_rtm: fix serwb timing constraints (was causing the gated clock warning)
2018-03-12 11:25:29 +01:00
6dfebd54dd
ttl_serdes_7series: use correct IBUFDS_INTERMDISABLE port names
2018-03-12 10:37:33 +08:00
a04bd5a4fd
spi2: xfers take one more cycle until ~busy
2018-03-09 20:48:17 +01:00
Florent Kermarrec
5af4609053
libboard/sdram: limit write leveling scan to "512 - initial dqs taps delay" on ultrascale
2018-03-09 19:06:47 +01:00
Florent Kermarrec
a95cd423cc
libboard/sdram: add gap for write leveling
2018-03-09 18:53:57 +01:00
fc3d97f1f7
drtio: remove spurious multichannel transceiver clock constraints
...
They used to cause (otherwise harmless) Vivado critical warnings.
2018-03-09 22:46:27 +08:00
caf7b14b55
kasli: generate fine RTIO clock in DRTIO targets, separate RTIO channel code
2018-03-09 22:36:16 +08:00
Florent Kermarrec
8f6f83029c
libboard/sdram: add write/read leveling scan
2018-03-09 13:50:51 +01:00
Florent Kermarrec
b0b13be23b
libboard/sdram: rename read_delays to read_leveling
2018-03-09 09:23:20 +01:00
3fbcf5f303
drtio: remove TSC correction ( #40 )
2018-03-09 10:36:17 +08:00
e38187c760
drtio: increase default underflow margin. Closes #947
2018-03-09 00:49:24 +08:00
37f5f0d38d
examples: add DMA to Sayma DRTIO
2018-03-09 00:49:24 +08:00
Florent Kermarrec
8475c21c46
firmware/libboard/sdram: kusddrphy now use time mode for odelaye3/idelaye3, now reloading dqs delay_value (500ps) with software
2018-03-08 10:00:00 +01:00
8bd15d36c4
drtio: fix error CSR edge detection ( #947 )
2018-03-08 16:28:25 +08:00
0adbbd8ede
drtio: reset aux packet gateware after locking to recovered clock
...
Closes #949
2018-03-08 15:41:13 +08:00
8bd85caafb
examples: fix Sayma DRTIO ref_period
2018-03-08 15:09:33 +08:00
37ec97eb28
ad9910/2: add sw invariant only when passed
2018-03-07 21:32:59 +01:00
82831a85b6
kasli/opticlock: add eem6 phys
2018-03-07 21:32:59 +01:00
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
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