Commit Graph

287 Commits

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