streamline constant_net detection

This commit is contained in:
rowanG077 2023-02-06 17:04:30 +01:00
parent d2bf44ba45
commit 9e8f8b7b45
2 changed files with 8 additions and 4 deletions

View File

@ -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) 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) if (net == nullptr)
return false; return false;
if (net->name == ctx->id("$PACKER_GND_NET") || net->name == ctx->id("$PACKER_VCC_NET")) { if (net->name.in(gnd, vcc)) {
value = (net->name == ctx->id("$PACKER_VCC_NET")); value = (net->name == vcc);
return true; return true;
} else { } else {
return false; return false;

View File

@ -132,10 +132,12 @@ static void pack_nonlut_ffs(Context *ctx)
static bool net_is_constant(const Context *ctx, NetInfo *net, bool &value) 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) if (net == nullptr)
return false; return false;
if (net->name == ctx->id("$PACKER_GND_NET") || net->name == ctx->id("$PACKER_VCC_NET")) { if (net->name.in(gnd, vcc)) {
value = (net->name == ctx->id("$PACKER_VCC_NET")); value = (net->name == vcc);
return true; return true;
} else { } else {
return false; return false;