Aufgrund eines Problems in der Quartus® II Softwareversion 13.0 und neuer wird ein Qsys-System, das einen AXI Standard Slave, aber keinen AXI Slave enthält, nicht korrekt kompilieren und simulieren. Der folgende Fehler wird während der Simulation gemeldet:
Modelsim: ** Fehler _mm_interconnect_0_addr_router.sv(196): (vlog-2730) undefinierte Variable: "write_transaction"
Synopsys VCS: "Error-[IND] Identifier not declared _interconnect_0_addr_router.sv, 196
Die Kennung "write_transaction" wurde noch nicht erklärt. Falls dieser Fehler nicht erwartet wird, überprüfen Sie bitte, ob Sie "altpcietb_bfm_vc_intf_ast_common.v" eingestellt haben.
--------------------------------------
Um das Problem zu beheben, müssen Sie die folgenden Schritte implementieren:
1. Entfernen Sie die folgenden redundanten Dateien in sim_filelist, die auch in der altpcietb_bfm_ep_example_chaining_pipen1b.vo definiert sind:
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. Öffnen Sie altpcietb_bfm_ep_example_chaining_pipen1b.vo" unter /_examples/common/testbench Verzeichnis
3. Benennen Sie die Deklaration des zweiten Moduls durch Anhängen von "_altcrc" an den ursprünglichen Namen in den unten aufgeführten Zeilen um.
- Zeile 23425: Ändern altpcierd_rx_ecrc_128 in altpcierd_rx_ecrc_128_altcrc
- Zeile 29557: Ändern altpcierd_rx_ecrc_64 in altpcierd_rx_ecrc_64_altcrc
- Zeile 33081: Ändern altpcierd_tx_ecrc_128 in altpcierd_tx_ecrc_128_altcrc
- Zeile 39787: ändern altpcierd_tx_ecrc_64 in altpcierd_tx_ecrc_64_altcrc
4. Ändern Sie die runtb_vcs.sh für die folgenden Optionen.
– Ändern Sie QUARTUS_ROOTDIR, um auf Ihr aktuelles Quartus Installationsverzeichnis zu verweisen
- Fügen Sie die Option "–cla" zur Befehlszeile nach "vcs" hinzu.
- Hinzufügen " .. /" nach " incdir" um das Verzeichnis über testbench aufzunehmen, damit das Skript altpcietb_bfm_vc_intf_ast_common.v
Der neue Befehl sieht wie folgt aus:
vcs -lca -ntb_opts check -R vcs lic wait error 100 v2k incdir .. / .. /.. /common/testbench/ .. /.. /common/incremental_compile_module -f sim_filelist.f -l
Dieses Problem wird in zukünftigen Quartus II Softwareversionen behoben.