<pepijndevos>
Each tile has 4 configurable logic slices, which share their reset and enable. So cls is the slice, and if the dff has a non-null ce, then if there is another dff in the same cls it has to match
<gatecat>
Imagine if it first finds a ff with no ce, so it stays at nullptr, then an ff with ce which it thinks can be placed in the same tile but actually that's invalid
<gatecat>
the problem is that it allows a dff with null ce and a dff with nonnull ce to be placed together
<pepijndevos>
hm... I *think* that's what I fixed with the check for the mode, but... not all parts of my code distinguish between dff and dff because they are the same in the bitstream
<pepijndevos>
*dff and dffe
<pepijndevos>
so uh... if dff and dffe have the same mode yea it'd break... I need to check that
<pepijndevos>
good catch
<pepijndevos>
In yosys they are different types. So DFFE and DFF should never be in the same cls based on their type