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

インテル® Quartus® Prime 開発ソフトウェア・プロ・エディションで構成が異なる RapidIO I IP コアの複数インスタンス化に関する問題

環境

  • インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    クリティカルな問題

    詳細

    RapidIO I IP コアのさまざまな構成をインスタンス化する場合 デザインの場合、構成間でライブラリー名が衝突すると合成が生じる 同じ名前を持つモジュールについてエンジンが誤って分析される可能性があります。 構成。ポートが見つからないため、デザインの合成に失敗する場合があります。 ハードウェアで異常な動作を引き起こす原因となる正しく合成されていない。

    この問題は、インテル® Quartus® Prime 開発ソフトウェア・プロ・エディションのデザインに影響を与えています。

    インテル® Quartus® Prime 開発ソフトウェア・スタンダード・エディションのデザインは影響を受けません。

    解決方法

    RapidIO IP で生成された .qip ファイルごとに固有のライブラリー名を割り当てます。 コア:

    ステップ 1:テキスト・エディターで .qip を開きます。

    ステップ 2:次のデフォルトのライブラリー名をそれぞれ a に置き換えます。 固有の名前。

    • ライブラリー "altera_rapidio_
    • ライブラリー"altera_xcvr_native_a10_"
    • ライブラリー"altera_xcvr_reset_control_"
    • ライブラリー"altera_xcvr_atx_pll_a10_"

    例えば:

    set_global_assignment -library "altera_rapidio_160" -name SDC_FILE [file join $::quartus(qip_path)"altera_rapidio_160/synth/rio_altera_rapidio_160_puccaoq.sdc"]

    set_global_assignment -library "altera_rapidio_160" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_rapidio_160/synth/rio_altera_rapidio_160_puccaoq.v"]

    set_global_assignment -library "altera_rapidio_160" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_rapidio_160/synth/altera_rapidio_io_master.v"]

    set_global_assignment -library "altera_rapidio_160" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_rapidio_160/synth/altera_rapidio_io_slave.v"]

    set_global_assignment -library "altera_xcvr_native_a10_160" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_xcvr_native_a10_160/synth/alt_xcvr_resync.sv"]

    set_global_assignment -library "altera_xcvr_native_a10_160" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_xcvr_native_a10_160/synth/alt_xcvr_arbiter.sv"]

    set_global_assignment -library "altera_xcvr_native_a10_160" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_xcvr_native_a10_160/synth/twentynm_pcs.sv"]

    set_global_assignment -library "altera_xcvr_native_a10_160" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_xcvr_native_a10_160/synth/twentynm_pma.sv"]

    各ライブラリーに固有の名前を割り当てます。

    set_global_assignment -library "_altera_rapidio_160" -name SDC_FILE [file join $::quartus(qip_path) "altera_rapidio_160/synth/rio_altera_rapidio_160_puccaoq.sdc"]

    set_global_assignment -library "_altera_rapidio_160" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_rapidio_160/synth/rio_altera_rapidio_160_puccaoq.v"]

    set_global_assignment -library "_altera_rapidio_160" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_rapidio_160/synth/altera_rapidio_io_master.v"]

    set_global_assignment -library "_altera_rapidio_160" -name VERILOG_FILE [file join $::quartus(qip_path) "altera_rapidio_160/synth/altera_rapidio_io_slave.v"]

    set_global_assignment -library "_altera_xcvr_native_a10_160" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_xcvr_native_a10_160/synth/alt_xcvr_resync.sv"]

    set_global_assignment -library "_altera_xcvr_native_a10_160" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_xcvr_native_a10_160/synth/alt_xcvr_arbiter.sv"]

    set_global_assignment -library "_altera_xcvr_native_a10_160" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_xcvr_native_a10_160/synth/twentynm_pcs.sv"]

    set_global_assignment -library "_altera_xcvr_native_a10_160" -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) "altera_xcvr_native_a10_160/synth/twentynm_pma.sv"]

    ステップ 3:上記の手順を RapidIO I IP コアの他のインスタンスに適用します。 生成された .qip ファイル。指定されたライブラリー名が .qip 全体で一意である必要があることを確認します。 ファイル。

    ステップ 4:デザインをコンパイルします。 スチーミング Q 合成における ソースファイルの読み込み レポートでは、RapidIO モジュールが表示されます (altera_rapidio_*) は、.qip で定義したライブラリーにマップされます。 ファイル。

    この問題は、RapidIO I IP コアの 16.1 バージョンで修正されています。

    関連製品

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

    インテル® プログラマブル・デバイス

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