全芯片互连线功耗最优的布局阶段缓冲器规划方法

文档序号:6463078阅读:253来源:国知局
专利名称:全芯片互连线功耗最优的布局阶段缓冲器规划方法
技术领域
全芯片互连线功耗最优的布局阶段缓冲器规划方法属于集成电路计算机辅助设计领域,尤其涉及互连线设计优化领域。

背景技术
随着集成电路工艺尺寸的不断缩小和集成度的不断提高,互连线的延迟已经很大程度上影响了电路的性能。为了改善互连线的延迟,一般来说需要在全局互连线中使用缓冲器。然而,这些缓冲器大大增加了功耗,使得互连线功耗成为了全芯片功耗中的重要组成部分。互连线功耗的优化成了电路设计中一个重要的考虑因素。
电路的性能取决于最慢的路径(关键路径),对于大多数大规模集成电路而言,设计中存在大量的非关键路径。在不超过关键路径延时的前提下,可以增加非关键路径的延时来改善电路的其他性能,这些非关键路径上所容许的延时增加量称之为时间松弛量。近年来,许多技术指出如果能适当放宽对互连线延迟的要求,可以通过减少缓冲器的个数以及减小缓冲器的尺寸来降低互连线的功耗。并且,互连线的功耗降低量和互连线的长度,信号翻转概率,以及容许的时间增量均有关,不同的互连线即使给予相同的时间增量,得到的功耗降低量也可能大不相同。因此,如何充分利用非关键路径中的时间松弛量来最优化整体的互连线功耗成为一个重要课题。这一问题可以简单描述为给定一个电路的拓扑结构及其布局结果(模块的引线端位置给定),找出电路的非关键路径并计算其时间松弛量,再根据电路的拓扑关系,将时间松弛量分配给能获得最大功耗降低的互连线,从而获得最优化的互连线总功耗。
长期以来,时间松弛量分配问题受到广泛的关注,人们提出了很多时间松弛量分配方法。例如,最早提出的零松弛量分配算法(Zero Slack Algorithm)将时间松弛量均匀分配给非关键路径的各段互连线,使电路中不再存在时间松弛量。然而这一算法仅仅能够保证时间松弛量全部被分配,并没有考虑功耗与时间松弛量之间的关系,分配结果不能达到整体互连线功耗最优。之后出现了多种针对模块功耗优化的时间松弛量分配算法。这些算法中的模块功耗优化模型大多基于多电源电压技术,这种方法的使用有较大的局限性一方面多电源电压会带来额外的电平转换电路的开销,而且在给定布局的情况下,这些算法会造成低电压模块的随意分布,极大增加了电源网络的设计复杂度。另一方面,现代设计中存在很多设计好了的IP模块,这些模块的电压不能随意改变。而且电源电压只能取几个分立值,这种不连续性并不能保证时间松弛量得到了充分的利用。因此,即使对于模块电压已经优化好了的电路,进一步优化互连线功耗也是非常必要的。由于模块功耗和时间松弛量的关系同互连线功耗与时间松弛量的关系不同,这些针对模块功耗优化的时间松弛量分配算法不能直接移植到互联线功耗优化上来。因此,迄今为止,还没有一种有效的方法能够有效分配时间松弛量以获取最优化互连线总功耗。


发明内容
本发明的目的在于提出一种稳定,高效,能够在布图规划中实现对缓冲器的合理规划,在不影响电路性能的前提下使得互连线功耗达到最优的工业工具。在互连延迟急剧增加的现代设计中,缓冲器的规划成为设计中的重要一环,同时互连线功耗占据整个芯片功耗的比重也日益上升。因此,考虑功耗的缓冲器规划十分必要。
本发明的特征在于,所述方法是在计算机中依次按以下步骤实现的 步骤(1).初始化 设置功耗计算用的工艺参数电源电压VDD、时钟频率fclk、单位尺寸缓冲器漏电流Ioffn、单位尺寸缓冲器短路电路Ishort, 设置缓冲器的相关参数负载电容CL、驱动输出电阻Rd、单位尺寸缓冲器输出电阻rs、单位尺寸缓冲器输入电容co、单位尺寸缓冲器输出电容cp, 设置互连线的相关参数单位长度线电容c,单位长度线电阻r, 设置功耗-时间松弛分段线性模型的相关参数各分段区间的起始位置ai,终止位置bi,单位长度互连线最优延时

表示线性区间斜率的模型参数mi、ni,以及互连线临界长度Lcrit,其中功耗-时间松弛分段线性模型为 其中slack是时间松弛量,α代表信号翻转概率,L是互连线长度; 互连线临界长度Lcrit按下式得到 步骤(2).从模块描述文件读入模块及线网信息 步骤(2.1).读入模块四角坐标,并根据此模块的四角坐标计算模块的宽、高,以及模块对应引线端的坐标; 步骤(2.2).读入所选模块的时延信息; 步骤(2.3).读入线网信息,记录模块的互联信息及输入输出关系,并按下式计算互连线的长度L以及初始时延 设互连线引线端的坐标为(x1,y1),(x2,y2), 则互连线的长度L为 L=|x1-x2|+|y1-y2|, 设互连线的初始延时dLinit为 步骤(3).根据步骤(2.2)的模块信息和互连信息,构造用以表示电路连接关系的有向无环图作为电路的逻辑拓扑图,图中的节点表示模块,而边表示模块之间的连线,并增加一个虚拟输入节点作为原有所有输入节点的输入,同时,增加一个虚拟输出节点作为原有所有输出节点的输出,虚拟节点的本征延时均记为0; 步骤(4).按以下步骤迭代分配时间松弛量 步骤(4.1).初始设置所建有向无环图中各边的状态量为1; 步骤(4.2).按以下公式计算各互连线间的时间松弛量 其中a(v)为信号实际到达模块v的时间,单位ns, a(u)为信号实际到达模块u的时间,单位ns, d(v)为信号通过模块v的本征延时,单位ns, d(u)为信号通过模块u的本征延时,单位ns, d(u,v)为信号通过模块v,u之间的互连线的延时,单位ns, r(v)为信号要求到达模块v的时间,单位ns, r(u)为信号要求到达模块u的时间,单位ns, slack(u,v)为模块v,u之间的互连线的时间松弛量,单位ns FI(v)为模块v的所有输入模块的集合, FO(v)为模块v的所有输出模块的集合, 此处设信号实际到达虚拟输入模块的时间为0,信号要求到达虚拟输出模块的时间为信号实际到达该模块的时间; 步骤(4.3).对于时间松弛量为0的互连线,将该互连线的状态量置为0,一旦所有互连线的状态量均为0,迭代过程结束; 步骤(4.4).按下式计算出所建电路的逻辑拓扑图中各边的权重w 即w是ΔP(α,L,slack)对slack的偏导数; 步骤(4.5).利用预流推进方法得到逻辑拓扑图的最大割集,对此割集中的每条边按以下步骤分配时间松弛量 步骤(4.5.1).当互连线中不插入缓冲器时,该互连线有最大延时dLmax 其中Rd为驱动输出电阻(Ω),CL为负载电容(fF), 且处于状态i的互连线的延时有一个上限约束dLidLi=dLinit(1+fi), fi是功耗-时间松弛分段线性模型中对应线性区间的右端点取值,dLmin是步骤2中得到的互连线的初始延时; 设当前状态下每条边当前的延时为dLcurrent,slack为步骤4.2中得到的模块之间互连线的时间松弛量, 则该边的延时应当更新为dLupdated dLupdated=min((dLcurrent+slack),dLmax,dLi); 步骤(4.5.2).若dLupdated被赋值为dLcurrent+slack或者dLmax,则该互连线状态量改写为0,该互连线不能再分配时间松弛量; 步骤(4.5.3).若dLupdated被赋值为dLi,则该互连线状态量在原有基础上加1; 步骤(4.6).对于每一段互连线,根据时间松弛量分配结果计算所需要的缓冲器的尺寸s和个数N并输出,其公式如下 其中, k3=ln3·αVDDIshortfclk, 其中,s为缓冲器尺寸,即单位缓冲器大小的倍数, L为互连线长度,um, α为信号翻转概率, VDD为电源电压,V, fclk为工作频率,GHz, l为缓冲器间距,um, co为单位缓冲器输入电容,fF, c为单位长度线电容,fF/um, cp为单位缓冲器输出电容,fF, Ioffn为单位缓冲器漏电电流,uA, Ishort为单位缓冲器短路电流,uA, f为时间惩罚,用实际延时超出最优延时的百分比(%)表示,

为单位长度互连线最优延时,ns,设定值; 缓冲器的个数N按照下式求得


表示向下取整 步骤(4.7).由设定每一段互连线的功耗,计算该电路整体互连线功耗, 2.根据权利要求1所述的全芯片互连线功耗最优化的缓冲器规划方法,其特征在于,所述的功耗-时间松弛量分段线性模型按以下步骤求出 a)设定长度为L的互连线的功耗P的计算公式 其中,为动态功耗,

为短路功耗, 为漏电功耗, 其中, k3=ln3·αVDDIshortfclk, 其中,L为互连线长度,um, α为信号翻转概率, VDD为电源电压,V, fclk为工作频率,GHz, s为缓冲器尺寸,即单位缓冲器大小的倍数, l为缓冲器间距,um, co为单位缓冲器输入电容,fF, c为单位长度线电容,fF/um, cp为单位缓冲器输出电容,fF, Ioffn为单位缓冲器漏电电流,uA, Ishort为单位缓冲器短路电流,uA, f为时间惩罚,用实际延时超出最优延时的百分比(%)表示,

为单位长度互连线最优延时,ns,设定值; b)按计算互连线的临界长度Lcrit; c)当互联线长度L大于Lcrit时,在设定的时间惩罚f,信号翻转概率α下,用步骤(a)中的公式求得功耗降低量并线性拟合其与互连线长度L之间的函数关系; d)在L大于Lcrit情况下,当时间惩罚f,互连线长度L设定时,线性拟号信号翻转概率α与功耗降低量之间的函数关系。
e)在步骤(c)的信号翻转概率α、步骤(d)的互连线长度L下,分段线性处理时间惩罚f与功耗降低量ΔP之间的关系,得到功耗-时间松弛量分段线性模型,用下式表示 其中slack是时间松弛量,i代表该互连线所分配的时间松弛量所处的不同区间,ai、bi是每个线性区间的两个端值,mi、ni是拟合得到的模型参数,

为单位长度互连线最优延时,设定值。
试验结果表明本发明在不影响电路延时性能的前提下,大大改善了互连线总功耗,并且本算法有很好的执行效率。



图1.互连线信号翻转概率和功耗降低量关系的线性拟合结果及误差;图1(a)为线性拟合曲线,图1(b)为拟合值与实验值的误差曲线,最大误差为2.2%,平均误差为0.3%; 图2.互连线时间惩罚和功耗降低量关系的分段线性拟合结果及误差;图2(a)为线性拟合曲线,图2(b)为拟合值与实验值的误差曲线,最大误差为4.9%,平均误差为1.7%; 图3.静态时序分析示意图,模块C的信号实际到达时间a(C)和信号要求到达时间r(C),以及互连线AC的时间松弛量slack(A,C)满足如下关系 a(C)=max((a(A)+d(A)+d(A,C)),(a(B)+d(B)+d(B,C))); r(C)=min((r(D)-d(C)-d(C,D)),(r(E)-d(C)-d(C,E))); slack(A,C)=r(C)-a(A)-d(A)-d(A,C); 其中a(A),a(B)表示模块A,B的信号实际到达时间,r(D),r(E)表示模块D,E的信号要求到达时间,d(A),d(B),d(C)表示模块A,B,C的本征延时,d(A,C),d(B,C),d(C,D),d(C,E)表示互连线AC,BC,CD,CE的本征延时。
图4.时间松弛量分配算法流程。

具体实施例方式 本部分以国际基准测试电路示例GSRC中的n30做示例,采用.18um工艺参数,依据上文描述的步骤对本发明进行阐释。
下表为一些工艺相关参数的定义和数值 表一工艺参数列表 1.建立功耗-时间松弛量分段线性模型,假设分段线性模型的误差不超过5% a)按照如下方式计算长度为L的互连线的功耗 其中,为动态功耗,

为短路功耗, 为漏电功耗, 其中, k3=ln3·αVDDIshortfclk, 其中,L为互连线长度,um, α为信号翻转概率, VDD为电源电压,V, fclk为工作频率,GHz, s为缓冲器尺寸,即单位缓冲器大小的倍数, l为缓冲器间距,um, co为单位缓冲器输入电容,fF, c为单位长度线电容,fF/um, cp为单位缓冲器输出电容,fF, Ioffn为单位缓冲器漏电电流,uA, Ishort为单位缓冲器短路电流,uA, f为时间惩罚,用实际延时超出最优延时的百分比(%)表示,

为单位长度互连线最优延时,ns,设定值; b)按计算互连线的临界长度Lcrit;可求得临界长度为6.67mm; c)假定互连线翻转概率α为0.15,时间惩罚f为10%,用步骤(a)中的公式求得功耗降低量并线性拟合其与互连线长度L之间的函数关系如下关系 d)假设互连线长度为15mm,时间惩罚f为10%,用步骤(a)中的公式求得功耗降低量并线性拟合其与翻转概率α之间的关系如下ΔP=1.14α(mW) 误差最大2.2%,平均0.3%,拟合结果和误差曲线如附图1所示; e)假设互连线长度为15mm,翻转概率α为0.15,分段线性处理f与ΔP之间的关系,可将f区间分为5段[0,1%),[1%,4%),[4%,10%),[10%,60%),(60%,∞)。综合前两步分析,可以得到功耗-时间松弛量分段线性模型如下, 其中各参数的取值如下表 表二,分段线性模型各参数如下 经过蒙特卡洛分析,整个分段线性模型的误差最大4.9%,平均1.7%。拟合结果如图2所示; 2.对计算机程序进行初始化,依据表一和表二设置并输入以下参数 a)设置功耗计算相关的工艺参数,包括电源电压,时钟频率,单位尺寸缓冲器漏电流,单位尺寸缓冲器短路电流; b)设置缓冲器相关的各项性能参数,包括负载电容,驱动输出电阻,单位尺寸缓冲器输出电阻,单位尺寸缓冲器输入电容,单位尺寸缓冲器输出电容; c)设置互连线相关的各项性能参数,包括单位长度线电容,单位长度线电阻; d)设置功耗-时间松弛分段线性模型的相关参数,包括各分段区间的起止位置ai,bi,各区间线段的斜率mi,ni,单位长度互连线最优延时

以及互连线临界长度Lcrit; 3.计算机从模块描述文件读入模块及线网信息 a)读入模块四角坐标,并根据模块四角坐标计算模块的宽、高,以及模块对应引线端的坐标;测试模块n30总共含有30个模块; b)读入模块时延信息,试验中根据.18um工艺基本单元库的延时信息随机产生n30模块时延信息并读入; c)读入线网信息。本试验中对n30线网进行了处理,首先将多端线网拆分为二端线网,并指定其中一端为输入端,其余均为输出端,得到181条互连线;对于每条互连线,按下式计算互连线长度和初始延时 设互连线引线端的坐标为(x1,y1),(x2,y2), 则互连线的长度L为 L=|x1-x2|+|y1-y2|, 互连线的初始延时dLinit为 4.建立拓扑约束图 根据模块信息和互连信息,整理出电路的逻辑拓扑,构造出表示电路连接关系的有向无环图,其中图中的节点表示电路的模块,图中的边表示模块之间的互连线,并增加一个虚拟输入节点作为原有所有输入节点的输入,同时增加一个虚拟输出节点作为原有所有输出节点的输出,虚拟节点的本征延时均记为0;实例所得到图中共含有32个节点,包括30个内部节点表示30个模块,1个虚拟输入节点,还有1个虚拟输出节点。
5.按以下步骤迭代分配时间松弛量并输出缓冲器规划结果 a)初始设置所建有向无环图中各边的状态量为1; b)按以下公式计算各互连线间的时间松弛量 其中a(v)为信号实际到达模块v的时间,单位ns, a(u)为信号实际到达模块u的时间,单位ns, d(v)为信号通过模块v的本征延时,单位ns, d(u)为信号通过模块u的本征延时,单位ns, d(u,v)为信号通过模块v,u之间的互连线的延时,单位ns, r(v)为信号要求到达模块v的时间,单位ns, r(u)为信号要求到达模块u的时间,单位ns, slack(u,v)为模块v,u之间的互连线的时间松弛量,单位ns FI(v)为模块v的所有输入模块的集合, FO(v)为模块v的所有输出模块的集合, 此处设信号实际到达虚拟输入模块的时间为0,信号要求到达虚拟输出模块的时间为信号实际到达该模块的时间;如附图4所示; c)对于时间松弛量为0的互连线,将该互连线的状态量置为0,一旦所有互连线的状态量均为0,迭代过程结束; d)按下式计算出所建电路的逻辑拓扑图中各边的权重w 即w是ΔP(α,L,slack)对slack的偏导数; e)利用预流推进方法得到逻辑拓扑图的最大割集。对此割集中的每条边按以下规律分配时间松弛量 1)当互连线中不插入缓冲器时,该互连线有最大延时dLmax 其中Rd为驱动输出电阻(Ω),CL为负载电容(fF), 且处于状态i的互连线的延时有一个上限约束dLi dLi=dLinit(1+fi), fi是功耗-时间松弛分段线性模型中对应线性区间的右端点取值,dLmin是步骤2中得到的互连线的初始延时; 设当前状态下每条边当前的延时为dLcurrent,slack为步骤4.2中得到的模块之间互连线的时间松弛量, 则该边的延时应当更新为dLupdated dLupdated=min((dLcurrent+slack),dLmax,dLi); 2)若dLupdated被赋值为dLcurrent+slack或者dLmax,则该互连线状态量改写为0,该互连线不能再分配时间松弛量; 3)若dLupdated被赋值为dLi,则该互连线状态量在原有基础上加1; f).对于每一段互连线,根据时间松弛量分配结果计算所需要的缓冲器的尺寸s和个数N并输出,其公式如下


为向下取整 g).由每一段互连线的功耗,计算该电路整体互连线功耗,n30优化后的总功耗为239.2mW,与优化之前相比功耗降低了28.6%; 除了n30,我们对GSRC示例中的其他电路(n50~n300),以及一些其他高层次综合示例电路进行了测试,结果如下表所示。本发明测试时所应用的硬件是一台1.83GHz,内存1GB的PC,所有示例电路均能在几个ms内得出结果。
表二示例电路测试结果 综上,本发明所述的缓冲器规划算法有以下几个优点 1.充分利用了电路非关键路径中的时间松弛量,使得这些时间松弛量能够用于最优化互连线总功耗。
2.只需要一次性确定功耗-时间松弛量分段线性模型,之后的时间松弛量分配算法具有很高的执行效率。
3.具有工业应用价值,可以用于集成电路设计过程中模块级布图规划/布局中的互连规划问题。
权利要求
1.全芯片互连线功耗最优化的缓冲器规划方法,其特征在于,所述方法是在计算机中依次按以下步骤实现的
步骤(1).初始化
设置功耗计算用的工艺参数电源电压VDD、时钟频率fclk、单位尺寸缓冲器漏电流Ioffn、单位尺寸缓冲器短路电路Ishort,
设置缓冲器的相关参数负载电容CL、驱动输出电阻Rd、单位尺寸缓冲器输出电阻rs、单位尺寸缓冲器输入电容co、单位尺寸缓冲器输出电容cp,
设置互连线的相关参数单位长度线电容c,单位长度线电阻r,
设置功耗-时间松弛分段线性模型的相关参数各分段区间的起始位置ai,终止位置bi,单位长度互连线最优延时
表示线性区间斜率的模型参数mi、ni,以及互连线临界长度Lcrit,其中功耗-时间松弛分段线性模型为
其中slack是时间松弛量,α代表信号翻转概率,L是互连线长度;
互连线临界长度Lcrit按下式得到
步骤(2).从模块描述文件读入模块及线网信息
步骤(2.1).读入模块四角坐标,并根据此模块的四角坐标计算模块的宽、高,以及模块对应引线端的坐标;
步骤(2.2).读入所选模块的时延信息;
步骤(2.3).读入线网信息,记录模块的互联信息及输入输出关系,并按下式计算互连线的长度L以及初始时延
设互连线引线端的坐标为(x1,y1),(x2,y2),
则互连线的长度L为
L=|x1-x2|+|y1-y2|,
设互连线的初始延时dLinit为
步骤(3).根据步骤(2.2)的模块信息和互连信息,构造用以表示电路连接关系的有向无环图作为电路的逻辑拓扑图,图中的节点表示模块,而边表示模块之间的连线,并增加一个虚拟输入节点作为原有所有输入节点的输入,同时,增加一个虚拟输出节点作为原有所有输出节点的输出,虚拟节点的本征延时均记为0;
步骤(4).按以下步骤迭代分配时间松弛量
步骤(4.1).初始设置所建有向无环图中各边的状态量为1;
步骤(4.2).按以下公式计算各互连线间的时间松弛量
其中a(v)为信号实际到达模块v的时间,单位ns,
a(u)为信号实际到达模块u的时间,单位ns,
d(v)为信号通过模块v的本征延时,单位ns,
d(u)为信号通过模块u的本征延时,单位ns,
d(u,v)为信号通过模块v,u之间的互连线的延时,单位ns,
r(v)为信号要求到达模块v的时间,单位ns,
r(u)为信号要求到达模块u的时间,单位ns,
slack(u,v)为模块v,u之间的互连线的时间松弛量,单位ns
FI(v)为模块v的所有输入模块的集合,
FO(v)为模块v的所有输出模块的集合,
此处设信号实际到达虚拟输入模块的时间为0,信号要求到达虚拟输出模块的时间为信号实际到达该模块的时间;
步骤(4.3).对于时间松弛量为0的互连线,将该互连线的状态量置为0,一旦所有互连线的状态量均为0,迭代过程结束;
步骤(4.4).按下式计算出所建电路的逻辑拓扑图中各边的权重w
即w是ΔP(α,L,slack)对slack的偏导数;
步骤(4.5).利用预流推进方法得到逻辑拓扑图的最大割集,对此割集中的每条边按以下步骤分配时间松弛量
步骤(4.5.1).当互连线中不插入缓冲器时,该互连线有最大延时dLmax
其中Rd为驱动输出电阻(Ω),CL为负载电容(fF),
且处于状态i的互连线的延时有一个上限约束dLi
dLi=dLinit(1+fi),
fi是功耗-时间松弛分段线性模型中对应线性区间的右端点取值,dLmin是步骤2中得到的互连线的初始延时;
设当前状态下每条边当前的延时为dLcurrent,slack为步骤4.2中得到的模块之间互连线的时间松弛量,
则该边的延时应当更新为dLupdated
dLupdated=min((dLcurrent+slack),dLmax,dLi);
步骤(4.5.2).若dLupdated被赋值为dLcurrent+slack或者dLmax,则该互连线状态量改写为0,该互连线不能再分配时间松弛量;
步骤(4.5.3).若dLupdated被赋值为dLi,则该互连线状态量在原有基础上加1;
步骤(4.6).对于每一段互连线,根据时间松弛量分配结果计算所需要的缓冲器的尺寸s和个数N并输出,其公式如下
其中,k3=ln3·αVDDIshortfclk,
其中,s为缓冲器尺寸,即单位缓冲器大小的倍数,
L为互连线长度,um,
α为信号翻转概率,
VDD为电源电压,V,
fclk为工作频率,GHz,
l为缓冲器间距,um,
co为单位缓冲器输入电容,fF,
c为单位长度线电容,fF/um,
cp为单位缓冲器输出电容,fF,
Ioffn为单位缓冲器漏电电流,uA,
Ishort为单位缓冲器短路电流,uA,
f为时间惩罚,用实际延时超出最优延时的百分比(%)表示,
为单位长度互连线最优延时,ns,设定值;
缓冲器的个数N按照下式求得
表示向下取整
步骤(4.7).由设定每一段互连线的功耗,计算该电路整体互连线功耗,
根据权利要求1所述的全芯片互连线功耗最优化的缓冲器规划方法,其特征在于,所述的功耗-时间松弛量分段线性模型按以下步骤求出
设定长度为L的互连线的功耗P的计算公式
其中,为动态功耗,
为短路功耗,
为漏电功耗,
其中,k3=ln3·αVDDIshortfclk,
其中,L为互连线长度,um,
α为信号翻转概率,
VDD为电源电压,V,
fclk为工作频率,GHz,
s为缓冲器尺寸,即单位缓冲器大小的倍数,
l为缓冲器间距,um,
co为单位缓冲器输入电容,fF,
c为单位长度线电容,fF/um,
cp为单位缓冲器输出电容,fF,
Ioffn为单位缓冲器漏电电流,uA,
Ishort为单位缓冲器短路电流,uA,
f为时间惩罚,用实际延时超出最优延时的百分比(%)表示,
为单位长度互连线最优延时,ns,设定值;
按计算互连线的临界长度Lcrit;
c)当互联线长度L大于Lcrit时,在设定的时间惩罚f,信号翻转概率α下,用步骤(a)中的公式求得功耗降低量并线性拟合其与互连线长度L之间的函数关系;
d)在L大于Lcrit情况下,当时间惩罚f,互连线长度L设定时,线性拟号信号翻转概率α与功耗降低量之间的函数关系。
e)在步骤(c)的信号翻转概率α、步骤(d)的互连线长度L下,分段线性处理时间惩罚f与功耗降低量ΔP之间的关系,得到功耗-时间松弛量分段线性模型,用下式表示
其中slack是时间松弛量,i代表该互连线所分配的时间松弛量所处的不同区间,ai、bi是每个线性区间的两个端值,mi、ni是拟合得到的模型参数,
为单位长度互连线最优延时,设定值。
全文摘要
全芯片互连线功耗最优化的布局阶段缓冲器规划方法属于互连线设计优化技术领域,其特征在于,含有以下步骤读入模块信息及互连线信息,建立电路的逻辑拓扑,边状态初始化为1,计算模块间互连线的时间松弛量,计算逻辑拓扑图中各边权重,利用预流推进方法得到逻辑拓扑图的最大割集,对该割集中的每条边分配时间松弛量,对于每一段互连线,根据时间松弛量分配结果,计算所需要的缓冲器尺寸和个数,以及电路消耗的总互连线功耗。本发明在不影响电路延时性能的前提下,降低了互连线总功耗,具有很高的执行效率,具有工业应用价值。
文档编号G06F17/50GK101241523SQ200810101598
公开日2008年8月13日 申请日期2008年3月10日 优先权日2008年3月10日
发明者马昱春, 贺祥庆, 洪先龙, 蔡懿慈, 翔 邱 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1