CN117113917A - 降低芯片开关功耗的布局布线方法 - Google Patents
降低芯片开关功耗的布局布线方法 Download PDFInfo
- Publication number
- CN117113917A CN117113917A CN202310585495.8A CN202310585495A CN117113917A CN 117113917 A CN117113917 A CN 117113917A CN 202310585495 A CN202310585495 A CN 202310585495A CN 117113917 A CN117113917 A CN 117113917A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- data
- layout
- time sequence
- report
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 239000002184 metal Substances 0.000 claims abstract description 79
- 229910052751 metal Inorganic materials 0.000 claims abstract description 79
- 238000005457 optimization Methods 0.000 claims abstract description 42
- 238000013461 design Methods 0.000 claims abstract description 34
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 24
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 24
- 238000012795 verification Methods 0.000 claims abstract description 20
- 230000003071 parasitic effect Effects 0.000 claims description 42
- 230000007306 turnover Effects 0.000 claims description 34
- 238000004088 simulation Methods 0.000 claims description 14
- 230000024241 parasitism Effects 0.000 claims description 8
- 239000000945 filler Substances 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000006866 deterioration Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000003990 capacitor Substances 0.000 description 3
- 238000007599 discharging Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012938 design process Methods 0.000 description 2
- 230000005764 inhibitory process Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- -1 etc. Substances 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
- G06F30/3953—Routing detailed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了降低芯片开关功耗的布局布线方法,该方法包括:获取芯片常规自动布局后的数据;采用基于时序偏移量的功耗布局优化法,对所述芯片常规自动布局后的数据进行功耗布局优化,得到优化功耗后的布局数据;根据所述优化功耗后的布局数据进行时钟树综合,得到时钟树综合后的数据;根据所述时钟树综合后的数据,结合金属布线规则,使用金属线与金属通孔进行逻辑器件之间的物理连接,从而完成芯片设计中后端的自动布线;及对完成自动布线的数据进行STA时序验证和/或其他验证,如果没有通过各项验证,则通过ECO进行修复直至各项验证通过。本发明可降低发生在信号布线金属上的开关功耗20%,对芯片的整体功耗能降低5%到10%。
Description
技术领域
本发明涉及芯片低功耗设计技术领域,具体涉及降低芯片开关功耗的布局布线方法。
背景技术
随现代化发展进程,节能已成为全球关注问题。同时人们对可移动产品的需求也日趋变高,市场对产品的续航能力有更大的要求。另外越大的功耗,意味着系统产生的热量越大,相应的散热元件成本也会增加,封装上也需要采用更加昂贵的材料或者冷却系统、面对以上问题,低功耗将是电子工业的发展趋势,已成为衡量芯片好坏的标准之一。
从设计的进程来看,当需要开发低功耗芯片时,先由设计前端进行芯片构架的优化,比如低电压、低频、多电源电压设计等,逻辑电路方面常采用的是Clock Gating的方法(关断部分时钟)。仅限于前端芯片构架的改进是不足够的,实际上往往不能达到理想的效果,因为在设计中后端物理实现的过程中也存在着很多影响功耗的因素。比如,连接逻辑器件的金属线的宽度和长度,以及该金属线所处的物理环境等等,都可能直接影响该逻辑器件的负载寄生进而影响器件功耗。
发明内容
本发明所要解决的技术问题是仅从芯片构架上进行低功耗设计存在局限性,而在芯片的中后端设计(物理实现)过程中存在着很多影响功耗的因素,比如连接逻辑器件的金属线的宽度和长度,以及该金属线所处物理环境等,会直接影响该逻辑器件的负载寄生进而影响器件功耗。
本发明目的在于提供降低芯片开关功耗的布局布线方法,在对芯片进行物理实现设计中期,对逻辑电路进行分析得出高功耗发生可能的金属互连线,在实际物理版图设计中对该部分金属互连线进行优化控制,降低信号线上的寄生,减小器件的负载从而达到降低开关功耗的目的,对整体功耗能达到5%到10%的降低,在一些超低功耗要求的产品中,仅使用常规芯片低功耗设计方法无法达到设计要求时,可采用本发明方法进行进一步的功耗改善。
本发明通过下述技术方案实现:
本发明提供了降低芯片开关功耗的布局布线方法,该方法包括:
获取芯片常规自动布局后的数据;
采用基于时序偏移量的功耗布局优化法,对芯片常规自动布局后的数据进行功耗布局优化,得到优化功耗后的布局数据;
根据优化功耗后的布局数据进行时钟树综合,得到时钟树综合后的数据;
根据时钟树综合后的数据,结合金属布线规则,使用金属线与金属通孔进行逻辑器件之间的物理连接,从而完成芯片设计中后端的自动布线。
进一步地,采用基于时序偏移量的功耗布局优化法,对芯片常规自动布局后的数据进行功耗布局优化,得到优化功耗后的布局数据,包括:
对芯片常规自动布局后的数据进行文件导出,得到当前寄生报告、当前电路和时序报告;
对当前电路进行逻辑仿真,查看逻辑仿真的波形,并确认当前电路的逻辑是否正确;同时导出当前电路中信号翻转情况作为第一电路翻转报告;
根据第一电路翻转报告和时序报告,进行相应报告解析,得到时序偏移量;
根据时序偏移量,采用时序路径约束法设置新约束条件;其中,时序路径约束法即path_margin的约束方式,是一种现有约束方法。
根据新约束条件进行二次自动布局,得到优化功耗后的布局数据。
进一步地,还包括:
从优化功耗后的布局数据中导出对应的时序报告和寄生报告,根据对应的时序报告和寄生报告进行判断获得判断结果;
当判断结果为高频信号寄生与最初的寄生相比较未减小(NG),则调整新约束条件,重新进行功耗布局优化;
当判断结果为时序违反,则调整新约束条件,重新进行功耗布局优化;
当判断结果为高频信号寄生减小,且满足时序要求的布局数据,则布局功耗优化结束。
进一步地,当前寄生报告用于记载每条逻辑连线当前寄生情况;
当前电路用于记载前逻辑网表;
时序报告用于记载当前每条逻辑连线时序情况。
进一步地,第一电路翻转报告包括仿真区间、逻辑状态为0的持续时间、逻辑状态为1的持续时间、信号翻转的总次数、不定态X的时间和竞争冒险次数;
其中,信号翻转的总次数包括信号从0翻转到1的次数和信号从1翻转到0的次数;
竞争冒险次数是不计入信号翻转的总次数中。
进一步地,根据第一电路翻转报告和时序报告,进行相应报告解析,得到时序偏移量,包括:
采用第一电路翻转报告给每条逻辑连线标记上翻转频率,通过翻转频率的不同进行第一次筛选,选出具备优化场景的逻辑电路及待进行功耗布局优化的对象器件;
判断对象器件中的低频信号的第一时序是否存在余量、判断对象器件中的高频信号的第二时序是否存在余量;
选取第一时序和第二时序中时最小的时序余量作为时序偏移量。
进一步地,第一时序是建立时间时序,当低频信号延迟增大太多会违反建立时间,判断公式为:T+Skew-Data>setup,T为时钟周期,Skew为时钟偏移量,Data为数据延迟,setup为建立时间;
第二时序是保持时间时序,当高频信号延迟降低太多将违反保持时间,判断公式为:Data-Skew>hold,Data为数据延迟,Skew为时钟偏移量,hold为保持时间。
进一步地,根据时钟树综合后的数据,结合金属布线规则,使用金属线与金属通孔进行逻辑器件之间的物理连接,从完成芯片设计中后端的自动布线,包括:
根据时钟树综合后的数据,导出时钟树综合后的当前电路;
对时钟树综合后的当前电路进行逻辑仿真,查看逻辑仿真的波形,并确认时钟树综合后的当前电路的逻辑是否正确;同时导出时钟树综合后的当前电路中信号翻转情况作为第二电路翻转报告;
根据第二电路翻转报告计算线宽;根据第二电路翻转报告记载的翻转频率,计算线与线之间的间距及使用金属层次;
根据线宽、线与线之间的间距及使用金属层次,设置布线规则;
根据布线规则,采用工具运行自动布线,得到布线完成后的数据;
并根据布线完成后的数据,对大间距金属线追加金属填充物禁止层,禁止金属填充物插入金属线两侧;防止因为dummy介质插入后增大寄生恶化开关功耗。
进一步地,根据第二电路翻转报告计算线宽,包括:
将第二电路翻转报告带入实际版图中,并采用EDA工具仿真出每条信号线的功耗,根据功耗换算出每条信号线的电流;根据电流,再结合生产商提供的EM对照表,计算出满足EM对照表要求的最小的线宽;
根据第二电路翻转报告记载的翻转频率,计算线与线之间的间距,包括:
根据第二电路翻转报告记载的信号线的翻转频率,得出最高翻转频率的实际值,并将相同翻转频率的信号线全部提取出,该提取出的信号因为翻转快功耗大为降低其寄生负载往往需要设置两倍默认间距。
进一步地,该方法还包括:
对完成自动布线的数据进行STA时序验证和/或其他验证,如果没有通过各项验证,则通过ECO进行修复直至各项验证通过。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明降低芯片开关功耗的布局布线方法,在对芯片进行物理实现设计中期,对逻辑电路进行分析得出高功耗发生可能的金属互连线,在实际物理版图设计中对该部分金属互连线进行优化控制,降低信号线上的寄生,减小器件的负载从而达到降低开关功耗的目的;本发明通过上述方法可降低发生在信号布线金属上的开关功耗20%,对芯片的整体功耗能降低5%到10%。
2、本发明降低芯片开关功耗的布局布线方法,(1)自动布局阶段,结合第一电路翻转报告中信号翻转频率,对芯片常规设计得布局结果进行2次优化,将高翻转频率的金属布线长度进行减短,降低线上寄生电容改善开关功耗;(2)自动布线阶段,结合第二电路翻转报告更加精准仿真出每条信号的电流大小,根据电流大小对相应信号线进行高精准度的线宽设置,减小布线宽度设置过大的而增加负载带来的开关功耗;(3)对大间距金属连线追加dummy禁止层,禁止dummy插入信号两侧,防止因为dummy介质插入后增大寄生恶化开关功耗。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明开关功耗原理图;
图2为本发明负载大小对功耗的影响波形图;
图3为本发明增大布线电容后负载大小对功耗的影响波形图;
图4为本发明负载电容的原理方法图;
图5为本发明降低芯片开关功耗的布局布线方法的流程图;
图6为本发明功耗布局优化的流程图;
图7为本发明第一电路翻转报告示意图;
图8为本发明物理版图示意图和逻辑电路示意图;
图9为本发明path_margin的约束方式示意图;
图10为本发明自动布线的流程图;
图11为本发明步骤C32的示意图;
图12为本发明步骤B2中加大信号线间距的地方将更容易成为dummy metal插入对象,形成的场景图;
图13为本发明步骤C5的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
从传统的芯片设计进程来看,当需要开发低功耗芯片时,往往先由设计前端进行芯片构架的优化,比如低电压、低频、多电源电压设计等,逻辑电路方面常采用的是ClockGating的方法(关断部分时钟)。而仅限于前端芯片构架的改进是不足够的,实际上不能达到理想的效果,因为在设计中后端物理实现的过程中也存在着很多影响功耗的因素。比如,连接逻辑器件的金属线的宽度和长度,以及该金属线所处的物理环境等等,都可能直接影响该逻辑器件的负载寄生进而影响器件功耗。
本发明考虑到芯片设计中后端(物理实现设计)同样可以对降低功耗进行自身贡献,因此提供了一种降低芯片开关功耗的布局布线方法,在对芯片进行物理实现过程中,对逻辑电路进行分析得出高功耗发生可能的金属互连线,在实际物理版图设计中对该部分金属互连线进行优化控制,降低信号线上的寄生,减小器件的负载从而达到降低开关功耗的目的。该方法对芯片的整体功耗能降低5%到10%,在一些超低功耗要求的产品中,仅使用常规芯片低功耗设计方法无法达到设计要求时,可采用本发明方法进行进一步的功耗改善。
具体地,如图1所示,开关功耗原理为:
当输入电压Vin为低电平时,PMOS管导通,NMOS管截止;供电电压VDD向负载电容Cload进行充电;
当输入电压Vin为高电平时,PMOS管截止,NMOS管导通;负载电容Cload向接地0电压VSS进行放电;
其中,PMOS管为P型注入的晶体管;NMOS管为N型注入的晶体管。
由此可以看出,只要信号发生跳变,晶体管就会发生开启或关闭的动作,在这个过程中会对负载进行充放电,产生电能损失,这种损失叫switchpower(开关功耗)。
具体地,负载大小对功耗的影响:
以INV(反相器)为例,由于对器件Gate(栅极)的充放电是需要一定时间的,所以并不能得到教科书上那样的矩形波,而是如图2所示的波形。
增大布线电容后负载大小对功耗的影响波形图如图3所示。输出端电容值变大后,为使得电路达到稳定平衡,需要充放电的电荷量将变的更多,消耗更多的能量,同时充放电的时间也就会越长,输出波形也会变得更平缓,Cell(标准单元器件)内部延迟会变大。
开关功耗公式如下:
Pswitch=1/2V2×C×f
其中,Pswitch为开关功耗;V为供电电压,f为频率,C为后级电路等效的负载电容;
从开关功耗公式中可以看出,负载电容大小和Pswitch正相关,降低负载电容C可以降低芯片上的开关功耗。
具体地,负载电容的原理方法:
如图4所示:一条信号布线会与左右两侧的布线产生寄生电容Cc相互影响,同时受Bottom plate(底层:扩散/注入等,金属层以外的层次)产生电容Cf、Ca影响。
布线电容公式如下:
其中,C为布线电容,S为极板间面积,d为极板间距离,∈为介质常数。
实施例
如图5所示,本发明降低芯片开关功耗的布局布线方法,该方法包括:
获取芯片常规自动布局后的数据;
采用基于时序偏移量的功耗布局优化法,对芯片常规自动布局后的数据进行功耗布局优化,得到优化功耗后的布局数据;
根据优化功耗后的布局数据进行时钟树综合,得到时钟树综合后的数据;
根据时钟树综合后的数据,结合金属布线规则,使用金属线与金属通孔进行逻辑器件之间的物理连接,从而完成芯片设计中后端的自动布线;
对完成自动布线的数据进行STA时序验证和/或其他验证,如果没有通过各项验证,则通过ECO进行修复直至各项验证通过。
图5中虚框的部分为常规流程以外本发明方案追加的设计流程:
前期:布局规划阶段。中期:placement(自动布局),CTS(时钟树综合),Autoroute(自动布线)。后期:验证,ECO(工程修改),最终完成数据提出(Dataout)。
具体实施时,设计步骤为:
步骤A:按照常规芯片设计完成电源网络规划,芯片常规自动布局后的数据(Floorplan),再导入时序约束,进行自动布局。
步骤B:采用基于时序偏移量的功耗布局优化法,对芯片常规自动布局后的数据进行功耗布局优化,得到优化功耗后的布局数据;
如图6所示,通过以下流程对完成芯片常规自动布局后的数据进行功耗优化。
步骤B包括以下子步骤:
步骤B1:对芯片常规自动布局后的数据进行文件导出,得到当前寄生报告、当前电路和时序报告;
其中,当前寄生报告用于记载每条逻辑连线当前寄生情况;
当前电路用于记载前逻辑网表(vnet);
时序报告用于记载当前每条逻辑连线时序情况。
步骤B2:对当前电路进行逻辑仿真,查看逻辑仿真的波形,并确认当前电路的逻辑是否正确;同时导出当前电路中信号翻转情况作为第一电路翻转报告(saif);
第一电路翻转报告记载的部分内容如图7所示,具体如下:
Duration:仿真区间;
T0:逻辑状态为0的持续时间;
T1:逻辑状态为1的持续时间;
TC:信号翻转的总次数,信号翻转的总次数包括信号从0翻转到1的次数和信号从1翻转到0的次数;
TX:不定态X的时间;
IG:竞争冒险次数,竞争冒险次数是不计入信号翻转的总次数中。
步骤B3:根据第一电路翻转报告和时序报告,进行相应报告解析,得到时序偏移量;
芯片常规设计中的自动布局,由EDA工具结合时序、功耗、布线性等因素综合考虑后给出的一个比较平衡的结果。这样的结果对低功耗设计而言是不够积极的,EDA工具会为了让布线更容易收敛(逻辑器件越密集,单位面积内需要连接的走线越多,越容易布线造成拥堵),在自动摆放逻辑器件时让器件放置的更加松散平均,同时在时序上面也只是做到时序满足即可。这样的数据结果在功耗方面存在余量。如图8所示:A,B,C为寄存器,D为组合逻辑。芯片常规自动布局更多考虑的是让时序更容易满足要求,将D结点放置靠近中间使得A到C,B到C都比较容易达成。这样的布局方式对时序很有利,但从功耗方面来说,会出现过多的功耗浪费。从功耗公式中可以看出功耗大小与翻转频率高低,负载寄生大小成正比。负载寄生大小与路径长度同样为正比。及当AD+BD的总的路径长度不变,AD与信号BD的翻转频率又不一致,功耗大小为1/2V2(CAD×fAD+CBD×fBD)。当调整D器件的位置AD,BD的功耗会随之发生变化,AD变化量:CL×fAD,BD变化量CL×fBD。
假定fBD>fAD时,及CL×fBD>CL×fAD:
D点向B点靠近,CBD减小功耗>CAD增加功耗,功耗得以改善。
D点向A点靠近,CBD减小功耗<CAD增加功耗,功耗恶化。
通过以下报告分析,找出符合上述情况的器件,进行布局优化调整:
步骤B31、采用第一电路翻转报告给每条逻辑连线标记上翻转频率,通过翻转频率的不同进行第一次筛选,选出具备优化场景的逻辑电路及待进行功耗布局优化的对象器件;
步骤B32、判断对象器件中的低频信号的第一时序是否存在余量、判断对象器件中的高频信号的第二时序是否存在余量;选取第一时序和第二时序中时最小的时序余量作为时序偏移量。
在改变高频低频的连线长度的同时,相应路径上时序同时会发生变化,为了降低功耗,实际是降低高频信号的负载,增加低频信号负载的过程。这将使得高频信号的时序延迟随着负载降低,延迟将变小。低频信号随着负载增加延迟将增大。公式:Data(数据延迟)-Skew(时钟偏移量)>hold(保持时间)中看出当高频信号延迟降低太多将违反hold。
公式:T(时钟周期)+Skew(时钟偏移量)-Data(数据延迟)>setup(建立时间)当低频信号延迟增大太多会违反setup。
两种情况都将是不可接受,因此将结合步骤B1中抽出的时序报告,查看将要优化电路(对象器件)中的低频信号的setup时序是否有余量,同时高频信号的hold时序是否有余量;选取setup和hold中更加小的时序余量作为时序偏移量X。且每个逻辑电路中都得到一个时序偏移量X。
步骤B4:根据时序偏移量,采用时序路径约束法设置对应想要改变的在时序路径上;其中,时序路径约束法即path_margin的约束方式,是一种现有约束方法。
以图9为例:将DC逻辑向B移动X及对逻辑B设置上X的margin,对逻辑A设置上-X的margin。使EDA工具在计算延迟时AD的起点为-X。BD的起点为X开始计算,当工具认为AD=BD时,实际呈现图9的认识偏差。达到将DC逻辑移动向逻辑B的目的,减短BD的负载,降低功耗。
按照上述方法将步骤B31抽出的所有符合条件的逻辑电路全部判断设置形成新约束条件。
步骤B5:根据新约束条件进行二次自动布局,得到优化功耗后的布局数据。
具体地,在自动布局后数据上读入步骤B4得到的新约束条件后,让EDA工具带着时序偏移量进行二次自动布局,对优化完的数据重新取出对应的时序报告和寄生报告进行判断获得判断结果;
当判断结果为高频信号寄生与最初的寄生相比较未减小(NG),则调整新约束条件,重新进行功耗布局优化;
当判断结果为时序违反,则调整新约束条件,重新进行功耗布局优化;
当判断结果为高频信号寄生减小,且满足时序要求的布局数据,则布局功耗优化结束。
步骤C:根据优化功耗后的布局数据进行时钟树综合,得到时钟树综合后的数据;根据时钟树综合后的数据,结合金属布线规则,使用金属线与金属通孔进行逻辑器件之间的物理连接,从完成芯片设计中后端的自动布线;具体流程如图10所示。
步骤C包括以下子步骤:
步骤C1:根据时钟树综合后的数据,导出时钟树综合后的当前电路;
步骤C2:对时钟树综合后的当前电路进行逻辑仿真,查看逻辑仿真的波形,并确认时钟树综合后的当前电路的逻辑是否正确;同时导出时钟树综合后的当前电路中信号翻转情况作为第二电路翻转报告;
步骤C3:根据第二电路翻转报告计算线宽;根据第二电路翻转报告记载的翻转频率,计算线与线之间的间距及使用金属层次;根据线宽、线与线之间的间距及使用金属层次,设置布线规则;
这是考虑到在工具进行自动布线前,需要向工具设定布线规则:线宽(即线的宽度),线与线之间的间距以及使用的金属层次,这些设置影响着金属线上的寄生电容大小,寄生电容越大负载也越大,进而造成开关功耗更大。降低金属线上寄生同样可以降低开关功耗。在自动布局优化中时通过将逻辑器件相对位置近距离放置减短布线长度的方式减小了金属线寄生。现准备将金属宽度变窄从而降低其金属线上的寄生,需要计算出每条金属线的最小宽度及符合EM(电迁移效应)规则,最小线宽。
步骤C31:根据第二电路翻转报告计算线宽,包括:
将第二电路翻转报告带入实际版图中,并采用EDA工具仿真出每条信号线的功耗,根据功耗换算出每条信号线的电流大小;根据电流带下,再结合生产商提供的EM对照表,计算出满足EM对照表要求的最小的线宽;避免芯片常规设计中对金属线的宽度设置过大,增加线上寄生电容增加开关功耗。
步骤C32:根据第二电路翻转报告记载的翻转频率,计算线与线之间的间距,包括:
根据第二电路翻转报告记载的信号线的翻转频率,得出最高翻转频率的实际值,并将相同翻转频率的信号线全部提取出,该提取出的信号因为翻转快功耗大为降低其寄生负载往往需要设置两倍默认间距,降低其寄生电容,同时防止发生noise(串扰噪声)如图11所示。
步骤C4:根据布线规则,采用工具运行自动布线,得到布线完成后的数据;
步骤C5:并根据布线完成后的数据,对大间距金属线追加金属填充物禁止层,禁止金属填充物插入金属线两侧;防止因为dummy介质插入后增大寄生恶化开关功耗。
这是考虑到:生产商为提高良品率,保证可制造性,防止芯片在制造过程中由于曝光过渡或不足导致蚀刻失败;会在制造前对版图数据进行金属密度检查(下称density检查)在检查出不符合最低要求的区域,在其区域需要随机插入金属填充物(下称dummymetal)以修缮金属密度错误。步骤B2中加大信号线间距的地方将更容易成为dummy metal插入对象,形成如图12所示的场景。
图12所示的场景将dummymetal插入金属线之间形成中间介质,再次改变金属线上的寄生电容使其寄生电容变大,导致开关功耗恶化。防止该现象发生对该部分信号线进行保护,对其追加dummy禁止层,禁止dummymetal插入金属线左右。如图13所示,对目标金属布线进行保护,有效防止生产厂商在生产过程中将dummy放置在高翻转信号的两测,消除dummy插入对信号线的寄生影响恶化其功耗。
步骤D:对完成自动布线的数据进行STA(StaticTimingAnalysis-静态时序分析)时序验证和/或其他验证,如果没有通过各项验证,则通过ECO进行修复直至各项验证通过。
本发明具有如下优势:
1、自动布局阶段,结合第一电路翻转报告中信号翻转频率,对芯片常规设计得布局结果进行2次优化,将高翻转频率的金属布线长度进行减短,降低线上寄生电容改善开关功耗。
2、自动布线阶段,结合第二电路翻转报告更加精准仿真出每条信号的电流大小,根据电流大小对相应信号线进行高精准度的线宽设置,减小布线宽度设置过大的而增加负载带来的开关功耗。
3、对大间距金属连线追加dummy禁止层,禁止dummy插入信号两侧,防止因为dummy介质插入后增大寄生恶化开关功耗。
本发明通过上述方法可降低发生在信号布线金属上的开关功耗20%,对整体功耗有5%~10%的功耗改善。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.降低芯片开关功耗的布局布线方法,其特征在于,该方法包括:
获取芯片常规自动布局后的数据;
采用基于时序偏移量的功耗布局优化法,对所述芯片常规自动布局后的数据进行功耗布局优化,得到优化功耗后的布局数据;
根据所述优化功耗后的布局数据进行时钟树综合,得到时钟树综合后的数据;
根据所述时钟树综合后的数据,结合金属布线规则,使用金属线与金属通孔进行逻辑器件之间的物理连接,从而完成芯片设计中后端的自动布线。
2.根据权利要求1所述的降低芯片开关功耗的布局布线方法,其特征在于,采用基于时序偏移量的功耗布局优化法,对所述芯片常规自动布局后的数据进行功耗布局优化,得到优化功耗后的布局数据,包括:
对所述芯片常规自动布局后的数据进行文件导出,得到当前寄生报告、当前电路和时序报告;
对所述当前电路进行逻辑仿真,查看逻辑仿真的波形,并确认当前电路的逻辑是否正确;同时导出当前电路中信号翻转情况作为第一电路翻转报告;
根据所述第一电路翻转报告和所述时序报告,进行相应报告解析,得到时序偏移量;
根据所述时序偏移量,采用时序路径约束方法设置新约束条件;
根据所述新约束条件进行二次自动布局,得到优化功耗后的布局数据。
3.根据权利要求2所述的降低芯片开关功耗的布局布线方法,其特征在于,还包括:
从优化功耗后的布局数据中导出对应的时序报告和寄生报告,根据对应的时序报告和寄生报告进行判断获得判断结果;
当判断结果为高频信号寄生与最初的寄生相比较未减小,则调整新约束条件,重新进行功耗布局优化;
当判断结果为时序违反,则调整新约束条件,重新进行功耗布局优化;
当判断结果为高频信号寄生减小,且满足时序要求的布局数据,则布局功耗优化结束。
4.根据权利要求2所述的降低芯片开关功耗的布局布线方法,其特征在于,所述当前寄生报告用于记载每条逻辑连线当前寄生情况;
所述当前电路用于记载前逻辑网表;
所述时序报告用于记载当前每条逻辑连线时序情况。
5.根据权利要求2所述的降低芯片开关功耗的布局布线方法,其特征在于,所述第一电路翻转报告包括仿真区间、逻辑状态为0的持续时间、逻辑状态为1的持续时间、信号翻转的总次数、不定态的时间和竞争冒险次数;
其中,所述信号翻转的总次数包括信号从0翻转到1的次数和信号从1翻转到0的次数;
所述竞争冒险次数是不计入信号翻转的总次数中。
6.根据权利要求2所述的降低芯片开关功耗的布局布线方法,其特征在于,根据所述第一电路翻转报告和所述时序报告,进行相应报告解析,得到时序偏移量,包括:
采用所述第一电路翻转报告给每条逻辑连线标记上翻转频率,通过翻转频率的不同进行第一次筛选,选出具备优化场景的逻辑电路及待进行功耗布局优化的对象器件;
判断所述对象器件中的低频信号的第一时序是否存在余量、判断所述对象器件中的高频信号的第二时序是否存在余量;
选取所述第一时序和第二时序中时最小的时序余量作为时序偏移量。
7.根据权利要求6所述的降低芯片开关功耗的布局布线方法,其特征在于,所述第一时序是建立时间时序,判断公式为:T+Skew-Data>setup,T为时钟周期,Skew为时钟偏移量,Data为数据延迟,setup为建立时间;
所述第二时序是保持时间时序,判断公式为:Data-Skew>hold,Data为数据延迟,Skew为时钟偏移量,hold为保持时间。
8.根据权利要求1所述的降低芯片开关功耗的布局布线方法,其特征在于,根据所述时钟树综合后的数据,结合金属布线规则,使用金属线与金属通孔进行逻辑器件之间的物理连接,从完成芯片设计中后端的自动布线,包括:
根据所述时钟树综合后的数据,导出时钟树综合后的当前电路;
对时钟树综合后的当前电路进行逻辑仿真,导出时钟树综合后的当前电路中信号翻转情况作为第二电路翻转报告;
根据所述第二电路翻转报告计算线宽;根据所述第二电路翻转报告记载的翻转频率,计算线与线之间的间距及使用金属层次;
根据所述线宽、线与线之间的间距及使用金属层次,设置布线规则;
根据所述布线规则,采用工具运行自动布线,得到布线完成后的数据;
并根据布线完成后的数据,对大间距金属线追加金属填充物禁止层,禁止金属填充物插入金属线两侧。
9.根据权利要求8所述的降低芯片开关功耗的布局布线方法,其特征在于,根据所述第二电路翻转报告计算线宽,包括:
将所述第二电路翻转报告带入实际版图中,并采用EDA工具仿真出每条信号线的功耗,根据功耗换算出每条信号线的电流;根据电流,再结合生产商提供的EM对照表,计算出满足EM对照表要求的最小的线宽;
根据所述第二电路翻转报告记载的翻转频率,计算线与线之间的间距,包括:
根据所述第二电路翻转报告记载的信号线的翻转频率,得出最高翻转频率的实际值,并将相同翻转频率的信号线全部提取,将提取出的信号设置两倍默认间距。
10.根据权利要求1所述的降低芯片开关功耗的布局布线方法,其特征在于,该方法还包括:
对完成自动布线的数据进行STA时序验证和/或其他验证,如果没有通过各项验证,则通过工程修改进行修复直至各项验证通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310585495.8A CN117113917A (zh) | 2023-05-23 | 2023-05-23 | 降低芯片开关功耗的布局布线方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310585495.8A CN117113917A (zh) | 2023-05-23 | 2023-05-23 | 降低芯片开关功耗的布局布线方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117113917A true CN117113917A (zh) | 2023-11-24 |
Family
ID=88797269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310585495.8A Pending CN117113917A (zh) | 2023-05-23 | 2023-05-23 | 降低芯片开关功耗的布局布线方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117113917A (zh) |
-
2023
- 2023-05-23 CN CN202310585495.8A patent/CN117113917A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7039536B2 (en) | Method and apparatus for analyzing a source current waveform in a semiconductor integrated circuit | |
US7480875B2 (en) | Method of designing a semiconductor integrated circuit | |
US8266559B2 (en) | Nonlinear driver model for multi-driver systems | |
US6651230B2 (en) | Method for reducing design effect of wearout mechanisms on signal skew in integrated circuit design | |
JPS64821B2 (zh) | ||
JP2008140821A (ja) | 半導体装置および半導体装置の設計方法 | |
JP2006154951A (ja) | 検証方法及び検証装置 | |
US20040196081A1 (en) | Minimization of clock skew and clock phase delay in integrated circuits | |
US20080250379A1 (en) | Logic circuit synthesis device | |
US7401315B2 (en) | System and method for implementing package level IP preverification for system on chip devices | |
JP2002280454A (ja) | 半導体装置の設計方法 | |
US7594210B2 (en) | Timing variation characterization | |
CN117113917A (zh) | 降低芯片开关功耗的布局布线方法 | |
TW201344481A (zh) | 晶片輸出入設計的方法 | |
US8959470B2 (en) | Integrated circuit with areas having uniform voltage drop and method therefor | |
CN116578451A (zh) | 减少由于电压降而导致的违例的方法、系统、设备、介质 | |
US7155696B2 (en) | Interconnection routing method | |
Tanaka et al. | Chip oriented target impedance for digital power distribution network design | |
US7058907B2 (en) | Reduction of cross-talk noise in VLSI circuits | |
JP2000163460A (ja) | 半導体集積回路装置の信頼性検証方法及びその配置配線方法 | |
Posser et al. | Electromigration Inside Logic Cells | |
JP2004362074A (ja) | 電子機器のemiノイズ解析方法 | |
JP3519591B2 (ja) | Lsiのタイミング劣化シミュレーション装置およびシミュレーション方法 | |
CN116757144B (zh) | 一种优化电源网络节省绕线资源的方法、系统和存储介质 | |
KR101002102B1 (ko) | 반도체 소자의 테스트 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |