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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor codename47
Visitor
7,575 Views
Registered: ‎08-23-2010

Vivado Create IP-core with two memory spaces

Jump to solution

Im new to Vivado and according to my previous experience in EDK it was possible to create IP-core with AXI-full memory mapped interface with two separate memory spaces which belong to this IP-core.

 

In Vivado Design Suite it is possible to create AXI-Full IP-core with only one memory space, but generated source file contains USER_NUM_MEM parameter and

constant USER_NUM_MEM: integer := 1

Is it possible in Vivado somehow make IP-core with two address spaces ? 

 

0 Kudos
1 Solution

Accepted Solutions
Scholar stephenm
Scholar
14,524 Views
Registered: ‎05-06-2012

Re: Vivado Create IP-core with two memory spaces

Jump to solution

This is not possible in the current version of the tools. I have added a zip here. this has an IP, and a test project that has a dual memory custom IP.

 

There is a PDF that explains how this was achieved (how the HDL was written to achieve this)

 

 

0 Kudos
5 Replies
Visitor codename47
Visitor
7,555 Views
Registered: ‎08-23-2010

Re: Vivado Create IP-core with two memory spaces

Jump to solution

To solve the problem, may be it is a good idea to eleborate the IP-core in EDK and then Package IP for Vivado by means of Tool -> Create and package IP, but the package tool does not recognize AXI interconnect slave interface in user IP-cores made by means Create and Import perepherial Wizard in EDK.

 

Does somebody have any idea how to make the Vivado to recognize te AXI interface in user IP-cores?

0 Kudos
Scholar stephenm
Scholar
14,525 Views
Registered: ‎05-06-2012

Re: Vivado Create IP-core with two memory spaces

Jump to solution

This is not possible in the current version of the tools. I have added a zip here. this has an IP, and a test project that has a dual memory custom IP.

 

There is a PDF that explains how this was achieved (how the HDL was written to achieve this)

 

 

0 Kudos
Xilinx Employee
Xilinx Employee
7,479 Views
Registered: ‎02-01-2008

Re: Vivado Create IP-core with two memory spaces

Jump to solution

You can create multiple address ranges for a single slave either by packaging it with multiple regions or using tcl commands to add address ranges within IPI.

 

And I believe that you can use a parameter to enable/disable regions. But, this mechanism is not fully documented yet at this time.

 

When you create a new core using Vivado IP Package menu, take a look at the created source. There is a bd.tcl file which gives you the flexability to read and update parameters as the IPI block is validated. You may have to look at other IP sources to get an idea of the flexability within bd.tcl.

0 Kudos
Visitor codename47
Visitor
7,445 Views
Registered: ‎08-23-2010

Re: Vivado Create IP-core with two memory spaces

Jump to solution

Thank you for such an exhaustive answer, . The method provided is quite reasonable, but I think the disadvantage is that i should manually check the coinsedence of the HIGH/LOW addresses in IP-core parameters and in Address Editor.

0 Kudos
Scholar stephenm
Scholar
7,438 Views
Registered: ‎05-06-2012

Re: Vivado Create IP-core with two memory spaces

Jump to solution

Yes, this feature isa to be added in 2016.1 (having multi address ranges in the IP packager) it will all be cleaned up. this document was created for another user that needed this ability now so this is a hack

0 Kudos