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
Observer bach.long
Observer
8,766 Views
Registered: ‎08-23-2012

AXI address remapping in IP Integrator (aliasing AXI slave to two address ranges) (AXI MMU?)

Jump to solution

Is there an easy way in IP Integrator  to make an AXI slave with a single AXI slave interface map to two different address ranges? 

 

e.g. I would like to do something like 

 

                +--------------------------+     +--------------------+

--------------->| S0_AXI                   |     |         AXI        |

                |           AXI      M_AXI |---->| S_AXI   Slave      |

                |       interconnect       |     |                    |

--> Address --> | S1_AXI                   |     +--------------------+

     Remap      +--------------------------+

 

so that the AXI slave is aliased at two different base addresses. Is this possible in IPI?

 

I saw that Vivado 2014.1 has a new "AXI MMU" IP component (axi_mmu_v2_1) as part of the AXI Infratructure Cores (PG059) which "provides address range decoding and remapping services for AXI Interconnect", but it doesn't seem to do what I want.

 

Thanks for any help.

0 Kudos
1 Solution

Accepted Solutions
Observer bach.long
Observer
11,824 Views
Registered: ‎08-23-2012

Re: AXI address remapping in IP Integrator (aliasing AXI slave to two address ranges) (AXI MMU?)

Jump to solution

Just to update, I was able to create a simple address remapping component that just has an AXI4-Lite slave interface and an AXI4-Lite master interface, with all the signals being passthrough connections except for AWADDR and ARADDR, which are remapped to the "real" address of the downstream slave. I can then assign an address range to the AXI4-Lite slave interface of the remap component in the Block Diagram Address Editor, and accesses to this address range seem to get correctly passed on to the address range of the downstream slave. 

0 Kudos
5 Replies
Community Manager
Community Manager
8,740 Views
Registered: ‎06-14-2012

Re: AXI address remapping in IP Integrator (aliasing AXI slave to two address ranges) (AXI MMU?)

Jump to solution

I dont think there is a way to do this. I will check again and will keep you posted

0 Kudos
Explorer
Explorer
8,716 Views
Registered: ‎09-19-2010

Re: AXI address remapping in IP Integrator (aliasing AXI slave to two address ranges) (AXI MMU?)

Jump to solution

Hi,

 

Here in our lab, we have worked on the problem of Address remapping for AXI components for a while and we have developed a set of component which make us capable of doing any kind of (on-the-fly) AXI address remapping as we want.

 

Before going any further, lets make sure if we (and you) have understood your problem correctly.

 

You want your AXI Slave component to be seen at two different offsets. 

 

e.g. You have an AXI Slave component with an address range of 64KBytes, and you want the same 

component to be seen at these locations in the address map:

 

1) from 0x40000000 to 0x40010000

2) from 0x80000000 to 0x80010000

 

Indeed, looking at the incomming transactions on the first slave port of the interconnect, you want the transactions in the address range of 0x40000000 to 0x40010000 to be routed to your axi slave, and at the same time, looking at the incomming transaction on the second port of the interconnect, you want transactions in the address range of 0x80000000 to 0x80010000 again to be routed to the same AXI slave.

 

Is that what you want?

 

I should emphasize that in my view an MMU will fully solve your problem, but, there is no reason for using such an

advanced component (with high area utilization) for such a simple problem.

 

Mohammad S Sadri

U of Bologna.

 

0 Kudos
Observer bach.long
Observer
8,664 Views
Registered: ‎08-23-2012

Re: AXI address remapping in IP Integrator (aliasing AXI slave to two address ranges) (AXI MMU?)

Jump to solution

Hi, 

 

Sorry for the late reply. Yes, what you have described is exactly what we need. Are you able to share your component? 

 

I agree that using the CPU's MMU might be the better long term solution but we are using the MicroBlaze and there are hardware overheads with enabling the MicroBlaze's MMU as well. 

 

Thanks.

0 Kudos
Observer bach.long
Observer
11,825 Views
Registered: ‎08-23-2012

Re: AXI address remapping in IP Integrator (aliasing AXI slave to two address ranges) (AXI MMU?)

Jump to solution

Just to update, I was able to create a simple address remapping component that just has an AXI4-Lite slave interface and an AXI4-Lite master interface, with all the signals being passthrough connections except for AWADDR and ARADDR, which are remapped to the "real" address of the downstream slave. I can then assign an address range to the AXI4-Lite slave interface of the remap component in the Block Diagram Address Editor, and accesses to this address range seem to get correctly passed on to the address range of the downstream slave. 

0 Kudos
Contributor
Contributor
4,761 Views
Registered: ‎05-05-2015

Re: AXI address remapping in IP Integrator (aliasing AXI slave to two address ranges) (AXI MMU?)

Jump to solution

can you share this component ? 

 

I have the same problem I need to remap an address like 0x40000000 to 0x00000000

0 Kudos