2026年,想用FPGA实现一个‘开源以太网交换机’作为课程大作业,在实现MAC、地址学习和简单路由功能时,如何设计流水线架构以保证线速转发?
我是网络工程专业大四学生,这学期有一门高级硬件课程,我想用FPGA(手头有一块Artix-7开发板,带一个千兆以太网PHY)实现一个简易的、支持几个端口的以太网交换机作为大作业。我了解以太网帧结构和交换机的基本原理(MAC地址学习、转发、过滤),但用硬件实现还是第一次。我最困惑的是如何设计数据路径的流水线,才能确保每个端口都能实现线速(千兆)转发,同时处理好地址表查找、帧修改等操作。应该用状态机还是流水线寄存器?查找表用Block RAM实现是否合适?有没有类似的开源项目架构可以参考?