CN108614901A - 一种pcie验证方法 - Google Patents
一种pcie验证方法 Download PDFInfo
- Publication number
- CN108614901A CN108614901A CN201611124873.9A CN201611124873A CN108614901A CN 108614901 A CN108614901 A CN 108614901A CN 201611124873 A CN201611124873 A CN 201611124873A CN 108614901 A CN108614901 A CN 108614901A
- Authority
- CN
- China
- Prior art keywords
- pcie
- verification
- axi
- modules
- data 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于UVM验证方法学的PCIE验证方法,其特征在于采用验证方法学UVM和系统级硬件描述语言,利用高级可扩展接口总线行为模型构建验证环境平台,对PCIE模块实施功能验证,所述验证环境平台包括:测试用例、序列产生器、AXI驱动模块、PIPE驱动模块、AXI监测模块、PIPE监测模块、PCIE参考模型、记分板和功能覆盖率模块。本发明运行UVM验证方法学,能够实现一个层次化的验证结构,可以较简单的移植并验证不同配置的PCIE,并且通过约束产生随机数据包激励,可以实现遍历所有指令以及地址,另外功能覆盖率模型能够收集并监测覆盖率。
Description
技术领域
本发明涉及一种基于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驱动模块(AXI in_agent),PIPE驱动模块(PIPE in_agent),AXI监测模块(AXI out_agent),PIPE监测模块(PIPE out_agent),PCIE参考模型(reference model),记分板(scoreboard),功能覆盖率模块。UVM组件之间通过端口(port)相连接或者通信。
测试用例完成随机化序列的定义,不同的测试用例使用不同的序列,用于验证PCIE的不同功能;序列产生器完成随机化数据包的定义,包括事务层数据包的事务类型、接收者地址、顺序属性、缓存一致性属性、流量类别、传送事务包的数据及其大小,数据链路层数据包的类型以及数据,以及不同有序集的类型,错误包的类型;在约束完数据的具体特征之后,由自动生成数据包函数自动生成数据包;
定序器的功能是组织管理序列产生器,当驱动器要求数据时,定序器把序列产生器生成的事务转发给驱动器;
AXI驱动模块将相应的数据包,转换成PCIE模块在AXI总线上实际的输入信号激励;
AXI监测模块将PCIE模块在AXI总线上的实际输出信号激励;
PIPE驱动模块将相应的数据包,转换成PCIE模块在PIPE接口上实际输入信号激励;
PIPE监测模块将PCIE模块在PIPE接口上的实际输出信号激励。
PCIE参考模型接收通过驱动模块的监视器从待验证的PCIE模块的接口上接收数据转化成的数据包,将处理过的数据包发送到记分板,参考模型采用SystemVerilog编写;
记分板,通过端口分别从PCIE参考模型和监测模块中的监视器中获取数据包,实时比较数据;
功能覆盖率模块通过功能覆盖组(cover_group)函数定义功能覆盖点,并通过采样功能覆盖点动统计覆盖率。
本发明利用PCIE验证模块作为根复合体(Root Complex),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数据包,自动完成数据响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611124873.9A CN108614901A (zh) | 2016-12-09 | 2016-12-09 | 一种pcie验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611124873.9A CN108614901A (zh) | 2016-12-09 | 2016-12-09 | 一种pcie验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108614901A true CN108614901A (zh) | 2018-10-02 |
Family
ID=63656756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611124873.9A Pending CN108614901A (zh) | 2016-12-09 | 2016-12-09 | 一种pcie验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108614901A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826995A (zh) * | 2022-04-22 | 2022-07-29 | 电子科技大学 | 一种基于UVM的支持PCIe的千兆以太网芯片的验证平台 |
CN117369906A (zh) * | 2023-12-07 | 2024-01-09 | 成都市楠菲微电子有限公司 | Pcie验证平台、方法、装置、存储介质及电子设备 |
-
2016
- 2016-12-09 CN CN201611124873.9A patent/CN108614901A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826995A (zh) * | 2022-04-22 | 2022-07-29 | 电子科技大学 | 一种基于UVM的支持PCIe的千兆以太网芯片的验证平台 |
CN117369906A (zh) * | 2023-12-07 | 2024-01-09 | 成都市楠菲微电子有限公司 | Pcie验证平台、方法、装置、存储介质及电子设备 |
CN117369906B (zh) * | 2023-12-07 | 2024-02-09 | 成都市楠菲微电子有限公司 | Pcie验证平台、方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530216B (zh) | 一种基于uvm验证方法学的pcie验证系统 | |
CN102694695B (zh) | 基于以太网通讯协议的串口通讯组态调试方法 | |
CN105528285A (zh) | 一种pcie验证方法 | |
CN107135210B (zh) | 一种汽车模拟通讯协议解析器及其解析方法 | |
CN108763743B (zh) | 验证平台、方法及电子设备 | |
CN106709120A (zh) | 一种pcie验证方法 | |
CN103530211B (zh) | 一种基于uvm平台的pcie回环自检测的方法 | |
CN203260029U (zh) | 基于fpga的系统芯片原型验证调试装置 | |
CN104516798B (zh) | 无线一对多测试系统 | |
CN104486169B (zh) | 可重用自动检测及随机验证系统和方法 | |
CN105738854A (zh) | 智能电表嵌入式应用的模拟存储器测试板系统及测试方法 | |
CN110958295B (zh) | 基于车载atp设备的测试方法及系统 | |
WO2021109476A1 (zh) | 一种用于激活车载以太网架构下实车PHY的TestMode的ECU及系统 | |
CN115146568A (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
CN106649021A (zh) | PCIe从设备测试装置 | |
CN108614901A (zh) | 一种pcie验证方法 | |
CN102355378B (zh) | 一种载波通道测试系统 | |
CN113934192B (zh) | 一种车辆信息系统的模拟调试系统及方法 | |
CN115691651A (zh) | 一种用于测试芯片的方法和装置 | |
CN113742230A (zh) | 一种基于uvm的芯片监视器模块的验证方法及验证系统 | |
CN116306398A (zh) | 一种多通道io接口ip的验证平台及其停止算法 | |
CN104678292B (zh) | 一种复杂可编程逻辑器件cpld测试方法和装置 | |
CN106257257A (zh) | 一种检测光模块星座图的方法、装置及虚拟矢量分析仪 | |
CN105974221A (zh) | 一种用于多路总线接口模块测试的通用适配器 | |
CN108345471B (zh) | 检测装置处理异步事件的方法及检测装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181002 |
|
WD01 | Invention patent application deemed withdrawn after publication |