Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
15468 Discussions

Simulating Cyclone V altera_hps with ModelSim

Altera_Forum
Honored Contributor II
2,955 Views

Quartus 18.0 Standard, ModelSim Intel FPGA Starter Edition 10.5b. 

 

Trying to simulate a design that contains a Platform Designer generated instance of altera_hps (for access to HPS-side DDR3 RAM via the FPGA to HPS bridge).  

 

First I tried to follow the instructions from the Qsys/Platform Designer tutorial. I got Platform Designer to generate the simulation script, then fired up ModelSim and loaded it. It complained about MvcHome not being set, then gave me a few hundred errors of the kind 

# ** Warning: (vsim-3770) Failed to find user specified function 'questa_mvc_sv_find' in DPI C/C++ source files.# Time: 0 ps Iteration: 0 Region: /QUESTA_MVC File: ./soc_system/simulation/submodules/questa_mvc_svapi.svh# ** Warning: (vsim-3770) Failed to find user specified function 'questa_mvc_sv_valid' in DPI C/C++ source files.# Time: 0 ps Iteration: 0 Region: /QUESTA_MVC File: ./soc_system/simulation/submodules/questa_mvc_svapi.svh# ** Warning: (vsim-3770) Failed to find user specified function 'questa_mvc_sv_advance' in DPI C/C++ source files.# Time: 0 ps Iteration: 0 Region: /QUESTA_MVC File: ./soc_system/simulation/submodules/questa_mvc_svapi.svh# ** Warning: (vsim-3770) Failed to find user specified function 'questa_mvc_sv_release' in DPI C/C++ source files.# Time: 0 ps Iteration: 0 Region: /QUESTA_MVC File: ./soc_system/simulation/submodules/questa_mvc_svapi.svh 

 

 

finished off by 

# ** Fatal: (vsim-160) ./soc_system/simulation/submodules/mgc_common_axi.sv(3173): Null foreign function pointer encountered when calling 'axi_initialise_SystemVerilog'# Time: 0 ps Iteration: 0 Process: /DE10_NANO_SoC_GHRD/u0/hps_0/fpga_interfaces/f2h_axi_slave_inst/axi/#INITIAL#3193 File: ./soc_system/simulation/submodules/mgc_common_axi.sv# FATAL ERROR while loading design 

 

 

As far as I could establish after a *lot* of digging (and correct me if I'm wrong), this requires a bus functional model (BFM) for the AXI bus, and it is not included in ModelSim Starter Edition and requires a separate paid license. 

 

Abandoned this approach and tried to load simulation out of Quartus. Oddly, this time it tries to load sources from soc_system/synthesis/submodules instead of soc_system/simulation/submodules, which is why errors are different. After resolving most load failures, I end up with: 

 

Loading soc_system.soc_system_hps_0# Loading soc_system.soc_system_hps_0_fpga_interfaces# ** Error: (vsim-3033) C:/Development/fpga/DE10_DDR3/soc_system/synthesis/submodules/soc_system_hps_0_fpga_interfaces.sv(151): Instantiation of 'cyclonev_hps_interface_clocks_resets' failed. The design unit was not found.# Time: 0 ps Iteration: 0 Instance: /DE10_NANO_SoC_GHRD/u0/hps_0/fpga_interfaces File: C:/Development/fpga/DE10_DDR3/soc_system/synthesis/submodules/soc_system_hps_0_fpga_interfaces.sv# Searched libraries:# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/altera_mf# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/altera_mf# C:/Development/fpga/DE10_DDR3/simulation/modelsim/soc_system# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/cyclonev# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/cyclonev# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/altera_lnsim# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/cyclonev_hssi# C:/Development/fpga/DE10_DDR3/simulation/modelsim/rtl_work# ** Error: (vsim-3033) C:/Development/fpga/DE10_DDR3/soc_system/synthesis/submodules/soc_system_hps_0_fpga_interfaces.sv(170): Instantiation of 'cyclonev_hps_interface_dbg_apb' failed. The design unit was not found.# Time: 0 ps Iteration: 0 Instance: /DE10_NANO_SoC_GHRD/u0/hps_0/fpga_interfaces File: C:/Development/fpga/DE10_DDR3/soc_system/synthesis/submodules/soc_system_hps_0_fpga_interfaces.sv# Searched libraries:# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/altera_mf# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/altera_mf# C:/Development/fpga/DE10_DDR3/simulation/modelsim/soc_system# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/cyclonev# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/cyclonev# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/altera_lnsim# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/cyclonev_hssi# C:/Development/fpga/DE10_DDR3/simulation/modelsim/rtl_work 

... 

and a bunch of others (e.g. cyclonev_hps_peripheral_emac and cyclonev_hps_peripheral_usb), 17 total. 

 

None of those seem to be implemented in software or known to ModelSim. 

 

Do I understand correctly that Cyclone V designs using altera_hps IP simply can't be simulated without paying more money for another license? 

 

Some googling turned up the part number for the license that seems to be needed - IPS-AXIBFM ( http://www.alteraforum.com/forum/showthread.php?t=42038 ) - and it is $495 on Mouser. Seriously? I paid $130 for the board ...
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
1,847 Views

FWIW, it does load if I don't use AXI bridges and stick to f2h_sdram0_data declared as an Avalon-MM slave.  

 

It does not really work though. The read request goes out, "waitrequest" is asserted, and the response never arrives. There is a ton of debug messages about precharging and refreshing banks in the console, so, at least it tries to simulate the RAM.
Altera_Forum
Honored Contributor II
1,847 Views

 

--- Quote Start ---  

Quartus 18.0 Standard, ModelSim Intel FPGA Starter Edition 10.5b. 

 

Trying to simulate a design that contains a Platform Designer generated instance of altera_hps (for access to HPS-side DDR3 RAM via the FPGA to HPS bridge).  

 

First I tried to follow the instructions from the Qsys/Platform Designer tutorial. I got Platform Designer to generate the simulation script, then fired up ModelSim and loaded it. It complained about MvcHome not being set, then gave me a few hundred errors of the kind 

# ** Warning: (vsim-3770) Failed to find user specified function 'questa_mvc_sv_find' in DPI C/C++ source files.# Time: 0 ps Iteration: 0 Region: /QUESTA_MVC File: ./soc_system/simulation/submodules/questa_mvc_svapi.svh# ** Warning: (vsim-3770) Failed to find user specified function 'questa_mvc_sv_valid' in DPI C/C++ source files.# Time: 0 ps Iteration: 0 Region: /QUESTA_MVC File: ./soc_system/simulation/submodules/questa_mvc_svapi.svh# ** Warning: (vsim-3770) Failed to find user specified function 'questa_mvc_sv_advance' in DPI C/C++ source files.# Time: 0 ps Iteration: 0 Region: /QUESTA_MVC File: ./soc_system/simulation/submodules/questa_mvc_svapi.svh# ** Warning: (vsim-3770) Failed to find user specified function 'questa_mvc_sv_release' in DPI C/C++ source files.# Time: 0 ps Iteration: 0 Region: /QUESTA_MVC File: ./soc_system/simulation/submodules/questa_mvc_svapi.svh 

 

 

finished off by 

# ** Fatal: (vsim-160) ./soc_system/simulation/submodules/mgc_common_axi.sv(3173): Null foreign function pointer encountered when calling 'axi_initialise_SystemVerilog'# Time: 0 ps Iteration: 0 Process: /DE10_NANO_SoC_GHRD/u0/hps_0/fpga_interfaces/f2h_axi_slave_inst/axi/#INITIAL#3193 File: ./soc_system/simulation/submodules/mgc_common_axi.sv# FATAL ERROR while loading design 

 

 

As far as I could establish after a *lot* of digging (and correct me if I'm wrong), this requires a bus functional model (BFM) for the AXI bus, and it is not included in ModelSim Starter Edition and requires a separate paid license. 

 

Abandoned this approach and tried to load simulation out of Quartus. Oddly, this time it tries to load sources from soc_system/synthesis/submodules instead of soc_system/simulation/submodules, which is why errors are different. After resolving most load failures, I end up with: 

 

Loading soc_system.soc_system_hps_0# Loading soc_system.soc_system_hps_0_fpga_interfaces# ** Error: (vsim-3033) C:/Development/fpga/DE10_DDR3/soc_system/synthesis/submodules/soc_system_hps_0_fpga_interfaces.sv(151): Instantiation of 'cyclonev_hps_interface_clocks_resets' failed. The design unit was not found.# Time: 0 ps Iteration: 0 Instance: /DE10_NANO_SoC_GHRD/u0/hps_0/fpga_interfaces File: C:/Development/fpga/DE10_DDR3/soc_system/synthesis/submodules/soc_system_hps_0_fpga_interfaces.sv# Searched libraries:# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/altera_mf# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/altera_mf# C:/Development/fpga/DE10_DDR3/simulation/modelsim/soc_system# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/cyclonev# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/cyclonev# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/altera_lnsim# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/cyclonev_hssi# C:/Development/fpga/DE10_DDR3/simulation/modelsim/rtl_work# ** Error: (vsim-3033) C:/Development/fpga/DE10_DDR3/soc_system/synthesis/submodules/soc_system_hps_0_fpga_interfaces.sv(170): Instantiation of 'cyclonev_hps_interface_dbg_apb' failed. The design unit was not found.# Time: 0 ps Iteration: 0 Instance: /DE10_NANO_SoC_GHRD/u0/hps_0/fpga_interfaces File: C:/Development/fpga/DE10_DDR3/soc_system/synthesis/submodules/soc_system_hps_0_fpga_interfaces.sv# Searched libraries:# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/altera_mf# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/altera_mf# C:/Development/fpga/DE10_DDR3/simulation/modelsim/soc_system# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/cyclonev# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/cyclonev# C:/intelFPGA/18.0/modelsim_ase/altera/vhdl/altera_lnsim# C:/intelFPGA/18.0/modelsim_ase/altera/verilog/cyclonev_hssi# C:/Development/fpga/DE10_DDR3/simulation/modelsim/rtl_work 

... 

and a bunch of others (e.g. cyclonev_hps_peripheral_emac and cyclonev_hps_peripheral_usb), 17 total. 

 

None of those seem to be implemented in software or known to ModelSim. 

 

Do I understand correctly that Cyclone V designs using altera_hps IP simply can't be simulated without paying more money for another license? 

 

Some googling turned up the part number for the license that seems to be needed - IPS-AXIBFM ( http://www.alteraforum.com/forum/showthread.php?t=42038 ) - and it is $495 on Mouser. Seriously? I paid $130 for the board ... 

--- Quote End ---  

 

 

I am getting the same errors you mentioned at the top. No one from Altera/Intel has offered suggestions?
Reply