UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 67322

Zynq-7000 BFM - Fatal: (SIGSEGV) Bad handle or reference during BFM API calls

Description

When calling a read_burst API command to the Zynq-7000 Bus Functional Model the following error occurs:

# [21240] : M_AXI_GP0 : *ZYNQ_BFM_INFO : Starting Address(0x0) -> AXI Read -> 4 bytes
# ** Fatal: (SIGSEGV) Bad handle or reference.
#    Time: 21240 ns  Iteration: 7  Protected: processing_system7_0/inst/M_AXI_GP0/master/<protected> File: processing_system7_bfm_v2_0/hdl/processing_system7_bfm_v2_0_axi_master.v
# ** Fatal: (vsim-8324) Parameter 11 is bad. This may involve a null ref handle.

#    Time: 21240 ns  Iteration: 7  Process: /er_proc_pkg::er_proc_driver #(32, 32)::get_and_drive/#FORK#199_751b3b5 File:processing_system7_bfm_v2_0/hdl/processing_system7_bfm_v2_0_axi_master.v
# Fatal error in Module processing_system7_bfm_v2_0_5_axi_master in fileprocessing_system7_bfm_v2_0/hdl/processing_system7_bfm_v2_0_axi_master.v

How do I resolve this error?

Solution

For Mentor simulators, consider adding the -sv swich to vlog to change Verilog language behavior. The Zynq BFM uses a construct where the SystemVerilog LRM-compliant behavior is subtly different from the traditional Verilog behavior.

This can also be caused by incorrect use of the API call.

For example, the write_burst() and read_burst() function must be passed with 1024-bit sized data variables:

reg[1023:0] rd1;
reg [1:0] wrresp,rdresp;
tb.zynq_sys.zynq_bfm.inst.read_data(32'h8000_0000,101,rd1,rdresp);

AR# 67322
Date Created 06/02/2016
Last Updated 08/02/2016
Status Active
Type General Article
IP
  • AXI Bus Functional Model
  • Processing System 7