LDPC纠错模块的验证系统、方法、存储介质及电子设备与流程

文档序号:30621678发布日期:2022-07-02 03:26阅读:131来源:国知局
LDPC纠错模块的验证系统、方法、存储介质及电子设备与流程
ldpc纠错模块的验证系统、方法、存储介质及电子设备
技术领域
1.本技术涉及ldpc纠错模块的验证领域,具体而言,涉及一种ldpc纠错模块的验证系统、方法、存储介质及电子设备。


背景技术:

2.随着芯片规模和复杂度的提升,芯片验证的难度和工作量也急剧增加。验证工作在目前芯片设计流程中占据的平均时间已经超过一半,在部分芯片中这个时间占比超过了70%。因此,如何高效完备地完成验证工作成为了影响芯片质量,研发周期和成本的关键因素。针对传统验证领域中验证语言抽象层次较低和验证思想局限性等问题,目前基于system verilog语言的uvm(universal verification methodology)验证方法学引入了受约束的随机测试思想,可以很大程度上解决传统验证方法的弊端,其特有的思想,架构和验证库也使得uvm成为当前验证领域的主流方法。
3.ldpc(low density parity check)码,称为低密度奇偶校验码,其性能非常优异,可以逼近香农极限,在通信和存储等领域得到了广泛研究和应用。在通信和存储领域的相关芯片中,ldpc纠错模块通常作为关键模块负责数据的编码和译码功能。传统的验证平台在可移植性、通用性和高效性等方面还有待提高。
4.针对相关技术中ldpc纠错模块的验证系统验证效率低,通用性差的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术提供一种ldpc纠错模块的验证方法、系统、存储介质及电子设备,以解决相关技术中ldpc纠错模块的验证系统验证效率低,通用性差的问题。
6.根据本技术的一个方面,提供了一种ldpc纠错模块的验证系统。该系统包括:测试用例库,用于存储ldpc纠错模块的多个测试用例;序列器,用于分别依据每个测试用例生成输入激励事务,其中,每个序列器对应一种测试用例;输入代理器,输入代理器包括序列发生器、驱动器和输入监测器,序列发生器与序列器连接,用于获取序列器发送的输入激励事务,驱动器与序列发生器连接,用于将输入激励事务驱动至ldpc纠错模块,输入监测器用于将ldpc纠错模块的输入信息转换为参考输入激励事务,并发送至仿真模块,其中,输入激励事务中包含输入信息,ldpc纠错模块基于输入信息生成实际输出信息;仿真模块,与输入代理器中的输入监测器连接,用于获取参考输入激励事务,基于参考输入激励事务生成参考输出事务,并将参考输出事务发送至比较器;输出代理器,输出代理器包括输出监测器,输出监测器用于将ldpc纠错模块的实际输出信息封装为实际输出事务,并将实际输出事务发送至比较器;比较器,与仿真模块和输出代理器中的输出监测器连接,用于对比实际输出事务和参考输出事务,得到对比结果。
7.可选地,该系统还包括:聚合参数类,用于存储校验矩阵信息,其中,校验矩阵信息用于初始化ldpc纠错模块。
8.可选地,该系统还包括:配置接口,配置接口的一端与ldpc纠错模块连接,配置接口的另一端与驱动器连接,用于提供第一方法,其中,驱动器调用第一方法将校验矩阵信息驱动至ldpc纠错模块,以完成ldpc纠错模块的初始化配置。
9.可选地,该系统还包括:数据接口,数据接口的一端与ldpc纠错模块连接,数据接口的另一端分别与驱动器、输入监测器和输出监测器连接,数据接口用于提供第二方法、第三方法和第四方法,其中,驱动器调用第二方法将输入激励事务驱动至ldpc纠错模块,输入监测器调用第三方法获取ldpc纠错模块的输入信息,将输入信息封装为参考输入激励事务,输出监测器调用第四方法获取实际输出信息,将实际输出信息封装为实际输出事务。
10.根据本技术的另一方面,提供了一种ldpc纠错模块的验证方法。该方法包括:从测试用例库中获取ldpc纠错模块的测试用例;通过ldpc纠错模块的测试用例对应的序列器生成输入激励事务;通过驱动器将输入激励事务驱动至ldpc纠错模块;通过输入监测器获取参考输入激励事务,并将参考输入激励事务发送至仿真模块;通过仿真模块运行参考输入激励事务,得到参考输出事务,并将参考输出事务发送至比较器;通过输出监测器获取ldpc纠错模块的实际输出事务,将实际输出事务发送至比较器;通过比较器对比实际输出事务和参考输出事务,获得比较结果。
11.可选地,在从测试用例库中获取ldpc纠错模块的测试用例之前,方法还包括:获取ldpc纠错模块的功能列表,依据功能列表中的功能创建多种第一测试用例,并将多种第一测试用例存储至测试用例库;和/或获取ldpc纠错模块的接口信息和寄存器信息,依据接口信息和寄存器信息创建多种第二测试用例,并将多种第二测试用例存储至测试用例库;和/或获取ldpc纠错模块存在的异常情况信息,依据异常情况信息创建多种第三测试用例,并将多种第三测试用例存储至测试用例库,其中,异常情况至少包括以下之一:数据异常,寄存器异常,协议异常,时序异常,压力测试异常;和/或获取ldpc纠错模块在不同应用场景下的误码特性,依据不同应用场景下的误码特性创建多种第四测试用例,并将多种第四测试用例存储至测试用例库;和/或根据ldpc纠错模块的覆盖率数据结果确定ldpc纠错模块未被验证的代码,依据未被验证的代码设计第五测试用例,并将第五测试用例存储至测试用例库。
12.可选地,在从测试用例库中获取ldpc纠错模块的测试用例之后,方法还包括:获取校验矩阵信息;将校验矩阵信息存储至聚合参数类中,并将聚合参数类的指针传递给驱动器;通过驱动器调用配置接口中的第一方法将聚合参数类中的校验矩阵信息驱动至ldpc纠错模块中,以完成ldpc纠错模块的初始化配置。
13.可选地,通过驱动器将输入激励事务驱动至ldpc纠错模块包括:通过驱动器调用数据接口中的第二方法将输入激励事务驱动至ldpc纠错模块;通过输入监测器获取参考输入激励事务包括:通过输入监测器调用数据接口中的第三方法获取ldpc纠错模块的输入信息,并将输入信息封装为参考输入激励事务;通过输出监测器获取ldpc纠错模块产生的实际输出事务包括:通过输出监测器调用数据接口的第四方法获取ldpc纠错模块产生的实际输出信息,将实际输出信息封装为实际输出事务。
14.可选地,通过仿真模块运行参考输入激励事务,得到参考输出事务包括:在ldpc纠错模块为编码模块的情况下,通过直接编程接口调用仿真模块中的ldpc编码算法模型,将参考输入激励事务在ldpc编码算法模型中运行,得到参考输出事务;在ldpc纠错模块为译
码模块的情况下,通过直接编程接口调用仿真模块中的ldpc译码算法模型,将参考输入激励事务在ldpc译码算法模型中运行,得到参考输出事务。
15.根据本技术的另一方面,提供了一种ldpc纠错模块的验证装置。该装置包括:第一获取单元,用于从测试用例库中获取ldpc纠错模块的测试用例;生成单元,用于通过ldpc纠错模块的测试用例对应的序列器生成输入激励事务;驱动单元,用于通过驱动器将输入激励事务驱动至ldpc纠错模块;第二获取单元,用于通过输入监测器获取参考输入激励事务,并将参考输入激励事务发送至仿真模块;运行单元,用于通过仿真模块运行参考输入激励事务,得到参考输出事务,并将参考输出事务发送至比较器;第三获取单元,用于通过输出监测器获取ldpc纠错模块的实际输出事务,将实际输出事务发送至比较器;对比单元,用于通过比较器对比实际输出事务和参考输出事务,获得比较结果。
16.根据本发明实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种ldpc纠错模块的验证方法。
17.根据本发明实施例的另一方面,还提供了一种电子设备,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种ldpc纠错模块的验证方法。
18.通过本技术,采用以下步骤:从测试用例库中获取ldpc纠错模块的测试用例;通过ldpc纠错模块的测试用例对应的序列器生成输入激励事务;通过驱动器将输入激励事务驱动至ldpc纠错模块;通过输入监测器获取参考输入激励事务,并将参考输入激励事务发送至仿真模块;通过仿真模块运行参考输入激励事务,得到参考输出事务,并将参考输出事务发送至比较器;通过输出监测器获取ldpc纠错模块的实际输出事务,将实际输出事务发送至比较器;通过比较器对比实际输出事务和参考输出事务,获得比较结果,解决了相关技术中ldpc纠错模块的验证系统验证效率低,通用性差的问题。通过基于uvm验证方法学的思想和框架搭建ldpc纠错模块的验证系统,针对不同ldpc纠错模块的应用场景,有更好的通用性和重用性;ldpc纠错模块的验证系统包含配置接口和数据接口,将ldpc纠错模块的接口进行了划分,可以解决同一接口中由于信号过多而导致的代码冗余易错问题;在所述配置接口和数据接口中实现了ldpc纠错模块的验证系统中的主要方法,这种设计思路使得验证平台在维护和移植的时候,只需重点关注接口部分;并且这种设计思路不需要在驱动器和监测器中实现时序控制,从而有利于协同仿真硬件加速的实现;所述测试激励库的设计提供了一种可参考的测试用例设计思路,这种思路也可以应用于其他待测模块。
附图说明
19.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
20.图1是根据本技术实施例提供的ldpc纠错模块的验证系统的示意图;
21.图2是根据本技术实施例提供的ldpc纠错模块的验证方法的流程图;
22.图3是根据本技术实施例提供的ldpc纠错模块的验证装置的示意图。
具体实施方式
23.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
24.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
25.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
26.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:
27.uvm:(universal verification methodology)验证方法学,该方法学引入了受约束的随机测试思想,提供了独特统一的验证思想和架构,可以满足各种芯片验证的需求;
28.ldpc码:(low density parity check),低密度奇偶校验码,该纠错码性能非常优异,可以逼近香农极限,在通信和存储等领域得到了广泛研究和应用。
29.根据本技术的实施例,提供了一种ldpc纠错模块的验证系统。
30.图1是根据本技术实施例提供的ldpc纠错模块的验证系统的结构示意图,如图1所示,该系统包括:
31.测试用例库,用于存储ldpc纠错模块的多个测试用例。
32.具体地,可以从测试用例库获取待测ldpc纠错模块对应的多个测试用例,每个测试用例对应一种测试激励,每种测试激励存储有配置信息或数据信息,ldpc纠错模块的验证系统每次测试一个测试用例,直到测试完测试用例库中的所有测试用例,ldpc纠错模块验证结束。
33.序列器,用于分别依据每个测试用例生成输入激励事务,其中,每个序列器对应一种测试用例。
34.具体地,序列器用于依据测试用例对应的数据信息和配置信息生成输入激励事务,输入激励事务为包含输入信息的通信单元,在ldpc纠错模块的验证系统中以事务的形式进行通信。
35.输入代理器,输入代理器包括序列发生器、驱动器和输入监测器,序列发生器与序列器连接,用于获取序列器发送的输入激励事务,驱动器与序列发生器连接,用于将输入激励事务驱动至ldpc纠错模块,输入监测器用于将ldpc纠错模块的输入信息转换为参考输入激励事务,并发送至仿真模块,其中,输入激励事务中包含输入信息,ldpc纠错模块基于输入信息生成实际输出信息。
36.具体地,序列器将输入激励事务发送至序列发生器,驱动器向序列发生器申请输入激励事务,在驱动器成功获取输入激励事务的情况下,驱动器调用数据接口中的put_
transfer方法将输入激励事务驱动至ldpc纠错模块,输入监测器调用数据接口中的get_in_transfer方法收集ldpc纠错模块的输入信息,并将输入信息封装为参考输入激励事务,并将参考输入激励事务发送给仿真模块。
37.仿真模块,与输入代理器中的输入监测器连接,用于获取参考输入激励事务,基于参考输入激励事务生成参考输出事务,并将参考输出事务发送至比较器。
38.具体地,仿真模块使用dpi接口(直接编程接口)调用算法模型运行参考输入激励事务,获得参考输出事务,并将参考输出事务发送至比较器。
39.输出代理器,输出代理器包括输出监测器,输出监测器用于将ldpc纠错模块的实际输出信息封装为实际输出事务,并将实际输出事务发送至比较器。
40.具体地,ldpc纠错模块运行输入信息并输出实际输出信息,输出监测器调用数据接口中的get_out_transfer方法收集实际输出信息,并将实际输出信息封装为实际输出事务,发送至比较器。
41.比较器,与仿真模块和输出代理器中的输出监测器连接,用于对比实际输出事务和参考输出事务,得到对比结果。
42.具体地,比较器获得实际输出事务和参考输出事务后,将二者进行对比,在对比结果显示实际输出事务和参考输出事务中的数据一致的情况下,确定当前测试的测试用例验证通过。
43.可选地,在本技术实施例提供的ldpc纠错模块的验证系统中,该系统还包括:聚合参数类,用于存储校验矩阵信息,其中,校验矩阵信息用于初始化ldpc纠错模块。
44.具体地,校验矩阵信息可以为ldpc校验矩阵相关信息,从ldpc纠错模块的验证系统的外部读取ldpc校验矩阵相关信息,存储到聚合参数类中,并将聚合参数类的指针传递给驱动器。
45.可选地,该系统还包括:配置接口,配置接口的一端与ldpc纠错模块连接,配置接口的另一端与驱动器连接,用于提供第一方法,其中,驱动器调用第一方法将校验矩阵信息驱动至ldpc纠错模块,以完成ldpc纠错模块的初始化配置。
46.具体地,第一方法可以为set_matrix方法,配置接口中定义了set_matrix方法,驱动器调用set_matrix方法将校验矩阵信息驱动至ldpc纠错模块,ldpc纠错模块通过校验矩阵信息完成初始化配置。
47.可选地,该系统还包括:数据接口,数据接口的一端与ldpc纠错模块连接,数据接口的另一端分别与驱动器、输入监测器和输出监测器连接,数据接口用于提供第二方法、第三方法和第四方法,其中,驱动器调用第二方法将输入激励事务驱动至ldpc纠错模块,输入监测器调用第三方法获取ldpc纠错模块的输入信息,将输入信息封装为参考输入激励事务,输出监测器调用第四方法获取实际输出信息,将实际输出信息封装为实际输出事务。
48.具体地,第二方法可以为put_transfer方法,第三方法可以为get_in_transfer方法,第四方法可以为get_out_transfer方法,数据接口中定义了第二方法、第三方法和第四方法,以方便驱动器、输入监测器和输出监测器调用这些方法。
49.通过本技术实施例的ldpc纠错模块的验证系统基于uvm验证方法学的思想和框架实现,针对不同ldpc纠错模块的应用场景,有更好的通用性和重用性。
50.根据本技术的另一实施例,提供了一种ldpc纠错模块的验证方法。
51.图2是根据本技术实施例提供的ldpc纠错模块的验证方法的流程图。如图2所示,该方法包括以下步骤:
52.步骤s102,从测试用例库中获取ldpc纠错模块的测试用例。
53.具体地,测试用例库是根据ldpc纠错模块的功能列表、输入信号、寄存器信息、异常场景和覆盖率结果等多维度设计的,测试用例库是存储测试用例的数据库,每个测试用例产生一种对应的输入激励,输入激励会被驱动到ldpc纠错模块中,以实现ldpc纠错模块的各种功能。
54.步骤s104,通过ldpc纠错模块的测试用例对应的序列器生成输入激励事务。
55.具体地,输入激励事务中包含输入信息,输入信息可以在ldpc纠错模块中运行。
56.步骤s106,通过驱动器将输入激励事务驱动至ldpc纠错模块。
57.具体地,驱动器将输入信息驱动至ldpc纠错模块。
58.步骤s108,通过输入监测器获取参考输入激励事务,并将参考输入激励事务发送至仿真模块。
59.具体地,输入监测器监测ldpc纠错模块的输入信息,将输入信息封装为参考输入激励事务,并将参考输入激励事务发送至仿真模块。
60.步骤s110,通过仿真模块运行参考输入激励事务,得到参考输出事务,并将参考输出事务发送至比较器。
61.具体地,仿真模块通过dpi接口调用算法模型运行参考输入激励事务,在ldpc纠错模块为编码模块时,仿真模块调用ldpc编码c算法模型运行参考输入激励事务,在ldpc纠错模块为译码模块时,仿真模块调用ldpc译码c算法模型运行参考输入激励事务,仿真模块运行参考输入激励事务后得到参考输出事务,并将参考输出事务发送至比较器。
62.步骤s112,通过输出监测器获取ldpc纠错模块的实际输出事务,将实际输出事务发送至比较器。
63.具体地,输出监测器监测ldpc纠错模块的输出信息,并将输出信息封装为实际输出事务,将实际输出事务发送至比较器。
64.步骤s114,通过比较器对比实际输出事务和参考输出事务,获得比较结果。
65.具体地,比较器通过对比实际输出事务和参考输出事务是否一致来判断该项测试用例是否通过。
66.本技术实施例提供的ldpc纠错模块的验证方法,通过从测试用例库中获取ldpc纠错模块的测试用例;通过ldpc纠错模块的测试用例对应的序列器生成输入激励事务;通过驱动器将输入激励事务驱动至ldpc纠错模块;通过输入监测器获取参考输入激励事务,并将参考输入激励事务发送至仿真模块;通过仿真模块运行参考输入激励事务,得到参考输出事务,并将参考输出事务发送至比较器;通过输出监测器获取ldpc纠错模块的实际输出事务,将实际输出事务发送至比较器;通过比较器对比实际输出事务和参考输出事务,获得比较结果,解决了相关技术中ldpc纠错模块的验证系统验证效率低,通用性差的问题。通过基于uvm验证方法学的思想和框架搭建ldpc纠错模块的验证系统,针对不同ldpc纠错模块的应用场景,有更好的通用性和重用性;ldpc纠错模块的验证系统包含配置接口和数据接口,将ldpc纠错模块的接口进行了划分,可以解决同一接口中由于信号过多而导致的代码冗余易错问题;在所述配置接口和数据接口中实现了ldpc纠错模块的验证系统中的主要方
法,这种设计思路使得验证平台在维护和移植的时候,只需重点关注接口部分;并且这种设计思路不需要在驱动器和监测器中实现时序控制,从而有利于协同仿真硬件加速的实现;所述测试激励库的设计提供了一种可参考的测试用例设计思路,这种思路也可以应用于其他待测模块。
67.在模块验证的时候,需要完备的测试用例,可选地,在从测试用例库中获取ldpc纠错模块的测试用例之前,该方法还包括:获取ldpc纠错模块的功能列表,依据功能列表中的功能创建多种第一测试用例,并将多种第一测试用例存储至测试用例库;和/或获取ldpc纠错模块的接口信息和寄存器信息,依据接口信息和寄存器信息创建多种第二测试用例,并将多种第二测试用例存储至测试用例库;和/或获取ldpc纠错模块存在的异常情况信息,依据异常情况信息创建多种第三测试用例,并将多种第三测试用例存储至测试用例库,其中,异常情况至少包括以下之一:数据异常,寄存器异常,协议异常,时序异常,压力测试异常;和/或获取ldpc纠错模块在不同应用场景下的误码特性,依据不同应用场景下的误码特性创建多种第四测试用例,并将多种第四测试用例存储至测试用例库;和/或根据ldpc纠错模块的覆盖率数据结果确定ldpc纠错模块未被验证的代码,依据未被验证的代码设计第五测试用例,并将第五测试用例存储至测试用例库。
68.例如,ldpc纠错模块的功能列表包含a、b、c、d四种功能,依据每一种功能设计对应的第一测试用例,依据ldpc纠错模块的接口信息和寄存器信息判断有无遗漏的功能未设计对应的测试用例,在有遗漏的情况下,依据接口信息和寄存器信息设计对应的第二测试用例,考虑到验证ldpc纠错模块的过程中会存在异常情况,依据历史验证经验设计对应的第三测试用例,ldpc纠错模块在不同的应用场景下会存在不同的误码特性,依据误码特性设计对应的第四测试用例,上述第一测试用例、第二测试用例、第三测试用例和第四测试用例,在ldpc纠错模块的验证系统中均验证过时,结合ldpc纠错模块的覆盖率数据确定未验证到的功能,定向设计第五测试用例。通过提供一种可参考的测试用例设计思路,这种测试用例设计思路可以应用于其他模块的验证。
69.ldpc纠错模块的验证系统开始验证时,需要首先完成ldpc模块中校验矩阵相关信息的配置,可选地,在从测试用例库中获取ldpc纠错模块的测试用例之后,方法还包括:获取校验矩阵信息;将校验矩阵信息存储至聚合参数类中,并将聚合参数类的指针传递给驱动器;通过驱动器调用配置接口中的第一方法将聚合参数类中的校验矩阵信息驱动至ldpc纠错模块中,以完成ldpc纠错模块的初始化配置。
70.具体地,从ldpc纠错模块的验证系统外部获取校验矩阵信息,将校验矩阵信息存储在聚合参数类中,同时发送指针给驱动器,驱动器依据指针可以调用存储在聚合参数类中的校验矩阵信息,从而驱动校验矩阵信息至ldpc纠错模块中,ldpc纠错模块通过校验矩阵信息完成初始化配置。
71.ldpc纠错模块完成初始化配置后,开始进行测试用例的仿真执行,可选地,通过驱动器将输入激励事务驱动至ldpc纠错模块包括:通过驱动器调用数据接口中的第二方法将输入激励事务驱动至ldpc纠错模块;通过输入监测器获取参考输入激励事务包括:通过输入监测器调用数据接口中的第三方法获取ldpc纠错模块的输入信息,并将输入信息封装为参考输入激励事务;通过输出监测器获取ldpc纠错模块产生的实际输出事务包括:通过输出监测器调用数据接口的第四方法获取ldpc纠错模块产生的实际输出信息,将实际输出信
息封装为实际输出事务。
72.具体地,第二方法可以为put_transfer方法,第三方法可以为get_in_transfer方法,第四方法可以为get_out_transfer方法,数据接口中定义了第二方法、第三方法和第四方法,驱动器通过调用第二方法将输入激励事务驱动至ldpc纠错模块,输入监测器调用第三方法收集ldpc纠错模块的输入信息,将输入信息封装为参考输入激励事务并发送至仿真模块,ldpc纠错模块运行输入信息得到输出信息,输出监测器调用第四方法收集输出信息,并将输出信息封装为实际输出事务发送至比较器。通过在数据接口中实现了验证系统中的主要方法,使得ldpc纠错模块的验证系统在维护和移植的时候,只需重点关注接口部分;同时不需要在驱动器和监测器中实现时序控制,从而有利于协同仿真硬件的加速实现。
73.在仿真模块接收到参考输入激励事务后运行参考输入激励事务,可选地,通过仿真模块运行参考输入激励事务,得到参考输出事务包括:在ldpc纠错模块为编码模块的情况下,通过直接编程接口调用仿真模块中的ldpc编码算法模型,将参考输入激励事务在ldpc编码算法模型中运行,得到参考输出事务;在ldpc纠错模块为译码模块的情况下,通过直接编程接口调用仿真模块中的ldpc译码算法模型,将参考输入激励事务在ldpc译码算法模型中运行,得到参考输出事务。
74.具体地,ldpc纠错模块分为编码模块和译码模块,仿真模块根据被验证的ldpc纠错模块的类型通过dpi接口调用对应的算法模型运行参考输入激励事务,得到参考输出事务。
75.本技术实施例还提供了一种ldpc纠错模块的验证装置,需要说明的是,本技术实施例的ldpc纠错模块的验证装置可以用于执行本技术实施例所提供的用于ldpc纠错模块的验证方法。以下对本技术实施例提供的ldpc纠错模块的验证装置进行介绍。
76.图3是根据本技术实施例提供的ldpc纠错模块的验证装置的示意图。如图3所示,该装置包括:
77.第一获取单元10,用于从测试用例库中获取ldpc纠错模块的测试用例。
78.生成单元20,用于通过ldpc纠错模块的测试用例对应的序列器生成输入激励事务。
79.驱动单元30,用于通过驱动器将输入激励事务驱动至ldpc纠错模块。
80.第二获取单元40,用于通过输入监测器获取参考输入激励事务,并将参考输入激励事务发送至仿真模块。
81.运行单元50,用于通过仿真模块运行参考输入激励事务,得到参考输出事务,并将参考输出事务发送至比较器。
82.第三获取单元60,用于通过输出监测器获取ldpc纠错模块的实际输出事务,将实际输出事务发送至比较器。
83.对比单元70,用于通过比较器对比实际输出事务和参考输出事务,获得比较结果。
84.本技术实施例提供的ldpc纠错模块的验证装置,通过第一获取单元10,从测试用例库中获取ldpc纠错模块的测试用例。生成单元20,通过ldpc纠错模块的测试用例对应的序列器生成输入激励事务。驱动单元30,通过驱动器将输入激励事务驱动至ldpc纠错模块。第二获取单元40,通过输入监测器获取参考输入激励事务,并将参考输入激励事务发送至仿真模块。运行单元50,通过仿真模块运行参考输入激励事务,得到参考输出事务,并将参
考输出事务发送至比较器。第三获取单元60,通过输出监测器获取ldpc纠错模块的实际输出事务,将实际输出事务发送至比较器。对比单元70,通过比较器对比实际输出事务和参考输出事务,获得比较结果,解决了相关技术中ldpc纠错模块的验证系统验证效率低,通用性差的问题。通过基于uvm验证方法学的思想和框架搭建ldpc纠错模块的验证系统,针对不同ldpc纠错模块的应用场景,有更好的通用性和重用性;ldpc纠错模块的验证系统包含配置接口和数据接口,将ldpc纠错模块的接口进行了划分,可以解决同一接口中由于信号过多而导致的代码冗余易错问题;在所述配置接口和数据接口中实现了ldpc纠错模块的验证系统中的主要方法,这种设计思路使得验证平台在维护和移植的时候,只需重点关注接口部分;并且这种设计思路不需要在驱动器和监测器中实现时序控制,从而有利于协同仿真硬件加速的实现;所述测试激励库的设计提供了一种可参考的测试用例设计思路,这种思路也可以应用于其他待测模块。
85.可选地,在本技术实施例提供的ldpc纠错模块的验证装置中,该装置还包括:第一测试用例获取单元,用于获取ldpc纠错模块的功能列表,依据功能列表中的功能创建多种第一测试用例,并将多种第一测试用例存储至测试用例库;第二测试用例获取单元,用于获取ldpc纠错模块的接口信息和寄存器信息,依据接口信息和寄存器信息创建多种第二测试用例,并将多种第二测试用例存储至测试用例库;第三测试用例获取单元,用于获取ldpc纠错模块存在的异常情况信息,依据异常情况信息创建多种第三测试用例,并将多种第三测试用例存储至测试用例库,其中,异常情况至少包括以下之一:数据异常,寄存器异常,协议异常,时序异常,压力测试异常;第四测试用例获取单元,用于获取ldpc纠错模块在不同应用场景下的误码特性,依据不同应用场景下的误码特性创建多种第四测试用例,并将多种第四测试用例存储至测试用例库;第五测试用例获取单元,用于根据ldpc纠错模块的覆盖率数据结果确定ldpc纠错模块未被验证的代码,依据未被验证的代码设计第五测试用例,并将第五测试用例存储至测试用例库。
86.可选地,在本技术实施例提供的ldpc纠错模块的验证装置中,该装置还包括:第四获取单元,用于获取校验矩阵信息;存储单元,用于将校验矩阵信息存储至聚合参数类中,并将聚合参数类的指针传递给驱动器;配置单元,用于通过驱动器调用配置接口中的第一方法将聚合参数类中的校验矩阵信息驱动至ldpc纠错模块中,以完成ldpc纠错模块的初始化配置。
87.可选地,在本技术实施例提供的ldpc纠错模块的验证装置中,驱动单元30包括:驱动模块,用于通过驱动器调用数据接口中的第二方法将输入激励事务驱动至ldpc纠错模块;第二获取单元40包括:第一获取模块,用于通过输入监测器调用数据接口中的第三方法获取ldpc纠错模块的输入信息,并将输入信息封装为参考输入激励事务;第三获取单元60包括:第二获取模块,用于通过输出监测器调用数据接口的第四方法获取ldpc纠错模块产生的实际输出信息,将实际输出信息封装为实际输出事务。
88.可选地,在本技术实施例提供的ldpc纠错模块的验证装置中,运行单元50包括:第一运行模块,用于在ldpc纠错模块为编码模块的情况下,通过直接编程接口调用仿真模块中的ldpc编码算法模型,将参考输入激励事务在ldpc编码算法模型中运行,得到参考输出事务;第二运行模块,用于在ldpc纠错模块为译码模块的情况下,通过直接编程接口调用仿真模块中的ldpc译码算法模型,将参考输入激励事务在ldpc译码算法模型中运行,得到参
考输出事务。
89.上述ldpc纠错模块的验证装置包括处理器和存储器,上述第一获取单元10、生成单元20、驱动单元30、第二获取单元40、运行单元50、第三获取单元60和对比单元70等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
90.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来增强ldpc纠错模块的验证系统通用性,提高验证ldpc纠错模块效率。
91.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储ldpc纠错模块。
92.本技术实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种ldpc纠错模块的验证方法。
93.本技术实施例还提供了一种电子设备,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种ldpc纠错模块的验证方法。本文中的电子设备可以是服务器、pc、pad、手机等。
94.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
95.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
96.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
97.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
98.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
99.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/
或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
100.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
101.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
102.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1