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