nextpnr/ecp5
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
..
docs Remove comment about the USRMCLK primitive being untested. 2020-04-02 21:35:35 -06:00
resource Add missing files and missing includes for MSVC 2018-08-02 14:51:05 +02:00
.gitignore ecp5: Adding complete binary blob writer to Trellis importer 2018-07-11 10:41:36 +02:00
arch_place.cc ecp5: Improve bounding box accuracy 2020-02-03 11:38:31 +00:00
arch_pybindings.cc python: Expose PlaceStrength enum and isValidBelForCell on ecp5 2020-01-26 20:32:02 +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 ecp5: Proper support for '12k' device 2020-03-13 11:22:11 +00:00
archdefs.h Issue warning for mixed-mode inputs 2020-04-29 14:39:52 -04:00
baseconfigs.cc ecp5: Embed baseconfig 2019-02-08 13:44:15 +00:00
bitstream.cc ecp5: Allow setting drive strength for LVCMOS33D IOs 2020-05-12 14:19:37 +01:00
bitstream.h ecp5: Remove libtrellis link for bitstream gen 2018-08-01 15:58:38 +02:00
cells.cc Improve handling of unused inout port bits 2020-02-25 14:26:47 +00:00
cells.h ecp5: Add DELAYF/DELAYG support 2019-02-24 10:28:25 +01:00
config.cc ecp5: Working on BRAM initialisation 2018-10-09 13:13:16 +01:00
config.h ecp5: Working on BRAM initialisation 2018-10-09 13:13:16 +01:00
constids.inc Merge remote-tracking branch 'origin/master' into mmicko/ecp5_gui 2019-12-28 13:54:06 +01:00
dcu_bitstream.h ecp5: New Property interface 2019-08-05 17:22:37 +01:00
family.cmake Port nextpnr-{ice40,ecp5} to WASI. 2020-05-23 20:57:26 +00:00
gfx.cc Few more caught by clang 2020-01-18 15:58:09 +01:00
gfx.h move constants to gfx.cc 2019-12-28 14:27:14 +01:00
globals.cc ecp5: Use dedicated routing for ECLKs where possible 2020-04-14 19:20:13 +01:00
globals.h ecp5: Separate global promotion and routing 2018-10-31 16:22:34 +00:00
iotypes.inc ecp5: Add support for top pseudo diff outputs 2020-01-15 11:43:12 +00:00
lpf.cc Fix assertion failure on invalid LOCATE input. 2020-04-05 21:42:45 -06:00
main.cc ecp5: Proper support for '12k' device 2020-03-13 11:22:11 +00:00
pack.cc Further condense 2020-04-29 14:52:29 -04:00
pio.cc ecp5: Add support for top pseudo diff outputs 2020-01-15 11:43:12 +00:00
pio.h Rename io.{h,cc} to pio.{h,cc} to avoid naming conflict with Windows-provided io.h. 2018-11-03 13:11:01 -04:00
trellis_import.py ecp5: Add SPICB0 IO support 2020-01-20 20:30:14 +00:00