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: 
Observer dpizzitolo
Observer
225 Views
Registered: ‎08-11-2018

Ethernet shared between A53 and microblaze in ZynqMPSOC

Jump to solution

Gents,

            I have a design in a ZynqMPSOC in which both the A53 and microblaze will be running Petalinux. There is only one ethernet port connected to the MIO on the PS. I know I can bring this enet connection to the microblaze via the EMIO. However, I would then be taking this connection away from the A53(PS). Is there a way I could create use sort of "two client" mac so I could provide internet to both the PS and PL at the same time?

-Thanks 

0 Kudos
1 Solution

Accepted Solutions
Voyager
Voyager
173 Views
Registered: ‎02-01-2013

Re: Ethernet shared between A53 and microblaze in ZynqMPSOC

Jump to solution

All the PSU processors and all the Microblazes (you can put in the PL) can access all of the GEMs. So each GEM can-be/already-is a shared resource. The hard part is coordinating the control, use, and management of the port among the processors that want access. A sharing problem arises when multiple processors share any IO resource--even a UART.

Have you seen:

https://forums.xilinx.com/t5/Embedded-Processor-System-Design/Shared-Ethernet/m-p/891290 ?

-Joe G.

 

0 Kudos
5 Replies
Voyager
Voyager
174 Views
Registered: ‎02-01-2013

Re: Ethernet shared between A53 and microblaze in ZynqMPSOC

Jump to solution

All the PSU processors and all the Microblazes (you can put in the PL) can access all of the GEMs. So each GEM can-be/already-is a shared resource. The hard part is coordinating the control, use, and management of the port among the processors that want access. A sharing problem arises when multiple processors share any IO resource--even a UART.

Have you seen:

https://forums.xilinx.com/t5/Embedded-Processor-System-Design/Shared-Ethernet/m-p/891290 ?

-Joe G.

 

0 Kudos
Observer dpizzitolo
Observer
154 Views
Registered: ‎08-11-2018

Re: Ethernet shared between A53 and microblaze in ZynqMPSOC

Jump to solution

Thanks Joe,

             Looking at the last post on that link it looks like sharing the enet module is possible but requires a way of arbitrating between the two masters.

0 Kudos
Observer dpizzitolo
Observer
151 Views
Registered: ‎08-11-2018

Re: Ethernet shared between A53 and microblaze in ZynqMPSOC

Jump to solution

Also need a switch as well, which doesn't seem to be provided as an IP from Xilinx.

0 Kudos
Voyager
Voyager
143 Views
Registered: ‎02-01-2013

Re: Ethernet shared between A53 and microblaze in ZynqMPSOC

Jump to solution

Arbitration?  No, no, no, no, no... no.

I had hoped that you would concentrate on the accepted post in that thread. The subsequent posts sort of devolved after the eventually-accepted post was made. My original reply was indicated that the Ethernet MACs (GEMs) are already connected in a way that any processor can access them at any time. That's already done for you--it's the easy part. But letting any processor use a MAC simply because it can, is not a good plan. The hard part is coming up with the right plan.

Arbitration is not a word I would use in an situation like this. This is a sharing problem. Ethernet usually involves two-way traffic using transfer protocols. You can't simply arbitrate the use of the port over long periods time. The timing of higher level protocols prohibits that. And if you did swap port 'ownership' more quickly, what happens when Linux A is in control and a receives a packet destined for Linux B? Or vice-versa. (You can't count on the entity at the other end being in perfect sync with your arbitration schedule.) Now you need a way of sharing packets in both directions between processors.

In a system like yours, with two versions of Linux running, one of them should be the sole master of the Ethernet port, and act as a proxy for the other. I don't know if sharing like that is SOP for out-of-the-box Linux, but it's something that needs to be dealt with.

-Joe G.

0 Kudos
Highlighted
Observer dpizzitolo
Observer
134 Views
Registered: ‎08-11-2018

Re: Ethernet shared between A53 and microblaze in ZynqMPSOC

Jump to solution

Yeah, I realized that I really need a switch for my application, since each processor would ideally have its own MAC. This is something that cannot be done by having two different masters share a MAC. Don't know why I was thinking about arbitration in the first place:)

0 Kudos