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

RC8RC15 を非ゼロ値に設定したStratix IV またはStratix V 向け DDR3 RDIMM IP を生成できない

環境

  • インテル® Quartus® II サブスクリプション・エディション
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    クリティカルな問題

    詳細

    この問題は DDR3 製品に影響を与えています。

    RC8 ~ RC15 フィールドにゼロ以外の値を指定する場合 DDR3 RDIMM コントロール・ワードの IP 生成に失敗した場合、以下のエラーが発生します。 エラー:

    Error: integer value too large to represent.

    解決方法

    この問題の回避策は、ファイル内のコードを変更 uniphy_gen.tcl することです。 以下の手順に従ってください。

    1. ディレクトリーで ip/altera/alt_mem_if/alt_mem_if_tcl_packages/gen/� 、 ファイルを uniphy_gen.tcl エディターで開きます。
    2. ファイル内で uniphy_gen.tcl 、 次のテキストコメント:
    # Need to split the 64-bit RDIMM configuration word into 2 32-bit words for the sake of C-code�
    • テキストコメントの位置で、以下を置き換えます。 既存のコード:
    • if {([string compare -nocase "DDR3"] == 0) && } { # Need to split the 64-bit RDIMM configuration word into 2 32-bit words for the sake of C-code set rdimm_config_dec [ expr 0x[get_parameter_value RDIMM_CONFIG] ] set rdimm_config_high [ format "0x%X" [ expr >> 32 ] ] set rdimm_config_low [ format "0x%X" [ expr & 0xFFFFFFFF ] ] append sw_macros " -DRDIMM_CONFIG_WORD_LOW=" append sw_macros " -DRDIMM_CONFIG_WORD_HIGH=" }

      次の新しいコードで:

      if {([string compare -nocase "DDR3"] == 0) && } { # Need to split the 64-bit RDIMM configuration word into 2 32-bit words for the sake of C-code set rdimm_config_str [ get_parameter_value RDIMM_CONFIG ] set rdimm_config_low "0x[ string range end-7 end ]" # Handle two halves of 16-byte string independently if {([string length ] > 8)} { set rdimm_config_high "0x[ string range end-15 end-8 ]" } else { set rdimm_config_high "0x0" } append sw_macros " -DRDIMM_CONFIG_WORD_LOW=" append sw_macros " -DRDIMM_CONFIG_WORD_HIGH=" }

      この問題は今後修正される予定です。