nextpnr/ice40
whitequark e7bb04769d Port nextpnr-{ice40,ecp5} to WASI.
This involves very few changes, all typical to WASM ports:
  * WASM doesn't currently support threads or atomics so those are
    disabled.
  * WASM doesn't currently support exceptions so the exception
    machinery is stubbed out.
  * WASM doesn't (and can't) have mmap(), so an emulation library is
    used. That library currently doesn't support MAP_SHARED flags,
    so MAP_PRIVATE is used instead.

There is also an update to bring ECP5 bbasm CMake rules to parity
with iCE40 ones, since although it is possible to embed chipdb into
nextpnr on WASM, a 200 MB WASM file has very few practical uses.

The README is not updated and there is no included toolchain file
because at the moment it's not possible to build nextpnr with
upstream boost and wasi-libc. Boost requires a patch (merged, will
be available in boost 1.74.0), wasi-libc requires a few unmerged
patches.
2020-05-23 20:57:26 +00:00
..
benchmark Improve ice40/benchmark 2018-07-30 13:57:14 +02:00
carry_tests ice40: Fixing carry chain legaliser 2018-06-26 16:23:10 +02:00
examples Add deprecation warning for default packages 2019-08-08 21:35:55 +01:00
pack_tests ice40: Add a PCF parser 2018-06-13 12:30:15 +02:00
resource ice40: support u4k 2019-02-23 17:39:20 +01:00
smoketest/attosoc ci: Add attosoc smoketest for ice40 2018-12-08 17:09:27 +00:00
.gitignore ice40: Importer for placed ice40 designs from arachne 2018-06-14 20:46:05 +02:00
arch_place.cc ice40: Check for SB_IO shared wires conflicts in isValidBelForCell 2019-04-17 16:07:22 +02:00
arch_pybindings.cc python: Add bindings for hierarchy structures 2019-12-27 10:44:30 +00:00
arch_pybindings.h python: Fix getWireBelPins 2019-09-15 15:59:16 +01:00
arch.cc Port nextpnr-{ice40,ecp5} to WASI. 2020-05-23 20:57:26 +00:00
arch.h ice40: Implement getRouteBoundingBox for router2 2020-02-03 12:00:05 +00:00
archdefs.h Work around Qt MOC issue with IdString enums 2019-12-27 10:32:23 +00:00
bitstream.cc ice40: Improve error handling of Lattice-style parameters 2019-12-10 15:28:16 +00:00
bitstream.h Start adding bitstream reading for ice40 2018-07-20 13:27:21 +02:00
cells.cc Improve handling of unused inout port bits 2020-02-25 14:26:47 +00:00
cells.h Major Property improvements for common and iCE40 2019-08-05 14:52:15 +01:00
chains.cc ice40: Fix carry feed-out when we have to split the chain next 2019-09-23 15:51:05 +01:00
chains.h Tidy up 2018-08-04 08:15:49 +02:00
chipdb.py ice40: Fix DSP cascade wires 2019-09-03 11:53:43 +01:00
constids.inc ice40: add RGB_DRV/LED_DRV_CUR support for u4k 2019-06-10 14:04:25 +02:00
delay.cc ice40: support u4k 2019-02-23 17:39:20 +01:00
family.cmake build: Default the ECP5 and iCE40 roots to the install prefix 2020-03-03 15:32:10 +01:00
gfx.cc clangformat 2018-11-16 13:25:51 +00:00
gfx.h Add iCE40 gfx for IO span-4 corners 2018-08-19 16:53:34 +02:00
icebreaker.pcf Fixing implementation of constants 2018-06-13 14:01:42 +02:00
icebreaker.v Fixing implementation of constants 2018-06-13 14:01:42 +02:00
icebreaker.ys ice40: Pack constants to LCs 2018-06-12 13:09:36 +02:00
main.cc json: Remove legacy frontend 2019-12-27 10:44:30 +00:00
pack.cc ice40: Derive oscillator frequency constraints 2020-03-29 21:02:16 +01:00
pcf.cc ice40: Add set_frequency pcf command; and document pcf 2019-10-13 18:48:39 +01:00
pcf.h Use settings for json and pcf 2018-08-08 20:14:18 +02:00
picorv32_benchmark.py timing_opt: Improve heuristics 2018-12-06 10:53:01 +00:00
picorv32_top.v Add picorv32_top module with fewer IO pins 2018-06-13 17:38:34 +02:00
picorv32.proj Fix warnings and status 2018-07-21 12:22:41 +02:00
picorv32.sh Refactoring of router1 2018-07-21 17:02:53 +02:00
tmfuzz.py Add new iCE40 delay estimator and delay predictor 2018-08-04 19:50:49 +02:00