A questão:
Quando o uso de travas é melhor do que flip-flops em um FPGA compatível com ambos?
Fundo:
É um princípio bem conhecido que trincos transparentes sensíveis ao nível devem ser evitados nos FPGAs, e chinelos sensíveis ao limite devem ser usados exclusivamente. A maioria das arquiteturas FPGA suporta nativamente travas e chinelos.
O conselho geral - mesmo dos fornecedores de FPGA - é observar trincos ou nunca usar trincos, etc. Existem boas razões para esse conselho, cujos detalhes são bem conhecidos. No entanto, a maioria dos conselhos é formulada: "não use travas, a menos que você saiba que precisa delas".
Eu sou um designer FPGA experiente, e ao longo dos anos cada vez que eu pensei que eu sabia que eu precisava de um trinco, um rapidamente percebeu que havia uma maneira melhor de fazê-lo com flip-flop. Estou interessado em ouvir exemplos de quando o uso de travas é inequivocamente melhor.
Nota importante:
Travas versus chinelos geralmente deixam as pessoas irritadas. Estou interessado apenas na resposta à pergunta. Respostas que explicam a diferença entre travas e flip-flops, explicando as razões para usar NÃO usar travas, detalhando por que os flip-flops são melhores que travas, falando sobre como as travas são melhores em destinos que não sejam FPGA, etc., seria totalmente fora de tópico.