Commit Graph

2154 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 3364827744 ttl/TTLClockGen: fix FTW computation with ref_multiplier != 1 2016-03-04 16:59:59 +08:00
Sebastien Bourdeauducq 4352d15016 coredevice/core: add ref_multiplier and coarse_ref_period attributes 2016-03-04 16:59:35 +08:00
Sebastien Bourdeauducq 354a62f5d0 Merge branch 'master' of github.com:m-labs/artiq 2016-03-04 16:51:48 +08:00
whitequark 6e44c5424d coredevice.ttl: add missed int64 conversion. 2016-03-04 08:37:43 +00:00
Robert Jördens 7ff0c89d51 kc705.clock: add all spi buses 2016-03-04 00:03:48 +01:00
Robert Jördens 669fbaa4f1 ad53xx->ad5360 and refactor 2016-03-04 00:00:25 +01:00
Robert Jördens dc6d116824 spi: have write() delay by transfer duration 2016-03-03 21:57:27 +01:00
Sebastien Bourdeauducq c2fcefc31f runtime/rtio: cleanup include 2016-03-03 19:48:06 +08:00
Sebastien Bourdeauducq 423ca03f3b runtime: bit-banged i2c support (untested) 2016-03-03 17:46:42 +08:00
whitequark 73bfbe51db compiler: reject lambdas used as kernel functions (fixes #313). 2016-03-03 08:33:28 +00:00
Sebastien Bourdeauducq cfe72c72a2 gateware/kc705: add I2C GPIO core for QC2 2016-03-03 15:32:10 +08:00
Sebastien Bourdeauducq a901971e58 gateware/soc: factor code to connect CSR device to kernel CPU 2016-03-03 15:12:15 +08:00
Sebastien Bourdeauducq b662a6fcbd gateware/nist_{clock,qc2}: do not conflict with KC705 I2C 2016-03-03 15:10:50 +08:00
Sebastien Bourdeauducq 9af12230c8 soc: add timer to kernel CPU system 2016-03-03 13:19:17 +08:00
Sebastien Bourdeauducq b83b113f3c gui/moninj: make widgets look less like buttons 2016-03-03 10:48:17 +08:00
Sebastien Bourdeauducq 0c97043a20 gateware/nist_clock: pin assignment corrections from David Leibrandt 2016-03-03 10:03:49 +08:00
Robert Jördens d3f36ce784 kc705: add false paths for ethernet phy
* vivado prefers rsys_clk over sys_clk (despite the assignment hierarchy)
  (We need DONT_TOUCH and/or KEEP verilog annotations to fix this)
2016-03-02 19:56:24 +01:00
Robert Jördens 9969cd85de ad53xx: ldac may be none 2016-03-02 15:50:02 +01:00
Sebastien Bourdeauducq f5dee455f5 test/worker: test exception logging 2016-03-02 17:12:22 +08:00
Sebastien Bourdeauducq 763a4d3011 rpctool: use pprint in interactive mode 2016-03-02 11:47:34 +08:00
Sebastien Bourdeauducq d0d50d74eb rpctool: interactive mode 2016-03-02 11:45:51 +08:00
Sebastien Bourdeauducq 946bd84b58 protocols/pc_rpc: support retrieving selected target 2016-03-02 11:45:31 +08:00
Robert Jördens 1e4bccae20 ad53xx: add 2016-03-02 00:12:01 +01:00
Robert Jördens 162ecdd574 spi: cleanup, add frequency_to_div() 2016-03-02 00:11:17 +01:00
Robert Jördens d973eb879f coredevice.spi: docstring fix 2016-03-01 22:42:00 +01:00
Robert Jördens f754d2c117 Merge branch 'spimaster'
* spimaster: (52 commits)
  runtime/rtio: rtio_process_exceptional_status() has only one user
  coredevice.spi, doc/manual: add spi
  kc705: move ttl channels together again, update doc
  runtime: rt2wb_input -> rtio_input_data
  examples/tdr: adapt to compiler changes
  bridge: really fix O/OE
  runtime: define constants for ttl addresses
  coredevice.ttl: fix sensitivity
  bridge: fix ttl o/oe addresses
  runtime: refactor ttl*()
  rtio: rm rtio_write_and_process_status
  coredevice.spi: unused import
  rt2wb, exceptions: remove RTIOTimeout
  gateware.spi: delay only writes to data register, update doc
  nist_clock: disable spi1/2
  runtime/rt2wb: use input/output terminology and add (async) input
  examples: update device_db for nist_clock spi
  gateware.spi: rework wb bus sequence
  nist_clock: rename spi*.ce to spi*.cs_n
  nist_clock: add SPIMasters to spi buses
  ...
2016-03-01 22:08:08 +01:00
Robert Jördens 5ba753425d runtime/rtio: rtio_process_exceptional_status() has only one user 2016-03-01 21:38:51 +01:00
Robert Jördens 0456169558 coredevice.spi, doc/manual: add spi 2016-03-01 21:29:09 +01:00
Robert Jördens 2cc1dfaee3 kc705: move ttl channels together again, update doc 2016-03-01 19:40:32 +01:00
Robert Jördens f30dc4b39e runtime: rt2wb_input -> rtio_input_data 2016-03-01 19:22:42 +01:00
Robert Jördens 81b35be574 bridge: really fix O/OE 2016-03-01 18:49:04 +01:00
Robert Jördens 135643e3a6 runtime: define constants for ttl addresses 2016-03-01 18:22:42 +01:00
Robert Jördens 3aebbbdb61 coredevice.ttl: fix sensitivity 2016-03-01 18:22:03 +01:00
Robert Jördens 6f9656dcbe bridge: fix ttl o/oe addresses 2016-03-01 18:19:06 +01:00
Robert Jördens 8adef12781 runtime: refactor ttl*()
* remove rt2wb_output
* remove ttl_*() ttl.c ttl.h
* use rtio_output() and rtio_input_timestamp()
* adapt coredevice/compiler layer
* adapt bridge to not artiq_raise_from_c()
2016-03-01 16:36:59 +01:00
Robert Jördens aa10791ddf rtio: rm rtio_write_and_process_status 2016-03-01 15:40:35 +01:00
Robert Jördens 29776fae3f coredevice.spi: unused import 2016-03-01 15:38:40 +01:00
Robert Jördens 324660ab40 rt2wb, exceptions: remove RTIOTimeout
Assume that rt2wb transactions either collide and are then
reported (https://github.com/m-labs/artiq/issues/308) or that
they complete and the delay with which they complete does not matter.

If a transaction is ack'ed with a delay because the WB core's downstream
logic is busy, that may lead to a later collision with another WB
transaction.
2016-03-01 14:44:07 +01:00
Robert Jördens c2fe9a08ae gateware.spi: delay only writes to data register, update doc 2016-03-01 14:14:38 +01:00
whitequark 7e16da4a77 transforms.llvm_ir_generator: ignore assignments of None (fixes #309). 2016-03-01 12:26:42 +00:00
Sebastien Bourdeauducq c7d48a1765 coredevice/TTLOut: add dummy output function 2016-03-01 19:03:10 +08:00
Sebastien Bourdeauducq 18efca0f0a Merge branch 'master' of github.com:m-labs/artiq 2016-03-01 14:49:16 +08:00
Sebastien Bourdeauducq b0526c3354 protocols/pipe_ipc: fix resource leak on Windows 2016-03-01 14:49:04 +08:00
whitequark dc70029b91 transforms.asttyped_rewriter: set loc for ForT (fixes #302). 2016-03-01 05:22:12 +00:00
Robert Jördens f2ec8692c0 nist_clock: disable spi1/2 2016-03-01 01:52:46 +01:00
Robert Jördens 7d7a710a56 runtime/rt2wb: use input/output terminology and add (async) input 2016-03-01 00:35:56 +01:00
Robert Jördens da22ec73df gateware.spi: rework wb bus sequence 2016-02-29 22:22:08 +01:00
Robert Jördens 12252abc8f nist_clock: rename spi*.ce to spi*.cs_n 2016-02-29 22:21:18 +01:00
Robert Jördens 7ef21f03b9 nist_clock: add SPIMasters to spi buses 2016-02-29 22:19:39 +01:00
Robert Jördens 7ab7f7d75d Merge branch 'master' into spimaster
* master:
  artiq_flash: use term 'gateware'
  targets/kc705-nist_clock: add clock generator on LA32 for testing purposes
  doc: insist that output() must be called on TTLInOut. Closes #297
  doc: update install instructions
  coredevice: do not give up on UTF-8 errors in log. Closes #300
  use m-labs setup for defaults
  fix indentation
2016-02-29 20:47:52 +01:00
Robert Jördens 6dd1eb2e92 artiq_flash: use term 'gateware' 2016-02-29 20:45:41 +01:00
Robert Jördens 6c899e6ba6 runtime/rtio: fix rtio_input_wait(), add RTIOTimeout 2016-02-29 19:49:15 +01:00
Robert Jördens 16537d347e coredevice.spi: cleanup 2016-02-29 19:48:26 +01:00
Robert Jördens ecedbbef4c runtime/ttl: use rtio_output and rtio_input_wait 2016-02-29 19:20:07 +01:00
Robert Jördens 5dae9f8aa8 runtime: refactor rt2wb/dds 2016-02-29 19:16:29 +01:00
Robert Jördens d3c94827eb runtime/ttl: simplify ttl_get() a bit 2016-02-29 17:58:54 +01:00
Robert Jördens e11366869d coredevice/spi: clean up api 2016-02-29 17:54:42 +01:00
Sebastien Bourdeauducq 5fad570f5e targets/kc705-nist_clock: add clock generator on LA32 for testing purposes 2016-03-01 00:35:26 +08:00
Robert Jördens dd570720ac gateware.spi: ack only in cycles 2016-02-29 17:29:37 +01:00
Sebastien Bourdeauducq a1e1f2b387 doc: insist that output() must be called on TTLInOut. Closes #297 2016-03-01 00:28:40 +08:00
Robert Jördens a0083f4501 Revert "gateware/rt2wb: only input when active"
This reverts commit 1b08e65fa1.
2016-02-29 16:44:11 +01:00
Robert Jördens cb8815cc65 Revert "gateware/rt2wb: support combinatorial ack"
This reverts commit f73228f248.
2016-02-29 16:44:04 +01:00
Robert Jördens f73228f248 gateware/rt2wb: support combinatorial ack 2016-02-29 15:40:55 +01:00
Sebastien Bourdeauducq 4467f91cbf coredevice: do not give up on UTF-8 errors in log. Closes #300 2016-02-29 22:21:10 +08:00
Robert Jördens 1b08e65fa1 gateware/rt2wb: only input when active 2016-02-29 14:56:29 +01:00
Robert Jördens 6903a1d88a runtime/rt2wb: accurate exception strings 2016-02-29 14:56:04 +01:00
Robert Jördens c226aeb0d4 coredevice/spi: read_sync read bit 2016-02-29 14:55:29 +01:00
Sebastien Bourdeauducq 572c49f475 use m-labs setup for defaults 2016-02-29 21:35:23 +08:00
Sebastien Bourdeauducq 785691ab98 fix indentation 2016-02-29 21:32:48 +08:00
Robert Jördens df7d15d1fe runtime: refactor spi into rt2wb 2016-02-29 13:54:36 +01:00
Robert Jördens eb01b0bfee gateware.spi: cleanup doc 2016-02-29 12:41:30 +01:00
Robert Jördens aeae565d35 runtime/spi: don't apply channel offset 2016-02-29 11:53:36 +01:00
Robert Jördens 948fefa69a gateware.spi: style 2016-02-29 11:48:29 +01:00
Robert Jördens ad34927b0a spi: RTIO_SPI_CHANNEL -> RTIO_FIRST_SPI_CHANNEL 2016-02-29 11:35:49 +01:00
Robert Jördens 5480099f1b gateware.spi: rewrite counter bias for timing 2016-02-29 02:28:19 +01:00
Robert Jördens 9a1d6a51a4 gateware.spi: shorten counters 2016-02-29 01:51:33 +01:00
Robert Jördens a4504905bd Merge remote-tracking branch 'm-labs/master' into spimaster
* m-labs/master:
  Fix tests.
  types.TypePrinter: don't waste screen space on empty attribute lists.
  Revert wrong parts of 6bd16e44.
  examples/notebook: cleanup, and fix spelling
  test/LoopbackCount: request correct devices
2016-02-29 00:49:13 +01:00
Robert Jördens 8b2b278457 spi: add coredevice support 2016-02-29 00:44:48 +01:00
Robert Jördens d63a63531a spi: add runtime support 2016-02-29 00:38:36 +01:00
Robert Jördens 8d7e92ebae pipistrello: set RTIO_SPI_CHANNEL 2016-02-29 00:37:00 +01:00
Robert Jördens 9a881aa430 gateware.spi: simpler clk bias 2016-02-29 00:36:18 +01:00
Robert Jördens d5893d15fb gateware.kc705: make xadc/ams an extension header 2016-02-28 22:41:17 +01:00
Robert Jördens 312e09150e kc705/clock: add spi bus for dac on ams101 2016-02-28 21:17:53 +01:00
Robert Jördens f8732acece rtio.spi: drop unused argument 2016-02-28 21:06:20 +01:00
Robert Jördens 3b6999ac06 gateware.spi: refactor, sim verified 2016-02-28 20:40:06 +01:00
Robert Jördens bd9ceb4e12 gateware.spi: add complete spi master logic 2016-02-27 22:47:16 +01:00
whitequark 8bbffab8c8 Fix tests. 2016-02-27 13:40:37 +00:00
whitequark e421b22953 types.TypePrinter: don't waste screen space on empty attribute lists. 2016-02-27 13:29:47 +00:00
whitequark 63e0c7c07c Revert wrong parts of 6bd16e44. 2016-02-27 13:15:49 +00:00
Robert Jördens ade3eda19a gateware.pipistrello: use pmod for spi 2016-02-27 11:29:40 +01:00
Robert Jördens e7146cc999 gateware.spi: design sketch 2016-02-26 17:03:08 +01:00
Robert Jördens fb929c8599 gateware/spi: stubs 2016-02-26 13:11:10 +01:00
Sebastien Bourdeauducq a5bf502917 test/LoopbackCount: request correct devices 2016-02-26 14:29:51 +08:00
whitequark 82a8e819ac transforms.llvm_ir_generator: use private linkage instead of internal.
This reduces the size of symbol tables (internal adds an STB_LOCAL
symbol, but private doesn't).
2016-02-25 20:15:40 +00:00
whitequark 6bd16e448e Commit missing parts of 919a49b6. 2016-02-25 20:02:31 +00:00
whitequark f838b8be49 compiler.embedding: cache attribute types (fixes #276). 2016-02-25 19:56:45 +00:00
whitequark d899d7307e compiler.types: TDelay is always unifiable with self. 2016-02-25 19:56:12 +00:00
whitequark 919a49b6bc compiler: quell excessively detailed diagnostics. 2016-02-25 19:43:52 +00:00
Robert Jördens 485fc3bd27 gui: use scanwidget 2016-02-25 20:34:18 +01:00
Robert Jördens 3ed8288601 scanwidget: add from current git 2016-02-25 20:34:04 +01:00
whitequark 8e77e561cd test: bring back test_loopback_count (fixes #295). 2016-02-25 18:46:55 +00:00
whitequark 18274a09a1 Commit missing parts of 4426730. 2016-02-25 02:05:44 +00:00
whitequark a1dd909bc4 Take alignment into account during attribute writeback (fixes #293). 2016-02-25 01:44:05 +00:00
whitequark 914bc9f360 artiq_run: allow running LLVM IR/bitcode files, even with trivial RPCs. 2016-02-24 22:50:45 +00:00
whitequark da31d29897 compiler: fix ARTIQ_DUMP_*. 2016-02-24 21:43:46 +00:00
whitequark 652c2a185f test: rewrite tests using ttl_inout to use loop_{in,out} (#265). 2016-02-24 18:27:08 +00:00
whitequark a829b8a6fc Commit missing parts of cf41890. 2016-02-24 17:53:13 +00:00
whitequark cf41890255 Correctly display backtraces that contain inlined functions. 2016-02-24 17:44:19 +00:00
whitequark 442673076f compiler: setting ARTIQ_DUMP_* dumps to a file instead of stderr. 2016-02-24 17:44:19 +00:00
Sebastien Bourdeauducq 6b28b8e36e Merge branch 'master' of github.com:m-labs/artiq 2016-02-25 01:25:31 +08:00
Sebastien Bourdeauducq dda0e0846c worker: print core device tracebacks. Closes #292 2016-02-25 01:25:26 +08:00
Sebastien Bourdeauducq c3cdce9d02 style 2016-02-25 01:22:43 +08:00
Robert Jördens aa50c5b4d9 pdq2.mediator: minor tweaks 2016-02-24 18:11:05 +01:00
Robert Jördens f2acf95f98 pdq2.mediator: err on short segments 2016-02-24 18:11:05 +01:00
Sebastien Bourdeauducq 251aed047f worker: do not print redundant exception information 2016-02-25 01:10:31 +08:00
whitequark 950eaef08c coredevice: re-export more exceptions. 2016-02-24 15:09:22 +00:00
whitequark 956448bd8d test: skip RPC timing tests by default. 2016-02-24 15:09:22 +00:00
Robert Jördens 5599ec16ea sim: align API closer to non-sim
* add Output
* also clear timeline after it has been printed (multiple kernel invocations)

The sim core device API has diverged quite a bit from the non-sim API.
More work is needed.
2016-02-23 21:01:03 +01:00
Robert Jördens 467268a06e coefficients: fix constant zero 2016-02-23 17:56:38 +01:00
Sebastien Bourdeauducq 53d5a458a2 test/hardware_testbench: properly close devices 2016-02-23 16:00:53 +08:00
Sebastien Bourdeauducq 82f4fd1290 test/coredevice: convert to 'with parallel' 2016-02-23 15:48:12 +08:00
Sebastien Bourdeauducq a8545fc1f7 targets/kc705: set up user_sma_gpio_n like other TTLs 2016-02-22 22:35:15 +08:00
Robert Jördens 94584bb8b1 wavesynth: handle short segments 2016-02-22 15:29:27 +01:00
Robert Jördens 269e9c600c pdq2.mediator: use channel numbers from subdevices, track segment duration 2016-02-22 15:29:27 +01:00
Robert Jördens b327c50f14 pdq2: do not emit frame-initial trigger line (segments are triggered) 2016-02-22 15:29:27 +01:00
Robert Jördens d7f5904d16 wavesynth: duration sign 2016-02-22 15:29:27 +01:00
Robert Jördens 1b410abc2c pdq2: move initialization and park/unpark to driver 2016-02-22 15:29:27 +01:00
whitequark bc81be1345 Implement dumb 'with parallel' (#265). 2016-02-22 13:51:08 +00:00
whitequark 51a5910002 Rename 'with parallel' to 'with interleave' (#265). 2016-02-22 13:24:43 +00:00
whitequark b0e7fddc32 lit: unbreak on non-conda. 2016-02-22 13:16:43 +00:00
whitequark 9db2be2b03 compiler: only use colors in diagnostics on POSIX (fixes #272). 2016-02-22 11:27:45 +00:00
Sebastien Bourdeauducq 4946a53456 Revert "targets/kc705: pre-divide input RTIO clock to improve non-50% duty cycle tolerance"
This reverts commit 04b0db1a91.
2016-02-22 17:52:40 +08:00
Sebastien Bourdeauducq 9a6354b959 protocols/pc_rpc: raise asyncio line length limit for client 2016-02-22 13:04:21 +08:00
Sebastien Bourdeauducq 25f6afd08a protocols/asyncio_server: raise asyncio line length limit. Closes #285 2016-02-22 12:06:23 +08:00
Sebastien Bourdeauducq 8da455d5db protocols/sync_struct: raise asyncio line length limit 2016-02-22 02:11:36 +08:00
Sebastien Bourdeauducq e177bbd480 frontend/client: fix screen clear on Windows 2016-02-22 01:25:48 +08:00
Sebastien Bourdeauducq ac6e31d655 frontend/rpctool: fix -t/--target. Closes #283 2016-02-22 00:55:45 +08:00
Robert Jördens d713c62b50 pdq2 frontends: adapt to new program, cleanup 2016-02-21 17:35:10 +01:00
Robert Jördens 7c246b3559 pdq2: redo program serialization, cleanup 2016-02-21 17:34:18 +01:00
Robert Jördens 294eac19fe pdq2.mediator: cleanup/style 2016-02-21 17:33:45 +01:00
Sebastien Bourdeauducq e3e42216a2 applets: workaround 'garbage on sides of embedded windows' bug on Windows 2016-02-21 21:32:21 +08:00
Sebastien Bourdeauducq 95dbafd662 gui: add logo to MDI area 2016-02-21 08:06:52 +08:00
Sebastien Bourdeauducq 804592a3f7 gui/log: fix dock close tracking 2016-02-21 05:33:24 +08:00
Sebastien Bourdeauducq 3b81dd5adc gui: workaround for Qt failing to embed applets in hidden and detached QDockWidgets 2016-02-19 18:13:25 +01:00
Sebastien Bourdeauducq 5f5427f51f protocols/pipe_ipc: work around race condition with loop.start_serving_pipe/close on Windows 2016-02-19 17:39:30 +01:00
Sebastien Bourdeauducq 28c4d8c2a7 applets: attempt at fixing embedding bugs on Windows 2016-02-19 14:48:25 +01:00
Robert Jördens fef72506e4 ctlmgr/gui/master: start subprocesses in new pgroup
This only makes a difference on POSIX. It prevents subprocesses
from receiving the signals that the parent receives. For ctlmgr
and master is cuts down on spam on the console (KeyboardInterrupt
tracebacks from all controllers) and enforces that proper
termination is followed.

This does not help if the parent gets SIGKILL (subprocesses
may linger).
2016-02-18 23:51:12 +01:00
Robert Jördens 6830703ec6 artiq_master: directly log, explicit imports 2016-02-18 15:35:02 +01:00
Robert Jördens 1891725e12 wavesynth: cleanup 2016-02-18 14:13:40 +01:00
Robert Jördens b4ea318e6d coefficients: add comparison unittest 2016-02-18 14:13:40 +01:00