the-aerospace-corporation / satcat5

SatCat5 is a mixed-media Ethernet switch that lets a variety of devices communicate on the same network.
CERN Open Hardware Licence Version 2 - Weakly Reciprocal
420 stars 29 forks source link

Release 2.0.0 #11

Closed ooterness closed 3 years ago

ooterness commented 3 years ago

This is v2.0 update to SatCat5, including several changes that break backwards compatibility.

Description

Motivation and Context

The largest technical change is to the core MAC pipeline, which was previously limited to a maximum datapath of 48-bit datapaths. The new design, which supersedes all seven previous MAC-lookup systems, has better caching and removes this limit completely. (It also adds preliminary support for packet prioritization and IGMP snooping.) It has been tested with datapaths up to 512-bits wide, and can handle an entire packet every clock cycle. This change will allow 10-GbE support in a future release.

The other major addition is the "SatCatOS" software framework, designed for control of managed Ethernet switches and various SatCat5 I/O peripherals. It includes a lightweight IP/UDP stack with ARP and ICMP support.

Other changes include reorganization of the project folders, such as renaming certain files for better regularity and moving example designs into a separate folder from platform-specific shared libraries.

How Has This Been Tested?

This release has been tested internally through our normal Jenkins pipeline, as well as hardware testing of the Arty-A7 and Arty-Managed designs. (Up to and including UDP-echo and Ping requests sent over the Arty's RMII port.)

Types of changes

Checklist:

ooterness commented 3 years ago

The contents of this branch should be byte-for-byte identical to internal commit 63c0effcb25.