nextpnr/ice40
Sergiusz Bazanski 0816f447b7 Make ice40::Arch thread-safe
We move all non-chip data to be private and guard them with an R/W
mutex.

We then modify all calls that access these fields to lock/shared_lock
the mutex as required.

Profiling the code before and after is an exercise left to the reader
:).
2018-07-13 12:35:39 +01:00
..
carry_tests ice40: Fixing carry chain legaliser 2018-06-26 16:23:10 +02:00
pack_tests ice40: Add a PCF parser 2018-06-13 12:30:15 +02:00
resource refactor: Replace assert with NPNR_ASSERT 2018-07-04 12:15:23 +02:00
.gitignore ice40: Importer for placed ice40 designs from arachne 2018-06-14 20:46:05 +02:00
arch_place.cc refactor: Replace assert with NPNR_ASSERT 2018-07-04 12:15:23 +02:00
arch_pybindings.cc ecp5: Working on arch implementation 2018-07-11 10:41:36 +02:00
arch_pybindings.h python: Convert empty BelId to None 2018-07-04 15:26:09 +02:00
arch.cc Make ice40::Arch thread-safe 2018-07-13 12:35:39 +01:00
arch.h Make ice40::Arch thread-safe 2018-07-13 12:35:39 +01:00
archdefs.h Updates from clang-format 2018-07-12 22:04:13 +02:00
bitstream.cc Make ice40::Arch thread-safe 2018-07-13 12:35:39 +01:00
bitstream.h Switched from clifford@clifford.at to clifford@symbioticeda.com for copyright headers 2018-06-22 16:19:17 +02:00
blinky_tb.v Improve blinky testbench, double blink frequency 2018-06-30 08:00:51 +02:00
blinky.pcf ice40: Update examples to use packer/pcf 2018-06-13 12:55:08 +02:00
blinky.proj added project saving and loading 2018-06-24 14:38:45 +02:00
blinky.sh ice40: Update examples to use packer/pcf 2018-06-13 12:55:08 +02:00
blinky.v Improve blinky testbench, double blink frequency 2018-06-30 08:00:51 +02:00
blinky.ys ice40: Update examples to use packer/pcf 2018-06-13 12:55:08 +02:00
cells.cc refactor: Replace assert with NPNR_ASSERT 2018-07-04 12:15:23 +02:00
cells.h ice40: UltraPlus SPRAM working 2018-06-29 19:58:08 +02:00
chipdb.py Updates from clang-format 2018-07-12 22:04:13 +02:00
family.cmake Improve iCE40 wire database and gfx 2018-07-12 21:05:09 +02:00
gfx.cc Updates from clang-format 2018-07-12 22:04:13 +02:00
gfx.h Updates from clang-format 2018-07-12 22:04:13 +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 Fixed initial title and actions after new 2018-07-13 12:02:49 +02:00
pack.cc Fixed macros and includes for MSVC 2018-07-03 08:53:44 +02:00
pack.h Switched from clifford@clifford.at to clifford@symbioticeda.com for copyright headers 2018-06-22 16:19:17 +02:00
pcf.cc Update from increased clangformat line length 2018-06-23 16:12:52 +02:00
pcf.h Switched from clifford@clifford.at to clifford@symbioticeda.com for copyright headers 2018-06-22 16:19:17 +02:00
picorv32_arachne.sh place_sa: Improvements including supporting force and ordering consistency 2018-06-20 20:12:23 +02:00
picorv32_top.v Add picorv32_top module with fewer IO pins 2018-06-13 17:38:34 +02:00
picorv32.sh Add picorv32_top module with fewer IO pins 2018-06-13 17:38:34 +02:00
place_legaliser.cc refactor: Replace assert with NPNR_ASSERT 2018-07-04 12:15:23 +02:00
place_legaliser.h ice40: Start work on the placement legaliser 2018-06-25 13:09:50 +02:00
portpins.inc ice40: Preparations for extra cells support 2018-06-22 17:44:26 +02:00
transform_arachne_loc.py ice40: Importer for placed ice40 designs from arachne 2018-06-14 20:46:05 +02:00