From 70a2d95b487f48bdb0e55dddf1c5172a667d4e44 Mon Sep 17 00:00:00 2001 From: YRabbit Date: Mon, 9 Dec 2024 20:04:39 +1000 Subject: [PATCH] Gowin. BUGFIX. Fix FFs compatibility. Flipflops with a fixed ClockEnable input cannot coexist with flipflops with a variable one. Signed-off-by: YRabbit --- himbaechel/uarch/gowin/gowin.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/himbaechel/uarch/gowin/gowin.cc b/himbaechel/uarch/gowin/gowin.cc index 1bde0403..2afbadeb 100644 --- a/himbaechel/uarch/gowin/gowin.cc +++ b/himbaechel/uarch/gowin/gowin.cc @@ -822,7 +822,9 @@ inline bool incompatible_ffs(const CellInfo *ff, const CellInfo *adj_ff) (ff->type == id_DFFNRE && adj_ff->type != id_DFFNSE) || (ff->type == id_DFFNP && adj_ff->type != id_DFFNC) || (ff->type == id_DFFNC && adj_ff->type != id_DFFNP) || (ff->type == id_DFFNPE && adj_ff->type != id_DFFNCE) || - (ff->type == id_DFFNCE && adj_ff->type != id_DFFNPE)); + (ff->type == id_DFFNCE && adj_ff->type != id_DFFNPE) || (ff->type == id_DFF && adj_ff->type != id_DFF) || + (ff->type == id_DFFE && adj_ff->type != id_DFFE) || (ff->type == id_DFFN && adj_ff->type != id_DFFN) || + (ff->type == id_DFFNE && adj_ff->type != id_DFFNE)); } // placement validation