cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
492 Views
Registered: ‎12-16-2019

QDMA

Hi,

I'm using the QDMA sub-system in IP integrator. The IP defines some new interface types (<install>/data/ip/xilinx/qdma_v3_0/interfaces) but they are not listed in the IP Catalog even though the qdma_v3_0 IP itself is listed. How can I make Vivado aware of the QDMA specific interface definitions so I can use them in my own custom IP?

Using Vivado 2019.2

Thanks

0 Kudos
5 Replies
Highlighted
Moderator
Moderator
426 Views
Registered: ‎06-29-2011

Re: QDMA

Hi gareth.hayhurst@activfinancial.com 

This question is not related to the QDMA IP specifically but more on how to create your custom IP and integrate interfaces that you have seen with the QDMA IP. I am going to move this to our Design Entry board as this would be best handled there.

In the meantime I would recommend thay you ensure that you have reviewed the following documents as they provided a lot of detail on designing with IP and custom IP flows. The following documents can be found in Doc Nav or on the Xilinx.com page.

UG896, Vivado Design Suite User Guide: Designing with IP
UG939, Vivado Design Suite Tutorial: Designing with IP
UG1118, Vivado Design Suite User Guide: Creating and Packaging Custom IP
UG1119, Vivado Design Suite Tutorial: Creating and Packaging Custom IP

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

Kind regards,
Gareth
0 Kudos
Highlighted
391 Views
Registered: ‎12-16-2019

Re: QDMA

Thanks for the reply, yes I guess this is a more general issue and not QDMA specific. The documents you suggest do not seem to have an answer for this issue. The problem is that when an interface is being edited in IP Packager, the interfaces defined in $install/data/ip/interfaces are available in the Interface Definition Chooser, but the interfaces defined in $install/data/ip/$vendor/$ip/interfaces are not. The interfaces defined for the qdma_v3 IP are not present in the shared $install/data/ip/interfaces folder and are not available to the Interface Definition Chooser. This may be intentional or it may be a bug? The work-around is to create an interface with any Interface Definition and then use the IP Bus Interface Properties pane to edit the Bus type and Abstraction type properties to the required values. It seems odd that Vivado will not offer interface definitions in the Interface Definition Chooser, but will recognise them if they are set as properties on an interface.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
346 Views
Registered: ‎10-01-2007

Re: QDMA

gareth.hayhurst@activfinancial.com Can you articulate which interface you are trying to connect to in your own IP?  I was looking and it seems all the QDMA interfaces are defined in the IP interfaces directory but perhaps I missed something.

In general, as long as you have the same port names in your IP RTL and the IP interface is known by Vivado, you will be able to connect.  

You can also check the Create_Interface_Port to see a list of all known interfaces to VIvado.

0 Kudos
Highlighted
Newbie
Newbie
233 Views
Registered: ‎10-08-2019

Re: QDMA

I have encountered the same issue with the "DMA/Bridge Subsystem for PCI Express (PCIe)" module. The "xdma_status_ports" interface is already defined inside the ip repository, as Vivado does not allow me to redefine this interface inside "new interface definition" window. On the other hand, when I try to add the interface for my custom module, I cannot find it in the "Add Bus Interface" window. 

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
225 Views
Registered: ‎10-01-2007

Re: QDMA

You would need to edit the bus interface to enable it to work in your own IP.

From Vivado:

Tools -> Create Interface Definition

Then choose extend from.  And select the the one you want to edit.  You will need to make it optional on both master and slave so that your IP can use that interface.

0 Kudos