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

Vivado IP Integrator - How can I migrate my IP generated in EDK CIP wizard to Vivado IPI

Description

This Answer Record covers the steps to migrate a simple IP created in the EDK 14.7 "Create, Import Peripheral (CIP) wizard" to Vivado 2014.4 IP Integrator.

Solution

In the following example, the IP that will be ported was created in the CIP wizard in XPS. 

This consists of a simple IP with a single Software Register and AXI-4 Lite bus interface.

Step 1: Make a local copy of the EDK Pcore

Step 2: Explore the PAO file in the pcore data folder

The PAO (Peripheral Analysis Order) contains all of the IP needed to build your IP in Vivado.

For example, in this demo the PAO looks like:

ar64354_pao_file.png


Note: Some IP may have been upgraded, or missing altogether in Vivado

For example, we can see that the EDK IP is using proc_common_v3_00_a, and axi_lite_ipif_v1_01_a.

To verify if the IP is present or not, you can browse the install:

<Vivado Install>\data\ip\xilinx

The missing libs can be found in the folder <EDK Install>hw/XilinxProcessorIPLib/pcores

Copy them locally as you will be converting these to Vivado IP.

Step 3: Convert EDK IP to Vivado IP

Three IPs will be created here:

The proc_common, axi_lite_ipif, and finally the custom IP using the Manage IP feature in Vivado.

First, launch Vivado, and select Manage IP:

ar64354_manage_ip.png


Select your device part, and then Finish to continue:

ar64354_config.png

Select Tools -> Create and Package IP

Click Next to continue.

ar64354_cip_1.png
Select Package a specified directory. 

Click Next to continue.

ar64354_cip_2.png

Point to the location of your IP. 

Click Next to continue.

Note: For IP like the proc_common, select the Package as a library core.
ar64354_proc_common.png


Select IP name. 

Click Next to continue.

Note: Make sure that the name matches the name expected in your HDL code.


ar64354_proc_common_name.png



Read over the summary. 

Click Finish to continue.

ar64354_cip_5.png

Under Compatibility, select all devices that you want this IP to support.

Once you are happy with the IP, select Review and Package > Package IP.

Repeat this for the axi_lite_ipif, making sure that the IP name is maintained.

There should now be two IP added to the repository:

ar64354_repo.png

You can now create the custom IP by following the same steps as above:

ar64354_cip_create.png

Specify the location. 

Click Next to continue.

ar64354_cip_create_1.png
Name the IP. 

Click Next to continue:

ar64354_cip_create_2.png

Read over the summary. 

Click Finish to continue.

ar64354_cip_create_3.png

Under Compatibility, select all devices that you want this IP to support.


Once you are happy with the IP, select Review and Package > Package IP.


Close Vivado.

 

Step 4: Test IP

Launch Vivado, and create an IPI project. 

To add the IP, open the Repository Manager, and point to your IP.

Note: Add the Other required IP here as well.

ar64354_repo_all.png

Here I have created a simple MicroBlaze system and added my IP:

ar64354_bd.png

Generate Output Products, and create a HDL wrapper.

Export to SDK.

Step 5: Create Test Application

Below is a simple application that writes to the register in the custom (my_ip) IP in SDK:

#include "xil_io.h"
#include "xparameters.h"
int main() {
Xil_Out32(XPAR_MY_IP_0_BASEADDR, 0x12345678);
return 0;
}

Build the application and close SDK.

Step 6: Simulate the design

Once the application is created in step 5, add the ELF as a simulation source and associate the ELF.

Create a Testbench, and run simulation.

Below is the simple simulation, the user register is at the bottom. 

Here, we can see that it is written to as expected:

ar64354_simulation.png

AR# 64354
Date Created 04/22/2015
Last Updated 05/25/2015
Status Active
Type General Article
Tools
  • EDK - 14.7
  • Vivado Design Suite - 2014.4.1