aboutsummaryrefslogtreecommitdiffstats
path: root/nexus/arch_place.cc
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2020-10-22 19:25:17 +0100
committerDavid Shah <dave@ds0.me>2020-11-30 08:45:28 +0000
commite6c28877735444c3bf7927a771cafd9f35bdac72 (patch)
treec9f7fcf99d78ead31707413eed10d54e822d71de /nexus/arch_place.cc
parentc89d830e1689116955c9257dd2933ff49eceeaba (diff)
downloadnextpnr-e6c28877735444c3bf7927a771cafd9f35bdac72.tar.gz
nextpnr-e6c28877735444c3bf7927a771cafd9f35bdac72.tar.bz2
nextpnr-e6c28877735444c3bf7927a771cafd9f35bdac72.zip
nexus: Basic support for carries
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'nexus/arch_place.cc')
-rw-r--r--nexus/arch_place.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/nexus/arch_place.cc b/nexus/arch_place.cc
index feec75ad..35b14caf 100644
--- a/nexus/arch_place.cc
+++ b/nexus/arch_place.cc
@@ -59,6 +59,8 @@ bool Arch::nexus_logic_tile_valid(LogicTileStatus &lts) const
// If LUT1 is carry then LUT0 must be carry too
if (lut1->lutInfo.is_carry && (lut0 == nullptr || !lut0->lutInfo.is_carry))
return false;
+ if (!lut1->lutInfo.is_carry && lut0 != nullptr && lut0->lutInfo.is_carry)
+ return false;
}
// Check for correct use of FF1 DI
if (ff1 != nullptr && ff1->ffInfo.di != nullptr && (lut1 == nullptr || ff1->ffInfo.di != lut1->lutInfo.f))