diff options
Diffstat (limited to 'ice40/pack.cc')
-rw-r--r-- | ice40/pack.cc | 22 |
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 |