2
0
mirror of https://github.com/m-labs/artiq.git synced 2024-12-20 17:06:30 +08:00
Commit Graph

2146 Commits

Author SHA1 Message Date
de99e7f830 applets: handle dataset mutations 2016-02-08 19:20:07 +01:00
f25b5442e7 applets: properly name docks to support state save/restore 2016-02-08 16:26:02 +01:00
dc955d46c9 Merge branch 'applets' 2016-02-08 14:55:53 +01:00
8844fba4c9 applets: clean shutdown 2016-02-08 14:35:37 +01:00
8be0696b39 protocols/pyon: set support 2016-02-08 14:08:14 +01:00
8a912105cb protocols/pyon: remove FlatFileDB 2016-02-08 14:05:00 +01:00
741b11c26d applets: basic embedding OK 2016-02-08 09:59:15 +01:00
912274c6af test_ctlmgr: fix 2016-02-05 15:08:49 -07:00
70a67a0e38 Merge branch 'applets' into applets_pipeipc 2016-02-05 13:29:20 +01:00
c52081ca0d Merge remote-tracking branch 'm-labs/newtesting' into subprocess-termination
* m-labs/newtesting:
  style
  assume 'import artiq' works before running tests
  test/ctlmgr: use sys.executable, use default localhost binding
2016-02-03 15:00:00 -07:00
ab81dbbd19 Merge remote-tracking branch 'm-labs/master' into subprocess-termination
* m-labs/master:
  remove pxi6733 support (now lives at https://github.com/m-labs/aq_ni6733
  setup.py: remove stale import
  remove stale dependency on pyelftools
2016-02-02 23:34:37 -07:00
c28b938471 Client: add note about timeout sideeffects 2016-02-02 15:42:47 -07:00
f7df393248 hardware_testbench: full shutdown sequence for controllers 2016-02-02 15:32:40 -07:00
53e5d0a7bb worker: flake8 style cleanup 2016-02-02 15:32:40 -07:00
7636952496 ctlmgr: fix import 2016-02-02 15:32:39 -07:00
c105949155 pc_rpc.Client: support socket timeouts
... and fix two flake8 errors.
2016-02-02 15:32:39 -07:00
55006119c8 subprocesses: unify termination logic 2016-02-02 15:32:36 -07:00
89f68f3470 style 2016-02-02 21:57:25 +01:00
9ca8b48bf9 assume 'import artiq' works before running tests 2016-02-02 21:52:33 +01:00
ca8a075f46 test/ctlmgr: use sys.executable, use default localhost binding 2016-02-02 21:08:51 +01:00
b7de92e96c remove pxi6733 support (now lives at https://github.com/m-labs/aq_ni6733 2016-02-02 18:41:57 +01:00
cf465dae0c tools/file_import: make sure sys.path is always restored 2016-01-31 20:33:17 +01:00
0d18942869 hardware_testbench: request controller termination 2016-01-30 20:04:32 -07:00
9fb5ef4d86 Merge branch 'increase-runtime-size'
closes #250

* increase-runtime-size:
  flash: grow runtime limit to 512 kB
  RELEASE_NOTES: update
  flash storage: move to flash + 0x70000
2016-01-30 18:58:32 -07:00
10d78a5d0b flash: grow runtime limit to 512 kB 2016-01-30 14:50:15 -07:00
68891493a3 analyzer: move common to artiq.protocols
migen was still pulled in through rtio.__init__.py
2016-01-29 20:26:48 -07:00
17ac64a65e ctlmgr: fix the fix (107e2fe) 2016-01-29 17:52:12 -07:00
d05d720b19 tests: misc fixes, cleanup 2016-01-29 17:32:59 -07:00
107e2fedf4 ctlmgr: reinstate lost changes 2016-01-29 17:20:07 -07:00
1d92c0874e gui/log: use QFontDatabase for fixed font 2016-01-29 23:21:22 +01:00
e92d52314b flash storage: move to flash + 0x70000
This requires recompiling and flashing the runtime and the entire
storage area file system (ip address and idle kernel).

* with ppp the runtime is larger than 0x40000 now
* 0x60000 for the runtime should give enough space for a while,
  even including a fatter scheduler or runtime components
  in other languages
* for both pipistrello and kc705 this leaves the unused space
  starting at a nice round number
* the relevant flashes nowadays are 0x1000000 large
2016-01-28 18:08:30 -07:00
4a29f0702f test.ctlmgr: drop a redundant lambda 2016-01-28 16:59:59 -07:00
bb1db7d7fd test.ctlmgr: add basic test tooling 2016-01-28 16:54:14 -07:00
ab5e8fd8da hardware_testbench: fix timeout handling 2016-01-28 15:41:38 -07:00
982fbb0670 hardware_testbench: use plain subprocess to start controllers 2016-01-28 15:31:01 -07:00
1b7020dff3 hardware_testbench: run Crontrollers loop in thread, not the test 2016-01-27 18:45:08 -07:00
99f788965e Merge branch 'master' into testbench-controllers
* master:
  gui/experiments: float/bring into focus already open docks when opening experiments
  gui: reduce size of console dock
  protocols/logging,pc_rpc: do not print errors on Windows when clients disconnect
  gui: reduce size of schedule dock
  worker: Windows VMs are slow, increase send_timeout
  protocol/sync_struct: Windows also raises ConnectionAbortedError on disconnection
  gui: reduce size of log dock
  gui: reduce size of experiment dock
  protocols/logging/LogParser: handle Windows CRLF
  pyon: handle \r
  test/pipe_ipc: re-enable
  protocols/asyncio_server: minor cleanup
  protocols/pipe_ipc: Windows support
  Revert "Revert "test/pipe_ipc: temporarily skip test""
  Revert "try debugging weird unittest failure"
  try debugging weird unittest failure
  conda: restrict binutils-or1k-linux dependency to linux.
  transforms.iodelay_estimator: make diagnostics much more clear.
  Fix typo.
2016-01-27 14:26:35 -07:00
f78eecb81b hardware_testbench: run controllers 2016-01-27 14:24:32 -07:00
022a1ffd09 gui/experiments: float/bring into focus already open docks when opening experiments 2016-01-27 21:58:27 +01:00
ebb959cd50 gui: reduce size of console dock 2016-01-27 21:25:42 +01:00
27c12a5bf4 protocols/logging,pc_rpc: do not print errors on Windows when clients disconnect 2016-01-27 21:23:27 +01:00
7aaeb636e4 gui: reduce size of schedule dock 2016-01-27 21:18:47 +01:00
5076c85ed6 worker: Windows VMs are slow, increase send_timeout 2016-01-27 21:15:22 +01:00
a4fb8f3e53 protocol/sync_struct: Windows also raises ConnectionAbortedError on disconnection 2016-01-27 21:12:22 +01:00
cfa4f791e8 gui: reduce size of log dock 2016-01-27 20:51:34 +01:00
dca44ef501 gui: reduce size of experiment dock 2016-01-27 20:46:25 +01:00
170b438b98 protocols/logging/LogParser: handle Windows CRLF 2016-01-27 20:45:04 +01:00
590354dbc8 pyon: handle \r 2016-01-27 20:43:42 +01:00
b753306f12 Merge branch 'worker_pipeipc' 2016-01-27 19:37:06 +01:00
3d9fc7a51f test/pipe_ipc: re-enable 2016-01-27 19:20:04 +01:00
79c0488ff1 protocols/asyncio_server: minor cleanup 2016-01-27 19:19:47 +01:00
dce2aac475 protocols/pipe_ipc: Windows support 2016-01-27 19:18:03 +01:00
83fd160614 Revert "Revert "test/pipe_ipc: temporarily skip test""
This reverts commit 7a9864b260.
2016-01-27 10:26:53 +01:00
whitequark
0acc86b3b3 transforms.iodelay_estimator: make diagnostics much more clear. 2016-01-27 02:10:15 +00:00
whitequark
7f9a180946 Fix typo. 2016-01-26 23:23:35 +00:00
ccac8525d2 lda: test tweaks 2016-01-26 15:24:29 -07:00
cda4a0765d artiq_ctlmgr: refactor into artiq.devices.ctlmgr 2016-01-26 15:24:29 -07:00
be5162d60f worker: restore short exception info in first line of log 2016-01-26 22:07:54 +01:00
3cf67afeb1 generalize multiline logging to remote logs and controllers 2016-01-26 21:59:37 +01:00
1fed38a8dc worker: use MultilineFormatter 2016-01-26 21:30:28 +01:00
ded1e31567 protocols/logging: add MultilineFormatter 2016-01-26 21:30:09 +01:00
19c5e89b4d protocols/logging: support parsing multiline log messages 2016-01-26 21:06:44 +01:00
5aa4de8e89 refactor logging and implement in worker 2016-01-26 20:31:42 +01:00
a583a923d8 worker: use pipe_ipc (no log) 2016-01-26 14:59:36 +01:00
6383253e03 protocols/pipe_ipc: autoclose pipe fds on process exit in AsyncioParentComm 2016-01-26 14:55:52 +01:00
7a9864b260 Revert "test/pipe_ipc: temporarily skip test"
This reverts commit 3a73673e71.
2016-01-26 09:42:59 +01:00
3a73673e71 test/pipe_ipc: temporarily skip test 2016-01-25 19:21:03 -07:00
d1119d7747 artiq_dir: move out of tools to unlink dependencies 2016-01-25 18:15:50 -07:00
cbb60337ae refactor Analyzer constants to unlink dependencies 2016-01-25 18:03:48 -07:00
f4c7f02127 CoreException: store at 'py_exn.artiq_core_exception'
... and fix a few imports
2016-01-25 17:24:00 -07:00
e0f2d94191 coredevice: remove some print()s 2016-01-25 17:24:00 -07:00
2beaf23e6c language...ARTIQException -> coredevice...CoreException
gets rid of a cross import
is only used there
2016-01-25 17:24:00 -07:00
765001054d artiq.experiment: merge language and coredevice namespaces
perl -i -pe 's/^from artiq import \*$/from artiq.experiment import */' your_experiments/*.py

(assuming you skipped the changes form the previous commit)
2016-01-25 17:24:00 -07:00
fbe4d96572 artiq: move namespace artiq.* -> artiq.language.*
perl -i -pe 's/^from artiq import \*$/from artiq.language import */' your_experiments/*.py
2016-01-25 17:24:00 -07:00
dcea6780c6 protocols/pipe_ipc: implement AsyncioChildComm for Unix (affected by python/asyncio#314) 2016-01-26 00:48:12 +01:00
8befc6a8fc protocols: add pipe_ipc (incomplete) 2016-01-25 22:49:32 +01:00
0079aa4037 runtime/main: style, wording, 1s ppp holdoff 2016-01-25 13:38:58 -07:00
2832d200f2 Merge remote-tracking branch 'm-labs/master' into ppp2
* m-labs/master:
  test/worker: update
  gui/log: display level and date information in tooltips
  master: add filename in worker log entries. Closes #226
  master: finer control of worker exception reporting. Closes #233
  conda: add artiq-kc705-nist_clock
  gateware: add QC1 docstring
  gateware: add clock target from David
  gateware: clean up and integrate QC2 modifications from Daniel
  add information about CLOCK hardware
2016-01-25 12:17:04 -07:00
a4dffaac26 test/worker: update 2016-01-24 15:32:37 +01:00
56cbf261b0 gui/log: display level and date information in tooltips 2016-01-23 22:17:08 -05:00
ae19f1c75d master: add filename in worker log entries. Closes #226 2016-01-23 21:43:24 -05:00
cc6b808bf8 master: finer control of worker exception reporting. Closes #233 2016-01-23 21:23:02 -05:00
8cbb60b370 Merge branch 'master' into ppp2
* master:
  add release notes/process
  targets/kc705: fix e664fe3
  targets/kc705: fix DDS_RTIO_CLK_RATIO for AD9914. Closes #238
  transforms.inferencer: give a suggestion on "raise Exception".
  pdq2/mediator: raise instances, not classes
  pdq2: wire up more of the pipeline
  doc: use actual version
  Fix formatting.
  doc: add artiq_flash
  versioneer: remote tag_prefix = v
2016-01-20 19:29:00 -07:00
18f0ee814d gateware: add QC1 docstring 2016-01-20 21:27:22 -05:00
db8ba8d6c1 gateware: add clock target from David 2016-01-20 21:23:49 -05:00
b3ba97e431 gateware: clean up and integrate QC2 modifications from Daniel 2016-01-20 21:17:19 -05:00
fa1afb7dd8 add information about CLOCK hardware 2016-01-20 21:06:02 -05:00
cb5fd08713 targets/kc705: fix e664fe3 2016-01-20 09:38:44 -05:00
e664fe38b0 targets/kc705: fix DDS_RTIO_CLK_RATIO for AD9914. Closes #238 2016-01-20 09:18:50 -05:00
whitequark
3573a8750a transforms.inferencer: give a suggestion on "raise Exception". 2016-01-20 03:20:25 +00:00
641ef57458 pdq2/mediator: raise instances, not classes 2016-01-19 20:16:27 -07:00
f0860beffd pdq2: wire up more of the pipeline 2016-01-19 20:09:10 -07:00
whitequark
1d7858c7bc Fix formatting. 2016-01-19 18:52:43 +00:00
cf17be92e3 doc: add artiq_flash 2016-01-18 21:41:42 -07:00
8674875007 versioneer: remote tag_prefix = v
does not seem to be stripped correctly
2016-01-18 21:28:09 -07:00
2bc2cd0064 ppp: remove unneeded objects 2016-01-18 21:26:36 -07:00
7e3610c545 Merge branch 'pipistrello-analyzer' into ppp
* pipistrello-analyzer:
  pipistrello: add rtio.Analyzer()
2016-01-18 21:05:02 -07:00
1adeeabbed ppp: wait for connection 2016-01-18 21:04:51 -07:00
dc709a77b8 PPP support (TCP broken) 2016-01-18 20:09:10 -07:00
57ce78c54d pipistrello: add rtio.Analyzer() 2016-01-18 19:17:44 -07:00
063e88d75a artiq/_version.py: update 2016-01-18 19:12:42 -07:00
whitequark
e2910fba99 runtime: define NDEBUG to disable debug mode of __artiq_personality.
There shouldn't be any bugs left and all the printing it does slows
exception handling considerably.
2016-01-19 01:52:57 +00:00
whitequark
5c6b1517d0 Rigorously treat builtin core device exceptions. 2016-01-19 01:45:25 +00:00
53b06a0b9b RTIOUnderflow: show slack 2016-01-18 17:28:37 -07:00
16a1ab4418 test/harness: exec in globals 2016-01-18 16:55:10 -07:00
a1201252e2 artiq/test/{not,harness}.py: usual CLI handling 2016-01-18 16:00:46 -07:00
d7e4783cae lit-test: move to artiq/test 2016-01-18 15:28:24 -07:00
whitequark
5f0e2bf9f9 analyses.domination: all blocks dominate themselves. 2016-01-18 21:33:14 +00:00
c0bcff4035 test/*/: add missing __init__.py 2016-01-18 14:22:40 -07:00
f9a6ba1884 gui/applets: add shortcuts 2016-01-16 13:12:16 -07:00
ed6a53db00 gui/log: add scroll to bottom button 2016-01-16 13:06:45 -07:00
16f6d00e35 gui: fix shortcut contexts. Closes #225 2016-01-16 12:53:53 -07:00
f9323c3286 master/worker_db/get_last_rid: ignore improperly named files 2016-01-16 10:56:01 -07:00
a808d26fc2 style 2016-01-16 10:48:09 -07:00
whitequark
785b2736a0 Document core device cache (#219). 2016-01-16 16:38:55 +00:00
whitequark
cc22837627 transforms.inferencer: infer a monomorphic type for slice ":" 2016-01-16 03:09:03 +00:00
whitequark
be560dbc63 Commit missing parts of 13e65c2a. 2016-01-16 03:00:17 +00:00
whitequark
13e65c2a0a scheduler: make sure worker exceptions are not unexpectedly hidden. 2016-01-16 02:20:32 +00:00
whitequark
6bf48e60ba worker: make parent errors readable in log. 2016-01-16 02:06:40 +00:00
whitequark
67d2e7a828 worker: display compile warnings and errors nicely (#227). 2016-01-16 01:28:26 +00:00
whitequark
95470a59e5 gui.log: work around a Qt layout bug. 2016-01-16 01:26:05 +00:00
whitequark
85222783ee transforms.llvm_ir_generator: fix memoize(). 2016-01-16 00:38:57 +00:00
whitequark
e6185e16d8 Commit missing parts of 127b117. 2016-01-16 00:06:18 +00:00
whitequark
bed62349d2 transforms.llvm_ir_generator: i64 doesn't need sret (fixes #228). 2016-01-15 23:58:11 +00:00
331ac37505 applets/plot_hist: better help message 2016-01-15 12:50:09 -07:00
9acf8b7c1a gui/applets: templates 2016-01-15 10:15:06 -07:00
whitequark
e0d5b77e27 Commit missing parts of 127b117. 2016-01-15 17:11:26 +00:00
cc3a45d4e4 gui/applets: fix applet removal 2016-01-15 10:11:13 -07:00
whitequark
127b117113 Add @host_only function decorator (#172). 2016-01-15 16:42:08 +00:00
15039e1d74 runtime/dds: DDS_ONEHOT_SEL -> CONFIG_DDS_ONEHOT_SEL 2016-01-15 09:32:17 -07:00
5bf257818d protocols/pc_rpc: use timeout only for connecting. Closes #161 2016-01-14 17:50:36 -07:00
a9cf89215b coredevice/dds: use explicit 64-bit ints for ftw computations 2016-01-14 15:25:01 -07:00
whitequark
1b9713115c runtime: link libm and libbase-nofloat where appropriate. 2016-01-14 21:02:23 +00:00
whitequark
00b688cab0 gui: wrap very long words too (fixes #187). 2016-01-14 18:57:32 +00:00
3d56ea5c71 applets/plot_xy_hist: use normal Qt widget as top-level to workaround pyqtgraph.GraphicsWindow misbehaviour with embedding 2016-01-13 07:22:19 -07:00
8ad151b4d8 applets/plot_xy_hist: do not crash when datasets are missing 2016-01-13 07:05:30 -07:00
7661b37c19 applets/simple: filter mods 2016-01-13 07:04:55 -07:00
81a86b2b04 applets/plot_xy_hist: do not clear arrow/histogram when unrelated data is modified 2016-01-13 06:53:23 -07:00
e37e0bdc1c applets/plot_xy_hist: use applets.simple and datasets 2016-01-13 05:52:33 -07:00
whitequark
63f7899f93 Commit missing parts of 7f914a0. 2016-01-10 20:25:58 +00:00
whitequark
225f7d7302 Commit missing parts of 9366a29. 2016-01-10 20:01:26 +00:00
whitequark
1be9e7576d transforms.llvm_ir_generator: use byval for FFI calls where appropriate. 2016-01-10 18:31:35 +00:00
whitequark
d1319b83e5 runtime: properly format addresses in InternalError message. 2016-01-10 18:07:08 +00:00
whitequark
b669e83554 Inject parameters into coredevice exception message when mapping. 2016-01-10 18:06:28 +00:00
whitequark
ee1ef551bc Fix symbolizer invocation with no addresses. 2016-01-10 18:04:10 +00:00
whitequark
d436093317 transforms.llvm_ir_generator: use sret attribute on FFI calls too. 2016-01-10 17:42:40 +00:00
whitequark
7f914a057c transforms.llvm_ir_generator: use sret attribute. 2016-01-10 17:31:59 +00:00
whitequark
edb7423a4f transforms.llvm_ir_generator: use getelementptr inbounds. 2016-01-10 16:36:04 +00:00
whitequark
a2a00e8b35 Set LLVM inlining threshold explicitly.
llvmlite's pass manager builder does not use a default when it
is not specified explicitly, unlike the C++ one.
2016-01-10 16:15:23 +00:00
whitequark
f92ce291ef transforms.llvm_ir_generator: call devirtualized functions directly. 2016-01-10 15:54:46 +00:00
whitequark
bbd0ca7827 Commit missing parts of 9366a29. 2016-01-10 15:45:56 +00:00
whitequark
c46fccdf4b transforms.llvm_ir_generator: annotate invariant loads as such. 2016-01-10 15:45:34 +00:00
whitequark
b298170973 transforms.artiq_ir_generator: annotate embedded functions as internal. 2016-01-10 15:45:20 +00:00
whitequark
4198601abb coredevice.exceptions: add CacheError. 2016-01-10 14:43:30 +00:00
whitequark
211af77e77 validators.escape: cache_get result lives forever. 2016-01-10 14:43:21 +00:00
whitequark
f8e50f2b0c Remove redundant ksupport API. 2016-01-10 14:27:46 +00:00
38cdeb0a32 applets/simple: support mod buffering 2016-01-10 22:12:00 +08:00
e2c7578e48 gui: reorganize experiment/entry code 2016-01-10 21:48:47 +08:00
whitequark
cc45694f5a Commit missing parts of 9366a29. 2016-01-10 13:08:26 +00:00
whitequark
9366a29483 Implement core device storage (fixes #219). 2016-01-10 13:04:55 +00:00
6a972eb591 gui: remove pyqt4 support code 2016-01-10 18:38:24 +08:00
e6e6b27ba9 gui: remove displays (use applets instead) 2016-01-10 18:32:46 +08:00
26a6e8c5de gui/applets: add histogram plot 2016-01-10 18:23:46 +08:00
db06e73372 gui/applets: add XY plot 2016-01-10 18:19:34 +08:00
4136ff68cf gui/applets/simple: support for optional datasets 2016-01-10 18:18:47 +08:00
2199eadb99 gui/applets: save/restore state 2016-01-09 19:32:50 +08:00
1ea73be56d gui/applets: all basic functionality, no state save/restore 2016-01-08 20:07:02 +08:00
597c2e4b17 gui/applets: startup and embedding working 2016-01-08 13:04:36 +08:00
whitequark
f2f1deb9db transforms.llvm_ir_generator: quote recrusive objects correctly (fixes #213). 2016-01-07 19:52:31 +00:00
whitequark
027d54ca94 Enlarge coredevice buffers to 2.5MiB (fixes #215).
This should be enough for sending a 2MiB int32 list.
2016-01-07 18:29:35 +00:00
whitequark
dcc4763914 Remove kernel-related constants from runtime.ld.
It's not used anywhere and it's one more place to adjust, which
will someday lead to obscure copy-paste bugs.
2016-01-07 18:27:38 +00:00
whitequark
577108554f Move kernel CPU address space up to 0x40800000. 2016-01-07 18:26:11 +00:00
e106ee3f90 gui: basic applet dock editing 2016-01-07 20:23:17 +08:00
adbb217d55 applets/simple: send embed RPC 2016-01-07 20:22:44 +08:00
8778aef6a1 gui/schedule: hide vertical header 2016-01-07 16:56:48 +08:00
87dd09a71c gateware: compress bitstreams 2016-01-06 15:40:28 -07:00
358ad2e927 artiq_flash: drop redundant instruction, tweak doc 2016-01-06 11:24:05 -07:00
whitequark
e8bba0a7d6 Commit missing parts of 6a6d7d. 2016-01-05 04:21:46 +00:00
whitequark
6a6d7dab19 transforms.artiq_ir_generator: add support for user-defined context managers. 2016-01-05 04:10:40 +00:00
9aff99568d artiq_flash: use openocd, python 2016-01-05 10:20:41 +08:00
b10da212ab bit2bin: add small bitstream conversion tool 2016-01-05 10:20:24 +08:00
whitequark
2955f9a1e0 Commit missing parts of 5baf18b. 2016-01-05 00:16:58 +08:00
whitequark
dfbf55fed2 transforms/inferencer: add support for user-defined context manager. 2016-01-05 00:11:03 +08:00
whitequark
5baf18ba0d transforms.inferencer: factor out _unify_attribute. 2016-01-04 22:13:05 +08:00
whitequark
03dd1c3a43 Refactor the logic of printing diagnostics to solely rely on Engine. 2016-01-04 22:11:54 +08:00
whitequark
05fa80818a transforms.inferencer: make sure parallel/sequential is lone manager. 2016-01-04 21:26:03 +08:00
whitequark
3aa5acbaf3 transforms.llvm_ir_generator: don't crash if embedding is not enabled. 2016-01-03 19:07:11 +08:00
whitequark
81427af506 Remove selective attribute writeback; always synchronize all attributes.
The reasons are:
  1. Shadow memory manipulation added ~12 instructions to TTLOut.pulse
     (without inlining), and it's already barely fast enough.
  2. More importantly, code such as self.ts[1] did not trigger
     attribute writeback, and there seems to be no easy way to fix
     that.
2016-01-03 04:57:58 +08:00
e41b9db787 gui: minor cleanup 2016-01-03 00:47:43 +08:00
6007b64898 applets: add big_number 2016-01-03 00:46:33 +08:00
5ad6c5cbe0 applets: add simple applet library 2016-01-03 00:46:15 +08:00
whitequark
38a99fde52 Implement selective attribute writeback using shadow memory. 2016-01-02 22:51:04 +08:00
whitequark
2e33084a5f transforms.llvm_ir_generator: implement instrumentation for attribute writeback. 2016-01-02 06:51:30 +08:00
whitequark
5f68cc6a21 transforms.artiq_ir_generator: handle raise in except: with finally:. 2016-01-02 06:51:29 +08:00
whitequark
693a364d85 transforms.artiq_ir_generator: fix typo. 2015-12-31 22:39:33 +08:00
whitequark
ff0ab736e9 Commit missing parts of 8aa34ee9. 2015-12-31 22:36:25 +08:00
whitequark
79d020dd3a transforms.artiq_ir_generator: handle terminated try body. 2015-12-31 22:36:25 +08:00
whitequark
71d8cbb431 runtime/artiq_personality: add missing cast. 2015-12-31 22:10:30 +08:00
whitequark
cb90bf6ef3 test/coredevice/portability: keep trace list entirely on host. 2015-12-31 22:08:15 +08:00
whitequark
a2618f0b5b runtime/artiq_personality.c: add missing cast. 2015-12-31 22:06:01 +08:00
whitequark
abc5a49aaf test: use raise X() syntax rather than raise X. 2015-12-31 22:02:57 +08:00
whitequark
8aa34ee952 compiler: don't require exceptions to inherit ARTIQException. 2015-12-31 21:54:54 +08:00
whitequark
f9e90d90fa runtime/artiq_personality.c: don't dereference nonexistent typeInfoPtr. 2015-12-31 21:16:18 +08:00
whitequark
51e966edf2 Commit missing parts of 0b69e488. 2015-12-31 21:09:24 +08:00
whitequark
0b69e488e6 transforms.llvm_ir_generator: compare exn typeinfo using strcmp.
This is necessary to correctly catch exceptions from RPCs.
2015-12-31 19:53:28 +08:00
whitequark
9ed6b54249 transforms.cfg_simplifier: remove.
Specifically, the following idiom broke our CFGSimplifier:

b1:
  branch_if %cond, %b2, %b3
b2:
  branch %b3
b3:
  %v = phi [ %b2 => 0, %b3 => 1 ]

This is very annoying to properly handle in general case, and also
this (specifically %b2) is exactly what broke LocalAccessValidator
in the first place. So, remove CFGSimplifier altogether.

Instead, teach LocalAccessValidator how to look through predecessors
in order to get a location.
2015-12-31 17:07:36 +08:00
17802d3cff test/coredevice/primes: keep output list entirely on the host 2015-12-31 09:49:37 +08:00
whitequark
787a1d34fe transforms.llvm_ir_generator: don't crash when quoting over than one list. 2015-12-30 16:22:26 +08:00
whitequark
25e2824709 validators.escape: infer correct region for arguments. 2015-12-30 16:19:35 +08:00
whitequark
72b6cca9c3 transforms.cfg_simplifier: correctly update phis. 2015-12-30 16:07:14 +08:00
whitequark
2a474b7166 ir: fix incoming_{blocks,values,value_for_block}. 2015-12-30 16:06:18 +08:00
whitequark
ac3a170c8f transforms.llvm_ir_generator: don't crash when quoting empty lists. 2015-12-30 15:47:57 +08:00
whitequark
5dcf936f4e transforms.inferencer: don't crash on partially-inferred binary expressions. 2015-12-30 15:46:54 +08:00
whitequark
6938036b28 embedding: unify all derived attribute types. 2015-12-30 15:38:49 +08:00
whitequark
f52d364806 Mollify PEP 0479. 2015-12-30 15:33:30 +08:00
whitequark
78fb3e1b7b compiler: validate local accesses after interleaving. 2015-12-30 15:26:30 +08:00
whitequark
df91500f68 Fix ff3206be. 2015-12-30 15:16:05 +08:00
whitequark
ff3206be07 compiler.embedding: treat RPC methods like any others (fixes #211). 2015-12-30 14:21:09 +08:00
whitequark
14484216ec transforms.cfg_simplifier: handle phi and branch_if properly. 2015-12-30 12:10:28 +08:00
04b0db1a91 targets/kc705: pre-divide input RTIO clock to improve non-50% duty cycle tolerance 2015-12-29 17:00:57 +08:00
aa29defd02 test/coredevice/test_pulses: fix first_timestamp 2015-12-29 12:43:53 +08:00
whitequark
9d7d614139 test.coredevice.rtio.CoredeviceTest.test_time_keeps_running: relax timing.
Testing ARTIQ over an SSH channel to Hong Kong is slow.
2015-12-29 02:57:33 +08:00
whitequark
8fb6d4cdb4 coredevice.comm_generic: handle RPC default args correctly. 2015-12-29 02:54:34 +08:00
whitequark
0dd71946b9 test.coredevice.portability.HostVsDeviceCase.test_exceptions: update.
TypeError would never be raised with the new compiler.
It crashes in a different way now.
2015-12-29 02:18:38 +08:00
whitequark
db05ec0277 test.coredevice.portability.HostVsDeviceCase.test_misc: update.
It crashes in a different way now.
2015-12-29 02:15:57 +08:00
whitequark
8822db089f transforms.cfg_simplifier: implement.
This allows error reporting in LocalAccessValidator to proceed
even when the predecessor is an empty block with only a branch.
2015-12-29 02:15:57 +08:00
whitequark
57ebd57ddb transforms.dead_code_eliminator: update doc. 2015-12-29 02:15:57 +08:00
70dfad08e3 applets: add XY/histogram plot demo 2015-12-28 16:48:31 +08:00
c9da5f4ecb frontend: bind v4 and v6 localhost addresses by default, support multiple bind 2015-12-27 18:03:13 +08:00
bea1182aca sim/devices/core: adapt to _ARTIQEmbeddedInfo 2015-12-27 11:56:01 +08:00
b5253e1353 coredevice/analyzer: decode log messages 2015-12-27 01:28:34 +08:00
048dcbee92 runtime/rtio: reverse char ordering in log messages 2015-12-27 01:07:18 +08:00
50a463a6fd runtime: support for RTIO logging 2015-12-26 22:44:50 +08:00
ba6c527819 gateware/targets: add RTIO log channels 2015-12-26 22:44:01 +08:00
080752092c gateware/rtio: add LogChannel 2015-12-26 22:43:28 +08:00
9ba8dfbf23 gateware/rtio/core: avoid potential python bug 2015-12-26 22:11:57 +08:00
24fa74a8ab coredevice/analyzer: support TTL clockgen 2015-12-26 21:51:37 +08:00
1c36ae0672 coredevice/analyzer: support TTL inputs 2015-12-26 21:24:53 +08:00
7eb4067477 test/coredevice/analyzer: test TTL input mode 2015-12-26 21:10:19 +08:00
whitequark
82ec76af3e compiler.types: fix TFunction internal field order (closes #208). 2015-12-26 18:08:51 +08:00
a871194ee4 coredevice/analyzer: prefix channel names with their types 2015-12-26 17:47:53 +08:00
2b70fa14a6 coredevice/analyzer: update rtio_slack on output messages only 2015-12-26 17:47:08 +08:00
whitequark
b931096ec3 transforms.artiq_ir_generator: fix While codegen (closes #207). 2015-12-26 17:24:05 +08:00
whitequark
502e570e86 compiler: embed host exception constructors as such (fixes #204). 2015-12-26 03:17:29 +08:00
whitequark
8051fe9592 Commit missing parts of 082e9e20dd. 2015-12-26 03:16:50 +08:00
whitequark
082e9e20dd compiler: do not associate SSA values with iodelay even when inlining.
Fixes #201.
2015-12-25 15:02:33 +08:00
whitequark
33c3b3377e ir: keep loc when copying. 2015-12-25 14:59:28 +08:00
whitequark
690b2fd034 transforms.artiq_ir_generator: fix optarg codegen (closes #205). 2015-12-25 12:40:45 +08:00
cd8eccfd46 coredevice/analyzer: add rtio_slack channel 2015-12-25 00:40:47 +08:00
7475b3813e test/coredevice: PEP8 2015-12-24 19:26:42 +08:00
bf1a3a5b8f test/coredevice: add analyzer unittest 2015-12-24 19:25:29 +08:00
5f3b69dd19 frontend/coreconfig: simplify action names 2015-12-24 18:54:23 +08:00
179c50480f frontend: split coretool into coreconfig, corelog and coreanalyzer 2015-12-24 18:51:11 +08:00
e41e2c088d analyzer: encapsulate decoded dump, get onehot sel from header 2015-12-24 00:31:21 +08:00
4be5df9802 coredevice/analyzer: DDS decoding 2015-12-23 18:57:53 +08:00
58d0e2c0b8 coredevice/analyzer: log TTL decoding in debug mode 2015-12-23 18:56:23 +08:00
e4d73c0302 artiq/coredevice/dds: fix dds_set signature 2015-12-23 17:25:31 +08:00
b4b0dcc5d1 test/coredevice/rtio: remove obsolete functions 2015-12-22 12:11:13 +08:00
f6522922f8 coredevice/exceptions: PEP8 2015-12-22 12:03:11 +08:00
23355d8eff coredevice: restore RTIOCollisionError 2015-12-22 11:59:18 +08:00
fc299ca918 language/environment: disable processors by default 2015-12-22 11:45:34 +08:00
whitequark
a250b5da21 language.core: implement round(value, width) (fixes #203). 2015-12-22 11:26:49 +08:00
whitequark
25188f0ca9 transforms.interleaver: correctly handle degenerate with parallel: blocks. 2015-12-21 21:32:48 +08:00
whitequark
ac5c86bfdc artiq_compile: add missing import. 2015-12-21 21:15:18 +08:00
whitequark
f957be4e6f transforms.llvm_ir_generator: handle loop instruction (fixes #202). 2015-12-21 21:12:17 +08:00
007a7170e1 analyzer: report DDS channel number 2015-12-21 18:37:53 +08:00
8691f69a3c gateware/rtio/analyzer: suppress spurious initial reset messages 2015-12-21 18:32:08 +08:00
e87436fc03 coredevice/analyzer: remove zero-timestamp msg filtering (now unnecessary) 2015-12-21 11:15:58 +08:00
183e855229 remove workaround_asyncio263 2015-12-20 23:26:48 +08:00
2ae63570dd frontend/coretool: verbosity control 2015-12-20 23:17:31 +08:00
5769107936 gateware/rtio: keep counter clock domain transfer active during CSR reset 2015-12-20 22:12:34 +08:00
b96e0d241e coredevice/analyzer: set VCD timescale 2015-12-20 22:06:07 +08:00
4b5c10b641 coredevice/core: remove default period 2015-12-20 22:05:52 +08:00
cdcb57effe coredevice/analyzer: basic VCD writing 2015-12-20 19:32:52 +08:00
whitequark
e4615e7b37 transforms.int_monomorphizer: visit children of CallT. 2015-12-20 18:07:31 +08:00
46f59b673f coredevice: analyzer message decoding 2015-12-20 14:34:16 +08:00
whitequark
d5216879d4 runtime: implement round() (fixes #198).
From https://github.com/bpowers/musl/blob/master/src/math/round.c.
2015-12-20 04:06:11 +08:00
whitequark
54aeb5030d transforms.int_monomorphizer: also monomorphize round() calls (#198). 2015-12-20 02:36:30 +08:00
whitequark
95af6daa28 transforms.inferencer: accept round(width=n) form (#198). 2015-12-20 01:02:57 +08:00
1638f0fa9b gateware/rtio/analyzer: fix event ordering 2015-12-19 17:04:30 +08:00
whitequark
afee03b89c Commit missing parts of 4fb1de33. 2015-12-19 06:41:32 +08:00
whitequark
4fcd6abc5e Commit missing parts of 0395efd4. 2015-12-19 06:33:29 +08:00
whitequark
4fb1de33c9 Initial invocation of a @kernel function can now return a value (fixes #197). 2015-12-19 05:26:18 +08:00
whitequark
e9afe5a93b runtime: include __powidf2. 2015-12-19 00:14:51 +08:00
whitequark
0395efd479 compiler: give environment types in LLVM IR readable names. 2015-12-18 23:41:51 +08:00
whitequark
baa986aa32 compiler.prelude: add @portable as an alias for @kernel. 2015-12-18 23:00:29 +08:00
whitequark
7b3ace2e30 transforms.inferencer: fix unsupported decorator diagnostic when embedding.
decorator.loc points to the quoted object with a synthesized location,
and it's not really worth refactoring when we can just point at the @.
2015-12-18 22:58:17 +08:00
whitequark
0755aa38ff transforms.iodelay_estimator: allow goto in zero-iodelay while statements. 2015-12-18 21:14:40 +08:00
whitequark
2759310662 transforms.iodelay_estimator: reject control flow in 'with parallel:' (fixes #195). 2015-12-18 21:02:53 +08:00
64ad38854b gateware/rtio/analyzer: fix exception message layout 2015-12-18 18:27:06 +08:00
10d4bfba38 frontend/coretool: basic analyzer dump 2015-12-18 18:23:16 +08:00
0832c71a66 coredevice/comm_tcp: support retrieving analyzer data 2015-12-18 18:22:50 +08:00
whitequark
52102a1a79 Fix handling of default values for RPC arguments (fixes #190). 2015-12-18 18:03:07 +08:00
whitequark
f4b19fee5c compiler.types: make TValue hashable. 2015-12-18 17:31:20 +08:00
whitequark
3fbee2707b analyses.domination: consider unreachable blocks dominated by any other.
As a result, the dominator tree can now process arbitrary (reducible)
CFGs and we do not run DCE before analyses, risking loss of
correspondence to the AST, which would arbitrarily silence analyses.
2015-12-18 16:39:52 +08:00
59a3ea4f15 gateware/rtio/analyzer: fix bus write 2015-12-18 15:44:20 +08:00
f431add20e runtime/analyzer: fix zero data corner case, handle cache 2015-12-18 15:17:22 +08:00
b3abc9baf9 runtime/net_server: fix PCB filter 2015-12-18 01:14:57 +08:00
80172f9548 frontend/coretool: minor cleanup 2015-12-18 00:18:39 +08:00
73794b5c25 runtime: send analyzer data 2015-12-18 00:13:22 +08:00
6ae41e6024 runtime/net_server: refactor to support multiple services 2015-12-17 16:55:39 +08:00
whitequark
8cb7844621 transforms.interleaver: unroll loops. 2015-12-17 00:52:22 +08:00
whitequark
5dd1fc993e transforms.dead_code_eliminator: also remove dead instructions. 2015-12-17 00:52:22 +08:00
5e38cad64c test/coredevice: partial update to new APIs 2015-12-16 19:45:57 +08:00
whitequark
2570932264 transforms.interleaver: don't fail on delay-free loops/conditionals. 2015-12-16 19:26:17 +08:00
whitequark
69cdeaf706 transforms.interleaver: don't fail on degenerate parallel blocks. 2015-12-16 19:26:17 +08:00
4def561710 targets: integrate RTIO analyzer 2015-12-16 17:36:52 +08:00
afaad270cc rtio/analyzer: fix superficial mistakes 2015-12-16 17:36:36 +08:00
whitequark
f8eaeaa43f compiler: explicitly represent loops in IR. 2015-12-16 15:33:26 +08:00
33860820b9 gateware/soc: use new SDRAM API call 2015-12-16 14:59:35 +08:00
whitequark
35acc33ef6 validators.escape: don't fail on quoted values in lhs. 2015-12-16 13:57:02 +08:00
whitequark
8751d2ee6c Delay.{expr→interval}. 2015-12-16 13:57:02 +08:00
bf29e8ddc6 kc705: make config[] usage consistent 2015-12-15 12:14:30 -07:00
4362f97d67 gateware/rtio/analyzer: complete, untested 2015-12-14 23:53:14 +08:00
whitequark
e755e1ba9e validators.escape: support arrays in multiple assignment. 2015-12-14 16:31:03 +08:00
whitequark
1860364778 protocols.pyon: support artiq.int (fixes #188). 2015-12-14 16:26:02 +08:00
b5f2e178f6 rtio/analyzer: message encoder 2015-12-14 00:37:08 +08:00
eac2e2ad0b gui/experiments: fix Qt compatibility issue with QHeaderView.setResizeMode 2015-12-13 19:32:17 +08:00
eeb53c5aa5 coredevice/comm: compare software and gateware versions. Closes #97 2015-12-11 22:56:40 +08:00
0eb8079b45 gui: fix some dock sizing issues 2015-12-11 00:20:20 +08:00
whitequark
25027f6907 compiler: fix tests. 2015-12-10 23:16:36 +08:00
whitequark
2d906daf7f compiler: implement 'with watchdog' support. 2015-12-10 23:11:00 +08:00
whitequark
64f19b84f2 compiler.testbench.llvmgen: fix. 2015-12-10 23:08:05 +08:00
whitequark
4888e897b9 compiler: refactor to use builtins.TInt{32,64}. (NFC) 2015-12-10 23:06:23 +08:00
whitequark
143bae4bd3 compiler.builtins: {fn→obj}_{serial,parallel}. 2015-12-10 23:03:28 +08:00
whitequark
c660028abf transforms.llvm_ir_generator: fix reraise inside EH block. 2015-12-10 23:02:32 +08:00
whitequark
3ec9b677b2 Revert "transforms.artiq_ir_generator: treat builtins in 'with' syntactically."
This reverts commit ccc993071b.
2015-12-10 22:25:15 +08:00
whitequark
ccc993071b transforms.artiq_ir_generator: treat builtins in 'with' syntactically. 2015-12-10 21:29:16 +08:00
whitequark
22dab0c7cc compiler: clarify confusing comment (NFC). 2015-12-10 20:50:28 +08:00
93317d48c9 gui/explorer: file selector for experiments outside repos 2015-12-09 19:13:57 +08:00
7b2580583a master: allow remote listing of directories 2015-12-08 19:24:04 +08:00
ed08352f67 gui: improve error handling 2015-12-08 18:58:20 +08:00
0da89557da gui: basic support for opening files outside repository 2015-12-08 17:52:38 +08:00
238ee9adb4 gui/experiments: support recomputing all arguments of an experiment 2015-12-07 00:55:32 +08:00
5e14afde3e scheduler: use current (last scanned) repo revision instead of HEAD 2015-12-06 19:00:41 +08:00
f99c53d179 client: block until end of repository scan 2015-12-06 18:41:20 +08:00
ea6dcb2743 master: repository -> experiment_db 2015-12-06 18:39:27 +08:00
8467013160 master,gui: support recomputation+reset of arguments 2015-12-06 17:27:15 +08:00
1cba685326 gui/experiments: fix StringEntry update 2015-12-06 17:21:53 +08:00
3edf52232c protocols/pc_rpc: support coroutine methods 2015-12-06 12:52:41 +08:00
e8bd24d539 gui/experiments: add argument recompute buttons. Closes #171 2015-12-05 17:51:12 +08:00
2871b5e078 gui: typos 2015-12-05 14:47:20 +08:00
7886827b80 CSRConstant: also port DDS constants 2015-12-04 18:27:59 +08:00
5db1f9794e top.add_constant() -> top.config[] (CSRConstant)
This is to be synchronized with the corresponding change in misoc.
2015-12-04 18:27:54 +08:00
3bc119f3f0 gui/shortcuts: default state is no shortcuts, hide clear/open/submit widgets 2015-12-03 16:30:37 +08:00
whitequark
8cb2215edb transforms.inferencer: only instantiate RPC function types, not regular. 2015-12-02 21:48:14 +08:00
b6260615a6 gui/log: better-looking new dock feature 2015-12-01 22:51:15 +08:00
08abc2e00a gui/shortcuts: make global shortcuts really global 2015-12-01 18:49:23 +08:00
de54f57fbe gui/experiments: fix vertical resizing of experiment dock 2015-12-01 18:33:43 +08:00
9baf54d25e gui/experiments: fix text entry update problem with shortcuts 2015-12-01 18:31:56 +08:00