一种无频率损耗的集成电路抗单粒子翻转加固方法

文档序号:721157 发布日期:2021-04-16 浏览:20次 >En<

阅读说明:本技术 一种无频率损耗的集成电路抗单粒子翻转加固方法 (Frequency-loss-free integrated circuit single event upset resistance reinforcing method ) 是由 宋睿强 邵津津 刘必慰 吴振宇 梁斌 池雅庆 陈建军 于 2020-12-24 设计创作,主要内容包括:本发明公开一种无频率损耗的集成电路抗单粒子翻转加固方法,步骤包括:S1.获取目标集成电路中所有的触发器;S2.遍历获取的所有触发器进行判断,每次判断时对当前触发器所在的数据通路进行静态时序分析,计算出数据通路的时序余量,并计算将当前触发器替换为所需的加固触发器后建立时间参数的增量值以及CLK-Q延时的增量值,根据当前触发器对应的时序余量与增量值之间的差值判断当前触发器是否为所需筛选出的目的触发器;S3.将步骤S2筛选出的所有目的触发器替换为加固触发器,得到加固后的集成电路。本发明能够抗单粒子翻转,同时能够保持集成电路工作频率不变,实现无频率损耗。(The invention discloses a frequency-loss-free integrated circuit single event upset resistance reinforcing method, which comprises the following steps: s1, acquiring all triggers in a target integrated circuit; s2, all the triggers obtained through traversal are judged, static time sequence analysis is carried out on a data path where the current trigger is located during each judgment, time sequence allowance of the data path is calculated, an increment value of a time parameter and an increment value of CLK-Q time delay are established after the current trigger is replaced by a needed reinforced trigger, and whether the current trigger is a target trigger needing to be screened is judged according to a difference value between the time sequence allowance and the increment value corresponding to the current trigger; and S3, replacing all the target triggers screened in the step S2 with reinforced triggers to obtain the reinforced integrated circuit. The invention can resist single event upset, can keep the working frequency of the integrated circuit unchanged and realize no frequency loss.)

一种无频率损耗的集成电路抗单粒子翻转加固方法

技术领域

本发明涉及大规模集成电路设计技术领域,尤其涉及一种无频率损耗的集成电路抗单粒子翻转加固方法。

背景技术

在宇宙空间中,存在大量高能粒子,集成电路受到这些高能粒子轰击后,会产生单粒子瞬态脉冲。单粒子瞬态脉冲将影响集成电路的正常工作,例如,当单粒子瞬态脉冲产生于触发器单元的交叉互锁反相器电路节点时,会改变其中一个节点的数据值,引起另一个节点的数据值发生改变,最终改变时序单元所存储的数据值,使得所存储的数据发生错误,引发单粒子翻转效应。单粒子翻转效应改变了集成电路时序单元中所存储的数据值,会导致集成电路执行错误的指令或读取错误的数据,从而影响集成电路的正常工作。

为了缓解单粒子翻转效应对集成电路正常工作的影响,需要在集成电路设计过程中采用加固方法以防止单粒子翻转。针对集成电路的加固,现有技术中主要采用以下两类方法:

一类加固方法是采用冗余的加固结构,例如交叉互锁触发器单元结构、双模冗余触发器结构、三模冗余触发器结构等。但是上述加固方法由于引入了部分冗余逻辑,会降低触发器单元的工作频率,增大触发器单元的单元面积;

另一类则是针对静态存储器时序电路,由于其具有较大的敏感面积以及很小的节点电容,使得它对单粒子翻转效应最为敏感。该加固方法采用位交叉以及纠错检错编码技术,提高静态存储器电路抗单粒子翻转效应的能力。同样地,由于纠错检错等电路的加入,该加固方法会降低静态存储器时序电路的工作频率,增大该电路的电路面积。

对于大规模集成电路,其最高工作频率决定于电路中的关键数据路径。在集成电路设计阶段,关键数据路径上通常刚好能够满足电路的时序要求,并不会剩余较多的时序余量。此时如果仍采用上述传统的抗单粒子翻转加固方法,由于触发器工作频率的降低,会引发关键数据路径时序违反,从而降低整个集成电路的工作频率,这对于频率敏感性集成电路来说是不可接受的。因此,亟需提供一种集成电路抗单粒子翻转加固方法,以使得能够抗单粒子翻转,同时能够保持集成电路工作频率不变,实现无频率损耗。

发明内容

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、能够抗单粒子翻转,同时能够保持集成电路工作频率不变,实现无频率损耗的集成电路抗单粒子翻转加固方法。

为解决上述技术问题,本发明提出的技术方案为:

一种无频率损耗的集成电路抗单粒子翻转加固方法,步骤包括:

S1.触发器获取:获取目标集成电路中所有的触发器;

S2.触发器筛选:遍历获取的所有触发器进行判断,每次判断时对当前触发器所在的数据通路进行静态时序分析,计算出所述数据通路的时序余量,并计算将当前触发器替换为所需的加固触发器后建立时间参数以及CLK-Q延时参数的增量值,所述CLK-Q延时参数为触发器的时钟端CLK到输出端Q的延时,根据当前触发器对应的时序余量与所述增量值之间的差值判断当前触发器是否为所需筛选出的目的触发器;

S3.触发器加固:将步骤S2筛选出的所有目的触发器替换为所述加固触发器,得到加固后的集成电路。

进一步的,所述步骤S2中,使用数据到达触发器输入端、输出端所需要的最大到达时间,以及触发器输入端、输出端必须要满足的到达时间,分别计算数据到达当前触发器输入端的第一时序余量以及数据到达当前触发器输出端的第二时序余量。

进一步的,所述计算数据到达当前触发器输入端的第一时序余量的步骤包括:通过静态时序分析,计算数据到达当前触发器的输入端D所需要的第一最大到达时间TD,arrive,以及计算当前触发器的输入端D必须要满足的第一到达时间TD,require,根据所述第一最大到达时间TD,arrive、第一到达时间TD,require得到数据到达当前触发器的输入端D的第一时序余量TD,slack

进一步的,所述计算数据到达当前触发器输出端的第二时序余量的步骤包括:通过静态时序分析,计算数据从当前触发器的输出端Q出发,到达下一级触发器的输入端D所需要的第二最大到达时间TQ,arrive,以及计算数据从当前触发器的输出端Q出发,到达下一级触发器输入端D必须要满足的第二到达时间TQ,require,根据所述第二最大到达时间TQ,arrive、第二到达时间TQ,require得到数据到达该触发器输出端Q的第二时序余量TQ,slack

进一步的,所述步骤S2中,所述增量值的具体计算步骤为:分别获取当前触发器与所述加固触发器的所述建立时间参数以及所述CLK-Q延时参数,将所述当前触发器与所述加固触发器之间的所述建立时间参数相减,得到替换为所需的加固触发器后建立时间参数的增量值ΔTsetup,以及将当前触发器与所述加固触发器之间的所述CLK-Q延时参数相减,得到替换为所需的加固触发器后CLK-Q延时参数的增量值。

进一步的,所述步骤S2中,判断当前触发器是否为所需筛选出的目的触发器具体为:如果对应建立时间参数的所述增量值小于当前触发器的第一时序余量TD,slack,且所述CLK-Q延时参数的增量值小于第二时序余量TQ,slack,则判定当前触发器为所需筛选出的目的触发器,所述第一时序余量TD,slack为数据到达当前触发器的输入端D的时序余量,所述第二时序余量TQ,slack为数据到达该触发器输出端Q的时序余量。

进一步的,所述加固触发器具体选取与目标集成电路中触发器驱动能力相同、具有抗单粒子翻转效应功能的触发器。

与现有技术相比,本发明的优点在于:

1、本发明通过对集成电路数据通路进行静态时序分析,得到集成电路每一条数据路径上的时序余量,基于数据路径上的时序余量以及触发器替换为加固触发器后参数的增量值,筛选出需要加固的触发器,再将筛选出的触发器替换为加固触发器,能够根据不同数据路径的时序余量选择集成电路中需要使用加固触发器的合适位置,不仅能够提高集成电路抗单粒子翻转的能力,还能够实现无频率损耗。

2、本发明通过根据不同数据路径的时序余量,选择性的将触发器单元替换为加固触发器单元,能够在使用加固触发器单元后,集成电路每一级数据通路仍满足静态时序要求,确保集成电路在原有的频率下仍能够正常工作,同时提高集成电路抗单粒子翻转的能力,尤其适用于时序余量较少的大规模集成电路中。

附图说明

图1为本实施例中无频率损耗的集成电路抗单粒子翻转加固方法的实现流程示意图。

图2为在具体应用实施例中第N级触发器到第N+2级触发器的电路结构示意图。

图3为本发明在具体应用实施例中加固后第N级触发器到第N+2级触发器的电路结构示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

如图1所示,本实施例无频率损耗的集成电路抗单粒子翻转加固方法的步骤包括:

S1.触发器获取:获取目标集成电路中所有的触发器;

S2.触发器筛选:遍历获取的所有触发器进行判断,每次判断时对当前触发器所在的数据通路进行静态时序分析,计算出数据通路的时序余量,并计算将当前触发器替换为所需的加固触发器后建立时间参数以及CLK-Q延时参数的增量值,CLK-Q延时参数为触发器时钟端CLK到输出端Q延时,根据当前触发器对应的时序余量与增量值之间的差值判断当前触发器是否为所需筛选出的目的触发器;

S3.触发器加固:将步骤S2筛选出的所有目的触发器替换为加固触发器,得到加固后的集成电路。

本实施例通过对集成电路数据通路进行静态时序分析,得到集成电路每一条数据路径上的时序余量,基于数据路径上的时序余量以及触发器替换为加固触发器后参数的增量值,筛选出需要加固的触发器,再将筛选出的触发器替换为加固触发器,能够根据不同数据路径的时序余量选择将触发器单元替换为加固触发器单元,保证在触发器单元替换后,集成电路每一级数据通路仍满足静态时序要求,从而能够保证集成电路工作频率不变,即集成电路在原有的频率下仍能够正常工作,同时能够提高集成电路抗单粒子翻转的能力,从而实现无频率损耗。

上述步骤S1中具体可通过集成电路物理设计工具获取所有级触发器的单元名称。在获取到所有触发器后对各触发器进行遍历,使用静态时序分析分析工具对各触发器的数据通路进行静态时序分析,计算出各条数据通路的时序余量。

本实施例步骤S2中,具体使用数据到达触发器输入端、输出端所需要的最大到达时间,以及触发器输入端、输出端必须要满足的到达时间,分别计算数据到达当前触发器输入端的时序余量以及数据到达当前触发器输出端的时序余量。

上述计算数据到达当前触发器输入端的时序余量的具体步骤包括:通过静态时序分析,计算数据到达当前触发器的输入端D所需要的第一最大到达时间TD,arrive,以及根据电路的工作频率,计算当前触发器的输入端D必须要满足的第一到达时间TD,require,根据第一最大到达时间TD,arrive、第一到达时间TD,require得到数据到达当前触发器的输入端D的第一时序余量TD,slack。具体将当前触发器输入端D必须要满足的第一到达时间TD,require减去第一最大到达时间TD,arrive,即得到数据到达当前触发器输入端D的第一时序余量TD,slack

上述计算数据到达当前触发器输出端的时序余量的具体步骤包括:通过静态时序分析,计算数据从当前触发器的输出端Q出发,到达下一级触发器的输入端D所需要的第二最大到达时间TQ,arrive,以及根据电路的工作频率,计算数据从当前触发器的输出端Q出发,到达下一级触发器输入端D必须要满足的第二到达时间TQ,require,根据第二最大到达时间TQarrive、第二到达时间TQ,require得到数据到达该触发器输出端Q的第二时序余量TQ,slack。具体将到达下一级触发器输入端D必须要满足的第二到达时间TQ,require减去第二最大到达时间TQ,arrive,即得到数据到达该触发器输出端Q的第二时序余量TQ,slack

本实施例步骤S2中,增量值的具体计算步骤为:分别获取当前触发器与加固触发器的建立时间参数以及CLK-Q延时参数,将当前触发器与加固触发器之间的建立时间参数相减,得到替换为所需的加固触发器后建立时间参数的增量值ΔTsetup,以及将当前触发器与加固触发器之间的CLK-Q延时参数相减,得到替换为所需的加固触发器后CLK-Q延时参数的增量值。后续结合上述时序余量以及该增量值之间的大小关系,筛选出所有需要加固的触发器。

本实施例步骤S2中,判断当前触发器是否为所需筛选出的目的触发器具体为:如果对应建立时间参数的增量值小于当前触发器的第一时序余量TD,slack,且CLK-Q延时参数的增量值小于第二时序余量TQ,slack,则判定当前触发器为所需筛选出的目的触发器,即为需要替换为加固触发器的触发器,第一时序余量TD,slack为数据到达当前触发器的输入端D的时序余量,第二时序余量TQ,slack为数据到达该触发器输出端Q的时序余量。

本实施例中,加固触发器具体可选取与目标集成电路中触发器驱动能力相同、具有抗单粒子翻转效应功能的触发器,以使得在使用加固触发器的位置能够具有抗单粒子翻转效应的加固功能,提高集成电路的抗单粒子翻转效应性能。

参见图1,本实施例实现集成电路抗单粒子翻转加固的详细流程为:

步骤S1、在集成电路物理设计阶段,提取目标集成电路中所用到的全部触发器单元名;

步骤S2、遍历获取的所有触发器进行判断;

步骤S21.选取其中一个触发器,通过静态时序分析工具计算数据到达该触发器输入端D所需要的第一最大到达时间TD,arrive,以及根据电路的工作频率,通过静态时序分析工具计算数据到达当前触发器输入端D必须要满足的第一到达时间TD,require,得到数据到达当前触发器输入端D的第一时序余量TD,slack

步骤S22.对当前选取的触发器,通过静态时序分析工具计算数据从该触发器输出端Q出发,到达下一级触发器输入端D所需要的第二最大到达时间TQ,arrive,以及根据电路的工作频率,通过静态时序分析工具计算数据从当前触发器输出端Q出发,到达下一级触发器输入端D必须要满足的到达时间TQ,require,得到数据到达该触发器输出端Q的第二时序余量TQ,slack

步骤S23.选取与当前触发器驱动能力相同的加固触发器,分别得到两个触发器的建立时间参数以及CLK-Q延时参数,并通过对两个建立时间参数相减,得到替换为加固触发器后建立时间参数的增量值ΔTsetup,以及通过对两个CLK-Q延时参数相减,得到替换为加固触发器后CLK-Q延时参数的增量值;

步骤S24.判断增量值与时序余量之间的关系,如果建立参数的增量值ΔTsetup小于第一时序余量TD,slack,且CLK-Q延时参数的增量值小于第二时序余量TQ,slack,判定当前触发器可以替换为加固触发器;

步骤S25.重复步骤S22~S24,直到遍历完集成电路中的所有触发器,确定能够替换为加固触发器的触发器数量及名称。

步骤3:在物理设计工具中,将能够替换为加固触发器的单元替换为相应的加固触发器,并完成替换单元的物理摆放和物理连接,得到加固后的电路版图,完成电路抗单粒子翻转的加固。

本实施例进一步以在具体应用实施例中采用上述方法进行集成电路抗单粒子翻转加固为例,对本发明进行进一步说明。如图2为其中第N级触发器到第N+2级触发器电路,详细的实现流程为:

步骤1)通过集成电路物理设计工具获得第N+1级触发器的单元名称FF4和FF5;

步骤2)在静态时序分析工具中,分别计算到达触发器FF4以及FF5的数据到达时间以及数据必须到达时间。

本实施例具体采用简化的计算方法来说明本发明实现流程:

到达FF4输入端的数据通路共有四条,分别为FF1/U2/U5,FF2/U1/U2/U5,FF2/U1/U3/U5以及FF3/U3/U5。从单元数量上可以看出,第二条数据通路FF2/U1/U2/U5以及第三条数据通路FF2/U1/U3/U5上单元数量最对,并且由于U3异或门单元的延时要大于U2与门单元延时,因此到达FF4输入端的最大延时数据通路为FF2/U1/U3/U5。

为了便于计算,假设触发器FF2单元延时为100皮秒,U1单元延时为50皮秒,U3单元延时为150皮秒,U5单元延时为100皮秒,那么数据到达FF4输入端的到达时间为上述单元延时之和,即400皮秒。采用同样的方法,可以得到数据到达FF5输入端的最大延时数据通路为FF3/U4/U6。假设触发器FF3单元延时为100皮秒,U4单元延时为100皮秒,U6单元延时为100皮秒,那么数据到达FF5输入端的到达时间为上述单元延时之和,即300皮秒。

假设图2电路的工作频率为2GHz,即一个时钟周期为500皮秒,同时假设触发器FF4和FF5的建立时间均为50皮秒。那么到达FF4和FF5单元的数据必须要满足的到达时间为450皮秒。将上述两个步骤所计算出的时间相减,可得到到达FF4单元输入端的时序余量为50皮秒,到达FF5单元输入端的的时序余量为100皮秒。

进一步的,在静态时序分析工具中,分别计算从触发器FF4以及FF5的输出端出发,数据到达下一级触发器FF6和FF7的数据达到时间以及数据必须到达时间。由于FF4输出端到FF6输出端的数据通路仅有一条,即FF4/U7/U9/U11,因此从FF4输出端到FF6输入端的最大延时数据通路为该路径。为了便于计算,假设触发器FF4单元延时为100皮秒,U7/U9/U11单元延时均为50皮秒,那么数据从FF4输出端到FF6输入端的到达时间为上述单元延时之和,即250皮秒。采用同样的方法,可以得到数据从FF5输出端到FF7输入端的到达时间为200皮秒。

进一步的,假设触发器FF6和FF7的建立时间均为50皮秒。那么数据从FF4输出端到FF6输入端必须要满足的到达时间为450皮秒。同样地,数据从FF5输出端到FF7输入端必须要满足的到达时间也为450皮秒。将上述两个步骤所计算出的时间相减,可得到从FF4单元输出端的时序余量为200皮秒,从FF5单元输出端的时序余量为250皮秒。

步骤3)假设加固触发器的建立时间为150皮秒,CLK-Q的延时为250皮秒,根据FF4和FF5的建立时间以及延时数据可以得到,FF4触发器替换为加固触发器后,其建立时间将增加100皮秒,CLK-Q的延时将增加150皮秒。由于到达FF4输入端的时序余量仅为50皮秒,小于建立时间的增加量,因此触发器FF4不能替换为加固触发器。然而,FF5触发器的余量值均大于(或等于)相应的增加量,因此触发器FF5可以替换为加固触发器。

步骤4)通过集成电路物理设计工具,将触发器FF5替换为加固触发器,替换完成后得到的电路图如图3所示。然后采用集成电路物理设计工具完成替换单元的物理摆放和物理连线,最终完成整个电路抗单粒子翻转的加固。

本发明通过根据不同数据路径的时序余量将触发器单元替换为加固触发器单元,能够在使用加固触发器单元后,集成电路每一级数据通路仍满足静态时序要求,确保集成电路在原有的频率下仍能够正常工作,同时提高集成电路抗单粒子翻转的能力。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种时钟相位选择电路

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!