インテル® Quartus® Primeプロ・エディションのユーザーガイド: デザイン上の推奨事項

ID 683082
日付 4/13/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

2.2.2.2. 意図しないラッチ推論の回避

ラッチの使用を避けて、デザインのタイミング・パフォーマンスと信頼性を完全に分析できるようにします。 ラッチは、新しい値が割り当てられるまで値を保持する組み合わせフィードバックを備えた小さな回路です。 インテル® Quartus® Primeテキスト・エディターまたはブロック・エディターでラッチを実装できます。

HDLコードでよくある間違いは、意図しないラッチの推論です。 これが発生すると、 インテル® Quartus® Prime合成は警告メッセージを発行します。他のテクノロジとは異なり、FPGAアーキテクチャーのラッチはレジスターよりも大幅に小さくはありません。ただし、このアーキテクチャーはラッチの実装に最適化されておらず、ラッチは通常、同等のレジスター済み回路に比べてタイミングパフォーマンスが低下します。

ラッチには、データが入力から出力へ連続的に流れる透過モードがあります。イネーブル信号がハイ(ネガティブラッチの場合はロー)の場合、ポジティブ・ラッチはトランスペアレント・モードになります。透過モードでは、直接パスが作成されるため、入力のグリッチが出力にパススルーする可能性があります。これにより、タイミング解析が非常に複雑になります。一般的なラッチ方式では、複数の有効化フェーズを使用して、長い透過パスの発生を防ぎます。ただし、タイミング解析ではこれらの安全なアプリケーションを特定できません。

Timing Analyzerは、デフォルトでポジティブラッチ信号の立ち下がりエッジで同期される同期エレメントとしてラッチを分析します。ラッチを不透明な開始点と終了点を持つものとして扱うことができます。トランスペアレントモードを瞬時に移行しても、グリッチが伝播する可能性があることに注意してください。 Timing Analyzerは、サイクル借入分析を実行できません。

さまざまなタイミングの複雑さにより、ラッチは正式な検証ツールでのサポートが制限されています。したがって、ラッチを含むデザインの正式な検証に依存しないでください。