System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 算法运算错误的检错方法、装置、设备及存储介质制造方法及图纸_技高网

算法运算错误的检错方法、装置、设备及存储介质制造方法及图纸

技术编号:41391697 阅读:2 留言:0更新日期:2024-05-20 19:14
本发明专利技术公开了一种算法运算错误的检错方法、装置、设备及存储介质,该检错方法包括:向顺序连接的至少两个运算模块中分别输入预设数据流;对各运算模块的输出结果进行循环冗余校验计算,得到各运算模块对应的循环冗余校验实际值并保存;通过上位机判断最后一个运算模块输出的目标结果值的正确性;在目标结果值正确时,判定各运算模块对应的循环冗余校验实际值为正常数据;重复执行多次以上步骤,保存每次执行得到的各运算模块对应的正常数据或者异常数据。利用本发明专利技术公开的方法,可以解决现有技术中对于算法多层调用、数据链路比较长、数据流向复杂及算法语句需要大量复制的场景项目,无法准确判断错误发生位置的问题。

【技术实现步骤摘要】

本专利技术属于芯片,具体涉及一种算法运算错误的检错方法、装置、设备及存储介质


技术介绍

1、在通过可编程器件的计算模块进行计算时,计算模块内部的算法错误最终反馈到测试平台(如上位机)上的只是一个最终的结果错误,具体是计算模块的哪里发生错误无法分辨,从而无法针对错误做出对应的修正。

2、对此,现有技术中通常使用调试工具将可编程器件内部的数据抓取出来以判断数据错误。但是对于算法多层调用、数据链路比较长及数据流向复杂的场景项目,尤其对于算法语句需要大量复制的场景项目,使用调试工具抓取可编程器件的内部数据非常困难,并且抓取出来的数据无法判断对错。

3、综上所述,现有技术中亟需一种对于算法多层调用、数据链路比较长、数据流向复杂及算法语句需要大量复制的场景项目,能够准确判断错误发生位置的方法。


技术实现思路

1、本专利技术提供一种算法运算错误的检错方法、装置、设备及存储介质,用以解决现有技术中对于算法多层调用、数据链路比较长、数据流向复杂及算法语句需要大量复制的场景项目,无法准确判断错误发生位置的问题。

2、为了解决上述技术问题,第一方面,本专利技术提供一种算法运算错误的检错方法,应用于可编程器件,该方法包括:

3、向顺序连接的至少两个运算模块中分别输入预设数据流;

4、对各所述运算模块的输出结果进行循环冗余校验计算,得到各所述运算模块对应的循环冗余校验实际值并保存;

5、通过上位机判断最后一个所述运算模块输出的目标结果值的正确性;

6、在所述目标结果值正确时,判定各所述运算模块对应的所述循环冗余校验实际值为正常数据;

7、重复执行多次步骤“向顺序连接的至少两个运算模块中分别输入预设数据流”至步骤“在所述目标结果值正确时,判定各所述运算模块对应的所述循环冗余校验实际值为正常数据”,保存每次执行得到的各所述运算模块对应的所述正常数据或者异常数据,其中,所述异常数据为与所述正常数据不相同的数据;

8、将所述异常数据对应的所述运算模块判定为问题运算模块。

9、可选地,在每次向目标运算模块中输入预设数据流时,监测所述目标运算模块的上一个运算模块每次向所述目标运算模块输入的所述预设数据流是否相同;

10、在所述上一个运算模块每次向所述目标运算模块输入的数据不相同时,每次向所述目标运算模块输入伪随机二进制序列数据。

11、可选地,所述对各所述运算模块的输出结果进行循环冗余校验计算,得到各所述运算模块对应的循环冗余校验实际值并保存,包括:

12、对各所述运算模块的输出结果的个数进行计数;

13、对各所述运算模块的输出结果进行循环冗余校验计算,直至所述输出结果的个数达到预设阈值时停止对所述输出结果的循环冗余校验计算,输出最终计算得到的各所述运算模块对应的循环冗余校验实际值并保存。

14、可选地,所述预设阈值的预设方式为:

15、在预设时间段内,计数得到各所述运算模块的输出结果的个数增长量;

16、计算各所述运算模块的输出结果的个数增长量的第一比值;

17、设置各所述运算模块的预设阈值,使各所述运算模块的预设阈值的第二比值为所述第一比值。

18、第二方面,本专利技术提供一种算法运算错误的检错装置,应用于可编程器件,该装置包括:第一输入模块,用于向顺序连接的至少两个运算模块中分别输入预设数据流;

19、计算模块,用于对各所述运算模块的输出结果进行循环冗余校验计算,得到各所述运算模块对应的循环冗余校验实际值并保存;

20、第一判断模块,还用于通过上位机判断最后一个所述运算模块输出的目标结果值的正确性;

21、第二判断模块,用于在所述目标结果值正确时,判定各所述运算模块对应的所述循环冗余校验实际值为正常数据;

22、第三判断模块,用于重复执行多次第一输入模块、计算模块、第一判断模块和第二判断模块所执行的操作,保存每次执行得到的各所述运算模块对应的所述正常数据或者异常数据,其中,所述异常数据为与所述正常数据不相同的数据;

23、第四判断模块,用于将所述异常数据对应的所述运算模块判定为问题运算模块。

24、第三方面,本专利技术提供一种算法运算错误的检错设备,包括存储器和处理器,其中:

25、所述存储器用于存储计算机程序;

26、所述处理器用于读取所述存储器中的程序并执行如上述第一方面提供的算法运算错误的检错方法的步骤。

27、第四方面,本专利技术提供一种计算机可读存储介质,其上存储有可读的计算机程序,该程序被处理器执行时实现如上述第一方面提供的算法运算错误的检错方法的步骤。

28、与现有技术相比,本专利技术提供的一种算法运算错误的检错方法,具有以下有益效果:

29、本专利技术通过顺序连接的多个运算模块对数据进行计算(对应现有技术中算法多层调用、数据链路比较长、数据流向复杂及算法语句需要大量复制等复杂场景项目),并通过多个运算模块最终反馈到上位机的结果错误,判断各运算模块是否正常工作(即反馈至上位机的结果没有错误时各运算模块均正常工作),在各运算模块正常工作时对各运算模块输出的运算结果值进行循环冗余校验计算,以得到各运算模块对应的循环冗余校验正常数据,这样在运算模块异常工作时通过对此时运算模块输出的结果进行循环冗余校验,所得到的实际值与该运算模块对应的循环冗余校验正常数据不一致时,可以判断该运算模块此时工作发生异常。综上所述,本专利技术可以直接定位数据运算过程中出问题的运算模块,从而可以定位错误的具体发生位置,因此可以解决现有技术中对于算法多层调用、数据链路比较长、数据流向复杂及算法语句需要大量复制的场景项目,无法准确判断错误发生位置的问题。

本文档来自技高网...

【技术保护点】

1.一种算法运算错误的检错方法,应用于可编程器件,其特征在于,包括:

2.根据权利要求1所述的算法运算错误的检错方法,其特征在于:

3.根据权利要求1所述的算法运算错误的检错方法,其特征在于,所述对各所述运算模块的输出结果进行循环冗余校验计算,得到各所述运算模块对应的循环冗余校验实际值并保存,包括:

4.根据权利要求3所述的算法运算错误的检错方法,其特征在于,所述预设阈值的预设方式为:

5.一种算法运算错误的检错装置,应用于可编程器件,其特征在于,包括:

6.根据权利要求5所述的算法运算错误的检错装置,其特征在于,还包括:

7.根据权利要求5所述的算法运算错误的检错装置,其特征在于,所述计算模块还用于:

8.根据权利要求7所述的算法运算错误的检错装置,其特征在于,所述预设阈值的预设方式为:

9.一种算法运算错误的检错设备,其特征在于,包括存储器和处理器,其中:

10.一种计算机可读存储介质,其特征在于,其上存储有可读的计算机程序,该程序被处理器执行时实现如权利要求1-4所述的任一算法运算错误的检错方法的步骤。

...

【技术特征摘要】

1.一种算法运算错误的检错方法,应用于可编程器件,其特征在于,包括:

2.根据权利要求1所述的算法运算错误的检错方法,其特征在于:

3.根据权利要求1所述的算法运算错误的检错方法,其特征在于,所述对各所述运算模块的输出结果进行循环冗余校验计算,得到各所述运算模块对应的循环冗余校验实际值并保存,包括:

4.根据权利要求3所述的算法运算错误的检错方法,其特征在于,所述预设阈值的预设方式为:

5.一种算法运算错误的检错装置,应用于可编程器件,其特征在于,包括:

<...

【专利技术属性】
技术研发人员:包朝伟王斌张旭华
申请(专利权)人:深圳市紫光同创电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1