90cf11994e
spi: style
2017-04-13 13:38:29 +02:00
8446cccb4e
pdq2: mem_read
2017-04-13 13:38:13 +02: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
78dd4b8614
pdq2: memory write, kernel_invariants
2017-04-08 17:16:19 +02:00
0838981bed
coredevice.spi: kernel invariants and style
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
whitequark
14ae1cc100
runtime: advance now on DMA replay.
...
Fixes #700 .
2017-04-05 18:34:36 +00:00
whitequark
948ed6fb0a
Extract core device management interface from session interface ( #691 ).
2017-03-29 03:36:21 +00:00
whitequark
b643847da5
Fix a misleading message for non-clean kernel termination.
2017-03-28 14:22:20 +00:00
b9ff5afc85
dma: improve/fix documentation
2017-03-27 17:21:39 +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
whitequark
795a3e24d8
artiq_coreboot: block until hotswap image is actually received.
2017-03-07 11:36:28 +00:00
whitequark
b0cdef3211
firmware: implement hotswap through artiq_coreboot tool.
2017-03-06 16:01:28 +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
a4ece19614
Implement DMA playback.
2017-02-28 21:28:40 +00:00
7d6ebabc1b
reorganize core device communication code
2017-02-27 18:37:30 +08:00
b8bfcd2d7e
moninj: share probe/override numbers and use Enum
2017-02-27 11:54:16 +08:00
26654e6a3a
moninj: Python-side fixes
2017-02-27 11:45:04 +08:00
dff23293c7
Merge branch 'master' of github.com:m-labs/artiq
2017-02-27 01:05:40 +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
e82ce3ea28
coredevice: ignore .dirty in version checks correctly
2017-02-25 20:05:05 +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
whitequark
6fd149f048
Show a message when interrupting a running kernel (except idle kernel).
...
Fixes #625 .
2017-01-31 22:53:38 +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
7c699e2f80
drtio: add FIFO space request count debug API
2017-01-11 13:48:14 -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
082fdaf450
move i2c to libboard, do bit-banging on comms CPU
2017-01-04 21:04:38 +01:00
7ff77bceac
move AD9616 and AD9154 initialization to firmware
2017-01-03 16:11:38 +01:00
5efd0fcea5
sawg: documentation
2016-12-06 19:25:40 +01:00
695eb705b3
sawg: extract spline
2016-12-04 16:52:08 +01:00
39becd0b4e
sawg: document
2016-12-04 16:50:49 +01:00
87bd2072e8
sawg: round to int64
2016-12-02 18:07:01 +01:00
6e9bc7c05d
sawg: merge set/set64
2016-12-01 16:45:54 +01:00
ed6d1e73cc
sawg: cleanup
2016-11-30 10:52:35 +01:00
fb58f31c9d
Revert "sawg: test w/o discrete_compensate"
...
This reverts commit b736dd0df7
.
2016-11-29 20:56:04 +01:00
b736dd0df7
sawg: test w/o discrete_compensate
2016-11-29 20:52:02 +01:00
d8b5eac856
sawg: style
2016-11-29 20:51:40 +01:00
d9dd79fb1a
sawg: int32 artiq python
2016-11-29 17:36:03 +01:00
4a03e3fce0
sawg: rtio_output_wide
2016-11-29 17:23:06 +01:00
f6fc7f9216
rtio: rtio_output_{list->wide}
2016-11-29 17:22:55 +01:00
313aa32779
sawg: artiq-python list scoping
2016-11-29 17:20:02 +01:00
c53040e1e4
sawg: work around #632
2016-11-29 17:01:39 +01:00
a3d9e21b8c
sawg: artiq-python changes
2016-11-29 16:58:26 +01:00
23fd225947
sawg: spline knot packing/conversion, unittest
2016-11-29 14:49:07 +01:00
6799bb097a
sawg: adapt to int32/int64 change
2016-11-22 11:57:34 +01:00
4cd2b36995
Merge branch 'phaser' into phaser2
...
* phaser:
runtime: replace a (deliberate) memory leak with an interner.
compiler: disable remarks.
runtime: rewrite i2c support code in Rust.
runtime: rewrite rtio support code in Rust.
2016-11-21 23:11:52 +01:00
feb95bf3cf
Merge branch 'master' into phaser
...
* master:
runtime: replace a (deliberate) memory leak with an interner.
compiler: disable remarks.
runtime: rewrite i2c support code in Rust.
runtime: rewrite rtio support code in Rust.
2016-11-21 22:26:52 +01:00
whitequark
a825584ac0
runtime: rewrite rtio support code in Rust.
2016-11-21 17:13:09 +00:00
4160490e0a
Merge branch 'phaser' into phaser2
...
* phaser: (23 commits)
RELEASE_NOTES: update
pipistrello: add some inputs
Remove last vestiges of nist_qc1.
Fully drop AD9858 and kc705-nist_qc1 support (closes #576 ).
coredevice.dds: reimplement fully in ARTIQ Python.
compiler: unbreak casts to int32/int64.
analyses.constness: fix false positive on x[...].
inferencer: significantly improve the op-assignment diagnostic.
Fix tests.
Move mu_to_seconds, seconds_to_mu to Core.
artiq_devtool: don't crash on invalid utf-8.
artiq_devtool: detect a race condition during connect.
llvm_ir_generator: handle no-op coercions.
conda: use development version of migen/misoc
Revert accidentally committed code.
Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623 "
analyses.invariant_detection: implement (#622 ).
Fix whitespace.
coredevice.dds: work around the round(numpy.float64()) snafu.
coredevice.dds: update from obsolete int(width=) syntax (fixes #621 ).
...
2016-11-21 17:29:46 +01:00
f7e8961ab0
Merge branch 'master' into phaser
...
* master: (23 commits)
RELEASE_NOTES: update
pipistrello: add some inputs
Remove last vestiges of nist_qc1.
Fully drop AD9858 and kc705-nist_qc1 support (closes #576 ).
coredevice.dds: reimplement fully in ARTIQ Python.
compiler: unbreak casts to int32/int64.
analyses.constness: fix false positive on x[...].
inferencer: significantly improve the op-assignment diagnostic.
Fix tests.
Move mu_to_seconds, seconds_to_mu to Core.
artiq_devtool: don't crash on invalid utf-8.
artiq_devtool: detect a race condition during connect.
llvm_ir_generator: handle no-op coercions.
conda: use development version of migen/misoc
Revert accidentally committed code.
Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623 "
analyses.invariant_detection: implement (#622 ).
Fix whitespace.
coredevice.dds: work around the round(numpy.float64()) snafu.
coredevice.dds: update from obsolete int(width=) syntax (fixes #621 ).
...
2016-11-21 17:29:39 +01:00
whitequark
f4b7666768
coredevice.dds: reimplement fully in ARTIQ Python.
...
This commit also drops AD9858 support from software.
2016-11-21 15:13:26 +00:00
c73b1af7ab
coredevice/sawg: missing comma
2016-11-21 13:16:44 +01:00
b226dbd257
sawg: unittest data format
2016-11-21 12:35:57 +01:00
whitequark
009d396740
Move mu_to_seconds, seconds_to_mu to Core.
2016-11-21 05:37:30 +00:00
9221a275cb
sawg: kernel support (wip)
2016-11-20 16:39:53 +01:00
whitequark
abf2b32b20
coredevice.dds: work around the round(numpy.float64()) snafu.
2016-11-20 09:49:58 +00:00
whitequark
d7f4397924
coredevice.dds: update from obsolete int(width=) syntax ( fixes #621 ).
2016-11-20 09:49:39 +00:00
641f07119f
runtime: support rtio data wider than 64 bit
2016-11-18 17:08:33 +01:00
aedb6747f2
Merge branch 'master' into phaser
...
* master: (47 commits)
runtime: disable the Nagle algorithm entirely.
runtime: buffer RPC send packets.
runtime: don't print debug messages to the UART.
runtime: print microsecond timestamps in debug messages.
artiq_devtool: abort if build failed.
conda: bump llvmlite-artiq dep.
conda: bump llvmlite-artiq dep.
llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
artiq_devtool: more robust port forwarding.
setup: remove paramiko dependency (optional and developer-only)
artiq_devtool: implement.
artiq_compile: actually disable attribute writeback.
conda: use pythonparser 1.0.
conda: tighten pythonparser dependency (fixes #600 ).
doc: clarify kernel_invariant doc (fixes #609 ).
compiler: Emit all-kernel_invariant objects as LLVM constants
conda: update for LLVM 3.9.
add has_dds, use config flags
Revert "Revert "Revert "Revert "Update for LLVM 3.9.""""
Revert "Revert "Revert "Update for LLVM 3.9."""
...
2016-11-13 16:54:28 +01:00
whitequark
0e76cbc414
artiq_compile: actually disable attribute writeback.
...
I wrote both halves of this condition but forgot to hook
them together.
Fixes #586 .
2016-11-10 01:04:36 +00:00
whitequark
6fcd57a41a
runtime: fix remaining async RPC bugs.
2016-11-01 10:33:57 +00:00
whitequark
c1e6d4b67c
runtime: fix multiple async RPC bugs.
2016-11-01 06:51:44 +00:00
6d07a16c62
Merge branch 'master' into phaser
...
* master: (72 commits)
gateware: extend mailbox to 3 entries.
master/worker_db: set default value for archive
master: keep dataset manager consistent when set_dataset is called with contradictory attributes
master: archive input datasets. Closes #587
master: ensure same dataset is in broadcast and local when mutating
scheduler: default submission arguments, closes #577
pdq2: sync with pdq2
doc: clarify usage of pause/check_pause, closes #571
dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572
gateware/spi: fix import
runtime: fix use of $(realpath) in Makefile.
test: fix printf specifier.
llvm_ir_generator: make sure RPC allocations are not underaligned.
runtime: use i64 for watchdog timeout, not i32.
runtime: port ksupport to Rust.
runtime: remove some redundant libm functions copied inline.
language: Add "A" (ampere) as well-known unit for arguments
conda: misoc 0.4 (csr)
runtime: cap log level at debug.
runtime: discard unnecessary sections.
...
2016-10-28 01:40:11 +02:00
78700a67bc
sawg: fast-math
2016-10-18 10:05:51 +02:00
b2327cf808
sawg: core is kernel_invariant
2016-10-18 10:05:51 +02:00
4c7c479c94
ad9154: add mirrored bits
2016-10-13 15:02:18 +02:00
9644a3a362
ad9154: mix mode addr, digital gain must be on
2016-10-12 15:00:53 +02:00
1117fe191b
phaser: support core stpl
2016-10-12 12:03:29 +02:00
whitequark
4f11b071a5
runtime: remove useless handshaking in analyzer.
2016-10-07 05:53:16 +00:00
whitequark
557bc4bb56
runtime: remove unnecessary buffering.
2016-10-06 17:25:43 +00:00
whitequark
bcdbd00e7b
runtime: remove unnecessary null bytes from session protocol.
2016-10-06 15:39:00 +00:00
1193ba4bf4
ad9154: merge csr spaces
2016-10-06 16:21:15 +02:00
4d87f0e9e0
phaser: instantiate jesd204b core, wire up
2016-10-06 14:44:22 +02:00
4a0eaf0f95
phaser: add jesd204b rtio dds
...
gateware: add jesd204b awg
gateware: copy phaser (df3825a)
dsp/tools: update satadd mixin
phaser: no DDS stubs
dsp: accu fix
phaser: cleanup/reduce
sawg: kernel support and docs
sawg: coredevice api fixes
sawg: example ddb/experiment
phaser: add conda package
examples/phaser: typo
sawg: adapt tests, fix accu stb
sawg: tweak dds parameters
sawg: move/adapt/extend tests
sawg: test phy, refactor
phaser: non-rtio spi
phaser: target cli update
phaser: ad9154-fmc-ebz pins
phaser: reorganize fmc signal naming
phaser: add test mode stubs
phaser: txen is LVTTL
phaser: clk spi xfer test
phaser: spi for ad9154 and ad9516
phaser: spi tweaks
ad9154: add register map from ad9144.xml
ad9516: add register map from ad9517.xml and manual adaptation
ad9154_reg: just generate getter/setter macros as well
ad9154: reg WIP
ad9154: check and fix registers
kc705: single ended rtio_external_clk
use single ended user_sma_clk_n instead of p/n to free up one clock sma
kc705: mirror clk200 at user_sma_clock_p
ad9516_regs.h: fix B_COUNTER_MSB
phase: wire up clocking differently
needs patched misoc
kc705: feed rtio_external_clock directly
kc705: remove rtio_external_clk for phaser
phaser: spi tweaks
ad9516: some startup
ad9516_reg fixes
phaser: setup ad9516 for supposed 500 MHz operation
ad9516: use full duplex spi
ad9154_reg: add CONFIG_REG_2
ad9154_reg: fixes
phaser: write some ad9154 config
ad9154_reg: fixes
ad9154: more init, and human readable setup
ad9154/ad9516: merge spi support
ad9154: status readout
Revert "kc705: remove rtio_external_clk for phaser"
This reverts commit d500288bb44f2bf2eeb0c2f237aa207b0a8b1366.
Revert "kc705: feed rtio_external_clock directly"
This reverts commit 8dc7825519e3e75b7d3d29c9abf10fc6e3a8b4c5.
Revert "phase: wire up clocking differently"
This reverts commit ad9cc450ffa35abb54b0842d56f6cf6c53c6fbcc.
Revert "kc705: mirror clk200 at user_sma_clock_p"
This reverts commit 7f0dffdcdd28e648af84725682f82ec6e5642eba.
Revert "kc705: single ended rtio_external_clk"
This reverts commit a9426d983fbf5c1cb768da8f1da26d9b7335e9cf.
ad9516: 2000 MHz clock
phaser: test clock dist
phaser: test freqs
ad9154: iostandards
phaser: drop clock monitor
phaser: no separate i2c
phaser: drive rtio from refclk, wire up sysref
phaser: ttl channel for sync
ad9154: 4x interp, status, tweaks
phaser: sync/sysref 33V banks
phaser: sync/sysref LVDS_25 inputs are VCCO tolerant
phaser: user input-only ttls
phaser: rtio fully from refclk
ad9154: reg name usage fix
ad9154: check register modifications
Revert "ad9154: check register modifications"
This reverts commit 45121d90edf89f7bd8703503f9f317ad050f9564.
ad9154: fix status code
ad9154: addrinc, recal serdes pll
phaser: coredevice, example tweaks
sawg: missing import
sawg: type fixes
ad9514: move setup functions
ad9154: msb first also decreasing addr
phaser: use sys4x for rtio internal ref
phaser: move init code to main
phaser: naming cleanup
phaser: cleanup pins
phaser: move spi to kernel cpu
phaser: kernel support for ad9154 spi
ad9154: add r/w methods
ad9154: need return annotations
ad9154: r/w methods are kernels
ad9154_reg: portable helpers
phaser: cleanup startup kernel
ad9154: status test
ad9154: prbs test
ad9154: move setup, document
phaser: more documentation
2016-10-05 16:17:50 +02:00
whitequark
494cfca41c
coreanalyzer: fix rtio_log message extraction.
...
Fixes #550 .
2016-09-14 10:18:00 +00:00
whitequark
25ec99930c
Also serialize numpy.int{32,64} like int in RPC return values.
...
Fixes #555 .
2016-09-09 08:52:18 +00:00
2b282456dc
coredevice/ttl: fix imports
2016-09-07 17:37:14 +08:00
486fe97649
ttl: add level-based APIs ( #218 )
2016-09-07 16:55:21 +08:00
310acca372
dds: fix docstring, closes #540
2016-08-16 14:55:30 +08:00
23b704802d
dds: make init_sync accessible for AD9914 only
2016-08-15 17:45:18 +08:00
raghu
c4d17138a1
added sync for AD9914
2016-08-15 17:44:27 +08:00
89df048efb
analyzer: use picosecond resolution in VCD output. Closes #528
2016-08-03 10:57:15 +08:00
whitequark
933ea53c77
compiler: add basic numpy array support ( #424 ).
2016-07-06 09:51:57 +00:00
whitequark
906db876a6
language: replace coredevice int with numpy.{int32,int64}.
...
Fixes #453 .
2016-07-06 04:44:21 +00:00
73ac153509
spi: expose more documentation on chaining transfers
2016-07-04 12:43:33 +02:00
c6e54e3016
coredevice/core: add syscall type annotation
2016-06-29 10:38:19 +08:00
c8dc6ca07c
inter-experiment smooth handover
2016-06-29 02:37:50 +08:00
5853e31ac2
coredevice/comm_tcp: more appropriate exception
2016-06-26 19:08:40 +08:00