一种测试验证方法及装置制造方法

文档序号:6506967阅读:450来源:国知局
一种测试验证方法及装置制造方法
【专利摘要】本发明提供一种测试验证方法及装置,用于解决现有技术中构建测试环境复杂的问题。所述方法包括:在预设时间到来时,运行在客户端的仿真进程调用第一指定代码;所述第一指定代码调用第一函数;所述第一函数用于传输数据;在接口中使用预先编写的应用测试程序代码共享所述第一函数传输的数据,并使用该数据完成所述应用测试程序代码所指定的操作。可见本发明实施例提供的方法可解决现有技术中的相关问题。
【专利说明】一种测试验证方法及装置
【技术领域】
[0001 ] 本发明涉及通信电子【技术领域】,尤其涉及一种测试验证方法及装置。
【背景技术】
[0002]通用验证方法(Universalverification methodology,UVM)是依赖其强大的VIP软件包以及仿真器的支持,涵盖行为级、事务级、寄存器传输级的验证软件包,由几大电子设计自动化EDA厂商联合推广,是目前最新最流行的标准通用验证平台。凡是使用UVM的客户,其设计的IP核(Intellectual Property core)和测试环境可以轻松的移植到其它使用UVM的客户环境中,利用该软件包,可以快速有效对IP集成搭建片上系统SOC进行可靠的测试验证。IP核是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。SOC是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。
[0003]但本发明人在实际使用过程中发现UVM验证方法存在的主要缺陷包括:
第一,该软件包的支持是与仿真工具绑定,因此必须较新的仿真器才能对其进行支
持;
第二,由于其软件包十分庞大,因此构建的测试环境经常比设计本身还要庞大复杂; 第三,集成其一些通用IP需要付费购买;
第四,不支持多种仿真器之间混合仿真。

【发明内容】

[0004]本发明提供一种测试验证方法及装置,用于解决现有技术中构建测试环境复杂的问题。
[0005]一种测试验证方法,所述方法包括:
在预设时间到来时,运行在客户端的仿真进程调用第一指定代码;
所述第一指定代码调用第一函数;所述第一函数用于传输数据;
在接口中使用预先编写的应用测试程序代码共享所述第一函数传输的数据,并使用该数据完成所述应用测试程序代码所指定的操作。
[0006]一种测试验证装置,所述装置包括:
客户端模块,用于在预设时间到来时,运行在客户端的仿真进程调用第一指定代码;
调用模块,用于所述第一指定代码调用第一函数;所述第一函数用于传输数据;
接口模块,用于在接口中使用预先编写的应用测试程序代码共享所述第一函数传输的数据,并使用该数据完成所述应用测试程序代码所指定的操作。
[0007]本发明中主要使用S0Cket结合DPI来完成,使得仿真器可以在任何一个可调用DPI的触发点调用DPI与其它进程进行通信,因此可实现在仿真器的任意监测点可靠的激活用户自定义的测试验证代码,完成用户需要进行的相应测试。但在实际运行过程中该测试验证代码实际是在另一个或者多个进程中进行的,该方法可以有很多进程监听不同的socket端口号,分别接受不同DPI函数发来的不同测试数据。这种实现方式可摆脱仿真器的各种功能局限性,方便于集成调用各种测试软件以及图形化系统,而且不需要编写多余的RTL代码。用户可以根据实际需求编写所需的测试验证代码,而在编写过程中并不受到UVM相应规则的限制,因此该方法扩大了使用范围,使测试变得更加简易。
【专利附图】

【附图说明】
[0008] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0009]图1为本发明实施例提供的ー种测试验证方法流程图;
图2为本发明实施例提供的第一种测试验证装置结构图。
【具体实施方式】
[0010]为了使本【技术领域】的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进ー步详细的说明。
[0011]本文中提到的socket指网络套接字是用于描述IP地址和端ロ,是ー个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开ー个Socket,并绑定到ー个端口上,不同的端ロ对应于不同的服务。
[0012]本发明提供ー种测试验证方法,用于解决现有技术中构建测试环境复杂的问题,具体过程如图1所示,步骤如下:
步骤11,在预设时间到来时,运行在客户端的仿真进程调用第一指定代码;
步骤12,所述第一指定代码调用第一函数;所述第一函数用于传输数据;
步骤13,在接口中使用预先编写的应用测试程序代码共享所述第一函数传输的数据,并使用该数据完成所述应用测试程序代码所指定的操作。
[0013]其中,预设时间为时钟上升沿。
[0014]其中,所述第一指定代码为DPI代码。
[0015]其中,所述第一函数为socket函数。
[0016]以下以具体实施例进行介绍:
本发明提供ー种测试验证方法,主要用于SOC中,其中包括以下内容:
在客户端的仿真器进程如下:
RTL代码中:
alwaysi (posedge clock)
if (trigger_conditionノ
invoke_DPI_function (parameters......);
在DPI代码中:
void invoke_DPI_function (parameters......) {
Using_socket_send_message_to_server(…)
}在接ロ端进行应用测试程序进程,测试代码中socket server监听函数:
Listening socket port***.1f\socket_connected()){
receive_socket_port_data();
call_debug_function();
}
在测试代码中Socket server监听函数,共享socket传输过来的数据,可以实现任意用户自定义的程序代码,且实现该代码时不局限于C、C++、java等,任意支持socket的语言均可。
[0017]结合上述实施例,如图1所示本发明提供的方法主要包括:
步骤11,在预设时间到来时,运行在客户端的仿真进程调用第一指定代码;
所述第一指定代码为DPI代码。
[0018]预设时间为任意能调用DPI的触发点,例如时钟上升沿或者下降沿,systemverilog语言中的,initial、always等描述块里均可。
[0019]步骤12,所述第一指定代码调用第一函数;所述第一函数用于传输数据;所述第一函数为socket函数;
步骤13,在接口中使用预先编写的应用测试程序代码共享所述第一函数传输的数据,并使用该数据完成所述应用测试程序代码所指定的操作。
[0020]如图2所示,ー种测试验证装置,所述装置包括:
客户端模块31,用于在预设时间到来时,运行在客户端的仿真进程调用第一指定代
码;
调用模块32,用于所述第一指定代码调用第一函数;所述第一函数用于传输数据;
接ロ模块33,用于在接口中使用预先编写的应用测试程序代码共享所述第一函数传输的数据,并使用该数据完成所述应用测试程序代码所指定的操作。
[0021 ] 综上所述,有£fL效果:
使用本发明提供的方法可得到更多的仿真器支持,只要支持Systemverilog及DPI的仿真器均可运行。验证测试环境搭建简单,无需其他软件包依赖。自定制化程度高,使用灵活,并可以轻松使用虚拟IP。多进程多处理器多主机支持,因此可以支持多仿真器之间混合仿真。该发明实现仿真器与测试验证环境同步并行运行,极大简化在仿真器端搭建测试环境的复杂度和缩短调试测试环境正确性的周期。使用该方法可以使测试程序拥有更好的跨平台移植性,只要支持socket通信的系统均可以使用。
[0022]本发明中主要使用socket结合DPI来完成,使得仿真器可以在任何一个可调用DPI的触发点调用DPI与其它进程进行通信,因此可实现在仿真器的任意监测点可靠的激活用户自定义的测试验证代码,完成用户需要进行的相应测试。但在实际运行过程中该测试验证代码实际是在另一个或者多个进程中进行的,该方法可以有很多进程监听不同的socket端口号,分别接受不同DPI函数发来的不同测试数据。这种实现方式可摆脱仿真器的各种功能局限性,方便于集成调用各种测试软件以及图形化系统,而且不需要编写多余的RTL代码。用户可以根据实际需求编写所需的测试验证代码,而在编写过程中并不受到UVM相应规则的限制,因此该方法扩大了使用范围,使测试变得更加简易。[0023]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.ー种测试验证方法,其特征在于,所述方法包括: 在预设时间到来时,运行在客户端的仿真进程调用第一指定代码; 所述第一指定代码调用第一函数;所述第一函数用于传输数据; 在接口中使用预先编写的应用测试程序代码共享所述第一函数传输的数据,并使用该数据完成所述应用测试程序代码所指定的操作。
2.如权利要求1所述的方法,其特征在于,预设时间为任意能调用DPI的触发点的时亥IJ。
3.如权利要求1所述的方法,其特征在于,所述第一指定代码为DPI代码。
4.如权利要求1所述的方法,其特征在于,所述第一函数为socket函数。
5.ー种测试验证装置,其特征在于,所述装置包括: 客户端模块,用于在预设时间到来时,运行在客户端的仿真进程调用第一指定代码; 调用模块,用于所述第一指定代码调用第一函数;所述第一函数用于传输数据; 接ロ模块,用于在接口中使用预先编写的应用测试程序代码共享所述第一函数传输的数据,并使用该数据完成所述应用测试程序代码所指定的操作。
【文档编号】G06F11/36GK103593283SQ201310334790
【公开日】2014年2月19日 申请日期:2013年8月2日 优先权日:2013年8月2日
【发明者】段文艺 申请人:北京君正集成电路股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1