This issue has been observed in 2015.3, 2015.4, and 2015.4.1 builds of Vivado.When you create and add a Custom AXI Peripheral, the xparameters.h file which defines the base and high address of the custom IP peripheral is incorrect in SDK.
For a Zynq project, it defines the address range as complete Zynq address space and not the one you have defined in the Vivado Address Editor.
This is a known issue. The BASEADDR and HIGHADDR values of the Custom AXI Peripheral as defined in the Vivado Address Editor is not properly propagated to the xparameters.h file from the .hdf file.
It is planned to be fixed in 2016.1 release.
1. Make the changes manually in the main() file and add the BASEADDR and HIGHADDR values as required. This is required as changes to xparameters.h get overwritten if the BSP is re-built.
2. Create the custom IP in 2015.2/2015.1 Vivado builds and import it in the latest builds. In that case the Address values are also properly propagated to xparameters.h.