インテル® Quartus® Primeプロ・エディション ユーザーガイド: パーシャル・リコンフィグレーション

ID 683834
日付 5/11/2020
Public
ドキュメント目次

2.3.10. インテルArria 10または インテル® Cyclone® 10 GXデザイン向け外部ホストのコンフィグレーション

外部ホストのコンフィグレーションを使用する場合、外部ホストは、パーシャル・リコンフィグレーションを開始し、PRステータスの監視をユーザーモード中に外部PR専用ピンを使用して行います。このモードの場合、外部ホストでは、パーシャル・リコンフィグレーションを正常に行うためにハンドシェイク信号に対して適切に応答する必要があります。外部ホストは、外部メモリーからのパーシャル・ビットストリーム・データを インテル® Arria® 10または インテル® Cyclone® 10 GXデバイスに書き込みます。システムレベルのパーシャル・リコンフィグレーションを調整するために、パーシャル・リコンフィグレーション用に正しいPR領域を準備するようにします。リコンフィグレーション後、PR領域を動作状態に戻します。

デザインに外部ホストを使用するには、次を実行します。

  1. Assignments > Device > Device & Pin Optionsをクリックします。
  2. Device & Pin Options ダイアログボックスでEnable PR Pinsオプションを選択します。このオプションによって、特殊なパーシャル・リコンフィグレーション・ピンが自動作成され、デバイスのピンアウトにピンが定義さます。また、このオプションでにより、ピンはPR制御ブロックの内部パスに自動的に接続されます。
    注: このオプションを選択しない場合は、内部ホストまたはHPSホストを使用してください。ピンの定義は、デザインの最上位エンティティーで行う必要はありません。
  3. この最上位ピンを PR制御ブロック内の特定のポートに接続します。

次の表は、Enable PR Pinsをオンにしたときに自動的に制約されるPRピンと、そのピンに対する特定のPR制御ブロックのポート接続の一覧です。

表 31.  パーシャル・リコンフィグレーション専用ピン
ピン名 タイプ 制御ブロックのポート名 説明
PR_REQUEST 入力 prrequest このピンのロジックHighは、PRホストがパーシャル・リコンフィグレーションを要求していることを示します。
PR_READY 出力 ready このピンのロジックHighは、PRホストがパーシャル・リコンフィグレーションを開始する準備ができていることを示します。
PR_DONE 出力 done このピンのロジックHighは、パーシャル・リコンフィグレーションが完了したことを示します。
PR_ERROR 出力 error このピンのロジックHighは、パーシャル・リコンフィグレーション中にデバイスでエラーが発生したことを示します。
DATA[31:0] 入力 data このピンは、PR_DATA への接続性を提供し、PRビットストリームをPRコントローラーに転送します。
DCLK 入力 clk 同期 PR_DATA を受け取ります。
注:
  1. PR_DATA の幅は8、16、または32ビットにすることができます。
  2. PR制御ブロックの corectl ポートを0に接続していることを確認してください。

外部ホストPRのVerilog RTL

module top( // PR control block signals input logic pr_clk, input logic pr_request, input logic [31:0] pr_data, output logic pr_error, output logic pr_ready, output logic pr_done, // User signals input logic i1_main, input logic i2_main, output logic o1 ); // Instantiate the PR control block twentynm_prblock m_prblock ( .clk(pr_clk), .corectl(1'b0), .prrequest(pr_request), .data(pr_data), .error(pr_error), .ready(pr_ready), .done(pr_done) ); // PR Interface partition pr_v1 pr_inst( .i1(i1_main), .i2(i2_main), .o1(o1) ); endmodule

外部ホストPRのVHDL RTL

library ieee; use ieee.std_logic_1164.all; entity top is port( -- PR control block signals pr_clk: in std_logic; pr_request: in std_logic; pr_data: in std_logic_vector(31 downto 0); pr_error: out std_logic; pr_ready: out std_logic; pr_done: out std_logic; -- User signals i1_main: in std_logic; i2_main: in std_logic; o1: out std_logic ); end top; architecture behav of top is component twentynm_prblock is port( clk: in std_logic; corectl: in std_logic; prrequest: in std_logic; data: in std_logic_vector(31 downto 0); error: out std_logic; ready: out std_logic; done: out std_logic ); end component; component pr_v1 is port( i1: in std_logic; i2: in std_logic; o1: out std_logic ); end component; signal pr_gnd : std_logic; begin pr_gnd <= '0'; -- Instantiate the PR control block m_prblock: twentynm_prblock port map ( pr_clk, pr_gnd, pr_request, pr_data, pr_error, pr_ready, pr_done ); -- PR Interface partition pr_inst : pr_v1 port map ( i1_main, i2_main, o1 ); end behav;