CN116467131B - 一种处理器的ecc功能验证方法、装置、介质和设备 - Google Patents
一种处理器的ecc功能验证方法、装置、介质和设备 Download PDFInfo
- Publication number
- CN116467131B CN116467131B CN202310726325.7A CN202310726325A CN116467131B CN 116467131 B CN116467131 B CN 116467131B CN 202310726325 A CN202310726325 A CN 202310726325A CN 116467131 B CN116467131 B CN 116467131B
- Authority
- CN
- China
- Prior art keywords
- test content
- cpu
- ecc
- storage
- error
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000012795 verification Methods 0.000 title claims description 30
- 238000012360 testing method Methods 0.000 claims abstract description 175
- 230000008569 process Effects 0.000 claims abstract description 37
- 230000006870 function Effects 0.000 claims description 92
- 238000012986 modification Methods 0.000 claims description 18
- 230000004048 modification Effects 0.000 claims description 18
- 238000012937 correction Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000005192 partition Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000007717 exclusion Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2215—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及处理器技术领域,尤其涉及一种处理器的ECC功能验证方法、装置、介质和设备。其中方法包括:设置第一测试内容;将第一测试内容填充至处理器CPU的存储空间;模拟存储软错误的方式,按照错误类型对存储空间中的第一测试内容进行修改,得到含有错误信息的第二测试内容;通过CPU访问存储空间中的第二测试内容,得到第二测试内容的ECC信息;基于第二测试内容的ECC信息与CPU对应的架构级模型的输出结果,验证CPU的ECC功能是否有效。这种方式不仅模拟了软错误的产生方式,还尽可能的还原了CPU的实际运行过程和运行环境,使得对ECC功能的测试更加准确与可靠。
Description
技术领域
本申请涉及处理器技术领域,尤其涉及一种处理器的ECC功能验证方法、装置、介质和设备。
背景技术
在处理器运行时,如果遇到恶劣的运行环境,处理器内部存储中的数据有可能被高能粒子改变,导致处理器运行错误。
现有技术中有一种错误检查和纠正技术(Error Correcting Code,ECC),用于对存储中的数据进行检测和纠正。在存储设计中首先要将ECC的功能加入存储的结构中,才可以实现ECC的功能。因此,在研发阶段,需要对ECC的功能进行验证,以确保存储中错误的数据都可以被ECC纠正,使得处理器运行不会出现错误。但是,现有技术中,主要是对ECC的编解码方案进行研究,侧重于ECC功能的实现,对于处理器中ECC功能的验证实现没有较详细的方案。
基于此,目前亟需一种处理器的误差校正码ECC功能验证方法、装置、介质和设备,用于对处理器的ECC功能进行验证,以确保处理器的ECC的功能正常。
发明内容
本申请实施例提供一种处理器的误差校正码ECC功能验证方法、装置、产品、介质和设备,用于对处理器的ECC功能进行验证,以确保处理器的ECC的功能正常。
第一方面,本申请实施例提供一种方法一种处理器的误差校正码ECC功能验证方法,所述方法包括:
设置第一测试内容;
将所述第一测试内容填充至处理器CPU的存储空间;
模拟存储软错误的方式,按照错误类型对所述存储空间中的所述第一测试内容进行修改,得到含有错误信息的第二测试内容;
通过CPU访问所述存储空间中的所述第二测试内容,得到所述第二测试内容的ECC信息;
基于所述第二测试内容的ECC信息与所述CPU对应的架构级模型的输出结果,验证所述CPU的ECC功能是否有效。
通过上述过程,设置第一测试内容,确定要测试的CPU运行所需的内容,让测试过程和真实的CPU运行过程相符。之后插入错误信息,模拟CPU在运行过程中可能产生的软错误,以此来验证ECC功能是否可以把错误信息纠正,之后将ECC信息和正确的架构级模型的输出结果进行比对,可以直观的确定ECC功能是否有效。这种方式不仅模拟了软错误的产生方式,还尽可能的还原了CPU的实际运行过程和运行环境,使得对ECC功能的测试更加准确与可靠。
一种可能的实现方式中,设置第一测试内容,包括:
针对所述CPU中任一存储类型,随机设置符合所述存储类型的存储空间;根据所述存储空间的属性,生成对应所述存储空间的第一测试内容。
一种可能的实现方式中,随机设置符合所述存储类型的存储空间,包括:
在所述存储类型为cache,设置存储空间的大小及存储空间中分区的个数;
在所述存储类型为spram,设置存储空间的大小及存储空间的起始地址。
在上述方式中,随机设置了不同的存储类型以及同一个存储类型的不同大小,提高了测试用例的丰富性,模拟CPU运行的不同过程,提高了测试的完备性和准确性。
一种可能的实现方式中,按照错误类型对所述存储空间中的所述第一测试内容进行修改,得到含有错误信息的第二测试内容,包括:
针对所述存储空间对应的存储类型中的任一组成部分,随机确定所述存储空间中的任一存储地址对应的所述第一测试内容,及按照错误类型随机确定所述存储地址中所述组成部分对应的修改位置,对所述第一测试内容在所述修改位置对应的子内容进行修改,得到含有错误信息的第二测试内容。
一种可能的实现方式中,在所述存储类型为icache,所述存储类型的组成部分包括标志tag部分及数据data部分;
在所述存储类型为dcache,所述存储类型的组成部分包括标志tag部分、数据data部分及路径选择way select部分 ;
在所述存储类型为ispram,所述存储类型的组成部分包括数据data部分;
在所述存储类型为dspram,所述存储类型的组成部分包括数据data部分及路径选择way select部分。
一种可能的实现方式中,基于所述第二测试内容的ECC信息与所述CPU对应的架构级模型的输出结果,验证所述CPU的ECC功能是否有效,包括:
在所述错误类型为单错类型,将所述第二测试内容的ECC信息与所述CPU对应的架构级模型中的所述第一测试内容进行比对,验证所述CPU的ECC功能是否有效。
这是由于对于单比特错误,若ECC功能是正常的,那么就可以识别并且纠正,也就是说,最终CPU输出的ECC信息中的内容是经过ECC纠正的,和架构级模型中的未经注错的第一测试内容应当是匹配的。因此,在验证时,就可以通过比对第一测试内容和ECC信息是否匹配,就可以确定ECC功能是否有效。
一种可能的实现方式中,基于所述第二测试内容的ECC信息与所述CPU对应的架构级模型的输出结果,验证所述CPU的ECC功能是否有效,包括:
在所述错误类型为双错类型,将对所述第一测试内容进行修改的修改信息发送至所述CPU对应的架构级模型;
基于所述CPU在ECC过程中产生的异常exception次数与所述架构级模型产生的exception次数进行比对,验证所述CPU的ECC功能是否有效。
这是由于ECC功能无法纠正多个比特位都翻转的情形,此时只能记录下在运行过程中产生exception次数,但是,通过和架构级模型产生的exception次数进行比对仍然可以验证ECC功能是否正常,从而保证了测试的完备性。
一种可能的实现方式中,按照错误类型对所述存储空间中的所述第一测试内容进行修改之前,还包括:
设置所述CPU的硬件ECC功能无效。
一种可能的实现方式中,通过CPU访问所述存储空间中的所述第二测试内容,包括:
通过CPU访问所述存储空间中的所述第二测试内容并在访问过程中随机插入中断,和/或,总线错误。
一种可能的实现方式中,所述方法还包括:
在针对icache的各随机测试之后,设置第三测试内容;所述第三测试内容中的各指令为空nop指令;
通过跳转指令访问所述第三测试内容并将所述第三测试内容填充至所述存储空间;
确定所述存储空间中任一存储行是否均为nop指令,从而确定经过ECC校验后所述存储空间是否可用。
第二方面,本申请实施例提供一种处理器的误差校正码ECC功能验证装置。
该装置包括:
设置模块,用于设置第一测试内容;
填充模块,用于将所述第一测试内容填充至处理器CPU的存储空间;
插错模块,用于模拟存储软错误的方式,按照错误类型对所述存储空间中的所述第一测试内容进行修改,得到含有错误信息的第二测试内容;
访问模块,用于通过CPU访问所述存储空间中的所述第二测试内容,得到所述第二测试内容的ECC信息;
判断模块,用于基于所述第二测试内容的ECC信息与所述CPU对应的架构级模型的输出结果,验证所述CPU的ECC功能是否有效。
一种可能的实现方式中,所述设置模块具体用于,针对所述CPU中任一存储类型,随机设置符合所述存储类型的存储空间;根据所述存储空间的属性,生成对应所述存储空间的第一测试内容。
一种可能的实现方式中,所述设置模块具体用于,在所述存储类型为cache,设置存储空间的大小及存储空间中分区的个数;
在所述存储类型为spram,设置存储空间的大小及存储空间的起始地址。
一种可能的实现方式中,所述插错模块具体用于,针对所述存储空间对应的存储类型中的任一组成部分,随机确定所述存储空间中的任一存储地址对应的所述第一测试内容,及按照错误类型随机确定所述存储地址中所述组成部分对应的修改位置,对所述第一测试内容在所述修改位置对应的子内容进行修改,得到含有错误信息的第二测试内容。
一种可能的实现方式中,在所述存储类型为icache,所述存储类型的组成部分包括标志tag部分及数据data部分;
在所述存储类型为dcache,所述存储类型的组成部分包括标志tag部分、数据data部分及路径选择way select部分 ;
在所述存储类型为ispram,所述存储类型的组成部分包括数据data部分;
在所述存储类型为dspram,所述存储类型的组成部分包括数据data部分及路径选择way select部分。
一种可能的实现方式中,所述判断模块具体用于,在所述错误类型为单错类型,将所述第二测试内容的ECC信息与所述CPU对应的架构级模型中的所述第一测试内容进行比对,验证所述CPU的ECC功能是否有效。
一种可能的实现方式中,所述判断模块具体用于,在所述错误类型为双错类型,将对所述第一测试内容进行修改的修改信息发送至所述CPU对应的架构级模型;
基于所述CPU在ECC过程中产生的异常exception次数与所述架构级模型产生的exception次数进行比对,验证所述CPU的ECC功能是否有效。
一种可能的实现方式中,所述设置模块还用于设置所述CPU的硬件ECC功能无效。
一种可能的实现方式中,所述访问模块还用于通过CPU访问所述存储空间中的所述第二测试内容并在访问过程中随机插入中断,和/或,总线错误。
一种可能的实现方式中,所述设置模块,还用于设置第三测试内容;所述第三测试内容中的各指令为空nop指令;所述访问模块,还用于通过跳转指令访问所述第三测试内容并将所述第三测试内容填充至所述存储空间;所述判断模块还用于确定所述存储空间中任一存储行是否均为nop指令,从而确定经过ECC校验后所述存储空间是否可用。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序被运行时,执行上述第一方面中任一项方法。
第四方面,本申请实施例提供一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项设计中的方法。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在处理器上运行时,实现如上述第一方面中任一项设计中的方法。
上述第二方面至第五方面的有益效果,具体可参照上述第一方面任一项设计可达到的有益效果,此处不再赘述。
附图说明
图1示例性示出本申请实施例提供的一种ECC功能的验证方法的流程示意图;
图2示例性示出本申请实施例提供的一种处理器的误差校正码ECC功能验证方法;
图3示例性示出本申请实施例提供的一种存储类型的架构示意图;
图4示例性示出本申请实施例提供的一种icache的架构示意图;
图5示例性示出本申请实施例提供的一种dcache的架构示意图;
图6示例性示出本申请实施例提供的一种ispram的架构示意图;
图7示例性示出本申请实施例提供的一种dspram的架构示意图;
图8示例性示出本申请实施例提供的一种处理器的误差校正码ECC功能验证方法的流程示意图;
图9示例性地示出本申请实施例提供的处理器的误差校正码ECC功能验证装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
ECC是一种能够实现“错误检查和纠正”的技术,是在奇偶校验的基础上发展而来的。在数字电路中,最小的数据单位就是叫“比特(bit)”,也叫数据“位”,“比特”也是内存中的最小单位,它是通过“1”和“0”来表示数据高、低电平信号。在数字电路中8个连续的比特是一个字节(byte),在内存中不带“奇偶校验”的内存中的每个字节只有8位,若它的某一位存储出了错误,就会使其中存储的相应数据发生改变而导致应用程序发生错误。而带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测。比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5),5是奇数,如果采用奇校验(即一个字节(8位)加上检错的那1位共9位对应数字的和为奇数),那么检错的那一位就应该是0(5+0=5才是奇数),如果采用偶校验(即一个字节(8位)加上检错的那1位共9位对应数字的和为偶数)那么检错的那一位就应该是1(5+1=6才是偶数)。当CPU返回读取存储的数据时,它会再次相加前8位中存储的数据,计算结果是否与校验位相一致。当CPU发现二者不同时就会尝试纠正这些错误。但奇偶校验的不足是:当内存查到某个数据位有错误时,不能准确定位存在错误的数据位,也就不一定能修正错误。
奇偶校验内存是通过在原来数据位的基础上增加一个校验位来检查数据位上8位数据的正确性,但随着数据位的增加校验位也成倍增加,八位数据位需要一位校验位,十六位数据位需要两位校验位。ECC也是在原来的数据位上外加校验位来实现的。它与奇偶校验不同的是如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。ECC有更多位数的校验位,容错能力更强。
表一示出了本实施例中的一种数据位宽和ECC位宽的对照原则:
表一
在数据中添加了ECC位之后,每次访问这些数据时都会进行纠正,并将纠正之后的数据返回至数据访问方。多数情况下,访问存储中这些数据的为处理器的执行器。执行器会发出多种存储访问指令,经解码之后,发送给控制器,控制器基于ECC对要访问的数据进行纠正,并获取到纠正之后的数据,返回给执行器。
上述过程即ECC功能的实现过程,在设计完成一个处理器的存储结构之后,需要对ECC的功能进行验证,以确保可以纠正处理器在运行过程中可能出现的错误。
一种可能的实现方式中,本申请实施例中的处理器可以为车规级芯片的处理器,这是一种应用到汽车中的芯片,不同于消费品和工业品,该类芯片对可靠性的要求比较高。处理器作为芯片中的核心,其可靠性要求最高。因此,必须保证处理器ECC功能的正确性,对ECC功能进行准确且可靠的验证。
下面介绍一种ECC功能的验证方法:
图1示例性示出本申请实施例提供的一种ECC功能的验证方法的流程示意图,如图1所示,该方法包括:
步骤101,获取内存控制器输出的正确数据;
步骤102,将正确数据转换成错误数据;
步骤103,错误数据存入内存芯片后经由内存控制器进行ECC 校验;
步骤104,将经过ECC 校验后的数据传至系统中央处理器(central processingunit,CPU) ;
步骤105,判断系统是否正常工作,若是,则内存模组ECC 功能正常,反之,内存模组ECC 功能失效。
上述过程是基于内存的,内存一般位于距离CPU较远的位置。其原理是,将从内存中获取到的正确的数据转换成错误的数据,之后由ECC进行校验,并将校验之后的数据传输给系统的CPU,使CPU利用这些数据进行工作,看工作是否正常,由此就可以判断ECC功能是否正常。但是这种方式中,仅仅涉及到和CPU的一次数据交互,并且这些数据是人为注错之后,再次存储到内存芯片中的,这个过程不涉及CPU实际的运行过程,仅仅使用了其中的一种ECC功能,无法保证ECC功能在实际的使用过程中是有效的。也就是说,上述过程中使用CPU执行内存芯片输出的数据,默认CPU是正确的,也就是说,上述过程仅仅是对内存芯片的ECC功能进行验证,不涉及在实际的运行过程中CPU控制和调用逻辑的验证,因此是不准确的。此外,上述验证过程中所使用的验证环境和CPU真实的运行环境也是不相同的,获得的验证结果会有较大的偏差,进而无法准确地确定ECC功能是否正常。
基于此,本申请实施例提供一种处理器的误差校正码ECC功能验证方法,用于提高ECC功能验证的准确性,避免ECC功能出错,对处理器的运行造成更大的障碍。
图2示例性示出本申请实施例提供的一种处理器的误差校正码ECC功能验证方法,该方法包括:
步骤201,设置第一测试内容。
第一测试内容是处理器运行所需的内容,在测试过程中,要模拟处理器真实的运行过程,因此通过设置第一测试内容,让处理器尽量在真实的运行环境下完成测试。
第一测试内容可以为处理器可执行的指令,例如读取指令、写入指令、存储指令、跳转指令等,处理器通过运行这些指令完成对数据的处理工作。第一测试内容还可以为数据,这些数据可以为未经处理器处理的数据,也可以为处理器处理之后的数据,可以是已经存储在处理器内部存储器中的数据,也可以是位于内存中,没有搬运到处理器内部存储器中的数据。
步骤202,将第一测试内容填充至处理器的存储空间。
步骤203,模拟存储软错误的方式,按照错误类型对存储空间中的第一测试内容进行修改,得到含有错误信息的第二测试内容。
软错误是指随机存取存储器(Random Access Memory,RAM)中非由硬错误引起的位翻转,在断电再重启后会消失。与硅元素之间的相互作用而在半导体中造成的随机、临时的状态改变或瞬变。高能粒子在耗尽区中产生的电场将导致一次电荷漂移,从而导致电流扰动。如果这个电流移动的电荷跨越了存储单元(每个单元存储一个位)的临界电荷,所存储的数据就有可能翻转,从而导致下一次被读取时出现错误以前软错误在很大程度上被忽略了,可靠性测试主要集中在硬错误上。但是在有很大RAM的器件中,软错误率可能轻而易举地比硬错误率高出三个数量级,这对于处理器的运行破坏较大。
本步骤中,模拟了软错误的产生方式,对存储空间中的第一测试内容进行修改,即使得第一测试内容的数据发生翻转,进而得到含有错误信息的第二测试内容。
步骤204,通过CPU访问存储空间中的第二测试内容,得到第二测试内容的ECC信息。
本步骤中的ECC信息为经过ECC功能检测和/或纠正之后的第二测试内容。
步骤205,基于第二测试内容的ECC信息与CPU对应的架构级模型的输出结果,验证CPU的ECC功能是否有效。
架构级模型用于创建对实际电路的高层次描述,如果使用硬件描述语言来设计数字集成电路,设计人员通常并不在晶体管级进行设计,而是在更高的抽象级别进行工程设计。在硬件描述语言中,设计人员只需要声明寄存器,然后使用逻辑代码等运算符来描述组合逻辑的功能。逻辑代码可以被翻译为等效的硬件配置,这一过程可以在专用集成电路或现场可编程逻辑门阵列上实现。
由于架构级模型不是实际的硬件配置电路,不会发生软错误,因此,使用与要测试的CPU对应的架构级模型进行测试,使之模拟真实的CPU运行过程,避免了软错误对输出结果的影响,可以得到唯一正确的输出结果,再和ECC信息进行比较,进而可以直观地看出CPU的输出结果是否出错,即CPU的ECC功能是否把错误信息修正,最终得出CPU的ECC功能是否有效的结论。
通过上述过程,设置第一测试内容,确定要测试的CPU运行所需的内容,让测试过程和真实的CPU运行过程相符。之后插入错误信息,模拟CPU在运行过程中可能产生的软错误,以此来验证ECC功能是否可以把错误信息纠正,之后将ECC信息和正确的架构级模型的输出结果进行比对,可以直观的确定ECC功能是否有效。这种方式不仅模拟了软错误的产生方式,还尽可能的还原了CPU的实际运行过程和运行环境,使得对ECC功能的测试更加准确与可靠。
下面介绍步骤201中设置第一测试内容的具体方式。
针对CPU中任一存储类型,随机设置符合存储类型的存储空间;为了保证测试的完备性,要对统一存储类型的不同存储空间进行测试,因此,本步骤中对于存储空间的设置是随机的。
一种可能的实现方式中,在所述存储类型为cache,设置存储空间的大小及存储空间中分区的个数。
图3示例性示出本申请实施例提供的一种存储类型的架构示意图。如图3所示,在一个测试用例中,设置存储空间的大小为4GB,存储空间中分区的个数为4,包括W0,W1,W2,W3。
另一种可能的实现方式中,在所述存储类型为spram,设置存储空间的大小及存储空间的起始地址。这是由于spram的起始地址是不固定的,需要给出一个确定的起始地址,spram才可以正常工作。
设置好存储空间之后,根据存储空间的属性,生成对应存储空间的第一测试内容。比如有的存储空间是用来存储数据的,那么对应生成的第一测试内容就是数据段。在上述步骤202中,一个数据段用于填充存储空间的一个分区;有的存储空间是用来存储指令的,那么对应生成的第一测试内容就是指令代码段,一个指令代码段用来填充存储空间的一个分区。
一般情况下,生成的第一测试内容的大小是存储空间大小的2倍,一半内容用于填充存储空间,另一半暂存在内存中,在填充在存储空间中的内容不是CPU运行所需内容的时候,CPU就会从内从中将另一半数据填充至存储空间中,以供CPU运行调用。这种情形是为了模拟CPU的真实运行过程。例如,CPU的读取指令中携带的地址在存储空间中没有找到与之相匹配的,那么就需要在内存中将这个地址找到,之后再存储至存储空间中,此时,CPU才可以找到对应的地址,进而找到运行所需的数据。
需要说明的是,若存储空间是用来存储指令的,那么在生成指令时,要确定不同的指令类型以及各个指令类型对应的比例。例如,存储空间的大小为4GB,可以生成的指令类型包括读取指令、写入指令、存储指令、跳转指令,各占25%,即每个指令为1GB。
下面介绍几种存储类型。
存储类型一:icache
图4示例性示出本申请实施例提供的一种icache的架构示意图,如图4所示icache的组成部分包括标志tag部分及数据data部分,data部分用来存储指令,tag部分包含物理地址、有效位(valid bit)、锁定位(lock bit)。
存储类型二:dcache
图5示例性示出本申请实施例提供的一种dcache的架构示意图,如图5所示,dcache的组成部分包括标志tag部分、数据data部分及路径选择way select部分;
存储类型三:ispram
图6示例性示出本申请实施例提供的一种ispram的架构示意图,如图6所示,ispram组成部分包括数据data部分。这是由于ispram中的地址是不固定的,不需要存储地址的部分,因此,在ispram的组成部分中,仅仅包含data部分。
存储类型四:dspram
图7示例性示出本申请实施例提供的一种dspram的架构示意图,如图7所示dspram的组成部分包括数据data部分。
在上述方式中,随机设置了不同的存储类型以及同一个存储类型的不同大小,提高了测试用例的丰富性,模拟CPU运行的不同过程,提高了测试的完备性和准确性。
下面介绍在上述步骤203中,如何获得含有错误信息的第二测试内容。
针对存储空间对应的存储类型中的任一组成部分,随机确定存储空间中的任一存储地址对应的第一测试内容,及按照错误类型随机确定存储地址中组成部分对应的修改位置,对第一测试内容在修改位置对应的子内容进行修改,得到含有错误信息的第二测试内容。
以icache为例,icache的组成部分包括标志tag部分及数据data部分,在这两个部分中,随机选定一个存储地址,例如,选定存储地址100011,确定在这个存储地址中存储的第一测试内容,在这个第一测试内容中随机选定一个子内容,对其进行修改,若错误类型为单错类型,则修改子内容中的一位,若错误类型为双错类型,则修改子内容中的多位。修改的方式即将选定的位进行翻转。例如,若选定的位为0,则将其修改为1;若选定的位为1,则将其修改为0。由此,获得了包含错误信息的第二测试内容。
在上述步骤205中,对于不同的错误类型,验证CPU的ECC功能是否有效的方式是不一样的,下面分别介绍:
对于单错类型,将第二测试内容的ECC信息与CPU对应的架构级模型中的第一测试内容进行比对,验证CPU的ECC功能是否有效。
这是由于对于单比特错误,若ECC功能是正常的,那么就可以识别并且纠正,也就是说,最终CPU输出的ECC信息中的内容是经过ECC纠正的,和架构级模型中的未经注错的第一测试内容应当是匹配的。因此,在验证时,就可以通过比对第一测试内容和ECC信息是否匹配,就可以确定ECC功能是否有效。
对于双错类型,需要将第一测试内容进行修改的修改信息发送至CPU对应的架构级模型,基于CPU在ECC过程中产生的异常exception次数与架构级模型产生的exception次数进行比对,验证CPU的ECC功能是否有效。
一种可能的实现方式中,若CPU在ECC过程中产生的异常exception次数与架构级模型产生的exception次数相等,则确定ECC功能有效;若CPU在ECC过程中产生的异常exception次数与架构级模型产生的exception次数不相等,则确定ECC功能无效。
这是由于ECC功能无法纠正多个比特位都翻转的情形,此时只能记录下在运行过程中产生exception次数,但是,通过和架构级模型产生的exception次数进行比对仍然可以验证ECC功能是否正常,从而保证了测试的完备性。
可选的,在上述步骤204中,还可以在CPU访问存储空间中的第二测试内容的访问过程中随机插入中断,和/或,总线错误。
中断和总线错误是征程访问存储空间时会有的指令和异常,通过加入中断和总线错误可以是的测试过程更加贴合处理器访问存储的真实过程,使得测试过程和测试环境更加真实。
一种可能的实现方式中,按照错误类型对所述存储空间中的所述第一测试内容进行修改之前,还需要设置CPU的硬件ECC功能无效。具体实现时,可以设置一个功能标志位,并设置功能标志位为0的时候,CPU的硬件ECC功能有效;功能标志位为1的时候,CPU的硬件ECC功能无效。
在进行步骤203之前,使CPU的硬件ECC功能无效,此时,硬件不会产生ECC码,也就是含有错误信息的第二测试内容对应的ECC码不会生成,进而,可以实现错误信息的保留,实现插入错误信息的目的,完成验证。
在对icache进行测试时,在上述步骤205之后,还可以设置第三测试内容;第三测试内容中的各指令为空nop指令;通过跳转指令访问第三测试内容并将第三测试内容填充至存储空间;确定存储空间中任一存储行是否均为nop指令,从而确定经过ECC校验后存储空间是否可用。
这是由于valid=0,通过插入错误翻转为1时,发生icache 中内容替换,或者cache和内存同步时,可以检测到valid由0变成1了,但是,为了提升性能,并不会把矫正的数据写回到icache中。那会导致cache中保留这种错误的valid=1的标志,在CPU处理不当的情形下,这个icache会一直不可用。因此,通过将空指令填充至这个icache的所有存储空间中,若可以确定icache的所有存储空间中都包含空指令,即可以确定icache的所有存储空间都可用。
下面以icache为例,说明一个完整的验证过程。图8示例性示出本申请实施例提供的一种处理器的误差校正码ECC功能验证方法的流程示意图,如图8所示,该方法包括:
步骤801,设置指令代码段。随机设置icache的大小以及icache中的分区个数,根据分区个数确定指令代码段的个数。
步骤802,将指令代码段填充至icache的各个分区中。
步骤803,随机修改指令代码段中的1位或者多位,得到含有错误信息的指令代码段;
步骤804,基于跳转指令,通过CPU访问含有错误信息的指令代码段,并运行访问到的指令,获得指令运行结果,即上述步骤204中的ECC信息;
步骤805,将指令运行结果与CPU对应的架构级模型的输出结果进行比对,确定CPU的ECC功能是否有效。
在修改指令代码段中的1位时,若二者相同,则在这个测试用例中可以证明CPU的ECC功能有效;若二者不同,则这个测试用例中可以证明CPU的ECC功能无效。
一种可能的实现方式中,可以综合多个测试用例,若无效的次数超过总测试次数的50%,则说明CPU的ECC功能无效。
基于相同的技术构思,本申请实施例还提供了处理器的误差校正码ECC功能验证装置。图9示例性地示出本申请实施例提供的处理器的误差校正码ECC功能验证装置示意图,该装置可以执行前述的处理器的误差校正码ECC功能验证方法,如图9所示,该装置包括:
设置模块,用于设置第一测试内容;
填充模块,用于将所述第一测试内容填充至处理器CPU的存储空间;
插错模块,用于模拟存储软错误的方式,按照错误类型对所述存储空间中的所述第一测试内容进行修改,得到含有错误信息的第二测试内容;
访问模块,用于通过CPU访问所述存储空间中的所述第二测试内容,得到所述第二测试内容的ECC信息;
判断模块,用于基于所述第二测试内容的ECC信息与所述CPU对应的架构级模型的输出结果,验证所述CPU的ECC功能是否有效。
一种可能的实现方式中,所述设置模块具体用于,针对所述CPU中任一存储类型,随机设置符合所述存储类型的存储空间;根据所述存储空间的属性,生成对应所述存储空间的第一测试内容。
一种可能的实现方式中,所述设置模块具体用于,在所述存储类型为cache,设置存储空间的大小及存储空间中分区的个数;
在所述存储类型为spram,设置存储空间的大小及存储空间的起始地址。
一种可能的实现方式中,所述插错模块具体用于,针对所述存储空间对应的存储类型中的任一组成部分,随机确定所述存储空间中的任一存储地址对应的所述第一测试内容,及按照错误类型随机确定所述存储地址中所述组成部分对应的修改位置,对所述第一测试内容在所述修改位置对应的子内容进行修改,得到含有错误信息的第二测试内容。
一种可能的实现方式中,在所述存储类型为icache,所述存储类型的组成部分包括标志tag部分及数据data部分;
在所述存储类型为dcache,所述存储类型的组成部分包括标志tag部分、数据data部分及路径选择way select部分 ;
在所述存储类型为ispram,所述存储类型的组成部分包括数据data部分;
在所述存储类型为dspram,所述存储类型的组成部分包括数据data部分。
一种可能的实现方式中,所述判断模块具体用于,在所述错误类型为单错类型,将所述第二测试内容的ECC信息与所述CPU对应的架构级模型中的所述第一测试内容进行比对,验证所述CPU的ECC功能是否有效。
一种可能的实现方式中,所述判断模块具体用于,在所述错误类型为双错类型,将对所述第一测试内容进行修改的修改信息发送至所述CPU对应的架构级模型;
基于所述CPU在ECC过程中产生的异常exception次数与所述架构级模型产生的exception次数进行比对,验证所述CPU的ECC功能是否有效。
一种可能的实现方式中,所述设置模块还用于设置所述CPU的硬件ECC功能无效。
一种可能的实现方式中,所述访问模块还用于通过CPU访问所述存储空间中的所述第二测试内容并在访问过程中随机插入中断,和/或,总线错误。
一种可能的实现方式中,所述设置模块,还用于设置第三测试内容;所述第三测试内容中的各指令为空nop指令;所述访问模块,还用于通过跳转指令访问所述第三测试内容并将所述第三测试内容填充至所述存储空间;所述判断模块还用于确定所述存储空间中任一存储行是否均为nop指令,从而确定经过ECC校验后所述存储空间是否可用。
基于相同的技术构思,本发明实施例还提供了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现上述实施例中所示的方法。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述实施例中所示的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,当所述计算机程序产品在处理器上运行时,实现上述实施例中所示的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种处理器的误差校正码ECC功能验证方法,其特征在于,所述方法包括:
设置第一测试内容;
将所述第一测试内容填充至处理器CPU的存储空间;
模拟存储软错误的方式,按照错误类型对所述存储空间中的所述第一测试内容进行修改,得到含有错误信息的第二测试内容;
通过CPU访问所述存储空间中的所述第二测试内容,得到所述第二测试内容的ECC信息;
基于所述第二测试内容的ECC信息与所述CPU对应的架构级模型的输出结果,验证所述CPU的ECC功能是否有效。
2.如权利要求1所述的方法,其特征在于,设置第一测试内容,包括:
针对所述CPU中任一存储类型,随机设置符合所述存储类型的存储空间;根据所述存储空间的属性,生成对应所述存储空间的第一测试内容。
3.如权利要求2所述的方法,其特征在于,随机设置符合所述存储类型的存储空间,包括:
在所述存储类型为cache,设置所述存储空间的大小及所述存储空间中分区的个数;
在所述存储类型为spram,设置所述存储空间的大小及所述存储空间的起始地址。
4.如权利要求1所述的方法,其特征在于,按照错误类型对所述存储空间中的所述第一测试内容进行修改,得到含有错误信息的第二测试内容,包括:
针对所述存储空间对应的存储类型中的任一组成部分,随机确定所述存储空间中的任一存储地址对应的所述第一测试内容,及按照错误类型随机确定所述存储地址中所述组成部分对应的修改位置,对所述第一测试内容在所述修改位置对应的子内容进行修改,得到含有错误信息的第二测试内容。
5.如权利要求4所述的方法,其特征在于,
在所述存储类型为icache,所述存储类型的组成部分包括标志tag部分及数据data部分;
在所述存储类型为dcache,所述存储类型的组成部分包括标志tag部分、数据data部分及路径选择way select部分 ;
在所述存储类型为ispram,所述存储类型的组成部分包括数据data部分;
在所述存储类型为dspram,所述存储类型的组成部分包括数据data部分。
6.如权利要求1所述的方法,其特征在于,
基于所述第二测试内容的ECC信息与所述CPU对应的架构级模型的输出结果,验证所述CPU的ECC功能是否有效,包括:
在所述错误类型为单错类型,将所述第二测试内容的ECC信息与所述CPU对应的架构级模型中的所述第一测试内容进行比对,验证所述CPU的ECC功能是否有效。
7.如权利要求1所述的方法,其特征在于,基于所述第二测试内容的ECC信息与所述CPU对应的架构级模型的输出结果,验证所述CPU的ECC功能是否有效,包括:
在所述错误类型为双错类型,将对所述第一测试内容进行修改的修改信息发送至所述CPU对应的架构级模型;
基于所述CPU在ECC过程中产生的异常exception次数与所述架构级模型产生的exception次数进行比对,验证所述CPU的ECC功能是否有效。
8.如权利要求1-7任一项所述的方法,其特征在于,
按照错误类型对所述存储空间中的所述第一测试内容进行修改之前,还包括:
设置所述CPU的硬件ECC功能无效。
9.如权利要求1-7任一项所述的方法,其特征在于,
通过CPU访问所述存储空间中的所述第二测试内容,包括:
通过CPU访问所述存储空间中的所述第二测试内容并在访问过程中随机插入中断,和/或,总线错误。
10.如权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
在针对icache的各随机测试之后,设置第三测试内容;所述第三测试内容中的各指令为空nop指令;
通过跳转指令访问所述第三测试内容并将所述第三测试内容填充至所述存储空间;
确定所述存储空间中任一存储行是否均为nop指令,从而确定经过ECC校验后所述存储空间是否可用。
11.一种处理器的误差校正码ECC功能验证装置,其特征在于,所述装置包括:
设置模块,用于设置第一测试内容;
填充模块,用于将所述第一测试内容填充至处理器CPU的存储空间;
插错模块,用于模拟存储软错误的方式,按照错误类型对所述存储空间中的所述第一测试内容进行修改,得到含有错误信息的第二测试内容;
访问模块,用于通过CPU访问所述存储空间中的所述第二测试内容,得到所述第二测试内容的ECC信息;
判断模块,用于基于所述第二测试内容的ECC信息与所述CPU对应的架构级模型的输出结果,验证所述CPU的ECC功能是否有效。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,执行如权利要求1至10中任一项所述的方法。
13.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至10中任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310726325.7A CN116467131B (zh) | 2023-06-19 | 2023-06-19 | 一种处理器的ecc功能验证方法、装置、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310726325.7A CN116467131B (zh) | 2023-06-19 | 2023-06-19 | 一种处理器的ecc功能验证方法、装置、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116467131A CN116467131A (zh) | 2023-07-21 |
CN116467131B true CN116467131B (zh) | 2023-08-25 |
Family
ID=87182903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310726325.7A Active CN116467131B (zh) | 2023-06-19 | 2023-06-19 | 一种处理器的ecc功能验证方法、装置、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467131B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006319055A (ja) * | 2005-05-11 | 2006-11-24 | Seiko Epson Corp | 半導体集積回路 |
JP2009238359A (ja) * | 2008-03-28 | 2009-10-15 | Fujitsu Microelectronics Ltd | 誤り訂正機能確認回路及び誤り訂正機能確認方法とそのコンピュータプログラム、並びに記憶装置 |
CN106933696A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | Ecc功能验证方法 |
CN109542670A (zh) * | 2018-11-29 | 2019-03-29 | 上海交通大学 | 基于错误快速定位的fpga软错误刷新方法以及刷新器 |
CN111008507A (zh) * | 2019-11-06 | 2020-04-14 | 长沙理工大学 | 一种受软错误影响的逻辑电路可靠性边界计算方法及设备 |
CN111813591A (zh) * | 2020-07-03 | 2020-10-23 | 深圳市国微电子有限公司 | Nand Flash的数据纠错方法、装置、电子设备及存储介质 |
CN112506730A (zh) * | 2020-11-10 | 2021-03-16 | 中国人民解放军战略支援部队信息工程大学 | 适用于网络交换芯片ecc功能验证的验证平台及验证方法 |
CN113868012A (zh) * | 2021-08-27 | 2021-12-31 | 山东云海国创云计算装备产业创新中心有限公司 | 一种实现错误检查和纠正码功能的方法和装置 |
CN114968685A (zh) * | 2022-05-30 | 2022-08-30 | 中国人民解放军国防科技大学 | Edac加固微处理器单粒子翻转截面的测试方法 |
CN115878368A (zh) * | 2022-09-29 | 2023-03-31 | 山东华芯半导体有限公司 | 一种ecc错误注入功能验证方法 |
CN115938451A (zh) * | 2021-08-19 | 2023-04-07 | 长鑫存储技术有限公司 | 测试方法及测试系统 |
CN115964237A (zh) * | 2022-12-30 | 2023-04-14 | 上海芯联芯智能科技有限公司 | 一种针对中央处理器cpu的功能及性能测试方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10108512B2 (en) * | 2016-04-01 | 2018-10-23 | Intel Corporation | Validation of memory on-die error correction code |
US10270471B2 (en) * | 2016-08-02 | 2019-04-23 | Taiwan Semiconductor Manufacturing Company Ltd. | Memory system having ECC self-checking function and associated method |
US10625752B2 (en) * | 2017-12-12 | 2020-04-21 | Qualcomm Incorporated | System and method for online functional testing for error-correcting code function |
US20220147267A1 (en) * | 2020-11-10 | 2022-05-12 | Micron Technology, Inc. | ERROR INJECTION METHODS USING SOFT POST-PACKAGE REPAIR (sPPR) TECHNIQUES AND MEMORY DEVICES AND MEMORY SYSTEMS EMPLOYING THE SAME |
US11468962B2 (en) * | 2021-03-03 | 2022-10-11 | Micron Technology, Inc. | Performing memory testing using error correction code values |
-
2023
- 2023-06-19 CN CN202310726325.7A patent/CN116467131B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006319055A (ja) * | 2005-05-11 | 2006-11-24 | Seiko Epson Corp | 半導体集積回路 |
JP2009238359A (ja) * | 2008-03-28 | 2009-10-15 | Fujitsu Microelectronics Ltd | 誤り訂正機能確認回路及び誤り訂正機能確認方法とそのコンピュータプログラム、並びに記憶装置 |
CN106933696A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | Ecc功能验证方法 |
CN109542670A (zh) * | 2018-11-29 | 2019-03-29 | 上海交通大学 | 基于错误快速定位的fpga软错误刷新方法以及刷新器 |
CN111008507A (zh) * | 2019-11-06 | 2020-04-14 | 长沙理工大学 | 一种受软错误影响的逻辑电路可靠性边界计算方法及设备 |
CN111813591A (zh) * | 2020-07-03 | 2020-10-23 | 深圳市国微电子有限公司 | Nand Flash的数据纠错方法、装置、电子设备及存储介质 |
CN112506730A (zh) * | 2020-11-10 | 2021-03-16 | 中国人民解放军战略支援部队信息工程大学 | 适用于网络交换芯片ecc功能验证的验证平台及验证方法 |
CN115938451A (zh) * | 2021-08-19 | 2023-04-07 | 长鑫存储技术有限公司 | 测试方法及测试系统 |
CN113868012A (zh) * | 2021-08-27 | 2021-12-31 | 山东云海国创云计算装备产业创新中心有限公司 | 一种实现错误检查和纠正码功能的方法和装置 |
CN114968685A (zh) * | 2022-05-30 | 2022-08-30 | 中国人民解放军国防科技大学 | Edac加固微处理器单粒子翻转截面的测试方法 |
CN115878368A (zh) * | 2022-09-29 | 2023-03-31 | 山东华芯半导体有限公司 | 一种ecc错误注入功能验证方法 |
CN115964237A (zh) * | 2022-12-30 | 2023-04-14 | 上海芯联芯智能科技有限公司 | 一种针对中央处理器cpu的功能及性能测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于ISO26262的RISC处理器功能性安全验证;秦笑;《中国优秀硕士学位论文全文数据库》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116467131A (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7506217B2 (en) | Apparatus and method for software-based control flow checking for soft error detection to improve microprocessor reliability | |
US6931611B2 (en) | Design verification system for avoiding false failures and method therefor | |
KR101773490B1 (ko) | 데이터-의존 회로 경로 응답들을 이용하는 고유하고 복제불가한 플랫폼 식별자들 | |
US9626267B2 (en) | Test generation using expected mode of the target hardware device | |
US8762907B2 (en) | Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level | |
CN115552422A (zh) | 用于加速神经网络的存储器故障映射 | |
CN106933696A (zh) | Ecc功能验证方法 | |
US8453082B2 (en) | Soft error verification in hardware designs | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
CN110765008B (zh) | 一种数据处理方法及装置 | |
CN107665169B (zh) | 处理器程序的测试方法和装置 | |
CN116467131B (zh) | 一种处理器的ecc功能验证方法、装置、介质和设备 | |
CN114428642B (zh) | 一种基于新型处理器架构的随机指令生成环境 | |
US7058557B2 (en) | Method for functional verification of hardware design | |
US8635566B2 (en) | Parity error detection verification | |
CN114996076A (zh) | 一种用于芯片仿真的遍历型用例验证方法、系统及电子设备 | |
US6678841B1 (en) | Function test support system and function test support method and hardware description model | |
CN113010114A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
US10523186B1 (en) | Vulnerability determination in circuits | |
EP3553681B1 (en) | Method and apparatus for error test coverage determination for a circuit by simulation | |
US8539403B2 (en) | Reducing observability of memory elements in circuits | |
US7155378B2 (en) | Method for providing cycle-by-cycle ad HOC verification in a hardware-accelerated environment | |
US8667352B2 (en) | Semiconductor device and method for validating a state thereof | |
US11022649B2 (en) | Stabilised failure estimate in circuits | |
M'zah et al. | Deterministic microcode machine generation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: ECC functional verification method, device, medium, and device for a processor Granted publication date: 20230825 Pledgee: China Construction Bank Corporation Shanghai Zhangjiang Branch Pledgor: Shanghai xinlianxin Intelligent Technology Co.,Ltd. Registration number: Y2024980005049 |