Quartus® Primeプロ・エディションのユーザーガイド: デバッグツール

ID 683819
日付 7/08/2024
Public
ドキュメント目次

1.8.1. デバッグ用の保持の概要

デバッグ用に保持する機能を使用すると、デザイン内のノードを指定して、完全なデバッグの可視性を確保できます。ここでの完全な可視性とは、配置配線によって生成されたポストフィット・ネットリストに、デザインファイルで定義されているのと同じ名前と機能でノード名が残ることを保証できることを意味します。

デバッグ用に保持を適用すると、 Quartus® Primeデバッグツールで使用できるNode Finderフィルターを通じて、これらのノードに簡単にアクセスできます。

通常、ポストフィット・ネットリストを使用してデバッグすると、デザインの可視性がいくらか失われます。この損失は、ポストフィット・ネットリストではデザインがすでにデバイス・アーキテクチャーにマッピング、最適化、およびリタイミングされているために発生します。配置配線ステージでは、元の信号名が変更または削除されることがよくあります。さらに、ポストフィット・ネットリストの動作がわずかに変化することがあります。これは、インバーターのプッシュバックや、ロジックの重複により可視信号が部分的な動作しか示さないためです。

デバッグ・ユースケース用の保持

デバッグ用の保持は、主にデバッグを目的としています。モニタリングとデバッグ用の信号の保持 で説明されているように、Signal Tapデバッグフローで特に役立ちます。

さらに、デバッグ用の保持を使用すると、利用可能なシステム・デバッグ・ツールや、デザインで使用する計測ロジック内でも役立ちます。

デバッグ・ハードウェア実装用の保持

デバッグ用の保持機能を適用すると、ハードウェア実装に次の影響があります。

  • 指定されたノードをCompilerが最適化しないようにします。
  • 指定されたノードに対してLCELLモジュールのインスタンス化が行われ、ノードパスの全体的なタイミングに影響します。

デバッグ用に保持を適用することと、指定されたノードで次のHDLプラグマをすべて使用することは、ハードウェア的に同等です。

表 5.  組み合わせた属性
HDLプラグマ Compilerの設定 説明
preserve PRESERVE_REGISTER Compilerがレジスターを最適化、またはリタイミングするのを防ぎます。
keep HDLのみ 組み合わせロジックの最適化中に、Compilerが特定の信号ネットを最小化または削除するのを防ぎます。
noprune HDLのみ Compilerがファンアウト・フリー・レジスターを削除、または最適化するのを防ぎます。
dont_merge HDLのみ Compilerがレジスターを重複レジスターとマージしないようにします。
dont_replicate HDLのみ Compilerがレジスターを重複レジスターとマージしないようにします。