本发明专利技术提供一种适用于网络交换芯片ECC功能验证的验证平台及验证方法。该验证平台包括配置信息添加模块,用于在已有验证平台上添加配置信息和错误注入类型信息;错误注入模块,用于根据配置的ECC错误类型,向待测网络交换芯片进行错误注入;错误检查比对模块,用于根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,接收待测网络交换芯片实际的输出结果,以及监测待测网络交换芯片实际的中断上报信息;并将期望的输出结果、中断上报信息和实际的输出结果、中断上报信息进行比对。本发明专利技术验证效率较高,功能点验证覆盖更全,易于EDA仿真实现。
【技术实现步骤摘要】
适用于网络交换芯片ECC功能验证的验证平台及验证方法
本专利技术涉及信息
,尤其涉及一种适用于网络交换芯片ECC功能验证的验证平台及验证方法。
技术介绍
随着半导体尺寸越来越小,尤其进入纳米尺寸后,电源电压不断减小,工作频率不断提高,使得器件间的节点电容不断减小,存储器在辐射环境中越来越容易受到高能幅射粒子的影响页产生软错误,会造成存储的“0”“1”翻转,导致存储器可靠性降低。为了提升集成电路抗软失效的能力,提高设计可靠性,通常会采用ECC(ErrorCorrectionCode,纠错码)设计,实现对软错误的检测与纠正。由于大多数情况只会发生单比特翻转,所以常用的ECC设计码型选用SEC-DED(SingleErrorCorrectionandDoubleErrorDetect,纠1位错检2位错编码)。网络交换芯片在提交投片前都会做充分、完备的功能验证,以保证设计的功能正确性。网络交换芯片通常会采用大量的存储体才能达到高速路由转发的目标,由于纳米工艺下集成电路固有的可靠性问题,先进工艺下的网络交换芯片一般都会采用ECC设计来保证其存储器的高可靠性。在数据写入存储体时,根据ECC算法计算得到校验位,并将校验位写入存储器的地址;当从存储体某个地址读取数据时,进行EDAC(ErrorDetectionandCorrection,错误检测和校正)校验,用于检测并纠正由于硬件存储失效造成的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工具识别所述服务器correctableECC阈值;如果缺少或没有安装该配置工具,则不能满足自动化测试的要求。
技术实现思路
为克服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功能验证的验证平台,其特征在于,包括:/n配置信息添加模块,用于在已有验证平台上添加配置信息和错误注入类型信息;所述配置信息包括是否开启ECC功能的状态信息和是否开启中断功能的状态信息;所述错误注入类型信息包括:ECC错误类型;/n错误注入模块,用于根据配置的ECC错误类型,向待测网络交换芯片进行错误注入;/n错误检查比对模块,用于根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,接收待测网络交换芯片实际的输出结果,以及监测待测网络交换芯片实际的中断上报信息;并将期望的输出结果、中断上报信息和实际的输出结果、中断上报信息分别进行比对。/n
【技术特征摘要】
1.适用于网络交换芯片ECC功能验证的验证平台,其特征在于,包括:
配置信息添加模块,用于在已有验证平台上添加配置信息和错误注入类型信息;所述配置信息包括是否开启ECC功能的状态信息和是否开启中断功能的状态信息;所述错误注入类型信息包括:ECC错误类型;
错误注入模块,用于根据配置的ECC错误类型,向待测网络交换芯片进行错误注入;
错误检查比对模块,用于根据向待测网络交换芯片注入的ECC错误类型提前得出待测网络交换芯片期望的输出结果和中断上报信息,接收待测网络交换芯片实际的输出结果,以及监测待测网络交换芯片实际的中断上报信息;并将期望的输出结果、中断上报信息和实际的输出结果、中断上报信息分别进行比对。
2.根据权利要求1所述的验证平台,其特征在于,所述ECC错误类型包括:单比特错误、两比特错误和无ECC错误。
3.适用于网络交换芯片ECC功能验证的验证方法,其特征在于,包括:
步骤1:针对不同的ECC错误类型,按照预设的错误注入方法向待测网络交换芯片进行错误注入,然后分别按照预设的错误检查比对方法对待测网络交换芯片进行ECC功能验证;所述ECC错误类型包括:单比特错误、两比特错误和无ECC错误;
步骤2:在待测网络交换芯片中注入随机的ECC错误类型,然后按照预设的错误检查比对方法对待测网络交换芯片进行ECC功能验证。
4.根据权利要求3所述的验证方法,其特征在于,所述错误注入方法包括:
步骤A1:读取待测网络交换芯片的存储体数据,设定在存储体中添加ECC校验位后,存储体的总数据位宽为N;
步骤A2:若为两比特错误,则生成两个不同的随机数,即第一随机数R1和第二随机数R2,并执行步骤A3;若为单比特错误,则生成1个随机数,即第三随机数R0,并执行步骤A4;若为无ECC错误,则不生成随机数;其中,R0、R1和R2的取值范围均位于[0,N-1]之间;
步骤A3:通过force操作和release操作,在存...
【专利技术属性】
技术研发人员:刘冬培,沈剑良,刘勤让,宋克,魏帅,虎艳宾,张霞,陈艇,李沛杰,张丽,
申请(专利权)人:中国人民解放军战略支援部队信息工程大学,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。