diff options
author | Maciej Kurc <mkurc@antmicro.com> | 2022-05-11 15:50:18 +0200 |
---|---|---|
committer | Maciej Kurc <mkurc@antmicro.com> | 2022-05-11 16:31:34 +0200 |
commit | 7c7a4f095921f4f6dbec27a73862e5d26ffb230e (patch) | |
tree | 040a60f6cb777b7f94c68e0156f95c8b86bc278e | |
parent | aafe1a176c821a3919e773b57ac08fb348c91597 (diff) | |
download | nextpnr-7c7a4f095921f4f6dbec27a73862e5d26ffb230e.tar.gz nextpnr-7c7a4f095921f4f6dbec27a73862e5d26ffb230e.tar.bz2 nextpnr-7c7a4f095921f4f6dbec27a73862e5d26ffb230e.zip |
Added tying unused LUT pins to preferred constant instead of Vcc
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
-rw-r--r-- | fpga_interchange/luts.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fpga_interchange/luts.cc b/fpga_interchange/luts.cc index 8c4672c7..03c01803 100644 --- a/fpga_interchange/luts.cc +++ b/fpga_interchange/luts.cc @@ -428,7 +428,10 @@ bool LutMapper::remap_luts(const Context *ctx, SiteLutMappingResult *lut_mapping for (size_t bel_pin_idx = 0; bel_pin_idx < lutBel.pins.size(); ++bel_pin_idx) { if ((used_pins & (1 << bel_pin_idx)) == 0) { NPNR_ASSERT(bel_to_cell_pin_remaps[cell_idx][bel_pin_idx] == -1); - cell.lutCell.pin_connections.emplace(lutBel.pins.at(bel_pin_idx), LutCell::PinConnection::Vcc); + cell.lutCell.pin_connections.emplace(lutBel.pins.at(bel_pin_idx), LutCell::PinConnection::Const); + } + else { + cell.lutCell.pin_connections.emplace(lutBel.pins.at(bel_pin_idx), LutCell::PinConnection::Signal); } } } @@ -438,7 +441,10 @@ bool LutMapper::remap_luts(const Context *ctx, SiteLutMappingResult *lut_mapping if ((pin_mask & (1 << bel_pin_idx)) != 0) { NPNR_ASSERT(bel_to_cell_pin_remaps[cell_idx][bel_pin_idx] == -1); auto pin = lutBel.pins.at(bel_pin_idx); - cell.lutCell.pin_connections.emplace(pin, LutCell::PinConnection::Vcc); + cell.lutCell.pin_connections.emplace(pin, LutCell::PinConnection::Const); + } + else { + cell.lutCell.pin_connections.emplace(lutBel.pins.at(bel_pin_idx), LutCell::PinConnection::Signal); } } } |