ECC功能验证方法技术

技术编号:15791786 阅读:169 留言:0更新日期:2017-07-09 22:05
本发明专利技术提出一种ECC功能验证方法,包括以下步骤:构建验证平台,并接收验证平台发送的读/写请求信号;根据读/写请求信号,获取当前地址及对应于当前地址的原始数据;利用随机函数得到随机数,并将随机数作为注入的错误个数,其中,错误个数小于或等于原始数据的宽度;根据注入的错误个数对设备进行ECC功能校验。本发明专利技术的方法具有可控性强、随机性强、验证灵活性高及验证功能全面的优点。

【技术实现步骤摘要】
ECC功能验证方法
本专利技术涉及信息
,特别涉及一种ECC功能验证方法。
技术介绍
ECC(ErrorCorrectingCode,错误检查和纠正)技术是一种纠错技术。在ECC技术出现前,内存应用中存在着另一种技术,即奇偶校验技术,与ECC技术相比,该技术的缺点在于仅仅能发现存在错误,而并不一定能够将错误修正,ECC技术的出现很好的解决了内存中存在错误的问题,将错误进行修复,使得整个系统能够正常的运行,ECC技术只能进行单比特修复,多比特检错。在当今IT行业高速发展的情况下,尤其在工业计算机、航空航天电子的应用上,该类设备均要求在全天候、高负载、复杂电磁环境等苛刻的条件下依然能保持正常运转,然而存储器中的数据发生错误的概率较大,这就要求这些设备需要具备ECC技术,来修复这种错误,保证系统的正常运行。为保证ECC算法的正确性,对系统中包含的ECC技术提供功能验证是非常重要的。由于在正常仿真模型下,是不会出现内存错误的情况的,所以要求人为的修改内存中的数据。目前相关的技术是通过从芯片管脚输入0或1来实现,该方法先由输入模块获取数据,然后再转换模块对数据进行修改,通过校验模块来进行ECC校验,最后在输出模块对校验后的结果进行输出,同时使用判断模块判定输出的正确性。然而,通过芯片管脚进行ERROR的输入,会占用总线资源,无法准确的控制ERROR注入的时机,若内存中的数据本身存在错误,通过数据管脚后又被修正,则不会进行ECC校验,该方法具有一定局限性;这些缺陷的主要原因还是由于在内存外部进行了ERROR的注入,可控性降低。
技术实现思路
本专利技术旨在至少在一定程度上解决上述相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种ECC功能验证方法,该方法具有可控性强、随机性强、验证灵活性高及验证功能全面的优点。为了实现上述目的,本专利技术的实施例提出了一种ECC功能验证方法,包括以下步骤:构建验证平台,并接收所述验证平台发送的读/写请求信号;根据所述读/写请求信号,获取当前地址及对应于所述当前地址的原始数据;利用随机函数得到随机数,并将所述随机数作为注入的错误个数,其中,所述错误个数小于或等于所述原始数据的宽度;以及根据所述注入的错误个数对设备进行ECC功能校验。根据本专利技术实施例的ECC功能验证方法,在ECC功能验证的过程中,通过获取内存中的正确数据,在将正确数据修改为错误数据后,直接赋值到内存中相应的地址上,从而使得ERROR注入的过程简单化,并可任意修改数据中的任意个比特的值,也可以不做修改,因而随机性强;另外,在进行ECC功能验证的同时,也可以进行正常功能验证,即方便又贴近真实场景该方法具有可控性强、随机性强、验证灵活性高及验证功能全面的优点。另外,根据本专利技术上述实施例的ECC功能验证方法还可以具有如下附加的技术特征:在一些示例中,根据所述注入的错误个数对设备进行ECC功能校验,进一步包括:判断所述注入的错误个数是否为0;以及如果所述注入的错误个数为0,则判定系统正常运行,不进行ECC功能校验。在一些示例中,还包括:如果所述注入的错误个数为N,则根据所述注入的错误个数N随机得到N个整数A1,…,AN,其中,N≥1;将原始数据队列中第A1至第AN位数据分别与“1”进行异或操作,以对所述第A1至第AN位数据进行修改;以及将修改后的第A1至第AN位数据存入所述原始数据队列中第A1至第AN位数据对应的地址。在一些示例中,还包括:读取发生数据修改的地址对应的数据,并统计其中的错误个数;如果所述错误个数为1,则将所述发生数据修改的地址对应的数据与原始数据队列中相应地址对应的数据进行比对,并根据所述比对结果进行ECC功能校验。在一些示例中,所述根据所述比对结果进行ECC功能校验,包括:如果比对结果正确,则判定ECC功能正常;如果比对结果错误,则判定ECC功能异常。在一些示例中,还包括:如果所述错误个数大于1,则判定ECC功能异常。在一些示例中,在进行ECC功能校验之后,还包括:依次用原始数据队列中相应地址对应的数据替换发生数据修改的地址对应的数据,并退出验证平台。在一些示例中,所述验证平台根据时钟周期发送读/写请求信号,其中,当处于时钟上升沿时,发送所述读/写请求信号。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是根据本专利技术一个实施例的ECC功能验证方法的流程图;图2是根据本专利技术一个实施例的验证平台的结构示意图;以及图3是根据本专利技术一个实施例的ECC功能验证方法的整体流程图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。以下结合附图描述根据本专利技术实施例的ECC功能验证方法。图1是根据本专利技术一个实施例的ECC功能验证方法的流程图。如图1所示,该方法包括以下步骤:步骤S1:构建验证平台,并接收验证平台发送的读/写请求信号。具体地说,首先需要构建基础的验证平台,在进行ECC功能验证前,需要保证正常读/写操作的正确性,这样才能判定后续发现的错误是否是由于ECC功能校验引起的。作为具体的示例,验证平台的结构例如图2所示,该验证平台例如由激励模块、参考模型、DUT(DesignUnderTest,试验设计)和对比模块四部分组成。其中,激励模块用于产生读/写请求信号;参考模型与DUT对应,两者具有相同的功能,通过获取激励,进行相应的操作,并将操作结果传输到对比模块,进而在对比模块中进行该次激励运行的最终结果的正确性判断。步骤S2:根据读/写请求信号,获取当前地址及对应于当前地址的原始数据。其中,在本专利技术的一个实施例中,例如验证平台根据时钟周期发送读/写请求信号,其中,当处于时钟上升沿时,发送读/写请求信号。结合图3所示,例如预先定义三个队列,分别为Addr,Data和Shift_bit,并将获取到的当前地址存储于Addr队列中,将对应于当前地址的原始数据存储于Data队列中。步骤S3:利用随机函数得到随机数,并将随机数作为注入的错误个数,其中,错误个数小于或等于原始数据的宽度。结合图3所示,即利用random随机函数,对将要注入的错误(ERROR)的个数进行随机,得到一个随机数,并将该随机数作为最终注入的错误个数,其中,该最终注入的错误个数小于原始数据的宽度。更为具体地,在一些示例中,原始数据的宽度例如为40bit。步骤S4:根据注入的错误个数对设备进行ECC功能校验。在本专利技术的一个实施例中,步骤S4进一步包括:S202:首先判断注入的错误个数(即得到的随机数的值)是否为0,如果注入的错误个数为0,则跳转至后续步骤S206,即判定系统运行正常,ECC功能正常,不进行ECC功能校验。另一方面,如果随机出的错误个数不为0,则跳转至下述步骤S203。步骤S203:如果注入的错误个数为N,则根据注入的错误个数N随机得到N个整数A1,…,AN,其中,N≥1。举例说明如下:如果错误本文档来自技高网...
ECC功能验证方法

【技术保护点】
一种ECC功能验证方法,其特征在于,包括以下步骤:构建验证平台,并接收所述验证平台发送的读/写请求信号;根据所述读/写请求信号,获取当前地址及对应于所述当前地址的原始数据;利用随机函数得到随机数,并将所述随机数作为注入的错误个数,其中,所述注入的错误个数小于或等于所述原始数据的宽度;以及根据所述注入的错误个数对设备进行ECC功能校验。

【技术特征摘要】
1.一种ECC功能验证方法,其特征在于,包括以下步骤:构建验证平台,并接收所述验证平台发送的读/写请求信号;根据所述读/写请求信号,获取当前地址及对应于所述当前地址的原始数据;利用随机函数得到随机数,并将所述随机数作为注入的错误个数,其中,所述注入的错误个数小于或等于所述原始数据的宽度;以及根据所述注入的错误个数对设备进行ECC功能校验。2.根据权利要求1所述的ECC功能验证方法,其特征在于,根据所述注入的错误个数对设备进行ECC功能校验,进一步包括:判断所述注入的错误个数是否为0;以及如果所述注入的错误个数为0,则判定系统正常运行,不进行ECC功能校验。3.根据权利要求2所述的ECC功能验证方法,其特征在于,还包括:如果所述注入的错误个数为N,则根据所述注入的错误个数N随机得到N个整数A1,…,AN,其中,N≥1;将原始数据队列中第A1至第AN位数据分别与“1”进行异或操作,以对所述第A1至第AN位数据进行修改;以及将修改后的第A1至第AN位数据存入所述原始数据队列中第A1至第AN...

【专利技术属性】
技术研发人员:邱剑
申请(专利权)人:北京国睿中数科技股份有限公司
类型:发明
国别省市:北京,11

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

1