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# 23062

9.1i EDK - BFM error: None of the bytes are enabled for non-line, non-burst transactions

Description

When you run the BFM simulation on the custom IP with a piece of BFL code that contains the 'reg_update()' command after performing a write command , the PLB monitor issues the following message:

"Error <PLB_MON><0> ERROR 1.5.2 M_BE, None of the bytes are enabled for a non-line, non-burst transfer: M[0]_request.

Time 506250 ps Iteration: 3 Instance:/bfm_system/bfm_monitor/bfm_monitor/monitor/monitor"

The reg_update command is used to populate a register in the virtual model (i.e. of the PPC) with a value prior to using it elsewhere. Here is an extract from the IBM Bus Functional models documentation:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

6.3.6 Reg_Update () Command

The reg_update command updates an internal master register during the decode and execution of

master bus commands. Each reg_update command executes in one PLB clock cycle.

 DST = [4 byte]

This parameter specifies the 32-bit destination register of the internal register to be updated.

Example: reg_update(R0=05060708)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Solution

Moving the update_reg command up in the BFL file, you will get the same effect and there will be no error. Here is an example:

-- setup data for first 16 locations (single transaction) ...

mem_update(addr = 40000000, data = 5555555555555555)

reg_update(R1=00000000)

-- write to first 16 locations (single transaction) ...

write(addr = 40000000, size = SINGLE_NORMAL, be = DWORD)

read(addr = 40000000, size = SINGLE_NORMAL, be = DWORD)

send(level = STOP)

AR# 23062
Date Created 03/10/2006
Last Updated 12/15/2012
Status Active
Type General Article