Commit Graph

445 Commits

Author SHA1 Message Date
858c1be381 sawg: expand documentation 2017-06-13 18:51:48 +02:00
566ff73dff pdq: unify spi-PDQ and usb-PDQ protocols 2017-06-10 15:03:25 +02:00
d8aee931ba sawg: extend phase mode docs 2017-06-09 12:26:49 +02:00
whitequark
284382b1f5 compiler: add support for bytearray values in RPC (#714). 2017-06-09 07:15:25 +00:00
whitequark
66a683f583 compiler: add support for bytes values in RPC (#714). 2017-06-09 07:10:48 +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
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
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
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
5ccca74a3f fold comm device into core device 2017-05-22 15:45:45 +08: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
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
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
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