CN115544921A - 基于uvm和vip的can模块级验证平台及冲突场景验证方法 - Google Patents
基于uvm和vip的can模块级验证平台及冲突场景验证方法 Download PDFInfo
- Publication number
- CN115544921A CN115544921A CN202211094471.4A CN202211094471A CN115544921A CN 115544921 A CN115544921 A CN 115544921A CN 202211094471 A CN202211094471 A CN 202211094471A CN 115544921 A CN115544921 A CN 115544921A
- Authority
- CN
- China
- Prior art keywords
- verification
- tested
- module
- environment module
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/08—Intellectual property [IP] blocks or IP cores
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种基于UVM和VIP的CAN模块级验证平台及冲突场景验证方法。所述验证平台包括被测can环境模块,第一验证ip控制器环境模块和第二验证ip控制器环境模块,其中:所述第二验证ip控制器环境模块,用于接收根据第三数据包发送的第二预期数据;接收根据所述第三数据包发送的第二接收报文;将所述第二预期数据与所述第二接收报文对比分析,验证CAN模块级验证平台是否故障。
Description
技术领域
本申请涉及CAN总线通信领域,具体而言,涉及一种基于UVM和VIP的CAN模块级验证平台及冲突场景验证方法。
背景技术
在现代电子设计领域,随着微电子技术的迅猛发展,无论是电路设计、系统设计还是芯片设计,其设计的复杂程度都在不断地增加,而且电子产品更新换代的步伐也越来越快。此时,仅仅依靠传统的手工设计方法已经不再满足要求,而电子设计自动化(EDA)技术的发展给电子系统设计带来了革命性的变化,大部分设计工作都可以在计算机上借助EDA工具来完成,包括:1、验证电路设计方案的准确性;2、电路特性的优化设计;3、实现电路特性的模拟测试。
但是在使用EDA工具进行验证电路设计方案准确性时,会出现多个站点同时发包的情况,此时,电路中会出现识别码重复,can协议会认为多站点发送数据包的行为为同一指令,而出现在电路验证时EDA工具无法支持验证的情况,给电路设计方案验证带来较大问题。
因此,需要提出一种基于UVM和VIP的CAN模块级验证平台及冲突场景验证方法,来解决EDA工具无法支持验证的问题。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请旨在提供一种基于UVM和VIP的CAN模块级验证平台及冲突场景验证方法,用于解决EDA工具无法支持验证的问题。
根据本申请的第一方面,提出一种CAN模块级验证平台冲突场景验证方法,应用于被测can环境模块,所述冲突场景验证方法包括:
发送第一数据包,使被测对象按照所述第一数据包的配置进行CAN报文的收发;
接收第一验证ip控制器环境模块根据发送至所述被测对象的第二数据包发送的第一预期数据,其中,所述第一数据包和所述第二数据包是并行发送的;
接收第一接收报文,所述第一接收报文是所述被测对象根据所述第二数据包发送;
将所述第一预期数据和所述第一接收报文对比分析,验证所述被测对象运算结果。
根据一些实施例,所述验证所述被测对象运算结果包括:
在所述第一预期数据和所述第一接收报文相同的情况下,确定所述被测对象运算结果正确;
在所述第一预期数据和所述第一接收报文不同的情况下,确定验证CAN模块级验证平台故障。
根据本申请的第二方面,提出一种CAN模块级验证平台冲突场景验证方法,应用于第二验证ip控制器环境装置,所述冲突场景验证方法包括:
接收根据第三数据包发送的第二预期数据;
接收根据所述第三数据包发送的第二接收报文;
将所述第二预期数据与所述第二接收报文对比分析,验证CAN模块级验证平台是否故障。
根据一些实施例,第一验证ip控制器环境模块和被测can环境模块并行发送数据包;
所述验证CAN模块级验证平台选择所述第一验证ip控制器环境模块发送的数据包或所述被测can环境模块的数据包为所述第三数据包,优先发送。
根据一些实施例,所述被测can环境模块发送数据包至所述被测对象,所述被测对象进行CAN报文的收发;
所述被测can环境模块接收预期数据和接收报文并对比分析;
所述预期数据和所述接收报文是根据所述第一验证ip控制器环境模块发送的数据包发送的。
根据一些实施例,所述第一验证ip控制器环境模块接收预期数据和接收报文并对比分析;
所述预期数据和所述接收报文是根据所述被测can环境模块发送的数据包发送的。
根据一些实施例,所述冲突场景验证方法还包括:
判断所述第一验证ip控制器环境模块是否故障,包括:
响应于所述第一验证ip控制器环境模块接收到的预期数据和接收报文不同的指示:
在所述第二验证ip控制器环境模块接收到的所述第二预期数据和所述第二接收报文相同的情况下,确定所述第一验证ip控制器环境模块故障;
在所述第二验证ip控制器环境模块接收到的所述第二预期数据和所述第二接收报文不同的情况下,确定所述被测can环境模块故障或者所述被测对象运算错误。
根据本申请的第三方面,提出一种CAN模块级验证平台冲突场景验证方法,应用于第一验证ip控制器环境装置,所述冲突场景验证方法包括:
发送第四数据包;
接收被测can环境模块根据发送至所述被测对象的第五数据包发送的第三预期数据,其中,所述第四数据包和所述第五数据包是并行发送的;
接收所述被测对象根据所述第五数据包发送的第三接收报文;
将所述第三预期数据和所述第三接收报文对比分析,验证所述被测对象运算结果。
根据一些实施例,所述验证所述被测对象运算结果包括:
在所述第三预期数据和所述第三接收报文相同的情况下,确定所述被测对象运算结果正确;
在所述第三预期数据和所述第三接收报文不同的情况下,确定验证CAN模块级验证平台故障。
根据本申请的第四方面,提出一种CAN模块级验证平台,所述验证平台包括被测can环境模块,第一验证ip控制器环境模块和第二验证ip控制器环境模块,其中:
所述被测can环境模块,用于执行如第一方面中任一项所述的方法;
所述第一验证ip控制器环境模块,用于执行如第三方面中任一项的方法;
所述第二验证ip控制器环境模块,用于执行如第二方面中任一项所述的方法。
根据一些实施例,所述验证平台还包括通信连接的can总线监控接口和can总线,其中:所述can总线监控接口通过所述can总线判断所述被测对象发送的比特位在报文的位置。
根据一些实施例,所述验证平台还包括can使用地址存放模块,用于存放所述被测对象收发报文时的应用标识符,与已存放的应用标识符不重复。
根据一些实施例,在所述被测can环境模块或所述第一验证ip控制器模块或所述第二验证ip控制器环境模块进行预期数据和接收报文的对比分析后,所述can使用地址存放模块删除接收报文对应的应用标识符。
根据一些实施例,所述被测can环境模块包括计分板、被测can代理和外围总线环境,其中:
所述被测can代理将数据包发送给所述外围总线环境,所述外围总线环境将所述数据包转换成数据信号发送给被测对象,用于配置所述被测对象支持的模式,使所述被测对象按照配置进行CAN报文的收发;
所述计分板用于获取所述第一验证ip控制器模块的预期数据和所述被测对象发送的接收报文并对比,验证所述被测对象运算结果。
根据本申请的第五方面,提出一种电子设备,包括:
处理器;以及
存储器,存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述处理器执行第一方面或第二方面或第三方面中任一者所述的方法。
根据本申请的第六方面,提出一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行第一方面或第二方面或第三方面中任一者所述的方法。
本申请提供一种基于UVM和VIP的CAN模块级验证平台及冲突场景验证方法,本申请在各类CAN站点的环境中,做好配置和通信方式TLM端口的连接,实现高内聚,各CAN站点的环境之间尽可能减少耦合,实现比较方便的站点数量扩展,且利用UVM组件进行高内聚的封装,可配置性与可重用性较强,验证人员可快速移植代码搭建验证平台,大大提高验证效率与完备性。
本申请提供一种基于UVM和VIP的CAN模块级验证平台及冲突场景验证方法,利用接口vip_can_if里面的debug_if中的状态机、采样信号、驱动信号等进行所需要的统计,可以方便用例的构造和异常现场的分析,结合解析结果及相关信号,可以判断DUT发送的比特位bit在报文的位置。
本申请提供一种基于UVM和VIP的CAN模块级验证平台及冲突场景验证方法,使用Singleton类定义can_used_id_q Class,约束使用的应用标识符不在can_used_id_q的相应队列中;在计分板比对分析后将该应用标识符从can_used_id_q对应的队列中删除,使得在同一时间,CAN总线上不会出现相同的CAN ID,EDA验证环境可以实现支持冲突验证。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,而不是对本申请的限制。
图1示出一示例性实施例的一种CAN模块级验证平台装置框图;
图2示出一示例性实施例的一种基于UVM和VIP的CAN模块级冲突场景验证方法流程图;
图3示出本申请提供的一种电子设备的结构图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有这些特定细节中的一个或更多,或者可以采用其它的方式、组元、材料、装置等。在这些情况下,将不详细示出或描述公知结构、方法、装置、实现、材料或者操作。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
图1示出一示例性实施例的一种CAN模块级验证平台装置框图。
如图1所示,CAN模块级验证平台装置包括顶层模块top_module101,uvm测试顶层模块uvm_test_top102,can环境模块can_env103,被测can环境模块dut_can_env104,can总线监控接口105,验证ip控制器环境模块vip_can_env106、107,can使用地址存放模块can_used_id_q108,被测对象DUT109,can总线Can_bus110。
其中,can是指控制器局域网络(Controller Area Network,CAN);uvm是指通用验证方法学(Universal Verification Methodology,UVM),是一个以SystemVerilog类库为主体的验证平台开发框架;vip是一种代码确认与验证技术(Verfication IP,VIP),是预先验证过的内建验证结构。
如图1所示,顶层模块top_module101用于完成被测对象DUT109的例化,并且提供通用验证方法学uvm入口的调用,实现顶层模块top_module101与被测对象DUT109的连接。
uvm测试顶层模块uvm_test_top102,是uvm环境的顶层,用于给uvm测试提供平台。
can环境模块can_env103是CAN模块验证平台,用于实现被测can环境模块dut_can_env104,can总线监控接口105,验证ip控制器环境模块vip_can_env106、107的例化,并且设置被测can环境模块dut_can_env104,can总线监控接口105,验证ip控制器环境模块vip_can_env106、107所需的配置config,虚拟接口vif和寄存器模型register model。
根据一些实施例,can环境模块can_env103设置寄存器模型register model,可以让can模块验证平台支持多个被测can环境模块dut_can_env104例化,并且可以是不同厂家的CAN IP组网。
根据示例实施例,can环境模块can_env103还用于实现被测can环境模块dut_can_env104,验证ip控制器环境模块vip_can_env106、107的TLM通信连接。
其中,TLM(Transaction-Level Modeling)是一种基于事务的通信方式,通常作为模块之间的通讯使用。
被测can环境模块dut_can_env104用于配置被测对象DUT109支持的各种模式,让被测对象DUT109按照配置进行CAN报文的收发。
如图1所示,被测can环境模块dut_can_env104包括计分板Scoreboard,寄存器模型ral model,被测can代理dut_can_agt,外围总线环境apb_env;其中:寄存器模型ralmodel(RAL,Register Abstraction Layer)是一种uvm register模型,用于实现对DUT寄存器的描述;被测can代理dut_can_agt通过寄存器模型ral model和配置config结合,将数据包sequence发送给外围总线环境apb_env。
被测can代理dut_can_agt包括驱动器drv,序列发生器sqr,寄存器模型ralmodel,监视器mon,其中:驱动器drv驱动序列发生器sqr发送数据包,序列发生器sqr会将数据包传递给驱动器drv;监视器mon用于监控apb总线,收集被测对象DUT109的发送报文和接收报文。
外围总线环境apb_env包括接口vip_apb_if,与被测对象DUT109连接,通过外围总线apb把数据包sequence发送给被测对象DUT109。
can总线监控接口can_bus_mon_if105包括验证ip的can代理vip_can_agent,并在内部例化了接口vip_can_if:验证ip的can代理vip_can_agent设置成被动模式passive,与接口vip_can_if连接,接口vip_can_if与can总线Can_bus110连接,验证ip的can代理vip_can_agent通过调用接口vip_can_if里面的debug_if,实现can总线Can_bus110高效可靠的解析。
根据一些实施例,利用接口vip_can_if里面的debug_if中的状态机、采样信号、驱动信号等进行所需要的统计,可以方便用例的构造和异常现场的分析,结合解析结果及相关信号,可以判断DUT发送的比特位bit在报文的位置。
根据一些实施例,can总线监控接口can_bus_mon_if105还支持CAN总线发送错误的充分测试,通过改变DUT(Force DUT)输出的方式,改变DUT发送到总线上的值,从而产生发送错误,实现对DUT发送错误的充分验证。
验证ip控制器环境模块vip_can_env106中例化了验证ip的can代理vip_can_agent和计分板Scoreboard;其中,验证ip的can代理vip_can_agent包括监控器mon,驱动器drv,序列发生器sqr;驱动器drv驱动序列发生器sqr发送数据包,序列发生器sqr会将数据包传递给驱动器drv;监视器mon用于监控Can_bus总线,收集验证ip控制器环境模块vip_can_env107和被测对象DUT109的发送报文和接收报文。
验证ip控制器环境模块vip_can_env107中例化了验证ip的can代理vip_can_agent和计分板Scoreboard;其中,验证ip的can代理vip_can_agent包括监控器mon,驱动器drv,序列发生器sqr;驱动器drv驱动序列发生器sqr发送数据包,序列发生器sqr会将数据包传递给驱动器drv;监视器mon用于监控Can_bus总线,收集验证ip控制器环境模块vip_can_env106和被测对象DUT109的发送报文和接收报文。
根据一些实施例,本申请提供多个验证ip控制器环境模块vip_can_env,可以在冲突发生时,对被测对象DUT的收发行为作为参考,来做相应分析。
以ip控制器环境模块vip_can_env106发送数据包为例,被测can环境模块dut_can_env104收到被测对象DUT109的接收报文,验证ip控制器环境模块vip_can_env107收到根据验证ip控制器环境模块vip_can_env106发送的数据包的接收报文;以验证ip控制器环境模块vip_can_env107的接收报文为参考,验证被测can环境模块dut_can_env104接收到的预期数据和/或接收报文是否正确,判断被测对象DUT109的收发报文是否准确。
在被测can环境模块dut_can_env104接收到的预期数据和接收报文不同,验证ip控制器环境模块vip_can_env107接收到的对应数据包的预期数据和接收报文相同的情况下,确定被测can环境模块dut_can_env104或者被测对象DUT109故障。
can使用地址存放模块can_used_id_q108是单例模式Singleton类,用于存放被测对象DUT109收发报文时产生的应用标识符frame_id:在类中定义Static std_used_id_q[$]队列(已使用的标准id队列),用来存放CAN2.0 A的11位ID;Static extd_used_id_q[$]队列(已使用的扩展id队列),用来存放CAN2.0 B的29位ID。
其中,Singleton类是指在它的核心结构中,只包含一个被称为单例的特殊类。
被测对象DUT109,通过外围总线apb与被测can环境模块dut_can_env104相连,通过can总线控制器发送接口(can_tx)和can总线控制器接收接口(can_rx),与can总线Can_bus110相连。
can总线Can_bus110与can总线监控接口105,验证ip控制器环境模块vip_can_env106、107,被测对象DUT109的can接口相连,实现can总线Can_bus110的线与特性。
本申请在各类CAN站点的env中,做好配置config和通信方式TLM端口的连接connect,实现高内聚,各CAN站点的env之间尽可能减少耦合,实现比较方便的站点数量扩展,且利用UVM组件进行高内聚的封装,可配置性与可重用性较强,验证人员可快速移植代码搭建验证平台,大大提高验证效率与完备性。
图2示出一示例性实施例的一种基于UVM和VIP的CAN总线控制器模块级冲突场景验证方法流程图。
根据示例实施例,以被测can环境模块dut_can_env104和验证ip控制器环境模块vip_can_env106并行发包的冲突场景验证为例。
S201,模块并行发包。
根据示例实施例,被测can环境模块dut_can_env104和验证ip控制器环境模块vip_can_env106同时发包:在CAN模块验证平台开始运行后,被测can环境模块dut_can_env104中的被测can代理dut_can_agt中的驱动器drv驱动序列发生器sqr发送数据包,序列发生器sqr将数据包传递给驱动器drv后,驱动器drv利用寄存器模型ral model向外围总线环境apb_env发送数据包sequence,外围总线环境apb_env将数据包转换成数据信号,经接口vip_apb_if,使用apb总线将配置发送给被测对象DUT109,驱动其发包。
验证ip控制器环境模块vip_can_env106中的验证ip的can代理vip_can_agent中的驱动器drv驱动序列发生器sqr发送数据包,序列发生器sqr将数据包传递给驱动器drv后,验证ip控制器环境模块vip_can_env106解析数据包产生CAN报文,并通过接口vip_can_if向can总线Can_bus110发送报文。
S202,监视器收集发送报文。
根据示例实施例,被测对象DUT109解析数据包产生CAN报文时,被测can环境模块dut_can_env104根据发送的数据包预测被测对象DUT109将会发送的报文(本申请中指被测对象DUT109发送报文),被测can环境模块dut_can_env104中的监视器mon通过对apb总线的监控,收集被测对象DUT109预期发送的报文,通过TLM端口传递给验证ip控制器环境模块vip_can_env106、107中的计分板Scoreboard,存为预期数据。
根据示例实施例,验证ip控制器环境模块vip_can_env106根据发送的数据包预测验证ip控制器环境模块vip_can_env106根据数据包将会发送的报文,验证ip控制器环境模块vip_can_env106中验证ip的can代理vip_can_agent中的监视器mon通过对can总线Can_bus110的监控,收集验证ip控制器环境模块vip_can_env106发送的数据包将会预期发送至被测can环境模块dut_can_env104的报文,通过TLM端口传递给被测can环境模块dut_can_env104和验证ip控制器环境模块vip_can_env107中的计分板Scoreboard,存为预期数据。
根据示例实施例,在被测对象DUT109、验证ip控制器环境模块vip_can_env106产生CAN报文的数据包sequence中,约束该CAN报文使用的应用标识符frame_id不在can使用地址存放模块can_used_id_q108的相应队列中,即不与现有队列中的应用标识符frame_id重复。
S203,监视器收集接收报文。
根据示例实施例,被测can环境模块dut_can_env104发送数据包,被测对象DUT109产生CAN报文并发送,验证ip控制器环境模块vip_can_env106、107中的监视器mon收集被测对象DUT109发送的报文(为本申请中被测对象DUT109接收报文),验证ip控制器环境模块vip_can_env106、107中的监视器mon通过TLM端口传递给验证ip控制器环境模块vip_can_env106、107中的计分板Scoreboard。
根据示例实施例,验证ip控制器环境模块vip_can_env106发送数据包,验证ip控制器环境模块vip_can_env106产生CAN报文并发送,被测can环境模块dut_can_env104中的监视器mon收集验证ip控制器环境模块vip_can_env106发送的报文,被测can环境模块dut_can_env104中的监视器mon通过TLM端口传递给被测can环境模块dut_can_env104中的计分板Scoreboard。
根据示例实施例,验证ip控制器环境模块vip_can_env106发送数据包,验证ip控制器环境模块vip_can_env106产生CAN报文并发送,验证ip控制器环境模块vip_can_env107中的监视器mon收集报文,验证ip控制器环境模块vip_can_env107中的监视器mon通过TLM端口传递给验证ip控制器环境模块vip_can_env107中的计分板Scoreboard。
根据示例实施例,CAN模块级验证平台装置会根据系统协议,发送和接收报文的顺序,以本申请为例,can控制器环境模块dut_can_env104和验证ip控制器环境模块vip_can_env106并行发送数据包,但是被测对象DUT109或者验证ip控制器环境模块vip_can_env106发送报文时,会按照系统协议先后发送:例如,被测对象DUT109优先根据can控制器环境模块dut_can_env104的数据包发送报文,再验证ip控制器环境模块vip_can_env106发送报文,can总线Can_bus110进入空闲状态时,CAN报文被发送到can总线Can_bus110;本申请仅以此为例,但并不限于此;被测对象DUT109的CAN报文和验证ip控制器环境模块vip_can_env106的CAN报文并不会同时发送。
S204,将预期数据与接收报文对比,判断被测对象是否运算正确。
根据示例实施例,被测can环境模块dut_can_env104、验证ip控制器环境模块vip_can_env106、107中的计分板Scoreboard将接收报文与预期数据分析对比,在接收报文与预期数据一致的情况下,被测对象DUT109运算正确。
根据一些实施例,本申请提供多个验证ip控制器环境模块vip_can_env,可以在冲突发生时,对被测对象DUT的收发行为作为参考,来做相应分析。
根据示例实施例,ip控制器环境模块vip_can_env106发送数据包,被测can环境模块dut_can_env104收到被测对象DUT109的接收报文,验证ip控制器环境模块vip_can_env107收到根据验证ip控制器环境模块vip_can_env106发送的接收报文;以验证ip控制器环境模块vip_can_env107的接收报文为参考,验证被测can环境模块dut_can_env104接收到的预期数据和/或接收报文是否正确,判断被测对象DUT109的收发报文是否准确。
根据示例实施例,在被测can环境模块dut_can_env104接收到的预期数据和接收报文不同,验证ip控制器环境模块vip_can_env107接收到的对应数据包的预期数据和接收报文相同的情况下,确定被测can环境模块dut_can_env104或者被测对象DUT109故障。
根据示例实施例,在被测can环境模块dut_can_env104接收到的预期数据和接收报文不同,验证ip控制器环境模块vip_can_env107接收到的对应数据包的预期数据和接收报文不同的情况下,确定验证ip控制器环境模块vip_can_env106故障。
根据示例实施例,被测can环境模块dut_can_env104发送数据包,验证ip控制器环境模块vip_can_env106、107收到被测对象DUT109的接收报文;以验证ip控制器环境模块vip_can_env107的接收报文为参考,验证验证ip控制器环境模块vip_can_env106接收到的预期数据和/或接收报文是否正确,判断被测对象DUT109的收发报文是否准确。
根据示例实施例,在验证ip控制器环境模块vip_can_env106接收到的预期数据和接收报文不同,验证ip控制器环境模块vip_can_env107接收到的对应数据包的预期数据和接收报文相同的情况下,确定验证ip控制器环境模块vip_can_env106故障。
根据示例实施例,在验证ip控制器环境模块vip_can_env106接收到的预期数据和接收报文不同,验证ip控制器环境模块vip_can_env107接收到的对应数据包的预期数据和接收报文不同的情况下,确定被测can环境模块dut_can_env104或者被测对象DUT109故障。
根据示例实施例,在被测can环境模块dut_can_env104、验证ip控制器环境模块vip_can_env106、107中计分板Scoreboard对比分析后,将该报文使用的应用标识符Frameid从can使用地址存放模块can_used_id_q108对应的队列中删除。
根据一些实施例,本申请中使用Singleton类定义can_used_id_q类,约束使用的应用标识符frame_id不在can使用地址存放模块can_used_id_q的相应队列中;当该报文被接收站点完整接收,在计分板Scoreboard比对分析后将该应用标识符Frame id从can使用地址存放模块can_used_id_q对应的队列中删除。通过该方式,使得在同一时间内,can总线Can_bus上不会出现相同的CAN ID,支持EDA环境中CAN总线控制器的冲突场景验证。
本申请还可以通过被测can环境模块dut_can_env104和验证ip控制器环境模块vip_can_env107来进行并行发包,通过计分板来验证被测对象是否运算正确。
在CAN模块验证平台开始运行后,被测can环境模块dut_can_env104和验证ip控制器环境模块vip_can_env107并行发包,被测can环境模块dut_can_env104中的被测can代理dut_can_agt中的驱动器drv驱动序列发生器sqr发送数据包,序列发生器sqr将数据包传递给驱动器drv后,驱动器drv利用寄存器模型ral model向外围总线环境apb_env发送数据包sequence,外围总线环境apb_env将数据包转换成数据信号,经接口vip_apb_if,使用apb总线将配置发送给被测对象DUT109,驱动其发包。
验证ip控制器环境模块vip_can_env107中的验证ip的can代理vip_can_agent中的驱动器drv驱动序列发生器sqr发送数据包,序列发生器sqr将数据包传递给驱动器drv后,验证ip控制器环境模块vip_can_env107解析数据包产生CAN报文,并通过接口vip_can_if向can总线Can_bus110发送报文。
被测对象DUT109解析数据包产生CAN报文时,被测can环境模块dut_can_env104根据发送的数据包预测被测对象DUT109将会发送的报文(本申请中指被测对象DUT109发送报文),被测can环境模块dut_can_env104中的监视器mon通过对apb总线的监控,收集被测对象DUT109预期发送的报文,通过TLM端口传递给验证ip控制器环境模块vip_can_env106、107中的计分板Scoreboard,存为预期数据。
根据示例实施例,验证ip控制器环境模块vip_can_env107根据发送的数据包预测预测验证ip控制器环境模块vip_can_env107根据数据包将会发送的报文,验证ip控制器环境模块vip_can_env107中验证ip的can代理vip_can_agent中的监视器mon通过对can总线Can_bus110的监控,收集验证ip控制器环境模块vip_can_env106发送的数据包将会预期发送至被测can环境模块dut_can_env104的报文,通过TLM端口传递给被测can环境模块dut_can_env104和验证ip控制器环境模块vip_can_env106中的计分板Scoreboard,存为预期数据。
根据示例实施例,在被测对象DUT109验证ip控制器环境模块vip_can_env107产生CAN报文的数据包sequence中,约束该CAN报文使用的应用标识符frame_id不在can使用地址存放模块can_used_id_q108的相应队列中,即不与现有队列中的应用标识符frame_id重复。
根据示例实施例,被测can环境模块dut_can_env104发送数据包,被测对象DUT109产生CAN报文并发送,验证ip控制器环境模块vip_can_env106、107中的监视器mon收集被测对象DUT109发送的报文(为本申请中被测对象DUT109接收报文),验证ip控制器环境模块vip_can_env106、107中的监视器mon通过TLM端口传递给验证ip控制器环境模块vip_can_env106、107中的计分板Scoreboard。
根据示例实施例,验证ip控制器环境模块vip_can_env107发送数据包,验证ip控制器环境模块vip_can_env107产生CAN报文并发送,被测can环境模块dut_can_env104中的监视器mon分别收集验证ip控制器环境模块vip_can_env107发送的报文,被测can环境模块dut_can_env104中的监视器mon通过TLM端口传递给被测can环境模块dut_can_env104中的计分板Scoreboard。
根据示例实施例,验证ip控制器环境模块vip_can_env107发送数据包,验证ip控制器环境模块vip_can_env107产生CAN报文并发送,验证ip控制器环境模块vip_can_env106中的监视器mon收集报文,验证ip控制器环境模块vip_can_env106中的监视器mon通过TLM端口传递给验证ip控制器环境模块vip_can_env106中的计分板Scoreboard。
根据示例实施例,CAN模块级验证平台装置会根据系统协议,发送接收报文的顺序,以本申请为例,can控制器环境模块dut_can_env104和验证ip控制器环境模块vip_can_env107并行发送数据包,但是被测对象DUT109或者验证ip控制器环境模块vip_can_env106发送报文时,会按照系统协议先后发送:例如,被测对象DUT109优先根据can控制器环境模块dut_can_env104的数据包发送报文,再验证ip控制器环境模块vip_can_env107发送报文,can总线Can_bus110进入空闲状态时,CAN报文被发送到can总线Can_bus110;本申请仅以此为例,但并不限于此;被测对象DUT109的CAN报文和验证ip控制器环境模块vip_can_env107的CAN报文并不会同时发送。
被测can环境模块dut_can_env104、验证ip控制器环境模块vip_can_env106、107中的计分板Scoreboard将接收报文与预期数据分析对比,在接收报文与预期数据一致的情况下,被测对象DUT109运算正确。
根据一些实施例,本申请提供多个验证ip控制器环境模块vip_can_env,可以在冲突发生时,对被测对象DUT的收发行为作为参考,来做相应分析。
根据示例实施例,ip控制器环境模块vip_can_env107发送数据包,被测can环境模块dut_can_env104收到被测对象DUT109的接收报文,验证ip控制器环境模块vip_can_env106收到根据验证ip控制器环境模块vip_can_env107发送的接收报文;以验证ip控制器环境模块vip_can_env106的接收报文为参考,验证被测can环境模块dut_can_env104接收到的预期数据和/或接收报文是否正确,判断被测对象DUT109的收发报文是否准确。
根据示例实施例,在被测can环境模块dut_can_env104接收到的预期数据和接收报文不同,验证ip控制器环境模块vip_can_env106接收到的对应数据包的预期数据和接收报文相同的情况下,确定被测can环境模块dut_can_env104或者被测对象DUT109故障。
根据示例实施例,在被测can环境模块dut_can_env104接收到的预期数据和接收报文不同,验证ip控制器环境模块vip_can_env106接收到的对应数据包的预期数据和接收报文不同的情况下,确定验证ip控制器环境模块vip_can_env107故障。
根据示例实施例,被测can环境模块dut_can_env104发送数据包,验证ip控制器环境模块vip_can_env106、107收到被测对象DUT109的接收报文;以验证ip控制器环境模块vip_can_env106的接收报文为参考,验证验证ip控制器环境模块vip_can_env107接收到的预期数据和/或接收报文是否正确,判断被测对象DUT109的收发报文是否准确。
根据示例实施例,在验证ip控制器环境模块vip_can_env107接收到的预期数据和接收报文不同,验证ip控制器环境模块vip_can_env106接收到的对应数据包的预期数据和接收报文相同的情况下,确定验证ip控制器环境模块vip_can_env107故障。
根据示例实施例,在验证ip控制器环境模块vip_can_env107接收到的预期数据和接收报文不同,验证ip控制器环境模块vip_can_env106接收到的对应数据包的预期数据和接收报文不同的情况下,确定被测can环境模块dut_can_env104或者被测对象DUT109故障。
根据示例实施例,在被测can环境模块dut_can_env104、验证ip控制器环境模块vip_can_env106、107中计分板Scoreboard对比分析后,将该报文使用的应用标识符Frameid从can使用地址存放模块can_used_id_q108对应的队列中删除。
本申请提供一种基于UVM和VIP的CAN模块级验证平台及冲突场景验证方法,使用Singleton类定义can_used_id_q Class,约束使用的应用标识符不在can_used_id_q的相应队列中;在计分板比对分析后将该应用标识符从can_used_id_q对应的队列中删除,使得在同一时间,CAN总线上不会出现相同的CAN ID,EDA验证环境可以实现支持冲突验证。
图3示出本申请提供的一种电子设备的结构图。
参阅图3,图3提供一种电子设备,包括处理器以及存储器。存储器存储有计算机指令,当计算机指令被处理器执行时,使得处理器执行所述计算机指令从而实现如图2所示的方法以及细化方案。
应该理解,上述的装置实施例仅是示意性的,本发明披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本发明各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述处理器或芯片可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述片上缓存、片外内存、存储器可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-AccessMemory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行如图2所示的方法以及细化方案。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (16)
1.一种CAN模块级验证平台冲突场景验证方法,应用于被测can环境模块,其特征在于,所述冲突场景验证方法包括:
发送第一数据包,使被测对象按照所述第一数据包的配置进行CAN报文的收发;
接收第一验证ip控制器环境模块根据发送至所述被测对象的第二数据包发送的第一预期数据,其中,所述第一数据包和所述第二数据包是并行发送的;
接收第一接收报文,所述第一接收报文是所述被测对象根据所述第二数据包发送;
将所述第一预期数据和所述第一接收报文对比分析,验证所述被测对象运算结果。
2.如权利要求1所述的冲突场景验证方法,其特征在于,所述验证所述被测对象运算结果包括:
在所述第一预期数据和所述第一接收报文相同的情况下,确定所述被测对象运算结果正确;
在所述第一预期数据和所述第一接收报文不同的情况下,确定验证CAN模块级验证平台故障。
3.一种CAN模块级验证平台冲突场景验证方法,应用于第二验证ip控制器环境装置,其特征在于,所述冲突场景验证方法包括:
接收根据第三数据包发送的第二预期数据;
接收根据所述第三数据包发送的第二接收报文;
将所述第二预期数据与所述第二接收报文对比分析,验证CAN模块级验证平台是否故障。
4.如权利要求3所述的冲突场景验证方法,其特征在于,包括:
第一验证ip控制器环境模块和被测can环境模块并行发送数据包;
所述验证CAN模块级验证平台选择所述第一验证ip控制器环境模块发送的数据包或所述被测can环境模块的数据包为所述第三数据包,优先发送。
5.如权利要求4所述的冲突场景验证方法,其特征在于,所述被测can环境模块发送数据包至所述被测对象,所述被测对象进行CAN报文的收发;
所述被测can环境模块接收预期数据和接收报文并对比分析;
所述预期数据和所述接收报文是根据所述第一验证ip控制器环境模块发送的数据包发送的。
6.如权利要求4所述的冲突场景验证方法,其特征在于,所述第一验证ip控制器环境模块接收预期数据和接收报文并对比分析;
所述预期数据和所述接收报文是根据所述被测can环境模块发送的数据包发送的。
7.如权利要求6所述的冲突场景验证方法,其特征在于,所述冲突场景验证方法还包括:
判断所述第一验证ip控制器环境模块是否故障,包括:
响应于所述第一验证ip控制器环境模块接收到的预期数据和接收报文不同的指示:
在所述第二验证ip控制器环境模块接收到的所述第二预期数据和所述第二接收报文相同的情况下,确定所述第一验证ip控制器环境模块故障;
在所述第二验证ip控制器环境模块接收到的所述第二预期数据和所述第二接收报文不同的情况下,确定所述被测can环境模块故障或者所述被测对象运算错误。
8.一种CAN模块级验证平台冲突场景验证方法,应用于第一验证ip控制器环境装置,其特征在于,所述冲突场景验证方法包括:
发送第四数据包;
接收被测can环境模块根据发送至所述被测对象的第五数据包发送的第三预期数据,其中,所述第四数据包和所述第五数据包是并行发送的;
接收所述被测对象根据所述第五数据包发送的第三接收报文;
将所述第三预期数据和所述第三接收报文对比分析,验证所述被测对象运算结果。
9.如权利要求8所述的冲突场景验证方法,其特征在于,所述验证所述被测对象运算结果包括:
在所述第三预期数据和所述第三接收报文相同的情况下,确定所述被测对象运算结果正确;
在所述第三预期数据和所述第三接收报文不同的情况下,确定验证CAN模块级验证平台故障。
10.一种CAN模块级验证平台,其特征在于,所述验证平台包括被测can环境模块,第一验证ip控制器环境模块和第二验证ip控制器环境模块,其中:
所述被测can环境模块,用于执行如权利要求1或2所述的方法;
所述第一验证ip控制器环境模块,用于执行如权利要求8或9所述的方法;
所述第二验证ip控制器环境模块,用于执行如权利要求3-7中任一项所述的方法。
11.如权利要求10所述的验证平台,其特征在于,所述验证平台还包括通信连接的can总线监控接口和can总线,其中:所述can总线监控接口通过所述can总线判断所述被测对象发送的比特位在报文的位置。
12.如权利要求10所述的验证平台,其特征在于,所述验证平台还包括can使用地址存放模块,用于存放所述被测对象收发报文时的应用标识符,与已存放的应用标识符不重复。
13.如权利要求12所述的验证平台,其特征在于,在所述被测can环境模块或所述第一验证ip控制器模块或所述第二验证ip控制器环境模块进行预期数据和接收报文的对比分析后,所述can使用地址存放模块删除接收报文对应的应用标识符。
14.如权利要求10所述的验证平台,其特征在于,所述被测can环境模块包括计分板、被测can代理和外围总线环境,其中:
所述被测can代理将数据包发送给所述外围总线环境,所述外围总线环境将所述数据包转换成数据信号发送给被测对象,用于配置所述被测对象支持的模式,使所述被测对象按照配置进行CAN报文的收发;
所述计分板用于获取所述第一验证ip控制器模块的预期数据和所述被测对象发送的接收报文并对比,验证所述被测对象运算结果。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述处理器执行权利要求1-9任一者所述的方法。
16.一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行权利要求1-9任一者所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094471.4A CN115544921A (zh) | 2022-09-08 | 2022-09-08 | 基于uvm和vip的can模块级验证平台及冲突场景验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094471.4A CN115544921A (zh) | 2022-09-08 | 2022-09-08 | 基于uvm和vip的can模块级验证平台及冲突场景验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115544921A true CN115544921A (zh) | 2022-12-30 |
Family
ID=84725232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211094471.4A Pending CN115544921A (zh) | 2022-09-08 | 2022-09-08 | 基于uvm和vip的can模块级验证平台及冲突场景验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115544921A (zh) |
-
2022
- 2022-09-08 CN CN202211094471.4A patent/CN115544921A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113434355B (zh) | 模块验证方法、uvm验证平台、电子设备及存储介质 | |
CN113342583B (zh) | 芯片验证系统、方法、装置、设备和存储介质 | |
US20140032204A1 (en) | Partitionless Multi User Support For Hardware Assisted Verification | |
CN104657555A (zh) | 一种基于uvm验证方法学的toe的验证方法及平台 | |
CN114417768B (zh) | 一种以太网芯片的数模混合仿真方法及系统 | |
CN115542875A (zh) | 一种基于soa服务的车辆检测方法及相关设备 | |
CN114036883A (zh) | 一种基于uvm和vip的uart模块级验证平台 | |
CN112559273A (zh) | 一种基于uvm的qspi验证系统及方法 | |
US20090144675A1 (en) | Transaction based verification of a system on chip on system level by translating transactions into machine code | |
US10613963B2 (en) | Intelligent packet analyzer circuits, systems, and methods | |
CN102298112B (zh) | 一种可编程逻辑器件的测试方法及系统 | |
CN112632885B (zh) | 软硬件联合验证系统及方法 | |
WO2015131697A1 (zh) | 多路帧随机数据验证处理方法及装置 | |
CN115544921A (zh) | 基于uvm和vip的can模块级验证平台及冲突场景验证方法 | |
CN112363877A (zh) | 芯片验证方法及平台 | |
US7168029B2 (en) | Method for testing a universal serial bus host controller | |
CN116306398A (zh) | 一种多通道io接口ip的验证平台及其停止算法 | |
CN115017864A (zh) | 验证方法、验证装置、电子设备和计算机可读存储介质 | |
Wiecha et al. | Architecture and design of a Bluetooth low energy controller | |
US7454729B1 (en) | Method and system for validating testbench | |
CN115454858A (zh) | 验证系统 | |
CN114780143A (zh) | 基于uvm的can控制器激励序列生成方法、装置和验证平台 | |
CN110958079B (zh) | 一种测试方法、装置及测试系统 | |
CN106131151A (zh) | 用于测试推送系统的方法及装置 | |
CN107562617B (zh) | 一种基于nc系统中的模块验证系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |