Building the World's First Open Source Ethernet Switch ASIC

Designing an Ethernet Switch ASIC

Building the World's First Open Source Ethernet Switch ASIC

I am designing the world's first open source Ethernet switch ASIC, currently taped out on the Tiny Tapeout gf26b shuttle chip. Facing strict pin and area constraints, I opted for a cut-through design using external PHY chips to achieve 100Mbps Ethernet. This project aims to fill the gap in open source networking hardware, moving beyond proprietary black boxes to create transparent, community-driven silicon.

Networking equipment is far less sexy than CPUs and has thus received much less attention from the open source community.
  1. zrobotics

    This is extremely cool, I've played with FPGA design but never really even looked into custom ASIC design due to budget concerns. I hadn't heard of the tinytapeout project. Any recommended links for getting started?

    I have a (really dumb, kinda meme-y) project involving a dead hakko soldering iron and "Internet of Soldering", a custom ASIC for the actual front-end would be the appropriate level of silly and possibly could fit in the project budget.

  2. roadbuster

    Great project & article. Beyond the use of verilog, I couldn't find a description of the EDA stack. What tooling is used for the physical stages of design: place & route, LVS, DRC, and electrical circuit simulation (SPICE)?

  3. inigyou

    Nice! I've been following waferspace and tiny tapeout loosely but I'm sadly not in a position to be able to work on something right now.

    I'm surprised you managed to fit something like this in a TT grid square.

  4. jandrese

    That memory constraint is a real killer on the chip, even one that is a first generation toy like this. Only having 4 entries in the forwarding table is going to be an immediate problem if that switch is ever connected to another switch.

    I wonder if it wouldn't make sense for one of the ports to be designated the "uplink" port and if the switch receives a packet destined for something not in the table it forwards it out the uplink port so long as the packet did not arrive via that port. It could even save a bit of memory by not storing entries for the uplink port in the table.

  5. noncoml

    “ Cut-through vs Store-and-Forward”

    I had a Google interview collapse because the last interviewer was a Principle Engineer who just couldn’t accept that a switch will ever forward a frame before reading in full and checking the FCS.

    I was too much of an idiot to go along with it and instead ended up having an argument with him.

More from this day

2026-07-24