lib_ethernet: XMOS Ethernet Library

VERSION RELEASED COMMENTS DOCUMENTATION SOFTWARE
4.1.0 2025-09-18 Updated to add example of Ethernet traffic diagnostics and new function to read auto-negotiated link speed. VIEW HTML VIEW PDF ZIP
View older versions
4.0.1 2025-03-18 Updated to include support of Ethernet MAC on xcore.ai devices DOWNLOAD ZIP ZIP

Summary

lib_ethernet is a library providing implementations of the Ethernet MAC layer, designed to support network communication by handling data transmission and reception at the Media Access Control level. It provides complete, software defined, Ethernet MAC implementations that support 10/100/1000 Mb/s data rates and are designed to IEEE Std 802.3-2002 specifications.

  • 10/100 Mb/s Ethernet MAC

  • 10/100 Mb/s Ethernet MAC with real-time features

  • 10/100/1000 Mb/s Ethernet MAC with real-time features (xCORE-200 XE/XEF)

  • Raw MII interface

Features

  • 10/100/1000 Mb/s full-duplex operation

  • Media Independent Interface (MII), Reduced Media Independent Interface (RMII) and Reduced Gigabit Media Independent Interface (RGMII) to the physical layer

  • Configurable Ethertype and MAC address filters for unicast, multicast and broadcast addresses

  • Frame alignment, CRC, and frame length error detection

  • IEEE 802.1Q Audio Video Bridging priority queueing and credit based traffic shaper

  • Support for VLAN-tagged frames

  • Transmit and receive frame timestamp support for IEEE 1588 and 802.1AS

  • Management Data Input/Output (MDIO) Interface for physical layer management

Known issues

  • RMII MAC implementation is not tested for 10Mbps operation (#87)

  • MII/RMII buffering uses a global for the lock meaning lib is not re-entrant. This may cause problems when running 2 instances of the MAC on the same tile (#126)

  • RMII implementation does not support 8bit TX operation. This impacts XK-ETH-316-DUAL PHY1 (#88)

Development repo

Required tools

  • XMOS XTC Tools: 15.3.1

Required libraries (dependencies)

Support

This package is supported by XMOS Ltd. Issues can be raised against the software at http://www.xmos.com/support

Scroll to Top
Cookie Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

Analytics Cookies

This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.