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.