关 闭

新闻中心

EEPW首页>工控自动化>设计应用> PCI Express协议实现与验证

PCI Express协议实现与验证

作者: 时间:2012-12-17 来源:网络 收藏

2.2 接口设计
接口设计主要包括本地接口设计、配置寄存器扩展接口设计和电源管理接口设计3部分。
本地接口用于用户逻辑与远端设备之间传输TLP,在本地接口总线上所传输的TLP均需满足标准的数据包格式。本地接口又分为发送接口和接收接口,IP核通过发送接口在PCI Express链路上发送PCI Express包,通过接收接口从PCI Exp ress链路上接收PCI Express包。
配置寄存器扩展接口主要用于实现额外的PCI能力项和配置寄存器。根据PCI Express规范,原则上只有跟PCI Express配置相关的寄存器才可以放入配置空间。本文设计的PCI Express IP核是PCI Express端点(Endpoint),故使用标准Type0配置空间,该空间占用了0x000~0x0 BF地址范围,配置寄存器扩展接口可使用空间的地址范围从0x0C0~0xFFF。

3 PCI Express IP核功能验证
验证是比设计更重要的一个环节,它穿越了整个设计流程,以便尽早发现设计中可能存在的错误和缺陷。功能验证指验证RTL代码是否符合原始的设计需求和规格,在这里指验证设计的PCI Express IP核是否符合PCI Express规范。本文采用基于虚拟平台的验证方法对设计的PCI Express IP核进行层验证和应用层验证。
3.1层验证
本文采用Denali公司的PureSuite测试工具对PCI Express IP核的层进行验证。PureSuite可以测试PCI Express设计的兼容性,包含完整的测试用例,且与PCI-SIG的兼容性验收列表完全匹配。PureSuite覆盖了物理层、数据链路层、事务层以及配置空间,包括定向测试和随机测试,使用PureSpec总线功能模型对待测设计施加合适的激励,该功能模型使用SOMA配置文件来约束功能模型的行为和特性。PureSu ite充分发挥了Denali的先进特性,自动产生测试激励,并报告测试结果。使用PureSuite对PCI Express IP核进行兼容性测试主要需要四个步骤,测试平台搭建、测试用例选择、运行仿真、查看结果。
测试平台搭建主要包括对DUT的实例化以及创建约束DUT特性的SOMA文件。首先,编写Testbench文件,把Denali的模型和监视器以及DUT连接起来,并指定对应的SOMA文件,分别对上述3个模块进行特性约束。其次,使用Denali的图形化工具PureView创建DUT监视器模块及其SOMA文件,需要把PCI Express IP核的特性全部写入该SOMA文件中。
由于Denali的PureSuite包含了一套完整的测试用例,其中有许多是DUT所不具备的能力,故在运行仿真前需要选择与DUT配套的测试用例,当然也可以指定一些测试用例进行单独测试,以禁止运行DUT所不具有的特性的测试用例。PureSuite提供5大类测试,包括事务层测试、PHY测试、数据链路层测试、配置空间测试和虚通道测试,本文的设计不包括PHY部分,故仅对DUT进行了其余4类测试。
在进行协议层仿真时,本文使用NC-SIM仿真工具在Linux系统下进行。仿真平台搭建好后,需要编写运行脚本文件。在编写脚本文件中,主要包括对代码进行编译、指定编译器及其参数、指定仿真顶层等。一切准备就绪后,便可以运行仿真。在仿真过程中需要查看仿真波形,要在仿真顶层文件“tb.v”中把保存波形数据库,在仿真过程中或仿真结束后用SimVision工具打开波形数据库查看波形。
仿真过程结束后,PureSuite会生成一个测试结果文件puresuite.status,该文件包含了仿真运行的详细结果及统计结果,整个设计的4类测试项均测试成功。


关键词:ExpressPCI协议

评论


相关推荐

技术专区

关闭