A causa di un problema nella versione 13.0 del software Quartus® II e versioni successive, un sistema Qsys che contiene uno slave predefinito AXI ma nessun slave AXI non verrà compilato e simulato correttamente. Durante la simulazione verrà segnalato il seguente errore:
Modelsim: ** Errore _mm_interconnect_0_addr_router.sv(196): (vlog-2730) Variabile non definita: "write_transaction"
Synopsys VCS: "Error-[IND] Identificatore non dichiarato _interconnect_0_addr_router.sv, 196
L'identificatore "write_transaction" non è stato ancora dichiarato. Se questo errore non è previsto, controllare se si è impostato "altpcietb_bfm_vc_intf_ast_common.v"
--------------------------------------
Per risolvere il problema, è necessario implementare i seguenti passaggi:
1. Rimuovere i seguenti file ridondanti in sim_filelist definiti anche in altpcietb_bfm_ep_example_chaining_pipen1b.vo:
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. Aprire altpcietb_bfm_ep_example_chaining_pipen1b.vo" nella directory /_examples/common/testbench
3. Rinominare la dichiarazione del secondo modulo aggiungendo "_altcrc" al nome originale sulle righe elencate di seguito
- Riga 23425 altpcierd_rx_ecrc_128 altpcierd_rx_ecrc_128_altcrc
- Riga 29557 altpcierd_rx_ecrc_64 altpcierd_rx_ecrc_64_altcrc
- Riga 33081 altpcierd_tx_ecrc_128 altpcierd_tx_ecrc_128_altcrc
- Riga 39787 altpcierd_tx_ecrc_64 altpcierd_tx_ecrc_64_altcrc
4. Modificare il file runtb_vcs.sh per quanto segue
- Modificare QUARTUS_ROOTDIR per puntare alla directory di installazione corrente di Quartus
- Aggiungere l'opzione "–cla" alla riga di comando dopo "vcs"
- Aggiungi " .. /" dopo "incdir" per includere la directory sopra testbench per trovare lo script altpcietb_bfm_vc_intf_ast_common.v
Il nuovo comando sarà simile al seguente:
vcs -lca -ntb_opts check -R vcs lic wait error 100 v2k incdir .. / .. /.. /common/testbench/ .. /.. /common/incremental_compile_module -f sim_filelist.f -l trascrizione
Questo problema verrà risolto nelle versioni future del software Quartus II.