diff --git a/ecp5/pack.cc b/ecp5/pack.cc index 7033319f..a6f31656 100644 --- a/ecp5/pack.cc +++ b/ecp5/pack.cc @@ -38,10 +38,12 @@ static bool is_nextpnr_iob(Context *ctx, CellInfo *cell) static bool net_is_constant(const Context *ctx, NetInfo *net, bool &value) { + auto gnd = ctx->id("$PACKER_GND_NET"); + auto vcc = ctx->id("$PACKER_VCC_NET"); if (net == nullptr) return false; - if (net->name == ctx->id("$PACKER_GND_NET") || net->name == ctx->id("$PACKER_VCC_NET")) { - value = (net->name == ctx->id("$PACKER_VCC_NET")); + if (net->name.in(gnd, vcc)) { + value = (net->name == vcc); return true; } else { return false; diff --git a/ice40/pack.cc b/ice40/pack.cc index c9811721..f8944685 100644 --- a/ice40/pack.cc +++ b/ice40/pack.cc @@ -132,10 +132,12 @@ static void pack_nonlut_ffs(Context *ctx) static bool net_is_constant(const Context *ctx, NetInfo *net, bool &value) { + auto gnd = ctx->id("$PACKER_GND_NET"); + auto vcc = ctx->id("$PACKER_VCC_NET"); if (net == nullptr) return false; - if (net->name == ctx->id("$PACKER_GND_NET") || net->name == ctx->id("$PACKER_VCC_NET")) { - value = (net->name == ctx->id("$PACKER_VCC_NET")); + if (net->name.in(gnd, vcc)) { + value = (net->name == vcc); return true; } else { return false;