Commit Graph

288 Commits

Author SHA1 Message Date
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 f60868f084 runtime/kloader: clear kernel-CPU mailbox on stop to avoid fake spurious messages 2015-04-29 12:57:09 +08:00
Sebastien Bourdeauducq 37ac6c4542 runtime: [HACK] workaround for intermittent RPC crashes 2015-04-28 17:15:39 +08:00
Sebastien Bourdeauducq 1ce41d567c runtime/mailbox: fix mailbox_acknowledged for first message 2015-04-28 16:51:55 +08:00
Sebastien Bourdeauducq 53055a045d test_mode: flash storage access 2015-04-28 13:01:54 +08:00
Sebastien Bourdeauducq 9fceae7515 runtime/session: simplify buffer management 2015-04-28 13:01:22 +08:00
Sebastien Bourdeauducq 9b62e7e77b runtime,coredevice: support session reset for serial 2015-04-28 02:11:58 +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 1ca49787b4 runtime: update lwip 2015-04-27 20:34:34 +08:00
Sebastien Bourdeauducq bd7a031466 flash_storage: cleanup and compile 2015-04-27 17:48:31 +08:00
Yann Sionneau 13119eb9ee flash_storage: add key-value flash storage support 2015-04-27 11:39:19 +08:00
Sebastien Bourdeauducq 110f7bce64 runtime: saner lwipopts 2015-04-25 18:58:45 +08:00
Sebastien Bourdeauducq 8f5f428c0b runtime/main: fix sys_now 2015-04-24 18:30:27 +08:00
Sebastien Bourdeauducq 934a6b0495 runtime,coredevice: Ethernet support (buggy) 2015-04-23 23:22:40 +08:00
Sebastien Bourdeauducq 1968304b4f runtime: upgrade lwip (fixes zero-copy tcp_write) 2015-04-23 19:13:09 +08:00
Sebastien Bourdeauducq d99976dc37 runtime/elf_loader: add alignment comment 2015-04-23 19:06:23 +08:00
Sebastien Bourdeauducq 459da723d3 liblwip/netif/liteethif: follow lwip doc recommendations regarding end of pbuf chain detection 2015-04-23 17:21:42 +08:00
Sebastien Bourdeauducq 7290013671 liblwip/netif/liteethif: fix buffer pointer arithmetic 2015-04-23 17:18:03 +08:00
Sebastien Bourdeauducq 6a80944c3f runtime: increase packet buffer size 2015-04-22 15:01:58 +08:00
Sebastien Bourdeauducq e4251c7f41 runtime: get lwip to run 2015-04-22 15:01:32 +08:00
Sebastien Bourdeauducq d5d49e73d2 runtime: fix user_kernel_state on UP 2015-04-22 11:41:54 +08:00
Sebastien Bourdeauducq 18106cc014 comm: refactor to support lwip event model 2015-04-22 01:31:31 +08:00
Sebastien Bourdeauducq 904bcd247f runtime: only build liteethif if Ethernet core present 2015-04-18 22:25:27 +08:00
Sebastien Bourdeauducq b972abd142 runtime: fix test mode on UP 2015-04-18 15:30:46 +08:00
Sebastien Bourdeauducq 4c6387929b runtime: link against lwip, cleanups 2015-04-17 16:38:46 +08:00
Sebastien Bourdeauducq 91cd79a8a3 soc/runtime: add lwip (thanks Florent) 2015-04-17 14:51:30 +08:00
Sebastien Bourdeauducq 6a5f58e5a9 runtime: support test mode on AMP 2015-04-16 21:47:05 +08:00
Sebastien Bourdeauducq 546996f896 coredevice,runtime: put ref_period into the ddb 2015-04-16 15:15:38 +08:00
Robert Jördens a5ea40478c runtime/Makefile: use printf instead of non-portable echo -e 2015-04-15 21:13:20 -06:00
Sebastien Bourdeauducq 61a6506484 targets/pipistrello: add mailbox memory region 2015-04-15 20:41:28 +08:00
Florent Kermarrec fd2def4951 generate MAILBOX_BASE with SoC and use it in runtime
to avoid possible future mismatches between SoC/runtime, constants that can be easily generated from SoC should be defined this way.
2015-04-15 20:40:28 +08:00
Sebastien Bourdeauducq c1f9fc2ae4 runtime: update mailbox address 2015-04-15 14:11:12 +08:00
Sebastien Bourdeauducq 9cfe00e23e runtime: keep .bin 2015-04-15 14:05:34 +08:00
Sebastien Bourdeauducq ffe4ee9137 runtime: build flash image by default 2015-04-15 12:43:15 +08:00
Robert Jördens a336c95d0a runtime/Makefile: work around echo vs bin/echo 2015-04-14 21:26:49 -06:00
Robert Jördens f988ec318e pipistrello: fix csrs, make AMP default 2015-04-14 21:10:07 -06:00
Robert Jördens 9e726d7dd1 ppro: ignore all async paths 2015-04-14 18:18:48 -06:00
Robert Jördens 70916aa0c5 pipistrello: tig _all_ async paths, add timing interference report 2015-04-14 18:18:48 -06:00
Robert Jördens 066adbdeac pipistrello: timing report 2015-04-14 18:18:16 -06:00
Robert Jördens 6217cf5392 pipistrello: basesoc, cleanup 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 c0f1708c20 targets/pipstrello: fix mem_map 2015-04-14 19:34:14 +08:00
Sebastien Bourdeauducq a50f2c20ff targets/ppro: fix mem_map update 2015-04-11 21:59:29 +08:00
Sebastien Bourdeauducq 601f593ac4 targets/kc705: do not depend on particular Migen generated signal names 2015-04-11 21:46:57 +08:00
Florent Kermarrec bdd02a064e targets/artiq_kc705: add false path between rsys_clk and rio_clk (reduce P&R on AMP from 40 minutes to 5 minutes :) 2015-04-11 21:32:46 +08:00
Florent Kermarrec 24b2bd7b6f soc/targets: use mem_map, fix addressing conflict on UP between ethernet and dds 2015-04-11 21:32:11 +08:00
Sebastien Bourdeauducq fb75bd246e targets/kc705: make AMP the default 2015-04-11 17:16:25 +08:00
Sebastien Bourdeauducq b492aad1c4 targets/kc705: enable Ethernet core 2015-04-10 13:15:32 +08:00
Sebastien Bourdeauducq cb2596bd81 coredevice/comm: split protocol to allow reuse for Ethernet 2015-04-10 00:59:35 +08:00
Sebastien Bourdeauducq 44304a33b2 soc,runtime: define RTIO FUD channel number in targets 2015-04-09 00:35:11 +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 5538ad5c70 runtime: support RPC exceptions on AMP 2015-04-06 22:28:10 +08:00
Sebastien Bourdeauducq 45bb9d8840 runtime: support RPC and log on AMP 2015-04-06 19:40:12 +08:00
Sebastien Bourdeauducq f26c53cb35 runtime: use KERNELCPU_PAYLOAD_ADDRESS on UP 2015-04-05 22:16:51 +08:00
Sebastien Bourdeauducq 0c62f0f69c runtime: remove generated service_table.h 2015-04-05 22:08:20 +08:00
Sebastien Bourdeauducq 72f9f7ed79 runtime: implement mailbox, use it for kernel startup, exceptions and termination 2015-04-05 22:07:34 +08:00
Sebastien Bourdeauducq 1bca614d11 runtime: use UP/AMP terminology 2015-04-05 17:55:05 +08:00
Robert Jördens ef375b5c9c pipistrello: add double-cpu 2015-04-04 20:52:08 -06:00
Robert Jördens afc3982555 pipistrello: refactor single-cpu 2015-04-04 20:51:47 -06:00
Robert Jördens 0ae4492077 pipistrello: use mem_decoder 2015-04-04 20:51:47 -06:00
Robert Jördens e50661dac4 pipistrello: fix dcm parameters, move leds, fix names 2015-04-04 20:51:47 -06:00
Sebastien Bourdeauducq cbdc1ba46f runtime: biprocessor support (incomplete, WIP) 2015-04-04 22:08:32 +08:00
Sebastien Bourdeauducq 277e038569 targets/kc705: add LED on RTIO 2015-04-04 22:07:23 +08:00
Sebastien Bourdeauducq 21a0919ddc runtime: load support code into kernel CPU 2015-04-03 17:44:56 +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
Sebastien Bourdeauducq 5f7161a7de kc705: 16 TTLs 2015-04-03 15:57:25 +08:00
Florent Kermarrec 2995f0a705 remove use of _r prefix on CSRs 2015-04-02 18:30:44 +08:00
Sebastien Bourdeauducq 88a1707ef9 soc: use new location of gpio module 2015-04-02 17:19:00 +08:00
Sebastien Bourdeauducq f124350555 runtime: disable kernel-CPU functions when kernel-CPU not present 2015-04-02 17:00:59 +08:00
Sebastien Bourdeauducq 4b66e3108a runtime: demonstrate basic inter-CPU communication 2015-04-02 16:54:08 +08:00
Sebastien Bourdeauducq 5fd7f68f48 targets/kc705: dual-CPU design 2015-04-02 16:53:57 +08:00
Yann Sionneau e9092edb98 Remove one RTIO out channel to free up some space for travis builds to succeed 2015-03-30 19:51:52 +08:00
Florent Kermarrec 494c670cd2 targets/artiq_ppro: use new sdram_controller_settings parameter 2015-03-21 23:19:16 +01:00
Robert Jördens fdca0a71ff add ARTIQMidiSoC based on pipistrello 2015-03-19 11:37:15 -06:00
Sebastien Bourdeauducq 7a1d60ee15 coredevice,runtime,language: add parameters to runtime exceptions, include information with RTIO errors 2015-03-13 14:55:18 +01:00
Sebastien Bourdeauducq 0416da8634 runtime/test: implement ttlout, clksel and dds functions 2015-03-12 13:14:06 +01:00
Sebastien Bourdeauducq 3122623c6f rtio: make 63-bit timestamp counter the default [soc] 2015-03-12 13:13:35 +01:00
Sebastien Bourdeauducq d38014b07d soc/runtime: import DDS/TTL tester (functions not accessible yet) 2015-03-11 22:02:19 +01:00
Sebastien Bourdeauducq 28bce9ee40 artiqlib -> artiq.gateware 2015-03-08 11:00:24 +01:00
Sebastien Bourdeauducq 15d09c0b94 runtime: use new uart tuning word function 2015-03-02 23:36:05 +00:00
Sebastien Bourdeauducq 4e5320be28 Merge branch 'master' of https://github.com/m-labs/artiq 2015-02-28 07:34:38 -07:00
Florent Kermarrec 9cf8db2f14 adapt code to MiSoC's changes 2015-02-28 07:34:11 -07:00
Sébastien Bourdeauducq 7028d85255 targets/ppro: disable L2 2015-02-27 18:02:21 -07:00
Joe Britton 0127de9bb5 soc: add_cpu_csr_region -> add_csr_region 2015-02-27 15:02:28 -07:00
Sebastien Bourdeauducq 61f33a9a04 soc/ad9858: do not put code in __init__.py 2015-02-26 23:31:43 -07:00
Sebastien Bourdeauducq da917f768e initial kc705 support 2015-02-26 21:50:52 -07:00
Sebastien Bourdeauducq f7232fd3d1 support exceptions raised by RPCs 2014-12-20 21:33:22 +08:00
Sebastien Bourdeauducq 0d10ae7580 rpc: support all data types as parameters 2014-12-19 12:46:24 +08:00
Sebastien Bourdeauducq 059608d1fd dds: fix phase modes 2014-12-09 13:50:33 +08:00
Sebastien Bourdeauducq fc690ead75 runtime: support clock switching 2014-12-02 14:06:32 +08:00
Sebastien Bourdeauducq 94218f785e comm_serial: cleanup 2014-12-02 11:09:02 +08:00
Yann Sionneau 20adb57140 comm_serial: allow to use dynamic baudrate 2014-12-02 10:42:14 +08:00
Sebastien Bourdeauducq c591f1a74d targets/ARTIQMiniSoC: support dynamic switching of RTIO clock to XTRIG 2014-12-01 18:53:29 +08:00
Sebastien Bourdeauducq cd587e4f12 rtio: do housekeeping in gateware 2014-12-01 17:32:36 +08:00
Sebastien Bourdeauducq 99d530e498 targets/ARTIQMiniSoC: remove 2 TTL channels to make room in FPGA 2014-12-01 17:31:35 +08:00
Sebastien Bourdeauducq 50e0bf3280 rtio: optimize flag handling 2014-12-01 14:29:50 +08:00
Sebastien Bourdeauducq 572eecc57b rtio: stricter upper bound on guard time to avoid race condition 2014-12-01 14:27:03 +08:00
Sebastien Bourdeauducq 7166ca82d1 targets/ARTIQMiniSoC: map RTIO CSRs directly on Wishbone (reduces programming time by 30%) 2014-11-30 22:31:55 +08:00
Sebastien Bourdeauducq 1f6441948d more TTL channels and larger input FIFOs on Papilio Pro 2014-11-30 15:50:57 +08:00
Sebastien Bourdeauducq e5286c57ab rtio: fix input FIFO depth config 2014-11-30 12:12:35 +08:00
Sebastien Bourdeauducq bf745e53c9 rtio: register FIFO output to improve timing 2014-11-30 10:51:12 +08:00
Sebastien Bourdeauducq dda4002ae1 rtio/phy: fix input synchronization 2014-11-30 10:50:48 +08:00
Sebastien Bourdeauducq c78c5a2b4f rtio: fix guard cycle computation 2014-11-30 01:00:52 +08:00
Sebastien Bourdeauducq 39c4b5416f targets/ARTIQMiniSoC: 125MHz RTIO clocking 2014-11-30 01:00:27 +08:00
Sebastien Bourdeauducq 9aafe89518 rtio: use Record 2014-11-30 00:59:39 +08:00
Sebastien Bourdeauducq 901073acf3 asynchronous RTIO 2014-11-30 00:13:54 +08:00
Sebastien Bourdeauducq 44ec3eae3d soc/target: use minicon by default 2014-11-28 10:21:43 +08:00
Sebastien Bourdeauducq 65567e1201 soc/target: remap RTIO to avoid conflict with Ethernet MAC+PHY 2014-11-21 15:51:51 -08:00
Sebastien Bourdeauducq dfd779c7c5 core: add underflow recovery function 2014-11-20 12:38:52 -08:00
Sebastien Bourdeauducq 1780759327 dds: phase control (mostly untested) 2014-11-20 12:32:56 -08:00
Sebastien Bourdeauducq 17f5a31320 runtime/dds: fix reset glitches 2014-11-15 11:23:23 -07:00
Sebastien Bourdeauducq 5105b88302 rtio: raise input overflow exception 2014-10-21 23:41:02 +08:00
Sebastien Bourdeauducq 9a14081031 rtio: add pileup count reporting 2014-10-21 23:14:01 +08:00
Sebastien Bourdeauducq 346cca9e90 soc/target: remap RTIO to avoid conflict with spiflash and ddrphy in MiSoC 2014-10-21 18:40:08 +08:00
Sebastien Bourdeauducq 61a50ee53c reorganize for devices/controllers 2014-10-19 23:51:49 +08:00
Sebastien Bourdeauducq 0c9632d71b runtime/exception_raise: never return 2014-10-15 16:11:28 +08:00
Sebastien Bourdeauducq d22c30650d rtio: add timestamp function 2014-10-14 15:54:10 +08:00
Sebastien Bourdeauducq 7d48ef263a soc/runtime: fix RTIO sequence error detection on FUD 2014-10-14 12:47:04 +08:00
Sebastien Bourdeauducq 1c24a5971b rtio: error recovery 2014-10-10 20:12:22 +08:00
Sebastien Bourdeauducq 53b259b9a0 soc/runtime/dds: fix FUD sequence error detection 2014-10-05 10:34:32 +08:00
Sebastien Bourdeauducq 5d8c53abb3 soc/runtime/exceptions: do not crash when exception is raised with no handler 2014-10-05 10:33:27 +08:00
Sebastien Bourdeauducq 76fed11d59 rtio: raise RTIOSequenceError exceptions when events are not submitted in-order 2014-09-30 19:32:11 +08:00
Sebastien Bourdeauducq e263b63527 soc/runtime: raise underflow exception for replace and DDS FUD operations 2014-09-26 17:24:45 +08:00
Sebastien Bourdeauducq af0cd902d3 get frequency from RTIO, support fractional frequencies 2014-09-26 17:24:06 +08:00
Sebastien Bourdeauducq f4d6bfc094 soc/runtime: raise exception on RTIO underflow 2014-09-25 12:55:50 +08:00
Sebastien Bourdeauducq 378ca64193 soc/runtime/exception: fix eid bug 2014-09-25 12:55:22 +08:00
Sebastien Bourdeauducq 538aaa4c14 rtio: fix o_error csr size 2014-09-25 12:54:26 +08:00
Sebastien Bourdeauducq 1b81fc8a8f soc/runtime: cleanup/simplify exception_longjmp 2014-09-24 00:00:10 +08:00
Sebastien Bourdeauducq af15f45bb9 runtime: do not use buggy llvm.eh.sjlj.* intrinsics 2014-09-23 22:09:08 +08:00
Sebastien Bourdeauducq 0a02d9fb78 soc/runtime: add levels to exception_pop 2014-09-23 16:22:32 +08:00
Sebastien Bourdeauducq ec7a92983d soc/runtime: provide exception handling services 2014-09-22 13:19:26 +08:00
Sebastien Bourdeauducq b37ceb328f soc/runtime: fix use of setjmp 2014-09-22 13:18:48 +08:00
Sebastien Bourdeauducq 3de24619b2 corecom: exception support 2014-09-21 23:36:10 +08:00
Sebastien Bourdeauducq 0c9f05dc80 soc/runtime: add exception management functions 2014-09-21 23:32:14 +08:00
Sebastien Bourdeauducq d52d641dcd soc/runtime/services: add alternative names for comparedf2 routines 2014-09-18 09:36:06 +08:00
Sebastien Bourdeauducq f0f65ba3a7 soc/target: add optional test signal generator 2014-09-17 19:53:55 +08:00
Sebastien Bourdeauducq 9b8a91e67e rtio: increase FIFO sizes 2014-09-17 19:53:29 +08:00
Sebastien Bourdeauducq d8b9543e1b rtio: use FWFT FIFO with no buffering. This fixes replace operations. 2014-09-17 19:53:06 +08:00
Sebastien Bourdeauducq 040fa0e02a runtime: blink LED at startup 2014-09-15 22:56:23 +08:00
Sebastien Bourdeauducq 11d8840277 runtime: new serial protocol, support multiple entry points and log messages 2014-09-15 22:40:33 +08:00
Sebastien Bourdeauducq f529361c8b runtime: add rtio_oe and rtio_get syscalls 2014-09-14 23:30:33 +08:00
Sebastien Bourdeauducq b207a3cef5 rtio: remove ISE bug workaround 2014-09-12 16:15:32 +08:00
Sebastien Bourdeauducq 6861d28d2d runtime: support arbitrarily long initial DDS setup time 2014-09-12 15:40:34 +08:00
Sebastien Bourdeauducq 16b2d9f177 runtime: support real-time FUD 2014-09-12 15:34:11 +08:00
Sebastien Bourdeauducq 813bc90194 rtio: support readout of counter from software 2014-09-12 15:27:40 +08:00
Sebastien Bourdeauducq 10d796e026 runtime: add rtio_replace syscall 2014-09-11 23:14:45 +08:00
Sebastien Bourdeauducq 2c0b6ff4cc soc/target: connect FUD to RTIO 2014-09-11 23:11:22 +08:00
Sebastien Bourdeauducq 7efc28ede1 soc/ad9858: do not drive FUD by default 2014-09-11 23:11:00 +08:00