CN105528285A - 一种pcie验证方法 - Google Patents

一种pcie验证方法 Download PDF

Info

Publication number
CN105528285A
CN105528285A CN201410582962.2A CN201410582962A CN105528285A CN 105528285 A CN105528285 A CN 105528285A CN 201410582962 A CN201410582962 A CN 201410582962A CN 105528285 A CN105528285 A CN 105528285A
Authority
CN
China
Prior art keywords
pcie
module
axi
verification
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410582962.2A
Other languages
English (en)
Inventor
李东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
QINGDAO JINXUN NETWORK ENGINEERING Co Ltd
Original Assignee
QINGDAO JINXUN NETWORK ENGINEERING Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by QINGDAO JINXUN NETWORK ENGINEERING Co Ltd filed Critical QINGDAO JINXUN NETWORK ENGINEERING Co Ltd
Priority to CN201410582962.2A priority Critical patent/CN105528285A/zh
Publication of CN105528285A publication Critical patent/CN105528285A/zh
Pending legal-status Critical Current

Links

Abstract

本发明涉及一种基于UVM验证方法学的PCIE验证方法,其特征在于采用验证方法学UVM和系统级硬件描述语言,利用高级可扩展接口总线行为模型构建验证环境平台,对PCIE模块实施功能验证,所述验证环境平台包括:测试用例、序列产生器、AXI驱动模块、PIPE驱动模块、AXI监测模块、PIPE监测模块、PCIE参考模型、记分板和功能覆盖率模块。本发明运行UVM验证方法学,能够实现一个层次化的验证结构,可以较简单的移植并验证不同配置的PCIE,并且通过约束产生随机数据包激励,可以实现遍历所有指令以及地址,另外功能覆盖率模型能够收集并监测覆盖率。

Description

一种PCIE验证方法
技术领域
本发明涉及一种基于UVM验证方法学的PCIE验证方法。
背景技术
芯片设计和验证技术的快速发展使得模块的功能验证的要求越来越高,在短时间内完成模块功能验证,保证逻辑功能正确,对验证环境的完备性,自动化和重用性上有着很高的要求。
PCIE是一种最新最流行的总线和接口标准,其主要优势是传输速率极高,以及多路高速串行传输带来的高带宽。PCIE的功能正确性是至关重要的,尤其每款重新设计或者设计改动的PCIE都需要经过大量的回归测试,甚至多次流片才能够真正使用到项目中。因此PCIE的验证通常需要大量时间和人力投入。
以往在验证PCIE模块的过程中,重新生成各种不同的PCIE数据包不但很麻烦,而且临时的编写很容易出现错误,因为通过验证平台来验证PCIE模块的效率很低,且无法重用。
发明内容
本发明的目的在于克服上述不足,提供一种基于UVM验证方法学的PCIE验证方法,能够搭建一个可移植、重用、扩展,且完全自动检查的具有层次化结构的PCIE验证平台。
本发明的目的是这样实现的:一种基于UVM验证方法学的PCIE验证方法,它通过系统级硬件描述语言SystemVerilog来搭建一个基于UVM验证方法学的可移植,重用,扩展,完全自动检查,具有层次化结构的PCIE验证平台。
所述方法采用验证方法学UVM和系统级硬件描述语言(SystemVerilog),利用AXI总线行为模型构建验证环境平台,对PCIE模块实施功能验证。
所述功能验证是指随机化自动产生对PCIE模块的随机激励,自动化的判断响应结果,以及自动化的统计功能覆盖率。
所述实施功能验证是指,可约束的PCIE数据包的产生,分类发送PCIE数据包,自动完成数据响应。
所述验证方法中的验证环境平台采用系统级硬件描述语言SystemVerilog完成,所述验证环境平台包括:
1)测试用例完成随机化序列的定义,不同的测试用例使用不同的序列,用于验证PCIE的不同功能;
2)序列产生器,完成随机化数据包的定义;包括事务层数据包的事务类型、接收者地址、顺序属性、缓存一致性属性、流量类别、传送事务包的数据及其大小;包括数据链路层数据包的类型及其数据,以及不同有序集的类型和错误包的类型;在约束完数据的具体特征之后,由自动生成数据包函数自动生成数据包;定序器的功能是组织管理序列产生器,当驱动器要求数据时,定序器把序列产生器生成的事务转发给驱动器;
3)AXI驱动模块与AXI定序器相连接,将接收到的数据包,转换成AXI接口上实际的信号激励,这里的AXI驱动模块为总线行为模型;
4)PCIE驱动模块与PCIE定序器相连接,将接收到的数据包,转换成PIPE接口上的实际信号激励;
5)通过驱动模块的监视器从待验证的PCIE模块的接口上接收数据,并且把接收到的数据转化成数据包级别,并发送给PCIE参考模型。参考模型采用SystemVerilog编写;
本发明运行UVM验证方法学,能够实现一个层次化的验证结构,可以较简单的移植并验证不同配置的PCIE,并且通过约束产生随机数据包激励,可以实现遍历所有指令以及地址,另外功能覆盖率模型能够收集并监测覆盖率。
具体实施方式
本发明所创建的PCIE模块验证环境平台,采用系统级硬件描述语言SystemVerilog完成:主要包括以下9个组件:测试用例,序列产生器(sequence),AXI驱动模块(AXIin_agent),PIPE驱动模块(PIPEin_agent),AXI监测模块(AXIout_agent),PIPE监测模块(PIPEout_agent),PCIE参考模型(referencemodel),记分板(scoreboard),功能覆盖率模块。UVM组件之间通过端口(port)相连接或者通信。
测试用例完成随机化序列的定义,不同的测试用例使用不同的序列,用于验证PCIE的不同功能;序列产生器完成随机化数据包的定义,包括事务层数据包的事务类型、接收者地址、顺序属性、缓存一致性属性、流量类别、传送事务包的数据及其大小,数据链路层数据包的类型以及数据,以及不同有序集的类型,错误包的类型;在约束完数据的具体特征之后,由自动生成数据包函数自动生成数据包;
定序器的功能是组织管理序列产生器,当驱动器要求数据时,定序器把序列产生器生成的事务转发给驱动器;
AXI驱动模块将相应的数据包,转换成PCIE模块在AXI总线上实际的输入信号激励;
AXI监测模块将PCIE模块在AXI总线上的实际输出信号激励;
PIPE驱动模块将相应的数据包,转换成PCIE模块在PIPE接口上实际输入信号激励;
PIPE监测模块将PCIE模块在PIPE接口上的实际输出信号激励。
PCIE参考模型接收通过驱动模块的监视器从待验证的PCIE模块的接口上接收数据转化成的数据包,将处理过的数据包发送到记分板,参考模型采用SystemVerilog编写;
记分板,通过端口分别从PCIE参考模型和监测模块中的监视器中获取数据包,实时比较数据;
功能覆盖率模块通过功能覆盖组(cover_group)函数定义功能覆盖点,并通过采样功能覆盖点动统计覆盖率。
本发明利用PCIE验证模块作为根复合体(RootComplex),PCIE模块作为终端(Endpoint),模拟实际情况收发数据包。PCIE模块一端与根复合体相连接,另一端通过AXI总线与应用程序(Application)通信和配置相应的寄存器。
当用AXI总线配置好相应的寄存器之后,根复合体完成与待验证模块的连接,复位,链路初始化以及通信。数据结果被采集到记分板(scoreboard)进行自动比较。
按照PCIE模块的通信流程,当用AXI总线配置好相应的寄存器之后,PIPE驱动模块应该先进行链路初始化,发送PCIE协议规定的有序集,包括定向序列1和定向序列2(TS1和TS2)、电气空闲、快速定向序列(FTS)、Skip有序集(SKIP),来确定链路配置(速度选择、链路宽度、链路号、通道反转、极性倒置和执行通道到通道的相位补偿)。然后进入工作状态,PIPE驱动模块发送PCIE协议规定的事务层数据包(TLP),在每一个事务层数据包执行后,PCIE的参照模型写出一个参照结果;PCIE的参照模型通过存储单元保存或者读取数据,系统IO映射单元保存或者读取数据,PCIE设备配置空间保存或者读取数据,通过对比PCIE的参照模型与待验证模块PCIE的存储单元和设备配置空间中的数据,来保证待验证模块PCIE的每一条指令的工作状态和参照模型都是一致的;在PCIE工作中,数据链路层进行链路电源管理、TLP流控制和通过链路成功传送TLP的确认提供方便,因此数据链路层会发送数据链路层数据包(DLLP),包括ACK/NAK数据包、电源管理数据包和流量控制包。PIPE监测模块同时可以监测PCIE工作状态,将所需信息反馈给PIPE驱动模块,PIPE驱动模块根据PIPE监测模块所反馈的监测信息来驱动PIPE接口上的实际信号激励。AXI驱动模块和AXI检测模块类似于AXI总线中的主设备和从设备,处理入站(InBound)和出战(OutBound)事务。例如,PIPE驱动模块解析到当前需要通过PIPE接口发送一个存储器读请求的事务层数据包,发送完成后,通过PCIE模块解析后,读请求通过AXI总线信号由AXI监测模块监测到。AXI监测模块返回给AXI驱动模块后,AXI驱动模块则通过AXI总线发送给PCIE模块一个带读数据、地址以及完成包(Cpl)标志的数据,在PCIE模块中进行正确的组包后,通过PIPE接口由PIPE接口监测到一个带数据的完成包(CplD)。再将监测模块监测的数据包与参考模型中输出的数据包进行实时比较。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (3)

1.一种基于UVM验证方法学的PCIE验证方法,其特征在于采用验证方法学UVM和系统级硬件描述语言,利用高级可扩展接口总线行为模型构建验证环境平台,对PCIE模块实施功能验证,所述验证环境平台包括:测试用例、序列产生器、AXI驱动模块、PIPE驱动模块、AXI监测模块、PIPE监测模块、PCIE参考模型、记分板和功能覆盖率模块,其中
1)测试用例完成随机化序列的定义;
2)序列产生器,完成随机化数据包的定义;
3)AXI驱动模块将相应的数据包,转换成PCIE模块在AXI总线上实际的输入信号激励;
4)AXI监测模块将PCIE模块在AXI总线上的实际输出信号激励;
5)PIPE驱动模块将相应的数据包,转换成PCIE模块在PIPE接口上实际输入信号激励;
6)PIPE监测模块将PCIE模块在PIPE接口上的实际输出信号激励;
7)PCIE参考模型接收通过AXI驱动模块的监视器从待验证的PCIE模块的接口上接收数据并转化成的数据包,将所述数据包发送到记分板;
8)记分板通过端口分别从PCIE参考模型和监测模块中的监视器中获取数据包,实时比较数据;
9)功能覆盖率模块通过功能覆盖组函数定义功能覆盖点,并通过采样功能覆盖点动统计覆盖率;
所述AXI驱动模块与AXI定序器相连接,将接收到的数据包转换成AXI接口上实际的信号激励。
2.根据权利1所述一种基于UVM验证方法学的PCIE验证方法,其特征在于:所述实施功能验证是指随机化自动产生对PCIE模块的随机激励,自动化的判断响应结果,以及自动化的统计功能覆盖率。
3.根据权利1或2所述一种基于UVM验证方法学的PCIE验证方法,其特征在于:所述实施功能验证是指,可约束的PCIE数据包的产生,分类发送PCIE数据包,自动完成数据响应。
CN201410582962.2A 2014-10-27 2014-10-27 一种pcie验证方法 Pending CN105528285A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410582962.2A CN105528285A (zh) 2014-10-27 2014-10-27 一种pcie验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410582962.2A CN105528285A (zh) 2014-10-27 2014-10-27 一种pcie验证方法

Publications (1)

Publication Number Publication Date
CN105528285A true CN105528285A (zh) 2016-04-27

Family

ID=55770528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410582962.2A Pending CN105528285A (zh) 2014-10-27 2014-10-27 一种pcie验证方法

Country Status (1)

Country Link
CN (1) CN105528285A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713280A (zh) * 2016-11-30 2017-05-24 北京得瑞领新科技有限公司 一种激励信号处理方法、装置及模块验证系统
CN108984350A (zh) * 2017-06-01 2018-12-11 龙芯中科技术有限公司 一种中断处理功能验证系统和方法
CN110290105A (zh) * 2019-05-10 2019-09-27 中国人民解放军战略支援部队信息工程大学 一种异构协议转换的验证平台和方法
CN112286746A (zh) * 2020-10-31 2021-01-29 拓维电子科技(上海)有限公司 针对axi从设备接口的通用验证平台及方法
CN114826995A (zh) * 2022-04-22 2022-07-29 电子科技大学 一种基于UVM的支持PCIe的千兆以太网芯片的验证平台
CN115495388A (zh) * 2022-11-17 2022-12-20 瀚博半导体(上海)有限公司 用于ai推理芯片的芯片验证方法、装置、设备及介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713280A (zh) * 2016-11-30 2017-05-24 北京得瑞领新科技有限公司 一种激励信号处理方法、装置及模块验证系统
CN106713280B (zh) * 2016-11-30 2018-04-20 北京得瑞领新科技有限公司 一种激励信号处理方法、装置及模块验证系统
CN108984350A (zh) * 2017-06-01 2018-12-11 龙芯中科技术有限公司 一种中断处理功能验证系统和方法
CN110290105A (zh) * 2019-05-10 2019-09-27 中国人民解放军战略支援部队信息工程大学 一种异构协议转换的验证平台和方法
CN110290105B (zh) * 2019-05-10 2022-01-21 中国人民解放军战略支援部队信息工程大学 一种异构协议转换的验证平台和方法
CN112286746A (zh) * 2020-10-31 2021-01-29 拓维电子科技(上海)有限公司 针对axi从设备接口的通用验证平台及方法
CN112286746B (zh) * 2020-10-31 2023-01-24 拓维电子科技(上海)有限公司 针对axi从设备接口的通用验证平台及方法
CN114826995A (zh) * 2022-04-22 2022-07-29 电子科技大学 一种基于UVM的支持PCIe的千兆以太网芯片的验证平台
CN115495388A (zh) * 2022-11-17 2022-12-20 瀚博半导体(上海)有限公司 用于ai推理芯片的芯片验证方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN103530216B (zh) 一种基于uvm验证方法学的pcie验证系统
CN105528285A (zh) 一种pcie验证方法
CN102694695B (zh) 基于以太网通讯协议的串口通讯组态调试方法
CN103530211B (zh) 一种基于uvm平台的pcie回环自检测的方法
CN106845219B (zh) 一种针对多种类型数据的入侵检测智能设备
CN104281548A (zh) 一种基于axi总线传输数据的方法、装置及系统
CN103412810B (zh) 一种可测试内部信号的系统封装芯片及测试方法
CN105718344A (zh) 一种基于uvm的fpga通用可配置uart协议的验证方法
CN104050133A (zh) 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法
CN103401955B (zh) 一种车辆总线设备地址配置方法及装置
CN108614901A (zh) 一种pcie验证方法
CN105094886A (zh) 一种从pc机烧录序列号至含rs485总线的下位机的装置和方法
CN209366174U (zh) 列车安全运行监测装置
CN101727375B (zh) 新世代周边连接接口的测试系统及其测试方法
CN100511172C (zh) 一种板间透传总线的测试装置及方法
CN104572515B (zh) 跟踪模块、方法、系统和片上系统芯片
CN103823174A (zh) 运载火箭电爆电路的检测系统
CN214176363U (zh) 系统级仿真加速器验证环境用pcie设备板卡扩展连接装置
CN106649179A (zh) 一种输出串口信息的装置及转接部件和一种电子设备
CN206039494U (zh) 一种基于wifi互联的车载通讯终端升级调试系统
CN105788639A (zh) 基于eMMC的雷达数据记录仪断电续存装置及续存方法
CN110908846A (zh) 一种spi总线验证方法
CN106130829A (zh) 一种总线测试方法及装置
CN201546694U (zh) 一种井下仪器维护、刻度系统
CN111143144B (zh) 一种具有错误注入和可移植性的芯片验证方法及验证平台

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160427

WD01 Invention patent application deemed withdrawn after publication