Quartus® II ソフトウェア・バージョン 13.0 以降の問題により、AXI デフォルト・スレーブを含むが AXI スレーブがない Qsys システムは、正しくコンパイルおよびシミュレートできません。シミュレーション中に次のエラーが報告されます。
Modelsim: ** エラー _mm_interconnect_0_addr_router.sv(196): (vlog-2730) 未定義変数: 'write_transaction'
Synopsys VCS: "Error-[IND] id not declared _interconnect_0_addr_router.sv, 196
識別子「write_transaction」はまだ宣言されていません。このエラーが予想されない場合は、「altpcietb_bfm_vc_intf_ast_common.v」を含める設定が済んでいるかどうかを確認してください。
--------------------------------------
この問題を回避するには、次の手順を実行する必要があります。
1. altpcietb_bfm_ep_example_chaining_pipen1b.vo でも定義されているsim_filelistで、以下の冗長ファイルを削除します。
altpcierd_cdma_ecrc_check_128.v
altpcierd_cdma_ecrc_check_64.v
altpcierd_cdma_ecrc_gen.v
altpcierd_cdma_ecrc_gen_calc.v
altpcierd_cdma_ecrc_gen_ctl_128.v
altpcierd_cdma_ecrc_gen_ctl_64.v
altpcierd_cdma_ecrc_gen_datapath.v
altpcierd_rx_ecrc_128.vo
altpcierd_rx_ecrc_64.vo
altpcierd_tl_cfg_sample.v
altpcierd_tx_ecrc_128.vo
altpcierd_tx_ecrc_64.vo
altpcierd_tx_ecrc_ctl_fifo.v
altpcierd_tx_ecrc_data_fifo.v
altpcierd_tx_ecrc_fifo.v
altpcierd_pcie_reconfig.v
2. /_examples/common/testbench ディレクトリーの下altpcietb_bfm_ep_example_chaining_pipen1b.vo" を開きます。
3. 下の行に元の名前に「_altcrc」を付けて、2 番目のモジュールの宣言の名前を変更します。
- 23425 行目altpcierd_rx_ecrc_128をaltpcierd_rx_ecrc_128_altcrcに変更
- 29557 年altpcierd_rx_ecrc_64を altpcierd_rx_ecrc_64_altcrc に変更
- 33081 ラインaltpcierd_tx_ecrc_128をaltpcierd_tx_ecrc_128_altcrcに変更
- 39787 年altpcierd_tx_ecrc_64を altpcierd_tx_ecrc_64_altcrc に変更
4. 次のruntb_vcs.sh を変更します。
- QUARTUS_ROOTDIRを変更して現在の Quartus® インストール・ディレクトリーを指します
- 「vcs」の後にコマンドラインに「-cmos」オプションを追加します。
- 追加 ".."incdir" の後に /" を入力すると、altpcietb_bfm_vc_intf_ast_common.v を検索するスクリプト用の testbench の上のディレクトリーが含まれます。
新しいコマンドは次のようになります。
vcs - atm -ntb_opts チェック -R vcs lic wait エラー 100 v2k incdir ../ ../../common/testbench/ ../../common/incremental_compile_module -f sim_filelist.f -l 書き起こし
この問題は今後インテル® Quartus® II ソフトウェアのバージョンで修正される予定です。