一种寄存器保护方法、装置和系统与流程

文档序号:32337127发布日期:2022-11-26 08:25阅读:189来源:国知局
一种寄存器保护方法、装置和系统与流程

1.本技术涉及芯片安全技术领域,特别是涉及一种寄存器保护方法、装置和系统。


背景技术:

2.汽车电子电器架构考虑功能安全的主要目的是将电子电器的不合理风险降到足够低,避免出现对人员的伤害。在半导体领域,功能安全主要考虑系统性失效和随机硬件失效,系统性失效一般通过研发和管理流程避免,而随机硬件失效一般需要通过对电路设计安全机制来保证。
3.在芯片安全功能实现时,通常都会包含软件配置寄存器,这些寄存器控制着安全功能的不同配置模式开启、切换等功能,在安全功能运行期间,这些寄存器的值如果被一些异常事件修改,比如信号串扰、电磁干扰等,会导致安全功能执行异常,进而导致系统产生危害事件。因此,对这些寄存器添加保护机制非常有必要。
4.目前针对寄存器的保护机制做法有很多种,比如使用冗余备份机制,寄存器增加冗余ecc保护bit等。目前这些机制均可以达到一个较高的保护效果,缺点是至少需要增加20%以上的面积用于实现冗余电路。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够节省电路面积开销的寄存器保护方法、装置和系统。
6.一种寄存器保护方法,所述方法包括:
7.在crc控制逻辑输出选择信号后,选择器根据所述选择信号从保护的多路寄存器选择相应的寄存器值并传输至crc计算模块;所述选择器并行连接所述多路寄存器;
8.在所述crc计算模块完成当前轮次所有寄存器的寄存器值的crc计算后,得到对应的crc计算结果;
9.获取crc计算结果比较寄存器的值,若所述crc计算结果比较寄存器的值有效,则比较所述crc计算结果比较寄存器的值与所述crc计算结果的值是否一致,若不一致,则发出报警信号。
10.在一个实施例中,若所述crc计算结果比较寄存器的值无效,则将所述crc计算结果保存至所述crc计算结果比较寄存器。
11.在一个实施例中,所述crc计算结果比较寄存器中包括crc计算结果有效标志位;当所述crc计算结果有效标志位为1时,表示所述crc计算结果比较寄存器的值有效,当所述crc计算结果有效标志位为0时,表示所述crc计算结果比较寄存器的值无效。
12.在一个实施例中,所述方法还包括:
13.检测所述寄存器是否发生重新配置,若发生重新配置,由所述crc控制逻辑发起启动新的一轮crc计算请求以及crc比较结果寄存器有效标志位的清除信号。
14.一种寄存器保护装置,所述装置包括:
15.选择模块,用于在crc控制逻辑输出选择信号后,选择器根据所述选择信号从保护的多路寄存器选择相应的寄存器值并传输至crc计算模块;所述选择器并行连接所述多路寄存器;
16.计算模块,用于在所述crc计算模块完成当前轮次所有寄存器的寄存器值的crc计算后,得到对应的crc计算结果;
17.比较模块,用于获取crc计算结果比较寄存器的值,若所述crc计算结果比较寄存器的值有效,则比较所述crc计算结果比较寄存器的值与所述crc计算结果的值是否一致,若不一致,则发出报警信号。
18.一种寄存器保护系统,所述系统包括:
19.选择器、crc计算模块、crc计算结果比较寄存器和比较器;
20.所述选择器连接所述crc计算模块,以及并行连接多路需要保护的寄存器;
21.所述crc计算模块连接所述crc计算结果比较寄存器和所述比较器;所述crc计算结果比较寄存器和所述比较器连接;
22.所述选择器从多个所述寄存器中选择相应的寄存器值并传输至所述crc计算模块,所述crc计算模块完成当前轮次所有寄存器的寄存器值的crc计算后,若所述crc计算结果比较寄存器的值有效,所述比较器比较所述crc计算结果比较寄存器的值与所述crc计算结果的值是否一致,若不一致,则发出报警信号。
23.在一个实施例中,所述系统还包括crc控制逻辑单元;
24.多路所述寄存器并行连接寄存器读写控制单元;所述寄存器读写控制单元连接寄存器配置总线;
25.所述寄存器读写控制单元根据所述寄存器配置总线发送的配置信息对多路所述寄存器进行读写控制;
26.所述crc控制逻辑单元接收所述寄存器读写控制单元中包含的寄存器写操作的指示信号;所述指示信号用于检测所述寄存器是否发生重新配置。
27.上述一种寄存器保护方法、装置和系统中,首先在crc控制逻辑输出选择信号后,选择器根据选择信号从保护的多路寄存器选择相应的寄存器值并传输至crc计算模块,其中选择器并行连接多路寄存器;接着在crc计算模块完成当前轮次所有寄存器的寄存器值的crc计算后,得到对应的crc计算结果;最后获取crc计算结果比较寄存器的值,若crc计算结果比较寄存器的值有效,则比较crc计算结果比较寄存器的值与crc计算结果的值是否一致,若不一致,则发出报警信号。可以看到,本发明使用一个crc计算模块来保护多路寄存器,大大提高了crc计算模块的使用效率,同时节省了面积开销。
附图说明
28.图1为一个实施例中一种寄存器保护方法的流程示意图;
29.图2为一个实施例中本方法的整体工作流程图;
30.图3为一个实施例中一种寄存器保护装置的结构框图;
31.图4为一个实施例中一种寄存器保护系统的结构和流程示意框图。
具体实施方式
32.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
33.在一个实施例中,如图1所示,提供了一种寄存器保护方法,包括以下步骤:
34.步骤102,在crc控制逻辑输出选择信号后,选择器根据选择信号从保护的多路寄存器选择相应的寄存器值并传输至crc计算模块。
35.其中选择器并行连接多路寄存器,选择器根据选择信号在每一轮crc运算期间,在每个时钟周期切换下一路寄存器值输入至crc计算模块。
36.步骤104,在crc计算模块完成当前轮次所有寄存器的寄存器值的crc计算后,得到对应的crc计算结果。
37.步骤106,获取crc计算结果比较寄存器的值,若crc计算结果比较寄存器的值有效,则比较crc计算结果比较寄存器的值与crc计算结果的值是否一致,若不一致,则发出报警信号。
38.上述一种寄存器保护方法使用一个crc计算模块来保护多路寄存器,大大提高了crc计算模块的使用效率,同时节省了面积开销。若将多路寄存器视为一个寄存器模块,那么可以看出,该寄存器模块仅需要一份crc计算逻辑,以时间换取空间,即可以在n个周期时间内检测一次寄存器是否异常,n为寄存器数量。相比对每个寄存器做crc的方式,电路实现简单,同时也可以大大节省电路设计的面积开销,且可扩展性高,每增加1路寄存器保护只需要选择器多增加一路选择资源,多增加一个周期的crc计算时间,计算时间也能控制在合理的范围内。关于检测时间,一般来说,一个寄存器的计算周期在纳秒层面,因此即使随着寄存器的数量增加,计算时间的递增也能控制在合理范围内。关于crc计算模块的使用效率,为了满足一定的诊断覆盖率,例如,一般来说,相对于crc4,技术人员会选用crc32,但是对于寄存器的覆盖率,采用crc4不足以达到,采用crc32又有些大材小用,这样一方面加大了面积开销,一方面造成crc32的资源浪费,那么相对于对每个寄存器分别设置一个crc32的做法,以选择器作为纽带,使用一个crc32保护多路寄存器,能够大大提高crc计算模块的使用效率,另外本发明的诊断覆盖率可调整,灵活调整crc算法能够实现不同的诊断覆盖率需求。
39.在一个实施例中,若crc计算结果比较寄存器的值无效,则将crc计算结果保存至crc计算结果比较寄存器。
40.其中,crc计算结果比较寄存器中包括crc计算结果有效标志位,当crc计算结果有效标志位为1时,表示crc计算结果比较寄存器的值有效,当crc计算结果有效标志位为0时,表示crc计算结果比较寄存器的值无效。crc计算结果有效标志位一般会在发生寄存器重新配置的情况下变为0,当完成新的一轮crc计算后,将crc计算结果更新至crc计算结果比较寄存器中,并将crc计算结果有效标志位置1,下一轮的crc计算结果即可与该轮的crc计算结果进行比较(在下一轮计算时没有发生寄存器重新配置的前提下),判定是否有寄存器的值被修改,例如由于emi等噪声干扰,导致个别寄存器值发生翻转等。
41.在一个实施例中,本方法还包括检测寄存器是否发生重新配置,若发生重新配置,由crc控制逻辑发起启动新的一轮crc计算请求以及crc比较结果寄存器有效标志位的清除
信号。
42.可以看出,每增加1路寄存器保护只需要多监控1路寄存器的配置信号。
43.如图2所示,提供本方法的整体工作流程图。步骤说明如下:
44.①
在模块正常工作,即复位释放且时钟开启后,寄存器保护机制即开始工作。
45.②
crc控制模块检测到寄存器有重新配置,将crc结果有效标志位置0,同时启动新一轮crc运算。
46.③
重复做crc运算,直到完成一轮运算。
47.④
每一轮结束后会重新开启下一轮crc校验。
48.⑤
完成一轮运算后,如果crc结果有效标志位为0,则将crc运算结果更新到crc结果寄存器中,并将标志位置1;如果crc结果有效标志位为1,则将crc运算结果和crc结果比较器保存结果相比较,如果不一样,则输出报警。
49.应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
50.在一个实施例中,如图3所示,提供了一种寄存器保护装置,包括:选择模块、计算模块和比较模块,其中:
51.选择模块302,用于在crc控制逻辑输出选择信号后,选择器根据选择信号从保护的多路寄存器选择相应的寄存器值并传输至crc计算模块;选择器并行连接多路寄存器;
52.计算模块304,用于在crc计算模块完成当前轮次所有寄存器的寄存器值的crc计算后,得到对应的crc计算结果;
53.比较模块306,用于获取crc计算结果比较寄存器的值,若crc计算结果比较寄存器的值有效,则比较crc计算结果比较寄存器的值与crc计算结果的值是否一致,若不一致,则发出报警信号。
54.关于一种寄存器保护装置的具体限定可以参见上文中对于一种寄存器保护方法的限定,在此不再赘述。上述一种寄存器保护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
55.在一个实施例中,如图4所示,提供了一种寄存器保护系统,包括:
56.选择器、crc计算模块、crc计算结果比较寄存器和比较器。
57.选择器连接crc计算模块,以及并行连接多路需要保护的寄存器。
58.crc计算模块连接crc计算结果比较寄存器和比较器,其中crc计算结果比较寄存器和比较器连接。
59.选择器从多个寄存器中选择相应的寄存器值并传输至crc计算模块,crc计算模块完成当前轮次所有寄存器的寄存器值的crc计算后,若crc计算结果比较寄存器的值有效,比较器比较crc计算结果比较寄存器的值与crc计算结果的值是否一致,若不一致,则发出
报警信号;若crc计算结果比较寄存器的值无效,则将crc计算结果保存至crc计算结果比较寄存器。
60.本系统还包括crc控制逻辑单元。多路寄存器并行连接寄存器读写控制单元;寄存器读写控制单元连接寄存器配置总线,寄存器读写控制单元根据寄存器配置总线发送的配置信息对多路寄存器进行读写控制,crc控制逻辑单元接收寄存器读写控制单元中包含的寄存器写操作的指示信号,指示信号用于检测寄存器是否发生重新配置。
61.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synch link)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
62.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
63.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1