25b1bbd10e
Merge branch 'master' into nac3
2022-03-06 18:33:02 +08:00
b02abc2bf4
remove legacy versioning files
2022-03-06 18:30:08 +08:00
ac55da81d8
core: support precompilation of kernels
2022-03-06 18:25:18 +08:00
a7612b9736
artiq_sinara_tester: fix type error
2022-03-05 22:44:25 +08:00
d5806fc959
artiq_sinara_tester: add test_ttl_in NAC3TODO
2022-03-05 22:44:02 +08:00
c9fbb7024c
artiq_flash: fix bit2bin
2022-03-05 22:43:25 +08:00
5e4ae4dfd9
ad9910: fix int64 operations
2022-03-05 22:43:01 +08:00
af1b6d8d33
embedding_map: avoid key 0
...
Object key 0 is reserved for builtin exceptions.
2022-03-05 10:28:53 +08:00
232f28c0e8
kern_hw: fix return type
2022-03-04 15:16:14 +08:00
51fa1b5e5e
drtio: fix i2c switch
2022-03-04 15:16:14 +08:00
9d82f968f9
artiq_sinara_tester: port to NAC3
2022-03-03 17:07:27 +08:00
ba106de24f
suservo: use bool for enable
2022-03-03 17:07:05 +08:00
b7d35446e2
almazny: port to NAC3
2022-03-03 16:24:07 +08:00
8fc0e5d3aa
suservo: port to NAC3
2022-03-02 08:55:27 +08:00
be07481eb5
ad9910: port to NAC3
2022-03-01 18:48:26 +08:00
0256c91d53
ad9912: add missing NAC3TODO
2022-03-01 18:09:41 +08:00
a3b55b6164
dma: tentative port to NAC3
...
will not work due to missing context manager and possibly memory management issues
2022-03-01 17:44:48 +08:00
17ecd35530
test_i2c: fix for missing readback
2022-03-01 17:40:20 +08:00
156cf42f76
nac3devices: compile KasliEEPROM
2022-03-01 17:22:19 +08:00
fb0b806f61
kasli_i2c: port to NAC3
2022-03-01 17:22:06 +08:00
01e55f5731
i2c: port to NAC3
2022-03-01 17:21:54 +08:00
e6f26b5c74
Merge branch 'master' into nac3
2022-03-01 16:58:19 +08:00
a85b4d5f5e
I2C API for PCA9547 support ( #1860 )
2022-03-01 15:07:53 +08:00
5af22af5f6
examples/nac3devices: fix and reenable Phaser
2022-03-01 11:49:03 +08:00
ea55c29568
phaser: port to NAC3
2022-02-28 17:00:24 +08:00
a407007e0b
fastino: port to NAC3
2022-02-28 13:34:55 +08:00
64a0c4b29a
merge artiq.coredevice.runtime into comm_kernel
2022-02-28 12:04:46 +08:00
2e4233274f
grabber: port to NAC3
2022-02-28 11:53:41 +08:00
bf8e188868
ad9914: port to NAC3
2022-02-28 10:22:29 +08:00
5572f223d1
hardware_testbench: port imports to NAC3
2022-02-26 18:53:35 +08:00
158d65c822
test_spi: port imports to NAC3
2022-02-26 18:53:12 +08:00
5acf008be3
test_rtio: port imports to NAC3
2022-02-26 18:52:56 +08:00
a606afa3bd
test_phaser: port imports to NAC3
2022-02-26 18:52:40 +08:00
0e20058da3
test_performance: port imports and type annotations to NAC3
2022-02-26 18:52:15 +08:00
6eb1c4e138
sim: fix import for NAC3
2022-02-26 18:49:45 +08:00
9a05907b7a
test_embedding: port imports and type annotations to NAC3
2022-02-26 18:47:59 +08:00
70531ae1e2
ad9910: port imports and type annotations to NAC3
2022-02-26 18:47:07 +08:00
2720bfa398
i2c: port syscalls to NAC3
2022-02-26 18:42:41 +08:00
645c4590b3
test: remove test_numpy (NAC3TODO)
2022-02-26 18:39:28 +08:00
d7c915ff7b
test_cache: partially port to NAC3
2022-02-26 17:56:02 +08:00
bea7e952fa
edge_counter: restore keyword arguments
2022-02-26 17:41:48 +08:00
7b02918a43
worker_impl: port to NAC3
2022-02-26 17:39:59 +08:00
2d5114f32d
remove legacy compiler test
2022-02-26 16:45:12 +08:00
6388b82455
coredevice/cache: port to nac3
2022-02-26 16:28:17 +08:00
338bb189b4
dashboard: fix typo ( #1858 )
2022-02-26 08:58:03 +08:00
5db9bc9bd4
edge_counter: port to nac3
2022-02-26 08:55:08 +08:00
Leon Riesebos
c4292770f8
Kasli JSON description for SPI over DIO cards ( #1800 )
2022-02-26 07:36:00 +08:00
41c597a707
remove parts that won't initially be supported by nac3
2022-02-25 20:02:36 +08:00
404811cd5c
Merge branch 'master' into nac3
2022-02-25 19:02:07 +08:00
2b918ac6f7
coredevice: merge pcf8574a into i2c
2022-02-25 19:01:14 +08:00
808f968617
examples/nac3devices: add sampler
2022-02-25 18:27:40 +08:00
3d66a6be5d
sampler: port to nac3
2022-02-25 18:26:18 +08:00
464818da34
ad9912: exception with string is supported by nac3
2022-02-25 18:26:01 +08:00
1b80746f48
Remove outer_final
...
We don't need to know whether there's a outer finally block
that's already implicit in the current break and continue
target.
Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-02-24 19:58:33 +08:00
2d6215158f
Fix try/finally:while:try compilation
...
When we have a trys inside a loop then we want to make sure any
finallys are executed by break and continue inside this try. But
this shouldn't pull finallys defined outside the loop in to the
loop. This change resets the `outer_final` attribute when
visiting for and while loops so that this doesn't happen.
Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-02-24 19:58:33 +08:00
f7b315d661
Merge branch 'master' into nac3
2022-02-23 11:07:26 +08:00
0da7b83176
runtime: add nac3 exception symbols
2022-02-23 11:04:53 +08:00
Steve Fan
ad656d1e53
dashboard: add device database reload action in context menu ( #1853 )
2022-02-22 16:18:27 +08:00
Mike Birtwell
a106ed0295
artiq_flash: don't try to make rtm_binary_dir if binary_dir unset ( #1851 )
...
Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-02-18 18:54:17 +08:00
c8b9eed9c9
fastino: add comments about sideeffects on v0.1
2022-02-16 14:42:22 +00:00
08b65470cd
fastino: robustify init()
...
* init() now also clear and resets more state including the interpolators.
If not done, this PLL unlocks/locks may lead to random interpolator state
on boot to which the CICs react badly.
* Use and expose `t_frame`
* Clarify implementation state of `read()`
2022-02-16 14:34:22 +00:00
e76df491f2
coredevice/exceptions: nac3 no longer breaks because of docstrings
2022-02-14 16:39:26 +08:00
7b56a72da0
Merge branch 'master' into nac3
2022-02-14 16:38:09 +08:00
65eab31f23
simplify board package format and artiq_flash
2022-02-14 15:54:17 +08:00
ec6c6dd988
add comments about preallocate_runtime_exception_names/EXCEPTION_ID_LOOKUP syncing
2022-02-13 13:48:05 +08:00
9f620491a9
coredevice: fix exception return handling
2022-02-13 13:32:50 +08:00
8e1ac8b844
Revert "core: remove legacy synthesized filename"
...
This reverts commit 92c1bc2149
.
2022-02-13 13:32:20 +08:00
8aa8647ba8
coredevice: use NAC3 exception support
2022-02-13 12:51:23 +08:00
207ff918c7
coredevice: define ValueError locally
...
work around M-Labs/nac3#189
2022-02-13 12:50:22 +08:00
e8e1ccd4f1
coredevice/exceptions: port to NAC3
2022-02-13 12:49:09 +08:00
2616e1928d
ttl: fix type error
2022-02-13 12:47:53 +08:00
92c1bc2149
core: remove legacy synthesized filename
2022-02-13 11:00:23 +08:00
f2f2e12b91
language: implemented embedding map and exception
2022-02-13 10:59:18 +08:00
b893d97d7b
afws_client: add login successful message
2022-02-08 21:52:48 +08:00
b6f5ba8b5b
afws_client: improve error message when output already exists
2022-02-08 21:26:12 +08:00
cc69482dad
afws: nix requires full Git commit hash
2022-02-08 21:05:39 +08:00
833acb6925
add AFWS client
2022-02-07 14:28:00 +08:00
d5eec652ee
tester: specify att with dB
2022-02-07 14:22:52 +08:00
a74196aa27
mirny: allow set attenuation with dB
2022-02-07 14:22:52 +08:00
Steve Fan
798a412c6f
comm_moninj: set keepalive for socket ( #1843 )
2022-02-04 13:51:19 +08:00
David Nadlinger
e45cb217be
firmware: Explicitly use wrapping integer math in PRNGs
...
Patch by Hannah McLaughlin; apparently, the overflow actually
doesn't get checked/reported without `opt-level = 2` and
`lto = "thin"`.
2022-02-03 23:57:17 +00:00
ef25640937
compiler: fix noreturn attribute on __artiq_resume
2022-02-01 19:01:40 +08:00
Steve Fan
34008b7a21
Backport of "fixes alignment and size problem" from artiq-zynq ( #1841 )
2022-01-28 20:49:55 +08:00
93328ad8ee
compiler: only allow constant exception messages
...
Otherwise, the exception message might be allocated on a stack, and will
become a dangling pointer when the exception is raised.
This will break some code that constructs exceptions with a function by
passing the message as a parameter because we cannot know if the parameter
is a constant. A way to mitigate this would be to defer this check to
LLVM IR codegen stage, and do inlining first for those exception
allocation functions, but I am not sure if we will guarantee inlining
for certain functions, and whether this is really needed.
2022-01-28 09:01:39 +08:00
Steve Fan
234a82aaa9
dashboard: prioritize min as part of default value resolution ( #1839 )
2022-01-27 17:45:09 +08:00
ee511758ce
fix typo
2022-01-26 07:51:35 +08:00
ceceabbaf0
Merge branch 'master' into nac3
2022-01-26 07:25:20 +08:00
9d43762695
test: fixed lit tests
...
Note that because we changed exception representation from using string
names as exception identifier into using integer IDs, we need to
initialize the embedding map in order to allocate the integer IDs. Also,
we can no longer print the exception names and messages from the kernel,
we will need the host to map exception IDs to names, and may need the
host to map string IDs to actual strings (messages can be static strings
in the firmware, or strings stored in the host only).
We now check for exception IDs for lit tests, which are fixed because we
preallocated all builtin exceptions.
2022-01-26 07:16:54 +08:00
4132c450a5
firmware: runtime changes for exception
...
Ported from:
M-Labs/artiq-zynq#162
This includes new API for exception handling, some refactoring to avoid
code duplication for exception structures, and modified protocols to
send nested exceptions and avoid string allocation.
2022-01-26 07:16:54 +08:00
536b3e0c26
test: added test case for nested exceptions and try
2022-01-26 07:16:54 +08:00
ba34700798
coredevice: report nested exceptions
2022-01-26 07:16:54 +08:00
6ec003c1c9
compiler: fixed dead code eliminator
...
Instead of removing basic blocks with no predecessor, we will now mark
and remove all blocks that are unreachable from the entry block. This
can handle loops that are dead code. This is needed as we will now
generate more complicated code for exception handling which the old dead
code eliminator failed to handle.
2022-01-26 07:16:54 +08:00
da4ff44377
compiler: fixed try codegen and allocate exceptions
...
Exceptions are now allocated in the runtime when we raise the exception,
and destroyed when we exit the catch block. Nested exception and try
block is now supported, and should behave the same as in CPython.
Exceptions raised in except blocks will now unwind through finally
blocks, matching the behavior in CPython. Reraise will now preserve
backtrace.
Phi block LLVM IR generation is modified to handle landingpads, which
one ARTIQ IR will map to multiple LLVM IR.
2022-01-26 07:16:54 +08:00
4644e105b1
compiler: modified exception representation
...
Exception name is replaced by exception ID, which requires no
allocation. Other strings in the exception can now be 'host-only'
strings, which is represented by a CSlice with len = usize::MAX and
ptr = key, to avoid the need for allocation when raising exceptions
through RPC.
2022-01-26 07:16:54 +08:00
hartytp
715bff3ebf
Revert "Merge pull request #1544 from airwoodix/dataset-compression" ( #1838 )
...
* Revert "Merge pull request #1544 from airwoodix/dataset-compression"
This reverts commit 311a818a49
, reversing
changes made to 7ffe4dc2e3
.
* fix accidental revert of f42bea06a8
2022-01-25 10:02:15 +08:00
b452789f03
Merge branch 'master' into nac3
2022-01-19 21:07:10 +08:00
Steve Fan
3f812c4c2c
comm_kernel: fix RPC exception handling ( #1801 )
2022-01-12 15:23:37 +08:00
Steve Fan
de5892a00a
comm_kernel: check if elements are within bounds for RPC list ( #1824 )
2022-01-11 17:16:45 +08:00
Peter Drmota
4eee49f889
gateware.test.suservo: Fix tests for python >=3.7
...
Closes #1748
2022-01-11 17:16:09 +08:00
9eee0e5a7b
gateware/suservo: fix profile no. in test
...
Follow-up/Test update for 9d49302
.
2022-01-11 14:20:47 +08:00
d7dd75e833
comm_kernel: fix off-by-one error for numeric value range check
2022-01-11 10:13:42 +08:00
095fb9e333
add Almazny support ( #1780 )
2022-01-11 09:55:39 +08:00
4e3e0d129c
firmware: fix compilation warning
2022-01-11 09:31:26 +08:00
12ee326fb4
firmware: fixed personality function
2022-01-11 09:30:19 +08:00
61349f9685
sinara_tester: fix outdated API
2022-01-10 17:23:28 +08:00
cea0a15e1e
suservo: use default urukul profile
2022-01-10 16:21:39 +08:00
8b45f917d1
urukul: use default profile
2022-01-10 16:21:39 +08:00
6542b65db3
compiler: fixed exception codegen issues
2022-01-10 15:54:29 +08:00
9f90088fa6
compiler: generate appropriate landingpad IR
...
When used together with modified personality function, we got ~20%
performance improvement in exception unwinding with zynq.
2022-01-10 15:54:29 +08:00
5e1847e7c1
compiler: rename variables
to retainedNodes
...
Part of the changes that was made to LLVM 6 by the time that LLVM 7 was released.
LLVM commit: 2c864551df
LLVM differential review: https://reviews.llvm.org/D45024
2022-01-10 11:28:37 +08:00
6f3c49528d
compiler: revert cabe5ac
...
The lack of debug emitter causes #1821 .
2022-01-10 11:26:03 +08:00
02555e48a0
update NAC3, use power operator
2022-01-09 11:45:10 +08:00
eaa1505c94
update documentation ( #1820 )
2022-01-08 11:55:52 +08:00
Leon Riesebos
f42bea06a8
worker_db: removed warning for writing a dataset that is also in the archive
...
Signed-off-by: Leon Riesebos <leon.riesebos@duke.edu>
2022-01-08 11:48:18 +08:00
9d493028e5
gateware/suservo: write to profile 7
...
Fixes #1817 .
2022-01-07 16:41:19 +08:00
bbac477092
tools: fix importlib issue
2021-12-21 13:20:11 +08:00
088c3b470e
update NAC3, use new Kernel type annotation
2021-12-20 17:56:40 +08:00
c0a7be0a90
llvm_ir: move stacksave before lltag alloca in build_rpc
...
Signed-off-by: Steve Fan <sf@m-labs.hk>
2021-12-19 00:07:07 +00:00
9e5e234af3
stop using explicit ProactorEventLoop on Windows
...
It is now the default in Python.
2021-12-14 20:06:38 +08:00
352317df11
test_dataset_db: remove (too much breakage on Windows)
2021-12-14 19:27:15 +08:00
a518963a47
test_dataset_db: disable tests broken on windows
2021-12-14 19:19:22 +08:00
37f14d94d0
test_dataset_db: fix for windows
2021-12-14 19:07:17 +08:00
Peter Drmota
7c664142a5
Simplified use of the AD9910 RAM feature ( #1584 )
...
* coredevice: Change Urukul default single-tone profile to 7
This allows using the internal profile control in RAM modulation mode (which always starts to play back at profile 0) without competing for the content of the profile 0 register used in single tone mode.
Signed-off-by: Peter Drmota <peter.drmota@physics.ox.ac.uk>
* ad9910/set_mu: comment on caveats when setting register
* ad9910: avoid unnecessary write/param
Credit: Solution proposed by @pmldrmota in https://github.com/m-labs/artiq/pull/1584#issuecomment-987774353
* revert 1064fdff
(`set_mu()` comments)
158a7be7
had addressed this issue.
Co-authored-by: occheung <dc@m-labs.hk>
2021-12-13 23:44:03 +08:00
dad23b6981
coredevice/ad53xx: use len(list)
2021-12-09 12:40:01 +08:00
33a9ca2684
tools/file_import: use SourceFileLoader
...
This allows loading modules from files with extensions not in
importlib.machinery.SOURCE_SUFFIXES
Signed-off-by: Etienne Wodey <etienne.wodey@aqt.eu>
2021-12-09 11:47:04 +08:00
1def0d98c5
Merge branch 'master' into dataset-compression
2021-12-06 12:40:30 +08:00
Leon Riesebos
7ffe4dc2e3
coredevice: set default pow for ad9912 set_mu()
2021-12-06 12:34:55 +08:00
Leon Riesebos
9e3ea4e8ef
coredevice: fixed type annotations for AD9910
2021-12-06 12:34:55 +08:00
31ac6881df
update NAC3, restore original delays
2021-12-06 12:21:52 +08:00
e34f4cc99b
language: add floor64 and ceil64
2021-12-04 20:13:00 +08:00
12c39aaaae
coredevice/adf5356: use nac3 floor/ceil
2021-12-04 19:04:48 +08:00
2059fd375e
language: add virtual
2021-12-04 19:03:39 +08:00
Steve Fan
4a6bea479a
Host report for async error upon kernel termination ( #1791 )
...
Closes #1644
2021-12-04 13:33:24 +08:00
7953f3d705
kc705: add drtio 100mhz clk switch
2021-12-03 17:19:11 +08:00
f281112779
satman: add 100mhz si5324 settings
...
siphaser: add calculated vco for 100mhz comment
2021-12-03 17:19:11 +08:00
eec3ea6589
siphaser: add support for 100mhz rtio
2021-12-03 17:19:11 +08:00
Etienne Wodey
9f830b86c0
kasli: add SED lanes count option to HW description JSON file ( #1745 )
...
Signed-off-by: Etienne Wodey <etienne.wodey@aqt.eu>
2021-12-03 17:05:35 +08:00
b8e7add785
language: remove deprecated set_dataset(..., save=...)
2021-12-01 22:41:34 +08:00
6a09b92fb3
examples/nac3devices: fix mirny clocking
2021-11-29 18:15:06 +08:00
b2f7022e0a
examples/nac3devices: demonstrate new capabilities
2021-11-28 12:48:18 +08:00
e45c194c49
coredevice/adf5356: port to NAC3
2021-11-28 12:38:23 +08:00
David Nadlinger
c6039479e4
compiler: Add lit test for call site attributes [nfc]
2021-11-27 04:46:07 +00:00
David Nadlinger
63b5727a0c
compiler: Also emit byval argument attributes at call sites
...
See previous commit.
GitHub: Fixes #1599 .
2021-11-27 04:45:50 +00:00
David Nadlinger
9b01db3d11
compiler: Emit sret call site argument attributes
...
LLVM 6 seemed not to mind the mismatch, but more recent
versions produce miscompilations without this.
Needs llvmlite support (GitHub: numba/llvmlite#702 ).
2021-11-27 04:44:41 +00:00
6a433b2fce
artiq_sinara_tester: test Urukul attenuator digital control
2021-11-24 18:57:16 +08:00
5800496425
coredevice/adf5356_reg: port to NAC3
2021-11-24 16:54:58 +08:00
9423428bb0
drtio: fix crc32 offset address
2021-11-24 12:00:56 +08:00
29f42ccd8a
coredevice/mirny: port to NAC3
2021-11-23 17:13:43 +08:00
f5a5b7a22a
examples: add nac3devices
2021-11-23 16:41:29 +08:00
3a6fcd069d
remove old examples
2021-11-23 16:37:40 +08:00