diff options
author | Serge Bazanski <serge@bazanski.pl> | 2018-07-17 19:16:26 +0100 |
---|---|---|
committer | Serge Bazanski <serge@bazanski.pl> | 2018-07-17 19:16:26 +0100 |
commit | 03508faabfc2f5b76039cfd13d02a341baa848a4 (patch) | |
tree | c896745d0e1555e224d5a7c67b52e7ccfb6e30dd /common | |
parent | 2f5b94fe309619c221c3e1ea5aa48a4523bd3156 (diff) | |
download | nextpnr-03508faabfc2f5b76039cfd13d02a341baa848a4.tar.gz nextpnr-03508faabfc2f5b76039cfd13d02a341baa848a4.tar.bz2 nextpnr-03508faabfc2f5b76039cfd13d02a341baa848a4.zip |
WIP.
Diffstat (limited to 'common')
-rw-r--r-- | common/nextpnr.h | 2 | ||||
-rw-r--r-- | common/placer1.cc | 9 | ||||
-rw-r--r-- | common/router1.cc | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/common/nextpnr.h b/common/nextpnr.h index 7aa5b100..fb5e042b 100644 --- a/common/nextpnr.h +++ b/common/nextpnr.h @@ -369,7 +369,7 @@ class BaseCtx : public IdStringDB, public DeterministicRNG // -------------------------------------------------------------- - bool allUiReload = false; + bool allUiReload = true; bool frameUiReload = false; std::unordered_set<BelId> belUiReload; std::unordered_set<WireId> wireUiReload; diff --git a/common/placer1.cc b/common/placer1.cc index b229616c..b58893ce 100644 --- a/common/placer1.cc +++ b/common/placer1.cc @@ -29,6 +29,7 @@ #include <list> #include <map> #include <ostream> +#include <pthread.h> #include <queue> #include <set> #include <stdarg.h> @@ -156,6 +157,14 @@ class SAPlacer // Main simulated annealing loop for (int iter = 1;; iter++) { + // TODO(q3k): unwat + pthread_yield(); + pthread_yield(); + pthread_yield(); + pthread_yield(); + pthread_yield(); + pthread_yield(); + pthread_yield(); ctx->lock(); n_move = n_accept = 0; improved = false; diff --git a/common/router1.cc b/common/router1.cc index a85de7c6..bde3be31 100644 --- a/common/router1.cc +++ b/common/router1.cc @@ -637,7 +637,9 @@ bool router1(Context *ctx) log_info("Checksum: 0x%08x\n", ctx->checksum()); #ifndef NDEBUG + ctx->lock(); ctx->check(); + ctx->unlock(); #endif return true; } catch (log_execution_error_exception) { |