AN 847: デザインブロックを再利用したSignal Tapのチュートリアル: インテル® Arria® 10 FPGA開発ボード用
ID
683712
日付
5/07/2018
Public
4.1. ステップ1 : デベロッパー: ペリフェラル再利用コア・パーティションの作成とLogic Lock領域の定義
4.2. ステップ2 : ルート・パーティションでのSLD JTAG Bridge Agentの生成とインスタンス化
4.3. ステップ3:SLD JTAG Bridge Hostの生成とインスタンス化
4.4. ステップ4 : Signal TapのHDLインスタンスの生成
4.5. ステップ5 : ルート・パーティションのコンパイルとエクスポート、およびコンシューマー・プロジェクトへのファイルのコピー
4.6. ステップ6 : デバイスのプログラミングとハードウェアの検証
4.7. ステップ7 : ルート・パーティション用のSignal Tapファイルの生成
4.8. ステップ8 : Signal Tapによるハードウェアの検証
1.1. コア・パーティションを再利用したSignal Tap
コア・パーティションの再利用フローでは、デベロッパーはデバッグに使用する信号を識別し、その信号をポートとしてパーティション境界に追加することで、その信号はコンシューマー・プロジェクトに表示されます。
デベロッパーは2つの方法を使用して、Signal Tapをコア・パーティションに追加することができます。
- Signal Tap HDLインスタンス : この方法を使用する場合、デベロッパーは、Signal Tapコア・パーティション内のHDLインスタンスを定義します。合成中にCompilerでは、パーティション境界ポートの作成を、Signal Tap入力ポートに接続するすべてのノードに対して行います。最後にデベロッパーは、 .qdb ファイルをエクスポートして、サポートするブラック・ボックス・ファイルを生成します。このブラック・ボックス・ファイルによって、再利用するブロックのポートが定義されます。
コンシューマーは、Signal Tapファイルを、デザインに含まれるHDLインスタンスごとに1つ生成しなければなりません。親パーティションおよび再利用されたコア・パーティションには、別々のSignal Tapファイルがあります。
- パーティション境界ポートの作成 : この方法を使用する場合、デベロッパーは、信号をポートとしてパーティション境界に直接割り当てます。これには、QSFアサインメントまたはAssignment Editorを使用します。境界ポートを割り当てると、階層ブロックの管理がシンプルになります。これにはポート作成およびロジック層のトンネリングが自動的に行われます。RTLを変更する必要はありません。
デベロッパーは、ユーザーが作成したパーティション境界ポートをブラック・ボックス・ファイルに含める必要があります。このアクションにより、コンシューマーは、このポートを合成前ノードまたはフィット後ノードとしてタッピングすることができます。
コンシューマーは、Signal Tapロジック・アナライザーを親パーティションに追加するのに、次のいずれかの方法を使用します。
- Signal Tap HDLインスタンス
- Signal Tap GUIで合成前のノードをタッピングする。
- Signal Tap GUIでポストフィット・ノードをタッピングする。
図 1. コア・パーティションを再利用したデバッグのセットアップ
このコア・パーティション再利用のチュートリアルでは、デベロッパーはパーティション境界ポートの作成にAssignment Editorを使用し、コンシューマーは合成前のノードを親パーティションに追加するのにSignal Tap GUIを使用します。次の図では、デベロッパーとコンシューマーのフローを説明します。
図 2. コア・パーティション再利用のチュートリアル・デザイン・フロー
詳細については、 ブロックベースのデザイン・ユーザーガイド : インテル® Quartus® Prime プロ・エディション 内の Signal Tapを使用したブロックベースのデザインのデバッグを参照してください。