From 7c7a4f095921f4f6dbec27a73862e5d26ffb230e Mon Sep 17 00:00:00 2001 From: Maciej Kurc Date: Wed, 11 May 2022 15:50:18 +0200 Subject: [PATCH] Added tying unused LUT pins to preferred constant instead of Vcc Signed-off-by: Maciej Kurc --- fpga_interchange/luts.cc | 10 ++++++++-- 1 file 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); } } }