This commit is contained in:
0xa000 2026-08-05 23:50:11 +01:00 committed by GitHub
commit 91108b24d5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 11 additions and 0 deletions

View File

@ -310,6 +310,17 @@ void XilinxPacker::pack_lutffs()
ci->constr_z = lut->constr_z + (BEL_FF - BEL_6LUT);
++pairs;
} else {
// For SRL/LUTRAM drivers the slice write clock is the slice
// CLK, which the FF must share (same net, same polarity) —
// otherwise the cluster is unplaceable (xc7_logic_tile_valid
// FF-clk-vs-wclk check rejects it at every bel and
// legalisation spins forever).
NetInfo *lut_clk = lut->getPort(id_CLK);
if (lut_clk != nullptr &&
(ci->getPort(id_CK) != lut_clk ||
bool_or_default(ci->params, id_IS_CLK_INVERTED, false) !=
bool_or_default(lut->params, id_IS_CLK_INVERTED, false)))
continue;
lut->constr_children.push_back(ci);
lut->cluster = lut->name;
ci->cluster = lut->name;