インテルのみ表示可能 — 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. パーシャル・リコンフィグレーション・デザインのデバッグ
1.12. パーシャル・リコンフィグレーション・セキュリティー ( Stratix® 10デザイン)
1.13. PRビットストリームの圧縮および暗号化 ( Arria® 10および Cyclone® 10 GXデザイン)
1.14. PRプログラミング・エラーの回避
1.15. PRデザインのバージョン互換コンパイル・データベースのエクスポート
1.16. パーシャル・リコンフィグレーション・デザインの作成の改訂履歴
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 ControllerIntel FPGA IP
2.5. Partial Reconfiguration Region Controller Intel® FPGA IP
2.6. Avalon® Memory-Mapped Partial Reconfiguration Freeze Bridge IP
2.7. Avalon® Streaming Partial Reconfiguration Freeze Bridge IP
2.8. インテルFPGA IPの生成およびシミュレーション
2.9. Quartus® Prime プロ・エディション ユーザーガイド : パーシャル・リコンフィグレーションのアーカイブ
2.10. パーシャル・リコンフィグレーション・ソリューションIPユーザーガイド 改訂履歴
インテルのみ表示可能 — GUID: icu1491859490455
Ixiasoft
1.10.2. PRペルソナ置き換えのシミュレーション
パーシャル・リコンフィグレーション・プロセス中に新しいペルソナがロードされると、PRパーティションの論理操作が変更されます。シミュレーション中のペルソナの入力と出力にマルチプレクサーを使用して、ペルソナの置き換えをシミュレーションします。
ペルソナの最上位を表すRTLラッパーロジックを作成します。ラッパーにより、デフォルトのペルソナがコンパイル時にインスタンス化されます。シミュレーション中、ラッパーでは、アクティブなペルソナを別のペルソナに置き換えることができます。各ペルソナを Quartus® Prime EDA Netlist Writerrによって生成されるPRシミュレーション・モデルの動作RTLとしてインスタンス化します。
Quartus® Prime開発ソフトウェアには、シミュレーション・テストベンチとインターフェイスするためのシミュレーション・モジュールが含まれています。
- altera_pr_wrapper_mux_in
- altera_pr_wrapper_mux_out
- altera_pr_persona_if (SystemVerilogインターフェイスを使用すると、ラッパー・マルチプレクサをテストベンチ・ドライバーに接続できます。)
図 34. 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