記事 ID: 000080836 コンテンツタイプ: トラブルシューティング 最終改訂日: 2021/05/05

8 つ以上の記述子がプログラムされている場合、外部記述子コントローラーを備えた インテル® Stratix® 10 PCI Express* Avalon-MM® ハード IP のデザイン例がハングするのはなぜですか?

環境

    インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
    Avalon-MM インテル® Stratix® 10 PCI Express* のハード IP
BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

インテル® 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. シミュレーションまたはコンパイルフローを再度実行します。

関連製品

本記事の適用対象: 1 製品

インテル® Stratix® 10 FPGA & SoC FPGA

1

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。このコンテンツはお客様の便宜と一般的な情報のみを目的として提供されており、情報の正確さと完全性を保証するものではありません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。