一种时钟门控电路及时钟门控电路实现方法与流程

文档序号:29712172发布日期:2022-04-16 17:54阅读:429来源:国知局
一种时钟门控电路及时钟门控电路实现方法与流程

1.本技术涉及芯片设计技术领域,尤其涉及一种时钟门控电路及时钟门控电路实现方法。


背景技术:

2.随着芯片设计技术和制造技术的发展,大规模片上系统(system on a chip,soc)成为芯片发展的主流,迅速占据市场,并广泛应用于各领域,如航空领域、航天领域中。
3.在航天领域中,应用于航天器中的soc,由于航天器所处的空间环境存在复杂辐射粒子和射线,使得soc中的各个器件容易受到影响,发生单粒子效应。其中,作为芯片时钟结构上层控制电路的时钟门控电路,一旦受到辐射粒子和射线的影响,会产生单粒子翻转和单粒子瞬态脉冲,从而影响其控制的下游子系统及其寄存器,造成大面积的翻转,甚至损伤,进而影响soc芯片性能。因此,对时钟门控电路的抗辐照性能提出了更高的要求。


技术实现要素:

4.本技术提供了一种时钟门控电路及时钟门控电路实现方法,以增强时钟门控电路的抗辐照能力。
5.第一方面,本技术提供一种时钟门控电路,包括:状态机、三模冗余锁存电路和逻辑门电路;其中,状态机,用于根据输入的控制信号所触发的状态跳变,生成控制状态信号,并输入三模冗余锁存电路;其中,控制信号为多比特信号,控制状态信号为单比特信号;三模冗余锁存电路,用于根据输入的前级时钟信号,对控制状态信号进行锁存,并向逻辑门电路输出锁存信号;前级时钟信号为上级电路在输入时钟门控电路之前所产生的时钟信号。逻辑门电路,用于对锁存信号和前级时钟信号进行与操作,生成并输出时钟控制信号,时钟控制信号用于选通后级时钟信号。
6.在一些可能的实施方式中,状态机包括:状态处理模块和状态机票决器;状态处理模块,用于根据输入的控制信号,确定状态机的工作状态,并向状态机票决器输出工作状态对应的工作状态信号;其中,工作状态信号为多比特状态信号;状态机票决器,用于对工作状态信号进行票决,并将第一票决结果作为控制状态信号输出,当辐照效应引发工作状态信号发生单比特跳变时,票决器能够屏蔽此单比特错误,从而保持正确的输出值。
7.在一些可能的实施方式中,状态处理模块,用于当控制信号为第一值时,将状态机的工作状态确定为第一工作状态,并输出第一工作状态对应的第一工作状态信号;当控制信号为第二值时,将状态机的工作状态确定为第二工作状态,并输出第二工作状态对应的第二工作状态信号;其中,第一值的每个比特位与第二值的每个比特位均不相同,防止控制信号发生辐照效应,触发比特变化,从而引起状态机错误的改变工作状态。
8.在一些可能的实施方式中,第一工作状态用于表示时钟门控电路处于初始状态和/或时钟门控电路处于关闭状态;第二工作状态用于表示时钟门控电路处于开启状态。
9.在一些可能的实施方式中,状态处理模块,还用于当状态机的工作状态不是第一
工作状态以及第二工作状态时,将状态机的工作状态确定为第三工作状态,并输出第三工作状态对应的第三工作状态信号,第三工作状态与第一工作状态不同,第三工作状态与第二工作状态不同。通过改变所述控制信号,可实现从第三工作状态跳回第一工作状态或第二工作状态,防止状态机因为辐照效应引发的比特跳变发生锁死情况。
10.在一些可能的实施方式中,三模冗余锁存电路,包括:三模冗余锁存器和锁存器票决器;其中,三模冗余锁存器,用于根据所述前级时钟信号,对控制状态信号进行锁存,生成待票决信号并向锁存器票决器输出;锁存器票决器,用于对待票决信号进行票决,并将第二票决结果作为锁存信号输出。
11.在一些可能的实施方式中,三模冗余锁存器,用于当前级时钟信号为第三值时,将当前时刻的第一锁存信号作为待票决信号输出;当前级时钟信号为第四值时,将上一时刻的第二锁存信号作为待票决信号输出;第三值与第四值不同。
12.在一些可能的实施方式中,三模冗余锁存器包括:基于背靠背反相器的锁存器、基于双互锁存储单元的锁存器或基于三模冗余嵌套结构的锁存器。
13.在一些可能的实施方式中,逻辑门电路为与门电路。
14.第二方面,本技术提供一种时钟门控电路实现方法,应用于如第一方面及其可能的实施方式中的任一项所述的时钟门控电路,包括:根据输入的控制信号所触发的状态跳变,生成控制状态信号,其中,控制信号为多比特信号,控制状态信号为单比特信号;根据输入的前级时钟信号,对控制状态信号进行锁存,生成锁存信号,其中,前级时钟信号为时钟门控电路之前的上级电路所产生的时钟信号;对锁存信号和前级时钟信号进行与操作,生成时钟控制信号,时钟控制信号用于选通后级时钟信号。
15.在一些可能的实施方式中,根据输入的控制信号所触发的状态跳变,生成控制状态信号,包括:根据输入的控制信号,确定状态机的工作状态;对工作状态对应的工作状态信号进行票决,并将第一票决结果作为控制状态信号输出,其中,工作状态信号为多比特状态信号。
16.在一些可能的实施方式中,根据输入的控制信号,确定状态机的工作状态,包括:当控制信号为第一值时,将状态机的工作状态确定为第一工作状态;或,当控制信号为第二值时,将状态机的工作状态确定为第二工作状态;其中,第一值的每个比特位与第二值的每个比特位均不相同。
17.在一些可能的实施方式中,第一工作状态用于表示时钟门控电路处于初始状态和/或时钟门控电路处于关闭状态;第二工作状态用于表示时钟门控电路处于开启状态。
18.在一些可能的实施方式中,根据输入的控制信号,确定状态机的工作状态,还包括:当状态机的工作状态不是第一工作状态以及第二工作状态时,将状态机的工作状态确定为第三工作状态,第三工作状态与第一工作状态不同,第三工作状态与第二工作状态不同。
19.在一些可能的实施方式中,根据输入的前级时钟信号,对控制状态信号进行锁存,生成锁存信号,包括:根据前级时钟信号,对控制状态信号进行锁存,生成待票决信号;对待票决信号进行票决,并将第二票决结果确定为锁存信号。
20.在一些可能的实施方式中,根据前级时钟信号,对控制状态信号进行锁存,生成待票决信号,包括:当前级时钟信号为第三值时,将当前时刻的第一锁存信号确定为待票决信
号;当前级时钟信号为第四值时,将上一时刻的第二锁存信号确定为待票决信号;第三值与第四值不同。
21.本技术提供的技术方案与现有技术相比存在的有益效果是:
22.在本技术中,通过将状态机和三模冗余技术应用于时钟门控电路,使得时钟门控电路能够抵御空间辐照引发的单粒子效应,从而增强时钟门控电路的抗辐照能力。
23.另外,通过将原来单一比特的时钟门控使能信号扩展到多比特,以减少使能信号发生翻转的风险,进一步地增强时钟门控的抗辐照能力。
24.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术的保护范围。
附图说明
25.图1为本技术实施例中的一种时钟门控电路的结构示意图;
26.图2为本技术实施例中的锁存器的一种可能的实现方式示意图;
27.图3为本技术实施例中的另一种时钟门控电路结构示意图;
28.图4为本技术实施例中时钟门控电路的一种可能的工作方式示意图;
29.图5为本技术实施例中的锁存器的另一种可能的实现方式示意图;
30.图6为本技术实施例的时钟门控电路时序图。
具体实施方式
31.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
32.为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
33.随着芯片设计技术和制造技术的发展,大规模片上系统(system on achip,soc)成为芯片发展的主流,迅速占据市场,并广泛应用于各领域,如航空领域、航天领域中。
34.与此同时,伴随着能源的日益短缺,如何降低电子产品的功耗,已经成为soc设计中的一项重要课题。大规模soc一般会由多个时钟域组成,形成复杂的时钟网络,连接和控制不同功能的子系统。也就是说,如果能够通过控制时钟网络的选通,实现芯片的各个子系统或各模块的关闭,就可以实现降低芯片功耗的目的。因此,设计出一种时钟门控电路,其原理在于,处理器可以通过控制时钟门控电路中使能信号的电平值,实现对各时钟源或各时钟域的顶层时钟的选通,将选通后的时钟信号分发给芯片的各个子系统或各模块,指示开启需要的模块或者关停暂时不需要的模块,从而实现对不同功能子系统的控制,同时节省芯片整体的功耗。
35.示例性地,图1为本技术实施例中的一种时钟门控电路的结构示意图。如图1所示,时钟门控电路10可以包括:锁存器11和与门12。
36.首先,介绍锁存器11的一些可能的实施方式。
37.在一些可能的实施方式中,锁存器11可以包括三个管脚(记为管脚a、管脚ck、管脚s)。应理解的,管脚a可以作为锁存器11的信号输入端,使能控制信号(记为en_0)由管脚a输
入锁存器11;管脚ck可以作为锁存器11的时钟信号输入端,前级时钟信号(记为clk)由管脚ck输入锁存器11;管脚s可以作为锁存器11的信号输出端,锁存信号(记为q)由管脚s输出。
38.示例性的,时钟门控电路10中的锁存器11的可以是rs锁存器、d锁存器等。
39.在一些可能的实施方式中,图2为本技术实施例中的锁存器的一种可能的实现方式示意图,参见图2所示,锁存器11可以是rs锁存器,rs锁存器可以包括两个反相器(记为反相器11a、反相器11b)和逻辑电路。rs锁存器应用于时钟门控电路时,根据锁存器电路预设的逻辑,实现在控制信号有效期间,rs锁存器持续输入数据和输出数据。例如,当clk为低电平时,触发锁存器11为透明期,输入端的信号持续输出锁存器。
40.下面结合图2所示的结构示意图,简单描述时钟门控电路10中锁存器11的工作过程。
41.前级时钟信号clk输入锁存器11,在前级时钟信号clk为低电平时,触发锁存器11为透明期,使能控制信号en_0输入锁存器11进行锁存,生成锁存信号q输出;在前级时钟信号clk为高电平时,触发锁存器11处于保持期,锁存器11保持上一时刻的输出信号不变。
42.示例性的,当时钟信号clk=0(即clk为低电平)时,q随着en_0的变化而变化,若en_0=1,则q=en_0=1;若en_0=0,则q=en_0=0。下一时刻,clk由0变为1(即clk由低电平变为高电平),en_0当前值(en_0=1)马上被锁存,输出q=en_0=1。在clk为1的整个期间,q保持不变(即q_0=1)。当clk又变为0时,取消锁存,q又随着en_0的变化而变化。
43.进一步地,介绍与门12的一些可能的实施方式。
44.在本技术实施例中,与门12可以用于对当前输入的各种信号进行与运算,输出运算后的信号。
45.在一些可能的实施方式中,与门12可以包括三个管脚(记为管脚s1、管脚ck1、管脚ck2)。应理解的,管脚s1可以作为信号输入端,锁存信号q由管脚s1输入与门12;管脚ck1可以作为时钟信号输入端,前级时钟信号clk由管脚ck1输入与门12;管脚ck2可以作为信号输出端,时钟控制信号(记为clk_o)由管脚ck2输出。
46.示例性的,假设,q=1,clk=1,则clk_o=1;q=1,clk=0,则clk_o=0。
47.下面结合图1和图2所示的结构示意图,以具体实例来简单描述时钟门控电路工作过程。
48.在一种实现方式中,假设,输入锁存器11的前级时钟信号clk为低电平,使能控制信号en_0为高电平,则锁存器11输出锁存信号q等于en_0为高电平,锁存信号q与前级时钟信号clk输入与门12,与门12输出时钟控制信号clk_o;或,输入锁存器11的前级时钟信号clk为低电平,输入锁存器11的使能控制信号en_0为低电平,锁存器11输出锁存信号q等于en_0为低电平,锁存信号q为低电平,则后续时钟关闭。
49.在另一种实现方式中,假设,输入锁存器11的前级时钟信号clk由低电平变化为高电平,锁存器11锁存当前时刻信号并保持锁存信号q不变,直至前级时钟信号clk变化为低电平时,锁存器解除当前锁存状态。
50.由上述可知,如果将图1所示的时钟门控电路应用于航天器中的soc,那么,由于航天器所处的空间环境存在复杂辐射粒子和射线,会使得锁存器11容易受到影响。锁存器11一旦受到影响,发生单粒子效应,就会产生错误的锁存信号,从而影响时钟门控电路10控制的下游子系统,造成大面积的错误,进而影响soc性能。
51.为了解决上述问题,本技术实施例提供另一种时钟门控电路,该时钟门控电路可以应用于航天飞行器,如飞船、火箭、太空站、卫星、空间探测器等。
52.图3为本技术实施例中的另一种时钟门控电路结构示意图,参见图3所示,该时钟门控电路20可以包括:状态机21、三模冗余锁存电路22以及与门电路23。在时钟门控电路10的基础上应用状态机21和三模冗余锁存电路22,使得时钟门控电路20能够抵御空间辐照引发的单粒子效应,从而增强时钟门控电路20的抗辐照能力。进一步地,状态机21可以根据多比特使能信号触发的状态选择,输出稳定性较好的控制状态信号,保证后续电路稳定工作,进而大大提升时钟门控电路20的抗辐照性能。
53.在一些可能的实施方式中,状态机21可以包括两个管脚(记为管脚21a、管脚21b),管脚21a可以作为信号输入端,管脚21b可以作为信号输出端;三模冗余锁存电路22可以包括两个管脚(记为管脚22a、管脚22b),管脚22a可以作为信号输入端,管脚22b可以作为信号输出端;与门电路23可以包括三个管脚(记为管脚23a、管脚23b、管脚23c),管脚23a可以作为信号输入端,管脚23b可以作为时钟信号输入端,管脚23c可以作为信号输出端。应理解的,管脚21b与管脚22a连接,管脚22b与管脚23a连接。
54.首先,介绍状态机21的一些可能的实施方式。
55.在一实施例中,状态机21用于根据输入的控制信号(记为ctrl)所触发的状态跳变,生成控制状态信号(记为en),并输入三模冗余锁存电路22。应理解的,控制信号ctrl由管脚21a输入状态机21,控制状态信号en由管脚21b输出。状态机21可以是实现本技术实施例逻辑电路的各种器件。例如:可编程逻辑器件等。控制信号ctrl可以为多比特信号,可以根据应用的需求和资源自由由上级的控制寄存器决定。示例性的,控制信号可以为4比特信号,例如:ctrl[3:0];控制信号可以为8比特信号,例如:ctrl[7:0]。控制状态信号en为单比特信号(0或者1)。
[0056]
在一些可能的实施方式中,状态机21可以包括状态处理模块211和状态机票决器212。其中,状态处理模块211用于根据输入的控制信号ctrl,确定状态机21的工作状态,并向状态机票决器212输出工作状态对应的工作状态信号;状态机票决器212,用于对工作状态信号进行票决,并将第一票决结果作为控制状态信号en输出。
[0057]
在一些可能的实施方式中,状态处理模块211可以包括两种工作状态,第一工作状态(记为z1)和第二工作状态(记为z2)。第一工作状态z1可以用于表示时钟门控电路20处于初始状态和/或时钟门控电路20处于关闭状态;第二工作状态z2可以用于表示时钟门控电路20处于开启状态。第一工作状态所对应的工作状态信号和第二工作状态所对应的工作状态信号每个比特的值都不相同。应理解的,工作状态信号可以为多比特状态信号,宽度至少为2比特。那么,第一工作状态所对应的工作状态信号可以为111,第二工作状态所对应的工作状态信号可以为000。
[0058]
在一些可能的实施方式中,状态处理模块211还可以包括三种工作状态,第一工作状态z1、第二工作状态z2和第三工作状态(记为z3)。第一工作状态z1可以用于表示时钟门控电路20处于初始状态和/或时钟门控电路20处于关闭状态;第二工作状态z2可以用于表示时钟门控电路20处于开启状态;第三工作状态z3可以用于表示错误状态,正常情况下不会用到,一旦第一工作状态z1或第二工作状态z2对应的工作状态信号发生单粒子翻转,工作状态信号中某一位发生数值的改变,即触发跳变到第三工作状态z3。第一工作状态z1所
对应的工作状态信号和第二工作状态z2所对应的工作状态信号每个比特的值都不相同;第三工作状态z3所对应的工作状态信号与第一工作状态z1所对应的工作状态信号的值不相同,第三工作状态z3所对应的工作状态信号与第二工作状态z2所对应的工作状态信号的值不相同。示例性的,第一工作状态z1所对应的工作状态信号可以为111,第二工作状态z2所对应的工作状态信号可以为000,第三工作状态z3所对应的工作状态信号可以为010。
[0059]
在一些可能的实施方式中,状态处理模块211可以采用以下方式确定状态机21的工作状态:当控制信号ctrl为第一值(记为a)时,将状态机21的工作状态确定为第一工作状态z1;或,当控制信号ctrl为第二值(记为b)时,将状态机21的工作状态确定为第二工作状态z2;其中,第一值a的每个比特位与第二值b的每个比特位均不相同。应理解的,ctrl可以为多比特信号,则第一值a和第二值b也可以为多比特信号,都是宽度至少为2比特。示例性的,ctrl可以为4比特,即[3:0],则a可以为1111,b可以为0000。
[0060]
在一些可能的实施方式中,状态处理模块211还可以采用以下方式确定状态机21的工作状态:当状态机的工作状态不是第一工作状态以及第二工作状态时,将状态机21的工作状态确定为第三工作状态z3。应理解的,ctrl可以为多比特信号,则第三工作状态z3所对应的工作状态信号也可以为多比特信号,都是宽度至少为2比特。示例性的,ctrl可以为4比特,即[3:0],则第一工作状态z1所对应的工作状态信号可以为111,第二工作状态z2所对应的工作状态信号可以为000,第三工作状态z3所对应的工作状态信号可以为除111和000以外的所有值。
[0061]
在一些可能的实施方式中,状态处理模块211向状态机票决器212输出工作状态对应的工作状态信号可以包括输出当前时刻工作状态所对应的工作状态信号。其中,当前时刻工作状态可以包括第一工作状态z1和/或第二工作状态z2,不包括其他所有状态。这一设置保证了发生单粒子翻转所引发的错误工作状态信号,并不会引入到状态机票决器212中,因此不会造成后续时钟的错误。
[0062]
示例性的,当当前工作状态为第一工作状态z1时,状态处理模块211向状态机票决器212输出第一工作状态z1对应的工作状态信号;当当前工作状态为第三工作状态z3时,状态处理模块211不输出该工作状态对应的工作状态信号。
[0063]
在一些可能的实施方式中,图4为本技术实施例中状态处理模块的一种可能的工作方式示意图,参见图4所示,假设状态处理模块211在工作时,可以包括第一工作状态z1、第二工作状态z2和第三工作状态z3,其中,第一工作状态z1对应的工作状态信号可以为000;第二工作状态z2对应的工作状态信号可以为111;第三工作状态z3对应的工作状态信号可以为与000和111不同的所有取值。设置第一值a=00001111,当8比特控制信号ctrl等于第一值a时,状态机21的当前工作状态被确定为第一工作状态z1,状态处理模块211输出第一工作状态z1所对应的工作状态信号000至状态机票决器212。设置第二值b=11110000,当8比特控制信号ctrl等于第二值b时,状态机21的当前工作状态确定为第二工作状态z2,状态处理模块211输出第二工作状态z2所对应的工作状态信号为111至状态机票决器212。
[0064]
进一步地,状态处理模块211向状态机票决器212输出工作状态对应的工作状态信号可以且不限于存在以下几种情况:
[0065]
第一种、状态处理模块211根据当前输入的控制信号ctrl,正在输出第一工作状态z1所对应的工作状态信号(000),下一时刻,当出现控制信号ctrl为第二值b(11110000)时,
状态机21的工作状态确定为第二工作状态z2,状态处理模块211将输出第二工作状态z2所对应的工作状态信号(111)。
[0066]
第二种、状态处理模块211根据当前输入的控制信号ctrl,正在输出第二工作状态z2所对应的工作状态信号(111),下一时刻,当出现控制信号ctrl为第一值a(00001111)时,状态机20的工作状态确定为第一工作状态z1,状态处理模块211将输出第一工作状态z1所对应的工作状态信号(000)。
[0067]
第三种、状态机21受辐照效应影响,出现错误的第三工作状态z3,状态处理模块211不输出第三工作状态z3所对应的工作状态信号(即除111或000以外的所有信号)。下一时刻,当出现控制信号ctrl为第一值a(00001111)时,状态机21的工作状态确定为第一工作状态z1,状态处理模块211将输出第一工作状态z1所对应的工作状态信号(000),即状态机21可以从第三工作状态z3切换为第一工作状态z1。或者,下一时刻,当出现控制信号ctrl为第二值b(11110000)时,状态机21的工作状态确定为第二工作状态z2,状态处理模块211将输出第二工作状态z2所对应的工作状态信号(111)。即状态机21可以从第三工作状态z3切换为第二工作状态z2。也就是说,第三工作状态z3所对应的工作状态信号不会被状态处理模块211输出至状态机票决器212。
[0068]
需要说明的是,状态机21出现错误的第三工作状态z3,是指状态机21中的第一工作状态z1或第二工作状态z2,遭受空间环境影响,发生单粒子翻转,进而产生错误的第三工作状态z3。例如,第一工作状态z1所对应的工作状态信号(000),发生单粒子翻转,跳变为工作状态信号(010),工作状态信号(010)对应第三工作状态z3。工作状态信号(010)不会被状态处理模块211输出至状态机票决器212。
[0069]
由此可见,在第三种情况中,第三工作状态z3可以通过控制信号ctrl触发跳变回第一工作状态z1或者第二工作状态z2,实现了对状态机当前状态值的软错误纠正功能。
[0070]
在一些可能的实施方式中,状态机票决器212可以用于对工作状态信号进行票决,并将第一票决结果作为控制状态信号en输出。应理解的,状态机票决器212的票决逻辑可以为选择工作状态信号中多数比特所代表的信号作为票决结果。例如,工作状态信号111输入状态机票决器212,状态机票决器212选择111中多数比特的值(即为1),得到第一票决结果为1,并将第一票决结果(即1)作为控制状态信号en输出。
[0071]
下面以具体实例来对上述状态机21的工作过程进行说明。
[0072]
假设,控制信号ctrl(如1111)触发状态处理模块211进行状态选择,确定当前为第一工作状态z1,第一工作状态z1对应的工作状态信号为111。将111输入状态机票决器212,进行票决,输出控制状态信号en为1。
[0073]
进一步地,介绍三模冗余锁存电路22的一些可能的实施例。
[0074]
在一实施例中,三模冗余锁存电路22可以用于根据输入的前级时钟信号clk,对控制状态信号en进行锁存,并向与门电路23输出锁存信号(记为q)。其中,前级时钟信号clk为上级电路在输入时钟门控电路20之前所产生的时钟信号。锁存信号为q为单比特信号。
[0075]
应理解的,控制状态信号en由管脚22a输入三模冗余锁存电路22,锁存信号q由管脚22b输出。
[0076]
在一些可能的实施方式中,三模冗余锁存电路22可以包括:三模冗余锁存器221和锁存器票决器222。三模冗余锁存器221用于根据前级时钟信号clk,对控制状态信号en进行
锁存,三模冗余锁存器221生成待票决信号并向锁存器票决器222输出。其中,待票决信号是单比特信号(即0或1)。
[0077]
在一些可能的实施方式中,三模冗余锁存器221可以包括三个锁存器(记为锁存器s1、锁存器s2、锁存器s3)。锁存器s1、锁存器s2和锁存器s3用于根据前级时钟信号clk,对控制状态信号en进行锁存,分别生成待票决信号(记为待票决信号q21、待票决信号q22、待票决信号q23)。锁存器s1、锁存器s2和锁存器s3独立工作,结果互不相关。锁存器s1、锁存器s2和锁存器s3结构完全相同。示例性的,锁存器s1、锁存器s2和锁存器s3可以是采用如图2所示结构的锁存器,也可以是基于三模冗余嵌套结构的锁存器。
[0078]
在一些可能的实施方式中,锁存器s1可以具有三个管脚(记为管脚ck1、管脚d1、管脚q1)。应理解的,管脚ck1可以作为时钟信号输入端,前级时钟信号clk由管脚ck1输入锁存器s1;管脚d1可以作为信号输入端,控制状态信号en由管脚d1输入锁存器s1;管脚q1可以作为信号输出端,待票决信号q21由管脚q1输出。
[0079]
在一些可能的实施方式中,锁存器s2可以具有三个管脚(记为管脚ck2、管脚d2、管脚q2)。应理解的,管脚ck2可以作为时钟信号输入端,前级时钟信号clk由管脚ck1输入锁存器s2;管脚d2可以作为信号输入端,控制状态信号en由管脚d2输入锁存器s2;管脚q2可以作为信号输出端,待票决信号q22由管脚q2输出。
[0080]
在一些可能的实施方式中,锁存器s3可以具有三个管脚(记为管脚ck3、管脚d3、管脚q3)。应理解的,管脚ck3可以作为时钟信号输入端,前级时钟信号clk由管脚ck1输入锁存器s3;管脚d3可以作为信号输入端,控制状态信号en由管脚d1输入锁存器s3;管脚q2可以作为信号输出端,待票决信号q23由管脚q3输出。
[0081]
在一些可能的实施方式中,图5为本技术实施例中的锁存器的另一种可能的实现方式示意图,参见图5所示,锁存器s1可以为基于双互锁存储单元的锁存器。相比简单的rs锁存器或d锁存器,基于双互锁存储单元的锁存器s1具有多个节点。其中的单个节点受辐射粒子影响引发翻转,并不会影响其他节点,因此,采用基于双互锁存储单元的锁存器s1抗辐照性能更好。
[0082]
可以理解的,锁存器s1的工作过程为:控制状态信号en输入锁存器s1,锁存器s1在前级时钟信号clk的控制下进行锁存,输出待票决信号q21。
[0083]
那么,三模冗余锁存器221的工作过程为:控制状态信号en复制三份,在前级时钟信号clk的控制下,分别输入锁存器s1、锁存器s2和锁存器s3进行锁存,锁存器s1、锁存器s2和锁存器s3输出待票决信号q21、待票决信号q22和待票决信号q23。
[0084]
在一些可能的实施方式中,三模冗余锁存器221可以用于,当前级时钟信号clk为第三值时,将当前时刻的第一锁存信号作为待票决信号输出;当前级时钟信号clk为第四值时,将上一时刻的第二锁存信号作为待票决信号输出;第三值与第四值不同。
[0085]
应理解的,第三值可以是0,即当前级时钟信号clk为低电平时,三模冗余锁存器221为透明期,控制状态信号en输入锁存器s1,在低电平的前级时钟信号clk的控制下进行锁存,生成锁存信号q并输出;第四值可以是1,即输入三模冗余锁存器221的前级时钟信号clk为高电平时,触发锁存器s1处于保持期,锁存器s1保持上一时刻的输出信号不变。
[0086]
示例性的,当clk为0时,若en=0,则q=en=0;若en=1,则q=en=1。
[0087]
在一些可能的实施方式中,锁存器票决器222可以用于对待票决信号进行票决,并
将第二票决结果作为锁存信号q输出。锁存器票决器222的票决逻辑可以为选择多数待票决信号所代表的信号作为票决结果。例如:若三模锁存器221输出的待票决信号分别为1、1、0,则第二票决结果为多数待票决信号所代表的信号(1),因此,输出锁存信号q为1。
[0088]
下面以具体实例来对上述三模冗余锁存电路22进行说明。
[0089]
假设控制状态信号en为1,复制三份,输入三模冗余锁存电路22,三模冗余锁存电路22在前级时钟信号clk的控制下进行锁存。当前级时钟信号clk为0时,三模冗余锁存电路22输出三个待锁存信号(都为1),锁存器票决器222对三个待锁存信号进行票决,输出锁存信号q为1。
[0090]
进一步地,介绍与门电路23的一些可能的实施方式。
[0091]
在一实施方式中,与门电路23可以用于对锁存信号q和前级时钟信号clk进行与操作,生成并输出时钟控制信号clk_o。时钟控制信号clk_o可以作为后续时钟网络或子系统的输入时钟。与门电路23可以是能实现与运算的所有逻辑电路,示例性的:与门电路23可以是一个与门。
[0092]
应理解的,锁存信号q由管脚23a输入与门电路23,前级时钟信号clk由管脚23b输入与门电路23,锁存信号q由管脚23c输出。
[0093]
假设,锁存信号q=1,前级时钟信号clk=1,则时钟控制信号clk_o=1;锁存信号q=0,前级时钟信号clk=1,则时钟控制信号clk_o=0。
[0094]
下面以具体实例来对上述时钟门控电路20进行说明。结合图3、图4和图5可知,控制信号ctrl输入状态机21,触发状态机21输出状态控制信号en;状态控制信号en和前级时钟信号clk输入三模冗余锁存电路22,三模冗余锁存电路22输出锁存信号q。锁存信号q和前级时钟信号clk输入与门电路23,输出时钟控制信号clk_o。
[0095]
假设,当前控制信号ctrl值为111111,111111输入状态机21,触发状态选择为第二工作状态z2,那么状态处理模块211确定第二工作状态所对应的工作状态信号(111)并输出至状态机票决器212,状态机票决器212对工作状态信号111进行票决,输出状态控制信号en为1。状态控制信号en输入三模冗余锁存电路22,三模冗余锁存电路22在前级时钟信号clk的控制下对状态控制信号en进行锁存。其中,若前级时钟信号clk为低电平,则输出锁存信号q=en=1,若前级时钟信号clk为高电平,则输出锁存信号q不变,持续为1。锁存信号q和前级时钟信号clk输入与门电路23,与门电路23输出时钟控制信号clk_o。其中,q=1时,若clk=0,则输出clk_o=0;若clk=1,则输出clk_o=1。
[0096]
下一时刻,控制信号ctrl值为第一值000000,000000输入状态机21,确定当前工作状态为第一工作状态z1,那么状态处理模块211确定第一工作状态所对应的工作状态信号(000)并输出至状态机票决器212,状态机票决器212对工作状态信号000进行票决,输出状态控制信号en为0。状态控制信号en为0,整个时钟门控关闭,后级时钟全部为0。
[0097]
在本技术实施例中,将状态机应用于时钟门控电路,状态机通过工作状态的选择,能够避免单粒子效应所引发的控制信号错误向后级电路传递,实现稳定的输出应用于锁存电路的状态控制信号。同时,将三模冗余技术应用于时钟门控电路中的锁存电路,实现加固的锁存器,进而输出稳定的锁存信号。可见,在本技术实施例中的时钟门控电路中,通过状态机和三模冗余锁存电路,能够有效抵御空间辐照引发的单粒子效应,进而增强时钟门控电路的抗辐照能力。
[0098]
另外,将原来单一比特的时钟门控使能信号扩展到多比特,同时采用加固结构的锁存器,以抵御空间辐照引发的使能信号发生翻转的风险,进而增强时钟门控的抗辐照能力。
[0099]
图6为本技术实施例的时钟门控电路时序图。如图6所示,包括:前级时钟信号clk、控制总线信号(记为ctrl[n:0])、控制状态信号en、锁存信号(记为q)和时钟控制信号clk_o的波形图。
[0100]
其中,前级时钟信号clk的波形交替性变化为高电平或低电平,代表前级时钟信号clk的不同状态。
[0101]
状态机工作阶段:控制总线信号ctrl[n:0]输入状态机,经状态选择和票决,生成控制状态信号en。所以控制总线信号ctrl[n:0]的波形会在几个时钟周期后传播到控制状态信号en,使控制状态信号en具有会和控制总线信号ctrl[n:0]相似的波形。
[0102]
三模冗余锁存电路工作阶段:在前级时钟信号clk的控制下,控制状态信号en输入三模冗余锁存电路,进行信号锁存和票决,生成锁存信号q。在前级时钟信号clk为低电平时,锁存器开启,生成当前时刻锁存信号q,在前级时钟信号clk为高电平时,锁存器维持上一时刻锁存信号q。也就是说,如图6所示一样,前级时钟信号clk下降至低电平,锁存器开启,锁存信号q在前级时钟信号clk的下降沿开始升高,得到和当前控制状态信号en一样的波形;下一时刻,前级时钟信号clk开始升高,到达高电平,锁存器维持上一时刻锁存信号q,即锁存信号q的波形不变,维持上一时刻的波形状态。
[0103]
逻辑门电路工作阶段:前级时钟信号clk与锁存信号q在逻辑门电路做与运算,生成并输出时钟控制信号clk_o。在前级时钟信号clk与锁存信号q为高电平时,时钟控制信号clk_o的波形表现为高电平;在前级时钟信号clk与锁存信号q一方为低电平时,时钟控制信号clk_o的波形表现为低电平。由于前级时钟信号clk与锁存信号q相比有组合电路的延迟,因此前级时钟信号clk与锁存信号q做与运算并不会引入毛刺。最终得到,在锁存信号q为高电平时,时钟控制信号clk_o与前级时钟信号clk具有相同的频率和略有延迟的相位关系;在锁存信号q为低电平时,时钟控制信号clk_o输出低电平,关停后续时钟网络和电路模块的时钟,节省功耗。
[0104]
通过上述波形图分析可知,通过在时钟门控电路中应用状态机和三模冗余技术,可以实现下级时钟控制信号的稳定输出,从而大大降低单粒子效应对时钟门控电路的影响,实现时钟门控电路抗辐射功能的增强。
[0105]
相比一些时钟门控电路,本技术实施例的时钟门控电路结构面积开销大,但由于时钟门控电路仅在各时钟域网络的顶层使用,需求量并不大,因此相比整个soc的面积而言,申请实施例的时钟门控电路所带来的额外的面积开销并不会造成soc设计和制造的负担。相反,申请实施例中的时钟门控电路,其良好的抗辐照性能可以保证soc的性能稳定,进而保证航天器件时钟网络的稳定,避免软错误大规模突发。
[0106]
以上实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行替换。而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1