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  | 
