aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/pack.cc
diff options
context:
space:
mode:
authorEddie Hung <eddieh@ece.ubc.ca>2018-08-03 23:44:55 -0700
committerEddie Hung <eddieh@ece.ubc.ca>2018-08-03 23:44:55 -0700
commit0a14e20f7332344d4c2f73c7ede54ef0258997f7 (patch)
tree37250740746ae2a6f19fff60891ba42846569f85 /ice40/pack.cc
parent45304d049f1c939ca3ac9782a1108f17e784a1cd (diff)
parent65d73eb9838e0bb8e6d089ecde3d4ffaf34e9e29 (diff)
downloadnextpnr-0a14e20f7332344d4c2f73c7ede54ef0258997f7.tar.gz
nextpnr-0a14e20f7332344d4c2f73c7ede54ef0258997f7.tar.bz2
nextpnr-0a14e20f7332344d4c2f73c7ede54ef0258997f7.zip
Merge branch 'master' into slack_histogram
Conflicts: common/placer1.cc
Diffstat (limited to 'ice40/pack.cc')
-rw-r--r--ice40/pack.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/ice40/pack.cc b/ice40/pack.cc
index fc182e98..e7fdc627 100644
--- a/ice40/pack.cc
+++ b/ice40/pack.cc
@@ -23,6 +23,7 @@
#include <iterator>
#include <unordered_set>
#include "cells.h"
+#include "chains.h"
#include "design_utils.h"
#include "log.h"
#include "util.h"
@@ -444,7 +445,8 @@ static bool is_logic_port(BaseCtx *ctx, const PortRef &port)
{
if (is_clock_port(ctx, port) || is_reset_port(ctx, port) || is_enable_port(ctx, port))
return false;
- return !is_sb_io(ctx, port.cell) && !is_sb_pll40(ctx, port.cell) && !is_sb_pll40_pad(ctx, port.cell) && port.cell->type != ctx->id("SB_GB");
+ return !is_sb_io(ctx, port.cell) && !is_sb_pll40(ctx, port.cell) && !is_sb_pll40_pad(ctx, port.cell) &&
+ port.cell->type != ctx->id("SB_GB");
}
static void insert_global(Context *ctx, NetInfo *net, bool is_reset, bool is_cen, bool is_logic)
@@ -893,6 +895,8 @@ bool Arch::pack()
pack_ram(ctx);
pack_special(ctx);
ctx->assignArchInfo();
+ constrain_chains(ctx);
+ ctx->assignArchInfo();
log_info("Checksum: 0x%08x\n", ctx->checksum());
return true;
} catch (log_execution_error_exception) {