论文部分内容阅读
第三代互联总线PCI Express拓展了PCI总线的带宽限制。PCI总线技术规范是Intel于1992年6月发布,它使用共享总线拓扑结构——总线带宽在多个设备间共享。但随着设备的发展,新的占用大量带宽的设备开始吞噬同一共享总线上其它设备的带宽,迫使总线的带宽需要进一步提高。而PCI并行总线之间相互干扰、时钟抖动等因素严重制约了PCI的带宽。为了提供新型设备所要求的带宽,PCI特殊兴趣组(PCI SIG)开发了PCI Express总线规范协议,其应用当前高速串行通信技术,具有高速(2.5G/s/lane)、低电压(0.8V-1.2V)、差分信号传输的特点,并且引脚少、点对点传输,通过采用多通路传输还可获得成倍的带宽。不同于PCI,所有设备共享总线带宽,PCI Express通过交换器将设备连在一起,为每一个设备提供专用的数据通路和需要的带宽。PCI Express使用的是点到点传输的拓扑结构,在这个拓扑结构中交换器起到非常重要的作用。针对交换器的设计,本文主要分为理论、设计和仿真验证三大部分。第一部分,主要从理论上概述PCI Express协议规范,介绍PCI Express的基本概念,包括PCI Express层结构、数据包、拓扑结构等,重点说明PCI Express的事务层和交换器的理论基础:事务类型、配置空间、虚拟通道、事务路由、中断等。第二部分,对该交换器事务层和交换模块进行系统级设计,根据功能划分虚拟通道接收发送、虚拟通道仲裁、配置空间、路由、端口虚拟通道缓存、端口仲裁等子模块。并对部分子模块进行了分析,确立了数据通路图和各个模块的输入输出信号,画出了各个模块的算法流程图。根据流程图编写了Verilog HDL代码。其中虚拟通道的仲裁是该设计的难点,也是本文创新点,因为仲裁机制既要支持优先级排序仲裁又要支持低优先级通道的加权循环仲裁,并且每个通道的通道号(除了VC0)是可读写寄存器,需要由配置软件修改,本文通过并行比较,选出当前请求通道中的VC ID最大者,再判断最大者是否为低优先级通道,并与虚拟通道仲裁功能寄存器,再次来判断下一个应该允许的虚拟通道。第三部分中,使用Mentor的Modelsim对各个子模块以及整体模块进行了RTL功能仿真验证,给出了子模块和系统模块的仿真图。采用Synplicity公司的Synplify对一个具体配置的系统进行了综合,得出资源占用和静态时序报告。