forked from M-Labs/artiq
1
0
Fork 0
Commit Graph

700 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq a91bb48ced gateware: adapt to misoc changes 2015-05-06 18:02:15 +08:00
Sebastien Bourdeauducq 9072647bdc ad9858: make read timing configurable, increase read delays 2015-05-05 19:33:34 +08:00
Sebastien Bourdeauducq 2adf9d91df recover_underflow -> break_realtime 2015-05-03 20:45:28 +08:00
Sebastien Bourdeauducq 4048568d8e support kernel handover with coherent time 2015-05-02 23:41:49 +08:00
Sebastien Bourdeauducq cb65b1e322 rtio/phy/ttl_simple: reset sensitivity with RTIO logic 2015-05-02 16:17:31 +08:00
Sebastien Bourdeauducq a61d701d47 rtio: decouple PHY reset from logic reset 2015-05-02 11:47:11 +08:00
Sebastien Bourdeauducq 65b4b7bb12 coredevice: rename rtio to ttl, integrated in+out driver, loopback on the same pin in tests 2015-05-02 10:35:21 +08:00
Sebastien Bourdeauducq 62669f9ff2 soc: factor timer, kernel CPU and mailbox 2015-05-01 18:51:24 +08:00
Sebastien Bourdeauducq 1684586ae8 test: add unittest for core device watchdog 2015-05-01 14:02:31 +08:00
Sebastien Bourdeauducq 109dfab76c frontend: add artiq_mkfs 2015-04-30 20:03:11 +08:00
Sebastien Bourdeauducq 8a796a6818 artiq_run/ELFRunner: create a core device object (necessary for runtime exception processing) 2015-04-30 10:16:24 +08:00
Zach Smith 5df446ec4b artiq_flash.sh: fix Pipistrello flash proxy filename 2015-04-30 09:24:13 +08:00
Sebastien Bourdeauducq 967145f2dc watchdog support on core device (broken by bug similar to issue #19) 2015-04-29 12:58:37 +08:00
Sebastien Bourdeauducq 9ecbb4c88d gateware/amp/mailbox: simplify 2015-04-29 12:56:21 +08:00
Sebastien Bourdeauducq e5f7fcc339 coredevice/comm_tcp: raise exception on connection closed 2015-04-29 11:18:51 +08:00
Sebastien Bourdeauducq 283695e8aa language/core: integrate watchdogs 2015-04-28 23:23:59 +08:00
Sebastien Bourdeauducq 9b62e7e77b runtime,coredevice: support session reset for serial 2015-04-28 02:11:58 +08:00
Sebastien Bourdeauducq 27d94a22de rtio: expose full_ts_width instead of counter_width parameter 2015-04-28 01:38:11 +08:00
Sebastien Bourdeauducq dc14728264 test/full_stack: use Ethernet 2015-04-28 01:33:37 +08:00
Sebastien Bourdeauducq 8a19766278 runtime,comm_generic: improve and fix list encoding 2015-04-28 01:31:55 +08:00
Sebastien Bourdeauducq 86c012924e targets: rename AMP->Top, merge peripherals 2015-04-28 00:18:54 +08:00
Sebastien Bourdeauducq 938e1c2842 Remove UP support.
The only advantage of UP is to support the Papilio Pro, but that port is also very limited in other ways and the Pipistrello provides a more reasonable platform that also supports AMP.

On the other hand, RPCs on UP are difficult to implement with the session.c protocol system (without an operating system or coroutines), along with many other minor difficulties and maintainance issues. Planned features such as watchdogs in the core device are also difficult on UP.
2015-04-27 20:43:45 +08:00
Sebastien Bourdeauducq 934a6b0495 runtime,coredevice: Ethernet support (buggy) 2015-04-23 23:22:40 +08:00
Sebastien Bourdeauducq e4251c7f41 runtime: get lwip to run 2015-04-22 15:01:32 +08:00
Sebastien Bourdeauducq 18106cc014 comm: refactor to support lwip event model 2015-04-22 01:31:31 +08:00
Sebastien Bourdeauducq 9f52277245 coredevice/core: set default for ref_period 2015-04-22 01:12:01 +08:00
Sebastien Bourdeauducq 17f61b8e29 pxi6733: minor fixes 2015-04-21 16:23:09 +08:00
Sebastien Bourdeauducq e27844e0f7 test/pxi6733: remove useless checks 2015-04-21 16:10:46 +08:00
Yann Sionneau 69388ccc1a pxi6733: add driver and controller 2015-04-21 16:09:55 +08:00
Yann Sionneau e19f8896f0 artiq_rpctool: document numpy availability in RPC call cmd line arguments 2015-04-21 15:57:29 +08:00
Sebastien Bourdeauducq 301a0e6447 rpctool: import numpy 2015-04-21 15:57:25 +08:00
Sebastien Bourdeauducq 0c1d256fef comm_dummy: remove unneeded import 2015-04-19 11:41:20 +08:00
Sebastien Bourdeauducq c98e08fe36 fix transforms unittest 2015-04-19 11:40:49 +08:00
Robert Jördens 0b8d496b62 coefficients: cleanup and refactor some code into CoefficientSource 2015-04-18 21:21:23 -06:00
Robert Jördens 60baed68b4 wavesynth: get coefficients.py into useable state
SplineSource() supports spline interpolating multi-channel tabular data,
cropping it and generating wavesynth compatible segment data from it.

ComposingSplineSource() needs some verification still.
2015-04-18 01:23:15 -06:00
Yann Sionneau 52fe66ee4d artiq_flash.sh: improve detection of flash proxy location
Flash proxy is now searched in ~/.migen /usr/local/share/migen
/usr/share/migen and in the directory specified by "-d" argument
or in artiq/binaries/<board_name>/ if "-d" is not specified.
2015-04-17 00:57:16 +08:00
Sebastien Bourdeauducq 546996f896 coredevice,runtime: put ref_period into the ddb 2015-04-16 15:15:38 +08:00
Sebastien Bourdeauducq 71167b8adf rtio: do not attempt latency compensation in gateware 2015-04-16 13:09:29 +08:00
Sebastien Bourdeauducq 6215d63491 rtio: do not create spurious CSRs when data_width/address_width is 0 2015-04-16 13:04:19 +08:00
Sebastien Bourdeauducq 26003781b4 rtio/rtlink: add 'like' methods to clone interfaces 2015-04-16 13:02:39 +08:00
Sebastien Bourdeauducq 30dffb6644 rtio/phy: add wishbone adapter 2015-04-15 20:39:40 +08:00
Sebastien Bourdeauducq ecf6b29279 coredevice/rtio: minor docstring cleanup 2015-04-15 13:53:00 +08:00
Robert Jördens c0213c9f69 artiq_flash.sh: add pipistrello 2015-04-14 22:37:08 -06:00
Robert Jördens 9795e83bfc pdq2: continue work on coefficients 2015-04-14 18:18:49 -06:00
Robert Jördens 6a0e97f161 pdq2: refactor program_frame(), cleanup test, stall correctly
Once the Sequencer ack's a line, the Parser starts preparing the
next one. This includes jumping through the frame table if necessary.
To stall the Parser while the Sequencer executes the last line of a
frame and to ensure that the frame select lines can be set up and their
sampling is synchronized to a trigger, we add a triggered stall line
at the end of the frame.

When that line is triggered the Parser jumps through the table and starts
parsing the first line of the next frame. We let the duration of this
last stall line be 10 cycles (200ns@50MHz) to be able to distinguish this
sampling of the frame select lines from the triggering of the first line
in the next frame.

frame           f
parser     n     f 0
stb        __---________---___
trigger    ___----_______----_
ack        ____-__________-___
sequencer  n-1 n          0
2015-04-14 18:18:16 -06:00
Robert Jördens bc1acef355 test/pdq2: don't write vcd 2015-04-14 18:18:16 -06:00
Sebastien Bourdeauducq 4c10182c9f rtio: refactor, use rtlink 2015-04-14 19:44:45 +08:00
Sebastien Bourdeauducq ff9a7727d2 rtio: add rtlink definition (currently unused) 2015-04-13 22:19:18 +08:00
Sebastien Bourdeauducq 07b8e1292f artiq_flash: fix stderr redirections 2015-04-11 23:43:33 +08:00
Sebastien Bourdeauducq 8a2b8fc634 artiq_flash: do not always assume permission problems 2015-04-11 22:54:17 +08:00
Yann Sionneau 8a3be4eca0 artiq_flash: add support for kc705 2015-04-11 22:38:11 +08:00
Sebastien Bourdeauducq 88e0aae16d coredevice: add comm_tcp 2015-04-10 01:22:03 +08:00
Sebastien Bourdeauducq f427041ae9 coredevice/comm_serial: minor cleanup 2015-04-10 01:21:47 +08:00
Sebastien Bourdeauducq cb2596bd81 coredevice/comm: split protocol to allow reuse for Ethernet 2015-04-10 00:59:35 +08:00
Sebastien Bourdeauducq efd1c24ed7 frontend: add artiq_compile tool to build default experiment 2015-04-07 15:41:32 +08:00
Sebastien Bourdeauducq ca89b6d0ed worker_db: support read-only mode 2015-04-07 15:40:57 +08:00
Sebastien Bourdeauducq fda4ee1a83 coredevice: add compile method 2015-04-07 15:40:25 +08:00
Sebastien Bourdeauducq 5e046dc5ce artiq_run: move parse_arguments and get_experiment to tools 2015-04-07 13:04:47 +08:00
Sebastien Bourdeauducq 7e591bb1c7 targets: use _Peripherals/UP/AMP class names, share QC1 IO defs 2015-04-07 00:07:53 +08:00
Sebastien Bourdeauducq 1ed60e0829 gateware/amp: use new ModuleTransformer API 2015-04-06 23:54:53 +08:00
Sebastien Bourdeauducq 72f9f7ed79 runtime: implement mailbox, use it for kernel startup, exceptions and termination 2015-04-05 22:07:34 +08:00
Robert Jördens 7ea9250b31 wavesynth: interpolate->coefficients 2015-04-05 04:43:27 -06:00
Sebastien Bourdeauducq 0bab73eece wavesynth/compute_samples: fix list mutation bug 2015-04-05 18:41:06 +08:00
Robert Jördens 9fd4594c53 interpolate: refactor discrete_compensate 2015-04-05 04:32:23 -06:00
Robert Jördens 75dfa95b4d wavesynth: move test code to unittests, fix mutability style 2015-04-05 04:24:44 -06:00
Sebastien Bourdeauducq 3257275782 worker_db: get_logger -> getLogger 2015-04-05 18:02:07 +08:00
Robert Jördens 1d5f467da7 pdq2: implement changes in trigger/jump semantics, add unittest
The unittests now runs the compute_samples.Synthesizer against the actual
gateware and verifies similarity (up to integer rounding errors).
2015-04-05 03:55:54 -06:00
Robert Jördens e870b27830 wavesynth: new semantics, fix compensation
* "trigger" now means that the corresponding line will only start
  once the trigger line is high.
* "jump" is implicit as the last line in a frame must jump back.
* spline coefficients are now compensated for finite time step size
2015-04-05 03:55:54 -06:00
Robert Jördens 1f545346e3 wavesynth: implement silence, add defaults, fix bias 2015-04-05 03:55:54 -06:00
Robert Jördens 051b01f58e wavesynth: refactor testing code 2015-04-05 03:55:54 -06:00
Sebastien Bourdeauducq 71b7fe38bc worker_impl: add missing import 2015-04-05 17:50:48 +08:00
Sebastien Bourdeauducq 9b46bc623a dbhub: do not use as context manager, turn close exceptions into warnings, do not close devices early in worker 2015-04-05 17:49:41 +08:00
Robert Jördens 0ec7e9a98c artiq_run: fix get_argparser() 2015-04-04 21:17:24 -06:00
Robert Jördens 1a1afd5410 artiq_run: refactor, support use from within experiments
You can always (under posix) use #!/usr/bin/env artiq_run as
shebang for experiments and make them executable.
Now, you can also do this (portable):

if __name__ == "__main__":
    from artiq.frontend.artiq_run import run
    run()

to make an experiment executable. The CLI options are all inherited.
Also:

* removed --elf: can be inferred from filename
* did some refactoring and cleanup
* use logging for all messages, except the result printing (use -v to get
parameter changes and dummy scheduler actions)
2015-04-04 20:51:48 -06:00
Robert Jördens 43893c6c1d worker_impl: use DBHub as context manager 2015-04-04 20:51:48 -06:00
Robert Jördens 7b86138fd2 DBHub: make it a context manager 2015-04-04 20:51:48 -06:00
Robert Jördens d1653589f9 pdq2: spelling fix 2015-04-04 14:26:32 -06:00
Robert Jördens 16ff190731 pdq2: cleanup unittest 2015-04-04 14:26:32 -06:00
Sebastien Bourdeauducq 833178462d remove gpio driver 2015-04-04 22:06:54 +08:00
Sebastien Bourdeauducq c6d3750076 runtime,amp: set kernel memory start to SDRAM+128K, use custom linker file to split memory 2015-04-03 16:03:38 +08:00
Robert Jördens fb91955260 tests: make hardware-in-the loop flags positive logic
Explicitly having to disable unittests that require hardware
(ARTIQ_NO_HARDWARE) is cumbersome.
There is not even a sensible default for the
device or serial number of the devices requiring additional
variables (ARTIQ_LDA_DEVICE etc).

This patch reverts the logic by skipping unittests that
can not automatically determine whether the required hardware
is present and where it is.
2015-04-03 11:51:03 +08:00
Florent Kermarrec 2995f0a705 remove use of _r prefix on CSRs 2015-04-02 18:30:44 +08:00
Sebastien Bourdeauducq 5bd8d414cf gateware/amp: add kernel CPU and mailbox modules 2015-04-02 16:49:36 +08:00
Yann Sionneau e7be00baa8 Add support for automatic build and upload of dev conda artiq packages to binstar by travis-ci
- SoC+BIOS are also built and integrated in the conda package
- artiq_flash.sh script is embedded to allow flashing ppro board
2015-03-30 19:51:52 +08:00
Sebastien Bourdeauducq 3108ffeef6 coredevice/comm_serial: use lazy formatting in logging 2015-03-27 18:54:19 +01:00
Robert Jördens f4cb97b709 comm_serial: fix baud rate change logging 2015-03-25 17:57:53 -06:00
Sebastien Bourdeauducq bd2f6ea9f9 thorlabs_tcube_controller: use simple_network_args 2015-03-25 16:20:08 +01:00
Yann Sionneau 5ca5a3602e novatech409b: cleanup 2015-03-25 16:11:11 +01:00
Robert Jördens 03139808bd [WIP] wavesynth/interpolate: wavesynth programming tools
* interpolate(t, v) will generate the channel data subset of a wavesynth
program

* still broken
2015-03-23 20:38:33 -06:00
Robert Jördens 6a0bc19279 pdq2/driver: document a few units 2015-03-23 20:31:37 -06:00
Sebastien Bourdeauducq 768fa21488 lda_controller: show default product type 2015-03-23 20:02:36 +01:00
Sebastien Bourdeauducq bd145bbabc use %(default) in argparse 2015-03-23 20:02:14 +01:00
Sebastien Bourdeauducq b597483913 thorlabs_tcube: spelling, fix ping 2015-03-23 17:24:12 +01:00
Yann Sionneau 91336f974d lda_controller: replace serial argument with device one 2015-03-23 17:02:39 +01:00
Yann Sionneau 2651050c83 Controller cleanups 2015-03-23 17:02:39 +01:00
Sebastien Bourdeauducq 0b174085c8 pdq2/mediator: rewrite, adapt to new PDQ RPC format, support anonymous segments, support uploading to controllers 2015-03-22 22:30:59 +01:00
Sebastien Bourdeauducq c18efa11b3 wavesynth: fix frame/segment terminology 2015-03-22 10:56:34 +01:00
Sebastien Bourdeauducq 1b7f71bda9 controllers: consistent device/simulation specification 2015-03-22 00:48:15 +01:00
Sebastien Bourdeauducq 7e61f66493 pdq2/mediator: get pdq devices from pdb 2015-03-22 00:24:42 +01:00
Robert Jördens 8cb77b0336 pdq2: rename url parameter to device and require it 2015-03-21 00:33:50 -06:00