diff --git a/himbaechel/uarch/gatemate/constids.inc b/himbaechel/uarch/gatemate/constids.inc index 995a922f..733f06c0 100644 --- a/himbaechel/uarch/gatemate/constids.inc +++ b/himbaechel/uarch/gatemate/constids.inc @@ -109,10 +109,12 @@ X(INIT_L30) X(O1) X(O2) - X(CC_DFF) X(Q) X(D) X(R) X(S) X(FF_INIT) + +X(CC_BUFG) +X(BUFG) diff --git a/himbaechel/uarch/gatemate/pack.cc b/himbaechel/uarch/gatemate/pack.cc index e4c52251..1ca5c03b 100644 --- a/himbaechel/uarch/gatemate/pack.cc +++ b/himbaechel/uarch/gatemate/pack.cc @@ -324,18 +324,25 @@ void GateMatePacker::pack_cpe() ci.renamePort(id_Q, id_OUT1); ci.disconnectPort(id_EN); ci.disconnectPort(id_SR); - ci.params[id_O1] = Property(0b11, 2); + ci.params[id_O1] = Property(0b00, 2); ci.params[id_INIT_L20] = Property(0b1010, 4); ci.params[id_INIT_L00] = Property(0b1010, 4); ci.params[id_INIT_L10] = Property(0b1010, 4); - + ci.params[id_EN] = Property(0b11, 2); ci.params[id_R] = Property(0b11, 2); ci.params[id_S] = Property(0b11, 2); + ci.params[id_CLK] = Property(0b10, 2); ci.params[id_FF_INIT] = Property(0b10, 2); + + ci.unsetParam(ctx->id("SR_VAL")); + ci.unsetParam(ctx->id("SR_INV")); + ci.unsetParam(ctx->id("EN_INV")); + ci.unsetParam(ctx->id("CLK_INV")); + ci.unsetParam(ctx->id("INIT")); + ci.type = id_CPE; } - } void GateMatePacker::pack_constants()