声明:
博主主页:王_嘻嘻的CSDN主页
未经作者允许,禁止转载
本专题部分内容参考于乔庐峰教授的《Verilog HDL数字系统设计与验证——以太网交换机案例分析》,侵权必删
当下很多IC设计的求职者可能苦于找不到合适的项目,或者是希望有一个区别于培训班的独特项目,所以博主从今天开始会根据一些资料,完成一个以太网交换机的手把手教学,并将所有工程代码开源。
关注本专题的朋友们可以收获一个经典交换机设计的全流程,包括设计与验证(FPGA);以太网MAC层(Media Access Control,媒体介入控制层)的基础知识。新手朋友们还将获得一个具有竞争力的项目经历。
在开始工程前,先讨论以下为什么要有以太网交换机。
简单来说,当越来越多的设备接入网络后,子网下的点对点的通信需要某一设备来集中处理数据的转发。以太网交换机就是为了完成这一任务,当然随着时代发展,其内部对网络包的处理变得更为多样,但本工程仅仅完成最基本的交换机功能。
有关更多同一子网下数据的传输过程可以关注IB协议专题。
首先我们需要明确,ethernet switch作用在ISO模型的传输层,物理层通常由外置的PHY完成,在更高级的交换机中,上层的网络层、链路层也可以进一步融入设计中。
ethernet switch的整体架构如下图,主要由mac_r/mac_t(MAC收发控制器)、frame_mux(帧合并单元)、frame_process(帧处理单元)、MAC Lut(MAC地址查找表)、queue manager(队列管理器) 组成,最后实现的交换机可以支持4 Port的数据输入输出。
基本功能如下:
具体功能细节将在每个子模块设计中进行详细介绍与分析。
本专题的后续章节将对MAC控制器、帧合并,处理单元、Mac地址LUT以及队列管理四部分进行设计与实现。