whitequark
c72267ecf5
Implement syscalls for the new compiler.
2015-08-10 20:26:06 +03:00
whitequark
75532d10aa
Display full core device backtraces.
2015-08-10 15:12:22 +03:00
whitequark
d4270cf66e
Implement receiving data from RPCs.
2015-08-09 20:17:00 +03:00
whitequark
02b1543c63
Implement receiving exceptions from RPCs.
2015-08-09 16:16:41 +03:00
whitequark
8b7d38d203
Add ARTIQ_DUMP_ASSEMBLY.
2015-08-09 15:47:29 +03:00
whitequark
b26af5df60
Implement sending RPCs.
2015-08-09 02:17:19 +03:00
whitequark
13ad9b5d08
Allow to dump ARTIQ/LLVM IR for stitched code.
2015-08-08 21:47:20 +03:00
Sebastien Bourdeauducq
671a3f1833
doc: precision about dds batch time
2015-08-08 23:05:00 +08:00
Sebastien Bourdeauducq
0a6fcd9fa0
Revert "comm_generic: cleanup"
...
This reverts commit be55487d2d
.
2015-08-08 21:24:23 +08:00
whitequark
27d2390fed
Add zero-cost exception support to runtime and host.
2015-08-08 16:01:31 +03:00
whitequark
ecdebc0b8a
session.c: refactor.
2015-08-08 13:21:43 +03:00
whitequark
d6ab567242
coredevice.comm_*: refactor.
2015-08-07 16:44:16 +03:00
Sebastien Bourdeauducq
be55487d2d
comm_generic: cleanup
2015-08-07 21:12:00 +08:00
whitequark
353f454a29
Add basic support for embedded functions with new compiler.
2015-08-07 11:44:49 +03:00
whitequark
b5cf1e395d
runtime: avoid race condition when running kernel.
...
Also, don't bother passing kernel name: entry point is already
recorded in DT_INIT when the kernel is linked.
2015-08-07 08:51:33 +03:00
whitequark
4a8e397a77
Fold llvmlite patches into m-labs/llvmlite repository.
2015-08-05 03:49:01 +03:00
whitequark
62fdc75d2d
Integrate libdyld and libunwind.
...
It is currently possible to run the idle experiment, and it
can raise and catch exceptions, but exceptions are not yet
propagated across RPC boundaries.
2015-08-02 15:43:03 +03:00
Sebastien Bourdeauducq
1d34c06d79
rtio: detect collision errors
2015-07-29 19:43:35 +08:00
Sebastien Bourdeauducq
90368415a6
ttl: remove timestamp function
...
The general idea is that functions that work with absolute timestamps exist only in machine units versions, to help prevent floating point losses of precision. Time differences should be computed in machine units and then converted, e.g. mu_to_seconds(t2-t1).
This function would have had problems after ~50 days of running the device.
2015-07-29 11:11:16 +08:00
Robert Jördens
5f5227f01f
ttl: add timestamp()
2015-07-28 16:20:05 -06:00
Robert Jördens
e95b66f114
ttl: remove spurious _mu
2015-07-28 16:20:05 -06:00
Sebastien Bourdeauducq
f836465585
coredevice: environment -> runtime
2015-07-15 11:20:41 +02:00
Yann Sionneau
90ba9f7bbf
llvmlite: rename our package to be llvmlite_or1k to avoid collision with llvmlite package needed for numba
2015-07-14 01:01:56 +02:00
Sebastien Bourdeauducq
56fc7a484c
TTLInOut: timestamp -> timestamp_mu
2015-07-13 23:21:29 +02:00
Sebastien Bourdeauducq
32d141f5ac
refactor ddb/pdb/rdb
2015-07-13 22:21:32 +02:00
Sebastien Bourdeauducq
34aacd3c5f
complete AD9914 support (no programmable modulus, untested)
2015-07-08 17:22:43 +02:00
Sebastien Bourdeauducq
8a33d8c868
never stop RTIO counter
2015-07-07 15:29:38 +02:00
Sebastien Bourdeauducq
58c0150822
ttl: improve clockgen doc
2015-07-05 19:07:13 +02:00
Sebastien Bourdeauducq
65ec6c28f4
ttl/clockgen: expose acc_width
2015-07-04 19:21:25 +02:00
Sebastien Bourdeauducq
753d61b38f
complete support for TTL clock generator
2015-07-04 18:36:01 +02:00
Sebastien Bourdeauducq
9d6287a6a3
expose machine units to user
2015-07-01 22:22:53 +02:00
Sebastien Bourdeauducq
c71fe29792
simplify unit system and use floats by default
2015-06-26 16:34:37 +02:00
Sebastien Bourdeauducq
e6a4c2fb36
dds: make it easier to specify phase
2015-06-26 12:05:11 +02:00
Sebastien Bourdeauducq
87ea1433d3
dds: all working
2015-06-20 18:42:39 -06:00
Sebastien Bourdeauducq
5a9bdb2e33
DDS monitoring
2015-06-19 15:30:17 -06:00
Yann Sionneau
575dfade38
flash_storage comm: use OK/ERROR replies instead of specific FLASH_WRITE_REPLY
2015-05-29 11:10:40 +02:00
Yann Sionneau
4bf7875b87
flash_storage: refactor + unit tests + artiq_coreconfig.py CLI + doc
2015-05-27 18:06:12 +08:00
Sebastien Bourdeauducq
ce4b5739ed
runtime: reset all DDSes upon startup
2015-05-09 17:12:38 +08:00
Sebastien Bourdeauducq
1ceb06fb16
dds: use context manager for batches
2015-05-09 14:47:40 +08:00
Sebastien Bourdeauducq
5c08423b29
dds: support batches in driver
2015-05-08 22:17:06 +08:00
Sebastien Bourdeauducq
55f2fef576
runtime: support DDS batches
2015-05-08 16:51:54 +08:00
Sebastien Bourdeauducq
53c6339307
runtime: break ttl-specific functions from rtio
2015-05-08 16:20:12 +08:00
Sebastien Bourdeauducq
a36c51eb83
DDS over RTIO (batch mode not supported yet)
2015-05-08 14:44:39 +08:00
Sebastien Bourdeauducq
2adf9d91df
recover_underflow -> break_realtime
2015-05-03 20:45:28 +08:00
Sebastien Bourdeauducq
4048568d8e
support kernel handover with coherent time
2015-05-02 23:41:49 +08:00
Sebastien Bourdeauducq
65b4b7bb12
coredevice: rename rtio to ttl, integrated in+out driver, loopback on the same pin in tests
2015-05-02 10:35:21 +08:00
Sebastien Bourdeauducq
967145f2dc
watchdog support on core device (broken by bug similar to issue #19 )
2015-04-29 12:58:37 +08:00
Sebastien Bourdeauducq
e5f7fcc339
coredevice/comm_tcp: raise exception on connection closed
2015-04-29 11:18:51 +08:00
Sebastien Bourdeauducq
9b62e7e77b
runtime,coredevice: support session reset for serial
2015-04-28 02:11:58 +08:00
Sebastien Bourdeauducq
8a19766278
runtime,comm_generic: improve and fix list encoding
2015-04-28 01:31:55 +08:00
Sebastien Bourdeauducq
934a6b0495
runtime,coredevice: Ethernet support (buggy)
2015-04-23 23:22:40 +08:00
Sebastien Bourdeauducq
18106cc014
comm: refactor to support lwip event model
2015-04-22 01:31:31 +08:00
Sebastien Bourdeauducq
9f52277245
coredevice/core: set default for ref_period
2015-04-22 01:12:01 +08:00
Sebastien Bourdeauducq
0c1d256fef
comm_dummy: remove unneeded import
2015-04-19 11:41:20 +08:00
Sebastien Bourdeauducq
c98e08fe36
fix transforms unittest
2015-04-19 11:40:49 +08:00
Sebastien Bourdeauducq
546996f896
coredevice,runtime: put ref_period into the ddb
2015-04-16 15:15:38 +08:00
Sebastien Bourdeauducq
ecf6b29279
coredevice/rtio: minor docstring cleanup
2015-04-15 13:53:00 +08:00
Sebastien Bourdeauducq
4c10182c9f
rtio: refactor, use rtlink
2015-04-14 19:44:45 +08:00
Sebastien Bourdeauducq
88e0aae16d
coredevice: add comm_tcp
2015-04-10 01:22:03 +08:00
Sebastien Bourdeauducq
f427041ae9
coredevice/comm_serial: minor cleanup
2015-04-10 01:21:47 +08:00
Sebastien Bourdeauducq
cb2596bd81
coredevice/comm: split protocol to allow reuse for Ethernet
2015-04-10 00:59:35 +08:00
Sebastien Bourdeauducq
fda4ee1a83
coredevice: add compile method
2015-04-07 15:40:25 +08:00
Sebastien Bourdeauducq
72f9f7ed79
runtime: implement mailbox, use it for kernel startup, exceptions and termination
2015-04-05 22:07:34 +08:00
Sebastien Bourdeauducq
833178462d
remove gpio driver
2015-04-04 22:06:54 +08:00
Sebastien Bourdeauducq
3108ffeef6
coredevice/comm_serial: use lazy formatting in logging
2015-03-27 18:54:19 +01:00
Robert Jördens
f4cb97b709
comm_serial: fix baud rate change logging
2015-03-25 17:57:53 -06:00
Sebastien Bourdeauducq
7a1d60ee15
coredevice,runtime,language: add parameters to runtime exceptions, include information with RTIO errors
2015-03-13 14:55:18 +01:00
Sebastien Bourdeauducq
84732a469d
coredevice/gpio: fix indentation
2015-03-13 14:31:50 +01:00
Sebastien Bourdeauducq
0f007cb1a7
language/db: remove implicit_core
2015-03-08 11:37:53 +01:00
Sebastien Bourdeauducq
e10390d142
coredevice: add get_rtio_time
2015-02-18 09:56:30 -07:00
Sebastien Bourdeauducq
37feaf1cea
comm_serial: use serial.serial_for_url
2015-01-30 11:47:20 +08:00
Sebastien Bourdeauducq
891c0d12f2
refactor device/parameter management, immediate parameter updates, start introducing results
2015-01-12 18:51:23 +08:00
Sebastien Bourdeauducq
f7232fd3d1
support exceptions raised by RPCs
2014-12-20 21:33:22 +08:00
Yann Sionneau
e4897132ad
comm_serial.py: Use cross-platform pyserial
2014-12-20 10:19:06 +08:00
Sebastien Bourdeauducq
0d10ae7580
rpc: support all data types as parameters
2014-12-19 12:46:24 +08:00
Sebastien Bourdeauducq
059608d1fd
dds: fix phase modes
2014-12-09 13:50:33 +08:00
Sebastien Bourdeauducq
cb48dba29c
coredevice: fix external clock ref_period computation
2014-12-09 11:22:55 +08:00
Sebastien Bourdeauducq
bfe980d458
py2llvm: distinguish between llvmlite Module and ModuleRef
2014-12-06 15:14:39 +08:00
Sebastien Bourdeauducq
159f632a65
switch to llvmlite
2014-12-05 17:05:43 +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
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
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
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
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
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
abae5c6728
coredevice/dds: round FTW instead of flooring
2014-11-17 18:36:00 -07:00
Sebastien Bourdeauducq
e02ca0b404
transforms: quantize time before interleaving
2014-11-15 15:26:35 -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
f54a2f93d2
remove kernel_attr (inline transform is now smart enough to autodetect)
2014-11-03 14:38:04 +08:00
Sebastien Bourdeauducq
217fe8251b
coredevice/core: optimize further
2014-10-31 23:44:07 +08:00
Sebastien Bourdeauducq
1e8c9837ac
transforms: add dead code removal
2014-10-29 20:23:58 +08:00
Sebastien Bourdeauducq
70cc0d1766
transform: add intermediate assignment removal
2014-10-29 17:09:45 +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