インテル® Quartus® Prime Pro プラットフォーム・デザイナー・ツールで生成されたルーターロジックのアドレスマッピングが正しくないため、外部記述子コントローラーを備えたインテル® Stratix® 10 PCIe* Avalon-MM® ハード IP のデザイン例は、8 を超える記述子がプログラムされている場合にハングします。
この問題を回避するには、インテル® Quartus® Prime Pro プラットフォーム・デザイナー・ツールで生成された RTL ファイルを手動で修正します。
1. プロジェクト・ワークスペースで *altera_merlin_router*.sv を検索し、以下のファイルを検索します。
../altera_merlin_router_xxx/sim/altera_merlin_router_xxx (シミュレーションフロー)
../altera_merlin_router_xxx/syn/altera_merlin_router_xxx (実装フロー)
2. 各ファイルを開き、以下の行が存在するかどうかを確認し、それに応じて変更します。
元の行は次のようになります。
//-------------------------------------------------------
各スレーブ・スパンでマスクオフするビット数を把握する
アドレスデコード中
//-------------------------------------------------------
localparam PAD0 = log2ceil (64'h2000 - 64'h0);
localparam PAD1 = log2ceil (64'h1000100 - 64'h100000);
localparam PAD2 =log2ceil (64'h1002100 - 64'h1002000);
次に変更します。
//-------------------------------------------------------
各スレーブ・スパンでマスクオフするビット数を把握する
アドレスデコード中
//-------------------------------------------------------
localparam PAD0 = log2ceil (64'h2000 - 64'h0);
localparam PAD1 = log2ceil (64'h1001000 - 64'h100000);
localparam PAD2 = log2ceil (64'h1003000 - 64'h1002000);
3. シミュレーションまたはコンパイルフローを再度実行します。