Electronics > FPGA

Ethernet and FPGAs?

(1/5) > >>

Thane of Cawdor:
I am working on an FPGA design and I'm on a journey to connect an ethernet port (10Mbps) to the FPGA by using the least amount of FPGA IO. From reading, there are a two main options:

1. RJ45 -> magnetics -> ethernet controller (MAC -> PHY) -> FPGA

2. RJ45 -> magnetics -> PHY -> FPGA (using RGMII, RMII, MII) and ethernet IP core

Has anyone here had experience with a similar design and recommend any method?

rstofer:
That ENC28J60 has been around for a long time and is available on a small PCB for about $9

https://www.amazon.com/HiLetgo-ENC28J60-Ethernet-Network-Arduino/dp/B00WX1NRO0

This approach still leaves the daunting task of implementing the TCP/IP (or UDP/IP) stack in FPGA fabric unless you are using a programmable CPU core but there is a project at Opencores.org that implements the stack and it uses the ENC28J60

You may have to register to get to the file but it does exist.

https://opencores.org/projects/tcp_ip_core_w_dhcp

I used the ENC28J60 with the uIP stack (predecessor to the lwIP stack) a long while back with a LPC2106 ARM board.  It made a connection with a Linux server and grabbed music files to play.  Just a demonstration, really but it all worked well.

Thane of Cawdor:
Thanks  :-+ I have been reading into that chip and it looks quite good, I shall continue the research. Do you by chance know the logic/memory resources (approximately) required to implement the required cores? Out of interest, have you had any experience working with 1000BASE-T ethernet? If so, do you need a high-end FPGA to get 1Gbps to work with available MAC IP?

rstofer:
The Artix A7 has onboard PHY and MAC and can do 10/100 Mbps.  The Opencores project I linked above struggles to make 10 Mbps and that is primarily a limitation of the ENC28J60 (10 Mbps).  The problem with the project may be that it will only handle one connection at a time.  I don't know what to think about the limitation.  Both of my projects only required one connection.

https://digilent.com/shop/arty-a7-artix-7-fpga-development-board/

The Opencores project doesn't talk about resources, AFAICT.

The high dollar Nexys Video Artix-7 will do 10/100/1000 Mbps

https://digilent.com/shop/nexys-video-artix-7-fpga-trainer-board-for-multimedia-applications/

Here's a white paper regarding Xilinx's IP core for lwIP

https://www.xilinx.com/support/documentation/application_notes/xapp1026.pdf

Thane of Cawdor:
Thanks for the information  :-DMM I am interested in using a lower cost Actel part like the IGLOO series, hence the interest in the resources. I imagine it would be difficult to achieve greater than 10Mbps due to the reason you mentioned and unlike the higher end IGLOO2 series, there is no ethernet MAC IP for the device. Thanks for the links, I'll have a look through them now.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version