インテルのみ表示可能 — GUID: jbb1474504963830
Ixiasoft
1.6. カスタムのペルソナを使用したリファレンス・デザインの拡張
このリファレンス・デザインは PCIe* を介したPRに向けて独自のペルソナを作成するテンプレート例を提供します。独自のペルソナを使用してリファレンス・デザインを拡張するには次を実行します。
- a10_pcie_devkit_cvp フォルダーに移動します。
cd a10_pcie_devkit_cvp
- pr_logic_impl_template.qsf.template実装リビジョンファイルとpr_logic_synth_template.qsf.template合成ファイルのコピーを作成します。
cp pr_logic_impl_template.qsf.template <persona_impl_revision_name>.qsf cp pr_logic_synth_template.qsf.template <persona_synth_revision_name>.qsf
- フォルダーを作成し、そのフォルダーにペルソナ固有のRTLをコピーします。
mkdir <persona_name> cp <custom_persona>.sv <persona_name>/
- カスタムのトップレベル・エンティティーは、source/templates/pr_logic_template.svファイルで定義されるcustom_personaモジュールのポートに一致しなければいけません。次の例は、PCIeレジスターファイルを介して制御されるAvalon-MMインターフェイスを備えたデザインとのインターフェイス接続を示しています。
module custom_persona #( parameter REG_FILE_IO_SIZE = 8 )( //clock input wire clk, //active low reset, defined by hardware input wire rst_n, //Persona identification register, used by host in host program output wire [31:0] persona_id, //Host control register, used for control signals. input wire [31:0] host_cntrl_register, // 8 registers for host -> PR logic communication input wire [31:0] host_pr [0:REG_FILE_IO_SIZE-1], // 8 Registers for PR logic -> host communication output wire [31:0] pr_host [0:REG_FILE_IO_SIZE-1] );
カスタマイズに向けて任意のパラレルI/Oポート (PIO) レジスターを使用します。host_prレジスターはペルソナからのデータをホストマシーンに送信します。pr_hostレジスターはホストマシーンからのデータをペルソナに送信します。
- トップレベル・エンティティー・ファイル内で、ペルソナIDを任意の32ビットの値に指定します。
assign persona_id = 32'h0000_aeed;
注: テンプレート例では、8ビットだけを使用していますが、32ビットまでであれば任意の値を指定できます。 - pr_hostレジスターの未使用出力ポートを0に設定します。
generate genvar i; //Tying unused output ports to zero. for (i = 2; i < REG_FILE_IO_SIZE; i = i + 1) begin assign pr_host [i] = 32'b0; end endgenerate
- 次のアサインメントを含むようにpersona_synth_revision_name.qsfを変更します。
set_global_assignment -name TOP_LEVEL_ENTITY <custom_persona> set_global_assignment -name SYSTEMVERILOG_FILE <persona_name>/<custom_persona>.sv set_global_assignment -name QSYS_FILE <persona_specific_qsys_file> set_global_assignment -name IP_FILE <persona_specific_ip_file>
- 新しいPR実装を定義するために、パーシャル・リコンフィグレーション・フローのスクリプトを更新します。
- 合成リビジョンと実装リビジョンを含めるようにa10_pcie_devkit_cvp.qpfプロジェクトファイルを更新します。
PROJECT_REVISION = "<persona_synth_revision_name>" PROJECT_REVISION = "<persona_impl_revision_name>」
- リビジョンをコンパイルします。
PRデザインにカスタムのペルソナを追加する場合の詳細については、アプリケーション・ノートPartially Reconfiguring a Design on インテル® Arria® 10 GX FPGA Development BoardのAdding a New Persona to the Designの項を参照してください。