FPGARelated.com
Forums

Ethernet & FPGA

Started by Stefan Kopetsch April 30, 2004
Hi...

i'll write my bachelor thesis about the implementation of ethernet and 
possible tcp/ip layers in an fpga. does someone have experience doing 
it? especially using open source ip cores like the ethernet MAC core 
from opencores.org? would be nice if someone could share their 
experience. another point is the implementation of tcp/ip. does it make 
sense to do it all in hardware or is it simpler to run a processor core 
on the fpga and then implement the tcp/ip layers using a highlevel 
language like C? i gotta stress that the aim is initially to build an 
runnable ethernet core and then implement the data transfer step by step

TIA

Stefan
>i'll write my bachelor thesis about the implementation of ethernet and >possible tcp/ip layers in an fpga. does someone have experience doing >it? especially using open source ip cores like the ethernet MAC core >from opencores.org? would be nice if someone could share their >experience. another point is the implementation of tcp/ip. does it make >sense to do it all in hardware or is it simpler to run a processor core >on the fpga and then implement the tcp/ip layers using a highlevel >language like C? i gotta stress that the aim is initially to build an >runnable ethernet core and then implement the data transfer step by step
You can do very simple protocols without much software, but it's still simpler to think of it as software. Consider something like a data recording setup. You send it a UDP packet and it returns the answer. You don't need a routing layer since you send it back where it came from - just swap a few header fields. (But watch out for the broadcase case.) -- The suespammers.org mail server is located in California. So are all my other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited commercial e-mail to my suespammers.org address or any of my other addresses. These are my opinions, not necessarily my employer's. I hate spam.
Hi Stefan,

Stefan Kopetsch wrote:

> Hi... > > i'll write my bachelor thesis about the implementation of ethernet and > possible tcp/ip layers in an fpga. does someone have experience doing > it? especially using open source ip cores like the ethernet MAC core > from opencores.org? would be nice if someone could share their > experience. another point is the implementation of tcp/ip. does it make > sense to do it all in hardware or is it simpler to run a processor core > on the fpga and then implement the tcp/ip layers using a highlevel > language like C? i gotta stress that the aim is initially to build an > runnable ethernet core and then implement the data transfer step by step > > TIA > > Stefan
I have been looking into hardware implemented tcp/ip chips a year or two ago for an embedded project. I was intrigued by the idea not to have to bother the processor with the tcp/ip stack. I found only two vendors at that time and one of them phased their chip already out. One issue I found in the other chip was, that it only could handle four tcp connections. Granted it still provided access to the ethernet layer, which would allow a connected processor to implement a tcp/ip stack, but that defeats the purpose of the hardware stacks in the first place. If you don't have any requirements concerning the tcp/ip layer I guess the question will be what do you like to do better, implement a processor core in hardware and the tcp/ip stack in software or do the tcp/ip stack in hardware. Which brings up the questions what are you allowed to take as available ip and what do you have to do by yourself? With the uClinux running on the OpenRisc and the ethernet core you will find, I believe (haven't tested it), a running system with ethernet and tcp/ip stack in software on open cores. Guenter