Como se mencionó, la lógica combinatoria con retroalimentación se usa para implementar flip flops y latches, por lo que no es intrínsecamente mala.
Sin embargo, hay algunos problemas específicos cuando lo usas, especialmente en un FPGA (donde presumiblemente eventualmente vas a conducir flip flips). El primer problema es que el tiempo de establecimiento de un circuito con retroalimentación no se puede determinar de forma estática. En ausencia de retroalimentación, la herramienta de síntesis puede simplemente sumar los retrasos de propagación de todas las puertas para determinar si las salidas se asentarán en el siguiente ciclo de reloj, y así determinar la frecuencia de operación máxima de un circuito. Si hay comentarios, eso no es posible.
Segundo, el tipo de retroalimentación que está describiendo normalmente genera pestillos, no flip-flops. Esto presenta algunos problemas. Un pestillo puede "ver" los estados temporales / intermedios y responder a ellos de una manera que usted no espera. Por ejemplo, si tiene un contador que recorre los estados 00
, 01
, 10
, 11
y desea que se active un pestillo cuando vea el estado 11
. Durante la transición entre 01
y 10
puede pasar por el estado 11
. Luego, si recompila los cambios de voltaje de suministro, o si cambia la temperatura del chip, el comportamiento puede cambiar, por lo que, en cambio, pasa a un estado intermedio. Esta instancia podría solucionarse mediante el uso de códigos grises, pero eso no siempre será posible.