From 77e1c73c0aebdf501692467dda116f42c378d5f6 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Thu, 4 Dec 2025 09:54:41 +0100 Subject: [PATCH] add addf support --- himbaechel/uarch/gatemate/gatemate.cc | 2 +- himbaechel/uarch/gatemate/pack_cpe.cc | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/himbaechel/uarch/gatemate/gatemate.cc b/himbaechel/uarch/gatemate/gatemate.cc index fbf260d9..e57156df 100644 --- a/himbaechel/uarch/gatemate/gatemate.cc +++ b/himbaechel/uarch/gatemate/gatemate.cc @@ -661,7 +661,7 @@ void GateMateImpl::postRoute() cell.second->params[id_C_I4] = Property(1,1); } - if (cell.second->type.in(id_CPE_MX4)) { + if (cell.second->type.in(id_CPE_MX4, id_CPE_ADDF, id_CPE_ADDF2)) { //printf("\n"); cfg.clear(); port_mapping.clear(); diff --git a/himbaechel/uarch/gatemate/pack_cpe.cc b/himbaechel/uarch/gatemate/pack_cpe.cc index cddf0103..eb5b6d06 100644 --- a/himbaechel/uarch/gatemate/pack_cpe.cc +++ b/himbaechel/uarch/gatemate/pack_cpe.cc @@ -614,8 +614,8 @@ void GateMatePacker::pack_addf() bool merged = cy->type != id_CC_ADDF; if (merged) { - merge_input(cy, cy, id_A2, id_INIT_L02, id_IN1, id_IN2); // IN5,IN6 - merge_input(cy, cy, id_B2, id_INIT_L03, id_IN3, id_IN4); // IN7,IN8 + merge_input(cy, cy, id_A2, id_INIT_L02, id_D0_02, id_D1_02); // IN5,IN6 + merge_input(cy, cy, id_B2, id_INIT_L03, id_D0_03, id_D1_03); // IN7,IN8 cy->params[id_INIT_L11] = Property(LUT_XOR, 4); } else { cy->params[id_INIT_L02] = Property(LUT_ZERO, 4); @@ -642,8 +642,8 @@ void GateMatePacker::pack_addf() cy->renamePort(id_S, id_OUT); } merge_dff(cy, id_OUT, other_dff); - merge_input(cy, upper, id_A, id_INIT_L00, id_IN1, id_IN2); - merge_input(cy, upper, id_B, id_INIT_L01, id_IN3, id_IN4); + merge_input(cy, upper, id_A, id_INIT_L00, id_D0_00, id_D1_00); + merge_input(cy, upper, id_B, id_INIT_L01, id_D0_01, id_D1_01); upper->params[id_INIT_L10] = Property(LUT_XOR, 4); upper->params[id_C_FUNCTION] = Property(merged ? C_ADDF2 : C_ADDF, 3);