インテルのみ表示可能 — GUID: ddc1491933305113
Ixiasoft
インテルのみ表示可能 — GUID: ddc1491933305113
Ixiasoft
2.8.4. Arria® 10および Cyclone® 10 GX PR制御ブロックのシミュレーション・モデル
Arria® 10および Cyclone® 10 GX PR制御ブロックでは、PRシミュレーションをサポートします。シミュレーションRBF (PRビットストリーム) を送信すると、PR制御ブロックは、PRシミュレーションの成功または失敗に応じて動作できるようになります。PR領域シミュレーション・ラッパーの特定のPRペルソナのシミュレーションをアクティブにするには、シミュレーションRBFでエンコードされたPR IDをPR制御ブロックと共に使用します。PR制御ブロックのシミュレーションは、スタンドアロンとして、またはPartial Reconfiguration Controller IPコアのシミュレーション・ファイル・セットの一部として行います。
PR制御ブロックのシミュレーション・モデルには、シミュレーション専用ポートが追加されています。それは、sim_state と sim_pr_id の2つです。この2つのシミュレーション・ポートとその他のポートを twentynm_prblock_if SystemVerilogインターフェイスに接続します。この接続により、PR制御ブロックを監視をテストベンチのPR制御ブロックモニターを使用して行うことができます。 Quartus® Prime開発ソフトウェアでは、twentynm_prblock_if インターフェイスの自動インスタンス化は、Partial Reconfiguration IPコアのシミュレーション・ファイル・セットを生成するときに行います。IPによりインスタンス化される twentynm_prblock_if への参照を取得するため、alt_pr_test_pkg::twentynm_prblock_if_mgr シングルトンを使用します。次に示すのはその例です。
virtual twentynm_prblock_if prblock_if; alt_pr_test_pkg::twentynm_prblock_if_mgr cb_mgr; // Get the PR control block from the prblock manager cb_mgr = alt_pr_test_pkg::twentynm_prblock_if_mgr::get(); prblock_if = cb_mgr.if_ref;
interface twentynm_prblock_if(input logic pr_clk, input logic clk); logic prrequest; logic [31:0] data; wire error; wire ready; wire done; logic [31:0] sim_only_state; wire [31:0] sim_only_pr_id; // All signals are async except data clocking cb1 @(posedge pr_clk); output data; endclocking endinterface : twentynm_prblock_iftwentynm_prblock_if インターフェイスの詳細については、 <installation directory> /eda/sim_lib/altera_lnsim.sv ファイルを参照してください。
package twentynm_prblock_test_pkg; typedef enum logic [31:0] { NONE, IDLE, PR_REQUEST, PR_IN_PROGRESS, PR_COMPLETE_SUCCESS, PR_COMPLETE_ERROR, PR_INCOMPLETE_EARLY_WITHDRAWL, PR_INCOMPLETE_LATE_WITHDRAWL } PR_EVENT_TYPE;
シミュレーション状態が PR_IN_PROGRESS の場合、影響を受けるPR領域では、シミュレーション出力マルチプレクスをXに駆動するため、pr_activate 信号をアサートする必要があります。このアクションは、PR領域の未知の出力のシミュレーションをパーシャル・リコンフィグレーション中に行います。さらに、PRシミュレーション・モデルの pr_activate 信号をアサートし、PRモデルのすべてのレジスタ-をPRアクティベーション値を使用してロードしてください。
シミュレーション状態が PR_COMPLETE_SUCCESS に到達したら、適切なPRペルソナのアクティブ化を適切なPR領域シミュレーション・ラッパーmux sel 信号を使用して行います。領域や、PR制御ブロックの sim_only_pr_id 信号からの特定の選択信号をデコードします。このIDは、シミュレーションRBFのエンコード済みIDに対応しています。
1 | ゼロ・パディング・ブロック | 0x00000000 |
2 | PR_HEADER_WORD | 0x0000A65C |
3 | PR_ID | 32ビットのユーザーID |
4 | PRDATA_COUNT_0 | 0x01234567 |
5 | PRDATA_COUNT_1 | 0x89ABCDEF |
6 | PRDATA_COUNT_2 | 0x02468ACE |
7 | PRDATA_COUNT_3 | 0x13579BDF |