论文部分内容阅读
以太网是目前使用最为广泛的局域网,以太网以其可靠性、简单性和灵活性仍然持续不断地发展,以太网造价低廉,易于维护,占据了市场的主流。同时,随着半导体技术的发展,交换芯片集成度也日益增长,用硬件的方式实现交换,数据交换速率高,能遵循更多的通信协议和规范,对通信数据具有控制和管理能力。本课题则主要研究快速以太网交换技术,结合半导体技术实现以太网交换芯片,解决用硬件实现以太网高速交换的问题。本文首先介绍了以太网系统和以太网协议,分析当前主流交换芯片结构,掌握交换芯片工作原理,深入研究快速以太网若干交换技术,包括分析芯片的各种交换结构,研究流量控制、地址学习、生成树、虚拟局域网等技术。在研究的基础上本文提出了一种共享存储式以太网交换芯片的系统设计方案,着重描述了该交换芯片模块划分以及各模块的主要功能。之后,本文对交换芯片的存储控制部件进行了详尽的功能分析,给出了存储控制部件的具体设计方案,包括数据帧缓存管理、发送端口描述符队列管理、地址表管理和流量控制四个模块的设计。本文提出了一种高效并且易于硬件实现的链表结构,对空闲数据空间进行组织,较好地实现了对数据缓存空间的分配与回收。对于需要交换的数据帧,为数据帧的存储信息定义了描述符结构,发送端口队列中的描述符通过地址指针与数据缓存空间相联。针对高性能网络中需要为端口的不同级别流量提供不同的服务,在进行发送端口队列调度时,本文采用了一种加权公平排队算法,它可以公平的调度高优先级和低优先级队列,使得传统应用的用户不会察觉到响应时间和吞吐量的变化,而那些紧急应用的用户也可以得到及时的响应。以太网交换过程中端口地址的处理至关重要,本文采用了一种散列算法来组织地址表,同时给出了地址学习、地址解析和地址表项老化的具体实现。为了防止数据缓冲区数据溢出,根据IEEE802.3协议,提出了对数据帧缓存区进行流量控制的具体实现。本文最后描述了存储控制模块的RTL级设计实现方法,经过软平台的功能验证,交换芯片的功能满足设计的要求,经过硬件测试平台上的FPGA原型验证,交换芯片能够达到8端口的线速转发,丢帧率、传输延时等指标符合相关标准。