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

Pci Express* 向けインテル® Arria® 10 またはインテル® Cyclone® 10 GX Avalon®-MM DMA インターフェイスの Modelsim*/Questasim* シミュレーションが、リード・データ・Mover (altpcieav_dma_rd.sv) モジュールの X 伝達の問題で失敗するのはなぜですか?

環境

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

    この X 伝達の問題の根本原因は、読み取りデータ移動子(altpcieav_dma_rd.sv)モジュールにおけるLPM_DEST_ADD_SUB_componentのインスタンス化が、.databポートが正しくシグナル・ベクトル幅全体までゼロ拡張されていないということです。 したがって、シミュレーターは宛先アドレスの先頭の割り当て解除済みビットに X を割り当てます。

    以下のLPM_DEST_ADD_SUB_componentのインスタンス化を参照してください。

    *********************************************************************************************************************************

    lpm_add_sub LPM_DEST_ADD_SUB_component (
    .clken (1'b1)
    .clock (Clk_i)
    .dataa (cur_dest_addr_reg)
                                    .datab ({rd_dw_size、2'b00})
    結果 (cur_dest_addr_adder_out)
    synopsys translate_off
    ,
    .aclr ()
    .add_sub ()
    .cin ()
    .cout ()
    .overflow ()
    synopsys translate_on
    );
    defparam
    LPM_DEST_ADD_SUB_component.lpm_direction = "ADD"、
    LPM_DEST_ADD_SUB_component.lpm_hint = "ONE_INPUT_IS_CONSTANT=NO,CIN_USED=NO"、
    LPM_DEST_ADD_SUB_component.lpm_pipeline = 1
    LPM_DEST_ADD_SUB_component.lpm_representation = "NUMAED"、
    LPM_DEST_ADD_SUB_component.lpm_type = "LPM_ADD_SUB"、
    LPM_DEST_ADD_SUB_component.lpm_width = RDDMA_AVL_ADDR_WIDTH;

    *********************************************************************************************************************************

    解決方法

    回避策は、以下に示すように .datab ポートの入力信号ベクトルを適切にゼロ拡張することです。

     

    .datab({{(RDDMA_AVL_ADDR_WIDTH-12){1'b0}}、rd_dw_size、2'b00})

     

    この問題は、インテル® Quartus® Prime ソフトウェアの今後のバージョンで修正される予定です。

    関連製品

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

    インテル® Arria® 10 FPGA & SoC FPGA
    インテル® Cyclone® 10 GX FPGA

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。