diff options
author | YRabbit <rabbit@yrabbit.cyou> | 2022-07-04 10:32:39 +1000 |
---|---|---|
committer | YRabbit <rabbit@yrabbit.cyou> | 2022-07-04 10:32:39 +1000 |
commit | 3172a38daeb4588d3aaa686816c09d64ccf08587 (patch) | |
tree | 7dd071befb4f13acf4a135984856867fed881531 /gowin/pack.cc | |
parent | 6d85de43ee1f9585e3c3a170f52513755ed924b5 (diff) | |
download | nextpnr-3172a38daeb4588d3aaa686816c09d64ccf08587.tar.gz nextpnr-3172a38daeb4588d3aaa686816c09d64ccf08587.tar.bz2 nextpnr-3172a38daeb4588d3aaa686816c09d64ccf08587.zip |
gowin: Let the placer know about global networks
Refactor in order to detect networks that will be routed in a special
mode earlier. This makes it possible to mark the source of such networks
as a global buffer, thereby removing their influence on element
placement.
In addition, timing classes are set for some cells.
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
Diffstat (limited to 'gowin/pack.cc')
-rw-r--r-- | gowin/pack.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gowin/pack.cc b/gowin/pack.cc index 83820142..5b304f10 100644 --- a/gowin/pack.cc +++ b/gowin/pack.cc @@ -26,6 +26,8 @@ #include "log.h" #include "util.h" +#include "globals.h" + NEXTPNR_NAMESPACE_BEGIN static void make_dummy_alu(Context *ctx, int alu_idx, CellInfo *ci, CellInfo *packed_head, @@ -1009,6 +1011,7 @@ bool Arch::pack() Context *ctx = getCtx(); try { log_break(); + pre_pack(ctx); pack_constants(ctx); pack_gsr(ctx); pack_io(ctx); @@ -1018,6 +1021,7 @@ bool Arch::pack() pack_alus(ctx); pack_lut_lutffs(ctx); pack_nonlut_ffs(ctx); + post_pack(ctx); ctx->settings[id_pack] = 1; ctx->assignArchInfo(); log_info("Checksum: 0x%08x\n", ctx->checksum()); |