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


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)



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)


-- 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 12/15/2012
Status Active
Type General Article