Can i use a RMII interface PHY with RGMII block?

New to XMOS and XCore? Get started here.
Post Reply
gzwpf
Junior Member
Posts: 4
Joined: Fri Mar 11, 2016 6:44 am

Can i use a RMII interface PHY with RGMII block?

Post by gzwpf »

Hi,
I am developing a networking project with XE216 chip,i know XE216 has a RGMII block in it.
and i have download the lib_ethernet - 3.1.2
my questions is:
1, Is RGMII block hardare compatible with RMII interface?
2, Can i use lib_ethernet - 3.1.2 with RMII PHY?

Thank you!


henk
Respected Member
Posts: 347
Joined: Wed Jan 27, 2016 5:21 pm

Post by henk »

Hi,

I don't think so. RGMII is 4 bits wide; RMII is two bits wide; and RGMII has TX and RX clocks, RMII has one clock.

Cheers,
Henk
justkeepswimming
New User
Posts: 2
Joined: Mon Jan 16, 2017 8:19 pm

Post by justkeepswimming »

I was looking at the same thing.

unfortunately the xcore documentation on this point is really inadequate, in fact, it's pretty much non-existent.

however if it's truly a dedicated rgmii hardware block then it seems like it wouldn't work.

it would be nice if someone from xmos could comment.

it seems rather strange that you can't use the ethernet block on the ethernet version of the xcore 200 unless you are using Gig-E.
justkeepswimming
New User
Posts: 2
Joined: Mon Jan 16, 2017 8:19 pm

Post by justkeepswimming »

it would be kind of strange if you couldn't use RMII on an ethernet specific part with the ethernet specific block.

does the existence of the xe200 mean that the general xcore 200 does not work for rgmii ?
henk
Respected Member
Posts: 347
Joined: Wed Jan 27, 2016 5:21 pm

Post by henk »

Hi,

The RGMII block is a dedicated block to deal with 125 MHz DDR signals that are beyond GPIO ports. The RGMII block does preciously little: on the RX path it splits DDR into SDR at half the speed; and vice versa on the TX path.

RMII is different. You can possibly interface an XMOS chip to RMII using GPIO pins, but not through the RGMII block, as that is specifically splitting DDR into SDR and vice versa. (as a starting point, I would put the 2 bits on a 4-bit port, and use the UNZIP instruction to pick 32 bits out of every 64 bits; there are going to be some challenges in synchronising the MAC to the start of the packet).

All XCORE-200 parts can deal with Ethernet; the only specific extra on the XE part is the capability to interface to a GBit Ethernet PHY over a 125 MHz RGMII interface.

Cheers,
Henk
Post Reply