Commit Graph

4767 Commits

Author SHA1 Message Date
Chris Ballance 0b6fb95deb firmware: fix revision of compiler_builtins for satman 2017-05-13 15:12:53 +01:00
Robert Jördens 170d2886fd Merge branch 'pdq'
* pdq:
  pdq: documentation
  pdq2 -> pdq
  pdq2: use 16 bit data, buffered read_mem()
  spi: style
  pdq2: mem_read
  pdq2: align subsequent writes to end
  sma_spi: undo cri_con
  pdq2: memory write, kernel_invariants
  sma_spi: cri/cd changes
  sma_spi: LVCMOS25
  coredevice.spi: kernel invariants and style
  sma_spi: free up user_sma pins
  sma_spi: add demo target with SPI on four SMA
  pdq2: memory write
  pdq2: crc/frame register accessors
  doc: pdq2 spi backend
  pdq2: config writes
2017-05-12 11:46:45 +02:00
Robert Jördens 548796030b setup.py: fix math 2017-05-12 09:18:47 +02:00
Robert Jördens e87b6b99f7 depend on python >=3.5.2 <3.6 2017-05-11 15:05:00 +02:00
Robert Jördens 2b1f890c46 Merge branch 'fast-entrypoints'
* fast-entrypoints:
  setup.py: Use fastentrypoints to speed up things
2017-05-09 14:16:49 +02:00
Robert Jördens 94ca9beb55 setup.py: Use fastentrypoints to speed up things
This is not beautiful but closes #665

https://github.com/ninjaaron/fast-entry_points
pypa/setuptools#510
pypa/setuptools#926
2017-05-05 09:22:05 +02:00
Robert Jördens fed24309b8 pdq: documentation 2017-05-02 18:55:02 +02:00
Robert Jördens 1a1edb13bf pdq2 -> pdq 2017-05-02 18:05:41 +02:00
Florent Kermarrec 79c339d4ac gateware/targets/phaser: jesd core now handles jsync completely 2017-04-26 22:25:08 +02:00
Chris Ballance 8ebb33c05c master: record time run() is called 2017-04-26 23:36:19 +08:00
Florent Kermarrec 0546affd4c gateware/target/phaser: jesd start signal renamed to jsync 2017-04-26 12:27:40 +02:00
whitequark bb64992395 compiler: remove dead code. 2017-04-21 18:38:43 +00:00
whitequark c5d7445973 compiler: reject reachable implicit return if not returning TNone.
Fixes #718.
2017-04-21 18:11:14 +00:00
whitequark ed2b10c5aa compiler: in codegen for delay(), round fp instead of truncating.
Consider delay(8*us). It results in the following computation...
  >>> 8*1e-06/1e-09
  7999.999999999999
with the result promptly getting truncated to 7999.

Fixes #706.
2017-04-21 17:36:44 +00:00
whitequark a820ae98cf ksupport: avoid allocations on I/O error paths.
Fixes #715.
2017-04-21 17:20:50 +00:00
whitequark b913d1d6f2 runtime: make a copy of startup/idle kernel firmware before loading.
Fixes #716.
2017-04-21 16:46:40 +00:00
whitequark 726ee7370a runtime: update smoltcp.
This brings in correct TIME-WAIT handling. Fixes #722.
2017-04-21 16:08:04 +00:00
whitequark 0e68eaa879 runtime: print a heap dump on out-of-memory condition. 2017-04-21 14:48:10 +00:00
whitequark fd994ceef3 DMA: various fixes to bring tests in line. 2017-04-20 20:05:03 +00:00
whitequark d383145752 conda: use GIT_FULL_HASH rather than GIT_DESCRIBE_HASH. 2017-04-20 16:58:38 +00:00
whitequark c9b20a1765 Commit missing parts of 0d0ddf2e. 2017-04-20 16:53:16 +00:00
whitequark 0d0ddf2e58 conda: limit git hashes in build numbers to 8 chars exactly.
Before this commit, a nasty edge case was possible where repositories
on different builders have had different sets of objects fetched
into them, and so git-describe selected different lengths for
abbreviating hashes.

See also https://github.com/conda/conda-build/issues/1940.
2017-04-20 16:40:10 +00:00
whitequark af20e7ede4 conda: update rust dependency. 2017-04-19 12:53:13 +00:00
whitequark 5324a42549 conda: update rust dependency. 2017-04-19 11:18:14 +00:00
whitequark db494967c5 firmware use Rust 0.18.0. 2017-04-19 09:38:24 +00:00
Sebastien Bourdeauducq fe05aede78 firmware: DmaPlayback → DMARetrieve 2017-04-19 11:11:42 +08:00
Sebastien Bourdeauducq badbd72beb manual: update example to use DMA handle API 2017-04-19 11:07:41 +08:00
Sebastien Bourdeauducq e8f7f8ef9c DMA: speed up playback
Time reduced from 1.53µs to 1.37µs.
2017-04-19 10:59:12 +08:00
whitequark 41c4de4556 DMA: add API for a much faster replay using handles. 2017-04-18 08:20:12 +00:00
whitequark c6e8d5c901 runtime: allow setting UART log level explicitly.
This is way more convenient than commenting out parts
of session.rs when debugging.
2017-04-15 08:27:18 +00:00
whitequark 0531dc45c3 DMA: erase trace before re-recording it.
Or we could needlessly OOM replacing a large trace.
2017-04-15 07:48:02 +00:00
whitequark 9dfe9c1248 DMA: improve recording performance.
This commit moves DMA serialization code to the kernel CPU
(to cope with the existence of rtio_output_wide) and batches
the resulting sequences. This results in less data being transferred
between kernel and comms CPUs (24 octets with one pointer before,
18 octets with no pointers now, for the common case of rtio_output),
but most importantly reduces cache flushes, which now happen
once per 64k octets.

On average, it now takes about 15us to record a single RTIO event
in a DMA trace.

Fixes #712.
2017-04-15 07:29:52 +00:00
whitequark ea753bed17 runtime: advise to set panic_reboot=1 on panic. 2017-04-15 07:29:36 +00:00
Robert Jördens 534e681d0b pdq2: use 16 bit data, buffered read_mem() 2017-04-13 20:49:46 +02:00
Robert Jördens 90cf11994e spi: style 2017-04-13 13:38:29 +02:00
Robert Jördens 8446cccb4e pdq2: mem_read 2017-04-13 13:38:13 +02:00
whitequark 0b9601f12d artiq_devtool: more robust defaults. 2017-04-13 08:26:48 +00:00
whitequark 3a1fc729cf compiler: refactor type annotations recognizing in kernels.
The new implementation is much more generic, more robust,
and shares code with the same for syscalls as well as RPCs.

Fixes #713.
2017-04-13 08:26:10 +00:00
Sebastien Bourdeauducq 99196986c0 conda: use conda-forge and depend on pyqtgraph 0.10.0 (#704) 2017-04-13 00:55:16 +08:00
whitequark 31048f4b6a compiler: fix monomorphization of coerced integer literals.
Fixes #703.
2017-04-12 04:11:47 +00:00
Sebastien Bourdeauducq c5cd77f177 manual: add DRTIO intro 2017-04-12 00:43:35 +08:00
Sebastien Bourdeauducq 598533adba manual: add DMA to tutorial 2017-04-12 00:43:09 +08:00
whitequark 296dc3b0c4 artiq_coreboot: allow hot-rebooting the device. 2017-04-11 03:24:24 +00:00
whitequark 1bd4d13391 artiq_compile: make print() write to core log, not an invalid op.
Fixes #710.
2017-04-11 03:16:34 +00:00
Robert Jördens 20652ce128 pdq2: align subsequent writes to end 2017-04-09 13:50:19 +02:00
Robert Jördens ed8edf318d sma_spi: undo cri_con 2017-04-08 17:19:35 +02:00
Robert Jördens 78dd4b8614 pdq2: memory write, kernel_invariants 2017-04-08 17:16:19 +02:00
Robert Jördens 16b7f8f50c sma_spi: cri/cd changes 2017-04-08 17:16:19 +02:00
Robert Jördens 1e6e81a19e sma_spi: LVCMOS25 2017-04-08 17:16:19 +02:00
Robert Jördens 0838981bed coredevice.spi: kernel invariants and style 2017-04-08 17:16:19 +02:00