aboutsummaryrefslogtreecommitdiffstats
path: root/generic/pack.cc
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2022-01-07 16:16:47 +0000
committerGitHub <noreply@github.com>2022-01-07 16:16:47 +0000
commit3d24583b914bac37d9c22931e6fcee2e1408b284 (patch)
tree2ff879a3a856d19f61cc0c0875e7a3aa7fba7ac1 /generic/pack.cc
parent089ca8258e6f4dc93f8d39594c1109a8578cdc98 (diff)
parente88bd34c02272ecdad6295123941d9040fa4f043 (diff)
downloadnextpnr-3d24583b914bac37d9c22931e6fcee2e1408b284.tar.gz
nextpnr-3d24583b914bac37d9c22931e6fcee2e1408b284.tar.bz2
nextpnr-3d24583b914bac37d9c22931e6fcee2e1408b284.zip
Merge pull request #893 from YosysHQ/gatecat/viaduct
Viaduct API for a hybrid between generic and full-custom arch
Diffstat (limited to 'generic/pack.cc')
-rw-r--r--generic/pack.cc14
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) {