インテルのみ表示可能 — GUID: icu1491859490455
Ixiasoft
1.1. パーシャル・リコンフィグレーション用語
1.2. パーシャル・リコンフィグレーション・プロセス・シーケンス
1.3. 内部ホストのパーシャル・リコンフィグレーション
1.4. 外部ホストのパーシャル・リコンフィグレーション
1.5. パーシャル・リコンフィグレーション・デザインの考慮事項
1.6. パーシャル・リコンフィグレーション・デザイン・フロー
1.7. 階層型パーシャル・リコンフィグレーション
1.8. パーシャル・リコンフィグレーション・デザインのタイミング解析
1.9. パーシャル・リコンフィグレーション・デザインのシミュレーション
1.10. パーシャル・リコンフィグレーション・デザインのデバッグ
1.11. PRビットストリームのセキュリティー検証 (インテルStratix 10および インテル® Agilex™ デザイン)
1.12. PRビットストリームの圧縮および暗号化 (インテルArria 10および インテル® Cyclone® 10 GXデザイン)
1.13. PRプログラミング・エラーの回避
1.14. PRデザインのバージョン互換コンパイル・データベースのエクスポート
1.15. パーシャル・リコンフィグレーション・デザインの作成の改訂履歴
1.6.1. ステップ1 : パーシャル・リコンフィグレーションのリソースの特定
1.6.2. ステップ2 : デザイン・パーティションの作成
1.6.3. ステップ3 : デザインのフロアプラン
1.6.4. ステップ4 : Partial Reconfiguration Controller Intel FPGA IPの追加
1.6.5. ステップ5 : ペルソナの定義
1.6.6. ステップ6 : ペルソナのリビジョンの作成
1.6.7. ステップ7 : ベースリビジョンのコンパイルとスタティック領域のエクスポート
1.6.8. ステップ8 : PR実装リビジョンのセットアップ
1.6.9. ステップ9 : FPGAデバイスのプログラミング
2.1. 内部および外部PRホスト・コンフィグレーション
2.2. Partial Reconfiguration Controller Intel® FPGA IP
2.3. Partial Reconfiguration Controller Intel Arria 10/Cyclone 10 FPGA IP
2.4. Partial Reconfiguration External Configuration Controller Intel® FPGA IP
2.5. Partial Reconfiguration Region Controller Intel® FPGA IP
2.6. Avalon-MM Partial Reconfiguration Freeze Bridge Intel® FPGA IP
2.7. Avalon-ST Partial Reconfiguration Freeze Bridge Intel® FPGA IP
2.8. インテルFPGA IPの生成およびシミュレーション
2.9. インテル® Quartus® Primeプロ・エディション ユーザーガイド : パーシャル・リコンフィグレーションのアーカイブ
2.10. パーシャル・リコンフィグレーション・ソリューションIPユーザーガイド 改訂履歴
インテルのみ表示可能 — GUID: icu1491859490455
Ixiasoft
1.9.1.1. PRペルソナ置き換えのシミュレーション
PRパーティションのロジック動作が変更されるのは、パーシャル・リコンフィグレーションのプロセス中に新しいペルソナがロードされた場合です。ペルソナ置き換えのシミュレーションには、シミュレーション中のペルソナの出入力のマルチプレクサを使用します。ペルソナの最上位を表すRTLラッパーロジックを作成します。ラッパーにより、デフォルトのペルソナがコンパイル時にインスタンス化されます。シミュレーション中、ラッパーでは、アクティブなペルソナを別のペルソナに置き換えることができます。各ペルソナをIntel Quartus Prime EDA Netlist Writerによって生成されるPRシミュレーション・モデルの動作RTLとしてインスタンス化します。 インテル® Quartus® Prime開発ソフトウェアに含まれているシミュレーション・モジュールは、シミュレーション・テストベンチにインターフェイス接続します。
- altera_pr_wrapper_mux_in
- altera_pr_wrapper_mux_out
- altera_pr_persona_if (SystemVerilogインターフェイスを使用すると、ラッパー・マルチプレクサをテストベンチ・ドライバーに接続できます。)
図 32. PRペルソナ切り替えのシミュレーション
PRペルソナ切り替えシミュレーション用RTLラッパー
altera_pr_wrapper_mux_out モジュールの pr_activate 入力によって、出力XへのMUXがイネーブルされます。この機能により、PRペルソナからの未知の出力のシミュレーションが可能になります。また、デザインのフリーズロジックの通常動作の検証が行われます。次のコードは、上図のPRペルソナ切り替えシミュレーションに対応しています。
module pr_core_wrapper ( input wire a, input wire b, output wire o ); localparam ENABLE_PERSONA_1 = 1; localparam ENABLE_PERSONA_2 = 1; localparam ENABLE_PERSONA_3 = 1; localparam NUM_PERSONA = 3; logic pr_activate; int persona_select; altera_pr_persona_if persona_bfm(); assign pr_activate = persona_bfm.pr_activate; assign persona_select = persona_bfm.persona_select; wire a_mux [NUM_PERSONA-1:0]; wire b_mux [NUM_PERSONA-1:0]; wire o_mux [NUM_PERSONA-1:0]; generate if (ENABLE_PERSONA_1) begin localparam persona_id = 0; `ifdef ALTERA_ENABLE_PR_MODEL assign u_persona_0.altera_sim_pr_activate = pr_activate; `endif pr_and u_persona_0 ( .a(a_mux[persona_id]), .b(b_mux[persona_id]), .o(o_mux[persona_id]) ); end endgenerate generate if (ENABLE_PERSONA_2) begin localparam persona_id = 1; `ifdef ALTERA_ENABLE_PR_MODEL assign u_persona_1.altera_sim_pr_activate = pr_activate; `endif pr_or u_persona_1 ( .a(a_mux[persona_id]), .b(b_mux[persona_id]), .o(o_mux[persona_id]) ); end endgenerate generate if (ENABLE_PERSONA_3) begin localparam persona_id = 2; `ifdef ALTERA ENABLE PR MODEL assign u_persona_2.altera_sim_pr_activate = pr_activate; `endif pr_empty u_persona_2 ( .a(a_mux[persona_id]), .b(b_mux[persona_id]), .o(o_mux[persona_id]) ); end endgenerate altera_pr_wrapper_mux_in #(.NUM_PERSONA(NUM_PERSONA), .WIDTH(1)) \ u_a_mux(.sel(persona_select), .mux_in(a), .mux_out(a_mux)); altera_pr_wrapper_mux_in #(.NUM_PERSONA(NUM_PERSONA), .WIDTH(1)) \ u_b_mux(.sel(persona_select), .mux_in(b), .mux_out(b_mux)); altera_pr_wrapper_mux_out #(.NUM_PERSONA(NUM_PERSONA), .WIDTH(1)) \ u_o_mux(.sel(persona_select), .mux_in(o_mux), .mux_out(o), .pr_activate \ (pr_activate)); endmodule