Ethernet protocol on fpga

OP (Company: INFN) #1554520
Rate this post
useful
not useful
Hello,

I'm an engineer at National Institute of Nuclear Physics - section of
Catania, Italy- (INFN, Istituto Nazionale di Fisica Nucleare in 
Italian).

we're looking for the SIMPLEST way to send data
with a rate as close as possible to the Giga with the Ethernet protocol.

Do you have any suggestion about the chip or the core we could use?

Thanks
Guest #1554632
Rate this post
useful
not useful
Very easy, very cheap: Use a PCI-core (DMA-capable) on the FPGA and a 
Realtek 8169-based PCI-Network card (9Euros in single quantities or so). 
The 8169-series can send about 100MByte/s without problems. In fact the 
8169 has the neat feature of two independent transmit queues. While the 
first one is handling the regular traffic of the OS, the second queue 
can be sourced by the FPGA with "on-demand" generated DMA descriptors.

This approach is maybe not as elegant as a MAC in the FPGA. But on the 
other hand you can use "low"-end FPGAs.

I did exactly this for UDP-streaming of DVB tuner data. If you are 
interested, I can give you a link to a more detailed description.
Guest #1555090
Rate this post
useful
not useful
If you are want to send close to the maximum data rate of gigabit 
ethernet, you will probably sending only UDP packets of one kind with 
predefined length and structure. In addition, you will probably use a 
point to point connection, so you don't really have to care about MAC 
and IP addresses. This means that most of the Ethernet, IP and UDP 
packet header bytes will be constant anyway. You will just have to 
provide the CRCs (and of course the data). So you can just connect a PHY 
to the FPGA, clock the predefined Headers, the data and the CRC (which 
can be calculated on the fly) to it, and you are done. Very simple 
hardware setup and no big black box of IP you do not understand...

All information regarding packet structure can be found on Wikipedia. 
For CRC generators see OpenCores, for example.

If you have complete control over the receiver, you could even forget 
UDP and drop down to raw ethernet frames, which would make the 
transmitter even simpler.
Guest #2481924
Rate this post
useful
not useful
I'd like to reveal this thread.

I am also focussing nearly 1GB transmission speed and like to use UDP 
(or possibly RAW transfer, as mentioned) but I worry about routing:

I will have to send data through a switch where the PC is linked to, 
furthermore the PC will send some status data to the FPGA, which is used 
to configure it.

Will such a simple protocol still work over a switch and both 
directions?

All other members of the net are total under control, meaning I can 
setup their IP adresses. Collision also could by avoided of necessary, 
meaning, I can switch the FPGA and the PC from sending to receiving 
manually to do that exclusively
(Company: sewrew) #2490790
Rate this post
useful
not useful
Hello , i want to send data to my ethernet controller on my 
FPGA(cyclone) board of Altera.
What algorithm of sending data via this interface ?? What first steps i 
need to do in order to accomplish this mission. Maybe someone can advise 
me some book that can help me in this project.
Thanks.
(Company: www.dossmatik.de) #2493095
Rate this post
useful
not useful
Jaromir wrote:
> I'd like to reveal this thread.
>
> I am also focussing nearly 1GB transmission speed and like to use UDP
> (or possibly RAW transfer, as mentioned) but I worry about routing:
>
> I will have to send data through a switch where the PC is linked to,
> furthermore the PC will send some status data to the FPGA, which is used
> to configure it.
>
> Will such a simple protocol still work over a switch and both
> directions?
>

You need an MAC address.
you need ARP address resolution protocol.  This connect you 
Hardware(mac-address labeled) with your IP address.

Reply

Please log in before posting.

or

Log in with Google account

Registration is free and takes only a minute.

Register now