aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/pack.cc
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-08-04 08:32:42 +0200
committerGitHub <noreply@github.com>2018-08-04 08:32:42 +0200
commit65d73eb9838e0bb8e6d089ecde3d4ffaf34e9e29 (patch)
treed54ab5bb7926e7965cf23bb066c126bfeaa39565 /ice40/pack.cc
parentaffc6da1af7afccba1da8cdf3b9e57a01b1fb5e5 (diff)
parent2215ace1dcc9d16f3661c8f95dff56f5f582b6bc (diff)
downloadnextpnr-65d73eb9838e0bb8e6d089ecde3d4ffaf34e9e29.tar.gz
nextpnr-65d73eb9838e0bb8e6d089ecde3d4ffaf34e9e29.tar.bz2
nextpnr-65d73eb9838e0bb8e6d089ecde3d4ffaf34e9e29.zip
Merge pull request #23 from daveshah1/use_placeconstr
Making use of relative constraints
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) {