CN104657555A - 一种基于uvm验证方法学的toe的验证方法及平台 - Google Patents
一种基于uvm验证方法学的toe的验证方法及平台 Download PDFInfo
- Publication number
- CN104657555A CN104657555A CN201510072151.2A CN201510072151A CN104657555A CN 104657555 A CN104657555 A CN 104657555A CN 201510072151 A CN201510072151 A CN 201510072151A CN 104657555 A CN104657555 A CN 104657555A
- Authority
- CN
- China
- Prior art keywords
- module
- protocol layer
- toe
- bus
- application layer
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于UVM验证方法学的TOE的验证方法及平台,属于网络通信领域。该验证平台包括应用层模块、协议层模块和总线功能模块,应用层模块包括应用层序列生成器、应用层序列和应用层定序器,协议层模块包括协议层序列和协议层定序器,总线功能模块包括总线定序器、总线驱动器和总线监视器。该验证平台及方法充分利用了UVM深化分层的思想,分成了应用层模块,协议层模块和总线功能模块三个独立层次,使层与层之间不受数据格式的影响,可以通过UVM提供的端口传递事务单元,每一层都可以在一定约束条件下,随机化事务单元。该平台及方法充分发挥了UVM验证方法学的可重用性、可移植性和可扩展性、实现了TOE模块的高效验证。
Description
技术领域
本发明涉及网络通信领域,具体涉及一种基于UVM验证方法学的TOE的验证方法及平台。
背景技术
芯片设计和验证技术的快速发展使得模块的功能验证的要求越来越高,在短时间内完成模块功能验证,保证逻辑功能正确,对验证环境的完备性,自动化和重用性上有着很高的要求。最原始、最简陋的Verilog测试平台对于简单的被测设计尚可,但是如果被测设计的复杂程度较高,这样的测试平台将会变得十分臃肿,而且不利于工程师维护和重用。在超大规模集成电路已经是主流的今天,Verilog结构化的编程方式使代码的复用成为了一个严重的难题。
虽然SystemVerilog的面向对象编程特性提供了解决上述问题的可能,但是仍然存在一些问题。不同工程师对于验证平台功能的划分可能不一样,即使采用同样的划分,其中同类模块对外的接口(方法和数据成员)也没有统一的标准。这在一定程度上阻碍了大型验证平台之间的协作性、扩展性。验证方法学提供了一套基于SystemVerilog的类库,验证工程师以其中预定义的类作为起点,就可以建立起具有标准结构的验证平台。UVM(通用验证方法学)是一个以SystemVerilog类库为主体的验证平台开发框架,验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境。它也是第一个三家主流的电子设计自动化领域EDA公司(Cadence、Synopsys和Mentor Graphics)联合支持的验证方法学。
TCP/IP协议是早已存在的网络基本协议,现有对TCP/IP协议的处理主要通过软件方式在CPU上实现。当网络速度达到G比特数量级时,主CPU就越来越繁忙,其中大部分处理负荷都是来自对TCP/IP协议的处理。频繁的I/O中断,网络接口缓冲与应用内存之间数据交换,这些额外的负担极大地降低了主CPU的处理效率,增加了应用计算的平均等待时间。为了满足网络流量和网络通信速度的飞速增长,一种将TCP数据的处理转移到硬件上实现的技术应运而生,即TCP/IP卸载引擎技术(TCP/IP Offload Engine,简称TOE),TOE技术旨在减轻CPU处理TCP/IP的消耗,全硬件实现TCP/IP协议处理任务,作为系统的接入点,TOE在系统中的作用非常重要,因此需要搭建基于UVM验证平台来对其进行高效,迅速,完备的验证。
发明内容
针对现有技术中存在的缺陷及实际应用需要,本发明的目的在于提供一种可重用、可移植和可扩展的基于UVM验证方法学的TOE的验证方法及平台。
为实现上述目的,本发明采用的技术方案如下:
一种基于UVM验证方法学的TOE的验证平台,该验证平台用于对TOE模块实施功能验证,所述验证平台包括参数配置模块、应用层模块、协议层模块和总线功能模块;
所述参数配置模块,用于在测试用例中配置测试所需的硬件场景参数,并将所述硬件场景参数配置到应用层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;;
所述应用层模块包括应用层序列生成器、应用层序列和应用层定序器;应用层序列生成器用于在确定所选用的测试用例后,根据应用层事务单元的参数配置,在所选用的测试用例对应的应用层序列中由自动生成数据包函数生成应用层数据包;不同的应用层序列用于完成不同的应用层事务单元的操作;应用层定序器用于将应用层数据包发送给协议层模块,还用于接收协议层模块发送的响应数据包;所述应用层序列中还设有应用层计分板,所述应用层计分板包括应用层比较器和TOE参考模型,应用层比较器用于将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败;TOE参考模型用于接收总线驱动器发送到待验证TOE模块的事务单元作为驱动,并根据驱动输出相应的输出数据;
所述协议层模块包括协议层序列和协议层定序器;协议层序列用于根据TCP/IP协议规范,将所述应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,还用于将协议层定序器接收到的响应数据包发送到应用层模块;协议层定序器用于将所述协议层数据包发送到总线功能模块的总线定序器上,还用于接收总线定序器发送的响应数据包;
总线功能模块包括总线定序器、总线驱动器和总线监视器;总线定序器用于接收协议层定序器发送的协议层数据包,还用于将总线监视器收集到的待验证TOE模块输出的响应数据发送到协议层模块;总线驱动器用于将协议层数据包打包成符合AXI-4Stream总线协议的事务单元,并将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;总线监视器用于收集总线上的待验证TOE模块输出的响应数据包。
进一步,如上所述的一种基于UVM验证方法学的TOE的验证平台,所述验证平台还包括与应用层模块和协议层模块连接的应用层到协议层转换模块,应用层到协议层转换模块包括应用层到协议层事务转换序列;
所述应用层到协议层事务转换序列,用于接收应用层定序器发送的应用层数据包,并将应用层数据包转换成符合协议层数据格式的数据包后发送到协议层模块;还用于接收协议层定序器发送的响应数据包,并将响应数据包转换成符合应用层数据格式的数据包后发送到应用层模块。
进一步,如上所述的一种基于UVM验证方法学的TOE的验证平台,所述应用层序列和协议层序列中还分别设有功能覆盖率统计模块,功能覆盖率统计模块用于通过功能覆盖组函数定义应用层模块和协议层模块的功能覆盖点,并通过采样功能覆盖点统计功能覆盖率。
进一步,如上所述的一种基于UVM验证方法学的TOE的验证平台,所述硬件场景参数包括所要建立的TCP连接数目,每条连接的起始时间,每条连接的消息数目,每条连接断开重连的次数,每条连接的最大包长度,每条连接的本地MAC地址和所采用的协议类型。
本发明还提供了一种上述基于UVM验证方法学的TOE的验证平台的TOE的验证方法,该方法用于对TOE模块实施功能验证,包括以下步骤:
(1)在测试用例中配置测试所需的硬件场景参数,并将所述硬件场景参数配置到应用层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;
(2)确定所选用的测试用例,应用层序列生成器根据应用层事务单元的参数配置,在所选用的测试用例对应的应用层序列中由自动生成数据包函数生成应用层数据包,并由应用层定序器将所述应用层数据包发送到协议层序列;
(3)协议层序列根据TCP/IP协议规范,将所述应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,并通过协议层定序器将所述协议层数据包发送到总线定序器上;
(4)总线驱动器将总线定序器中的协议层数据包打包成符合AXI-4Stream总线协议的事务单元,将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;
(5)总线监视器收集总线上待验证TOE模块输出的响应数据包,并通过总线定序器将收集到的响应数据包发送到协议层序列;
(6)协议层序列将接收到的响应数据包发送到应用层序列中;
(7)应用层计分板将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败。
进一步,如上所述的一种基于UVM验证方法学的TOE的验证方法,步骤(2)中,应用层定序器将所述应用层数据包发送到协议层序列,包括:
(2-1)应用层定序器将所述应用层数据包发送到应用层到协议层事务转换序列;
(2-2)应用层到协议层事务转换序列将应用层数据包转换成符合协议层数据格式的数据包后发送到协议层序列;
步骤(6)中,协议层序列将接收到的响应数据包发送到应用层序列中,包括:
(6-1)协议层序列将接收到的响应数据发送到应用层到协议层事务转换序列;
(6-2)应用层到协议层事务转换序列将所述响应数据包转换成符合应用层数据格式的数据包后发送到应用层序列。
进一步,如上所述的一种基于UVM验证方法学的TOE的验证方法,在应用层序列和协议层序列中分别通过功能覆盖组函数定义功能覆盖点,在完成待验证TOE模块的一次验证后,通过采样功能覆盖点统计功能覆盖率。
进一步,如上所述的一种基于UVM验证方法学的TOE的验证方法,步骤(1)中,所述硬件场景参数包括所要建立的TCP连接数目,每条连接的起始时间,每条连接的消息数目,每条连接断开重连的次数,每条连接的最大包长度,每条连接的本地MAC地址和所采用的协议类型。
一种基于UVM验证方法学的TOE的验证平台,该验证平台用于对TOE模块实施功能验证,所述验证平台包括参数配置模块、协议层模块和总线功能模块;
所述参数配置模块,用于在测试用例中配置测试所需的硬件场景参数,并把硬件场景参数配置到协议层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;
所述协议层模块包括协议层序列生成器、协议层序列和协议层定序器;协议层序列生成器用于在确定所选用的测试用例后,根据协议层事务单元的参数配置,,在所选用的测试用例对应的协议层序列中由自动生成数据包函数生成符合TCP/IP协议规范的协议层数据包;不同的协议层序列用于完成不同的协议层事务单元的操作;协议层定序器用于将所述协议层数据包发送到总线功能模块的总线定序器上,还用于接收总线定序器发送的响应数据包;所述协议层序列中还设有协议层计分板,协议层计分板包括协议层比较器和TOE参考模型,协议层比较器用于将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败;TOE参考模型用于接收总线驱动器发送到待验证TOE模块的事务单元作为驱动,并根据驱动输出相应的输出数据;
所述总线功能模块包括总线定序器、总线驱动器和总线监视器;总线定序器用于接收协议层定序器发送的协议层数据包,还用于将总线监视器收集到的待验证TOE模块输出的响应数据发送到协议层模块;总线驱动器用于将协议层数据包打包成符合AXI-4Stream总线协议的事务单元,并将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;总线监视器用于收集总线上待验证TOE验证模块的响应数据包。
本发明还提供了一种采用上述基于UVM验证方法学的TOE的验证平台的TOE的验证方法,该方法用于对TOE模块实施功能验证,包括以下步骤:
(1)在测试用例中设置测试所需的硬件场景参数,并把硬件场景参数配置到协议层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;
(2)确定所选用的测试用例,协议层序列生成器根据协议层事务单元的参数配置,在所选用的测试用例对应的协议层序列中由自动生成数据包函数生成符合TCP/IP协议规范的协议层数据包,并通过协议层定序器将所述协议层数据包发送到总线定序器上;
(3)总线驱动器将总线定序器中协议层数据包打包成符合AXI-4Stream总线协议的事务单元,将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;
(4)总线监视器收集总线上待验证TOE模块输出的响应数据包,并通过总线定序器将收集到的响应数据包发送到协议层序列;
(5)协议层计分板将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败。
本发明的有益效果在于:本发明所提供的基于UVM验证方法学的TOE的验证方法及平台,充分利用了UVM深化分层的思想,将整个平台分成较为独立的三个层次,应用层模块,协议层模块和总线物理层模块。层与层之间不受数据格式的影响,通过UVM提供的端口port传递事务单元,每一层都可以在一定约束条件下,随机化事务单元。任务分配更高效,开发人员可以专注于其中某一层,而无需了解其他层次的具体实现原理,开发出尽可能多的测试用例。通过UVM提供的基本函数set_type_override_by_type,可以在不改变原有环境结构的情况下,增加测试用例,提高了系统的可重用性。在每一层都可以用功能覆盖组(cover_group)函数定义功能覆盖点,收集统计功能覆盖率。可以采用UVM提供的基本宏定义`uvm_info,`uvm_error,`uvm_fatal来打印信息,使用脚本统计日志,得到简明的分析报告,也方便测试用例的回归测试。
附图说明
图1为本发明实施例一中一种基于UVM验证方法学的TOE的验证平台的结构示意图;
图2为本发明实施例中应用层到协议层转换模块的结构示意图;
图3为本发明实施例中协议层模块的结构示意图;
图4为本发明实施例中总线功能模块的结构示意图
图5和图6为本发明实施例二中基于图1中所示验证平台的TOE的验证方法的流程图;
图7为本发明实施例三中基于UVM验证方法学的TOE的验证平台的结构示意图;
图8和图9为本发明实施例四中基于图7中所示验证平台的TOE的验证方法的流程图;
图10为本发明实施方式中应用层事务单元的示意图;
图11为本发明实施方式中参数配置模块配置的硬件场景参数的示意图。
具体实施方式
下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
本发明提供的是一种基于UVM验证方法学的具有完全自动检查的TOE验证平台及验证方法,该验证平台及方法采用系统级硬件描述语言systemverilog完成,充分发挥了UVM的层次化结构,实现了对TOE模块的自动化验证。
实施例一
图1示出了本实施例中一种基于UVM验证方法学的TOE的验证平台的结构示意图,由图中可以看出该验证平台主要包括参数配置模块105、应用层模块101、应用层到协议层转换模块102、协议层模块103和总线功能模块104,该验证平台的各模块之间通过端口port相连接或通信,用于实现了对待验证的TOE模块的验证。其中,TOE包括应用层、协议层和总线物理层,所述协议层包括TCP层、MAC层和IP层。本实施例中的待验证TOE模块不仅仅是指包括上述应用层、协议层和总线物理层的纯网络协议模块,也可以是含有所述网络协议模块的带应用场景的子系统的测试。下面对所述验证平台的每个模块进行具体说明:
参数配置模块100
该模块主要用于在测试用例中配置测试所需的硬件场景参数,并将所述硬件场景参数配置到应用层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能。其中,本实施例中,所述硬件场景参数主要包括需要建立的tcp连接数目,每条连接的起始时间,每条连接的消息数目,每条连接断开重连的次数,每条连接的最大包长度,每条连接的本地mac地址,所采用的协议类型等等,如图11所示。
根据需要测试的场景的不同,可以配置不同的硬件场景参数。开发人员可以根据不同的测试需求编写不同的测试用例,并通过参数配置模块105完成了测试用例的硬件场景参数的配置,并把配置的参数配置到应用底层序列中,不同的测试用例通过调用不同的应用层序列对应用层的事务做随机约束,从而得到对应的应用层数据包。本实施例中,开发人员还可以根据后续的需求添加扩充测试用例。
应用层模块200
该模块用于根据参数配置模块100的要求,产生对应配置的有一定约束的随机消息(应用层数据包),并将被发送到协议层模块400;该模块还用于接收经协议模块发送来的响应数据,并判断接收到的响应数据的内容,根据响应内容发送后续数据到协议层模块400,还用于检查接收到的数据的正确性,收集功能覆盖率;此外,该模块还用于发送环境内部需要的控制消息,此消息不会被用于待验证TOE模块,而是动态配置协议层模块400,实现协议层模块各种工作模式的切换。
具体的,本实施例中,应用层模块200包括应用层序列生成器201、应用层序列202和应用层定序器203。
应用层序列生成器201用于在确定所选用的测试用例后,根据应用层事务单元的参数配置,在所选用的测试用例对应的应用层序列中由自动生成数据包函数生成应用层数据包;不同的应用层序列202用于完成不同的应用层事务单元的操作;应用层定序器203的功能是组织管理应用层序列生成器201,比提供输出端口export给下一层模块,具体的,用于将应用层数据包发送给协议层模块400,还用于接收协议层模块400发送的响应数据包。
所述应用层事务单元的参数配置主要包括了应用层的消息类型、TCP连接数目、控制TCP/IP协议层序列的打开或关闭、网络协议模式等配置,如图10所示,应用层事务单元完成了应用层数据包中数据结构的定义,在完成配置后,应用层序列生成器201根据该配置,在对应的应用层序列中生成应用层数据包,所述应用层数据包指的是由对应的应用层序列应用层的事务作随机约束得到的符合应用层数据格式的数据包。
本实施例中,所述应用层序列202中还设有应用层计分板,所述应用层计分板包括应用层比较器和TOE参考模型,应用层比较器用于将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败;TOE参考模型用于接收总线驱动器发送到待验证TOE模块的事务单元作为驱动,并根据驱动输出相应的输出数据。
其中,所述TOE参考模型可以是采用C语言或SystemVer i log语言等描述的一个参考模型,该参考模型是可以实现与待测试TOE模块一样的功能,通过采用激励待测试TOE模块相同的激励去驱动TOE参考模型,便可以得到期望的结果,通过将TOE参考模型的输出结果与待验证TOE模型的输出结果作比较,判断验证场景是否通过。在不同的应用场景中,开发人员可以采用不同的参考模型,只要该模型能够实现待验证TOE模块的功能即可。
此外,应用层序列中还设有功能覆盖率统计模块,功能覆盖率统计模块用于通过功能覆盖组(cover_group)函数定义应用层模块200中的功能覆盖点,并通过采样功能覆盖点统计出应用层模块200的功能覆盖率。还可以辅以仿真工具收集应用层模块200的代码覆盖率。
本实施例中,为了降低平台中不同模块之间的关联,使不同模块之间不受数据格式的影响,在应用层模块200和协议层模块400之间还设有应用层到协议层转换模块300,该转换模块解耦了应用层模200和协议层模块400,使应用层模块200和协议层模块400之间无需了解对方的数据结构,使得开发人员可以只专注于其中某一模块,而无需了解其他模块的具体实现原理,开发出尽可能多的测试用例,增强了验证平台的可重用性和灵活性。
应用层到协议层转换模块300
应用层到协议层转化模块300的结构如图2所示,该模块包括应用层到协议层事务转换序列301,其起到连接应用层模块200和协议层模块400的功能,具体的,用于接收应用层定序器201发送的应用层数据包,并将应用层数据包转换成符合协议层数据格式的数据包后发送到协议层模块;还用于接收协议层定序器402发送的响应数据包,并将响应数据包转换成符合应用层数据格式的数据包后发送到应用层模块200。
整体上看,在发送方向,从应用层模块200取出消息(应用层数据包),启动协议层模块400;在接收方向,不定期轮询协议层模块400中的接收消息缓存(协议层数据包),当有新消息时,从协议层模块400取出协议层数据包,由于此数据为协议层模块收到的消息,转换模块再将消息发送到应用层模块200时,首先会去除TCP/IP和MAC头的有效载荷,再将消息存入应用层模块200中。
协议层模块400
该模块的结构如图3所示,其功能包括多连接会话管理,错误注入,数据流控制,不同模式,重传机制,定时器,同步报文生成,复位报文生成,结束报文生成,覆盖率收集,MAC、TCP/IP协议检查,总线事务单元打包,总线事务单元解包等。
本实施例中,所述协议层模块400包括协议层序列401和协议层定序器402;协议层序列401用于根据TCP/IP协议规范,将所述应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,还用于将协议层定序器402接收到的响应数据包发送到应用层模块200;协议层定序器402用于将所述协议层数据包发送到总线功能模块500的总线定序器401上,还用于接收总线定序器401发送的响应数据包。
协议层模块400向上接收应用层到协议层转换模块300的发送来数据,回复应用层到协议层事务转换模块300的响应消息;向下将符合TCP/IP协议规范的数据包发送给总线功能模块500,同时接收来自总线功能模块500的符合总线协议的数据包。
协议层模块400最终实现的效果是通过完成随机化系统配置,完成不同的序列,用于验证TCP/IP的不同功能。
此外,本实施例中,该模块中协议层序列401中也设有功能覆盖率统计模块,功能覆盖率统计模块用于通过功能覆盖组(cover_group)函数定义协议层模块400中的功能覆盖点,并通过采样功能覆盖点统计出协议层模块400的功能覆盖率。还可以辅以仿真工具收集协议模块400的代码覆盖率。
总线功能模块500
总线功能模块500的主要功能是把协议层模块400输入的协议层数据包打包成符合AXI-4Stream总线协议的事务单元,输出到总线上,以及将总线上输入的符合AXI-4Stream总线协议的行为,解包成满足协议层模块400要求结构的事务单元。
本实施例中,该模块的结构如图4所示,主要包括了总线定序器501、总线驱动器502和总线监视器503。总线定序器501用于接收协议层定序器402发送的协议层数据包,还用于将总线监视器503收集到的待验证TOE模块输出的响应数据发送到协议层模块400;总线驱动器502用于将协议层数据包打包成符合AXI-4Stream总线协议的事务单元,并将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;总线监视器503用于收集总线上的待验证TOE模块输出的响应数据包。
该模块在发送方向上,总线驱动器502从总线定序器501中取出事务单元(应用层数据包),遵照AXI4-Stream协议,发送一个带数据tdata,有效标志tvalid,字节使能tkeep等信号的一次传输。在接收方向上,总线监视器503收集到一次有效的AXI传输,将物理信号转化为事务单元,通过总线定序器501的uvm_blocking_peek_port传递到上层的协议层序列401。该模块最终实现的效果是将更高抽象层次的数据结构反映到AXI-4Stream信号线上,并通过监视器收集总线行为,进行总线协议检查,将总线事务打包成消息格式(协议层数据格式)。
本实施例中,在实际应用中,总线功能模块500可以设置为图4中所示的形式,包括输出中介(总线作为主设备)、输入中介(总线作为从设备)、虚拟定序器(该虚拟定序器包括了主设备总线定序器和从设备总线定序器)和总线配置,其中,总线主设备和从设备都包括总线定序器、总线驱动器和总线监视器,总线配置用于完成总线上传输的总线事务单元的相关设置。
本实施例中,各个模块传递的数据结构是从uvm_sequence_item扩展得到的数据类,这个类里可以封装对所述数据和功能控制的一些基本函数和任务。通过对这些数据类进行约束可以得到相应的数据包。数据包在各个模块通过端口(port)进行传递。UVM的序列生成器器是来自扩展uvm_sequence类,通过在uvm_sequence中提供的任务body()中,对数据包进行约束,可以针对各个功能产生不同的测试用例。另外,通过在应用层序列和协议层序列中通过功能覆盖组(cover_group)采样功能覆盖点,从而统计出功能覆盖率,辅以仿真工具收集的代码覆盖率,通过不断增加测试用例,使用随机测试,直接测试等用例,达到代码,功能覆盖率100%,完成验证。
实施例二
图5和图6示出了基于图1中所示基于UVM验证方法学的TOE的验证平台的TOE的验证方法的流程示意图,该方法主要可以包括以下步骤:
步骤S100:进行测试所需的硬件场景参数的配置,完成测试用例的随机化序列的定义;
该步骤中,通过参数配置模块105在测试用例中配置测试所需的硬件场景参数,并将所述硬件场景参数配置到应用层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能。
步骤S200:确定测试用例,在应用层序列中由自动生成数据包函数生成应用层数据包;
根据测试需要,确定所选用的测试用例,确定出测试用例后应用层序列生成器201根据应用层事务单元的参数配置,在所选用的测试用例对应的应用层序列中由自动生成数据包函数生成应用层数据包,并由应用层定序器203将所述应用层数据包发送到协议层序列401。
其中,应用层事务单元的参数配置主要包括应用层随机配置消息类型、TCP连接数目、控制TCP/IP协议层序列的打开、关闭以及网络协议模式等,在完成应用层事务单元的约束后,由自动生成数据包函数自动生成应用层数据包。
应用层定序器203的功能是组织管理应用层序列产生器,并提供输出端口export给应用层到协议层事务转换序列301,由应用层到协议层事务转换序列301对应用层数据包进行转换后发送到协议层序列401,应用层到协议层事务转换序列301位于应用层到协议层转换模块300中,其功能是启动TCP/IP包生成序列(所述的协议层序列),从应用层定序器203的输出端口export取出数据包,放入TCP/IP包生成序列的发送缓存队列中,同时,将TCP/IP包生成序列中的接收缓存队列的数据包取出,传递到应用层模块的数据缓存队列中。具体的,应用层定序器203将所述应用层数据包发送到协议层序列401,包括:
1)应用层定序器203将所述应用层数据包发送到应用层到协议层事务转换序列301;
2)应用层到协议层事务转换序列301将应用层数据包转换成符合协议层数据格式的数据包后发送到协议层序列401。
步骤S300:协议层序列根据TCP/IP协议规范,将应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,并发送到总线上;
协议层序列401根据TCP/IP协议规范,将应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,并通过协议层定序器402将所述协议层数据包发送到总线定序器上。该步骤中的应用层数据包为经过应用层到协议层事务转换序列转换后的数据包。
步骤S400:总线驱动器将协议层数据包处理后通过总线输入到待验证TOE模块和TOE参考模型中;
该步骤中,在总线定序器501接收协议层定序器402发送的协议层数据包后,总线驱动器502将总线定序器501中的协议层数据包打包成符合AXI-4Stream总线协议的事务单元,并将所述事务单元作为待验证TOE模块和TOE参考模型的输入(激励)通过总线输入到待验证TOE模块和TOE参考模型中。
步骤S500:总线监视器收集总线上的响应数据包,并通过总线定序器将收集到的响应数据包发送到协议层序列;
总线监视器收集总线上待验证TOE模块输出的响应数据包,并通过总线定序器将收集到的响应数据包发送到协议层序列401。
步骤S600:协议层序列401将接收到的响应数据包发送到应用层序列中;
该步骤中,协议层序列将接收到的响应数据包发送到应用层序列中,包括:
1)协议层序列将接收到的响应数据发送到应用层到协议层事务转换序列;
2)应用层到协议层事务转换序列将所述响应数据包转换成符合应用层数据格式的数据包后发送到应用层序列。
步骤S700:应用层计分板将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败。
此外,本实施例中,在应用层序列和协议层序列中还分别通过功能覆盖组函数定义了应用层和协议层的功能覆盖点,在完成待验证TOE模块的一次验证后,通过采样功能覆盖点统计出应用层模块和协议层模块的功能覆盖率。
本实施例中,协议层序列401的功能是生成多条连接的符合TCP/IP协议的数据包,并将其通过协议层定序器402发送到总线驱动器502上。协议层序列401需要满足TCP/IP协议所要求的通信流程,另外附加支持纯MAC报文模式和多条连接的管理功能。整体上看,协议层序列401检测应用层到协议层事务转换序列301发送来的应用层模块的控制消息“启动”(start),检测到“启动”后,根据此消息携带的连接标识fid判断启动哪条连接session的序列。连接启动后,发送方向开始发送由应用层模块200传递过来的待发送消息(转换后的应用层数据包),接收方向将接收到的各个连接的响应数据按连接标识放入关联数组中,等待应用层模块取走。落实在某一连接上,具体表现为发送同步报文syn packet,同时启动建立连接定时器,当接收方向收到确认报文后,建立连接,否则,当建立连接定时器超时后,启动重传。在建立连接的过程中,双方协商最大报文长度MSS,窗口扩大因子,时间戳等选项。连接建立后,发送数据报文,在这个过程中,会启用各种定时器,必要的时候进行超时重传,会计算校验值,计算序号和确认序号,会注入丢包、乱序等异常情况,会随机发送复位报文rst packet结束连接。对于收到报文的确认方式可以是纯确认或者是经受时延的确认。当正确发送完所有数据后,会发送终止报文Fin packet来主动发起关闭操作,等待对方发送确认关闭报文,进入半关闭状态,接着检测到对方发送终止报文,回复确认关闭报文,完成双向关闭,进入平静时间状态,在2MSL等待时间后,断开连接。协议层序列401在接收方向从总线定序器501中得到接收方向的报文(响应数据),判断报文的类型,检查校验值,序号和确认序号,控制发送方向的行为,并将数据部分放入应用层定序器203的接收缓存中。
上述实施例一和实施例二中所述验证平台及方法的优点在于:充分发挥UVM的层次化结构,将整个平台分成较为独立的三个层次,应用层,协议层,总线物理层。序列内部的层次结构划分,层与层之间不受数据格式的影响,通过UVM提供的端口port传递事务单元,每一层都可以在一定约束条件下,随机化事务单元。任务分配更高效,开发人员可以专注于其中某一层,而无需了解其他层次的具体实现原理,开发出尽可能多的测试用例。通过UVM提供的基本函数set_type_override_by_type,可以在不改变原有环境结构的情况下,增加测试用例,提高了系统的可重用性。在每一层都可以用功能覆盖组cover_group函数定义功能覆盖点,收集统计功能覆盖率。可以采用UVM提供的基本宏定义`uvm_info,`uvm_error,`uvm_fatal来打印信息,使用脚本统计日志,得到简明的分析报告,也方便测试用例的回归测试。此外,将传统验证平台上的计分板(scoreboard)转移到了序列中完成,降低了参考模型的设计难度。将传统的覆盖率统计模块移到序列中完成,复用了功能型的任务。
实施例三
对于上述实施例中的协议层模块400,其在纯TCP模式或MAC模式的情况下,即可以不接收来自应用层模块200的消息,而单独根据参数配置模块500的要求,向下发送和接收满足TCP协议的数据包。这种方式可以用来选择规避上层应用的影响,而单独测试网络协议方面的功能。因此,本实施例中还提供了另一种基于UVM验证方法学的TOE的验证平台,该平台适用于上述TOE环境下,如图7所示,所述验证平台包括参数配置模块100、协议层模块400和总线功能模块500。
所述参数配置模块100,用于在测试用例中配置测试所需的硬件场景参数,并把硬件场景参数配置到协议层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;
所述协议层模块400包括协议层序列生成器、协议层序列和协议层定序器;协议层序列生成器用于在确定所选用的测试用例后,根据协议层事务单元的参数配置,在所选用的测试用例对应的协议层序列中由自动生成数据包函数生成符合TCP/IP协议规范的协议层数据包;不同的协议层序列用于完成不同的协议层事务单元的操作;协议层定序器用于将所述协议层数据包发送到总线功能模块的总线定序器上,还用于接收总线定序器发送的响应数据包;所述协议层序列中还设有协议层计分板,协议层计分板包括协议层比较器和TOE参考模型,协议层比较器用于将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败;TOE参考模型用于接收总线驱动器发送到待验证TOE模块的事务单元作为驱动,并根据驱动输出相应的输出数据;其中,协议层事务单元的参数配置包括了TCP/IP协议结构的配置以及MAC层结构配置。
总线功能模块500包括总线定序器、总线驱动器和总线监视器;总线定序器用于接收协议层定序器发送的协议层数据包,还用于将总线监视器收集到的待验证TOE模块输出的响应数据发送到协议层模块;总线驱动器用于将协议层数据包打包成符合AXI-4Stream总线协议的事务单元,并将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;总线监视器用于收集总线上待验证TOE验证模块的响应数据包。
实施例四
本实施例提供了一种基于实施例三中所述验证平台的一种基于UVM验证方法学的TOE的验证方法,如图8和图9所示,该方法包括以下步骤:
步骤S1:在测试用例中设置测试所需的硬件场景参数,并把硬件场景参数配置到协议层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;
步骤S2:确定所选用的测试用例,协议层序列生成器协议层事务单元的参数配置,在所选用的测试用例对应的协议层序列中由自动生成数据包函数生成符合TCP/IP协议规范的协议层数据包,并通过协议层定序器将所述协议层数据包发送到总线定序器上;
步骤S3:总线驱动器将总线定序器中协议层数据包打包成符合AXI-4Stream总线协议的事务单元,将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;
步骤S4:总线监视器收集总线上待验证TOE模块输出的响应数据包,并通过总线定序器将收集到的响应数据包发送到协议层序列;
步骤S5:协议层计分板将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败。
实施例五
该实施例中以简单的一条连接为例,该连接的目的是实现写一段数据。
本实施例中,把应用层事务单元的对象名记为moe_tr,应用层序列记为moe_sequence,协议层事务单元的名记为toe_tr,协议层序列记为toe_sequence,应用场景参数的名字记为msession_cfg。
采用本发明实施例一种所提供的验证平台对待验证TOE模块进行验证的过程吐下:
1.首先在测试用例里创建msession_cfg,产生测试即验证所需的硬件场景参数,并随机化(msession_cfg.randomize()),本实施例中,需要建立的tcp连接的数据数目session_num=1,每条连接重复传输次数session_repeat_num=1;
2.将创建的硬件场景参数配置到应用层序列moe_sequence中,通过uvm_config_db::set()函数将创建的msession_cfg配置到应用层序列moe_sequence,完成测试用例的随机化序列定义,不同的测试用例使用不同的应用层序列,用于验证待验证TOE模块的不同功能;
3.在应用层moe_sequence里,利用宏`uvm_create()创建一个应用层事务moe_tr,配置里面的start_为1,利用宏`uvm_send()发送到toe_sequence里,通知它,要启动建立一个tcp连接。接着创建moe_tr,其中moe_tr的个数为msession_cfg里面的Session_msg_num,消息类型为write,其他为随机。同时将发送的这些事务单元另存一份,发送TOE参考模型,用来做接收reply消息的比对。本实施例中,应用层的TOE参考模型为一些任务,其作用是将另存的事务单元里面的内容解析出来,取出里面的事务标识transaction_id,数据data,消息类型message_type,分析得到期望得到的响应的transaction_id,data和message_type。
4.在toe_sequence里,收到moe_tr后,解析里面内容,发现start_为1,则创建一个toe_tr,里面的部分内容和msession_cfg相关,tcp_flag设置为syn报文,创建完成后,利用uvm里面的函数pack_bytes()把它打包成字节数组形式,写入到总线事务单元axi-tr里的tdata部分。最后将总线事务axi_tr利用`uvm_send()发送到总线定序器,由总线驱动器将axi_tr分别发送到TOE参考模型和待验证TOE模型中。之后,总线监视器监视搜集总线上的待验证TOE模块的输出信息(响应数据),toe_sequence收到总线定序器发来的接收方向的axi_tr(响应数据),将它用unpack_bytes()函数解包,得到toe_tr,根据tcp协议的要求,判断得到的mac地址,ip地址,端口号port number,序列号sequence num,确认号ack num,TCP校验综合tcp checksum,IP校验综合ipchecksum是否满足要求,如果不满足,怎丢弃,若正确,则返回syn ack报文。
5.在toe_sequence里,收到moe_tr的数据包时,则根据mession_cfg中的work_mode,把一个moe_tr切割成需要的数据包,每个数据包都是tcp包里面的payload部分。按照tcp的协议要求,计算出checksum,sequence num,ack num,发送到总线定序器,同时缓存一份到一个queue里,用于超时重发。在发送的时候,启动任务重传定时器,在规定时间内没有收到ack报文,则触发超时重发,将缓存的那个包重新发送出去。
6.在toe_sequence里,接收方向会接收tcp的数据包,将数据包解包后,将里面的数据放入一个缓存队列queue里,等待moe_sequence将之取出。
7.在moe_sequence里,从toe_sequence里将收到的响应取出,进行解包后,得到响应的moe_tr,判断响应的内容,如果message_type是write reply,则看status,如果是error,则需要将缓存中的重新发送一次,如果是OK,则紧接着执行对待验证TOE模块的读操作,读的lba地址和lba数据和之前写的应该一样,待收到读取响应read reply后,比对写的数据(步骤3中TOE参考模型分析得到的期望得到响应的数据data和该步骤读的数据是否一样,如果一致则验证通过,否则验证失败。
8.在moe_sequence里,每发送和接收一个数据包,则看message的类型,slba,nlba,status等是否覆盖到所有情况,统计覆盖率。
9.在toe_sequence里,每发送和接收一个数据包,则判断收集发送过程中的定时器触发,重传操作,错误注入,随机丢弃等功能的覆盖情况,统计覆盖率。
10.在所有数据发送完成后,moe_sequence发送一个带check_end标识的moe_tr,toe_sequence解析到check_end后,发送tcp的fin报文,等待接收fin ack报文。完成整条连接的终止。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于UVM验证方法学的TOE的验证平台,该验证平台用于对TOE模块实施功能验证,其特征在于,所述验证平台包括参数配置模块、应用层模块、协议层模块和总线功能模块;
所述参数配置模块,用于在测试用例中配置测试所需的硬件场景参数,并将所述硬件场景参数配置到应用层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;
所述应用层模块包括应用层序列生成器、应用层序列和应用层定序器;应用层序列生成器用于在确定所选用的测试用例后,根据应用层事务单元的参数配置,在所选用的测试用例对应的应用层序列中由自动生成数据包函数生成应用层数据包;不同的应用层序列用于完成不同的应用层事务单元的操作;应用层定序器用于将应用层数据包发送给协议层模块,还用于接收协议层模块发送的响应数据包;所述应用层序列中还设有应用层计分板,所述应用层计分板包括应用层比较器和TOE参考模型,应用层比较器用于将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败;TOE参考模型用于接收总线驱动器发送到待验证TOE模块的事务单元作为驱动,并根据驱动输出相应的输出数据;
所述协议层模块包括协议层序列和协议层定序器;协议层序列用于根据TCP/IP协议规范,将所述应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,还用于将协议层定序器接收到的响应数据包发送到应用层模块;协议层定序器用于将所述协议层数据包发送到总线功能模块的总线定序器上,还用于接收总线定序器发送的响应数据包;
所述总线功能模块包括总线定序器、总线驱动器和总线监视器;总线定序器用于接收协议层定序器发送的协议层数据包,还用于将总线监视器收集到的待验证TOE模块输出的响应数据发送到协议层模块;总线驱动器用于将协议层数据包打包成符合AXI-4Stream总线协议的事务单元,并将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;总线监视器用于收集总线上的待验证TOE模块输出的响应数据包。
2.根据权利要求1所述的一种基于UVM验证方法学的TOE的验证平台,其特征在于,所述验证平台还包括与应用层模块和协议层模块连接的应用层到协议层转换模块,应用层到协议层转换模块包括应用层到协议层事务转换序列;
所述应用层到协议层事务转换序列,用于接收应用层定序器发送的应用层数据包,并将应用层数据包转换成符合协议层数据格式的数据包后发送到协议层模块;还用于接收协议层定序器发送的响应数据包,并将响应数据包转换成符合应用层数据格式的数据包后发送到应用层模块。
3.根据权利要求1或2所述的一种基于UVM验证方法学的TOE的验证平台,其特征在于,所述应用层序列和协议层序列中还分别设有功能覆盖率统计模块,功能覆盖率统计模块用于通过功能覆盖组函数定义应用层模块和协议层模块的功能覆盖点,并通过采样功能覆盖点统计功能覆盖率。
4.根据权利要求1或2所述的一种基于UVM验证方法学的TOE的验证平台,其特征在于,所述硬件场景参数包括所要建立的TCP连接数目,每条连接的起始时间,每条连接的消息数目,每条连接断开重连的次数,每条连接的最大包长度,每条连接的本地MAC地址和所采用的协议类型。
5.一种采用权利要求1中所述的基于UVM验证方法学的TOE的验证平台的TOE的验证方法,该方法用于对TOE模块实施功能验证,其特征在于,该方法包括以下步骤:
(1)在测试用例中配置测试所需的硬件场景参数,并将所述硬件场景参数配置到应用层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;
(2)确定所选用的测试用例,应用层序列生成器根据应用层事务单元的参数配置,在所选用的测试用例对应的应用层序列中由自动生成数据包函数生成应用层数据包,并由应用层定序器将所述应用层数据包发送到协议层序列;
(3)协议层序列根据TCP/IP协议规范,将所述应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,并通过协议层定序器将所述协议层数据包发送到总线定序器上;
(4)总线驱动器将总线定序器中的协议层数据包打包成符合AXI-4Stream总线协议的事务单元,将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;
(5)总线监视器收集总线上待验证TOE模块输出的响应数据包,并通过总线定序器将收集到的响应数据包发送到协议层序列;
(6)协议层序列将接收到的响应数据包发送到应用层序列中;
(7)应用层计分板将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败。
6.根据权利要求5所述的一种基于UVM验证方法学的TOE的验证方法,其特征在于,步骤(2)中,应用层定序器将所述应用层数据包发送到协议层序列,包括:
(2-1)应用层定序器将所述应用层数据包发送到应用层到协议层事务转换序列;
(2-2)应用层到协议层事务转换序列将应用层数据包转换成符合协议层数据格式的数据包后发送到协议层序列;
步骤(6)中,协议层序列将接收到的响应数据包发送到应用层序列中,包括:
(6-1)协议层序列将接收到的响应数据发送到应用层到协议层事务转换序列;
(6-2)应用层到协议层事务转换序列将所述响应数据包转换成符合应用层数据格式的数据包后发送到应用层序列。
7.根据权利要求5或6所述的一种基于UVM验证方法学的TOE的验证方法,其特征在于:在应用层序列和协议层序列中分别通过功能覆盖组函数定义功能覆盖点,在完成待验证TOE模块的一次验证后,通过采样功能覆盖点统计功能覆盖率。
8.根据权利要5或6所述的一种基于UVM验证方法学的TOE的验证方法,其特征在于:步骤(1)中,所述硬件场景参数包括所要建立的TCP连接数目,每条连接的起始时间,每条连接的消息数目,每条连接断开重连的次数,每条连接的最大包长度,每条连接的本地MAC地址和所采用的协议类型。
9.一种基于UVM验证方法学的TOE的验证平台,该验证平台用于对TOE模块实施功能验证,其特征在于,所述验证平台包括参数配置模块、协议层模块和总线功能模块;
所述参数配置模块,用于在测试用例中配置测试所需的硬件场景参数,并把硬件场景参数配置到协议层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;
所述协议层模块包括协议层序列生成器、协议层序列和协议层定序器;协议层序列生成器用于在确定所选用的测试用例后,根据协议层事务单元的参数配置,在所选用的测试用例对应的协议层序列中由自动生成数据包函数生成符合TCP/IP协议规范的协议层数据包;不同的协议层序列用于完成不同的协议层事务单元的操作;协议层定序器用于将所述协议层数据包发送到总线功能模块的总线定序器上,还用于接收总线定序器发送的响应数据包;所述协议层序列中还设有协议层计分板,协议层计分板包括协议层比较器和TOE参考模型,协议层比较器用于将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败;TOE参考模型用于接收总线驱动器发送到待验证TOE模块的事务单元作为驱动,并根据驱动输出相应的输出数据;
总线功能模块包括总线定序器、总线驱动器和总线监视器;总线定序器用于接收协议层定序器发送的协议层数据包,还用于将总线监视器收集到的待验证TOE模块输出的响应数据发送到协议层模块;总线驱动器用于将协议层数据包打包成符合AXI-4Stream总线协议的事务单元,并将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;总线监视器用于收集总线上待验证TOE验证模块的响应数据包。
10.一种采用权利要求9中所述的基于UVM验证方法学的TOE的验证平台的TOE的验证方法,该方法用于对TOE模块实施功能验证,其特征在于,该方法包括以下步骤:
(1)在测试用例中设置测试所需的硬件场景参数,并把硬件场景参数配置到协议层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能;
(2)确定所选用的测试用例,协议层序列生成器根据协议层事务单元的参数配置,,在所选用的测试用例对应的协议层序列中由自动生成数据包函数生成符合TCP/IP协议规范的协议层数据包,并通过协议层定序器将所述协议层数据包发送到总线定序器上;
(3)总线驱动器将总线定序器中协议层数据包打包成符合AXI-4Stream总线协议的事务单元,将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;
(4)总线监视器收集总线上待验证TOE模块输出的响应数据包,并通过总线定序器将收集到的响应数据包发送到协议层序列;
(5)协议层计分板将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510072151.2A CN104657555A (zh) | 2015-02-11 | 2015-02-11 | 一种基于uvm验证方法学的toe的验证方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510072151.2A CN104657555A (zh) | 2015-02-11 | 2015-02-11 | 一种基于uvm验证方法学的toe的验证方法及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104657555A true CN104657555A (zh) | 2015-05-27 |
Family
ID=53248675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510072151.2A Pending CN104657555A (zh) | 2015-02-11 | 2015-02-11 | 一种基于uvm验证方法学的toe的验证方法及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657555A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940428A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN107493260A (zh) * | 2016-06-09 | 2017-12-19 | 苹果公司 | 用于数据传输的自适应段尺寸的装置、系统和方法 |
CN109842465A (zh) * | 2017-11-24 | 2019-06-04 | 阿里巴巴集团控股有限公司 | 数据传输方法、数据端设备 |
CN110109794A (zh) * | 2019-03-25 | 2019-08-09 | 电子科技大学 | 一种基于uvm的总线验证方法 |
CN110138635A (zh) * | 2019-04-25 | 2019-08-16 | 中国人民解放军战略支援部队信息工程大学 | 一种支持fc与以太网的协议转换功能验证装置及方法 |
CN110290105A (zh) * | 2019-05-10 | 2019-09-27 | 中国人民解放军战略支援部队信息工程大学 | 一种异构协议转换的验证平台和方法 |
CN111782217A (zh) * | 2020-06-23 | 2020-10-16 | 上海赛昉科技有限公司 | 快速高效产生cache一致性测试C程序的系统及方法 |
CN112073434A (zh) * | 2020-09-28 | 2020-12-11 | 山东产研集成电路产业研究院有限公司 | 降低基于toe的高频交易终端接收通道传输延迟的方法 |
CN112749523A (zh) * | 2021-01-14 | 2021-05-04 | 中山大学 | 一种基于uvm的图像重建模块的验证平台及方法 |
CN112949231A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种基于uvm验证平台的模块验证系统、方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120424A (zh) * | 2004-10-19 | 2008-02-06 | 恩维迪亚公司 | 在高速网络应用中使用rx fifo缓冲区处理rx信息包的系统与方法 |
JP2009088962A (ja) * | 2007-09-28 | 2009-04-23 | Panasonic Corp | 通信アダプタ、通信装置および通信方法 |
US20120030114A1 (en) * | 2010-08-02 | 2012-02-02 | Branislav Sikljovan | User Positive Approval and Authentication Services (UPAAS) |
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
-
2015
- 2015-02-11 CN CN201510072151.2A patent/CN104657555A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120424A (zh) * | 2004-10-19 | 2008-02-06 | 恩维迪亚公司 | 在高速网络应用中使用rx fifo缓冲区处理rx信息包的系统与方法 |
JP2009088962A (ja) * | 2007-09-28 | 2009-04-23 | Panasonic Corp | 通信アダプタ、通信装置および通信方法 |
US20120030114A1 (en) * | 2010-08-02 | 2012-02-02 | Branislav Sikljovan | User Positive Approval and Authentication Services (UPAAS) |
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940428A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN106940428B (zh) * | 2016-01-04 | 2020-11-03 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN107493260A (zh) * | 2016-06-09 | 2017-12-19 | 苹果公司 | 用于数据传输的自适应段尺寸的装置、系统和方法 |
CN109842465A (zh) * | 2017-11-24 | 2019-06-04 | 阿里巴巴集团控股有限公司 | 数据传输方法、数据端设备 |
CN110109794A (zh) * | 2019-03-25 | 2019-08-09 | 电子科技大学 | 一种基于uvm的总线验证方法 |
CN110138635A (zh) * | 2019-04-25 | 2019-08-16 | 中国人民解放军战略支援部队信息工程大学 | 一种支持fc与以太网的协议转换功能验证装置及方法 |
CN110290105B (zh) * | 2019-05-10 | 2022-01-21 | 中国人民解放军战略支援部队信息工程大学 | 一种异构协议转换的验证平台和方法 |
CN110290105A (zh) * | 2019-05-10 | 2019-09-27 | 中国人民解放军战略支援部队信息工程大学 | 一种异构协议转换的验证平台和方法 |
CN111782217A (zh) * | 2020-06-23 | 2020-10-16 | 上海赛昉科技有限公司 | 快速高效产生cache一致性测试C程序的系统及方法 |
CN111782217B (zh) * | 2020-06-23 | 2023-05-09 | 上海赛昉科技有限公司 | 快速高效产生cache一致性测试C程序的系统及方法 |
CN112073434A (zh) * | 2020-09-28 | 2020-12-11 | 山东产研集成电路产业研究院有限公司 | 降低基于toe的高频交易终端接收通道传输延迟的方法 |
CN112749523A (zh) * | 2021-01-14 | 2021-05-04 | 中山大学 | 一种基于uvm的图像重建模块的验证平台及方法 |
CN112949231A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种基于uvm验证平台的模块验证系统、方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104657555A (zh) | 一种基于uvm验证方法学的toe的验证方法及平台 | |
CN102664902B (zh) | Powerlink通讯协议主从站内核的硬件实现方法 | |
US9817067B2 (en) | Testbench builder, system, device and method including latency detection | |
US20080288652A1 (en) | Network core access architecture | |
CN101741648A (zh) | 分布式远程测试系统、方法、以及服务器 | |
CN101669100A (zh) | 利用半导体芯片中的多核处理器资源阵列管理多个i/o接口的方法和系统 | |
CN103530211B (zh) | 一种基于uvm平台的pcie回环自检测的方法 | |
CN107122304A (zh) | 一种jtag远程调试方法 | |
WO2022032984A1 (zh) | 一种mqtt协议仿真方法及仿真设备 | |
CN105827476A (zh) | 高速PING实现方法和Ping测试方法 | |
CN103023708A (zh) | 通信协议接口的测试方法及系统 | |
CN100546261C (zh) | 无线局域网测试的方法及系统 | |
WO2015131697A1 (zh) | 多路帧随机数据验证处理方法及装置 | |
CN102315981B (zh) | 一种演进分组核心网设备的测试设备及方法 | |
EP3779714A2 (en) | Emulating broadcast in a network on chip | |
CN115277450A (zh) | 基于opnet的虚实结合异构通信网络融合系统及应用 | |
CN115190030A (zh) | 一种实现can fd的硬件装置和uvm验证平台 | |
Holsmark et al. | On connecting cores to packet switched on-chip networks: A case study with microblaze processor cores | |
KR101125365B1 (ko) | Sdl?opnet 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법 | |
CN115130406B (zh) | 基于uvm的fc协议验证平台装置及方法 | |
CN112257381B (zh) | 一种AXI Crossbar设计电路验证方法和系统 | |
Kuhn | Simulator coupling for network fault injection testing | |
US9081743B2 (en) | Communication system and communicaton method | |
Zagoździńska et al. | Selected issues of the universal communication environment implementation for CII standard | |
Li | Network Implementation with TCP Protocol: A server on FPGA handling multiple connections |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20180727 |