質問:
ラッチを使用するのは、両方をサポートするFPGAでフリップフロップよりも優れていますか?
バックグラウンド:
FPGAではレベルセンシティブなトランスペアレントラッチを避け、エッジセンシティブなフリップフロップのみを使用することがよく知られています。ほとんどのFPGAアーキテクチャは、ラッチとフリップフロップの両方をネイティブにサポートしています。
FPGAベンダーからの一般的なアドバイスは、ラッチに注意すること、またはラッチを使用しないことなどです。このアドバイスには非常に正当な理由があり、その詳細はすべてよく知られています。ただし、ほとんどのアドバイスでは、「ラッチが必要なことがわかっている場合を除き、ラッチを使用しないでください」と表現されています。
私は経験豊富なFPGA設計者であり、ラッチが必要だと知っていると思うたびに、フリップフロップでそれを行うより良い方法があることにすぐに気付きました。ラッチを使用することが明確に優れている場合の例を聞くことに興味があります。
重要な注意点:
ラッチ対フリップフロップはしばしば人々を怒らせます。私は質問に対する答えにのみ興味があります。ラッチとフリップフロップの違いを説明する応答、ラッチを使用しない理由の説明、フリップフロップがラッチより優れている理由の詳細、FPGA以外のターゲットでラッチが優れている方法などについての説明は、まったく話題になりません。