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 /fpga_interchange | |
| 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>
Diffstat (limited to 'fpga_interchange')
| -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);                  }              }          } | 
