select ffA->type.in($dff, $dffe)
// DSP48E1 does not support clock inversion
select param(ffA, \CLK_POLARITY).as_bool()
+ filter !port(dsp, \A).remove_const().empty()
filter includes(port(ffA, \Q).to_sigbit_set(), port(dsp, \A).remove_const().to_sigbit_set())
optional
endmatch
select ffB->type.in($dff, $dffe)
// DSP48E1 does not support clock inversion
select param(ffB, \CLK_POLARITY).as_bool()
+ filter !port(dsp, \B).remove_const().empty()
filter includes(port(ffB, \Q).to_sigbit_set(), port(dsp, \B).remove_const().to_sigbit_set())
optional
endmatch