Showing results for 
Search instead for 
Did you mean: 
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
834 Discussions

Avalon OpenCores 10/100 Ethernet Mac with InterNiche driver

Avalon OpenCores 10/100 Ethernet Mac with InterNiche driver

0 / 5 (0 votes cast)

[Moved from alteraforum thread created by user JakobJones]

I had previously posted the Avalon OpenCores 10/100 Ethernet MAC on the Projects section of the NIOS forum. I will continue to do so. However, the NIOS forum has been overrun with advertising. For this purpose I will be posting all future versions of the MAC here.

The enclosed component is a partial rework of the OpenCores 10/100 Ethernet MAC. The Wishbone interface has been completely removed and replaced with a new Avalon module.

This module was especially created to address the problems that were caused by connecting the MAC to DDR memories or any memory interface that can apply significant backpressure on the MAC's DMA interface.The new module has Transmit and Receive FIFO's who's size can be configured from the component wizard. FIFO overrun conditions are now handled appropriately.

Also included is a complete MAC driver to be used in conjunction with Altera's implementation of the InterNiche TCP/IP Stack. The driver and MAC have been tested with both the UCOSII and Superloop implementations of the stack. You should be able to drop it into your system and be able to run Altera's Simple Socket Server example without problems. You may need to do a little work to support your PHY (explained in the enclosed MSWORD document).

See the enclosed MSWORD document for more information. As always, this component is provided in the hopes that it will be useful but I make no guarantee to it's reliability. To date the MAC has been tested with 3 independent hardware implementations under fairly significant loading conditions.

Any questions, BUG finds, or feedback are welcome. Also, please let me know if I am in any way violating the LGPL license under which the OpenCores MAC is released.

Good Luck,


March 4, 2008. I'm removing the attachment from this posting and I have moved it to the projects section of the forum: NOTE - This was before moving the MAC to the Altera forum. The MAC is attached below to this posting

July 3, 2008. I have uploaded a new version (8.0) of the core to the Projects section of the forum. The uClinux guys exploited a bug that caused the last byte of a transmit packet to get dropped in some cases. Version 8.0 fixes this bug. It is highly recommended that you upgrade your component. Optionally, you may simply upgrade the "eth_avalon_txdma.v" source file. The software driver for the InterNiche Stack has a few additions and fixes as well.

August 14, 2008. I have uploaded a new version of (8.01) of the core to the Projects section of the forum. This version fixes problems that occurred when the MAC was connected to an Avalon BUS with high read latency. It is recommended that everyone upgrade to this version of the MAC.

October 8, 2008. New version (8.02) of the core. The only thing to change is the "eth_ocm_hw.tcl" script which encapsulates the SOPC builder component. I recently became aware that SOPC 8.0 does not 100% correctly import components created in SOPC builder 7.2. The component functioned without issues but consumed more address space on the Avalon bus than truly required. The updated "eth_ocm_hw.tcl" script repairs the issue.

December 9, 2008. New version (8.03) of the core. Oyvind Harboe began implementing the MAC with eCOS. In the process he uncovered several issues with the MAC implementation:

1 - Aborted packets were not being handled properly by the RX DMA controller. As a result, even aborted packets were being passed to the software layer for processing.

2 - A transmit problem was discovered with memory interfaces that have very long read latencies. If a small packet was being transmitted, it was possible for the DMA controller to issue all of the reads for the packet to the Avalon bus and then begin transmission before any of the read data actually came back. The result was that the packet would not be transmitted at all.

I strongly recommend everyone using the MAC to upgrade to this latest version.

8.03 version design download

February 6, 2010. I've created a new version of the MAC (9.1). Because it contains significant changes, and because this thread now has many posts, I've started a new thread for it found at the link below. I will leave this version of the MAC 8.0.3 posted here for those who want access to it.

9.1_beta_version design download

Version history
Last update:
‎06-21-2019 09:20 PM
Updated by: