2
0
mirror of https://github.com/m-labs/artiq.git synced 2024-12-26 19:58:25 +08:00
Commit Graph

4624 Commits

Author SHA1 Message Date
whitequark
bfc8fd0807 firmware: add io::Error::Unrecognized variant and use it in drtioaux. 2018-05-14 12:51:59 +00:00
504d37b66b suservo: add SI units functions and document
m-labs/artiq#788
2018-05-14 12:26:49 +00:00
4993ceec35 sampler: unroll conversion for speed 2018-05-14 12:26:49 +00:00
d71e4e60a9 suservo: use addition for offset 2018-05-14 12:26:49 +00:00
27f975e7bb kasli: eem DifferentialInputs need DIFF_TERM
cleanup some formatting on the way
2018-05-14 12:26:49 +00:00
2a47b934ea suservo: remove adc return clock gating 2018-05-14 12:26:49 +00:00
74c0b4452b suservo: clkout and sdo[b-d] are inverted 2018-05-14 12:26:49 +00:00
04240cdc08 suservo: sampler channels are reversed 2018-05-14 12:25:09 +00:00
whitequark
7e299563df firmware: mark many functions in libio as #[inline]. 2018-05-14 11:22:56 +00:00
whitequark
368d6f9bfb satman: remove useless _Unwind_Resume. 2018-05-14 11:22:56 +00:00
whitequark
42420e094a satman: don't unwrap so much in process_aux_packet.
This shrinks the code by almost 4K.
2018-05-14 11:22:56 +00:00
ba1d137d19 ad9914: fix FTW write in regular resolution mode 2018-05-14 18:47:23 +08:00
whitequark
56a29b91fc firmware: implement ConsoleLogger, use it in satman. 2018-05-14 10:45:11 +00:00
whitequark
5d43d457d2 satman: eliminate heap. 2018-05-14 10:05:02 +00:00
whitequark
46c8afc56c firmware: implement libio and use in in drtioaux. 2018-05-14 10:02:39 +00:00
whitequark
d543c9aa63 firmware: backtrace_artiq → unwind_backtrace.
This crate isn't ARTIQ-specific.
2018-05-14 07:33:00 +00:00
b04c7abde8 ad9914: fix kernel_invariants 2018-05-14 14:02:11 +08:00
56a18682a7 ad9914: minor fixes 2018-05-14 10:37:50 +08:00
194d6462ee ad9914: fix set_mu 2018-05-14 00:19:09 +08:00
hartytp
00cb31b804 sampler: remove v_ref parameter (#988) 2018-05-13 18:00:57 +02:00
3027951dd8 integrate new AD9914 driver
moninj, analyzer, docs, examples, tests.
2018-05-13 23:29:35 +08:00
663d8e66ba ad9914: optimize extended-resolution mode 2018-05-13 23:01:06 +08:00
c8d91b297d coredevice: add new ad9914 driver 2018-05-13 22:30:33 +08:00
whitequark
f383a470fe satman: do not debug print unexpected aux packets.
This shrinks firmware by 2.8K.
2018-05-13 13:43:39 +00:00
whitequark
aa42a69849 libdrtioaux: always inline read/write helpers.
This shrinks Packet::{read_from,write_to} by 1K.
2018-05-13 13:39:14 +00:00
whitequark
32522be413 satman: use 1K log buffer and 4K stack.
This reduces memory requirements in half.
2018-05-13 13:28:00 +00:00
whitequark
ee4c475cf3 gateware: fix Sayma satellite build.
RTIO clock multiplier was removed from Sayma in 32f22f4c.
2018-05-13 13:10:39 +00:00
8c1390e557 kasli: use 62.5MHz clock for siphaser reference (#999) 2018-05-12 22:58:03 +08:00
2426fea3f2 siphaser: support external reference for the freerunning 150MHz 2018-05-12 22:57:11 +08:00
6796413a53 serwb: remove unnecessary shebang line 2018-05-12 22:49:44 +08:00
Florent Kermarrec
f5208ff2f3 serwb/core: reduce buffering, use buffered=True 2018-05-12 12:03:58 +02:00
Florent Kermarrec
fdc953e569 serwb/etherbone: recuce buffering 2018-05-12 12:03:11 +02:00
Florent Kermarrec
6e67e6d0b1 serwb: revert some changes (was breaking simulation) 2018-05-12 11:59:46 +02:00
Florent Kermarrec
0a6d4ccd85 serwb/phy: improve/cleanup init 2018-05-12 01:35:34 +02:00
Florent Kermarrec
b6ab59fb80 serwb/phy: increase timeout 2018-05-12 01:32:55 +02:00
Florent Kermarrec
e09dbc89bc serwb: remove idelaye3 en_vtc (was not done correctly, we'll add direct software control) 2018-05-12 01:32:16 +02:00
Florent Kermarrec
6b4bbe31f7 firmware/ad9154: use fixed hmc7043 sysref phase (found with scan) 2018-05-12 00:12:59 +02:00
Florent Kermarrec
3c49eba0a0 firmware/hmc830_7043: put hmc7043 in sleep mode before hmc830 initialization
hmc7043 seems to generate broadband noise when not initialized. This allows isolating issues. If hmc830 still does not always lock correctly, then this is not related to hmc7043 broadband noise.
2018-05-12 00:06:49 +02:00
Florent Kermarrec
cd4477864a serwb: fix case when rtm fpga is not loaded, lvds input can be 0 or 1 2018-05-11 23:31:25 +02:00
2e3bf8602f serwb: reduce buffering. Closes #997 2018-05-11 14:13:41 +08:00
2cece47b10 firmware/si5324: fix compilation warning 2018-05-09 20:00:08 +08:00
6b811c1a8b sayma: fix runtime/rtm gateware address conflict 2018-05-09 19:47:29 +08:00
Florent Kermarrec
9de08f85c6 firmware/ad9154: reduce verbosity of dac_sysref_cfg 2018-05-09 10:57:00 +02:00
f055bf88f6 suservo: add clip flags (#992) 2018-05-09 07:16:15 +00:00
Florent Kermarrec
60fd362d57 serwb: fix rx_comma detection 2018-05-07 23:54:35 +02:00
7d4a103a43 opticlock, suservo: set default kasli hw_rev 2018-05-07 09:07:18 +02:00
whitequark
c646409dbe firmware: fix order of bits clocked into hmc542.
Fixes #993.
2018-05-05 03:12:25 +00:00
whitequark
917a4185eb Unbreak 9dc7efef. 2018-05-05 03:00:30 +00:00
whitequark
fd2b8d5f8f firmware: raise hmc542 log level to INFO. 2018-05-05 02:59:49 +00:00
whitequark
a148729bf8 artiq_flash, artiq_devtool: add support for ssh -J option. 2018-05-05 02:50:01 +00:00
whitequark
9704fb837f firmware: fix warnings in ad9154 driver. 2018-05-05 01:55:42 +00:00
whitequark
8a70c18d1e firmware: add debug output to hmc542 driver. 2018-05-05 01:53:30 +00:00
whitequark
68ef09ed73 firmware: stop profiler before rebooting too. 2018-05-05 01:52:44 +00:00
whitequark
9dc7efefe4 compiler: transparently handle Windows newlines in RunTool. 2018-05-05 01:43:00 +00:00
whitequark
4f29d9134f firmware: update log_buffer.
Fixes #986.
2018-05-05 01:18:59 +00:00
whitequark
5ebc626cf4 artiq_coreprofile: fix an inverted option. 2018-05-05 00:49:42 +00:00
whitequark
b1d349cc1b firmware: implement a sampling profiler.
Does not yet support constructing call graphs.
2018-05-05 00:44:40 +00:00
whitequark
9857dfcd7d firmware: add irq::Exception to libboard. 2018-05-04 18:41:03 +00:00
0b4d06c7a9 worker: keep sys.modules untouched until the end of examine() 2018-05-02 12:50:37 +08:00
8079aa6d20 worker: python docs recommend not replacing sys.modules 2018-05-02 12:48:50 +08:00
8c69d939fb worker: restore sys.modules in examine() (#976) 2018-05-02 12:32:35 +08:00
8d66d53e06 Revert "tools/file_import: restore sys.modules. Closes #976"
This reverts commit b48e782dd6.
2018-05-02 12:14:56 +08:00
5f0cfadb30 rtio/sed: add unittest for sequence number rollover 2018-05-02 12:04:30 +08:00
4120105e3a rtio/sed: fix output network cmp_wrap 2018-05-02 12:04:03 +08:00
bce8fa3ec5 rtio/sed: add replace unittest at the top level (#978) 2018-05-02 10:58:18 +08:00
83fb431cd0 rtio/sed: pass sequence numbers through the FIFOs. Closes #978 2018-05-02 10:57:57 +08:00
Florent Kermarrec
05955bfd79 sayma_rtm: use bufio for sys4x (needed since we are using a -1 speedgrade) 2018-05-01 22:16:35 +02:00
b48e782dd6 tools/file_import: restore sys.modules. Closes #976 2018-05-01 22:15:47 +08:00
Florent Kermarrec
84e1f05559 sayma_rtm: make cd_sys4x clock domain reset_less 2018-05-01 16:11:26 +02:00
whitequark
623614f835 Update LLVM to 6.0.0 and Rust to 1.25.0. 2018-05-01 08:57:37 +00:00
Florent Kermarrec
64c8eee28d serwb/phy/master: fix slave ready detection by filtering possible glitches on rx data (seems to happen when RTM fpga is not loaded) 2018-04-30 23:59:56 +02:00
5a683ddd1f Revert "kasli: force hw_rev for the different targets"
This reverts commit 17d7d7856a.

Would require filtering it in misoc or better
removing the argparse option.
2018-04-28 23:24:41 +02:00
17d7d7856a kasli: force hw_rev for the different targets 2018-04-28 21:30:29 +02:00
whitequark
f7e08ec46b Unbreak f35f1001. 2018-04-28 01:03:08 +00:00
whitequark
f35f100110 compiler: don't crash printing locations of specialized functions.
Fixes #987.
2018-04-28 00:49:25 +00:00
8812824fb2 suservo: speed up example, interlock mem 2018-04-27 17:17:17 +00:00
ae80bab180 urukul: reg based io-update is a kernel 2018-04-27 16:42:09 +00:00
5d3c76fd50 sayma_rtm: use bitstream opts in migen 2018-04-27 15:43:32 +00:00
5f00326c65 suservo: coeff mem write port READ_FIRST 2018-04-27 15:43:32 +00:00
73fa572275 suservo: documentation, small API changes 2018-04-27 16:53:22 +02:00
Florent Kermarrec
4e2d9abaf7 firmware/ad9154: combine analog and digital delay of hmc7043 for sysref scan 2018-04-27 14:32:03 +02:00
fe9834bac4 suservo: update 'technology preview' example [wip]
Still with mostly undocumented and unstable API.
2018-04-27 12:04:17 +00:00
307cd07b9d suservo: lots of gateware/ runtime changes
tested/validated:

* servo enable/disable
* dds interface, timing, io_update, mask_nu
* channel control (en_out, en_iir, profile)
* profile configuration (coefficients, delays, offsets, channel)
* adc timings and waveforms measured
* asf state readback
* adc readback

individual changes below:

suservo: correct rtio readback

suservo: example, device_db [wip]

suservo: change rtio channel layout

suservo: mem ports in rio domain

suservo: sck clocked from rio_phy

suservo: cleanup, straighten out timing

suservo: dds cs polarity

suservo: simplify pipeline

suservo: drop unused eem names

suservo: decouple adc SR from IIR

suservo: expand coredevice layer

suservo: start the correct stage

suservo: actually load ctrl

suservo: refactor/tweak adc timing

suservo: implement cpld and dds init
2018-04-27 13:50:26 +02:00
01f762a8f5 urukul/ad9910: support blind init
urukul: always set io_update attribute
to silence compiler warning w.r.t. kernel_invariants
2018-04-27 13:48:40 +02:00
Florent Kermarrec
3802c7badb firmware/ad9154: add sysref scan/conf for jesd sc1 2018-04-27 13:20:20 +02:00
Florent Kermarrec
8212e46f5e sayma_amc: filter jesd refclk/sysref with jreset (hmc7043 can generate noise when unconfigured see sinara issue #541) 2018-04-27 13:04:37 +02:00
edbc7763e0 urukul: allow no io_update_device 2018-04-25 17:32:36 +00:00
8a1151b54f suservo: example device db 2018-04-25 17:14:25 +00:00
f9b2c32739 suservo: add pgia spi channel 2018-04-25 17:14:25 +00:00
c83305065a suservo: add servo/config/status register 2018-04-25 15:59:06 +00:00
105068ad90 suservo: fix restart timing 2018-04-25 15:19:49 +00:00
c304b6207a suservo: drop adc idelays 2018-04-25 14:59:50 +00:00
b44d6517d1 suservo: use 125 MHz SDR ADC
* easier timing
* natural sampling on rising edge
* timing, signal robustness
* adjust the servo iteration timing
2018-04-25 14:32:23 +00:00
37c186a0fc suservo: refactor, constrain
* remove DiffMixin, move pad layout handling to pads
* add input delay constraints, IDELAYs
2018-04-25 13:44:52 +00:00
d0258b9b2d suservo: set input delays 2018-04-24 15:30:25 +00:00
fe75064c1e suservo: cleanup rtio interface 2018-04-24 13:08:40 +00:00
3942c2d274 suservo: fix clkout cd drive 2018-04-24 10:18:32 +00:00
f74998a5e0 suservo: move arch logic to top, fix tests 2018-04-23 21:11:26 +00:00
4903eb074c suservo: use BUFIO/BUFH for ADC 2018-04-23 18:30:19 +00:00
e36deab0a8 suservo/adc: try to help vivado extract srls 2018-04-23 18:30:19 +00:00