一种寄存器传输级N模冗余验证方法技术

技术编号:15571888 阅读:157 留言:0更新日期:2017-06-10 06:00
本发明专利技术公开了一种寄存器传输级N模冗余设计的半自动化验证方法,包括:对n模冗余的待验证平台的寄存器的输出进行检查;接收待验证平台的寄存器1‑n的输出值,判断寄存器1‑n的输出值是否相等,如相等则此步验证通过;定义二进制数值data;每个系统时钟给data的最低位加1,将data的n位的每一位分别赋给寄存器1‑n,待验证平台根据每个系统时钟的上升沿的寄存器1‑n的值,在每个系统时钟的下降沿,输出投票输出结果;在每个系统时钟,计算所有寄存器值为1和0的寄存器的数量,如寄存器值为1的寄存器较多,则a=1,如寄存器值为0的寄存器较多,则令a=0;检查待验证平台的投票输出结果是否等于a,数量最多的取值,如等于,则本步验证通过。

A N modular redundancy verification method for register transfer level

The invention discloses a register transfer level N modular redundancy design of semi automated verification method, including: the output of the N modular redundancy to verify platform register check; receiving the output register 1 N verification platform value judgment output register 1 N values are equal, such as equal to this step verification by binary value definition; data; low of each system clock to data plus 1, will n data each were assigned to register 1 N platform to be verified according to the rising edge of the clock register system every 1 N value decreased in each edge of the clock system, output the voting results in each output; the system clock, calculate all the register values for number 1 and 0 registers, such as register values to register more 1, a = 1, such as register value registers more 0, so a = 0; Check whether the polling output of the platform to be verified is equal to a, the maximum number of values, if equal to, then verify this step through.

【技术实现步骤摘要】

本专利技术涉及集成电路验证领域,特别是涉及一种对寄存器传输级N模冗余的验证方法。
技术介绍
在一些电磁、辐射环境比较恶劣的情况下,集成电路常常会受到干扰,例如宇宙中单个高能粒子射入半导体器件敏感区,使器件逻辑状态发生反转:原来储存“0”变成“1”,或者“1”变成“0”,从而导致系统功能紊乱。为了让集成电路可以在恶劣的环境下正常工作,如航天、卫星等领域,带有容错机制的抗辐噪设计得到了广泛的应用。目前广泛采取的容错方法是N模冗余,将N个模块同时执行相同的操作,以多数相同的输出作为投票系统的输出,可以提高系统输出的可信性。目前对N模冗余的验证方法有实物验证和传统仿真验证两种方法:实物验证实物验证是将待测设计放入模拟的电磁、辐射比较恶劣的环境进行验证。实物验证存在以下缺点:验证成本过高;故障注入不可控。传统仿真验证传统仿真验证是通过对N模冗余设计进行功能仿真,采取故障注入的方式验证容错机制的正确性。传统仿真验证存在以下缺点:需要验证人员手动翻转待测N模冗余的寄存器实现故障注入,当寄存器数量庞大时,工作量非常大,而且不一定能覆盖所有情况,自动化水平不高;结果分析需要验证人员通过观察波形得出,可观测性差。
技术实现思路
本专利技术的目的在于提供一种基于插件架构的主机监控系统,用于解决上述现有技术的问题。本专利技术一种寄存器传输级N模冗余设计的半自动化验证方法,其中,包括:将测试激励输入待验证平台;对n模冗余的待验证平台的寄存器的输出进行检查;接收待验证平台的寄存器1-n的输出值,判断寄存器1-n的输出值是否相等,如相等则此步验证通过;定义二进制数值data,位宽为n;每个系统时钟给data的最低位加1,将data的n位的每一位分别赋给寄存器1-n,待验证平台根据每个系统时钟的上升沿的寄存器1-n的值,在每个系统时钟的下降沿,输出投票输出结果;在每个系统时钟,计算所有寄存器值为1和0的寄存器的数量,如寄存器值为1的寄存器较多,则a=1,如寄存器值为0的寄存器较多,则令a=0;检查待验证平台的投票输出结果是否等于a,数量最多的取值,如等于,则本步验证通过;如上述验证均通过,则认为待验证平台测试通过。根据本专利技术的寄存器传输级N模冗余设计的半自动化验证方法的一实施例,其中,对于三模冗余的输出,n的数值为3。根据本专利技术的寄存器传输级N模冗余设计的半自动化验证方法的一实施例,其中,每个系统时钟的上升沿给data的最低位加1。根据本专利技术的寄存器传输级N模冗余设计的半自动化验证方法的一实施例,其中,在每个系统时钟的下降沿,计算所有寄存器值为1和0的寄存器的数量。根据本专利技术的寄存器传输级N模冗余设计的半自动化验证方法的一实施例,其中,对data进行2的n次方种取值测试。根据本专利技术的寄存器传输级N模冗余设计的半自动化验证方法的一实施例,其中,获取n模冗余的模块位置、寄存器名称以及测试激励名称。本专利技术寄存器传输级N模冗余验证方法具有以下的优势:(1)验证完备性更强。此方法可以验证冗余寄存器的一致性、投票结果的正确性两个方面,验证更完备;(2)操作简单、自动化水平高且不影响其他功能的验证。可以根据待测N模冗余的模块位置、输入输出寄存器名称、testbench模块名称,自动生成寄存器等价检查模块和投票功能检查模块。将生成的验证平台附加到原始的testbench上就可以在不影响其他功能验证的同时自动验证N模冗余的正确性,此方法在使用时不修改原始的testbench,不影响其他功能的验证,操作简单快捷,且自动化水平高;(3)可观测性强。此方法在寄存器等价检查模块和投票功能检查模块中加入了断言(assertion),断言是对设计属性的描述,能够自动化地检查N模冗余的功能正确性,可观测性强。附图说明图1所示为本专利技术一种寄存器传输级N模冗余验证方法的流程图;图2所示为仿真的数据流程结构图;图3所示为写入的.xls格式的文件结构示意图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。图1所示为本专利技术一种寄存器传输级N模冗余验证方法的流程图,如图1所示,本专利技术一种寄存器传输级N模冗余设计的半自动化验证方法的具体步骤如下:(1)测试模块的生成。将寄存器传输级待测设计的N模冗余的模块位置、输入输出寄存器名称、测试激励(testbench)模块名称输入到平台生成脚本中,脚本通过替换N模冗余的模块位置、输入输出寄存器名称,生成出可以验证待测设计N模冗余模块的寄存器等价检查模块和投票功能检查模块。(2)将待验证平台连同原始的测试激励testbench一同加入仿真器。开始仿真时,验证平台会依次执行两个步骤:寄存器等价检查、投票功能检查。(3)执行寄存器等价检查。验证方法生成的寄存器等价检查模块,可以通过模块内的寄存器等价检查断言(assertion)实时检查待测N模冗余的寄存器是否相等,如果不相等则会通过仿真器输出不相等的时刻和不相等的寄存器值,并得出验证不通过的结论。例如,在验证三模冗余设计时,寄存器等价检查模块中的寄存器等价检查断言如下所示:该断言的含义是,在CLK时钟下降沿的时候检查寄存器r1、r2、r3是否互相相等,如果不相等,断言失败并会在仿真器中报告此时的仿真时间、此时r1、r2、r3的取值并报告出验证失败的提示。例如仿真中120ns时出现r1=0、r2=1、r3=1的情况时,r1和r2、r3不相等,此模块就会报出寄存器不相等的警告信息,表示验证不通过。(4)执行投票功能检查。验证方法生成的投票功能检查模块,会不断改变冗余的寄存器的值,使它们取到实际中可能会存在的所有情况,并使用投票检查断言检验投票功能是否符合少数服从多数的准则,如果不满足则会向测试人员报告投票功能存在缺陷的时刻、此刻投票结果的,并得出验证不通过的结论。例如,在验证三模冗余设计时,生成的投票功能检查模块会执行以下操作:定义二进制变量data,位宽为3,data能够进行二的三次方,既8种取值。在检查投票功能检查时,上述程序会不断地在每个系统CLK时钟的上升沿给data的最低位加“1”,将Data的最低位等于寄存器r1的值,data的中间位等于r2,data的最高位等于r3;这样就使r1,r2,r3取到了实际中可能会出现的8种情况,当冗余寄存器的数量更多时,相比传统手动翻转寄存器的方法,这种方式自动化的优势就更加突出。上述断言的含义是在CLK时钟下降沿的时刻,检查投票输出结果是否等于r1、r2、r3这3个寄存器中数量最多的取值(假如r1、r2、r3中有2个以上值为1,r_out则为1,假如有2个以上为0,r_out则为0),如果不满足,断言失败并会在仿真器中报告此时的仿真时间、不满足的投票结果并报告出验证失败提示。例如仿真中120ns时出现r1=0、r2=1、r3=1的情况,此时r_out=0,显然r_out的值与r1、r2、r3中出现最多的值“1”不相等,此模块就会报出警告信息,表示验证不通过。(5)如果(3)和(4)都通过,则所测N模冗余设计为有效设计。图2所示为仿真的数据流程结构图,如图1以及图2所示,DUT是原始待测N模冗余设计,testbench是原始的仿真的测试激励,reg_check.sv是专利技术中生成的寄存器等本文档来自技高网...
一种寄存器传输级N模冗余验证方法

【技术保护点】
一种寄存器传输级N模冗余设计的半自动化验证方法,其特征在于,包括:将测试激励输入待验证平台;对n模冗余的待验证平台的寄存器的输出进行检查;接收待验证平台的寄存器1‑n的输出值,判断寄存器1‑n的输出值是否相等,如相等则此步验证通过;定义二进制数值data,位宽为n;每个系统时钟给data的最低位加1,将data的n位的每一位分别赋给寄存器1‑n,待验证平台根据每个系统时钟的上升沿的寄存器1‑n的值,在每个系统时钟的下降沿,输出投票输出结果;在每个系统时钟,计算所有寄存器值为1和0的寄存器的数量,如寄存器值为1的寄存器较多,则a=1,如寄存器值为0的寄存器较多,则令a=0;检查待验证平台的投票输出结果是否等于a,数量最多的取值,如等于,则本步验证通过;如上述验证均通过,则认为待验证平台测试通过。

【技术特征摘要】
1.一种寄存器传输级N模冗余设计的半自动化验证方法,其特征在于,包括:将测试激励输入待验证平台;对n模冗余的待验证平台的寄存器的输出进行检查;接收待验证平台的寄存器1-n的输出值,判断寄存器1-n的输出值是否相等,如相等则此步验证通过;定义二进制数值data,位宽为n;每个系统时钟给data的最低位加1,将data的n位的每一位分别赋给寄存器1-n,待验证平台根据每个系统时钟的上升沿的寄存器1-n的值,在每个系统时钟的下降沿,输出投票输出结果;在每个系统时钟,计算所有寄存器值为1和0的寄存器的数量,如寄存器值为1的寄存器较多,则a=1,如寄存器值为0的寄存器较多,则令a=0;检查待验证平台的投票输出结果是否等于a,数量最多的取值,如等于,则本步验证通过;...

【专利技术属性】
技术研发人员:冯志华沈炜闫帅陈丽容王志昊王纪李东方朱秋岩王宏孟超胡亚云叶东升张建伟慕德俊
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京;11

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

1