一种存控数据传输错误注入方法技术

技术编号:23148876 阅读:21 留言:0更新日期:2020-01-18 13:23
本发明专利技术涉及芯片验证技术领域,具体涉及一种存控数据传输错误注入方法。本发明专利技术通过以下技术方案得以实现的:一种存控数据传输错误注入方法,包含如下步骤;步骤S01:抽象数据传输协议步骤,对数据传输协议进行抽象处理,从而保证错误注入与协议产生交底的耦合度;步骤S02:故障模型抽象步骤,对注错模块进行配置;步骤S03:注入方式配置步骤,对焦点及伪随机设计进行设置。本发明专利技术的目的是提供一种存控数据传输错误注入方法,能够使用统一的错误注入接口,注入定向错误或伪随机错误,提高待测设计的容错功能测试效率,大大降低测试集开发工作量。

An error injection method for data transmission of storage and control

【技术实现步骤摘要】
一种存控数据传输错误注入方法
本专利技术涉及芯片验证
,具体涉及一种存控数据传输错误注入方法。
技术介绍
随着计算机体系结构研究的不断深入和集成电路设计技术的快速发展,储电路的访存速率不断提高,进而导致数据在处理器芯片和内存颗粒之间的传输过程发生瞬态故障的概率大幅提升。即便各厂商不断优化训练流程,但仍然不能保证处理器在运行过程中的数据正确性。为了解决此类问题,存储控制器在设计过程中往往采用特定的容错设计方法,进一步提高数据传输的可靠性。如公告号为CN110096402A的中国专利文件公开了对芯片数据异常处理逻辑的验证装置和方法,其采用了造错和模拟验证的技术方案。在模拟验证过程中,针对待测设计的设计规范和功能说明,往往首先拟定功能测试集进行焦点及边界情况的验证,之后增加相应的伪随机测试以尽可能覆盖未知的情况。在以上的测试手段中,均需在数据传输过程中进行错误注入。比较常见的错误注入方式,是在某个或者是多个固定时刻对数据总线进行造错,将错误数据注入到待测设计中。然而,这样的技术方案在错误注入的过程中存在几个问题:一是测试功能集中各测试向量间的灵活性差,针对功能测试集中的不同测试项,开发人员需单独编写测试激励。二是伪随机注入功能弱,错误注入时间、故障模型、数量等较为固定。三是通用性差,当数据总线的传输协议变动,或者是故障模型变动等情况发生时,往往无法对测试集进行快速修改。
技术实现思路
本专利技术的目的是提供一种存控数据传输错误注入方法,能够使用统一的错误注入接口,注入定向错误或伪随机错误,提高待测设计的容错功能测试效率,大大降低测试集开发工作量。一种存控数据传输错误注入方法,包含如下步骤;步骤S01:抽象数据传输协议步骤,对数据传输协议进行抽象处理,从而保证错误注入与协议产生交底的耦合度;步骤S02:故障模型抽象步骤,对注错模块进行配置;步骤S03:注入方式配置步骤,对焦点及伪随机设计进行设置。作为本专利技术的优选,在所述步骤S01中,对注入模块进行协议配置,配置内容包含传输时钟配置、数据有效信号或条件判断配置、数据信号或信号组配置、数据延迟配置和数据有效节拍数。作为本专利技术的优选,所述传输时钟配置,用于inject_err对象的控制;所述数据有效信号或条件判断,用于触发数据造错;所述数据信号或信号组,指定错误的注入信号;所述数据延迟,指定数据有效信号到数据之间的延迟;所述数据有效节拍数,指在多拍数据时用于控制造错处于的节拍。作为本专利技术的优选,当数据传输协议不需要使用到的配置内容时,该项配置内容使用默认值。作为本专利技术的优选,在所述步骤S02中,对所述注错模块进行配置的配置内容包含:对数据信号组的错误配置、对数据信号组内的错误模型进行配置、对校验错误模型配置和对错误注入节拍控制。作为本专利技术的优选,在所述对数据信号组的错误配置中的造错配置为:至少有一组数据信号错或至多一组数据信号错或所有数据信号组均错。作为本专利技术的优选,在所述校验错误模型配置中,错误配置为ECC单、多错或奇偶校验错或CRC错。作为本专利技术的优选,在所述S03步骤中,在焦点注入时,指定在自定义条件触发时进行错误的注入,且对注入的次数进行设置。综上所述,本专利技术具备如下有益效果:本技术方案通过抽象传输协议,与协议的耦合度低、复用性强,能够快速适应不同类型的数据传输协议。采用模块化设计和灵活的配置方式,能够在测试环境和测试激励独立使用,在降低容错测试集开发工作量的同时,提高其他测试集在容错回归中的作用。具体实施方式:以下对本专利技术作进一步详细说明。本具体实施例仅仅是对本专利技术的解释,其并不是对本专利技术的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本专利技术的权利要求范围内都受到专利法的保护。实施例1,一种存控数据传输错误注入方法,本技术方案采用模块化思想,使用SystemVerilog面向对象技术实现一个inject_err类,用于错误注入。为了提高注入效率及通用性,inject_err类采用UVM提供的VPI接口实现错误的force及release过程,可使用信号的路径层次作为参数。第一步,抽象数据传输协议步骤。由于在实际应用中,数据传输协议种类多,各不相同。在本步骤中,对数据传输协议进行抽象处理,从而保证错误注入与协议产生交底的耦合度。进一步的,在本步骤中,对注入模块进行协议配置。一般的,需要配置如下五个内容,分别是,传输时钟配置、数据有效信号或条件判断配置、数据信号或信号组配置、数据延迟配置和数据维持节拍。其中,传输时钟配置,用于inject_err对象的控制。数据有效信号或条件判断,用于触发数据造错。数据信号或信号组,指定错误的注入信号。数据延迟,指定数据有效信号到数据之间的延迟。数据维持节拍,在多拍数据时用于控制造错处于的节拍。在不同的数据传输协议中,有的数据传输协议需要以上五项内容都需要配置,有的数据传输协议则只需要其中的三项或者四项内容进行配置即可,不需要配置的内容可以直接使用默认值。以上的基本设置,已可一定程度满足在不同接口协议的通用性要求。第二步,故障模型抽象步骤。在该步骤中,还需要对于注错模块进行配置,这里往往包含四项配置内容。内容一,对数据信号组的错误配置。例如有一项64位的数据,则分成八组数据信号组,每个数据信号组均包含8位内容加一个校验位。这里的造错配置为:至少有一组数据信号错、至多一组数据信号错、所有数据信号组均错等。内容二:对数据信号组内的错误模型进行配置。例如上文中提到的例子,每个数据信号组均包含8位内容加一个校验位,此处对于这8位内容进行造错。造错配置为:对组内有至少一位数据信号错、组内至多一位数据信号错、连续多位错、所有数据信号错等。内容三:校验错误模型配置。用于实现常用的数据校验模式,常见如ECC单、多错,奇偶校验错、CRC错等,也可包括满足自定义的校错设计等。内容四:错误注入节拍控制,这是用于在多节拍数据时,实现错误所处节拍的指定或者随机化。在该步骤也完成之后,就进入第三步骤,也是最后一个步骤,即焦点及伪随机设计设置。inject_err类支持焦点注入及随机注入。其中,焦点注入时,可指定在某个条件触发时进行错误的注入,并可对注入的次数进行设置。而当伪随机注入时,可实现对注入条件的随机化,并实现对注错请求所占比例的配置。至此,通过本技术方案,inject_err对象的使用,即可以放在测试激励中使用,也可以集成在测试环境中。放在测试激励中时,针对不同的测试项,只需对错误注入的配置进行少量的改动即个满足大多测试要求,降低测试激励的开发工作量。放在测试环境中时,可实现测试环境的自动错误注入,而不需要对测试激励有要求,可以实现回归测试集的错误注入回归,有效提高容错设计的覆盖效果。本文档来自技高网...

【技术保护点】
1.一种存控数据传输错误注入方法,其特征在于,包含如下步骤; 步骤S01:抽象数据传输协议步骤, 对数据传输协议进行抽象处理,从而保证错误注入与协议产生交底的耦合度; 步骤S02:故障模型抽象步骤, 对注错模块进行配置; 步骤S03:注入方式配置步骤,对焦点及伪随机设计进行设置。/n

【技术特征摘要】
1.一种存控数据传输错误注入方法,其特征在于,包含如下步骤;步骤S01:抽象数据传输协议步骤,对数据传输协议进行抽象处理,从而保证错误注入与协议产生交底的耦合度;步骤S02:故障模型抽象步骤,对注错模块进行配置;步骤S03:注入方式配置步骤,对焦点及伪随机设计进行设置。


2.根据权利要求1所述的一种存控数据传输错误注入方法,其特征在于:在所述步骤S01中,对注入模块进行协议配置,配置内容包含传输时钟配置、数据有效信号或条件判断配置、数据信号或信号组配置、数据延迟配置和数据有效节拍数。


3.根据权利要求2所述的一种存控数据传输错误注入方法,其特征在于:所述传输时钟配置,用于inject_err对象的控制;所述数据有效信号或条件判断,用于触发数据造错;所述数据信号或信号组,指定错误的注入信号;所述数据延迟,指定数据有效信号到数据之间的延迟;所述数据有效节拍数,指在多拍数据时用于控制造错处于的节拍。


4.根据权利要求3所述的一种存控数据...

【专利技术属性】
技术研发人员:宁永波菅陆田吴珊朱巍李峰谢军刘佳季
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:江苏;32

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

1