Commit Graph

7636 Commits

Author SHA1 Message Date
d3869c966e examples: fix RTIO clocks to 125 MHz 2021-12-13 10:42:23 +08:00
77c4d2f013 siphaser: remove support for 150 MHz RTIO clock
* Sayma AMC no longer uses 150 MHz RTIO clock after 1 GS/s upgrade.
2021-12-13 10:37:50 +08:00
23f5796d67 sayma: fix FTW for SyncDDS 2021-12-10 12:13:09 +08:00
34e89a3777 gth_ultrascale: fix TX/RX_CLK25_DIV for 125 MHz GTREFCLK0 2021-12-10 12:13:06 +08:00
a14666bc15 ad9154: re-adjust LMFCDel & LMFCVar for 1 GS/s (K=32)
* @HarryMakes performed 25 consecutive power-cycles of Sayma, in 2-min intervals:
  * Results: MinDelay = 8, FALL_COUNT_Delay = 10
2021-12-10 12:13:03 +08:00
2f49a1a412 sayma: 600 MS/s -> 1 GS/s
* Merged from 'sayma1g' (d74cd24d)
2021-12-10 12:12:43 +08:00
412936f8db ad9154: adjust LMFCDel & LMFCVar based on DYN_LINK_LATENCY readbacks
* @HarryMakes performed 25 consecutive power-cycles of Sayma, in 2-min intervals:
  * Results: MinDelay = 6, FALL_COUNT_Delay = 8 (w/ rollover)
2021-12-10 12:09:58 +08:00
51e28de2f6 ad9154: check alignment phase error after one-shot sync 2021-12-10 12:09:58 +08:00
f5b9eab84b ad9154: fix sync 2021-12-10 12:09:58 +08:00
9dfb0bfe1b gth_ultrascale: fix missing T/RXPROGDIVRESET 2021-12-10 12:09:58 +08:00
946254d22e artiq_sinara_tester: fix handling of IO_UPDATE with SU-Servo 2021-11-20 16:53:09 +08:00
d9b01ed81a compiler: stop using sys.version_info for parser 2021-08-12 12:53:21 +08:00
9801aeb6a5 setup.py: remove outdated dependency_links 2021-08-12 12:53:16 +08:00
08b09f6dc3 artiq_run: fix multiarch 2021-08-12 12:48:23 +08:00
dda4121c1d compiler: turn __repr__ into __str__ when sphinx is used. Closes #741 2021-08-05 11:52:41 +08:00
19daf91280 doc: nixpkgs 21.05 2021-07-27 09:32:35 +08:00
281b2182da artiq_flash: cleanup openocd handling, do not follow symlinks
Not following symlinks allows files to be added to OpenOCD via nixpkgs buildEnv.
2021-07-27 09:31:51 +08:00
414080554c moninj: fix read of incomplete data (#1729) 2021-07-22 17:57:45 +08:00
7b523084b7 documentation: correct artiq_coremgmt examples 2021-07-19 12:10:32 +08:00
c4902be6f8 doc: document shell-dev shortcut 2021-07-14 08:32:48 +08:00
c6cd9ac2ea sinara_tester: add delay before adf5356 init 2021-07-07 12:35:53 +08:00
9741e4aa43 compiler: stop using deprecated numpy.float 2021-06-25 18:35:30 +08:00
Leon Riesebos
ae137d1c9e artiq_flash: wrap paramiko commands in bash login shell
the login shell will load the nix environment on non-nixos systems

Signed-off-by: Leon Riesebos <leon.riesebos@duke.edu>
2021-06-25 11:28:26 +08:00
Star Chen
2f808880d5 Kasli: Added front panel user LED (#1623) (#1694) 2021-06-07 16:32:03 +08:00
9033c59b75 aqctl_corelog: fix endianness issue (closes #1682) (#1689)
Fixed according to
https://forum.m-labs.hk/d/190-fetchingreading-the-core-log-in-a-central-location/10

Tested with both KC705 and ZC706.
2021-06-03 14:06:52 +08:00
a80c35a606 artiq_ddb_template: kasli-soc support 2021-05-30 20:34:16 +08:00
93e1bd9ba0 coredevice.comm_kernel: improved byte list performance. 2021-05-28 11:28:57 +08:00
David Nadlinger
65f0951f1a manual/compiler: Mention TArray annotation 2021-05-25 10:11:16 +08:00
040aa6fd9d artiq_flash: improve openocd not found error message 2021-05-13 14:45:43 +08:00
a16c81a069 phaser: typo 2021-05-07 10:00:24 +08:00
Peter Drmota
ec4270fb4b coredevice.comm_kernel: Fix unpacking of lists of numpy.int64
test.coredevice.test_embedding: Add tests for list of numpy.int64
2021-04-24 16:43:25 +08:00
Leon Riesebos
2d4fefe42e added DefaultMissing to __all__
Signed-off-by: Leon Riesebos <leon.riesebos@duke.edu>
2021-04-21 11:44:19 +08:00
Leon Riesebos
1619a32a1e ad99xx added additional kernel invariants
Signed-off-by: Leon Riesebos <leon.riesebos@duke.edu>
2021-04-21 11:19:20 +08:00
Leon Riesebos
d000e06fbc ad99xx make kernel invariants instance variable
prevents mutations on class variable that applies to all instances at once
closes #1654

Signed-off-by: Leon Riesebos <leon.riesebos@duke.edu>
2021-04-21 11:19:20 +08:00
95e292c8a2 fastino: ensure xxx_to_mu() methods return int32 on the host
Currently running `voltage_to_mu()` or `voltage_group_to_mu()` on the host will
convert all machine unit values to int64. This leads to issues when machine units
are returned from RPCs.

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>
2021-04-19 16:50:27 +08:00
0e3f23a86a jsonschema: mirny: fix clk_sel default value 2021-03-30 16:07:26 +08:00
dbeea7605b jsonschema: style 2021-03-30 14:35:01 +08:00
c6bfcdbf10 jsonschema: mirny: accept string enums for validating clk_sel 2021-03-30 14:35:01 +08:00
cd2e471b07 ddb_template: mirny_cpld: accept clk_sel as a string 2021-03-30 14:35:01 +08:00
a23645291c manual: fix OpenOCD conda instructions 2021-03-27 12:15:34 +08:00
David Nadlinger
3f6840b736 dashboard: Disable Group CCB policy menu before first entry is selected
It was possible to crash the dashboard by opening the context menu
before an applet entry had been selected for the first time (e.g.
immediately after startup) and selecting one of the Group CCB
actions, as the enable update slot would not have been run.
2021-03-21 18:44:30 +08:00
David Nadlinger
9a9290a72d test/lit: Fix invalid type inference test
This broke after b8cd163978, but
is invalid code to start with; this would have previously
crashed the code generator had the code actually been compiled.

(Allowing implicit conversion to bool would be a separate debate.)
2021-03-21 18:44:22 +08:00
David Nadlinger
c1733eef49 compiler: Fix crash with try/finally and stack-return function calls
The previous code could have never worked as-is, as the result slot
went unused, and it tried to append the load instruction to the
block just terminated with the invoke.

GitHub: Fixes #1506, #1531.
2021-03-21 18:44:14 +08:00
David Nadlinger
9e3b6faceb compiler: Map host numpy.bool_ values to TBool
Since we don't implement any integer-like operations for TBool
(addition, bitwise not, etc.), TBool is currently neither
strictly equivalent to builtin bool nor numpy.bool_, but through
very obvious compiler errors (operation not supported) rather than
silently different runtime behaviour.

Just mapping both to TBool thus is a huge improvement over the
current behaviour (where numpy.False_ is a true-like object). In
the future, we could still implement more operations for TBool,
presumably following numpy.bool_ rather than the builtin type,
just like builtin integers get translated to the numpy-like
TInt{32,64}.

GitHub: Fixes #1275.
2021-03-21 18:44:05 +08:00
David Nadlinger
01352236ee compiler: Fix type inference for "ternary" if expressions
Previously, any type would be accepted for the test expression,
leading to internal errors in the code generator if the passed
value wasn't in fact a bool.
2021-03-21 18:43:56 +08:00
David Nadlinger
ca6db87895 coredevice: Fix RPC typing for bool lists/arrays
GitHub: Fixes #1635.
2021-03-20 21:33:03 +08:00
David Nadlinger
c1413a9945 compiler: Change type inference rules for empty array() calls
array([...]), the constructor for NumPy arrays, currently has the
status of some weird kind of macro in ARTIQ Python, as it needs
to determine the number of dimensions in the resulting array
type, which is a fixed type parameter on which inference cannot
be performed.

This leads to an ambiguity for empty lists, which could contain
elements of arbitrary type, including other lists (which would
add to the number of dimensions).

Previously, I had chosen to make array([]) to be of completely
indeterminate type for this reason. However, this is different
to how the call behaves in host NumPy, where this is a well-formed
call creating an empty 1D array (or 2D for array([[], []]), etc.).

This commit adds special matching for (recursive lists of) empty
ListT AST nodes to treat them as scalar dimensions, with the
element type still unknown.

This also happens to fix type inference for embedding empty 1D
NumPy arrays from host object attributes, although multi-dimensional
arrays will still require work (see GitHub #1633).

GitHub: Fixes #1626.
2021-03-15 09:35:03 +08:00
David Nadlinger
925014689e compiler: Properly implement NumPy array slicing
Strided slicing of one-dimensional arrays (i.e. with non-trivial
steps) might have previously been working, but would have had
different semantics, as all slices were copies rather than a view
into the original data.

Fixing this in the future will require adding support for an index
stride field/tuple to our array representation (and all the
associated indexing logic).

GitHub: Fixes #1627.
2021-03-15 09:34:50 +08:00
David Nadlinger
8a892af244 compiler: Fix type inference in slice expressions
This was a long-standing issue affecting both lists and
the new NumPy array implementation, just caused by the
generic inference passes not being run on the slice
subexpressions (and thus e.g. ints not being monomorphized).

GitHub: Fixes #1632.
2021-03-15 09:34:41 +08:00
David Nadlinger
5dcd73107c compiler: Linguistically untangle comment [nfc] 2021-03-15 09:34:34 +08:00