As others have suggested, TCP is something that implemented entirely in hardware, would be pretty resource intensive. There are many operations going on which are well suited for an embedded CPU to handle. Acceleration (or off-loading) can be done by handling things such as checksum calculations in hardware... in the end, I think that you'll see many embedded Ethernet solutions (on FPGA or not) use a mix of HW and SW to implement everything.
Also, if you're willing to take a look at unsupported IP (in contrast to commercial IP), I would also second that you take a look at the opencores.org 10/100 MAC. It has been ported to support the Nios CPU (and Plugs IP stack)... in my own playing with it, it takes just over
2500LEs and has its own integrated DMA controller - its really well architected. The port (ready to drop into SOPC Builder if you want to give it a try with Nios) is available from MaCo-Engineering
Jesse Kempa Altera Corp. jkempa at altera dot com
Hi,
>
> As a study for a project I need to investigate the possibility of
> implementing a tiny TCP/IP stack and tiny MAC controller on FPGA. This
> stack is capable to transfer some data packets directly into S(D)RAM
> without help of the microcontroller. Thus a simple communication via
> Ethernet from the desktop PC is required for download/upload to/from
> the memory.
>
> The FPGA board is attached to an Ethernet PHY device such as DP83847A.
> In this case a MAC controller was implemented in FPGA but the FPGA
> utilitization is too high. There is less room available for other
> blocks. My intention is to build a small TCP/IP stack and MAC blocks
> in the FPGA and the transaction between FPGA/Ethernet PHY and the
> desktop PC has to kept as simple as possible. Thus no heavy/extensive
> protocol is needed.
>
> The questions raised are:
> 1. What is the minimum TCP/IP function set required to do simple file
> transfer and etc.?
> 2. Is it possible to perform all tasks only in FPGA without help of
> the microprocessor?
> 3. Are there any resources (VHDL code and C program on PC) available
> on this topic?
>
> I will welcome all comments and suggestions. please feel free to write
> us at snipped-for-privacy@philips.com Thank you all.