forked from M-Labs/artiq
1
0
Fork 0
Commit Graph

1731 Commits

Author SHA1 Message Date
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
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
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
Sebastien Bourdeauducq 8778aef6a1 gui/schedule: hide vertical header 2016-01-07 16:56:48 +08:00
Robert Jördens 87dd09a71c gateware: compress bitstreams 2016-01-06 15:40:28 -07:00
Robert Jördens 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
Robert Jördens 9aff99568d artiq_flash: use openocd, python 2016-01-05 10:20:41 +08:00
Robert Jördens 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
Sebastien Bourdeauducq e41b9db787 gui: minor cleanup 2016-01-03 00:47:43 +08:00
Sebastien Bourdeauducq 6007b64898 applets: add big_number 2016-01-03 00:46:33 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 04b0db1a91 targets/kc705: pre-divide input RTIO clock to improve non-50% duty cycle tolerance 2015-12-29 17:00:57 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 70dfad08e3 applets: add XY/histogram plot demo 2015-12-28 16:48:31 +08:00
Sebastien Bourdeauducq c9da5f4ecb frontend: bind v4 and v6 localhost addresses by default, support multiple bind 2015-12-27 18:03:13 +08:00
Sebastien Bourdeauducq bea1182aca sim/devices/core: adapt to _ARTIQEmbeddedInfo 2015-12-27 11:56:01 +08:00
Sebastien Bourdeauducq b5253e1353 coredevice/analyzer: decode log messages 2015-12-27 01:28:34 +08:00
Sebastien Bourdeauducq 048dcbee92 runtime/rtio: reverse char ordering in log messages 2015-12-27 01:07:18 +08:00
Sebastien Bourdeauducq 50a463a6fd runtime: support for RTIO logging 2015-12-26 22:44:50 +08:00
Sebastien Bourdeauducq ba6c527819 gateware/targets: add RTIO log channels 2015-12-26 22:44:01 +08:00
Sebastien Bourdeauducq 080752092c gateware/rtio: add LogChannel 2015-12-26 22:43:28 +08:00
Sebastien Bourdeauducq 9ba8dfbf23 gateware/rtio/core: avoid potential python bug 2015-12-26 22:11:57 +08:00
Sebastien Bourdeauducq 24fa74a8ab coredevice/analyzer: support TTL clockgen 2015-12-26 21:51:37 +08:00
Sebastien Bourdeauducq 1c36ae0672 coredevice/analyzer: support TTL inputs 2015-12-26 21:24:53 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq a871194ee4 coredevice/analyzer: prefix channel names with their types 2015-12-26 17:47:53 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq cd8eccfd46 coredevice/analyzer: add rtio_slack channel 2015-12-25 00:40:47 +08:00
Sebastien Bourdeauducq 7475b3813e test/coredevice: PEP8 2015-12-24 19:26:42 +08:00
Sebastien Bourdeauducq bf1a3a5b8f test/coredevice: add analyzer unittest 2015-12-24 19:25:29 +08:00
Sebastien Bourdeauducq 5f3b69dd19 frontend/coreconfig: simplify action names 2015-12-24 18:54:23 +08:00
Sebastien Bourdeauducq 179c50480f frontend: split coretool into coreconfig, corelog and coreanalyzer 2015-12-24 18:51:11 +08:00
Sebastien Bourdeauducq e41e2c088d analyzer: encapsulate decoded dump, get onehot sel from header 2015-12-24 00:31:21 +08:00
Sebastien Bourdeauducq 4be5df9802 coredevice/analyzer: DDS decoding 2015-12-23 18:57:53 +08:00
Sebastien Bourdeauducq 58d0e2c0b8 coredevice/analyzer: log TTL decoding in debug mode 2015-12-23 18:56:23 +08:00
Sebastien Bourdeauducq e4d73c0302 artiq/coredevice/dds: fix dds_set signature 2015-12-23 17:25:31 +08:00
Sebastien Bourdeauducq b4b0dcc5d1 test/coredevice/rtio: remove obsolete functions 2015-12-22 12:11:13 +08:00
Sebastien Bourdeauducq f6522922f8 coredevice/exceptions: PEP8 2015-12-22 12:03:11 +08:00
Sebastien Bourdeauducq 23355d8eff coredevice: restore RTIOCollisionError 2015-12-22 11:59:18 +08:00
Sebastien Bourdeauducq 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