一种适用于满足三模冗余的物理搭建方法与流程

文档序号:28530725发布日期:2022-01-19 12:40阅读:127来源:国知局
一种适用于满足三模冗余的物理搭建方法与流程

1.本发明属于集成电路设计领域,具体涉及一种适用于满足三模冗余的物理搭建方法。


背景技术:

2.随着空间技术的飞速发展,核心电子元器件越来越广泛地应用于空间环境,各种空间的辐射效应会对元器件的可靠性造成不同程度的影响,其中单粒子效应严重影响了空间电子设备的正常使用,为了减小单粒子翻转对器件可靠性造成的影响,核心芯片都要满足各种抗辐照指标。随着工艺技术的进步,单粒子效应愈发严重。先进工艺下三模冗余物理设计的主要问题表现在以下几方面:
3.1、随着工艺技术的逐渐进步,三模冗余电路在物理实现中由于工具的把控不好,使得同组三个寄存器在实现中效果不佳,导致单粒子翻转效应并没有得到有效解决。
4.2、随着工艺的逐渐进步,三模寄存器由于增加时钟延时,与此同时标准单元以及互联线在不同工艺角下延时差异大,三模寄存器的时序收敛难度增加,采用传统时钟树设计已经很难满足时序收敛要求。
5.3、目前三路寄存器相对应的三路时钟的延时检查无指导依据。


技术实现要素:

6.本发明的目的在于克服上述不足,提供一种适用于满足三模冗余的物理搭建方法,能够在确保单粒子效应得到有效改进的同时,能够确保三模设计快速达到设计指标。
7.为了达到上述目的,本发明包括以下步骤:
8.s1,输入设计文件;
9.s2,将时钟管理单元与控制单元放置在芯片的中心,脚本化实现同组的三个寄存器间保持相等距离,避免单粒子同时击中两路或三路信号使得三模冗余保护失效,引起电路翻转。
10.s3,顶层时钟树综合的三模寄存器在三模寄存器的缓冲单元之后,通过create_clock命令,分别定义三个时钟,让三个时钟平衡,将三模寄存器的延时单元固定,确保三个时钟之间的延时差,时钟起点到三模寄存器的延时单元之间单独铺设成公共路径;
11.s4,采取时钟树优先布线的策略,对时钟线以及信号线进行绕线;
12.s5,对物理综合后的版图信息进行电阻电容的提取,将电阻电容的参数反标到工艺文件中;
13.s6,通过反标的电阻电容信息计算实际电路的延时,并检查时序是否满足设计收敛要求;
14.s7,采用时钟长度比较法来判断三模时钟是否满足设计需求。
15.s1中,输入的设计文件包括网表、库文件、约束文件和io约束文件。
16.s2的具体方法如下:
17.将同组的三个寄存器的方向和类型设成一致,使三个寄存器组成三角形,x方向的移动位置自由决定,y方向的移动位置为寄存器本身高度的整数倍,该参数保存在脚本中,三个寄存器组成三模寄存器,将所有三模寄存器固定住,移开其他标准单元,最后再将重叠的三模寄存器合理化放置。
18.寄存器1移动到寄存器0的右下方,寄存器2移动到寄存器0的正下方,寄存器0、寄存器1和寄存器2组成三角形,共同组成三模寄存器。
19.s3中,将时钟管理单元固定设置,将时钟管理单元内部的寄存器设置成时钟排除引脚。
20.三路寄存器为统一时钟源,通过create_generate_clock命令完成,三模时钟负载不同时,时钟之间会存在时钟偏差,在时钟均衡上使用命令clock_opt-inter_clock_balance。
21.s4中,时钟树优先布线的策略包括以下步骤:
22.时钟树综合后开始关注建立时间,确定建立时间与时钟偏差的关系,确定时钟树综合后的结果与布局后的时序结果仅仅在于时钟偏差的区别。
23.s7中,时钟长度比较法的具体方法如下:
24.从时钟端口到dff的时钟端设定为时钟路径,假定t0、t1以及t2分别为经过三模冗余电路的三个区域,三个区域的时钟路径长度最长以及最短时间分别记录为s0_max、s0_min、s1_max、s1_min、s2_max和s2_min;
25.判断t1区域的时钟最短路径减去t0区域的时钟最长路径是否大于等于seu翻转的脉冲宽度;
26.判断t2区域的时钟最短路径减去t1区域的时钟最长路径是否大于等于seu翻转的脉冲宽度。
27.与现有技术相比,本发明在布局阶段采用了对时钟管理单元进行定制设计,同组三个寄存器在实现中通过脚本得到有效控制,由于现有三模寄存器增加了时钟延时,具有在先进工艺下不同工艺角下延时差异大的特点,降低了时序收敛难度,有效加快了设计效率,最终三模时钟相位差检查采用了时钟长度比较法完成。本发明能够在确保单粒子效应得到有效改进的同时,能够确保三模设计快速达到设计指标。本发明具有流程简单、可操作性强,时序收敛速度快的优点,并且能满足其它流片签核条件。
附图说明
28.图1为布局、时钟树优化、布线阶段的约束原理图;
29.图2为时钟树综合阶段的约束原理图;
30.图3为时钟长度比较法的示意图;
31.图4为脚本控制三模寄存器位置的示意图;
32.图5为时钟铺设公共路径的示意图。
具体实施方式
33.下面结合附图对本发明做进一步说明。
34.参见图1,本发明包括以下步骤:
35.s1,输入设计文件,输入的设计文件包括网表、库文件、约束文件和io约束文件;
36.s2,将时钟管理单元与控制单元放置在芯片的中心,脚本化实现同组的三个寄存器间保持相等距离,避免单粒子同时击中两路或三路信号使得三模冗余保护失效,引起电路翻转。
37.参见图4,将同组的三个寄存器的方向和类型设成一致,使三个寄存器组成三角形,x方向的移动位置自由决定,y方向的移动位置为寄存器本身高度的整数倍,该参数保存在脚本中,三个寄存器组成三模寄存器,将所有三模寄存器固定住,移开其他标准单元,最后再将重叠的三模寄存器合理化放置。寄存器1移动到寄存器0的右下方,寄存器2移动到寄存器0的正下方,寄存器0、寄存器1和寄存器2组成三角形,共同组成三模寄存器。将时钟管理单元固定设置,将时钟管理单元内部的寄存器设置成时钟排除引脚。三路寄存器为统一时钟源,通过create_generate_clock命令约束完成布局。
38.s3,参见图2和图5,顶层时钟树综合的三模寄存器在三模寄存器的缓冲单元之后,通过create_clock命令,分别定义三个时钟,让三个时钟平衡,将三模寄存器的延时单元固定,确保三个时钟之间的延时差,时钟起点到三模寄存器的延时单元之间单独铺设成公共路径;三模时钟负载不同时,时钟之间会存在时钟偏差,在时钟均衡上使用命令clock_opt-inter_clock_balance。
39.s4,采取时钟树优先布线的策略,对时钟线以及信号线进行绕线;时钟树优先布线的策略包括以下步骤:
40.时钟树综合后开始关注建立时间,确定建立时间与时钟偏差的关系,确定时钟树综合后的结果与布局后的时序结果仅仅在于时钟偏差的区别。
41.s5,对物理综合后的版图信息进行电阻电容的提取,将电阻电容的参数反标到工艺文件中;
42.s6,通过反标的电阻电容信息计算实际电路的延时,并检查时序是否满足设计收敛要求;
43.s7,参见图3,采用时钟长度比较法来判断三模时钟是否满足设计需求。
44.时钟长度比较法的具体方法如下:
45.从时钟端口到dff的时钟端设定为时钟路径,假定t0、t1以及t2分别为经过三模冗余电路的三个区域,三个区域的时钟路径长度最长以及最短时间分别记录为s0_max、s0_min、s1_max、s1_min、s2_max和s2_min;
46.判断t1区域的时钟最短路径减去t0区域的时钟最长路径是否大于等于seu翻转的脉冲宽度;
47.判断t2区域的时钟最短路径减去t1区域的时钟最长路径是否大于等于seu翻转的脉冲宽度。
48.实施例:
49.通过本发明的三模冗余设计一个实例芯片的过程如下所示:
50.1)输入设计文件
51.2)在布局中设置适用于三模设计相关的约束,即三个寄存器采用同一路时钟,从时钟管理单元端口,执行create_generate_clock命令的时序约束,并且采用了时序驱动的布局方法。将时钟与控制单元放置在整个芯片的中心,脚本化使得三个寄存器间保持相等
距离,避免单粒子同时击中两路或三路信号使得三模冗余保护失效,引起电路翻转。具体做法如下:将同组的三个寄存器的方向设成一致,同时将同组的三个寄存器的类型设置成同一类型。将寄存器1移动到寄存器0的右下方,寄存器2移动到寄存器0的正下方,形成一个三角形。x方向的移动位置自由决定,y方向的移动位置为寄存器本身高度的整数倍,也体现在脚本中。脚本需要输入的三个参数分别为:寄存器1往下移动到第几行,寄存器2往下移动到第几行,寄存器1往右移动多少距离。需要在尽可能满足间距要求的情况下,合理化所有单元,且同组的三个寄存器的位置不能离的太远,否则会影响时序。先将所有三模寄存器固定住,移开其他标准单元,最后再将重叠的三模寄存器合理化放置。上述操作既可以拉开同组寄存器的距离,又在一定程度上将其它相关关键单元拉近,满足后续时序要求。
52.set_attribute[get_flat_cells{*/d0_寄存器*/d1_寄存器*/d2_寄存器}]is_fixed true
[0053]
legalize_placement-incr
[0054]
set_attribute[get_flat_cells{*/d0_寄存器*/d1_寄存器*/d2_寄存器}]is_fixed false
[0055]
set_attribute[get_flat_cells{*/d0_寄存器*/d1_寄存器*/d2_寄存器}]is_soft_placed true
[0056]
legalize_placement-incr
[0057]
3)执行时钟树综合时,针对三个寄存器分别采用三路时钟,并且三路时钟分别从时钟管理单元端口,通过create_clock命令产生。时钟管理单元“固定”,对时钟管理单元内部的寄存器设置成时钟排除引脚。三路时钟从时钟管理单元端口,通过create_clock命令产生,独立完成时钟树综合。将时钟起点到三模缓冲单元之间单独铺设成公共路径。顶层时钟三模一般的做法是在三模缓冲单元之后分别定义三个时钟,让三个时钟平衡,将三模寄存器的延时单元固定,确保三个时钟之间的延时差。最后再铺时钟起点到这段的时钟。对于模块时钟三模来说,将时钟起点到模块边界处全部铺设为公共路径,其长度得到保证。模块时钟三模只用在模块时钟端口处设置一个时钟,同时将三模延时单元固定住,这样时钟一定是分为三路到达三个寄存器,同一个时钟下的路径也自己会去做平衡。
[0058]
4)执行时钟树优化,采用与布局阶段相同的约束。
[0059]
5)对时钟线以及信号线进行绕线,为了减小线路的延时,降低信号串扰的影响,采取时钟线为一般信号线两倍宽度,两倍间距的原则,采取时钟树优先布线的策略进行。
[0060]
6)对物理综合后的物理版图信息进行电阻电容的提取,将电阻电容的参数反标到工艺文件中。
[0061]
7)通过反标的电阻电容信息计算实际电路的延时,并检查时序是否满足设计收敛要求。
[0062]
8)采用时钟长度比较法来判断三模时钟是否满足设计需求。从时钟端口到寄存器的时钟端设定为时钟路径,假定t0、t1以及t2分别为经过三模冗余电路的三个区域,三个区域的时钟路最长以及最短时间分别记录为s0、s1以及s2,使得t1区域的时钟最短路径减去t0区域的时钟最长路径大于等于seu翻转的脉冲宽度,即s1_min-s0_max≥seu翻转的脉冲宽度;t2区域的时钟最短路径减去t1区域的时钟最长路径大于等于seu翻转的脉冲宽度,即s2_min-s1_max≥seu翻转的脉冲宽度的策略。
[0063]
9)结束并退出。
[0064]
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1