Commit Graph

325 Commits

Author SHA1 Message Date
9dfbf07743 pipistrello: use 4x serdes for rtio ttl
pipistrello: do not wait for lock on startup

LCK_cycle:6 was added in 6a412f796e1 (mibuild). It waits for _all_
DCM and PLLs to lock (probably irrespective of STARTUP_WAIT).
2015-07-28 12:54:27 -06:00
8e391e2661 kc705: generate 10MHz clock on GPIO SMA
For SynthNV and input tests.
2015-07-28 18:56:47 +08:00
1809a70f5c Revert "pipistrello: use 4x serdes for rtio ttl"
This reverts commit 8e92cc91f5.

Broken. Will revisit.
2015-07-27 23:39:35 -06:00
f0a7078336 Revert "rtiocrg.c: pipistrello also has pll_reset"
This reverts commit bdee914828.
2015-07-27 22:18:45 -06:00
bdee914828 rtiocrg.c: pipistrello also has pll_reset 2015-07-27 22:14:42 -06:00
e95b06e96d pipistrello: tie unused dds.p low 2015-07-27 21:48:56 -06:00
8e92cc91f5 pipistrello: use 4x serdes for rtio ttl 2015-07-27 21:29:50 -06:00
ae3a52c49c runtime: fix KERNELCPU_PAYLOAD_ADDRESS 2015-07-28 02:12:14 +08:00
whitequark
eec4a2d2d2 Update buildsystem to track -fPIC and ranlib removal in MiSoC. 2015-07-27 21:10:46 +03:00
0cd74533ca runtime: more explicit message about startup clock failure 2015-07-28 00:38:38 +08:00
7feaca7c7c runtime: allow selecting external clock at startup 2015-07-28 00:19:07 +08:00
09d837e4ba runtime: monitor RTIO clock status 2015-07-28 00:05:24 +08:00
299bc1cb7e kc705: output divided-by-2 RTIO clock 2015-07-27 20:46:44 +08:00
256e99f0d7 kc705: crg cleanup 2015-07-27 20:31:37 +08:00
2a95e866aa kc705: use 8X SERDES RTIO PHY 2015-07-27 20:12:17 +08:00
fe57308e71 runtime: support for RTIO PLL 2015-07-27 20:11:31 +08:00
whitequark
244ace19e1 Add artiq_raise_from_c macro. 2015-07-27 13:56:18 +03:00
whitequark
edffb40ef2 On uncaught exception, execute finally clauses and collect backtrace. 2015-07-27 13:51:24 +03:00
whitequark
2939d4f0f3 Add tests for finally clause and reraising. 2015-07-27 12:36:21 +03:00
whitequark
a83e7e2248 Add tests for exceptional control flow. 2015-07-27 10:22:28 +03:00
whitequark
7c77dd317a Implement __artiq_personality. 2015-07-27 09:10:20 +03:00
117b361a06 Merge branch 'master' of github.com:m-labs/artiq 2015-07-27 11:42:29 +08:00
3573fd02a6 targets/kc705: add TIG constraints for ISE 2015-07-27 10:58:19 +08:00
fe6a5c42df rtio: remove unused clk_freq argument 2015-07-27 10:57:15 +08:00
d3f05e414a runtime: account for RTIO_FINE_TS_WIDTH in time buffers 2015-07-27 10:50:25 +08:00
whitequark
bb5fe60137 Implement exception raising. 2015-07-27 05:46:43 +03:00
whitequark
ef4a06a270 Merge branch 'master' into new-py2llvm 2015-07-27 04:57:32 +03:00
whitequark
14c7b15785 Add a test harness for exceptions.
The libunwind.h is duplicated here so that it would be possible
to test the Python parts without pulling in misoc.
2015-07-27 04:18:12 +03:00
d65d303ac6 pipistrello: remove unused constraint kwarg 2015-07-26 17:39:07 -06:00
whitequark
1d9f40833d Update ldscripts with -fPIC support. 2015-07-26 16:16:48 +03:00
aba2d3f112 runtime: process essential kernel CPU messages at all time 2015-07-25 16:26:04 +08:00
34aacd3c5f complete AD9914 support (no programmable modulus, untested) 2015-07-08 17:22:43 +02:00
8a33d8c868 never stop RTIO counter 2015-07-07 15:29:38 +02:00
d20fb5abb2 remove workaround 2015-07-07 13:46:14 +02:00
959ba99f1c pipistrello: try simpler constraints 2015-07-04 21:08:28 -06:00
753d61b38f complete support for TTL clock generator 2015-07-04 18:36:01 +02:00
0a9f9093f7 kc705: fix ttl15 2015-07-02 20:02:05 +02:00
2881d5f00a gateware: add RTIO clock generator 2015-07-02 18:20:26 +02:00
3ee2bd5fa8 pipistrello: set CLKFX_MD_MAX from MD ratio 2015-06-29 12:59:59 -06:00
d1c4cf0b78 pipistrello: update rtio channel doc 2015-06-29 12:21:54 -06:00
f0ac8cb354 pipistrello: add user_led:2 for debugging w/o adapter 2015-06-29 11:30:37 -06:00
d39382eca0 pipistrello: ext_led fifo depth 4 2015-06-28 22:06:33 -06:00
165ef20ffa pipistrello: drop rtio fifos for invisible leds
the main board leds are all under the adapter board

also tweak fifo depths a bit in a feeble attempt to circumvent a ISE hang (par
phase 4)
2015-06-28 21:24:57 -06:00
e2cb0e107f pipistrello: really do not request xtrig 2015-06-28 21:11:41 -06:00
23eee94458 pipistrello: add notes to nist_qc1 about dds_clock
* remove xtrig from the target as it is not usually connected (used for
  dds_clock) and ignore PMT2/BTN2 as C:15 is used for dds_clock.
* this also aligns the ttl channel numbers with kc705/nist_qc1 (two pmt
  inputs followed by 16 ttl outputs followed by leds)
2015-06-28 20:56:12 -06:00
944bfafefa soc: support QC2 and AD9914 (untested) 2015-06-28 21:37:27 +02:00
b6310b72db runtime: fix log formatting 2015-06-28 17:29:52 +02:00
8b5b219a18 runtime: provide fixdfdi 2015-06-27 23:51:48 +02:00
3bd7f11737 update lwip 2015-06-27 22:48:41 +02:00
2d475e146b runtime/flash_storage: use log not printf 2015-06-27 22:47:36 +02:00
a7bbcdc1ad targets/pipistrello: mon -> moninj 2015-06-27 21:15:17 +02:00
5b3eac1d96 pipistrello: tweak fifo depths a bit
ise being dull again, inferring all but one 64x64 fifo as bram...
minimum bram depth is 256 anyway
2015-06-22 23:25:07 -06:00
cd249b2f66 pipistrello: run at 83+1/3 MHz, cleanup CRG 2015-06-22 19:03:00 -06:00
9f3f9255a2 soc: increase DDS output FIFO sizes 2015-06-21 08:40:10 -06:00
87ea1433d3 dds: all working 2015-06-20 18:42:39 -06:00
5a9bdb2e33 DDS monitoring 2015-06-19 15:30:17 -06:00
03fe71228b dds: phase computation fixes 2015-06-19 11:01:43 -06:00
3636025e69 pipistrello: smaller L2 cache 2015-06-18 09:49:52 -06:00
Florent Kermarrec
449964cce8 runtime/mailbox: remove flush of L2 cache (L2 cache is now shared between CPUs) 2015-06-18 12:18:45 +02:00
Florent Kermarrec
38a0f63bd2 gateware/soc: use Minicon SDRAM controller and 128KB shared L2 cache 2015-06-18 12:18:03 +02:00
b2af0f6cc3 soc,runtime: support TTL override 2015-06-09 19:51:02 +08:00
37c7ea31c3 gui: TTL override support 2015-06-06 00:03:30 +08:00
a2ae5e4706 runtime: report TTL status over UDP 2015-06-03 18:26:19 +08:00
59b339462c Merge branch 'master' of github.com:m-labs/artiq 2015-06-02 17:45:16 +08:00
b81151eb42 soc: rtio monitor 2015-06-02 17:41:40 +08:00
Yann Sionneau
ed95038681 flash_storage: remove useless parentheses 2015-05-29 11:11:29 +02:00
Yann Sionneau
575dfade38 flash_storage comm: use OK/ERROR replies instead of specific FLASH_WRITE_REPLY 2015-05-29 11:10:40 +02:00
Yann Sionneau
c32133b815 flash_storage: avoid crash if a record size gets corrupted to be less than 6 2015-05-27 12:56:21 +02:00
Yann Sionneau
4bf7875b87 flash_storage: refactor + unit tests + artiq_coreconfig.py CLI + doc 2015-05-27 18:06:12 +08:00
6c35d066fc runtime: add missing include 2015-05-21 12:00:48 +08:00
0ca42dbdbe runtime/dds: send one FUD per command in a batch, compensate POW 2015-05-09 17:26:36 +08:00
ce4b5739ed runtime: reset all DDSes upon startup 2015-05-09 17:12:38 +08:00
b22b8b661b runtime: fix rtio channel selection in dds batch 2015-05-08 22:09:08 +08:00
55f2fef576 runtime: support DDS batches 2015-05-08 16:51:54 +08:00
53c6339307 runtime: break ttl-specific functions from rtio 2015-05-08 16:20:12 +08:00
a36c51eb83 DDS over RTIO (batch mode not supported yet) 2015-05-08 14:44:39 +08:00
a91bb48ced gateware: adapt to misoc changes 2015-05-06 18:02:15 +08:00
4048568d8e support kernel handover with coherent time 2015-05-02 23:41:49 +08:00
d8fdac6f86 runtime/bridge: factor rtio_init 2015-05-02 12:27:15 +08:00
050db0b0f5 runtime: support platforms without flash 2015-05-02 12:20:20 +08:00
8fe5c7ac01 runtime/test_mode: support setting O and OE separately 2015-05-02 12:16:09 +08:00
a61d701d47 rtio: decouple PHY reset from logic reset 2015-05-02 11:47:11 +08:00
62669f9ff2 soc: factor timer, kernel CPU and mailbox 2015-05-01 18:51:24 +08:00
4d31194343 runtime: load idle kernel from flash storage 2015-05-01 13:49:26 +08:00
d3753c9643 runtime: get IP and MAC from flash storage 2015-05-01 12:34:47 +08:00
56c85dd2cb style 2015-04-30 20:03:29 +08:00
87ae250baa runtime: validate pointers received from kernel CPU 2015-04-30 10:52:50 +08:00
967145f2dc watchdog support on core device (broken by bug similar to issue #19) 2015-04-29 12:58:37 +08:00
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