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: 
Highlighted
Explorer
Explorer
1,529 Views
Registered: ‎07-03-2014

[Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

Hi again,

 

I'm introducing a new bug in Vivado 2017.4, this is starting to become really annoying...

I can't complete my design because Vivado refuses to connect two AXI interfaces. Mailbox's slave aXI interface must be connected to an input interface port to an external AXI interconnect matrix. But I can't do the connection:

 

 

If I press "Run Connection Automation" then the connection is done through a new AXI interconnect matrix, which is redundant. Besides, I don't want that connection, I want the slave interface to be available from outside this BD. I've done this kind of connection hundreds of times in Vivado 2016.2 and perfectly working... Even I did two more on Vivado 2017.4 and worked, but this time Vivado refuses to obey...

 

I don't know what those errors in the end of the video are, but I don't care. I don't want to add an AXI interconnect.

 

Is there another way to make this connection, TCL commands maybe??

0 Kudos
1 Solution

Accepted Solutions
Explorer
Explorer
2,051 Views
Registered: ‎07-03-2014

Re: [Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

This issue is clearly a bug in Vivado, although there is a way to make the connection that I discovered by myself:

 1) I selected Mailbox's S1 AXI interface

 2) Right click on the mouse over the selected Mailbox port and then "Create interface port" from the menu

 3) The interface configuration window that appears is different from the typical:

 

 4) Be sure "Connect to selected interface S1_AXI" is checked

 5) Give a name and select a interface type: interface port and connection to Mailbox are created after pressing OK

 

Hope this helps.

Create_Interface_Port_Custom.jpg
0 Kudos
8 Replies
Scholar hbucher
Scholar
1,511 Views
Registered: ‎03-22-2016

Re: [Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

@alexmoya Are they the same version (eg axi3 vs axi4)? If the endpoints are not compatible, Vivado will refuse to complete. Perhaps not a bug.

Remember the AXI interconnect is not a real component - it is a generic placeholder for glue code generated by a script to make the connection correctly and save you of adding version-translators, width-translators, clock-translators in addition to the switch itself (when needed).  

Vivado will place an AXI interconnect with just the necessary components to make the connection. It can be very light.

You can actually open up the AXI interconnect and see what you got inside by clicking on the "+" sign. 

 

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
0 Kudos
Explorer
Explorer
1,505 Views
Registered: ‎07-03-2014

Re: [Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

@hbucher

Yes, both interfaces are AXI4; in fact, Mailbox's interface is AXI4 Lite, but you can't create a AXI4 Lite interface port directly by selecting aximm_rtl interface. You must edit interface port's parameters in order to "convert" it into AXI4 Lite...

And I tried to tie both interfaces in two ways: creating the AXI interface port and leaving defaults (I usually do this and works even with AXI4 Lite interfaces...) and creating the AXI interface port and then editing the parameters to convert it into AXI4 Lite (setting HAS_prot, _lock, _region, _qos to 0 and limiting burst to 1) and the result is the same: can't bound them using pencil.

 

Besides, when trying to connect Mailbox's AXI interface to something else, the only available ports are AXI-Stream ones; however, Mailbox's interface is AXI as you can see in the first video.

 

Thanks for your answer!

 

0 Kudos
Scholar hbucher
Scholar
1,498 Views
Registered: ‎03-22-2016

Re: [Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

@alexmoya Can you look inside the generated AXI interconnect and check what is in there?

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
0 Kudos
Explorer
Explorer
1,493 Views
Registered: ‎07-03-2014

Re: [Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

There are couplers and some logic, pretty similar to standar AXI interconnect.

 

Is there anything more specific you are looking for inside that AXI interconnect?

 

0 Kudos
Scholar hbucher
Scholar
1,487 Views
Registered: ‎03-22-2016

Re: [Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

@alexmoya Just trying to gather more information such that a Xilinx employee can look better at this case. 

Can you post a screenshot?

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
0 Kudos
Explorer
Explorer
1,477 Views
Registered: ‎07-03-2014

Re: [Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

Here you are. I thought there were some logic inside the coupler, but there isn't :(

 

AXI_Interconnect.jpg
0 Kudos
Scholar hbucher
Scholar
1,465 Views
Registered: ‎03-22-2016

Re: [Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

@alexmoya So it is a no-op. 

I am not sure why Vivado is forcing this but I am sure there must be a good reason. 

That said, apparently it has no cost and will wash out.

 

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
Explorer
Explorer
2,052 Views
Registered: ‎07-03-2014

Re: [Vivado 2017.4] Can't create AXI interface connection in BlockDesign

Jump to solution

This issue is clearly a bug in Vivado, although there is a way to make the connection that I discovered by myself:

 1) I selected Mailbox's S1 AXI interface

 2) Right click on the mouse over the selected Mailbox port and then "Create interface port" from the menu

 3) The interface configuration window that appears is different from the typical:

 

 4) Be sure "Connect to selected interface S1_AXI" is checked

 5) Give a name and select a interface type: interface port and connection to Mailbox are created after pressing OK

 

Hope this helps.

Create_Interface_Port_Custom.jpg
0 Kudos