FPGA+ggiabit ethernet and protocols

Hello i need to implement gigabit ethernet in FPGA.. now all is almost done (MAC in FPGA , PHY), and need to implement a simple protocol that will ensure proper delivery of all data from digital camera (1 picture = 128MB). I thought about IP/UDP and own protocols with handshake and retransmition of lost packets, but maybe there exists something simpler - already used and implemented protocols - i just need to make programmer's life easier at the other end of cable:) Regards Greg

Reply to
greg
Loading thread data ...

Followup to: By author: "greg" In newsgroup: comp.arch.fpga

At that point you might as well use TCP... implementing TCP is not that hard if you don't care about super-high performance across very long distances.

See for example uIP or lwIP for small TCP/IP stacks that can be run on a small microcontroller which can easily be synthesized in an FPGA.

If you want to use UDP or raw Ethernet packets you probably want to do something like TFTP.

-hpa

Reply to
H. Peter Anvin

simple

camera (1

handshake

The problem is, that i need to have transfer about 70MB/s I thought about TCP/IP and it really doesn't look so bad..The CRC calculation can be done in hardware on fly and the rest implemented using

8bit microcontroller,that i already have in design or NIOS.

Thanks, i will have a look for it.

Reply to
greg

Followup to: By author: "greg" In newsgroup: comp.arch.fpga

If so, you really want to either:

a) Just to full-blown TCP, using your microcontroller or NIOS (Altera has a fairly nice low-overhead TCP/IP library for NIOS, too.)

b) Use a "windowed spew" protocol; effectively TCP without the congestion control. Just spew a bunch of sequenced-number packets out the wire, and expect to get an ACK back clearing all packets up to the packet specified. The big issue with ANY of these protocols is how much buffer memory do you devote to it: you want to have enough buffer memory that you can send at least ~2 roundtrips worth of data before you have to stall until your ACK gets back.

Using a ping/pong protocol like TFTP would be an absolute performance killer in your application.

-hpa

Reply to
H. Peter Anvin

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.