aboutsummaryrefslogtreecommitdiffstats
path: root/ice40
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2018-06-21 17:56:45 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2018-06-21 17:56:45 +0200
commit8fac26c2b795865098b1ba16152cd1c510133f29 (patch)
tree1b0d9a48c1198fc8cfd5f2ef6253104e93c54048 /ice40
parent54549d36e911aac8d0b0a2eea6074654c06c9717 (diff)
downloadnextpnr-8fac26c2b795865098b1ba16152cd1c510133f29.tar.gz
nextpnr-8fac26c2b795865098b1ba16152cd1c510133f29.tar.bz2
nextpnr-8fac26c2b795865098b1ba16152cd1c510133f29.zip
Fixed return codes for packer, placer and router
Diffstat (limited to 'ice40')
-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