Commit Graph

348 Commits

Author SHA1 Message Date
6ba74ed9f6 nac3artiq: allow creating drivers on device 2021-10-09 15:51:47 +08:00
8b32c8270d nac3artiq: explain delayed registration 2021-10-09 15:21:41 +08:00
5749141efb nac3artiq: add simple KernelInvariant CPython wrapper 2021-10-08 23:46:46 +08:00
3b10172810 nac3artiq: get closer to original ARTIQ semantics in demo
Currently crashes the compiler with:
thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value', nac3core/src/codegen/expr.rs:395:58
2021-10-08 23:41:41 +08:00
82efb0e720 missing file from previous commit 2021-10-08 23:21:36 +08:00
d3a21d75fa handle time cursor functions on the Rust side entirely
This is preparation for with sequential/with parallel support.
2021-10-08 23:14:22 +08:00
a07674a042 nac3artiq: host object supports typevar 2021-10-08 22:45:08 +08:00
c5bcd352a5 flake: add hydraJobs 2021-10-08 08:18:42 +08:00
79d3c5caae switch to Nix flakes 2021-10-08 00:04:22 +08:00
c697e522d3 nac3artiq: #33 demo
The python API is changed a bit to allow running constructor with
@kernel annotation.
2021-10-07 15:58:19 +08:00
08947d20c2 nac3artiq: implements #33 2021-10-07 15:57:45 +08:00
62673cf608 nac3artiq: add back builtins (fix #53) 2021-10-06 16:46:41 +08:00
11144301ca nac3artiq: added simple host value support 2021-10-06 16:07:42 +08:00
4fcb54e463 nac3core: fix #46, better toplevel return type error msg 2021-10-03 18:07:45 +08:00
24b2111c64 nac3core: fix #45 toplevel better error msg for methods/functions 2021-10-03 17:25:28 +08:00
f5ce1afe0b fix tests and switch to insta
Use a library called 'insta' to better organize those longer correct test outputs in toplevel tests. 'insta' creates `.snap` files as snapshots of the test output, and will automatically do the diff if the output is different. This makes maintaining test cases with larger outputs a lot easier.

Reviewed-on: M-Labs/nac3#42
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-10-03 16:39:12 +08:00
915460ecb7 nac3artiq: fix typo 2021-10-03 16:18:15 +08:00
b2c7f51d57 nac3artiq: guarantee ordering of pinned now stores 2021-10-03 10:00:42 +08:00
248d8cbece nac3artiq: handle now-pinning depending on target 2021-10-02 23:40:06 +08:00
c429a86586 nac3artiq: refactor timeline functions 2021-10-02 23:35:28 +08:00
c5e731f16d nac3artiq: implement timeline functions 2021-10-02 23:22:46 +08:00
0cbe4778d2 nac3standalone: demonstrate scalar conversion functions in mandelbrot 2021-10-02 19:21:59 +08:00
c93305739d nac3artiq: fix misleading error message 2021-10-02 19:17:33 +08:00
ba93931758 implement timeline functions for RISC-V (WIP) 2021-10-02 19:05:35 +08:00
3dd916b6ac nac3artiq: update unsendable comment 2021-10-02 18:28:44 +08:00
8447aa3000 nac3artiq: allows kernel function 2021-10-01 00:02:15 +08:00
1d2a32b140 nac3core/toplevel: impl scalar conversion
Implemented scalar conversion functions as builtin functions.
`round` for int64 is now implemented as `round64`.
2021-09-30 23:39:29 +08:00
07a9229d52 nac3artiq: implements #36 2021-09-30 22:30:54 +08:00
f0fdfe42cb nac3core: better impl of #24 2021-09-30 17:07:48 +08:00
928b5bafb5 nac3artiq: add missing symlink 2021-09-29 15:36:30 +08:00
dceaf42500 nac3artiq: support ISA selection 2021-09-29 15:33:12 +08:00
bfd041d361 nac3artiq: filter class definitions 2021-09-27 22:25:19 +08:00
6141f01180 nac3artiq: parse whole Python module, filter ast 2021-09-27 22:12:25 +08:00
8d839db553 typo 2021-09-27 19:12:18 +08:00
316db42940 nac3embedded -> nac3artiq, README cleanup 2021-09-27 10:30:54 +08:00
64404bba20 syscall -> extern (#21) 2021-09-27 10:13:03 +08:00
d4ed76d76e nac3core: implementing #24 2021-09-26 22:17:09 +08:00
3c121dfcda nac3core/toplevel/composer: fixes #29 2021-09-25 22:02:19 +08:00
693ac7d336 nac3core/toplevel: added personality symbol config 2021-09-25 21:44:00 +08:00
dd998c8afc nac3embedded: RTIO LED blinking demo 2021-09-25 14:17:11 +08:00
7ab762a174 demo: add more syscalls and features 2021-09-24 14:45:44 +08:00
7ab2114882 nac3embedded: switch to Zynq (#24) 2021-09-24 14:45:09 +08:00
4535b60fc0 nac3embedded: add device_db for artiq_run of the compiler output 2021-09-24 13:26:23 +08:00
bf48151748 nac3embedded: do not use *.so for output to avoid confusing cpython 2021-09-24 13:25:48 +08:00
bed8ce1f26 nac3embedded: set ELF entry point symbol 2021-09-24 13:25:18 +08:00
c26689c7a7 shell.nix: fix syntax 2021-09-24 12:53:48 +08:00
ac17bf50f8 nac3embedded: RTIO syscalls 2021-09-24 11:39:26 +08:00
13bd18bfcb nac3embedded: produce final shared library 2021-09-24 11:07:52 +08:00
5c236271c3 nac3embedded: string interning 2021-09-24 09:58:58 +08:00
14662a66dc nac3embedded: run linker (WIP) 2021-09-23 21:30:47 +08:00