diff options
author | gatecat <gatecat@ds0.me> | 2021-12-30 13:18:34 +0000 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2022-01-04 20:19:29 +0000 |
commit | e88bd34c02272ecdad6295123941d9040fa4f043 (patch) | |
tree | 2ff879a3a856d19f61cc0c0875e7a3aa7fba7ac1 /generic/pack.cc | |
parent | 089ca8258e6f4dc93f8d39594c1109a8578cdc98 (diff) | |
download | nextpnr-e88bd34c02272ecdad6295123941d9040fa4f043.tar.gz nextpnr-e88bd34c02272ecdad6295123941d9040fa4f043.tar.bz2 nextpnr-e88bd34c02272ecdad6295123941d9040fa4f043.zip |
Viaduct API for a hybrid between generic and full-custom arch
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'generic/pack.cc')
-rw-r--r-- | generic/pack.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/generic/pack.cc b/generic/pack.cc index 32dae553..291a528d 100644 --- a/generic/pack.cc +++ b/generic/pack.cc @@ -276,12 +276,16 @@ bool Arch::pack() Context *ctx = getCtx(); try { log_break(); - pack_constants(ctx); - pack_io(ctx); - pack_lut_lutffs(ctx); - pack_nonlut_ffs(ctx); - ctx->settings[ctx->id("pack")] = 1; + if (uarch) { + uarch->pack(); + } else { + pack_constants(ctx); + pack_io(ctx); + pack_lut_lutffs(ctx); + pack_nonlut_ffs(ctx); + } ctx->assignArchInfo(); + ctx->settings[ctx->id("pack")] = 1; log_info("Checksum: 0x%08x\n", ctx->checksum()); return true; } catch (log_execution_error_exception) { |