论文部分内容阅读
PCI Express总线是由PCI-SIG发布的第三代高性能IO总线,与之前的二代IO总线相比有两个方面的根本性改变:一是由原来的并行总线变成了串行总线;二是运用了点到点的互连结构。相比于PCI总线共享总线带宽,PCI Express总线拥有了更大的带宽,但使得桥和总线的数量比较多。于是交换开关这个设备出现在了PCI Express总线的拓扑结构之中。交换开关代替了原先PCI总线中的共享总线,使得PCI Express总线结构能够方便地进行拓展。本论文基于本人在实习期间所参与的一项无阻塞、低延迟、低功耗的8通道、8端口交换开关芯片设计项目。本文针对该交换开关芯片中的交换核心模块(SwitchCore)的实现方法进行了详尽分析与研究。该实现方式基于PCI Express总线关键技术,通过事务级数据包进行数据交互,最终实现了该交换核心模块PCI Express端口之间报文的路由控制与数据交换这两个功能,完成了设计。本文首先针对PCI Express协议的关键技术进行了阐述,着重分析了PCI Express事务层和交换开关芯片的重要技术点:事务层包、路由机制、配置空间以及端口仲裁等。之后在深入研究了国内外相关资料的基础上,完成了交换核心模块的整体架构设计以及数据通路设计。在对比直通和存储转发模式两种传输机制优缺点的基础上最终选择了直通的传输机制。接着根据交换核心模块架构的功能模块划分完成了各个功能模块的RTL设计实现。其中采用了蝶型双向多级互联网络(Butterfly BMIN)结构设计了交叉网络,采用了传输数据到达消息(DRM)代替数据载荷在交换核心模块内部的传输,大大加快了数据的传输速率,同时简化了模块结构。并采用硬件固定仲裁以及加权轮询仲裁实现了交换核心模块的端口仲裁。最后为了验证所设计的交换核心模块功能的正确性,采用了Synopsys公司的PCIe VIP搭建了验证平台,大大提高了验证的效率。同时制定了相应的验证计划,提取功能点,编写测试用例,对交换核心模块进行了功能仿真。对于交换核心模块的两个功能,针对数据交换功能验证了各种传输情景下数据的交换,针对路由控制功能验证了端口仲裁功能,并选取了其中具有代表性的验证情况进行了分析说明。最终根据验证结果表明该交换核心模块的设计实现了PCI Express各端口之间报文的路由控制以及数据交换的功能,达到了目标要求。