一种基于uvm验证方法学的toe的验证方法及平台的利记博彩app_3

文档序号:8339802阅读:来源:国知局
3所示,其功能包括多连接会话管理,错误注入,数据流控制,不同模式,重传机制,定时器,同步报文生成,复位报文生成,结束报文生成,覆盖率收集,MAC、TCP/IP协议检查,总线事务单元打包,总线事务单元解包等。
[0073]本实施例中,所述协议层模块400包括协议层序列401和协议层定序器402 ;协议层序列401用于根据TCP/IP协议规范,将所述应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,还用于将协议层定序器402接收到的响应数据包发送到应用层模块200 ;协议层定序器402用于将所述协议层数据包发送到总线功能模块500的总线定序器401上,还用于接收总线定序器401发送的响应数据包。
[0074]协议层模块400向上接收应用层到协议层转换模块300的发送来数据,回复应用层到协议层事务转换模块300的响应消息;向下将符合TCP/IP协议规范的数据包发送给总线功能模块500,同时接收来自总线功能模块500的符合总线协议的数据包。
[0075]协议层模块400最终实现的效果是通过完成随机化系统配置,完成不同的序列,用于验证TCP/IP的不同功能。
[0076]此外,本实施例中,该模块中协议层序列401中也设有功能覆盖率统计模块,功能覆盖率统计模块用于通过功能覆盖组(C0Ver_gr0up)函数定义协议层模块400中的功能覆盖点,并通过采样功能覆盖点统计出协议层模块400的功能覆盖率。还可以辅以仿真工具收集协议模块400的代码覆盖率。
[0077]总线功能模块500
[0078]总线功能模块500的主要功能是把协议层模块400输入的协议层数据包打包成符合AX1-4Stream总线协议的事务单元,输出到总线上,以及将总线上输入的符合AX1-4Stream总线协议的行为,解包成满足协议层模块400要求结构的事务单元。
[0079]本实施例中,该模块的结构如图4所示,主要包括了总线定序器501、总线驱动器502和总线监视器503。总线定序器501用于接收协议层定序器402发送的协议层数据包,还用于将总线监视器503收集到的待验证TOE模块输出的响应数据发送到协议层模块400 ;总线驱动器502用于将协议层数据包打包成符合AX1-4Stream总线协议的事务单元,并将所述事务单元通过总线输入到待验证TOE模块和TOE参考模型中;总线监视器503用于收集总线上的待验证TOE模块输出的响应数据包。
[0080]该模块在发送方向上,总线驱动器502从总线定序器501中取出事务单元(应用层数据包),遵照AXI4-Stream协议,发送一个带数据tdata,有效标志tvalid,字节使能tkeep等信号的一次传输。在接收方向上,总线监视器503收集到一次有效的AXI传输,将物理信号转化为事务单元,通过总线定序器501的uvm_blocking_peek_port传递到上层的协议层序列401。该模块最终实现的效果是将更高抽象层次的数据结构反映到AX1-4Stream信号线上,并通过监视器收集总线行为,进行总线协议检查,将总线事务打包成消息格式(协议层数据格式)。
[0081]本实施例中,在实际应用中,总线功能模块500可以设置为图4中所示的形式,包括输出中介(总线作为主设备)、输入中介(总线作为从设备)、虚拟定序器(该虚拟定序器包括了主设备总线定序器和从设备总线定序器)和总线配置,其中,总线主设备和从设备都包括总线定序器、总线驱动器和总线监视器,总线配置用于完成总线上传输的总线事务单元的相关设置。
[0082]本实施例中,各个模块传递的数据结构是从uvm_sequence_item扩展得到的数据类,这个类里可以封装对所述数据和功能控制的一些基本函数和任务。通过对这些数据类进行约束可以得到相应的数据包。数据包在各个模块通过端口(port)进行传递。UVM的序列生成器器是来自扩展uvm_sequence类,通过在uvm_sequence中提供的任务body O中,对数据包进行约束,可以针对各个功能产生不同的测试用例。另外,通过在应用层序列和协议层序列中通过功能覆盖组(C0Ver_gr0Up)采样功能覆盖点,从而统计出功能覆盖率,辅以仿真工具收集的代码覆盖率,通过不断增加测试用例,使用随机测试,直接测试等用例,达到代码,功能覆盖率100%,完成验证。
[0083]实施例二
[0084]图5和图6示出了基于图1中所示基于UVM验证方法学的TOE的验证平台的TOE的验证方法的流程示意图,该方法主要可以包括以下步骤:
[0085]步骤SlOO:进行测试所需的硬件场景参数的配置,完成测试用例的随机化序列的定义;
[0086]该步骤中,通过参数配置模块105在测试用例中配置测试所需的硬件场景参数,并将所述硬件场景参数配置到应用层序列中,完成测试用例的随机化序列的定义,不同的测试用例使用不同的序列,用于验证TOE模块的不同功能。
[0087]步骤S200:确定测试用例,在应用层序列中由自动生成数据包函数生成应用层数据包;
[0088]根据测试需要,确定所选用的测试用例,确定出测试用例后应用层序列生成器201根据应用层事务单元的参数配置,在所选用的测试用例对应的应用层序列中由自动生成数据包函数生成应用层数据包,并由应用层定序器203将所述应用层数据包发送到协议层序列 401。
[0089]其中,应用层事务单元的参数配置主要包括应用层随机配置消息类型、TCP连接数目、控制TCP/IP协议层序列的打开、关闭以及网络协议模式等,在完成应用层事务单元的约束后,由自动生成数据包函数自动生成应用层数据包。
[0090]应用层定序器203的功能是组织管理应用层序列产生器,并提供输出端口 export给应用层到协议层事务转换序列301,由应用层到协议层事务转换序列301对应用层数据包进行转换后发送到协议层序列401,应用层到协议层事务转换序列301位于应用层到协议层转换模块300中,其功能是启动TCP/IP包生成序列(所述的协议层序列),从应用层定序器203的输出端口 export取出数据包,放入TCP/IP包生成序列的发送缓存队列中,同时,将TCP/IP包生成序列中的接收缓存队列的数据包取出,传递到应用层模块的数据缓存队列中。具体的,应用层定序器203将所述应用层数据包发送到协议层序列401,包括:
[0091]I)应用层定序器203将所述应用层数据包发送到应用层到协议层事务转换序列301 ;
[0092]2)应用层到协议层事务转换序列301将应用层数据包转换成符合协议层数据格式的数据包后发送到协议层序列401。
[0093]步骤S300:协议层序列根据TCP/IP协议规范,将应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,并发送到总线上;
[0094]协议层序列401根据TCP/IP协议规范,将应用层数据包解析后生成多条符合TCP/IP协议的协议层数据包,并通过协议层定序器402将所述协议层数据包发送到总线定序器上。该步骤中的应用层数据包为经过应用层到协议层事务转换序列转换后的数据包。
[0095]步骤S400:总线驱动器将协议层数据包处理后通过总线输入到待验证TOE模块和TOE参考模型中;
[0096]该步骤中,在总线定序器501接收协议层定序器402发送的协议层数据包后,总线驱动器502将总线定序器501中的协议层数据包打包成符合AX1-4Stream总线协议的事务单元,并将所述事务单元作为待验证TOE模块和TOE参考模型的输入(激励)通过总线输入到待验证TOE模块和TOE参考模型中。
[0097]步骤S500:总线监视器收集总线上的响应数据包,并通过总线定序器将收集到的响应数据包发送到协议层序列;
[0098]总线监视器收集总线上待验证TOE模块输出的响应数据包,并通过总线定序器将收集到的响应数据包发送到协议层序列401。
[0099]步骤S600:协议层序列401将接收到的响应数据包发送到应用层序列中;
[0100]该步骤中,协议层序列将接收到的响应数据包发送到应用层序列中,包括:
[0101]I)协议层序列将接收到的响应数据发送到应用层到协议层事务转换序列;
[0102]2)应用层到协议层事务转换序列将所述响应数据包转换成符合应用层数据格式的数据包后发送到应用层序列。
[0103]步骤S700:应用层计分板将接收到的响应数据包中的数据和TOE参考模型的输出数据相比对,判断验证是否通过,若比对一致,则验证通过;反之则验证失败。
[0104]此外,本实施例中,在应用层序列和协议层序列中还分别通过功能覆盖组函数定义了应用层和协议层的功能覆盖点,在完成待验证TOE模块的一次验证后,通过采样功能覆盖点统计出应用层模块和协议层模块的功能覆盖率。
[0105]本实施例中,协议层序列401的功能是生成多条连接的符合TCP/IP协议的数据包,并将其通过协议层定序器402发送到总线驱动器502上。协议层序列401需要满足TCP/IP协议所要求的通信流程,另外附加支持纯MAC报文模式和多条连接的管理功能。整体上看,协议层序列401检测应用层到协议层事务转换序列301发送来的应用层模块的控制消息“启动”(start),检测到“启动”后,根据此消息携带的连接标识fid判断启动哪条连接sess1n的序列。连接启动后,发送方向开始发送由应用层模块200传递过来的待发送消息(转换后的应用层数据包),接收方向将接收到的各个连接的响应数据按连接标识放入关联数组中,等待应用层模块取走。落实在某一连接上,具体表现为发送同步报文synpacket,同时启动建立连接定时器,当接收方向收到确认报文后,建立连接,否则,当建立连接定时器超时后,启动重传。在建立连接的过程中,双方协商最大报文长度MSS,窗口扩大因子,时间戳等选项。连接建立后,发送数据报文,在这个过程中,会启用各种定时器,必要的时候进行超时重传,会计算校验值,计算序号和确认序号,会注入丢包、乱序等异常情况,会随机发送复位报文rst packet结束连接。对于收到报文的确认方式可以是纯确认或者是经受时延的确认。当正确发送完所有数据后,会发送终止报文Fin packet来主动发起关闭操作,等待对方发送确认关闭报文,进入半关闭状态,接着检测到对方发送终止报文,回复确认关闭报文,完成双
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1