CN112506730B - 适用于网络交换芯片ecc功能验证的验证平台及验证方法 - Google Patents

适用于网络交换芯片ecc功能验证的验证平台及验证方法 Download PDF

Info

Publication number
CN112506730B
CN112506730B CN202011244360.8A CN202011244360A CN112506730B CN 112506730 B CN112506730 B CN 112506730B CN 202011244360 A CN202011244360 A CN 202011244360A CN 112506730 B CN112506730 B CN 112506730B
Authority
CN
China
Prior art keywords
error
bit
ecc
tested
network switching
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
Application number
CN202011244360.8A
Other languages
English (en)
Other versions
CN112506730A (zh
Inventor
刘冬培
沈剑良
刘勤让
宋克
魏帅
虎艳宾
张霞
陈艇
李沛杰
张丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202011244360.8A priority Critical patent/CN112506730B/zh
Publication of CN112506730A publication Critical patent/CN112506730A/zh
Application granted granted Critical
Publication of CN112506730B publication Critical patent/CN112506730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2215Detection 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明提供一种适用于网络交换芯片ECC功能验证的验证平台及验证方法。该验证平台包括配置信息添加模块,用于在已有验证平台上添加配置信息和错误注入类型信息;错误注入模块,用于根据配置的ECC错误类型,向待测网络交换芯片进行错误注入;错误检查比对模块,用于根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,接收待测网络交换芯片实际的输出结果,以及监测待测网络交换芯片实际的中断上报信息;并将期望的输出结果、中断上报信息和实际的输出结果、中断上报信息进行比对。本发明验证效率较高,功能点验证覆盖更全,易于EDA仿真实现。

Description

适用于网络交换芯片ECC功能验证的验证平台及验证方法
技术领域
本发明涉及信息技术领域,尤其涉及一种适用于网络交换芯片ECC功能验证的验证平台及验证方法。
背景技术
随着半导体尺寸越来越小,尤其进入纳米尺寸后,电源电压不断减小,工作频率不断提高,使得器件间的节点电容不断减小,存储器在辐射环境中越来越容易受到高能幅射粒子的影响页产生软错误,会造成存储的“0”“1”翻转,导致存储器可靠性降低。为了提升集成电路抗软失效的能力,提高设计可靠性,通常会采用ECC(Error Correction Code,纠错码)设计,实现对软错误的检测与纠正。由于大多数情况只会发生单比特翻转,所以常用的ECC设计码型选用SEC-DED(Single Error Correction and Double Error Detect,纠1位错检2位错编码)。
网络交换芯片在提交投片前都会做充分、完备的功能验证,以保证设计的功能正确性。网络交换芯片通常会采用大量的存储体才能达到高速路由转发的目标,由于纳米工艺下集成电路固有的可靠性问题,先进工艺下的网络交换芯片一般都会采用ECC设计来保证其存储器的高可靠性。在数据写入存储体时,根据ECC算法计算得到校验位,并将校验位写入存储器的地址;当从存储体某个地址读取数据时,进行EDAC(Error Detection andCorrection,错误检测和校正)校验,用于检测并纠正由于硬件存储失效造成的1bit数据错误的情况,以用根据存储体数据出错类型产生对应的中断上报行为。
现有的技术方案重点侧重于研究用于实现纠1检2功能的ECC编解码方案和实现方法,包括扩展Hamming码、Hasio码等改进算法,以及这类ECC算法的高效实现,包括如何以更低成本实现ECC功能,或者以更低时延完成实时检测和错误纠正。当前ECC算法的理论研究和工程实现方法基本成熟。但较少的技术方案涉及芯片设计中ECC功能的验证方法。
FPGA原型验证是一种常用的功能验证方案,但对于ECC功能来说,基于FPGA不便于开展ECC功能验证,主要是不便于实时错误注入或错误注入的成本太高,例如在FPGA原型验证板设计时,通过设计拨码开关可支持错误注入,但验证的ECC功能覆盖有限,且成本较高。
中国专利文献CN106933696A公开了一种ECC功能验证方法,但该文献中直接利用随机函数产生的随机数作为注入的错误个数,由于产生的随机数通常都会大于等于2,因此其错误注入个数在大部分情况下都会超出ECC错误纠正能力,不利于充分验证ECC的纠错功能。
中国专利文献CN107562593A公开了另一种验证内存ECC功能的自动化测试方法与系统,但该专利中提到的自动化测试系统依赖于第三方配置工具模块ipmitool和idk,包括采用idk工具对所述内存进行错误注入,采用Dmidecode工具识别当前服务器插入的内存和位置,采用ipmitool工具识别所述服务器correctable ECC阈值;如果缺少或没有安装该配置工具,则不能满足自动化测试的要求。
发明内容
为克服FPGA原型验证方案存在的ECC功能覆盖有限且成本较高的问题,本发明提供一种适用于网络交换芯片ECC功能验证的验证平台及验证方法,实现在网络交换芯片对ECC功能的完备、充分的验证,具有可操作性强、实现简单、功能覆盖全面等优点。
本发明提供一种适用于网络交换芯片ECC功能验证的验证平台,包括:
配置信息添加模块,用于在已有验证平台上添加配置信息和错误注入类型信息;所述配置信息包括是否开启ECC功能的状态信息和是否开启中断功能的状态信息;所述错误注入类型信息包括:ECC错误类型;
错误注入模块,用于根据配置的ECC错误类型,向待测网络交换芯片进行错误注入;
错误检查比对模块,用于根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,接收待测网络交换芯片实际的输出结果,以及监测待测网络交换芯片实际的中断上报信息;并将期望的输出结果、中断上报信息和实际的输出结果、中断上报信息进行比对。
进一步地,所述ECC错误类型包括:单比特错误、两比特错误和无ECC错误。
本发明还提供一种适用于网络交换芯片ECC功能验证的验证方法,包括:
步骤1:针对不同的ECC错误类型,按照预设的错误注入方法向待测网络交换芯片进行错误注入,然后分别按照预设的错误检查比对方法对待测网络交换芯片进行ECC功能验证;所述ECC错误类型包括:单比特错误、两比特错误和无ECC错误;
步骤2:在待测网络交换芯片中注入随机的ECC错误类型,然后按照预设的错误检查比对方法对待测网络交换芯片进行ECC功能验证。
进一步地,所述错误注入方法包括:
步骤A1:读取待测网络交换芯片的存储体数据,设定在存储体中添加ECC校验位后,存储体的总数据位宽为N;
步骤A2:若为两比特错误,则生成两个不同的随机数,即第一随机数R1和第二随机数R2,并执行步骤A3;若为单比特错误,则生成1个随机数,即第三随机数R0,并执行步骤A4;若为无ECC错误,则不生成随机数;其中,R0、R1和R2的取值范围均位于[0,N-1]之间;
步骤A3:通过force操作和release操作,在存储体数据的第R1比特位置和第R2比特位置各注入单比特错误;
步骤A4:通过force操作和release操作,在存储体数据的第R0比特位置注入单比特错误。
进一步地,步骤1中,向待测网络交换芯片注入单比特错误时,单比特出错位置应分别覆盖数据位和校验位两种情形。
进一步地,步骤1中,向待测网络交换芯片注入两比特错误时,两比特出错位置应分别覆盖两比特数据位、两比特校验位、1-bit数据位加1-bit校验位三种情形。
进一步地,所述错误检查比对方法包括:
根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息;
接收待测网络交换芯片实际的输出结果;
监测待测网络交换芯片实际的中断上报信息;
将期望的输出结果、中断上报信息和实际的输出结果、中断上报信息分别进行比对。
进一步地,所述根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,具体为:
若ECC错误类型为无ECC错误,即不向待测网络交换芯片注入ECC错误时,待测网络交换芯片无任何功能问题,且不会发送中断上报信息;
若ECC错误类型为单比特错误,待测网络交换芯片无任何功能问题,并且其每次在纠正单比特出错时均会发送一次中断上报信息,发送中断上报信息的次数和错误注入的次数一致;
若ECC错误类型为两比特错误,待测网络交换芯片每次检测两比特出错时均会发送一次中断上报信息,发送中断上报信息的次数和错误注入的次数一致;并且可以区分出错位置为致命错误或非致命错误,当出错位置为致命错误时,能够单独复位出错模块,然后按复位流程确认是否可正确恢复以及恢复之后能否正确处理包;当出错位置为非致命错误时,可以生成两比特错误标志或丢包处理。
本发明的有益效果:
1、本发明提供的适用于网络交换芯片ECC功能验证的验证平台构建简单、易于实现,基本可复用原有的网络交换芯片验证平台,根据ECC初始配置信息可得出预期结果,将预期结果与ECC输出结果及中断上报统计结果进行自动化对比,验证效率较高;
2、本发明提供的适用于网络交换芯片ECC功能验证的验证方法,不同于传统的完全随机验证方法,本发明验证方法首先对各种类型的ECC错误进行定向验证,再随机验证不同错误类型下的ECC功能,基于定向验证和随机验证测试用例,功能点验证覆盖更全;
3、本发明提供的适用于网络交换芯片ECC功能验证的验证方法中,在进行错误注入时,不同于采用异或逻辑操作实现错误注入的传统错误注入方法,本发明采用force和release操作进行错误注入,在数据变化的第一个下降沿force,第二个下降沿release,保证数据在进行ECC检查时,可检测出1-bit或2-bit出错,易于EDA仿真实现;
4、本发明提供的适用于网络交换芯片ECC功能验证的验证方法中,针对网络交换芯片两比特出错情形,根据是否引起芯片功能异常区分致命错误与非致命错误,在ECC功能验证时除关注中断上报之外,还针对两者不同的处理方式分别作出了预期和比对。
附图说明
图1为本发明实施例提供的适用于网络交换芯片ECC功能验证的验证平台的结构示意图;
图2为本发明实施例提供的错误注入方法的流程示意图;
图3为本发明实施例提供的适用于网络交换芯片ECC功能验证的验证方法的流程示意图;
图4为本发明实施例提供的错误检查比对方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本发明实施例提供一种适用于网络交换芯片ECC功能验证的验证平台,包括:配置信息添加模块、错误注入模块和错误检查比对模块;其中,配置信息添加模块用于在已有验证平台上添加配置信息和错误注入类型信息;所述配置信息包括是否开启ECC功能的状态信息和是否开启中断功能的状态信息;所述错误注入类型信息包括:ECC错误类型;错误注入模块用于根据配置的ECC错误类型向待测网络交换芯片(DUT)进行错误注入;错误检查比对模块用于根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,接收待测网络交换芯片实际的输出结果,以及监测待测网络交换芯片实际的中断上报信息;并将期望的输出结果、中断上报信息与DUT实际的输出结果、中断上报信息分别进行比对。
具体地,本发明实施例提供的验证平台可以复用DUT已有的验证平台,已有验证平台可以是模块级验证平台、子系统级验证平台或全系统级验证平台。错误注入类型信息除了必须包括ECC错误类型外,还可以包括错误地址、错误时间等信息。所述ECC错误类型包括:单比特错误、两比特错误和无ECC错误。中断上报信息可以是中断上报脉冲,也可以是中断上报地址等信息。在所述错误检查比对模块中设计有参考模型,该参考模型的作用是为了使得错误检查比对模块能够根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息。本实施例提供的验证平台根据初始配置信息、故障注入以及ECC输出结果等信息可以实现固定ECC错误类型或随机出现单比特/两比特/无ECC错误这几种ECC错误类型的错误检查自动比对,主要关注错误上报及错误处理两部分功能是否与预期一致,整个验证平台实现简单、自动化程度较高,能够提升验证效率。
作为一种可实施方式,该参考模型的设计思想可以为:(1)若ECC错误类型为无ECC错误,即不向待测网络交换芯片注入ECC错误时,待测网络交换芯片无任何功能问题,且不会发送中断上报信息;(2)若ECC错误类型为单比特错误,待测网络交换芯片无任何功能问题,并且其每次在纠正单比特出错时均会发送一次中断上报信息,发送中断上报信息的次数和错误注入的次数一致;(3)若ECC错误类型为两比特错误,待测网络交换芯片每次检测两比特出错时均会发送一次中断上报信息,发送中断上报信息的次数和错误注入的次数一致;并且可以区分出错位置为致命错误或非致命错误,当出错位置为致命错误时,能够单独复位出错模块,然后按复位流程确认是否可正确恢复以及恢复之后能否正确处理包;当出错位置为非致命错误时,可以生成两比特错误标志或丢包处理。
实施例2
对应地,本发明实施例还提供了一种适用于网络交换芯片ECC功能验证的验证方法,可以应用于上述实施例提供的验证平台上,该验证方法包括:
S101:针对不同的ECC错误类型,按照预设的错误注入方法向待测网络交换芯片进行错误注入,然后分别按照预设的错误检查比对方法对待测网络交换芯片进行ECC功能验证;所述ECC错误类型包括:单比特错误、两比特错误和无ECC错误;
S102:在待测网络交换芯片中注入随机的ECC错误类型,然后按照预设的错误检查比对方法对待测网络交换芯片进行ECC功能验证。
具体地,为了确保待测设备DUT中的ECC功能能够实现纠1检2功能,按预期正确处理各种ECC错误类型,本发明实施例的验证方法采用定向测试与随机测试相结合的方法进行功能验证。其中,步骤S101是定向测试过程,即分别针对不同的ECC错误类型进行功能验证,确保在不同错误类型条件下的功能符合预期;步骤S102为随机测试过程,向待测网络交换芯片注入随机的ECC错误类型,对DUT功能进行加强验证,如此可以确保本发明实施例的验证方法功能点覆盖全面,能快速提升验证的覆盖率。
作为一种可实施方式,本发明实施例采用下述的错误注入方法向待测网络交换芯片进行错误注入,如图2所示,该错误注入方法包括:
S201:读取待测网络交换芯片的存储体数据,设定在存储体中添加ECC校验位后,存储体的总数据位宽为N;
S202:若为两比特错误,则生成两个不同的随机数,即第一随机数R1和第二随机数R2,并执行步骤S203;若为单比特错误,则生成1个随机数,即第三随机数R0,并执行步骤S204;若为无ECC错误,则不生成随机数;其中,R0、R1和R2的取值范围均位于[0,N-1]之间;
S203:通过force操作和release操作,在存储体数据的第R1比特位置和第R2比特位置各注入单比特错误;
S204:通过force操作和release操作,在存储体数据的第R0比特位置注入单比特错误。
具体地,在实际应用中,可以为不同的ECC错误类型分配一个类型参数ecc_type,然后根据该类型参数的取值确定ECC错误类型。例如,无ECC错误、单比特错误和两比特错误的ecc_type的值分别为0、1和2。
本发明实施例中,根据不同的ECC错误类型ecc_type的值{0,1,2},产生相应数量的出错位置,出错位置的索引值通过随机函数产生,范围在[0,N-1]之间。通过运行多组测试用例,单比特出错位置可覆盖数据位和校验位两种情形,两比特出错位置可覆盖两比特数据位、两比特校验位、1-bit数据位加1-bit校验位三种情形。得到错误注入的索引值之后,采用force和release操作进行错误注入,在数据变化的第一个下降沿force,第二个下降沿release,保证数据在进行ECC检查时,可检测出1-bit或2-bit出错。采用force和release操作进行错误注入,操作简单,便于EDA工具实现。
作为一种可实施方式,本发明实施例采用下述的错误检查比对方法对待测网络交换芯片进行ECC功能验证,所述错误检查比对方法包括:根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息;接收待测网络交换芯片实际的输出结果;监测待测网络交换芯片实际的中断上报信息;将期望的输出结果、中断上报信息和实际的输出结果、中断上报信息进行错误检查比对。
其中:所述根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,具体为:
若ECC错误类型为无ECC错误,即不向待测网络交换芯片注入ECC错误时,待测网络交换芯片无任何功能问题,且不会发送中断上报信息;
若ECC错误类型为单比特错误,待测网络交换芯片无任何功能问题,并且其每次在纠正单比特出错时均会发送一次中断上报信息,发送中断上报信息的次数和错误注入的次数一致;
若ECC错误类型为两比特错误,待测网络交换芯片每次检测两比特出错时均会发送一次中断上报信息,发送中断上报信息的次数和错误注入的次数一致;并且可以区分出错位置为致命错误或非致命错误,当出错位置为致命错误时,能够单独复位出错模块,然后按复位流程确认是否可正确恢复以及恢复之后能否正确处理包;当出错位置为非致命错误时,可以生成两比特错误标志或丢包处理。
具体地,网络交换芯片中通常包含控制通路和数据通路,其中的ECC设计原则一致,ECC算法设计也可以借助Memory Compiler工具自动生成对应存储体数据位宽的校验位,但一旦出现错误情形,对控制通路和数据通路的处理方式不一样。数据通路发生不可纠正错误可以产生丢包请求,而控制通路(如路由表)出错时很可能就是致命错误,针对致命错误情形则需要按流程进行相应的复位操作,确认是否能够通过复位操作进行正确恢复。因此,本发明实施例提供的参考模型针对ECC错误类型为两比特错误,除了需要比较发送中断上报信息的次数和错误注入的次数一致,还重点关注DUT是否能够区分出致命错误或非致命错误。
实施例3
在实施例2的基础上,如图3所示,本发明实施例提供另一种适用于网络交换芯片ECC功能验证的验证方法,包括如下步骤:
S301:确保DUT在没有出现ECC错误时,即不注入ECC错误时,DUT无任何功能问题,且不会上报中断。
S302:随机注入单比特错误,单比特出错位置覆盖数据位和校验位两种情形,完成全部测试用例的一轮回归,确认DUT无任何功能问题;仿真结束时,ECC1-bit出错计数的状态寄存器期望结果等于错误注入次数。如果验证结果与此不符,则说明DUT的ECC功能存在缺陷,需要结合仿真波形进一步分析定位。
S303:随机注入两比特错误,两比特出错位置覆盖两比特数据位、两比特校验位、1-bit数据位加1-bit校验位三种情形,比较错误注入次数与上报中断次数是否一致,并区分出错位置是否为致命错误。若为致命错误,如路由表某个条目发生两比特出错,则需要考虑单独复位,根据复位操作流程确认是否可正确恢复DUT功能;若为非致命错误,如某数据包出现两比特出错,则可以按预期进行丢包处理。如果验证结果与此不符,则需要结合仿真波形进一步分析定位,排查DUT设计缺陷。
S304:随机注入无ECC错误、单比特错误或两比特错误情形,根据ECC错误类型判断DUT行为是否与预期一致,如果验证平台对比结果发现不一致现象,则需要结合仿真波形进一步分析定位,排查DUT设计缺陷。
实施例4
在上述实施例2的基础上,如图4所示,本发明实施例提供一种错误检查比对方法,具体如下:
若当前注入的ECC错误类型为无ECC错误,则确认在待测设备DUT中是否出现ECC错误,如果没有出现ECC错误,则表示DUT功能正常,数据包可正常进行路由转发;
若当前注入的ECC错误类型为单比特错误,则确认在待测设备DUT中是否出现单比特错误,如果出现单比特错误,由于ECC算法具备单比特纠错能力,接着确认DUT是否能够正常工作,并且由于DUT每次在纠正单比特出错时都会上报一次中断,仿真结束时需要比较错误注入次数与中断上报次数是否一致(需要说明的是,在比较次数是否一致时,应确保DUT没有误上报中断);
若当前注入的ECC错误类型为两比特错误,则确认在待测设备DUT中是否出现两比特出错情形,如果出现两比特出错情形,仿真结束时需要确认错误注入次数与中断上报次数是否一致,并且确认DUT是否可以区分出致命错误或非致命错误,接着进一步确认当其区分出出错位置为致命错误时,其是否能够单独复位出错模块,以及是否能够按复位流程确认出错模块是否可正确恢复以及恢复之后能否正确处理包;若为非致命错误,确认其是否可以按预期生成两比特错误标志或丢包处理。
如果在功能验证过程中发现DUT行为与参考模型的预期不一致,则说明DUT存在设计缺陷,或者参考模型描述不准确,需要结合仿真波形进一步分析确认,排查DUT设计缺陷或完善验证平台。
本发明实施例提供的错误检查比对方法可扩展应用于CPU、DSP等芯片的ECC功能验证。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.适用于网络交换芯片ECC功能验证的验证平台,其特征在于,包括:
配置信息添加模块,用于在已有验证平台上添加配置信息和错误注入类型信息;所述配置信息包括是否开启ECC功能的状态信息和是否开启中断功能的状态信息;所述错误注入类型信息包括:ECC错误类型;
错误注入模块,用于根据配置的ECC错误类型,向待测网络交换芯片进行错误注入;错误注入的方法包括:
步骤A1:读取待测网络交换芯片的存储体数据,设定在存储体中添加ECC校验位后,存储体的总数据位宽为N
步骤A2:若为两比特错误,则生成两个不同的随机数,即第一随机数R 1和第二随机数R 2,并执行步骤A3;若为单比特错误,则生成1个随机数,即第三随机数R 0,并执行步骤A4;若为无ECC错误,则不生成随机数;其中,R 0R 1R 2的取值范围均位于[0,N-1]之间;
步骤A3:通过force操作和release操作,在存储体数据的第R 1比特位置和第R 2比特位置各注入单比特错误;
步骤A4:通过force操作和release操作,在存储体数据的第R 0比特位置注入单比特错误;
错误检查比对模块,用于根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,接收待测网络交换芯片实际的输出结果,以及监测待测网络交换芯片实际的中断上报信息;并将期望的输出结果、中断上报信息和实际的输出结果、中断上报信息分别进行比对。
2.根据权利要求1所述的验证平台,其特征在于,所述ECC错误类型包括:单比特错误、两比特错误和无ECC错误。
3.适用于网络交换芯片ECC功能验证的验证方法,其特征在于,包括:
步骤1:针对不同的ECC错误类型,按照预设的错误注入方法向待测网络交换芯片进行错误注入,然后分别按照预设的错误检查比对方法对待测网络交换芯片进行ECC功能验证;所述ECC错误类型包括:单比特错误、两比特错误和无ECC错误;所述错误注入方法包括:
步骤A1:读取待测网络交换芯片的存储体数据,设定在存储体中添加ECC校验位后,存储体的总数据位宽为N
步骤A2:若为两比特错误,则生成两个不同的随机数,即第一随机数R 1和第二随机数R 2,并执行步骤A3;若为单比特错误,则生成1个随机数,即第三随机数R 0,并执行步骤A4;若为无ECC错误,则不生成随机数;其中,R 0R 1R 2的取值范围均位于[0,N-1]之间;
步骤A3:通过force操作和release操作,在存储体数据的第R 1比特位置和第R 2比特位置各注入单比特错误;
步骤A4:通过force操作和release操作,在存储体数据的第R 0比特位置注入单比特错误;
步骤2:在待测网络交换芯片中注入随机的ECC错误类型,然后按照预设的错误检查比对方法对待测网络交换芯片进行ECC功能验证;所述错误检查比对方法包括:
根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息;
接收待测网络交换芯片实际的输出结果;
监测待测网络交换芯片实际的中断上报信息;
将期望的输出结果、中断上报信息和实际的输出结果、中断上报信息进行比对。
4.根据权利要求3所述的验证方法,其特征在于,步骤1中,向待测网络交换芯片注入单比特错误时,单比特出错位置应分别覆盖数据位和校验位两种情形。
5.根据权利要求3所述的验证方法,其特征在于,步骤1中,向待测网络交换芯片注入两比特错误时,两比特出错位置应分别覆盖两比特数据位、两比特校验位、1-bit数据位加1-bit校验位三种情形。
6.根据权利要求3所述的验证方法,其特征在于,所述根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,具体为:
若ECC错误类型为无ECC错误,即不向待测网络交换芯片注入ECC错误时,待测网络交换芯片无任何功能问题,且不会发送中断上报信息;
若ECC错误类型为单比特错误,待测网络交换芯片无任何功能问题,并且其每次在纠正单比特出错时均会发送一次中断上报信息,发送中断上报信息的次数和错误注入的次数一致;
若ECC错误类型为两比特错误,待测网络交换芯片每次检测两比特出错时均会发送一次中断上报信息,发送中断上报信息的次数和错误注入的次数一致;并且可以区分出错位置为致命错误或非致命错误,当出错位置为致命错误时,能够单独复位出错模块,然后按复位流程确认是否可正确恢复以及恢复之后能否正确处理包;当出错位置为非致命错误时,生成两比特错误标志或丢包处理。
CN202011244360.8A 2020-11-10 2020-11-10 适用于网络交换芯片ecc功能验证的验证平台及验证方法 Active CN112506730B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011244360.8A CN112506730B (zh) 2020-11-10 2020-11-10 适用于网络交换芯片ecc功能验证的验证平台及验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011244360.8A CN112506730B (zh) 2020-11-10 2020-11-10 适用于网络交换芯片ecc功能验证的验证平台及验证方法

Publications (2)

Publication Number Publication Date
CN112506730A CN112506730A (zh) 2021-03-16
CN112506730B true CN112506730B (zh) 2022-11-01

Family

ID=74956128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011244360.8A Active CN112506730B (zh) 2020-11-10 2020-11-10 适用于网络交换芯片ecc功能验证的验证平台及验证方法

Country Status (1)

Country Link
CN (1) CN112506730B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024092437A1 (zh) * 2022-10-31 2024-05-10 华为技术有限公司 一种数据传输方法、装置和系统
CN116629696A (zh) * 2023-06-06 2023-08-22 广东云下汇金科技有限公司 一种数据中心工程建设阶段施工质量管理系统平台
CN116467131B (zh) * 2023-06-19 2023-08-25 上海芯联芯智能科技有限公司 一种处理器的ecc功能验证方法、装置、介质和设备
CN117494638B (zh) * 2023-11-09 2024-06-18 摩尔线程智能科技(上海)有限责任公司 芯片功能的验证方法、验证平台、电子设备及存储介质
CN117498991B (zh) * 2023-11-14 2024-05-28 无锡众星微系统技术有限公司 一种基于重传功能原型设备的可测性注错方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6799287B1 (en) * 2000-05-01 2004-09-28 Hewlett-Packard Development Company, L.P. Method and apparatus for verifying error correcting codes
CN103997402A (zh) * 2014-05-30 2014-08-20 中国科学院深圳先进技术研究院 一种加密芯片安全性能测试方法和装置
CN105277871A (zh) * 2014-06-19 2016-01-27 新唐科技股份有限公司 检测错误注入的方法与装置
CN106648968A (zh) * 2016-10-19 2017-05-10 盛科网络(苏州)有限公司 一种芯片出现ecc无法纠错时的数据恢复的方法和装置
CN108600047A (zh) * 2018-04-04 2018-09-28 天津芯海创科技有限公司 串行传输芯片及serdes电路测试方法
CN110704234A (zh) * 2019-09-12 2020-01-17 无锡江南计算技术研究所 一种存控数据传输错误注入方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459997B2 (en) * 2014-05-01 2016-10-04 International Business Machines Corporation Error injection and error counting during memory scrubbing operations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6799287B1 (en) * 2000-05-01 2004-09-28 Hewlett-Packard Development Company, L.P. Method and apparatus for verifying error correcting codes
CN103997402A (zh) * 2014-05-30 2014-08-20 中国科学院深圳先进技术研究院 一种加密芯片安全性能测试方法和装置
CN105277871A (zh) * 2014-06-19 2016-01-27 新唐科技股份有限公司 检测错误注入的方法与装置
CN106648968A (zh) * 2016-10-19 2017-05-10 盛科网络(苏州)有限公司 一种芯片出现ecc无法纠错时的数据恢复的方法和装置
CN108600047A (zh) * 2018-04-04 2018-09-28 天津芯海创科技有限公司 串行传输芯片及serdes电路测试方法
CN110704234A (zh) * 2019-09-12 2020-01-17 无锡江南计算技术研究所 一种存控数据传输错误注入方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Condensation modelling for ECC injection;A.Janicot等;《Nuclear Engineering and Design》;19931102;第145卷(第1-2期);全文 *
FC-AE-ASM协议IP核验证方法和技术研究;陈艇等;《通信学报》;20181130;第39卷(第S2期);全文 *
曙光5000芯片组系统级功能验证平台;刘涛等;《计算机工程与科学》;20091115;第31卷(第11期);全文 *

Also Published As

Publication number Publication date
CN112506730A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN112506730B (zh) 适用于网络交换芯片ecc功能验证的验证平台及验证方法
EP1160987B1 (en) Method and apparatus for verifying error correcting codes
KR100681429B1 (ko) 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
US7712010B2 (en) Systems, methods and computer program products for utilizing a spare lane for additional checkbits
US9734920B2 (en) Memory test with in-line error correction code logic to test memory data and test the error correction code logic surrounding the memories
US8612828B2 (en) Error correction mechanisms for 8-bit memory devices
CN205881469U (zh) 电子设备和用于具有经受瞬态故障和永久故障的多个存储器位置的存储器的故障检测设备
CN102904685B (zh) 一种硬件表项校验错误的处理方法及装置
CN103703447B (zh) Mram场的干扰检测和恢复
CN102135925B (zh) 用于检测错误检查和纠正内存的方法和装置
CN104579313B (zh) 一种基于配置帧的在轨sram型fpga故障检测与修复方法
US20070260962A1 (en) Methods and apparatus for a memory device with self-healing reference bits
US6519736B1 (en) Generating special uncorrectable error codes for failure isolation
CN112787856A (zh) 故障判断方法、装置、计算机设备以及可读存储介质
CN110688249B (zh) 一种纠错码电路的注错检测电路
CN114237972A (zh) 一种用于总线传输的端到端ecc保护装置及方法
CN102981925A (zh) 应用于通讯设备的寄存器巡检校验控制方法
US6463563B1 (en) Single symbol correction double symbol detection code employing a modular H-matrix
CN115904798A (zh) 存储器的纠错检错方法、系统以及控制器
CN101271419B (zh) 随机存储器失效的检测处理方法、装置和系统
CN114721862B (zh) 一种具有信号校验功能的看门狗电路及其工作方法
CN109753369A (zh) 一种寄存器及内存中顺序数组的数据编码及校验方法
TWI789453B (zh) 記憶體和操作該記憶體的方法
Sunita et al. Matrix code based multiple error correction technique for n-bit memory data
US20240202086A1 (en) Circuits, systems, and methods for ecc fault detection

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