Commit Graph

3449 Commits

Author SHA1 Message Date
381e58434f drtio: handle link restarts at transceiver level 2016-11-19 10:46:56 +08:00
0ee47e77ae phaser: fix widths 2016-11-18 17:24:11 +01:00
bcde26f990 Revert "phaser: cap phy data width to 64 temporarily"
This reverts commit 342b9e977e.
2016-11-18 17:08:44 +01:00
641f07119f runtime: support rtio data wider than 64 bit 2016-11-18 17:08:33 +01:00
ba94ed8f4b drtio: check for absence of disparity errors before claiming RX ready 2016-11-19 00:05:59 +08:00
342b9e977e phaser: cap phy data width to 64 temporarily 2016-11-18 15:46:59 +01:00
14ddcd2e30 Revert "dsp/Delay: reset_less"
for now

This reverts commit 98193d6fa1.
2016-11-18 15:25:42 +01:00
d678bb3fb6 phaser: update sawg tests 2016-11-18 15:23:56 +01:00
4d07974a34 drtio: reset link from CPU 2016-11-18 17:45:33 +08:00
f040e27041 drtio: add timeout on FIFO get space request 2016-11-18 17:44:48 +08:00
whitequark
c7844d5223 runtime: use proper format for git commit.
Fixes #620.
2016-11-17 15:20:21 +00:00
bb047aabe9 drtio: simpler link layer 2016-11-17 22:32:39 +08:00
51f23feeac dsp: implement sawg features 2016-11-17 03:20:37 +01:00
98193d6fa1 dsp/Delay: reset_less 2016-11-17 02:36:29 +01:00
424a1f8f4e dsp: move test tools 2016-11-16 13:39:19 +01:00
09363e1da8 drtio: aux controller unittest 2016-11-16 19:45:28 +08:00
140bb0ecee drtio: aux controller fixes 2016-11-16 19:44:03 +08:00
7fa9a4efc3 drtio: aux controller unittest WIP 2016-11-15 12:02:53 +08:00
6c9965b444 drtio: aux controller fixes 2016-11-15 12:02:41 +08:00
e1394db861 drtio: aux controller minor fixes 2016-11-14 17:26:30 +08:00
84bd962ed5 drtio: integrate aux controller 2016-11-14 17:20:47 +08:00
a4d92716da drtio: fix aux receiver, add aux transmitter 2016-11-14 17:18:54 +08:00
b9ce2bb1f0 Merge branch 'phaser' into phaser2
* phaser: (127 commits)
  phaser: use misoc cordic
  phaser: fix DDS dummy cfg
  runtime: disable the Nagle algorithm entirely.
  runtime: buffer RPC send packets.
  runtime: don't print debug messages to the UART.
  runtime: print microsecond timestamps in debug messages.
  artiq_devtool: abort if build failed.
  conda: bump llvmlite-artiq dep.
  conda: bump llvmlite-artiq dep.
  llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
  artiq_devtool: more robust port forwarding.
  setup: remove paramiko dependency (optional and developer-only)
  artiq_devtool: implement.
  artiq_compile: actually disable attribute writeback.
  conda: use pythonparser 1.0.
  conda: tighten pythonparser dependency (fixes #600).
  doc: clarify kernel_invariant doc (fixes #609).
  compiler: Emit all-kernel_invariant objects as LLVM constants
  conda: update for LLVM 3.9.
  add has_dds, use config flags
  ...
2016-11-13 17:30:37 +01:00
70a70320bd phaser: use misoc cordic 2016-11-13 17:29:38 +01:00
2e482505c6 phaser: fix DDS dummy cfg 2016-11-13 17:08:59 +01:00
f2f131e0fb drtio: add aux receiver (untested) 2016-11-14 00:04:53 +08:00
aedb6747f2 Merge branch 'master' into phaser
* master: (47 commits)
  runtime: disable the Nagle algorithm entirely.
  runtime: buffer RPC send packets.
  runtime: don't print debug messages to the UART.
  runtime: print microsecond timestamps in debug messages.
  artiq_devtool: abort if build failed.
  conda: bump llvmlite-artiq dep.
  conda: bump llvmlite-artiq dep.
  llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
  artiq_devtool: more robust port forwarding.
  setup: remove paramiko dependency (optional and developer-only)
  artiq_devtool: implement.
  artiq_compile: actually disable attribute writeback.
  conda: use pythonparser 1.0.
  conda: tighten pythonparser dependency (fixes #600).
  doc: clarify kernel_invariant doc (fixes #609).
  compiler: Emit all-kernel_invariant objects as LLVM constants
  conda: update for LLVM 3.9.
  add has_dds, use config flags
  Revert "Revert "Revert "Revert "Update for LLVM 3.9.""""
  Revert "Revert "Revert "Update for LLVM 3.9."""
  ...
2016-11-13 16:54:28 +01:00
whitequark
18c394976e runtime: disable the Nagle algorithm entirely.
See also commit feed91d; that commit fixed the test_rpc_timing test,
but caused frequent hangs elsewhere, which were also caused by buggy
Nagle implementation. Just disable this entirely, as with our
explicit buffering it provides no benefit anyway.
2016-11-13 00:33:24 +00:00
whitequark
feed91d8b2 runtime: buffer RPC send packets.
This brings mean RPC time from ~45ms to ~2ms.

The cause of the slowness without buffering is, primarily, that lwip
is severely pessimized by small writes, whether with Nagle on or off.
(In fact, disabling Nagle makes it function *better* on many small
writes, which begs the question of what's the point of having Nagle
there in the first place.) In practical terms, the slowness appears
only when writing a 4-byte buffer (the synchronization segment);
writing buffers of other sizes does not trigger the problem.

This all is extremely confusing and the fix is partly palliative,
but since it seems to work reliably and we're migrating off lwip
I think it is unwise to spend any more time debugging this.
2016-11-12 23:06:33 +00:00
whitequark
3ce1826891 runtime: don't print debug messages to the UART.
It takes ~4ms to print an empty log line because of how slow
the UART is. This makes the log timestamps useless for debugging
performance problems.

After this commit, it takes ~75us to print an empty log line instead,
which pessimizes test_rpc_timing by less than 2ms with tracing
enabled.
2016-11-12 20:26:32 +00:00
whitequark
acc5e53b32 runtime: print microsecond timestamps in debug messages. 2016-11-12 20:26:32 +00:00
whitequark
dca3fb5c96 artiq_devtool: abort if build failed. 2016-11-12 20:26:32 +00:00
whitequark
d3ee858d16 llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
This helps LICM, among other things.
2016-11-12 04:08:58 +00:00
whitequark
8b6418c604 artiq_devtool: more robust port forwarding. 2016-11-11 15:22:07 +00:00
whitequark
3b6cbb1f06 artiq_devtool: implement. 2016-11-10 20:25:15 +00:00
whitequark
0e76cbc414 artiq_compile: actually disable attribute writeback.
I wrote both halves of this condition but forgot to hook
them together.

Fixes #586.
2016-11-10 01:04:36 +00:00
David Nadlinger
bfbdba9205 compiler: Emit all-kernel_invariant objects as LLVM constants
This enables constant propagation optimisations, as verified by
the included test case. This is only a first stop-gap measure, though;
we should support optimisation based on kernel invariants on a more
fine-grained level.
2016-11-09 14:50:48 +00:00
8a48d6d66e drtio: fix typo 2016-11-09 22:15:42 +08:00
863934c4fa drtio: more reliable link layer init 2016-11-09 22:03:47 +08:00
c92ccd3b5b drtio: add pulse rate example 2016-11-09 15:29:15 +08:00
60e748eabe drtio: better LED demo 2016-11-09 14:53:45 +08:00
d547c5d922 drtio: fix example ref_period 2016-11-09 14:44:01 +08:00
99ad9b5917 add has_dds, use config flags 2016-11-08 23:33:03 +08:00
whitequark
ec8fe6f8bd Revert "Revert "Revert "Revert "Update for LLVM 3.9.""""
This reverts commit 7b81ed1d18.
2016-11-08 14:22:47 +00:00
whitequark
7b81ed1d18 Revert "Revert "Revert "Update for LLVM 3.9."""
This reverts commit 0d7688017b.
2016-11-08 12:58:20 +00:00
whitequark
a8fd697d41 runtime: unbreak 453e8b7.
Running
  rustc --cfg 'foo="1"'
does not result in a statement of the form
  do_thing()
to be compilex in.
2016-11-08 12:57:06 +00:00
whitequark
e0297039c9 artiq_run: fix bitrot in .ll/.bc runners. 2016-11-08 12:08:20 +00:00
whitequark
0d7688017b Revert "Revert "Update for LLVM 3.9.""
This reverts commit 5f5975844a.
2016-11-08 11:59:16 +00:00
whitequark
798a5f70df Revert "runtime: remove some redundant libm functions copied inline."
This reverts commit fee75bd50f.

LLVM does not have lround as a libcall and this inhibits LICM.
2016-11-08 11:54:17 +00:00
95acc9b9d4 drtio: allow specifying 7series RXSynchronizer initial phase 2016-11-08 16:52:40 +08:00
bcb5053fb6 drtio: fix master TSC KCSR readout 2016-11-08 16:40:50 +08:00
651d538217 Merge branch 'master' into drtio 2016-11-08 16:11:18 +08:00
8c86920364 drtio: add examples 2016-11-08 16:11:10 +08:00
David Nadlinger
6e77f65d50 compiler: Clarify recv_rpc value names and documentation [nfc]
Previously, the phi emitted for the pointer parameter to recv_rpc was –
rather confusingly – called "size", and the pseudo-code in the comment
had bit-rotted.

Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-11-07 14:38:21 +00:00
78f18a12eb runtime: basic DRTIO init code 2016-11-07 19:34:34 +08:00
453e8b7eb3 runtime: support configurations without moninj, log or dds 2016-11-06 23:53:10 +08:00
266ae292d9 runtime: support configurations without moninj, log or dds 2016-11-06 23:52:27 +08:00
c4cd269afc Merge branch 'master' into drtio 2016-11-06 00:13:32 +08:00
d158c69be0 phaser: fix frequency comment 2016-11-05 16:54:23 +01:00
47b9868c68 kc705_drtio_master: pretend drtio is rtio 2016-11-05 23:48:29 +08:00
de065b7578 kc705_drtio_satellite: set output dir 2016-11-05 23:48:15 +08:00
David Nadlinger
7dcc987dd7 compiler: Fix break/continue targets in loop else blocks
Previously, they would still target the respective labels in the
just-exited loop.

Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-11-05 02:35:01 +00:00
de47123737 drtio: connect RST and LOCKED on 7series RXSynchronizer MMCM 2016-11-05 00:24:49 +08:00
5019b03f10 drtio: add echo and packet count test 2016-11-04 22:24:35 +08:00
df7294792c drtio: break some RT features into manager, add echo request CSR 2016-11-04 19:38:24 +08:00
1145a193dd drtio: fix ack of echo and set_time requests 2016-11-04 18:36:43 +08:00
3da1cce783 drtio: add packet counters 2016-11-04 17:53:42 +08:00
8ec73cb9ec dashboard: pack moninj widgets (#603) 2016-11-04 16:20:46 +08:00
747da3da15 drtio: differentiate local and remote unknown packet type errors 2016-11-04 15:17:19 +08:00
f76aa249ce drtio: squelch 7series RXSynchronizer outputs when MMCM is unlocked 2016-11-04 15:16:48 +08:00
6a75837261 drtio: fix link_layer remote RX ready detection 2016-11-03 20:15:04 +08:00
1d027ffa95 drtio: fix gtx_7series comma alignment 2016-11-03 20:14:11 +08:00
a4ba34bb2c drtio: cleanup test_full_stack 2016-11-03 20:13:31 +08:00
ba58a8affd drtio/gtx_7series: paranoid reset deglitching 2016-11-02 18:30:22 +08:00
whitequark
00100148f1 Si5324: actually write value of N32 into registers. 2016-11-02 07:09:04 +00:00
bee9774bd5 drtio: add link layer status CSR 2016-11-02 13:09:13 +08:00
1ed3278783 remove stale TODO 2016-11-02 10:53:54 +08:00
whitequark
a6ae254796 Si5324: update to free run from XA/XB, with CKIN1 having priority. 2016-11-01 16:01:24 +00:00
whitequark
b30734a105 runtime: fix a race condition with async RPCs.
session.rs has code like:

    while !rpc_queue::empty() {
        try!(process_kern_queued_rpc(stream, &mut session))
    }

    // A

    if mailbox::receive() != 0 {
        try!(process_kern_message(waiter, Some(stream), &mut session));
    }

If both an async and a mailbox RPC (async or large sync) are posted
at point A then they will be processed out of order.
This commit fixes the issue by flushing the async RPC queue before
posting any RPC to the mailbox.
2016-11-01 13:22:22 +00:00
whitequark
6fcd57a41a runtime: fix remaining async RPC bugs. 2016-11-01 10:33:57 +00:00
whitequark
2095d01b84 runtime: dirty hacks to remove allocations in ksupport. 2016-11-01 08:55:49 +00:00
whitequark
c1e6d4b67c runtime: fix multiple async RPC bugs. 2016-11-01 06:51:44 +00:00
whitequark
636d4efe81 gateware: rewrite mailbox to use bits_for. 2016-11-01 06:28:43 +00:00
43cd970100 make set_dataset and mutate_dataset async RPCs 2016-11-01 11:11:41 +08:00
whitequark
18ae8d54a3 gateware: fix mailbox. 2016-11-01 02:33:00 +00:00
whitequark
898a716b91 runtime: work around mor1kx ignoring low bits of reset address.
Fixes #599.
2016-10-31 18:13:15 +00:00
0c1a76d668 unify rtio/drtio kernel interface 2016-11-01 00:30:16 +08:00
whitequark
617e345d16 gateware: fix kernel CPU exec address. 2016-10-31 15:16:35 +00:00
07ad00c1ca drtio: split kernel/system CSRs 2016-10-31 18:09:36 +08:00
9aa94e1a2d adapt to migen/misoc changes 2016-10-31 00:53:01 +08:00
2392113bb6 kc705: use misoc clock for false path 2016-10-30 11:16:04 +08:00
whitequark
cd68577dbc compiler: add support for async RPCs. 2016-10-30 00:57:31 +00:00
whitequark
2ac85cd40f runtime: implement prototype background RPCs. 2016-10-29 21:34:25 +00:00
c656a53532 kc705: clean up clock constraints 2016-10-29 21:28:01 +08:00
ed4d57c638 use new Migen signal attribute API 2016-10-29 21:19:58 +08:00
da5208e160 drtio: add master gateware target 2016-10-29 17:31:15 +08:00
7c05dccf65 drtio: add support for 125MHz clock on GTX_1000BASE_BX10 2016-10-29 17:30:29 +08:00
95def81c03 drtio: squelch frame signals until link layer ready 2016-10-29 17:05:30 +08:00
4f6241283c drtio: always use NoRetiming on MultiReg inputs 2016-10-29 16:37:53 +08:00
b14fcd41e4 ksupport: add ad9154* 2016-10-28 02:39:24 +02:00
2a1e529dcf phaser: DDS config dummies 2016-10-28 01:58:08 +02:00
8eff8586bb moninj.rs: force u32 dds_ftws 2016-10-28 01:57:55 +02:00
6d07a16c62 Merge branch 'master' into phaser
* master: (72 commits)
  gateware: extend mailbox to 3 entries.
  master/worker_db: set default value for archive
  master: keep dataset manager consistent when set_dataset is called with contradictory attributes
  master: archive input datasets. Closes #587
  master: ensure same dataset is in broadcast and local when mutating
  scheduler: default submission arguments, closes #577
  pdq2: sync with pdq2
  doc: clarify usage of pause/check_pause, closes #571
  dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572
  gateware/spi: fix import
  runtime: fix use of $(realpath) in Makefile.
  test: fix printf specifier.
  llvm_ir_generator: make sure RPC allocations are not underaligned.
  runtime: use i64 for watchdog timeout, not i32.
  runtime: port ksupport to Rust.
  runtime: remove some redundant libm functions copied inline.
  language: Add "A" (ampere) as well-known unit for arguments
  conda: misoc 0.4 (csr)
  runtime: cap log level at debug.
  runtime: discard unnecessary sections.
  ...
2016-10-28 01:40:11 +02:00
c428800caf phaser: spi, sma_gpio: 2.5 V 2016-10-27 15:53:49 +02:00
65b2e4464c phaser: sysref/sync diff term 2016-10-27 14:14:56 +02:00
ea0c304a0c phaser2: wip 2016-10-27 01:00:42 +02:00
9bbc6eb0ef drtio: more full stack testing 2016-10-26 22:04:32 +08:00
929a7650a8 drtio: fixes 2016-10-26 22:03:44 +08:00
45621934fd drtio: forward errors to CSR 2016-10-26 22:03:05 +08:00
7f8e53aa5c drtio: more fixes and tests 2016-10-26 11:48:47 +08:00
22173b8c70 drtio: full stack unittest 2016-10-26 00:35:22 +08:00
f763b519f4 drtio: fix channel selection 2016-10-26 00:33:21 +08:00
ad042de954 drtio: fixes, basic TTL working in simulation 2016-10-25 12:41:16 +08:00
e981b23548 phaser: use misoc cordic 2016-10-24 19:33:23 +02:00
d2f776b0d0 phaser: add more tools 2016-10-24 17:39:14 +02:00
94e68dbae4 drtio: test_full_stack (WIP) 2016-10-24 23:36:33 +08:00
a4e85081aa drtio: more simple fixes 2016-10-24 23:32:49 +08:00
029e0d95b7 drtio: simple fixes 2016-10-24 23:10:15 +08:00
c39987b617 drtio: handle underflow/sequence error CSRs 2016-10-24 20:46:55 +08:00
7dd6eb2f5e drtio: add RT write controller 2016-10-24 19:50:13 +08:00
83bec06226 drtio: fifo level -> fifo space 2016-10-24 15:59:12 +08:00
aa8e211735 drtio/rt_packets: fix 2016-10-22 13:03:35 +08:00
449d1c4dc6 rtio: export CDC modules 2016-10-22 13:03:10 +08:00
67c19ab178 drtio: RTPacketMaster RX, untested 2016-10-22 01:04:14 +08:00
3b4a40401a drtio: RTPacketMaster TX (WIP) 2016-10-21 22:46:14 +08:00
1e313afe64 drtio: CrossDomainNotification 2016-10-21 22:45:45 +08:00
c71c4c89e0 drtio: change data direction in _CrossDomainRequest 2016-10-21 22:44:47 +08:00
whitequark
6872017449 gateware: extend mailbox to 3 entries. 2016-10-21 12:09:14 +00:00
6a88229e6a drtio: CrossDomainRequest 2016-10-20 23:37:59 +08:00
6aa13fbf25 master/worker_db: set default value for archive 2016-10-19 20:12:16 +08:00
9790c5d9ed drtio/iot: FIFO level 2016-10-19 18:04:03 +08:00
bf942fc228 ksupport: adapt to dyld_load() 2016-10-18 11:37:27 +02:00
71480c4d15 drtio: fix mmcm_mult 2016-10-18 17:28:03 +08:00
5d184f8061 master: keep dataset manager consistent when set_dataset is called with contradictory attributes 2016-10-18 17:11:07 +08:00
69d96b0158 master: archive input datasets. Closes #587 2016-10-18 17:11:07 +08:00
ed2624545f master: ensure same dataset is in broadcast and local when mutating 2016-10-18 17:11:07 +08:00
1908339d4e scheduler: default submission arguments, closes #577 2016-10-18 17:11:06 +08:00
54f05b6fc1 ksupport: kernel_run lookup with dyld (closes #590)
adapt to misoc change
2016-10-18 10:07:07 +02:00
78700a67bc sawg: fast-math 2016-10-18 10:05:51 +02:00
b2327cf808 sawg: core is kernel_invariant 2016-10-18 10:05:51 +02:00
0e41725e2d pdq2: sync with pdq2 2016-10-18 09:43:46 +02:00
69099691f7 doc: clarify usage of pause/check_pause, closes #571 2016-10-17 20:08:15 +08:00
02adccf4a2 dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572 2016-10-17 19:57:59 +08:00
e7dbed3b02 gateware: KC705 satellite target 2016-10-17 19:23:45 +08:00
9752ffe3d1 drtio: various fixes 2016-10-17 19:23:08 +08:00
cce29e8b83 gateware/spi: fix import 2016-10-17 14:47:19 +08:00
b6002529cf gateware/spi: fix import 2016-10-17 14:07:11 +08:00
85834976d9 gateware/spi: fix import 2016-10-17 14:06:35 +08:00
whitequark
6da1f39670 runtime: fix use of $(realpath) in Makefile. 2016-10-17 00:11:02 +00:00
whitequark
f10a4498c7 test: fix printf specifier. 2016-10-16 23:54:29 +00:00
whitequark
2a9e370840 llvm_ir_generator: make sure RPC allocations are not underaligned. 2016-10-16 16:43:03 +00:00
whitequark
7618907cad runtime: use i64 for watchdog timeout, not i32. 2016-10-16 16:32:43 +00:00
whitequark
a8c017bfcc runtime: port ksupport to Rust. 2016-10-16 16:32:43 +00:00
whitequark
fee75bd50f runtime: remove some redundant libm functions copied inline. 2016-10-16 16:25:29 +00:00
6a683c712b phaser: work around for unreliable transciever init 2016-10-16 16:01:23 +02:00
d3b274fc4d drtio: synchronizer MMCM 2016-10-16 17:40:58 +08:00
03d3a85e75 drtio: RX clock alignment and ready 2016-10-15 18:36:27 +08:00
Florent Kermarrec
0259c80015 phaser/kc705: remove transceiver initialization workaround 2016-10-14 19:06:43 +02:00
9ba6be8796 phaser: speed up ad9154_test_status 2016-10-14 13:23:14 +02:00
4b4fd32e3d phaser: add another sawg demo 2016-10-14 13:21:42 +02:00
d16068dd9b sawg: absolute phase updates 2016-10-14 12:42:08 +02:00
9b43f09c1d phaser: cleanup prbs 2016-10-14 11:56:10 +02:00
b41b9de905 phaser: tag jesd as clock net 2016-10-14 10:46:33 +02:00
4ea3dea217 phaser: broad spectrum antibiotics with xilinx false paths 2016-10-14 10:22:03 +02:00
e400f8d672 phaser: add two more registers before jesd 2016-10-14 09:54:56 +02:00
3c9c42c779 phaser: drive rtio from jesd-bufg 2016-10-14 02:26:19 +02:00
b9de621557 phaser: fix comment 2016-10-14 02:18:58 +02:00
2b5a69a80c phaser: rm idle_kernel 2016-10-14 02:18:15 +02:00
808874a523 phaser: drive cd_jesd with BUFG 2016-10-14 01:57:48 +02:00
342d6d756e phaser: bypass gtx phalign 2016-10-14 00:59:53 +02:00
89150c9817 phaser: 10G line rate 2016-10-14 00:53:38 +02:00
08e4aa3e3f drtio: GTX WIP 2016-10-14 00:36:13 +08:00
c548a65ec3 drtio: clock domains 2016-10-14 00:34:59 +08:00
42c6658ffe phaser: add some more blinking leds 2016-10-13 15:21:27 +02:00
6a456bd7d4 phaser: feed correct sink (crucial) 2016-10-13 15:17:38 +02:00
b1137563b3 phaser: cleanup dac_setup 2016-10-13 15:02:42 +02:00
4c7c479c94 ad9154: add mirrored bits 2016-10-13 15:02:18 +02:00
c8e45ae3f6 phaser: cleanup jesd phy instantiation a bit 2016-10-13 14:43:24 +02:00
01bfe54dde phaser: actually enable stpl 2016-10-13 14:09:29 +02:00
78a41eec8f phaser: kc705: syntax 2016-10-13 12:38:32 +02:00
Florent Kermarrec
af0e8582a2 phaser: use new jesd clocking 2016-10-13 11:51:06 +02:00
David Nadlinger
e037d167f4 language: Add "A" (ampere) as well-known unit for arguments
Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-10-13 12:22:01 +08:00
9c8b21b3f4 phaser: let link settle a bit longer before starting 2016-10-12 16:13:34 +02:00
0d1ed247e2 phaser: tweak sawg example 2016-10-12 16:01:07 +02:00
2d14864c6d Revert "phaser: 500 MHz dacclock"
This reverts commit 5f737bef76.
2016-10-12 16:01:07 +02:00
Florent Kermarrec
12b8598b84 stpl: fix byte ordering 2016-10-12 15:59:27 +02:00
9644a3a362 ad9154: mix mode addr, digital gain must be on 2016-10-12 15:00:53 +02:00
4376ef5615 phaser: slow down spi a bit 2016-10-12 14:37:43 +02:00
3f1d96b68d phaser: tweak dac_setup 2016-10-12 14:22:57 +02:00
466d1e8304 phaser: update stpl 2016-10-12 14:22:21 +02:00
5f737bef76 phaser: 500 MHz dacclock 2016-10-12 14:03:08 +02:00
3b1d5d7eb6 phaser: verify flags in dac_setup 2016-10-12 12:19:08 +02:00
1117fe191b phaser: support core stpl 2016-10-12 12:03:29 +02:00
f515c11f26 phaser: fix refclk period spec 2016-10-11 20:13:34 +02:00
bae5b73155 phaser: comment out stpl test 2016-10-11 19:50:19 +02:00
2b1cca2e7e phaser: stpl 2016-10-11 19:29:27 +02:00
018f6d1b52 drtio: implement basic IOT 2016-10-11 17:59:22 +08:00
18d18b6685 phaser: add sync ttl input for monitoring 2016-10-10 17:13:23 +02:00
f5f7acc1f8 ttl_simple: add pure Input
(no Tristate for internal signals)
2016-10-10 17:13:23 +02:00
e27228fdd5 ad9516: duty cycle correction 2016-10-10 17:13:23 +02:00
a40b39e9a2 drtio: structure 2016-10-10 23:12:12 +08:00
Florent Kermarrec
c08caae171 phaser: use qpll 2016-10-10 17:05:42 +02:00
5f7229ef92 ad9154: tweak jesd prbs test 2016-10-09 20:34:15 +02:00
87ec333f55 drtio: implement basic writes, errors, fifo levels on satellite 2016-10-10 00:13:41 +08:00
1f93658724 phaser/dac_setup: clear sticky bits, use syncmode=9 2016-10-07 18:54:21 +02:00
89a30b6f7c phaser: error on startup kernel 2016-10-08 00:02:38 +08:00
4e60a6ac71 phaser: tweak sawg example 2016-10-08 00:02:24 +08:00
whitequark
9c3394794e runtime: cap log level at debug. 2016-10-07 14:24:12 +00:00
1157a3a54b ad9514_status: more info 2016-10-07 15:42:46 +02:00
72932fccec phaser: fix sysref for 250 MHz sample rate 2016-10-07 15:40:00 +02:00
cfd2fe8627 phaser: fix fpga deviceclock divider 2016-10-07 13:40:45 +02:00
23b3302200 drtio: implement TSC load in satellite 2016-10-07 19:30:53 +08:00
9b860b26e8 phaser: fix rtio pll inputs 2016-10-07 13:00:42 +02:00
c846e758f1 phaser: fix startup_kernel/ceil 2016-10-07 12:57:38 +02:00
09434ec054 phaser: also adapt rtio_crg 2016-10-07 12:44:22 +02:00
43caffc168 drtio: self-checking echo test 2016-10-07 17:31:51 +08:00
whitequark
4d790b452c runtime: discard unnecessary sections. 2016-10-07 08:30:14 +00:00
0574e882d2 drtio: basic RT packet echo test 2016-10-07 15:36:32 +08:00
cb0d1549c6 drtio: add rt_packets TX datapath, fixes 2016-10-07 15:35:29 +08:00
Florent Kermarrec
e998a980b3 phaser/startup: use get_configuration_checksum() 2016-10-07 09:00:01 +02:00
Florent Kermarrec
b02a7234f6 phaser: use 125MHz refclk for jesd 2016-10-07 08:59:34 +02:00
whitequark
ef10344b3e runtime: rewrite isr() in Rust. 2016-10-07 06:27:10 +00:00
whitequark
8be60cc223 runtime: fix KERNELCPU_LAST_ADDRESS after layout change. 2016-10-07 05:53:55 +00:00
whitequark
4f11b071a5 runtime: remove useless handshaking in analyzer. 2016-10-07 05:53:16 +00:00
whitequark
b52ecda1d5 runtime: make memory map saner. 2016-10-06 18:05:38 +00:00
whitequark
b4bbf44a0a runtime: buffer writes of RPC data.
This improves upload speed ~166×.
2016-10-06 17:32:26 +00:00
whitequark
557bc4bb56 runtime: remove unnecessary buffering. 2016-10-06 17:25:43 +00:00
whitequark
edafb08b43 test: fix d6193365. 2016-10-06 16:27:12 +00:00
whitequark
d619336503 test: update libartiq_support for changed personality ABI. 2016-10-06 15:44:55 +00:00
whitequark
bcdbd00e7b runtime: remove unnecessary null bytes from session protocol. 2016-10-06 15:39:00 +00:00
whitequark
5428a866b3 runtime: the Rust runtime is now just the runtime. 2016-10-06 15:38:45 +00:00
4390fea437 phaser status: add statusmode stuff for serdes pll 2016-10-06 17:36:54 +02:00
01bc7faacc dac_setup: cleanup, add doc 2016-10-06 17:27:50 +02:00
fee7831573 phaser: split setup 2016-10-06 16:48:03 +02:00
1193ba4bf4 ad9154: merge csr spaces 2016-10-06 16:21:15 +02:00
whitequark
3e829d0d01 Rust: unborrow cache after kernel stops. 2016-10-06 14:19:12 +00:00
whitequark
e92f20546a Rust: implement exceptional RPC replies. 2016-10-06 14:08:02 +00:00
whitequark
226fa723bb Rust: implement exceptional kernel termination.
This also adjusts the way backtraces are serialized by kloader.
2016-10-06 13:42:35 +00:00
whitequark
84214ab0d1 Rust: don't panic when loading a kernel twice in same session. 2016-10-06 12:55:19 +00:00
whitequark
6b2789e3db test: add more RPC tests. 2016-10-06 12:54:08 +00:00
4d87f0e9e0 phaser: instantiate jesd204b core, wire up 2016-10-06 14:44:22 +02:00
whitequark
2ae30b5a95 Rust: aggregate kernel CPU log messages and print line by line. 2016-10-06 10:56:19 +00:00
whitequark
3362887d75 Rust: implement receiving for all RPC types. 2016-10-06 10:55:54 +00:00
whitequark
516c6fdea9 language: export TTuple. 2016-10-06 10:55:33 +00:00
76bac21d14 drtio: RT RX datapath, untested 2016-10-06 18:51:20 +08:00
whitequark
5a630067cb Rust: implement sending for all RPC types. 2016-10-06 06:31:27 +00:00
4a0eaf0f95 phaser: add jesd204b rtio dds
gateware: add jesd204b awg

gateware: copy phaser (df3825a)
dsp/tools: update satadd mixin
phaser: no DDS stubs
dsp: accu fix
phaser: cleanup/reduce

sawg: kernel support and docs

sawg: coredevice api fixes

sawg: example ddb/experiment

phaser: add conda package

examples/phaser: typo

sawg: adapt tests, fix accu stb

sawg: tweak dds parameters

sawg: move/adapt/extend tests

sawg: test phy, refactor

phaser: non-rtio spi

phaser: target cli update

phaser: ad9154-fmc-ebz pins

phaser: reorganize fmc signal naming

phaser: add test mode stubs

phaser: txen is LVTTL

phaser: clk spi xfer test

phaser: spi for ad9154 and ad9516

phaser: spi tweaks

ad9154: add register map from ad9144.xml

ad9516: add register map from ad9517.xml and manual adaptation

ad9154_reg: just generate getter/setter macros as well

ad9154: reg WIP

ad9154: check and fix registers

kc705: single ended rtio_external_clk

use single ended user_sma_clk_n instead of p/n to free up one clock sma

kc705: mirror clk200 at user_sma_clock_p

ad9516_regs.h: fix B_COUNTER_MSB

phase: wire up clocking differently

needs patched misoc

kc705: feed rtio_external_clock directly

kc705: remove rtio_external_clk for phaser

phaser: spi tweaks

ad9516: some startup

ad9516_reg fixes

phaser: setup ad9516 for supposed 500 MHz operation

ad9516: use full duplex spi

ad9154_reg: add CONFIG_REG_2

ad9154_reg: fixes

phaser: write some ad9154 config

ad9154_reg: fixes

ad9154: more init, and human readable setup

ad9154/ad9516: merge spi support

ad9154: status readout

Revert "kc705: remove rtio_external_clk for phaser"

This reverts commit d500288bb44f2bf2eeb0c2f237aa207b0a8b1366.

Revert "kc705: feed rtio_external_clock directly"

This reverts commit 8dc7825519e3e75b7d3d29c9abf10fc6e3a8b4c5.

Revert "phase: wire up clocking differently"

This reverts commit ad9cc450ffa35abb54b0842d56f6cf6c53c6fbcc.

Revert "kc705: mirror clk200 at user_sma_clock_p"

This reverts commit 7f0dffdcdd28e648af84725682f82ec6e5642eba.

Revert "kc705: single ended rtio_external_clk"

This reverts commit a9426d983fbf5c1cb768da8f1da26d9b7335e9cf.

ad9516: 2000 MHz clock

phaser: test clock dist

phaser: test freqs

ad9154: iostandards

phaser: drop clock monitor

phaser: no separate i2c

phaser: drive rtio from refclk, wire up sysref

phaser: ttl channel for sync

ad9154: 4x interp, status, tweaks

phaser: sync/sysref 33V banks

phaser: sync/sysref LVDS_25 inputs are VCCO tolerant

phaser: user input-only ttls

phaser: rtio fully from refclk

ad9154: reg name usage fix

ad9154: check register modifications

Revert "ad9154: check register modifications"

This reverts commit 45121d90edf89f7bd8703503f9f317ad050f9564.

ad9154: fix status code

ad9154: addrinc, recal serdes pll

phaser: coredevice, example tweaks

sawg: missing import

sawg: type fixes

ad9514: move setup functions

ad9154: msb first also decreasing addr

phaser: use sys4x for rtio internal ref

phaser: move init code to main

phaser: naming cleanup

phaser: cleanup pins

phaser: move spi to kernel cpu

phaser: kernel support for ad9154 spi

ad9154: add r/w methods

ad9154: need return annotations

ad9154: r/w methods are kernels

ad9154_reg: portable helpers

phaser: cleanup startup kernel

ad9154: status test

ad9154: prbs test

ad9154: move setup, document

phaser: more documentation
2016-10-05 16:17:50 +02:00
2bc5dc4ecb i2c: cleanup includes 2016-10-05 16:17:50 +02:00
a91ed8394c rtio: add input-only channel 2016-10-05 16:17:50 +02:00
279f0d568d rtio: support differential ttl 2016-10-05 16:17:50 +02:00
whitequark
4cfc4e89b9 Rust: add basic RPC support. 2016-10-05 14:15:53 +00:00
whitequark
0a29c00fcc Rust: implement analyzer. 2016-10-05 05:59:38 +00:00
whitequark
2fefd0ad4a Rust: implement moninj. 2016-10-04 12:42:44 +00:00
whitequark
2e4d19a1ce Rust: add some conditional compilation back to rtio_crg. 2016-10-04 12:42:42 +00:00
whitequark
b590c6c7d8 Rust: import --cfg flags generated by misoc. 2016-10-04 08:15:13 +00:00
whitequark
0e2cd38135 Rust: set the SOF_KEEPALIVE flag on session sockets. 2016-10-04 06:42:09 +00:00
whitequark
2b3bc30396 Rust: implement startup kernels. 2016-10-04 06:08:08 +00:00
whitequark
0cd87af386 Rust: don't crash kernel CPU when no flash kernel is present. 2016-10-04 05:27:54 +00:00
whitequark
6bbaff81bf Rust: implement idle kernels. 2016-10-04 05:20:56 +00:00
whitequark
398b709e25 Rust: use try_borrow where applicable. 2016-10-04 03:26:53 +00:00
whitequark
30e997f045 Rust: implement idle kernels and session takeover. 2016-10-02 04:37:24 +00:00
whitequark
8bced9dcb5 Rust: implement cache. 2016-10-01 18:24:53 +00:00
whitequark
d825393e81 Rust: implement watchdogs. 2016-10-01 16:26:57 +00:00
whitequark
5701b2095b Rust: implement all messages used in the kernel interface. 2016-10-01 16:10:09 +00:00
whitequark
ab3bd67412 Rust: style (NFC). 2016-10-01 16:10:09 +00:00
whitequark
999290fe52 runtime: link ksupport with libm, not runtime.
We need libm for the %g format specifier.
2016-10-01 16:10:09 +00:00
whitequark
d3dcb4b8a2 runtime: remove useless copy of flush_cpu_dcache().
ksupport used to not link to libbase, I think.
2016-10-01 16:10:09 +00:00
whitequark
b3b1ea71c5 Rust: implement basic communication with kernel CPU. 2016-10-01 04:20:27 +00:00
1e0c6d6d5d drtio: monitor received link_init 2016-09-30 11:25:06 +08:00
whitequark
1cbb187136 runtime: eliminate va_list from kernel interface. 2016-09-30 03:07:27 +00:00
whitequark
7cfa667d98 runtime: eliminate struct dyld_info from kernel interface. 2016-09-30 03:03:35 +00:00
whitequark
c6a57d2043 Rust: port mailbox routines. 2016-09-30 00:15:20 +00:00
whitequark
55b2535477 Rust: print git commit during startup. 2016-09-29 22:04:52 +00:00
whitequark
9d00023401 Rust: move a few things around (NFC). 2016-09-29 20:56:35 +00:00
whitequark
9c18f1b555 Rust: port clock, rtio_crg routines. 2016-09-29 20:42:40 +00:00
whitequark
83940ae4a6 Rust: add support for artiq_coreconfig. 2016-09-29 18:54:08 +00:00
whitequark
1e392cca64 runtime: remove "test mode" functionality. 2016-09-29 14:48:26 +00:00
whitequark
3263def5c8 Rust: use generated CSR functions. 2016-09-29 14:04:42 +00:00
whitequark
fdcb27ccff Rust: add support for artiq_corelog. 2016-09-28 18:25:25 +00:00
cefb9e1405 drtio: add full link layer 2016-09-27 21:41:57 +08:00
whitequark
b14c19a886 Rust: add skeleton session protocol implementation.
Only ident requests are supported right now.
2016-09-27 13:37:17 +00:00
whitequark
89d4621c09 Rust: fix TcpStream::read. 2016-09-27 13:37:17 +00:00
whitequark
b8137103c3 Rust: fix prelude. 2016-09-27 13:37:17 +00:00
whitequark
9562d8d1df Rust: liblwip: call tcp_recved where appropriate. 2016-09-27 13:37:17 +00:00
08772f7a71 drtio: add RX ready signaling 2016-09-27 19:02:54 +08:00
95d7cba34a drtio: fixes, add aux packet test 2016-09-27 12:46:01 +08:00
e59142e344 drtio: use additive scrambler reset by link init 2016-09-27 11:38:05 +08:00
8a92c2c7e5 drtio: add RX link layer, fixes, simple loopback demo 2016-09-27 11:23:29 +08:00
4e47decdbc drtio: add scrambler/descrambler and test 2016-09-26 14:14:14 +08:00
fa83ad0d9c drtio: add TX link layer 2016-09-26 12:53:10 +08:00
8280e72e90 gateware: use new misoc CSR mapping API 2016-09-24 20:48:37 +08:00
whitequark
956f64906d Rust: fix incorrect use of lwip API. 2016-09-23 05:20:15 +00:00
whitequark
ce05eee80c Rust: style fix. 2016-09-23 05:20:04 +00:00
fac0c68cd1 novatech409b: fix get_status 2016-09-23 11:03:50 +08:00
2d6171e8c4 dashboard: make state restore failure on experiment opening non-fatal 2016-09-21 19:23:06 +08:00
2bb90a4449 pipistrello: shrink a few more fifos 2016-09-21 02:29:05 +02:00
whitequark
9a24a81f14 Rust: update network stack to provide blocking impls. 2016-09-20 14:03:31 +00:00
whitequark
dec394bc13 Rust: port std::error into libstd_artiq.
See https://github.com/jethrogb/rust-core_io/issues/3.
2016-09-20 14:02:53 +00:00
whitequark
1c7e1dd645 Rust: import core_io crate into libstd_artiq.
Unfortunately the crate does not work out of the box with custom
Rust builds, and forking it makes little sense over just embedding
it here. See https://github.com/jethrogb/rust-core_io/issues/2.
2016-09-20 08:28:00 +00:00
whitequark
ed60ba8c4c compiler: skip kernel_invariant linting for exception types. 2016-09-14 23:34:57 +00:00
whitequark
feeb089505 compiler: warn about unused kernel_invariant entries.
Fixes #543.
2016-09-14 23:28:55 +00:00
whitequark
494cfca41c coreanalyzer: fix rtio_log message extraction.
Fixes #550.
2016-09-14 10:18:00 +00:00
c7c8ad126f pc_rpc: raise AttributeError immediately for nonexistent RPC methods. Closes #534 2016-09-14 11:22:07 +08:00
f010a74479 dashboard: remember experiment editor scroll positions 2016-09-14 10:53:24 +08:00
55363e2ff9 dashboard: save/restore MDI window states when they are closed. Closes #559 2016-09-14 10:53:24 +08:00
89417a47b2 gui: use bare QSpinBox for integer NumberEntries. Closes #558 2016-09-14 10:53:24 +08:00
whitequark
b100770e05 runtime: expose strlen (implicitly required for comparing strings).
Fixes #557.
2016-09-10 00:13:44 +00:00
82fbd3e9c9 doc: CCBs, applet setup from experiment 2016-09-09 23:25:29 +08:00
387688354c master: optimize repository scan, closes #546 2016-09-09 19:19:01 +08:00
whitequark
25ec99930c Also serialize numpy.int{32,64} like int in RPC return values.
Fixes #555.
2016-09-09 08:52:18 +00:00
811f123a17 applets: add disable_applet_group 2016-09-09 13:12:10 +08:00
769b1e2393 applets: fix ccb group creation 2016-09-09 13:08:30 +08:00
4bdbc5b259 applets: use a different workaround to disable editing
True to itself, Qt did not miss the opportunity to trash widgets inside
QTreeWidgetItems when they are moved by drag-and-drop. Problem known for
more than 6 years and still not fixed as of Qt 5.7.
2016-09-09 12:55:01 +08:00
6144839beb applets: support group-level CCB policies 2016-09-09 11:38:55 +08:00
615807afb4 applets: fix indices 2016-09-09 11:16:43 +08:00
ebb0ba17f5 applets: separate create/create+enable CCB policies 2016-09-09 10:02:32 +08:00
ff20ed2710 applets: two column table, remove spurious Qt text editors 2016-09-09 09:07:31 +08:00
6aaf6c8789 language/environment: only call prepare automatically if it exists 2016-09-09 09:06:59 +08:00
7efd990541 language: set NoScan default repetitions to 1 2016-09-08 11:03:55 +08:00
raghu
9b937e08f4 added repetitions for no scan, repetitions set to one when disable other scans selected. Closes #532 2016-09-08 11:03:00 +08:00
5fbcdacec7 environment: call prepare for children by default, closes #545 2016-09-07 20:20:20 +08:00
1cb8f642b4 test: level-based TTL APIs (#218) 2016-09-07 17:37:49 +08:00
2b282456dc coredevice/ttl: fix imports 2016-09-07 17:37:14 +08:00
486fe97649 ttl: add level-based APIs (#218) 2016-09-07 16:55:21 +08:00
a7dd356d30 rtio/phy/ttl: support 'set sensitivity and sample' command (#218) 2016-09-07 15:42:09 +08:00
whitequark
269cedd782 Rust: integrate lwip with the I/O scheduler. 2016-09-06 22:53:02 +00:00
b7b6e7b9db examples: code applet 2016-09-07 00:56:39 +08:00
b982832ddc gui/applets: support passing command line arguments to code applets 2016-09-07 00:56:39 +08:00
whitequark
bf863053b3 Rust: implement bindings for lwip TCP/UDP stacks. 2016-09-06 16:49:49 +00:00
5d293d14c6 gui/applets: fix teardown of half-initialized applets 2016-09-06 23:06:31 +08:00
f6b5d6d20f gui/applets: fix handling of process creation failure 2016-09-06 23:01:04 +08:00
996dfcafc6 dashboard: fix 'disable other scans' 2016-09-06 22:50:12 +08:00
56e3c80623 dashboard: support for code applets 2016-09-06 22:38:34 +08:00
deb51eaaa1 gui: update version number in logo 2016-09-05 23:04:44 +08:00
524ba803e1 artiq_client: add show ccb 2016-09-05 19:07:35 +08:00
71eb65c527 artiq_client: fix 'show log', closes #552 2016-09-05 15:37:35 +08:00
e45c089428 master, dashboard: support applet requests from experiments 2016-09-05 00:53:44 +08:00
549e09e06b applets: simplify command lines 2016-09-04 23:32:09 +08:00
8f6c4451ac gui/applets: support groups, creating and deleting applet groups, renaming groups, moving applets from one group to another and reordering applets and groups via drag-and-drop 2016-09-04 23:09:26 +08:00
c414026b29 import_cache: make sure last line ends with \n as linecache does. Closes #547 2016-09-02 11:01:28 +08:00
dbc08bde8a gui: fix layout and scan disable bugs with argument recomputation 2016-09-02 10:50:25 +08:00
ef2195fe68 dashboard: fix argument recomputation for experiments outside repository. Closes #548 2016-09-02 08:30:42 +08:00
whitequark
49ba8aec18 Rust: implement a basic scheduler. 2016-08-30 11:20:04 +00:00
051e6e0447 spi: use misoc SPIMachine, closes #314 2016-08-26 14:08:12 +02:00
whitequark
58efaad5c6 Merge branch 'rust' 2016-08-17 11:49:55 +00:00
whitequark
f26f446724 artiq_run: unbreak 2016-08-17 10:20:04 +00:00
whitequark
4c6cad2977 Add a Rust component in the runtime. 2016-08-17 09:07:19 +00:00
538d3e8a85 runtime/dds: disable dds_init_sync completely for non-9914 2016-08-17 00:23:58 +08:00
310acca372 dds: fix docstring, closes #540 2016-08-16 14:55:30 +08:00
whitequark
283fc904ec runtime: follow rename of compiler_rt to compiler-rt in misoc. 2016-08-16 06:58:08 +00:00
4e3bb01e7e gui/log: support copying entries to clipboard. Closes #280 2016-08-15 20:19:25 +08:00
23b704802d dds: make init_sync accessible for AD9914 only 2016-08-15 17:45:18 +08:00
raghu
c4d17138a1 added sync for AD9914 2016-08-15 17:44:27 +08:00
b7151a253f gui: improve search of hierarchical datasets. Closes #258 2016-08-14 18:33:24 +08:00
17582047cb ScientificSpinBox: fix suffix/prefix 2016-08-14 11:28:30 +02:00
whitequark
5f5975844a Revert "Update for LLVM 3.9."
This reverts commit 3aa7b99b8f.
2016-08-13 04:43:19 +00:00
whitequark
3aa7b99b8f Update for LLVM 3.9. 2016-08-13 03:28:04 +00:00
9775faa322 gui: use ScientificSpinBox for NoScan and NumberValue (#460) 2016-08-11 17:02:21 +02:00
941f6fc859 gui: auto-set ScientificSpinBox relative_step and precision in ScanWidget 2016-08-11 17:01:38 +02:00
6fe23b8899 gui: new ScientificSpinBox (from 09f9293) closes #460 2016-08-11 16:51:56 +02:00
1c8202e207 gui: cleanup compact_exponential, 15 digits 2016-08-11 14:18:27 +02:00
586f071756 lda: fix windows path 2016-08-11 14:13:20 +02:00
whitequark
1a518ea7eb compiler.embedding: implement string concatenation.
Fixes #526.
2016-08-08 04:05:52 +00:00
whitequark
5a2306ae5a compiler.embedding: implement type annotations for function arguments.
Fixes #318.
2016-08-08 03:28:25 +00:00
8a243d322f gui/applets: hack completer model to block noxious dataChanged signal. Closes #464 2016-08-07 18:57:08 +08:00
84f4725015 cache source on import of modules that may contain kernels. Closes #416 2016-08-06 12:01:49 +08:00
d51b27e0aa tools: cleanup artiq_version 2016-08-04 19:42:13 +08:00
f64a1f566d tools: remove uneeded checkcache 2016-08-04 19:42:04 +08:00
591e44b227 gui/applets: capture applet stdout/stderr and redirect to log. Closes #472 2016-08-04 17:53:42 +08:00
f183f87840 gui.entries: avoid intermediate value feedback, closes #533 2016-08-04 11:36:19 +02:00
whitequark
8a40871f30 protocols.pc_rpc: exclude kernel_invariants from proxying.
Fixes #531.
2016-08-03 04:59:17 +00:00
whitequark
21bc285604 transforms.llvm_ir_generator: skip RPC values for attribute writeback. 2016-08-03 04:59:14 +00:00
89df048efb analyzer: use picosecond resolution in VCD output. Closes #528 2016-08-03 10:57:15 +08:00
Kelly Stevens
4077613020 doc: re-formatting a directory path in lda driver comments so it will display correctly in the sphinx documentation 2016-08-01 23:34:49 +02:00
e7d6ad2595 browser: cleanup dir/file restore, closes #527 2016-07-31 22:56:45 +02:00
92f3757c74 spi: give wb-reads a register level 2016-07-31 14:53:19 +02:00
b5e52e9870 runtime: fix unused variable warning 2016-07-28 09:01:21 +08:00
92338026f6 runtime: RTIO_DDS_COUNT -> CONFIG_RTIO_DDS_COUNT 2016-07-27 21:16:19 +08:00
78366ed9db runtime: add missing include 2016-07-27 20:22:59 +08:00
f1d8848bb1 runtime: support boards without DDS 2016-07-27 19:20:49 +08:00
8fab789e39 runtime: support RTIO configurations without address (e.g. all simple TTL out) 2016-07-27 19:20:13 +08:00
7928ee4a6e runtime: support boards without RTIO CRG 2016-07-27 19:18:14 +08:00
a89f96e24b runtime: support boards without LEDS 2016-07-27 19:16:55 +08:00
5fc3a52189 artiq_flash: expose scripts_path 2016-07-25 10:05:10 +08:00
454b48df97 pipistrello: shrink fifos a bit more to relax pnr 2016-07-23 12:55:49 +02:00
209934485f examples/handover: put slack after reset. Closes #520 2016-07-20 11:52:30 +08:00
0590021790 artiq_flash: support using alternative OpenOCD config files 2016-07-19 15:35:50 +08:00
0744620787 examples/device_db: explain where comments are shown (#518) 2016-07-18 21:43:57 +02:00
6084eff85e tools: help string wording 2016-07-18 19:47:05 +02:00
9785b39edd tools: support wildcard bind: --bind '*' 2016-07-18 18:30:49 +02:00
b9000fa267 tools: __all__ update 2016-07-18 18:30:49 +02:00
0963b07774 dashboard: remove vestige of status bar. Closes #517 2016-07-19 00:01:59 +08:00
1877329fd1 dashboard: style 2016-07-18 16:51:17 +02:00
6a7377244b tools: style 2016-07-18 16:50:45 +02:00
bb706c1fe2 browser/dashboard: use appdirs, closes #438 2016-07-18 16:50:27 +02:00
340d65fec7 add appdirs
1.4.1
MIT license
https://github.com/ActiveState/appdirs/blob/master/appdirs.py
2016-07-18 16:40:18 +02:00
a7e101af8d artiq_flash: fix openocd scripts path (#513) 2016-07-15 15:31:33 +02:00
whitequark
b6c12f2f56 test: relax RPCTiming rpc_time_stddev from 1ms to 2ms.
Even when given exclusive access to our buildserver it still gives
false positives with 1ms.
2016-07-14 10:47:51 +00:00
c0d59140fe pc_rpc: increase firstcon_timeout to 1 s
let's see whether this is enough on windows:

http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/258/steps/python_unittest/logs/stdio

test_attenuation (artiq.test.test_lda.TestLda) ... first connection attempt to ::1:3253[<class 'artiq.protocols.pc_rpc.AutoTarget'>] failed, retrying in the background
Traceback (most recent call last):
  File "c:\slave64\artiq-win64-test\build\artiq\protocols\pc_rpc.py", line 301, in __init__
    self.__coninit(firstcon_timeout)
  File "c:\slave64\artiq-win64-test\build\artiq\protocols\pc_rpc.py", line 317, in __coninit
    (self.__host, self.__port), timeout)
  File "c:\slave64\miniconda\envs\buildbot-artiq-win64-test-258\lib\socket.py", line 711, in create_connection
    raise err
  File "c:\slave64\miniconda\envs\buildbot-artiq-win64-test-258\lib\socket.py", line 702, in create_connection
    sock.connect(sa)
socket.timeout: timed out
2016-07-13 18:45:57 +02:00
whitequark
c50d436f0b ir: invoke is a valid delay decomposition.
Fixes #510.
2016-07-13 08:48:31 +00:00
1c32d4fb71 monkey-patch Python 3.5.2 to disable broken asyncio.base_events._ipaddr_info optimization (#506) 2016-07-13 11:35:16 +08:00
whitequark
c5ba44b8a6 compiler.testbench.perf_embedding: more fine grained reporting. 2016-07-11 17:55:24 +00:00
aa1f32a5df browser: port ae914d2 2016-07-09 19:13:22 +02:00
ee5b269823 browser: port b769403 2016-07-09 18:48:05 +02:00
42093ace8d browser: port ea13d00 2016-07-09 18:46:16 +02:00
5cfdaee46a browser: recompute and load buttons side-by-side 2016-07-09 18:43:36 +02:00
6d0ae689e9 browser: remove copy_rev stub 2016-07-09 18:41:30 +02:00
7ce9fc714a browser: permanently show results' metadata, closes #471 2016-07-09 18:29:01 +02:00
48a42cdb34 browser: move load-args button into area 2016-07-09 17:20:43 +02:00
9ca27e6d7f worker_impl: style 2016-07-09 16:58:19 +02:00
cfb9fb808c worker: also return DummyDevice from ExamineDeviceMgr 2016-07-09 16:53:28 +02:00
7a2405146a rtio: do not reset DDS and SPI PHYs on RTIO reset (#503) 2016-07-09 10:07:19 +08:00
e0ed99cd7b Revert "test/ctlmgr: keep trying to ping on OSError"
This reverts commit 375e821bd8.
2016-07-09 08:59:47 +08:00
whitequark
c4dc4e7bf5 compiler.testbench.perf_embedding: update for core changes. 2016-07-08 10:48:41 +00:00
whitequark
c7a5ec9e61 runtime: update ppp code for lwip 2.0.0.
Fixes #499.
2016-07-08 09:27:15 +00:00
375e821bd8 test/ctlmgr: keep trying to ping on OSError
Since Python 3.5.2, this exception can be raised on Windows when the
connection fails.
2016-07-08 12:40:04 +08:00
2a5a1f320f browser, worker: feed experiments dummy devices, closes #454
* just returning `None` as dummy device (like ExamineDeviceMgr)
is not explicit enough, certainly hard to debug
* introducing a special flag for the `build` action does not
seem the right place
2016-07-08 01:23:28 +02:00
b7cca38f72 browser: let the state manager handle the subcomponents 2016-07-07 16:16:32 +02:00
whitequark
653eeb476f runtime: fix serialization of object lists.
Fixes #500.
2016-07-07 12:40:50 +00:00
whitequark
5a79fcf9ba embedding: reimplement 373578bc properly.
The core of the problem that 373578bc was attempting to solve is
that diagnostics sometimes should be chained; one way of chaining
is the loc.expanded_from feature, which handles macro-like expansion,
but another is providing context.

Before this commit, context was provided using an ad-hoc override
of a diagnostic engine, which did not work in cases where diagnostic
engine was not threaded through the call stack. This commit uses
the newly added pythonparser context feature to elegantly handle
the problem.
2016-07-07 11:49:21 +00:00
whitequark
373578bc02 embedding: fix location for diagnostics on quoted values.
Fixes #489.
2016-07-07 08:32:56 +00:00
c065b5866f require Python 3.5.2, remove monkey patches 2016-07-07 14:55:21 +08:00
8cb29fcb3b targets/kc705: redefine user SMAs as 3.3V IO. Closes #502 2016-07-07 14:53:01 +08:00
whitequark
d90fd7dc00 compiler: implement numpy.full (#424). 2016-07-07 06:33:38 +00:00
whitequark
7a671fb2fd embedding: treat numpy.{int32,int64,array} specially (#424).
Also, remove them from prelude to not pollute the namespace.
2016-07-07 06:33:38 +00:00
whitequark
933ea53c77 compiler: add basic numpy array support (#424). 2016-07-06 09:51:57 +00:00
whitequark
906db876a6 language: replace coredevice int with numpy.{int32,int64}.
Fixes #453.
2016-07-06 04:44:21 +00:00
whitequark
fa71b40c80 compiler: print the builtin type int(width=...) as np.int... 2016-07-06 04:22:51 +00:00
73ac153509 spi: expose more documentation on chaining transfers 2016-07-04 12:43:33 +02:00
71921de5bd spi: do not shift when starting a xfer, closes #495 2016-07-04 12:22:47 +02:00
4a6c270afe browser: stub copy repo rev 2016-07-04 01:19:26 +02:00
dd349b0701 dashboard: simplify dataset editing code 2016-07-03 12:23:56 +08:00
77f60a3e63 browser: support uploading datasets to master. Closes #480 2016-07-03 12:21:36 +08:00
0173a40be0 browser: log runs 2016-07-03 12:20:23 +08:00
cc9edc1555 frontend/client: support keeping persist flag 2016-07-03 12:19:46 +08:00
fdc25777da master/dataset_db: support keeping old persist flag 2016-07-03 12:19:01 +08:00
4c8a8357b0 worker: increase send_timeout (Windows can be really slow) 2016-07-03 12:18:34 +08:00
6ee0f65b12 browser: ditto 11930228fd 2016-07-01 18:47:04 +08:00
11930228fd dashboard: kill the Qt built-in main window closing mechanism
When the main window is closed, Qt makes QApplication.exec() return, which conflicts with Quamash's implementation of loop.run_until_complete(). The conflict causes Quamash's run_forever() to return earlier than it should, and cause "RuntimeError('Event loop stopped before Future completed.')".

Closes #475
2016-07-01 18:39:26 +08:00
ea13d00087 dashboard: preserve argeditor state across argument recomputations. Closes #486 2016-07-01 15:23:40 +08:00
2d1a47ca98 fix indentation 2016-07-01 15:19:52 +08:00
a1cc964c6c test/scheduler: test check_pause 2016-06-29 11:44:42 +08:00
43681b37ec test/rtio: relax constraints 2016-06-29 11:38:36 +08:00
e51928ee97 test/rtio: adapt to new handover behavior 2016-06-29 10:38:37 +08:00
c6e54e3016 coredevice/core: add syscall type annotation 2016-06-29 10:38:19 +08:00
c8dc6ca07c inter-experiment smooth handover 2016-06-29 02:37:50 +08:00
ef8f60c78d Revert "runtime: save now on RPC"
This reverts commit 155794a671.
2016-06-29 02:37:50 +08:00
whitequark
ef2af8c331 compiler.embedding: use the builtin print as RPC.
Fixes #206.
2016-06-28 04:42:41 +00:00
whitequark
6155f65366 compiler: remove now()/at().
Fixes #490.
2016-06-28 04:39:14 +00:00
03a69ec5b7 scheduler: add check_pause function 2016-06-27 14:37:29 +08:00
5853e31ac2 coredevice/comm_tcp: more appropriate exception 2016-06-26 19:08:40 +08:00
bc7d06468f coredevice/comm_generic: style 2016-06-26 18:50:02 +08:00
whitequark
21574bdfa9 compiler.embedding: rename user-defined types with identical names.
Fixes #478.
2016-06-22 01:32:01 +00:00
whitequark
33e8e59cc7 compiler: implement min()/max() as builtins.
Fixes #239.
2016-06-22 01:09:41 +00:00
whitequark
77d47c2fdd transforms.artiq_ir_generator: split out finally→reraise control flow.
This makes it accessible to introspect by local access validator,
making some previously rejected code valid.

Fixes #331.
2016-06-22 00:57:32 +00:00
whitequark
f2ae24da39 compiler: add support for Python modules.
Fixes #408.
2016-06-21 23:35:07 +00:00
whitequark
5c54a6a0e9 Upgrade lwip to 2.0.0 to fix the keepalive bug #456. 2016-06-21 14:47:19 +00:00
88d6d0db06 browser: also support loading arguments by button and activation, closes #479 2016-06-21 13:14:33 +02:00
whitequark
cae6e8639e Revert "runtime: disable lwip TCP keepalive."
This reverts commit 0db6ef0e1c.
2016-06-21 09:45:53 +00:00
whitequark
0db6ef0e1c runtime: disable lwip TCP keepalive.
This sometimes results in an RST sent by lwip after a retransmission,
although it is not clear exactly why. See #456.
2016-06-20 18:55:29 +00:00
f5deafb267 browser: add a debug message for OSError on HDF5 open 2016-06-20 18:02:47 +02:00
155794a671 runtime: save now on RPC 2016-06-19 19:29:46 +08:00
0acc52d513 runtime: minor cleanup 2016-06-19 19:26:30 +08:00
917cc056f4 test: add test for seamless handover on exception termination 2016-06-19 19:15:10 +08:00
8e308481c1 runtime: save now when terminating with exception 2016-06-19 19:07:09 +08:00
2ae20fbc4d runtime: cleanup now_init/now_save 2016-06-19 19:06:32 +08:00
b769403667 dashboard: larger experiment initial window size 2016-06-19 09:31:19 +08:00
b3b0e19d21 dashboard: compute initial experiment window size from font metrics 2016-06-19 08:50:38 +08:00
ae914d2611 dashboard/experiments: look improvements 2016-06-18 18:55:25 +08:00
ec3e7792dc add MultiScanManager 2016-06-18 16:30:34 +08:00
80cf321233 dashboard: do not use Qt recursive event loop 2016-06-18 14:34:23 +08:00
9a1cad5cec dashboard: basic dataset editing capabilities 2016-06-17 16:45:26 +08:00
whitequark
c0e42bbfc8 compiler.embedding: always do one final inference pass.
Fixes #477.
2016-06-16 14:18:43 +00:00
whitequark
26117e8d93 transforms.inferencer: allow variable as type of n in []*n.
Fixes #473.
2016-06-16 13:35:00 +00:00
53eb35cbb8 browser: suppress icon warnings from inaccessible datasets, closes #470 2016-06-15 16:54:06 +02:00
a8b211f891 spi: cross-reference bit ordering and alignment, closes #482 2016-06-15 15:04:04 +02:00
033aa33c9e pyon: support slices 2016-06-15 19:18:46 +08:00
60657c30b0 dashboard: add button to disable other scans 2016-06-15 19:06:04 +08:00
490bb6ef2d gui: save/restore last folder outside repository. Closes #476 2016-06-12 13:18:22 +08:00
ad3d7dc687 browser: cut logging verbosity 2016-06-12 13:11:36 +08:00
3aab77d7a0 doc: precisions about time cursor interaction 2016-06-12 13:08:47 +08:00
7dff446932 language: support setting slices of data in mutate_dataset 2016-06-12 13:08:29 +08:00
3b63c39d2f gui/scanwidget: use -inf/inf to represent absence of boundaries (consistently with QDoubleSpinbox) 2016-06-11 17:25:46 -06:00
765e3f0b5d gui/entries/_RangeScan: set range before setting value. Fixes clamping to 99.99 2016-06-11 17:25:46 -06:00
60d8e30ecd scanwidget: value may be None 2016-06-11 17:25:46 -06:00
b9c3edd49f Revert "coredevice: automatically close on pause"
This reverts commit 1f50b3428e.
2016-06-11 10:12:36 -06:00
eb359ce50b Revert "master/worker: pause/resume devices"
This reverts commit 437b37b158.
2016-06-11 10:11:11 -06:00
44724197c5 Revert "master/worker_db: add pause_devices and resume_devices"
This reverts commit 3c70bc40a4.
2016-06-11 10:11:07 -06:00
3bd190e624 gateware/nist_clock: increase DDS bus drive strength. Closes #468 2016-06-07 11:08:19 -04:00
whitequark
e47538ca33 analyzer: explicitly delimit messages (with \x1D).
Fixes #461.
2016-06-07 11:26:49 +00:00
whitequark
57be065c15 artiq_flash: explicitly pass path within conda env to openocd datarootdir.
By default, openocd searches for scripts in DATAROOTDIR/openocd/scripts.
This of course makes it not relocatable. Conda has a flag to try to
detect and fix such hardcoded paths, but it does not work on openocd
(likely because the .rodata contains an already concatenated path,
which cannot be padded with zeroes from the right).

So, we pass the path explicitly instead.
2016-06-06 19:01:39 +00:00
6db96f81d5 gui/moninj: reduce logging level of UDP failure 2016-06-04 16:33:56 -04:00
c49be807e4 gui/moninj: do not crash when there is no network 2016-06-04 16:31:17 -04:00
6983f3520a explorer: fix directory listing error handling 2016-06-04 10:18:29 -04:00
0ac0547bca dds: use fast math for asf computations 2016-06-03 23:34:32 -04:00
dhslichter
98ae779941 dds: fix asf_to_amplitude 2016-06-03 23:02:16 -04:00
e9a8c4b540 gui/entries: remove unneeded parent 2016-06-03 22:56:45 -04:00
ec3641551c examples: run should not return a value 2016-06-03 22:55:50 -04:00
9ec142e4f6 examples/histograms: convert to mutate_dataset API. Closes #459 2016-05-31 20:25:15 -05:00
5b0f963b98 applets/plot_xy: use numpy array for default X axis. Closes #458 2016-05-30 22:48:32 -05:00