论文部分内容阅读
随着网络和通信的发展,推动了Intel和AMD的PC处理器的发展,处理能力日益提高。另一方面,各个部件是通过总线来交换数据的,总线的性能对整体的性能影响极大,但是随着其他计算机组件的发展,目前流行的PCI总线已经越来越不能满足他们的需要。PCI总线能够提供的最大带宽为133MB/s,即最大带宽=32bit(总线位宽)~*33MHz(总线频率)=1066Mb/s=133MB/s。但是这有限的带宽要提供给声卡、网卡、视频卡及USB等设备共享使用,所以总线已经越来越成为影响计算机发展的一个瓶颈。被称为第三代IO接口技术的PCI Express总线规范的出现从结构上解决了带宽不足的问题。于是摆在我们面前的问题是如何把PCI Express总线规范的理论优势转化为实际应用的优势。而其中最关键的就是数据事务层的实现。 本文的写作分为理论和设计实现两部分。理论上首先从分析PCI Express的协议出发,按照作者的理解,介绍了PCI Express的基本概念。重点介绍了数据事务层的理论知识,如数据事务层包的定义,收到的事务包的处理方式,事务次序和基于信用的流量控制,其中以流量控制为重点。 在实际设计中,又分为设计和验证两部分。设计中以高性能、低延时为目标,严格按照集成电路中设计要求,充分实现了流水线结构。整个事务层分为发送端、接受端、错误处理和电源管理三部分,其中发送端的事务包的发送是设计中的难点,也是本次论文的一个创新点,因为既要严格按照当前的流量控制信息来决定是否可以发送事务包,同时还要在保证不违反发送次序的前提下尽量提高带宽的充分利用,所以本次设计中采用预先读取一定数量的事务包并保存于三个不同的发送缓存器中的方法,很好的解决了上述问题。在验证中,最关键、最困难的是验证环境的搭建,因为这直接关系到验证工作的成功性,关系到能不能够有效的保证设计的正确性。本次验证工作中,以目前国内外最流行的验证环境模型为基础,结合PCI Express的实际情况,做了许多有效的改进,增加了一些具有自动检查结果功能的模块,有效的提高了此后的调试过程的效率。这是一个创新点,此外由于Root Complex和Endpoint在绝大部分功能上类似,所以重用了两者的Reference Module的代码,有效的提高了环境搭建的效率。最后,为了充分保证设计的正确性,把经过软件仿真验证的设计在放到Xilinx FPGA中进行硬件仿真和性能分析,得到了十分理想的结果。