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

7044 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq b93b969e2a doc/pc_rpc: add warning about mutable types 2014-12-04 18:04:54 +08:00
Sebastien Bourdeauducq 4c7749bd01 pyon: partial JSON compatibility 2014-12-03 23:46:59 +08:00
Sebastien Bourdeauducq fd8f3be946 pyon: pretty printing 2014-12-03 23:25:51 +08:00
Sebastien Bourdeauducq 2a95d27770 device and parameter database 2014-12-03 18:20:30 +08:00
Sebastien Bourdeauducq a41009f92a coredevice/comm_dummy: support clock-switching functions 2014-12-03 18:16:18 +08:00
Sebastien Bourdeauducq 5b8f34bae2 language/core/kernel: support return values 2014-12-03 17:21:26 +08:00
Sebastien Bourdeauducq 85b4d70ced pyon: add file I/O functions 2014-12-03 17:18:43 +08:00
Sebastien Bourdeauducq 2a843ea436 language: replace AutoContext 'parameter' string with abstract attributes
This allows specifying default values for parameters, and other data.
2014-12-02 17:19:05 +08:00
Sebastien Bourdeauducq 83d3b97b23 coredevice/comm_serial: give up on garbage received after baudrate change 2014-12-02 16:04:41 +08:00
Sebastien Bourdeauducq cad5933709 transforms/inline: do not writeback bool 2014-12-02 15:53:41 +08:00
Sebastien Bourdeauducq 649fedd656 coredevice/core: fix recover_underflow 2014-12-02 15:31:09 +08:00
Sebastien Bourdeauducq fc690ead75 runtime: support clock switching 2014-12-02 14:06:32 +08:00
Sebastien Bourdeauducq 94218f785e comm_serial: cleanup 2014-12-02 11:09:02 +08:00
Yann Sionneau 20adb57140 comm_serial: allow to use dynamic baudrate 2014-12-02 10:42:14 +08:00
Yann Sionneau 0c20445413 lda: allow to simulate without needing hidapi
This also fixes some old style string formating
2014-12-01 19:39:13 +08:00
Sebastien Bourdeauducq 57d633f48e rtio: remove unnecessary attributes 2014-12-01 17:47:24 +08:00
Sebastien Bourdeauducq cd587e4f12 rtio: do housekeeping in gateware 2014-12-01 17:32:36 +08:00
Sebastien Bourdeauducq d50dbc0e73 coredevice/runtime_exceptions: update RTIO exception behaviour doc 2014-12-01 13:57:25 +08:00
Sebastien Bourdeauducq 901073acf3 asynchronous RTIO 2014-11-30 00:13:54 +08:00
Sebastien Bourdeauducq 9c41f98d70 lda_controller: fix memory leak 2014-11-29 11:19:03 +08:00
Sebastien Bourdeauducq 8f18d8d492 devices: use underscore in filenames to permit import 2014-11-29 11:03:52 +08:00
Yann Sionneau 81ab801fe4 lda: filter reports when waiting for command response 2014-11-29 10:50:41 +08:00
Yann Sionneau 075e540032 lda: separate simulation class 2014-11-29 10:50:12 +08:00
Yann Sionneau b9e7fdb80e lda: add docstring 2014-11-29 10:49:43 +08:00
Sebastien Bourdeauducq 6e219469fe py2llvm: support operations between fractions and floats 2014-11-27 18:52:45 +08:00
Sebastien Bourdeauducq dc27c2e3ad lda: remove excessive verbosity 2014-11-25 19:59:53 +08:00
Sebastien Bourdeauducq 57e25c7af1 lda: minor fixes and refactoring 2014-11-25 19:56:28 +08:00
Yann Sionneau 744e7841c6 devices: initial LDA controller 2014-11-25 19:51:28 +08:00
Sebastien Bourdeauducq a3f981726a units: error checking 2014-11-22 16:56:51 -08:00
Sebastien Bourdeauducq ab88c6d0b8 transforms/lower_units: fix bugs and add unit test 2014-11-21 18:08:14 -08:00
Sebastien Bourdeauducq 35d4f75b65 transforms: PEP8 2014-11-21 15:55:39 -08:00
Sebastien Bourdeauducq 1f92e19f2b transforms/fold_constants: support decimal fractions 2014-11-21 15:51:20 -08:00
Sebastien Bourdeauducq 57cc6479c4 pyon: fraction support 2014-11-21 11:30:37 -08:00
Sebastien Bourdeauducq 64866a0f49 pc_rpc: add init magic string 2014-11-20 14:21:41 -08:00
Sebastien Bourdeauducq 914bdd95d5 runtime: use booleans in syscalls 2014-11-20 12:49:09 -08:00
Sebastien Bourdeauducq dfd779c7c5 core: add underflow recovery function 2014-11-20 12:38:52 -08:00
Sebastien Bourdeauducq 1780759327 dds: phase control (mostly untested) 2014-11-20 12:32:56 -08:00
Sebastien Bourdeauducq e01050b19a transforms/inline: fix default values of positional args 2014-11-19 22:55:34 -08:00
Sebastien Bourdeauducq b736c30cdb coredevice/core: core_com -> comm 2014-11-19 17:44:06 -08:00
Sebastien Bourdeauducq 75df0ae94a coredevice/gpio: replace set() with on()/off() to make API consistent 2014-11-19 12:33:33 -08:00
Sebastien Bourdeauducq 9098d10766 use .py extension on all Python files 2014-11-18 13:50:47 -08:00
Sebastien Bourdeauducq 8b552134a0 transforms/inline: keyword argument and default value support 2014-11-18 13:40:15 -08:00
Sebastien Bourdeauducq abae5c6728 coredevice/dds: round FTW instead of flooring 2014-11-17 18:36:00 -07:00
Sebastien Bourdeauducq cbc629bd8c transforms: assume isinstance(expr, ast.Call) => isinstance(expr.func, ast.Name) after inline 2014-11-15 15:36:26 -07:00
Sebastien Bourdeauducq e02ca0b404 transforms: quantize time before interleaving 2014-11-15 15:26:35 -07:00
Sebastien Bourdeauducq ddc9c3423f transforms/interleave: handle 'at' 2014-11-15 14:50:26 -07:00
Sebastien Bourdeauducq b163c9f7ea test: add optimization transform stack 2014-11-03 18:44:30 +08:00
Sebastien Bourdeauducq 9b93b0cedf unparse: string-based API 2014-11-03 18:14:33 +08:00
Sebastien Bourdeauducq e9e12adceb transforms/inline: object attribute writeback 2014-11-03 18:04:01 +08:00
Sebastien Bourdeauducq f54a2f93d2 remove kernel_attr (inline transform is now smart enough to autodetect) 2014-11-03 14:38:04 +08:00
Sebastien Bourdeauducq a29d7ec6fe transforms/remove_inter_assigns: fix handling of try blocks 2014-11-03 14:35:40 +08:00
Sebastien Bourdeauducq 171d56af54 transforms/remove_inter_assigns: prevent combinatorial explosion 2014-11-03 14:22:24 +08:00
Sebastien Bourdeauducq fba72cc0a2 transforms/remove_inter_assign: support names and dependencies 2014-11-03 11:35:54 +08:00
Sebastien Bourdeauducq 217fe8251b coredevice/core: optimize further 2014-10-31 23:44:07 +08:00
Sebastien Bourdeauducq cf7848c698 transforms/inline: rewrite 2014-10-31 23:43:36 +08:00
Sebastien Bourdeauducq b12fd1d566 transforms/remove_dead_code: bugfixes 2014-10-31 23:17:54 +08:00
Sebastien Bourdeauducq 97329b7fc9 transforms/inline: offload some work to remove_inter_assigns/remove_dead_code 2014-10-30 19:13:01 +08:00
Sebastien Bourdeauducq 1c0c0b691e transforms/remove_inter_assigns: fix bug with array assignment 2014-10-29 20:29:37 +08:00
Sebastien Bourdeauducq 1e8c9837ac transforms: add dead code removal 2014-10-29 20:23:58 +08:00
Sebastien Bourdeauducq be94a8b07c transforms/fold_constants: support comparisons 2014-10-29 18:46:06 +08:00
Sebastien Bourdeauducq c82c631a1d transforms/tools/eval_constant: fix int64 handling 2014-10-29 17:30:35 +08:00
Sebastien Bourdeauducq 70cc0d1766 transform: add intermediate assignment removal 2014-10-29 17:09:45 +08:00
Sebastien Bourdeauducq f012151506 transforms/inline,unroll_loops: fix aliasing problems 2014-10-29 17:09:16 +08:00
Sebastien Bourdeauducq 97ce1d6c2d transforms/inline: fix assign context on attributes 2014-10-29 16:03:20 +08:00
Sebastien Bourdeauducq 4cae5531ec pc_rpc: server identification support 2014-10-28 15:45:56 +08:00
Sebastien Bourdeauducq 8d305e3117 doc: some precisions about controllers 2014-10-28 11:43:06 +08:00
Sebastien Bourdeauducq 2946fa58b8 pc_rpc: factor out asyncio server code 2014-10-27 20:37:37 +08:00
Sebastien Bourdeauducq 1e5b05d4ec pdq2: fix commandline arguments 2014-10-27 20:34:33 +08:00
Sebastien Bourdeauducq 171ed70f2a pc_rpc: remove WaitQuit (use e.g. Ctrl-C on the controller side instead) 2014-10-27 14:33:45 +08:00
Sebastien Bourdeauducq 934442bd07 pc_rpc: document 2014-10-27 13:50:32 +08:00
Sebastien Bourdeauducq 27fc19e415 pyon: add doc 2014-10-27 12:54:59 +08:00
Sebastien Bourdeauducq ee225d5f0d pc_rpc: raise RemoteError on non-existing method RPC attempt 2014-10-25 17:25:17 +08:00
Sebastien Bourdeauducq 489bcb3447 pyon: add bool support 2014-10-25 17:06:44 +08:00
Sebastien Bourdeauducq 6ac3c5d8ae worker: use pyon 2014-10-25 16:31:34 +08:00
Sebastien Bourdeauducq 3f1391f7f2 devices: basic pdq2 controller/client 2014-10-25 11:38:42 +08:00
Sebastien Bourdeauducq 16170c9013 pc_rpc: numpy-compatible serialization 2014-10-25 11:35:21 +08:00
Sebastien Bourdeauducq b13b77e42f pc_rpc: factor WaitQuit code 2014-10-25 11:34:09 +08:00
Sebastien Bourdeauducq 513aa393b0 pc_rpc: avoid 'close' name conflict in client 2014-10-25 11:33:08 +08:00
Sebastien Bourdeauducq f106b238eb pc_rpc: report exception traceback 2014-10-25 11:31:54 +08:00
Sebastien Bourdeauducq 7a10cb8c32 mc: use pc_rpc 2014-10-23 18:48:03 +08:00
Sebastien Bourdeauducq 2aac43c6e5 management: add generic PC/PC RPC 2014-10-23 18:47:26 +08:00
Sebastien Bourdeauducq 85b6a7ca24 pdq2: small improvements based on ML feedback 2014-10-22 17:31:33 +08:00
Sebastien Bourdeauducq b96249339d doc: more precisions on RTIO error handling 2014-10-21 23:56:12 +08:00
Sebastien Bourdeauducq 97f9c9c34f doc: add precisions on RTIO error handling 2014-10-21 23:46:14 +08:00
Sebastien Bourdeauducq 5105b88302 rtio: raise input overflow exception 2014-10-21 23:41:02 +08:00
Sebastien Bourdeauducq 9a14081031 rtio: add pileup count reporting 2014-10-21 23:14:01 +08:00
Sebastien Bourdeauducq 61a50ee53c reorganize for devices/controllers 2014-10-19 23:51:49 +08:00
Sebastien Bourdeauducq caab81974a devices: add pdq2 (incomplete) 2014-10-17 00:13:09 +08:00
Sebastien Bourdeauducq 111bd3092c devices/rtio_core: add LLRTIOOut 2014-10-17 00:12:53 +08:00
Sebastien Bourdeauducq 27d1a5ffb9 devices/dds_core: rename rtio_channel to rtio_switch 2014-10-16 23:36:28 +08:00
Sebastien Bourdeauducq cbf915c2cc devices/runtime: pretty-print 2014-10-14 19:49:39 +08:00
Sebastien Bourdeauducq 88ad4fbf23 pdq2: pep8 2014-10-14 17:02:25 +08:00
Sebastien Bourdeauducq ea0773ccb5 pdq2: split CLI 2014-10-14 16:38:02 +08:00
Robert Jördens de158e0aeb artiq/devices: add pdq2.py 2014-10-14 16:00:52 +08:00
Sebastien Bourdeauducq d22c30650d rtio: add timestamp function 2014-10-14 15:54:10 +08:00
Sebastien Bourdeauducq 754a06c623 transforms/fold_constants: support BoolOp 2014-10-14 15:15:02 +08:00
Sebastien Bourdeauducq b6ac4bdbf3 transforms/tools: support NameConstant 2014-10-14 15:14:39 +08:00
Sebastien Bourdeauducq 2449348f31 devices/runtime: allow 1ms for all initial DDS programming 2014-10-14 12:47:24 +08:00
Sebastien Bourdeauducq 594b3dda74 py2llvm/ast_body: pep8 2014-10-14 00:08:42 +08:00
Sebastien Bourdeauducq a303293e8f devices/dds_core: fix merging of back-to-back pulses of different frequencies 2014-10-13 23:58:32 +08:00
Sebastien Bourdeauducq 8a06f93eb2 transforms/inline: embed bool calls 2014-10-13 23:55:14 +08:00
Sebastien Bourdeauducq d26a9d031b py2llvm: support BoolOp 2014-10-13 23:54:56 +08:00
Sebastien Bourdeauducq 6b173d0a9a py2llvm/base_types: fix not on bool 2014-10-13 19:49:29 +08:00
Sebastien Bourdeauducq 7c4450a963 time_to_cycles: round instead of flooring 2014-10-13 18:35:05 +08:00
Sebastien Bourdeauducq 0158de5ac9 devices/corecom_dummy: fix ref_period 2014-10-13 17:20:12 +08:00
Sebastien Bourdeauducq 74adb39157 devices/dds_core: add frequency_to_ftw and ftw_to_frequency 2014-10-13 17:05:35 +08:00
Sebastien Bourdeauducq 5b05a3f75b transforms/inline: implement 'portable' decorator 2014-10-13 17:04:55 +08:00
Sebastien Bourdeauducq 482f4651ff language/core: add 'portable' decorator 2014-10-13 17:04:32 +08:00
Sebastien Bourdeauducq 4361c7cb49 language/core: support cycles_to_time and time_to_cycles outside of kernel 2014-10-12 22:59:19 +08:00
Sebastien Bourdeauducq 9925568473 devices/runtime: add returns_twice attribute on __eh_setjmp (fixes exception crashes) 2014-10-11 12:59:39 +08:00
Sebastien Bourdeauducq 3ee9a87a00 transforms/lower_time: optimize time_to_cycles(cycles_to_time(x)) -> x 2014-10-11 12:04:14 +08:00
Yann Sionneau e3ef077cb2 Fix module installation
Allow to use setup.py for ARTIQ instead of PYTHONPATH.
Without this, the installation is incomplete.
2014-10-11 00:42:26 +08:00
Sebastien Bourdeauducq c659acb26e transforms/lower_time: fix time_to_cycles/cycles_to_time 2014-10-11 00:35:49 +08:00
Sebastien Bourdeauducq 2920ac85d2 transforms/inline: support attributes on user variables/calls 2014-10-08 18:01:15 +08:00
Sebastien Bourdeauducq e22301ea05 transforms: track units, now() returns seconds, implement time_to_cycles and cycles_to_time 2014-10-06 23:28:56 +08:00
Sebastien Bourdeauducq 1a64e92e75 language/units: add mod 2014-10-06 23:26:35 +08:00
Sebastien Bourdeauducq 0985a53df2 language/core: add time_to_cycles and cycles_to_time 2014-10-06 23:26:21 +08:00
Sebastien Bourdeauducq 9caaaeb414 py2llvm/fractions: add lt, le, gt, ge comparisons 2014-10-06 23:22:05 +08:00
Sebastien Bourdeauducq 8612a8a9ca devices/dds_core: remove stale kernel_attr 2014-10-06 17:23:00 +08:00
Sebastien Bourdeauducq 70fc0f6ce7 language/units: better support for ops on different dimensions 2014-10-05 23:15:25 +08:00
Sebastien Bourdeauducq 6c44fe0a87 language/units: fix printing 2014-10-05 21:35:24 +08:00
Sebastien Bourdeauducq 2a19d7d32b language/units: use only a string to identify units 2014-10-05 21:01:08 +08:00
Sebastien Bourdeauducq 2944592201 Remove microcycle unit
Introducing it complicates things and has no advantage with good rational arithmetic support.
2014-10-05 17:54:22 +08:00
Sebastien Bourdeauducq 59194176a9 add rudimentary master/controller/client 2014-10-05 16:25:31 +08:00
Sebastien Bourdeauducq 76fed11d59 rtio: raise RTIOSequenceError exceptions when events are not submitted in-order 2014-09-30 19:32:11 +08:00
Sebastien Bourdeauducq 73d0a84b44 doc: various cleanups 2014-09-30 18:10:40 +08:00
Sebastien Bourdeauducq cb036a30c7 devices/dds_core: document 2014-09-30 17:38:52 +08:00
Sebastien Bourdeauducq 5ac42e42c1 rename artiq.language.std -> artiq 2014-09-30 17:38:02 +08:00
Sebastien Bourdeauducq 821834891e language/core: use 'var' for class attribute docstring 2014-09-30 16:43:27 +08:00
Sebastien Bourdeauducq 05d8dde412 language/core: pass docstrings through kernel decorator 2014-09-30 16:43:00 +08:00
Sebastien Bourdeauducq 5099643f84 devices/rtio_core: rename RTIOCounter to RTIOIn and document 2014-09-30 16:42:07 +08:00
Sebastien Bourdeauducq c95f5bdff3 transforms/inline: strip docstrings 2014-09-30 00:46:14 +08:00
Sebastien Bourdeauducq d3e70ec53d language/units: cleanup and add docstrings 2014-09-29 23:41:37 +08:00
Sebastien Bourdeauducq f105e5e214 language: add std module with common user features 2014-09-29 23:14:10 +08:00
Sebastien Bourdeauducq 1ae7724a15 transforms/interleave: support try statements 2014-09-29 18:09:48 +08:00
Sebastien Bourdeauducq 2a40d69290 transforms/inline: fix runtime exception encoding 2014-09-29 18:09:26 +08:00
Sebastien Bourdeauducq 4572b7657f devices/runtime_exceptions: fix exception_map generation 2014-09-29 18:08:58 +08:00
Sebastien Bourdeauducq 035b541a73 language/core: add RuntimeException 2014-09-29 17:36:35 +08:00
Sebastien Bourdeauducq 4a1cad5227 language/core: reduce namespace pollution 2014-09-29 17:28:14 +08:00
Robert Jördens 741228878c add basic setup.py and infrastructure 2014-09-27 21:28:06 +08:00
Sebastien Bourdeauducq 7289c18a42 transforms/unroll_loops: count statements in try blocks 2014-09-27 11:57:47 +08:00
Sebastien Bourdeauducq 4a5e398857 py2llvm: support continue statement 2014-09-27 00:27:11 +08:00
Sebastien Bourdeauducq 89fdab2176 py2llvm: factorize basic block termination test 2014-09-26 23:53:56 +08:00
Sebastien Bourdeauducq d10112688f py2llvm: execute finally block when exception is re-raised in handler 2014-09-26 23:44:44 +08:00
Sebastien Bourdeauducq 4978f8b3d7 py2llvm: remove LLVM-crashing (unreachable) non-SSA path with exception ID 2014-09-26 19:38:14 +08:00
Sebastien Bourdeauducq 20ca97485c py2llvm: support break/return in try block 2014-09-26 19:21:49 +08:00
Sebastien Bourdeauducq 8852dd394e transforms/unroll_loop: handle breaks in try and with blocks 2014-09-26 19:20:56 +08:00
Sebastien Bourdeauducq f332def3a2 py2llvm: fix behaviour of 'break' in 'else' clause of loops 2014-09-26 18:16:20 +08:00
Sebastien Bourdeauducq af0cd902d3 get frequency from RTIO, support fractional frequencies 2014-09-26 17:24:06 +08:00
Sebastien Bourdeauducq dd6de244fe minor cleanups 2014-09-26 17:21:51 +08:00
Sebastien Bourdeauducq e0cd45b1ba devices/corecom_serial: do not use deprecated logger.warn 2014-09-25 12:58:11 +08:00
Sebastien Bourdeauducq 4f26b6281d host: support runtime device exceptions 2014-09-25 12:57:26 +08:00
Sebastien Bourdeauducq cf1f1269b2 py2llvm/fractions: use internal linkage for gcd function 2014-09-24 19:21:45 +08:00
Sebastien Bourdeauducq 8aebab580f transforms/inline: support non-hashable host objects 2014-09-24 17:16:40 +08:00
Sebastien Bourdeauducq 82da734e89 transforms/inline: remove _is_in_attr_list 2014-09-24 17:02:33 +08:00
Sebastien Bourdeauducq 4d3d15ad99 transforms/inline: support reraise and tuple exception matching 2014-09-23 22:10:15 +08:00
Sebastien Bourdeauducq f7075b24f6 py2llvm: fix exception matching 2014-09-23 22:09:35 +08:00
Sebastien Bourdeauducq af15f45bb9 runtime: do not use buggy llvm.eh.sjlj.* intrinsics 2014-09-23 22:09:08 +08:00
Sebastien Bourdeauducq 8b769a0417 devices/runtime: add more eh functions 2014-09-23 16:25:41 +08:00
Sebastien Bourdeauducq d1085449aa py2llvm: support for try/except/else/finally blocks 2014-09-23 16:23:54 +08:00
Sebastien Bourdeauducq c989daf4d6 py2llvm: stop after other types of termination instructions 2014-09-23 16:21:48 +08:00
Sebastien Bourdeauducq e8c92c3b6f transforms/inline: support catchall 'except' clauses 2014-09-23 16:20:36 +08:00
Sebastien Bourdeauducq bad87ef38b devices/corecom_serial: unpack unsigned chars 2014-09-22 13:23:39 +08:00
Sebastien Bourdeauducq 19abab3feb devices/runtime: rename syscall to build_syscall 2014-09-22 13:22:38 +08:00
Sebastien Bourdeauducq 5244a63b55 devices/runtime: register eh_raise service 2014-09-22 13:22:04 +08:00
Sebastien Bourdeauducq a8df1703fb py2llvm: support raise statement 2014-09-22 13:20:27 +08:00
Sebastien Bourdeauducq 3de24619b2 corecom: exception support 2014-09-21 23:36:10 +08:00
Sebastien Bourdeauducq e821f9eb83 transforms/inline: encode exceptions 2014-09-21 23:30:40 +08:00
Sebastien Bourdeauducq 655835e8de language/core: cleanup 2014-09-21 23:18:33 +08:00
Sebastien Bourdeauducq 320d3c36ed language/core: add EncodedException 2014-09-21 23:17:46 +08:00
Robert Jördens 426d6dd979 corecom_serial: logger/debugging 2014-09-21 18:19:14 +08:00
Sebastien Bourdeauducq 7e45cd62ef language/core: add docstrings 2014-09-18 17:44:11 +08:00
Sebastien Bourdeauducq f5167f21fb language/core: make KernelFunctionInfo private 2014-09-18 17:20:34 +08:00
Sebastien Bourdeauducq 3249b8ad3e language/core: reduce namespace pollution 2014-09-18 16:30:38 +08:00
Sebastien Bourdeauducq 5fe3cffc84 transforms/unroll_loop: do not unroll breakable loops 2014-09-18 09:53:08 +08:00
Sebastien Bourdeauducq 0b1ebb1ba5 devices/core: raise loop unrolling limit 2014-09-17 19:52:18 +08:00
Sebastien Bourdeauducq 9af0e9c91a devices/runtime: support dumping of ELF object via ARTIQ_DUMP_OBJECT environment variable 2014-09-17 18:03:54 +08:00
Sebastien Bourdeauducq af6457c5fa devices/core: enable unparser via ARTIQ_UNPARSE environment variable 2014-09-17 17:06:51 +08:00
Sebastien Bourdeauducq a79709f0ae transforms/inline: let float() calls through 2014-09-17 16:42:28 +08:00
Sebastien Bourdeauducq 97ad9efa85 py2llvm/base_types: implement int, floor, floordiv, and boolean ops on floats 2014-09-17 16:24:37 +08:00
Sebastien Bourdeauducq 80f4bc7741 py2llvm/base_types: fix corner cases with bool/int/float conversion 2014-09-17 16:23:02 +08:00
Sebastien Bourdeauducq 2e45d7267d py2llvm/fractions: fix round() 2014-09-17 16:22:00 +08:00
Sebastien Bourdeauducq dc38356ad9 transform/tools/value_to_ast: support floats 2014-09-16 23:11:53 +08:00
Sebastien Bourdeauducq f061b15994 py2llvm: add floating point support 2014-09-16 23:11:30 +08:00
Sebastien Bourdeauducq dbca62c1d7 py2llvm/fractions: fix or_sub 2014-09-16 16:43:01 +08:00
Sebastien Bourdeauducq 140b4eb594 devices/rtio_core: set OE, implement gate/count 2014-09-15 22:48:22 +08:00
Sebastien Bourdeauducq 8bf7b27a89 runtime: increase initial_time 2014-09-15 22:47:19 +08:00
Sebastien Bourdeauducq 11d8840277 runtime: new serial protocol, support multiple entry points and log messages 2014-09-15 22:40:33 +08:00
Sebastien Bourdeauducq f529361c8b runtime: add rtio_oe and rtio_get syscalls 2014-09-14 23:30:33 +08:00
Sebastien Bourdeauducq a55018953d devices/rtio_core: add dummy counter 2014-09-13 19:37:57 +08:00
Sebastien Bourdeauducq 5c228f9114 Consistent variable naming 2014-09-13 19:32:21 +08:00
Sebastien Bourdeauducq 71adcb74bf language/core: remove kernel_attr_ro 2014-09-13 19:24:58 +08:00
Sebastien Bourdeauducq 123ddb26a1 transforms/inline: refactor and fix _ReferenceManager.inline 2014-09-13 19:24:32 +08:00
Sebastien Bourdeauducq dc9515fc62 transforms/inline: support for function return values 2014-09-13 16:17:16 +08:00
Sebastien Bourdeauducq 3d440d5f15 py2llvm: support pass statements 2014-09-13 16:16:15 +08:00
Sebastien Bourdeauducq 6861d28d2d runtime: support arbitrarily long initial DDS setup time 2014-09-12 15:40:34 +08:00
Sebastien Bourdeauducq 92efde1e40 devices/dds_core: support realtime FUD and zero-length pulse collapsing 2014-09-12 15:36:17 +08:00
Sebastien Bourdeauducq a60e6237bf runtime: increase initial time
This leaves some time for DDS FUD operations to complete.
2014-09-12 15:34:29 +08:00
Sebastien Bourdeauducq 16b2d9f177 runtime: support real-time FUD 2014-09-12 15:34:11 +08:00
Sebastien Bourdeauducq b5f145d976 devices: new RTIO driver 2014-09-12 15:28:02 +08:00
Sebastien Bourdeauducq 10d796e026 runtime: add rtio_replace syscall 2014-09-11 23:14:45 +08:00
Sebastien Bourdeauducq f0c2003778 py2llvm/fractions: fix addsub with int 2014-09-11 23:11:57 +08:00
Sebastien Bourdeauducq 7e889b014d py2llvm: add break statement support 2014-09-10 16:16:12 +08:00
Sebastien Bourdeauducq d66448a486 py2llvm: for loop and range support 2014-09-10 16:06:27 +08:00
Sebastien Bourdeauducq 5144da3f9a transforms/inline: add sequential block when inlining function 2014-09-09 22:01:28 +08:00
Sebastien Bourdeauducq e6530075d9 devices/dds_core: add on/off methods 2014-09-09 22:00:51 +08:00
Sebastien Bourdeauducq 0ad2b4d09b transform/inline: fix subscript handling 2014-09-09 21:03:15 +08:00
Sebastien Bourdeauducq 8aa69cb959 devices/runtime: use new py2llvm methods 2014-09-09 21:02:38 +08:00
Sebastien Bourdeauducq eec52a2e29 py2llvm: array support 2014-09-09 17:13:48 +08:00
Sebastien Bourdeauducq e2ca571c89 transforms/inline: let array calls through 2014-09-09 17:13:26 +08:00
Sebastien Bourdeauducq f410b4d241 language/core: add array function 2014-09-09 17:12:37 +08:00
Sebastien Bourdeauducq 9eb2a2441d py2llvm: factor repr/same_type/merge for values 2014-09-09 10:30:10 +08:00
Sebastien Bourdeauducq 60368aa9e2 py2llvm: complete rational arithmetic support 2014-09-08 18:45:46 +08:00
Sebastien Bourdeauducq 1133308dd5 py2llvm: support 'neg' on VInt 2014-09-08 18:25:04 +08:00
Sebastien Bourdeauducq 71b8575d7a py2llvm/fractions: add numerator/denominator getattr support 2014-09-07 15:26:05 +08:00
Sebastien Bourdeauducq e2d834928f py2llvm/ast_body: support getattr 2014-09-07 15:24:19 +08:00
Sebastien Bourdeauducq c5c38c6376 py2llvm: remove unnecessary indirection for unary operators 2014-09-07 15:09:38 +08:00
Sebastien Bourdeauducq bce687b4a0 py2llvm/base_types: implement 'not' on 'None' 2014-09-07 14:55:46 +08:00
Sebastien Bourdeauducq dddc9259b0 py2llvm: run passes before creating EE 2014-09-07 14:47:09 +08:00
Sebastien Bourdeauducq 15dcf3351b py2llvm: move GCD function into LLVM IR 2014-09-07 14:46:32 +08:00
Sebastien Bourdeauducq 3c8b541939 py2llvm: reorganize, split 'values' module, factor LLVM module/pass management 2014-09-07 14:09:03 +08:00
Sebastien Bourdeauducq 6deaf7b81a py2llvm: add support for function parameters and return values, add unit test 2014-09-06 19:03:08 +08:00
Sebastien Bourdeauducq 64c29bcfa6 py2llvm/values: support 'not' on VInt 2014-09-06 19:02:09 +08:00
Sebastien Bourdeauducq 2ef187b7d3 py2llvm/values: fix arity of 'not' 2014-09-06 18:18:08 +08:00
Sebastien Bourdeauducq a647e1104d compiler: split into transforms and py2llvm 2014-09-05 22:18:31 +08:00
Sebastien Bourdeauducq ef1f8787dc devices/runtime: minor cleanup 2014-09-05 21:51:58 +08:00
Sebastien Bourdeauducq 86193437f5 compiler/ir_values: fix gcd64 2014-09-05 16:48:27 +08:00
Sebastien Bourdeauducq 4915b4b5aa PEP8 2014-09-05 12:03:22 +08:00
Sebastien Bourdeauducq 7e9df82e37 compiler/ir_values: implement rational mul/div 2014-08-28 18:58:24 +08:00
Sebastien Bourdeauducq 841e7cce35 compiler/ir_values: fix right operations 2014-08-28 18:58:05 +08:00
Sebastien Bourdeauducq a861226409 compiler/ir: fraction normalization 2014-08-28 17:24:33 +08:00
Sebastien Bourdeauducq 76cef042a5 compiler/ir: introduce Fraction type (incomplete) 2014-08-19 17:52:55 +08:00
Sebastien Bourdeauducq 0832507c26 compiler/ir: refactor SSA/alloca management 2014-08-19 17:52:05 +08:00
Sebastien Bourdeauducq 62b872ad94 devices/dds_core: use new compiler features to compute tuning word trivially 2014-08-18 23:53:10 +08:00
Sebastien Bourdeauducq 7a90f4f4ec runtime: start RTIO counter at first rtio_set 2014-08-18 23:46:58 +08:00
Sebastien Bourdeauducq 7d8dc4ef30 runtime: support 64-bit RTIO timestamps 2014-08-18 23:41:54 +08:00
Sebastien Bourdeauducq b3b61d8b6b compiler/fold_constants: fix int/round 2014-08-18 23:11:53 +08:00
Sebastien Bourdeauducq 24544f2758 compiler/tools/eval_constant: raise NotConstant on calls 2014-08-18 23:11:27 +08:00
Sebastien Bourdeauducq b1598ba659 compiler/inline: add microcycle_unit as reserved name 2014-08-18 23:06:50 +08:00
Sebastien Bourdeauducq 7ea28642e4 compiler: add lower_units transform 2014-08-18 23:06:34 +08:00
Sebastien Bourdeauducq dcc140c5a9 compiler/lower_time: make 'now' an int64 2014-08-18 23:04:28 +08:00
Sebastien Bourdeauducq 331dbc971b language/units: add microcycle unit for core time 2014-08-18 22:52:54 +08:00
Sebastien Bourdeauducq 56ccd054eb compiler/fold_constants: support int, int64, round and round64 2014-08-18 22:52:19 +08:00
Sebastien Bourdeauducq 219aa23d25 compiler/ir_values: implement sign extension and truncation 2014-08-18 22:51:54 +08:00
Sebastien Bourdeauducq 4ff61a8f56 compiler/ir_ast_body,ir_values: minor fixes 2014-08-18 22:51:24 +08:00
Sebastien Bourdeauducq a5e5b5c870 compiler: pass funcdef instead of statement list 2014-08-18 21:37:30 +08:00
Sebastien Bourdeauducq 86577ff64f compiler/inline: update reserved names 2014-08-18 21:34:13 +08:00
Sebastien Bourdeauducq e1cdec8c07 compiler/ir: fix compile_function call 2014-08-18 21:32:52 +08:00
Sebastien Bourdeauducq 1e654f5da2 compiler/tools: support int64 in value_to_ast 2014-08-18 21:31:56 +08:00
Sebastien Bourdeauducq fc9cf67069 compiler/ir: use new infrastructure 2014-08-18 14:34:14 +08:00
Sebastien Bourdeauducq 15c78df3a2 devices/runtime: new syscall API 2014-08-18 14:33:54 +08:00
Sebastien Bourdeauducq 65566ec710 compiler/ir_ast_body,ir_infer_types: support syscalls 2014-08-18 14:33:21 +08:00
Sebastien Bourdeauducq 4b0788d92c compiler: add None type support 2014-08-17 23:46:29 +08:00
Sebastien Bourdeauducq 9e21ea5658 compiler/ir_ast_body,ir_infer_types: use Python dict directly as namespace 2014-08-17 22:15:10 +08:00
Sebastien Bourdeauducq 30ef6119e6 compiler/ir_ast_body: refactor and add statement visitor 2014-08-17 21:46:11 +08:00
Sebastien Bourdeauducq d41d06835c compiler/ir_values: support bool operation on VBool 2014-08-17 21:45:36 +08:00
Sebastien Bourdeauducq 3e4cbba018 compiler: new architecture for type inference and LLVM code emission 2014-08-16 23:20:16 +08:00
Sebastien Bourdeauducq 9189ad5fab language/core: update kernel ro types 2014-08-16 23:19:25 +08:00
Sebastien Bourdeauducq 71825f5ae0 language/core: add round64 2014-08-16 23:18:56 +08:00
Sebastien Bourdeauducq 02798d1996 infer_type: better rules 2014-08-16 20:58:10 +08:00
Sebastien Bourdeauducq 232092166e units: support division by quantities in the same unit 2014-08-16 10:27:44 +08:00
Sebastien Bourdeauducq 7422a919cc sim/time: use second as reference unit 2014-08-16 10:22:31 +08:00
Sebastien Bourdeauducq 2e9410464d language/core: add int64 2014-08-15 23:43:59 +08:00
Sebastien Bourdeauducq 8bdc7964b8 compiler: add infer_types module (WIP) 2014-08-13 22:08:34 +08:00
Sebastien Bourdeauducq fd16be6f73 sim/devices: remove implicit core 2014-08-13 18:37:01 +08:00
Sebastien Bourdeauducq c18495d484 MPO -> AutoContext 2014-08-13 18:30:57 +08:00
Sebastien Bourdeauducq eb4054d976 sim: use MPO 2014-08-13 18:16:40 +08:00
Sebastien Bourdeauducq 2135e37dca compiler: use value_to_ast(x) instead of ast.Num(x) 2014-08-13 18:02:24 +08:00
Sebastien Bourdeauducq 3446c1f914 language/core: remove unneeded import 2014-08-13 18:00:38 +08:00
Sebastien Bourdeauducq 899a034204 compiler/lower_time: adapt to new unit system 2014-08-13 17:59:53 +08:00
Sebastien Bourdeauducq 9cbf31153a compiler/ir: compile fractions with denominator==1 as integers 2014-08-13 17:58:48 +08:00
Sebastien Bourdeauducq 70fbc6ad56 compiler/interleave: use eval_constant from tools 2014-08-13 17:58:06 +08:00
Sebastien Bourdeauducq 5481baac1d compiler/inline: cleanup reference manager, recognize Fraction 2014-08-13 17:56:55 +08:00
Sebastien Bourdeauducq fe5b3cc67e compiler/fold_constants: use eval_constant from tools 2014-08-13 17:54:58 +08:00
Sebastien Bourdeauducq 0145e52d4b compiler/tools: add eval_constant and Fraction support 2014-08-13 17:54:22 +08:00
Sebastien Bourdeauducq a2691ab07a language/units: do not quantize 2014-08-13 17:52:01 +08:00
Sebastien Bourdeauducq f390e9a7d1 corecom_serial: add CRC for kernel 2014-07-23 19:12:22 -06:00
Sebastien Bourdeauducq b2bb837d22 compiler/ir: add binary AND and OR 2014-07-23 17:10:12 -06:00
Sebastien Bourdeauducq 52e8d4150b devices/dds_core: use MPO and runtime IF 2014-07-23 11:50:23 -06:00
Sebastien Bourdeauducq ba088614d8 runtime: add dds_program 2014-07-23 11:49:48 -06:00
Sebastien Bourdeauducq d922c3db7e compiler/ir: replace quantities with their integer value 2014-07-23 11:48:43 -06:00
Sebastien Bourdeauducq 1b52941381 compiler/ir: support shifts 2014-07-23 11:48:15 -06:00
Sebastien Bourdeauducq dec7c1438f runtime: implement rtio_sync syscall 2014-07-22 11:36:54 -06:00
Sebastien Bourdeauducq 8769066e89 compiler/devices: set initial time 2014-07-21 13:22:07 -06:00
Sebastien Bourdeauducq 041540089a devices: add RTIO support 2014-07-20 18:36:17 -06:00
Sebastien Bourdeauducq 1885a87187 devices/gpio_core: use MPO 2014-07-20 18:23:53 -06:00
Sebastien Bourdeauducq a9b96cefbe compiler/ir: support AugAssign 2014-07-16 09:43:46 -06:00
Sebastien Bourdeauducq 591509d31b compiler: lower time transform 2014-07-15 11:22:11 -06:00
Sebastien Bourdeauducq 17fab6f024 corecom_serial: support ident and runtime environment creation 2014-07-15 11:21:31 -06:00
Sebastien Bourdeauducq 6f28ab2cc6 devices: let corecom create runtime environment, add dummy corecom 2014-07-15 11:20:13 -06:00
Sebastien Bourdeauducq 529b83bb58 language/core/MPO: new parameter/channel mechanism 2014-07-11 01:12:40 +02:00
Sebastien Bourdeauducq 6509f1fd04 artiq.language.experiment -> artiq.language.core 2014-07-10 18:13:37 +02:00
Sebastien Bourdeauducq 5f01b061f7 MPO: implicit core 2014-07-10 15:38:51 +02:00
Sebastien Bourdeauducq d76182a3ee Experiment -> MPO (Managed Parameter Object) 2014-07-10 15:29:22 +02:00
Sebastien Bourdeauducq 4f0e40ca3c devices/core: service RPC requests 2014-07-07 19:14:23 +02:00
Sebastien Bourdeauducq 09e78a1f5e devices/corecom_serial: RPC server 2014-07-07 19:11:43 +02:00
Sebastien Bourdeauducq ffd2bdc4eb compiler/inline: return number -> function RPC map 2014-07-07 19:11:07 +02:00
Sebastien Bourdeauducq 5a3fa5dbff devices/runtime: function type strings + variadic function support 2014-07-06 21:06:27 +02:00
Sebastien Bourdeauducq e0ac1193c6 compiler/ir: support function calls in expressions 2014-07-06 21:06:01 +02:00
Sebastien Bourdeauducq 61c0b65323 devices/runtime: machine code emission 2014-07-05 22:48:14 +02:00
Sebastien Bourdeauducq 1aac985f10 devices/core: compile to machine code and run on hardware 2014-07-05 22:47:54 +02:00
Sebastien Bourdeauducq 301b7d51fa add gpio_out syscall 2014-07-05 22:46:43 +02:00
Sebastien Bourdeauducq 37cd4e7e86 devices: add simple GPIO out 2014-07-05 22:45:08 +02:00
Sebastien Bourdeauducq a8ef4d8b91 compiler/ir: create machine code from kernel statements 2014-07-05 22:44:54 +02:00
Sebastien Bourdeauducq de238503d2 devices/runtime: use regular function call instead of syscall 2014-07-05 19:39:05 +02:00
Sebastien Bourdeauducq 99c99484ae compiler/ir: load into device 2014-07-05 19:38:45 +02:00
Sebastien Bourdeauducq 711be75c35 compiler/ir: pass arguments to syscall 2014-07-05 19:13:05 +02:00
Sebastien Bourdeauducq 6b8ac5ae7b devices: add basic core device serial comms driver 2014-07-05 19:12:21 +02:00
Sebastien Bourdeauducq 29bd6e377d core_dds -> dds_core 2014-07-04 17:57:53 +02:00
Sebastien Bourdeauducq 10db450098 Minor cleanup 2014-07-04 17:50:35 +02:00
Sebastien Bourdeauducq 71323fb7cd compiler: system calls 2014-07-04 17:17:01 +02:00
Sebastien Bourdeauducq 74cdafdde5 compiler: interleave transform 2014-06-22 18:52:37 +02:00
Sebastien Bourdeauducq 6ea0430cec compiler/ir: simplify type dictionaries 2014-06-22 00:04:46 +02:00
Sebastien Bourdeauducq b28fdf5fb0 compiler: add unroll_loops transform 2014-06-21 15:06:15 +02:00
Sebastien Bourdeauducq 5a8074a12f compiler: propagate AST node location info 2014-06-21 14:53:09 +02:00
Sebastien Bourdeauducq c71eb702bb tools/make_stmt_transformer: pass args/kwargs 2014-06-21 12:13:28 +02:00
Sebastien Bourdeauducq c3092ae13f compiler: factorize operation of NodeTransformer on statement lists 2014-06-21 00:40:52 +02:00
Sebastien Bourdeauducq 6400e28e4c compiler: fold constants 2014-06-21 00:19:56 +02:00
Sebastien Bourdeauducq 94ff2e2ddc compiler: share value_to_ast 2014-06-21 00:19:40 +02:00
Sebastien Bourdeauducq 5b0fd50dbe inline: support rw kernel attributes 2014-06-18 21:04:54 +02:00
Sebastien Bourdeauducq d41ac863f4 inline: support kernel_attr_ro 2014-06-17 19:46:22 +02:00
Sebastien Bourdeauducq 0d9bdc101c inline: check inlined functions are on the same core device 2014-06-17 18:52:48 +02:00
Sebastien Bourdeauducq 08ab99d33e inline: basic function inlining 2014-06-17 18:37:51 +02:00
Sebastien Bourdeauducq d87b207b8a compiler/inline: embeddable calls 2014-06-16 23:52:19 +02:00
Sebastien Bourdeauducq 79f20ebfcf Make syscall an experiment function instead of a core method 2014-06-16 23:51:27 +02:00
Sebastien Bourdeauducq 9db8627081 compiler: generate RPC calls 2014-06-16 22:56:08 +02:00
Sebastien Bourdeauducq 792ac44245 inline: return statements 2014-06-16 22:01:20 +02:00
Sebastien Bourdeauducq c021b2ef41 compiler/inline: handle function params and builtin calls 2014-06-16 21:52:38 +02:00
Sebastien Bourdeauducq f035507bac language/experiment: attach k_function_info in kernel decorator, do not use star notation for kernel args 2014-06-16 21:51:58 +02:00
Sebastien Bourdeauducq 733a03b7ad cleanup 2014-06-16 21:35:08 +02:00
Sebastien Bourdeauducq d63c3264d3 devices/core: test inline transform first 2014-06-16 21:33:59 +02:00
Sebastien Bourdeauducq 7ec448cdc9 compiler: inline transform WIP 2014-06-10 15:23:14 +02:00
Sebastien Bourdeauducq 3cd462f4d5 experiment: simplify definition of kernel_attr 2014-06-10 15:22:27 +02:00
Sebastien Bourdeauducq 8cc9c9eed6 units: remove duplicate method 2014-06-10 15:16:45 +02:00
Sebastien Bourdeauducq 7eb9641905 compiler: share eval_ast 2014-06-10 15:16:28 +02:00
Sebastien Bourdeauducq d7f9e6b228 experiment: add list of kernel globals 2014-06-10 15:16:04 +02:00
Sebastien Bourdeauducq b0006e933a experiment/_DummyTimeManager: add missing enter_parallel 2014-06-10 15:15:35 +02:00
Sebastien Bourdeauducq 9e8077b873 First simple attempt at compiling Python AST to LLVM IR 2014-06-07 18:47:06 +02:00
Sebastien Bourdeauducq 13acb57179 TimeManager: use units further, add now/at functionality 2014-05-30 19:01:27 +02:00
Sebastien Bourdeauducq 732412e4c9 units: implement operators 2014-05-30 19:00:33 +02:00
Sebastien Bourdeauducq c769bdab9b Introduce compiler and device modules 2014-05-30 18:20:13 +02:00
Sebastien Bourdeauducq 18ef03c545 Refactor, introduce experiment class, kernel decorator, parameters and channel objects 2014-05-28 22:42:01 +02:00
Sebastien Bourdeauducq 8e1d334b7b Add unparser (from Python source) 2014-05-24 23:05:48 +02:00
Sebastien Bourdeauducq c3c83f86b6 Basic simulation of Al spectroscopy 2014-05-17 14:08:50 +02:00