diff options
author | gatecat <gatecat@ds0.me> | 2021-02-17 10:24:06 +0000 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-02-17 10:24:06 +0000 |
commit | 6b4bd0993f5576d89df1c674b1868e29dcf650e5 (patch) | |
tree | f5a33b0f0faa17477a41878f380f8a3422d34d10 | |
parent | da1ecf0813cb07a65bc1ca498d0f9c896cc3a675 (diff) | |
download | nextpnr-6b4bd0993f5576d89df1c674b1868e29dcf650e5.tar.gz nextpnr-6b4bd0993f5576d89df1c674b1868e29dcf650e5.tar.bz2 nextpnr-6b4bd0993f5576d89df1c674b1868e29dcf650e5.zip |
generic: Don't generate Vcc if not needed
Signed-off-by: gatecat <gatecat@ds0.me>
-rw-r--r-- | generic/pack.cc | 12 | ||||
m--------- | tests | 0 |
2 files changed, 7 insertions, 5 deletions
diff --git a/generic/pack.cc b/generic/pack.cc index 43157b6c..6b984fef 100644 --- a/generic/pack.cc +++ b/generic/pack.cc @@ -156,7 +156,7 @@ static void pack_constants(Context *ctx) std::vector<IdString> dead_nets; - bool gnd_used = false; + bool gnd_used = false, vcc_used = false; for (auto net : sorted(ctx->nets)) { NetInfo *ni = net.second; @@ -169,6 +169,7 @@ static void pack_constants(Context *ctx) } else if (ni->driver.cell != nullptr && ni->driver.cell->type == ctx->id("VCC")) { IdString drv_cell = ni->driver.cell->name; set_net_constant(ctx, ni, vcc_net.get(), true); + vcc_used = true; dead_nets.push_back(net.first); ctx->cells.erase(drv_cell); } @@ -178,10 +179,11 @@ static void pack_constants(Context *ctx) ctx->cells[gnd_cell->name] = std::move(gnd_cell); ctx->nets[gnd_net->name] = std::move(gnd_net); } - // Vcc cell always inserted for now, as it may be needed during carry legalisation (TODO: trim later if actually - // never used?) - ctx->cells[vcc_cell->name] = std::move(vcc_cell); - ctx->nets[vcc_net->name] = std::move(vcc_net); + + if (vcc_used) { + ctx->cells[vcc_cell->name] = std::move(vcc_cell); + ctx->nets[vcc_net->name] = std::move(vcc_net); + } for (auto dn : dead_nets) { ctx->nets.erase(dn); diff --git a/tests b/tests -Subproject 6d010ef07edb383f9caba9498cdec8b13fff03a +Subproject 2aa02a28d4078c616d96400973d3b5e4cf1e454 |