View the code on GitHub Links to the other parts in this series: Introduction This is the first in a series of blog posts describing my experience developing a low latency 10G Ethernet core for FPGA. I decided to do this as a personal project to develop expertise in low latency FPGA design and high-speed Ethernet, as well as to experiment with tools and techniques that I could use full-time. As a small spoiler, the design has less than 60ns loopback latency, which is comparable to commercial offerings. These posts will focus on the things that are likely different to a ‘standard’ design, as I believe this will be more interesting to the reader. Specifically: The use of cocotb and pyuvm for verification The techniques implemented to reduce packet processing latency Analysis of commercially available low latency and ‘ultra’-low latency cores Latency measurement results and comparison Other techniques not implemented If the reader is unfamiliar with Layer 1/2 Ethernet, I would recommend the following resources: Next Post - Design Overview and Verification