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

2015.4:SDK:Addressing: The base and high address of the custom IP are not correctly reflected in xparameters.h in SDK

Description

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.

For Example:

/******************************************************************/
/* Definitions for driver MYIP */
#define XPAR_MYIP_NUM_INSTANCES 1
/* Definitions for peripheral MYIP_0 */
#define XPAR_MYIP_0_DEVICE_ID 0
#define XPAR_MYIP_0_S00_AXI_BASEADDR 0xFFFFFFFF
#define XPAR_MYIP_0_S00_AXI_HIGHADDR 0x00000000

/******************************************************************/
However in 2015.2 this was not the case; the address was correctly defined as taken from the hardware handoff from vivado:
/******************************************************************/
/* Definitions for driver MYIP */
#define XPAR_MYIP_NUM_INSTANCES 1
/* Definitions for peripheral MYIP_0 */
#define XPAR_MYIP_0_DEVICE_ID 0
#define XPAR_MYIP_0_S00_AXI_BASEADDR 0x43C00000
#define XPAR_MYIP_0_S00_AXI_HIGHADDR 0x43C0FFFF

/******************************************************************/

Solution

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.

Work-arounds:

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.

#define XPAR_MYIP_0_S00_AXI_BASEADDR 0x43C00000
#define XPAR_MYIP_0_S00_AXI_HIGHADDR 0x43C0FFFF

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.

AR# 66322
Date Created 12/30/2015
Last Updated 01/08/2016
Status Active
Type Known Issues
Tools
  • Vivado Design Suite - 2015.4