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

1603 Commits

Author SHA1 Message Date
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