论文部分内容阅读
为了解决总线对计算机系统的发展所带来的问题,满足外部设备对总线的带宽要求,Intel提出了第三代总线技术PCI Express(以下简称PCIE)。由于PCIE总线在设备互联数据交互方面具有鲜明的技术优势和广阔的应用前景,对PCIE协议设备的研究也因此蓬勃发展,对PCIE芯片设备的功能验证工作也成为集成电路功能验证中的重要组成部分。目前,集成电路的功能有两种验证手段:基于形式计算的形式化验证和基于仿真的模拟形式验证。形式验证虽然较符合验证的目标,但是由于自身的固有问题使得该技术还无法在工业界获得青睐。模拟验证虽因其在EDA工具上易于实现而得到了广泛的应用,但模拟验证无法跟得上IC设计发展的步伐。为了减小逐渐拉大的IC芯片的规模和功能复杂度与验证技术发展的鸿沟,近些年来,各种高级验证技术以及方法学应运而出。本文验证平台的实验对象——协议栈芯片是在PCIE协议的基础上进行扩展和改进来完成的:该协议栈芯片在标准的PCIE总线层次结构的基础上,增加了网络层,并在数据链路层设置了多个数据子链路进行链路建立,同时对每条子链路进行协议精简与扩展。这种设计使得该款协议栈芯片本身包含Switch设备的路由选择功能,同时也提高了数据的传输速度。虽然该协议栈采用自己定制的通信协议——已经不是严格地遵循PCIE协议规范,但是协议栈与外围设备的连接仍然是遵循PCIE协议规范。因为该协议栈属于企业与科研单位合作的创新型项目,市场上没有成熟的验证工具——包括PCIE设备测试套件可以对此进行验证与测试。因此,本文设计了基于System Verilog的激励向量组合状态图和覆盖率驱动与可变权重的约束随机激励验证(CRSG,Constrainted Random Stimulus Generation)的验证环境,在RTL(Resistor Transistor Level,寄存器传输级)级对其进行全面的功能验证。首先,本论文针对System Verilog语言的出现及其方法学特征进行了讨论,同时就System Verilog语言在AISC(Application Specific Integrated Circuit,专用集成电路)功能验证平台搭建过程中可以提高验证效率的各种验证技术进行了介绍,并且对基于System Verilog语言的模拟验证平台的组织结构进行了简单介绍。然后,本文对PCIE协议的存储器TLP(Transaction Level Packet,事务级报文)数据报文以及基于PCIE协议接口的通信协议栈设备的内部结构、工作原理进行了简单的分析介绍,同时对数据中心网络的拓扑进行了说明,着重介绍了协议栈在其中的作用。最后,本文根据该通信协议栈的功能要求搭建了一个可配置扩展、自动完成数据比对、可变权重CRSG的验证平台。详细介绍了验证平台的架构以及各功能模块——Generator、Driver、Monitor、Scoreboard等的工作流程。并使用该验证平台完成了通信协议栈的功能验证工作。验证报告以及覆盖率数据表明,该验证平台已经完成了协议栈的验证工作。在2014年11月,该项目已经通过了合作公司的验收。