技术新讯 > 信息存储应用技术 > ECC功能测试方法、装置、电子设备及存储介质与流程  >  正文

ECC功能测试方法、装置、电子设备及存储介质与流程

  • 国知局
  • 2024-07-31 19:32:13

本技术涉及芯片验证,特别是涉及一种ecc功能测试方法、装置、电子设备及存储介质。

背景技术:

1、静态随机存取存储器(static random access memory,sram)作为一种ram,可以用于存储数据,而sram中的数据一旦出错,会对芯片造成不可挽回的损失。因此在对sram进行读写操作时,可以通过纠错码(error correcting code,ecc)算法对sram中的数据进行校验,判断sram中的数据是否发生错误。对于sram中的数据的单比特错误,采用ecc算法可以自动对错误进行纠正;对于双比特错误,采用ecc算法可以对错误进行上报,以便于验证工程师及时发现sram中的错误数据,避免对芯片造成损失。由于sram对数据可靠性要求严格,ecc算法已经成为对sram进行数据校验的标准校验算法,且已被广泛使用。在此基础上,为了保证sram中的ecc功能正常,对ecc功能测试显得愈发重要。

2、而现有技术中,验证工程师需要在sram验证周期中额外针对每种ecc功能开发测试用例,进而对ecc功能进行逐项验证,人力成本较高,验证效率比较低。

技术实现思路

1、本技术实施例的目的在于提供一种ecc功能测试方法、装置、电子设备及存储介质,以提高验证效率。具体技术方案如下:

2、第一方面,本技术实施例提供一种ecc功能测试方法,应用于ecc序列组件,所述方法包括:

3、在监测到场景类序列组件对待测sram的写操作时,判断是否需要对所述写操作对应的写数据进行注错,所述场景类序列组件为用于对所述待测sram进行业务功能仿真测试的测试序列组件;

4、若需要对所述写操作对应的写数据进行注错,则记录所述写操作的写地址以及正确的写数据;

5、在监测到所述场景类序列组件对所述写地址的读操作时,记录ecc纠错结果;

6、基于记录的各写地址对应的ecc纠错结果和正确的写数据验证ecc功能是否正常。

7、在一种可能的实现方式中,在所述判断是否需要对所述写操作对应的写数据进行注错之后,所述方法还包括:

8、若需要对所述写操作对应的写数据进行注错,则按照预先配置的一组注错配置信息对所述写数据进行注错,将错误的写数据写入所述待测sram;

9、所述判断是否需要对所述写操作对应的写数据进行注错,包括:

10、随机选择是否需要对所述写操作对应的写数据进行注错。

11、在一种可能的实现方式中,在所述判断是否需要对所述写操作对应的写数据进行注错之前,所述方法还包括:

12、为ecc注错寄存器配置注错配置信息,以使得所述待测sram在监测到场景类序列组件对所述待测sram的写操作时,按照所述注错配置信息对所述写操作对应的写数据进行注错,并将错误的写数据写入所述待测sram;

13、所述判断是否需要对所述写操作对应的写数据进行注错,包括:

14、确定需要对所述写操作对应的写数据进行注错。

15、在一种可能的实现方式中,所述基于记录的各写地址对应的ecc纠错结果和正确的写数据验证ecc功能是否正常,包括:

16、针对记录的每个写地址对应的ecc纠错结果和正确的写数据进行以下验证:

17、获取对所述写地址对应的写数据注错时使用的目标注错配置信息,所述目标注错配置信息至少包括注错类型、纠错方式以及响应方式;

18、基于所述注错类型和所述响应方式验证所述待测sram中针对该写地址的中断信号是否符合所述响应方式;

19、基于所述注错类型和所述纠错方式验证ecc状态寄存器存储的数据是否符合预期数据;

20、基于所述注错类型和所述纠错方式验证从该写地址读取出的数据与正确的写数据之间的关系是否正确;

21、若任一判断结果为否,则确定针对该写地址的ecc功能异常;

22、若判断结果均为是,则确定针对该写地址的ecc功能正常。

23、在一种可能的实现方式中,所述基于所述注错类型和所述响应方式验证所述待测sram中针对该写地址的中断信号是否符合所述响应方式,包括:

24、若所述响应方式为触发中断信号,且所述注错类型为单比特错误,则在所述待测sram中针对该写地址的单比特ecc错误中断信号被拉高的情况下,确定所述待测sram的中断信号符合所述响应方式;

25、若所述响应方式为触发中断信号,且所述注错类型为双比特错误,则在所述sram中针对该写地址的双比特ecc错误中断信号被拉高的情况下,确定所述待测sram的中断信号符合所述响应方式;

26、若所述响应方式为不触发中断信号,则在所述待测sram中针对该写地址的中断信号未被拉高的情况下,确定所述待测sram的中断信号符合所述响应方式。

27、在一种可能的实现方式中,所述基于所述注错类型和所述纠错方式验证从该写地址读取出的数据与正确的写数据之间的关系是否正确,包括:

28、若所述注错类型为单比特错误,且所述纠错方式为需要纠错,则在读取出的数据与正确的写数据相同的情况下,确定读取出的数据与正确的写数据之间的关系正确;

29、若所述注错类型为单比特错误,且所述纠错方式为无需纠错,则在读取出的数据与正确的写数据之间符合单比特错误逻辑关系的情况下,确定读取出的数据与正确的写数据之间的关系正确;

30、若所述注错类型为双比特错误,且所述纠错方式为需要纠错,则在读取出的数据与正确的写数据之间符合双比特错误纠错逻辑关系的情况下,确定读取出的数据与正确的写数据之间的关系正确;

31、若所述注错类型为双比特错误,且所述纠错方式为无需纠错,则在读取出的数据与正确的写数据之间符合双比特错误逻辑关系的情况下,确定读取出的数据与正确的写数据之间的关系正确。

32、在一种可能的实现方式中,在所述记录ecc纠错结果之后,所述方法还包括:

33、判断是否满足注错终止条件,所述注错终止条件为注错次数达到预设次数,或者从首次注错的时刻至当前时刻之间的时长达到预设时长;

34、若是,则执行所述基于记录的各写地址对应的ecc纠错结果和正确的写数据验证ecc功能是否正常的步骤;

35、若否,则返回所述在监测到场景类序列组件对待测sram的写操作时,判断是否需要对所述写操作对应的写数据进行注错的步骤。

36、在一种可能的实现方式中,在所述基于记录的各写地址对应的ecc纠错结果和正确的写数据验证ecc功能是否正常之后,所述方法还包括:

37、将ecc状态寄存器以及所述待测sram的中断信号复位;

38、验证所述ecc状态寄存器是否恢复至默认状态,以及所述中断信号是否复位;

39、若任一验证结果为否,则确定所述ecc功能异常;

40、若验证结果均为是,则确定所述ecc功能正常。

41、第二方面,本技术实施例提供一种ecc功能测试装置,应用于ecc序列组件,所述装置包括:

42、判断模块,用于在监测到场景类序列组件对待测sram的写操作时,判断是否需要对所述写操作对应的写数据进行注错,所述场景类序列组件为用于对所述待测sram进行业务功能仿真测试的测试序列组件;

43、记录模块,用于若需要对所述写操作对应的写数据进行注错,则记录所述写操作的写地址以及正确的写数据;

44、所述记录模块,还用于在监测到所述场景类序列组件对所述写地址的读操作时,记录ecc纠错结果;

45、验证模块,用于基于记录的各写地址对应的ecc纠错结果和正确的写数据验证ecc功能是否正常。

46、在一种可能的实现方式中,所述装置还包括注错模块;

47、所述注错模块,用于若需要对所述写操作对应的写数据进行注错,则按照预先配置的一组注错配置信息对所述写数据进行注错,将错误的写数据写入所述待测sram;

48、所述判断模块,具体用于:

49、随机选择是否需要对所述写操作对应的写数据进行注错。

50、在一种可能的实现方式中,所述装置还包括配置模块;

51、所述配置模块,用于为ecc注错寄存器配置注错配置信息,以使得所述待测sram在监测到场景类序列组件对所述待测sram的写操作时,按照所述注错配置信息对所述写操作对应的写数据进行注错,并将错误的写数据写入所述待测sram;

52、所述判断模块,具体用于:

53、确定需要对所述写操作对应的写数据进行注错。

54、在一种可能的实现方式中,所述验证模块,具体用于:

55、针对记录的每个写地址对应的ecc纠错结果和正确的写数据进行以下验证:

56、获取对所述写地址对应的写数据注错时使用的目标注错配置信息,所述目标注错配置信息至少包括注错类型、纠错方式以及响应方式;

57、基于所述注错类型和所述响应方式验证所述待测sram中针对该写地址的中断信号是否符合所述响应方式;

58、基于所述注错类型和所述纠错方式验证ecc状态寄存器存储的数据是否符合预期数据;

59、基于所述注错类型和所述纠错方式验证从该写地址读取出的数据与正确的写数据之间的关系是否正确;

60、若任一判断结果为否,则确定针对该写地址的ecc功能异常;

61、若判断结果均为是,则确定针对该写地址的ecc功能正常。

62、在一种可能的实现方式中,所述验证模块,具体用于:

63、若所述响应方式为触发中断信号,且所述注错类型为单比特错误,则在所述待测sram中针对该写地址的单比特ecc错误中断信号被拉高的情况下,确定所述待测sram的中断信号符合所述响应方式;

64、若所述响应方式为触发中断信号,且所述注错类型为双比特错误,则在所述sram中针对该写地址的双比特ecc错误中断信号被拉高的情况下,确定所述待测sram的中断信号符合所述响应方式;

65、若所述响应方式为不触发中断信号,则在所述待测sram中针对该写地址的中断信号未被拉高的情况下,确定所述待测sram的中断信号符合所述响应方式。

66、在一种可能的实现方式中,所述验证模块,具体用于:

67、若所述注错类型为单比特错误,且所述纠错方式为需要纠错,则在读取出的数据与正确的写数据相同的情况下,确定读取出的数据与正确的写数据之间的关系正确;

68、若所述注错类型为单比特错误,且所述纠错方式为无需纠错,则在读取出的数据与正确的写数据之间符合单比特错误逻辑关系的情况下,确定读取出的数据与正确的写数据之间的关系正确;

69、若所述注错类型为双比特错误,且所述纠错方式为需要纠错,则在读取出的数据与正确的写数据之间符合双比特错误纠错逻辑关系的情况下,确定读取出的数据与正确的写数据之间的关系正确;

70、若所述注错类型为双比特错误,且所述纠错方式为无需纠错,则在读取出的数据与正确的写数据之间符合双比特错误逻辑关系的情况下,确定读取出的数据与正确的写数据之间的关系正确。

71、在一种可能的实现方式中,所述判断模块,还用于判断是否满足注错终止条件,所述注错终止条件为注错次数达到预设次数,或者从首次注错的时刻至当前时刻之间的时长达到预设时长;

72、若是,则所述验证模块执行所述基于记录的各写地址对应的ecc纠错结果和正确的写数据验证ecc功能是否正常的步骤;

73、若否,则返回所述判断模块执行所述在监测到场景类序列组件对待测sram的写操作时,判断是否需要对所述写操作对应的写数据进行注错的步骤。

74、在一种可能的实现方式中,所述装置还包括复位模块;

75、所述复位模块,用于将ecc状态寄存器以及所述待测sram的中断信号复位;

76、所述验证模块,还用于验证所述ecc状态寄存器是否恢复至默认状态,以及所述中断信号是否复位;若任一验证结果为否,则确定所述ecc功能异常;若验证结果均为是,则确定所述ecc功能正常。

77、第三方面,本技术实施例提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

78、存储器,用于存放计算机程序;

79、处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法。

80、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。

81、第五方面,本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面所述的方法。

82、采用上述技术方案,由于场景类序列组件应用于对待测sram进行业务功能仿真过程中,本技术实施例通过监测场景类序列组件的写操作,即可判断是否需要对写操作对应的写数据进行注错,在需要注错的情况下利用场景类序列组件的读写操作即可实现数据注错,并且通过监测场景类序列组件对写地址的读操作,即可获取到ecc纠错结果,如此可以基于ecc纠错结果和正确的写数据验证ecc功能是否正常。可见,采用该方法可以借助待测sram的业务功能仿真实现自动注错以及自动获取ecc纠错结果,无需额外构造用于对ecc功能测试的写操作和读操作,且无需验证工程师额外开发用于ecc功能测试的测试用例,自动化测试程度高,能够节省人力成本,提高验证效率。

83、当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。

本文地址:https://www.jishuxx.com/zhuanli/20240731/182969.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。