La pregunta:
¿Cuándo es mejor utilizar latches que flip-flops en una FPGA que admita ambos?
Antecedentes:
Es un principio bien conocido que los latches transparentes sensibles al nivel deben evitarse en las FPGAs, y que los flip-flops sensibles al flanco deben utilizarse exclusivamente. La mayoría de las arquitecturas FPGA admiten de forma nativa tanto latches como flip-flops.
El consejo general, incluso de los proveedores de FPGAs, es tener cuidado con los latches, o no usarlos nunca, etc. Hay muy buenas razones para este consejo, cuyos detalles son bien conocidos. Sin embargo, la mayoría de los consejos están redactados en los siguientes términos: "no utilices latches a menos que conozca los necesitas".
Soy un experimentado diseñador de FPGAs, y a lo largo de los años cada vez que pensaba que conocía que necesitaba un latch, rápidamente me di cuenta de que había una forma mejor de hacerlo con flip-flops. Estoy interesado en escuchar ejemplos de cuando el uso de latches es inequívocamente mejor.
Nota importante:
Los pestillos frente a los flip-flops a menudo sacan de quicio a la gente. A mí sólo me interesa la respuesta a la pregunta. Las respuestas que explican la diferencia entre latches y flip-flops, exponiendo razones para NO usar latches, detallando por qué los flip-flops son mejores que los latches, hablando de cómo los latches son mejores en objetivos no FPGA, etc, estarían totalmente fuera de tema.