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

6.1i EDK Docs - Request to have more information to explain the OPB ADDR range


General Description: 

Why does the OPB bus instance need a Base and High address since it is not a bridge (or peripheral on the bus)? If you don't specify a value, then it seems the default values from the MPD are used, which are illegal (base=0xFFFFFFFF and high=0x00000000).  


From the addressing point of view, you can think of it as a peripheral to the bus. It is just that this peripheral is built into the bus. To enable accessing of arbiter registers, users must specify parameter C_PROC_INTFCE = 1.


This Address Range does not confine the memory space for the opb_bus. Whenever, there are multiple masters on the opb_bus (parameter C_NUM_MASTERS calculated by PlatGen), the arbiter is automatically included into the bus logic. 


However, if users want to debug the bus functionality, they would want access to the arbiter registers. This C_BASEADDR/HIGHADDR just specifies at which address the arbiter's register should be present. 


This is fixed in the latest 6.2 EDK Service Pack, available at: 

The first service pack containing the fix is EDK 6.2 Service Pack 2.

AR# 19615
Date Created 09/03/2007
Last Updated 05/16/2014
Status Archive
Type General Article