aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/pack.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ice40/pack.cc')
-rw-r--r--ice40/pack.cc22
1 files changed, 13 insertions, 9 deletions
diff --git a/ice40/pack.cc b/ice40/pack.cc
index 7fcf2750..9258014e 100644
--- a/ice40/pack.cc
+++ b/ice40/pack.cc
@@ -487,15 +487,19 @@ static void promote_globals(Context *ctx)
// Main pack function
bool pack_design(Context *ctx)
{
- log_break();
- pack_constants(ctx);
- promote_globals(ctx);
- pack_io(ctx);
- pack_lut_lutffs(ctx);
- pack_nonlut_ffs(ctx);
- pack_ram(ctx);
- log_info("Checksum: 0x%08x\n", ctx->checksum());
- return true;
+ try {
+ log_break();
+ pack_constants(ctx);
+ promote_globals(ctx);
+ pack_io(ctx);
+ pack_lut_lutffs(ctx);
+ pack_nonlut_ffs(ctx);
+ pack_ram(ctx);
+ log_info("Checksum: 0x%08x\n", ctx->checksum());
+ return true;
+ } catch (log_execution_error_exception) {
+ return false;
+ }
}
NEXTPNR_NAMESPACE_END