diff options
author | gatecat <gatecat@ds0.me> | 2023-02-22 14:51:51 +0100 |
---|---|---|
committer | myrtle <gatecat@ds0.me> | 2023-02-23 10:05:55 +0100 |
commit | 14050f991bc2e4ce2c6e7f431fe2acd4f0cf2a70 (patch) | |
tree | 0848236a9eee9b1504ac4aa59289f964d2a11976 /generic/viaduct/fabulous/pack.cc | |
parent | 1809e18c7bb23d88ddb716482d72b3ce195a1b35 (diff) | |
download | nextpnr-14050f991bc2e4ce2c6e7f431fe2acd4f0cf2a70.tar.gz nextpnr-14050f991bc2e4ce2c6e7f431fe2acd4f0cf2a70.tar.bz2 nextpnr-14050f991bc2e4ce2c6e7f431fe2acd4f0cf2a70.zip |
fabulous: Global constant wires scheme
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'generic/viaduct/fabulous/pack.cc')
-rw-r--r-- | generic/viaduct/fabulous/pack.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/generic/viaduct/fabulous/pack.cc b/generic/viaduct/fabulous/pack.cc index 10402016..629b000e 100644 --- a/generic/viaduct/fabulous/pack.cc +++ b/generic/viaduct/fabulous/pack.cc @@ -194,7 +194,8 @@ struct FabulousPacker } } - bool check_cluster_legality(CellInfo *lc) { + bool check_cluster_legality(CellInfo *lc) + { if (lc->cluster == ClusterId()) return true; CLBState test_clb(cfg.clb); @@ -204,7 +205,7 @@ struct FabulousPacker if (ci->type == id_FABULOUS_LC) { NPNR_ASSERT(ci->constr_z >= 0 && ci->constr_z < int(cfg.clb.lc_per_clb)); test_clb.lc_comb[ci->constr_z] = ci; - } else if (ci->type.in(id_FABULOUS_MUX2, id_FABULOUS_MUX4, id_FABULOUS_MUX8)) { + } else if (ci->type.in(id_FABULOUS_MUX2, id_FABULOUS_MUX4, id_FABULOUS_MUX8)) { int mux_z = (ci->constr_z - cfg.clb.lc_per_clb - 1); NPNR_ASSERT(mux_z >= 0 && mux_z < int(cfg.clb.lc_per_clb)); test_clb.mux[mux_z] = ci; @@ -317,9 +318,7 @@ struct FabulousPacker void handle_constants() { - const dict<IdString, Property> vcc_params = {{id_INIT, Property(0x3, 2)}}; - const dict<IdString, Property> gnd_params = {{id_INIT, Property(0x0, 2)}}; - h.replace_constants(CellTypePort(id_LUT1, id_O), CellTypePort(id_LUT1, id_O), vcc_params, gnd_params); + h.replace_constants(CellTypePort(id__CONST1_DRV, id_O), CellTypePort(id__CONST0_DRV, id_O), {}, {}); } void handle_io() |