CN1996318B - 用于半导体芯片的宏摆置的方法与多尺寸混合摆置方法 - Google Patents

用于半导体芯片的宏摆置的方法与多尺寸混合摆置方法 Download PDF

Info

Publication number
CN1996318B
CN1996318B CN2006101565940A CN200610156594A CN1996318B CN 1996318 B CN1996318 B CN 1996318B CN 2006101565940 A CN2006101565940 A CN 2006101565940A CN 200610156594 A CN200610156594 A CN 200610156594A CN 1996318 B CN1996318 B CN 1996318B
Authority
CN
China
Prior art keywords
grand
dense accumulation
tree
putting
binary
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.)
Expired - Fee Related
Application number
CN2006101565940A
Other languages
English (en)
Other versions
CN1996318A (zh
Inventor
陈东杰
喻秉鸿
张耀文
黄福助
刘典岳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN1996318A publication Critical patent/CN1996318A/zh
Application granted granted Critical
Publication of CN1996318B publication Critical patent/CN1996318B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供一种用于半导体芯片的宏摆置的方法与多尺寸混合摆置方法。其中用于半导体芯片的宏摆置的方法包括:产生一k阶二元多向密集堆积树,所述k阶二元多向密集堆积树包括k个分支节点以及k+1株二元子密集堆积树,所述k+1株二元子密集堆积树分别代表不同角落的堆积型式,且每一所述二元子密集堆积树包括一组宏;以及将每一所述二元子密集堆积树的宏往一摆置区域的对应角落中进行密集堆积;其中,每一所述分支节点都对应至所述k阶二元多向密集堆积树的一阶层,且每一所述二元子密集堆积树对应至一分支节点,每一所述二元子密集堆积树堆积顺序是依据其对应的分支节点的阶层来决定,分支节点所在的阶层越小,对应的二元子密集堆积树越早进行最密堆积。

Description

用于半导体芯片的宏摆置的方法与多尺寸混合摆置方法
技术领域
本发明有关于集成电路的多尺寸混合设计,特别是有关于半导体芯片、宏摆置的方法、多向密集堆积宏摆置器与多尺寸混合摆置设计方法(semiconductorchip,method of macro placement,MPT macro placer,and mixed-size placementdesign method)。
背景技术
由于使用了智能财产(intellectual ProPerty;IP)模块以及内嵌式存储器,现代的超大规模集成电路(VLSI)芯片通常包括许多的宏,宏与标准单元(standardcell)的多尺寸混合摆置已在不同的应用中广受欢迎,于是不同的公开文献中揭露了许多多尺寸混合摆置算法。
第一种型式的多尺寸混合摆置算法同时摆置宏与标准单元,其通常不考虑宏的方向且需要强大的宏除错器(macro legalizer)于宏或单元未适当分布时将重叠移除,C.-C.Chang等人于2003年在Proceedings of ACM/IEEE Asia SouthPacific Design Automation Conference揭露了一种仿真退火(simulated annealing)式的多阶摆置器mPG-MS,其一层一层地由大宏至小宏依序摆置,A.Khatkhate等人于2004年在Proceedings of ACM International Symposium on Physical Design揭露了一种最少切割(min-cut)式摆置器风水,其使用部分切割(fractional cut)方式同时考虑标准单元与宏,使得水平切割线不会与列的边界切齐,此外,尚有数种分析方式被提出来达成多尺寸混合摆置。A.B.Kahng等人于2004年在IEEE/ACM International Conference on Computer-Aided Design揭露了APlace,其基于非线性规划(non-linear programming)使用一钟形(bell-shaped)位能函数(potential function)来考虑宏的高度/宽度,以决定可以适当摆置宏与单元的全面摆置,T.Chan等人于2005年在Proceedings of ACM International Symposium onPhysical Design揭露了mPL,其使用广义力度导向(generalized force-directed)方式来进行摆置,B.Yao等人于2005年在Proceedings of ACM InternationalSymposium on Physical Design揭露了UPlace,其使用二次规划(quadraticprogramming)以及一离散余弦转换方法来适当地进行摆置,且还使用区域改良(zone refinement)法来进行除错。
第二种型式的摆置法结合了平面规划(floorplanning)与摆置技术,一种于2004年在IEEE/ACM International Conference on Computer-Aided Design揭露的最少切割平面规划摆置器(floorplacer)Capo即为一例,当必要的时候,其在进行最少切割摆置时,会利用固定轮廓(fixed-outline)平面规划来找到宏的可用位置,平面规划摆置嵌入摆置流程中可以考虑到宏的摆置方向并可轻易地找到无误的摆置方案。
第三种型式的摆置法将多尺寸混合摆置分为两个阶段,其分别为宏摆置与标准单元摆置,宏的位置先决定后,标准单元再摆置于其余的区域,S.N.Adya于2005年在ACM Transactions on Design Automation of Electronic Systems揭露了此组合式的技术,一标准单元摆置器被用来得到初步的摆置,依据该初步摆置结果,标准单元分别群组为数个不定型宏(soft macro),然后再利用固定轮廓平面规划找到无重叠(overlap-free)的宏摆置,其后,宏的位置固定,而标准单元摆置器则将标准单元重新在其它的空间进行摆置,与其它的型式相较,由于只要可获得无重叠的宏摆置,两阶段的多尺寸混合摆置便可保证有可行的摆置方案,因此较为可靠,再者,宏方向与摆置的限制条件,如:预先放置宏(pre-placed macro)与摆置挡块(placement blockage),可轻易地被处理。
发明内容
依据本发明的一实施例的一种用于半导体芯片的宏摆置的方法包括产生一k阶二元多向密集堆积树,所述k阶二元多向密集堆积树包括k个分支节点以及k+1株二元子密集堆积树,所述k+1株二元子密集堆积树分别代表不同角落的堆积型式,且每一所述二元子密集堆积树包括一组宏;以及将每一所述二元子密集堆积树的宏往一摆置区域的对应角落中进行密集堆积;其中,每一所述分支节点都对应至所述k阶二元多向密集堆积树的一阶层,且每一所述二元子密集堆积树对应至一分支节点,每一所述二元子密集堆积树堆积顺序是依据其对应的分支节点的阶层来决定,分支节点所在的阶层越小,对应的二元子密集堆积树越早进行最密堆积。
依据本发明的又一实施例的一种多尺寸混合摆置设计流程包括读取LEF/DEF格式的输入文件、以一传统的宏摆置器进行初步的宏摆置、以本发明的多向密集堆积宏摆置器进行细部的宏摆置以及产生DEF格式的输出文件。
本发明提供一种多向密集堆积宏摆置器,其可将宏摆置在一摆置区域的边界附近,并将中央区域保留给标准单元,此多向密集堆积宏摆置器仅需要摊销式线性时间(amortized linear time)将多向密集堆积树转换成对应的宏摆置,因此在运算上以及将二元树进行密集堆积都很迅速,于是,由仿真退火可有效率地找寻到宏摆置方案,使得多向密集堆积宏摆置器可进行有巨大的宏以及多量宏的多尺寸混合摆置,由于宏的方向与宏间的间隔已被考虑,多向密集堆积宏摆置器可产生比传统多尺寸混合摆置器更短的线长且也不会过度拥挤,多向密集堆积宏摆置器可轻易地在不同的摆置限制条件(如:预先放置区块、角落区块以及摆置挡块)下正常工作,多向密集堆积宏摆置器也可与当前的标准单元摆置器结合,并根据两阶段的多尺寸混合摆置流程得到较佳的多尺寸混合摆置方案。
附图说明
图1所示为一多尺寸混合摆置流程图。
图2所示为一密集堆积树以及其所对应的四种型式的摆置。
图3所示为一般的多向密集堆积树。
图4所示为一具有左下密集堆积树与右下密集堆积树的多向密集堆积树进行密集堆积的范例。
图5A所示为具有4株子密集堆积树的多向密集堆积树。
图5B所示为所有的节点经过处理后的宏摆置示意图。
图6所示为群组矩阵的三种尺寸。
图7所示为处理摆置挡块的流程。
图8所示为切割为数个矩形区块的方矩形区块。
图9A所示为宏摆置的结果以及其上方轮廓与下方轮廓。
图9B所示为对应至图9A的宏摆置面积。
图10所示为宏摆置的流程图。
主要组件符号说明:
n0、n1、n2、n3、nk~节点;
b0、b1、b2、b3、bk~区块;
T0、T1、T2、T3、Tk~子密集堆积树。
具体实施方式
为让本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并配合附图,作详细说明如下:
图1所示为多尺寸混合摆置流程图,依据本发明的设计策略的特点功能的一为将宏沿芯片的周围摆置并将芯片的中央保留给标准单元,由于宏通常很大且在宏里面有绕线挡块(routing blockage),假如宏被摆置在芯片的中央,会严重影响到绕线,由于传统的平面规划技术将所有的宏密集堆积于一个角落,因此无法直接适用于宏摆置的问题,为了克服此一问题,源于密集堆积树的一种新的多向密集堆积树的平面规划表示法被提出以将宏摆置在芯片的周围。
密集堆积树为一用以仿真切割或非切割(slicing or non-slicing)平片规划的二元树状图,密集堆积树的每一节点对应至一宏区块,密集堆积树有四种型式的密集堆积,BL、TL、TR、BR密集堆积分别将宏区块分别往左下、左上、右上、右下角落进行密集堆积。
图2为一密集堆积树以及其所对应的四种型式的摆置,假设(Xcorner,ycorner)为角落所在的坐标,(xi,yi)为区块bi的左下坐标,且wi(hi)为区块bi的宽度与高度,密集堆积树的根坐标为
左下密集堆积的(cx,cy);
左上密集堆积的(cx,cy-hroot);
右上密集堆积的(cx-wroot,cy-hroot);以及
右下密集堆积的(cx-wroot,cy)。
假若节点nj为节点ni的右分支节点,则区块bj
右侧最低的相邻区块,且xj=xi+wi(左下密集堆积);
右侧最高的相邻区块,且xj=xi+wi(左上密集堆积);
左侧最高的相邻区块,且xj=xi-wj(右上密集堆积);
左侧最低的相邻区块,且xj=xi-wj(右下密集堆积)。
假若节点nj为节点ni的左分支节点,则区块bj的x-轴坐标定义为
xj=xi(左下密集堆积);
xj=xi(左上密集堆积);
xj=xi+wi-wj(右上密集堆积);
xj=xi+wi-wj(右下密集堆积)。
对左下密集堆积与右下密集堆积而言,区块bj在区块bi之上,而对左上密集堆积与右上密集堆积而言,区块bj在区块bi之下,因此,对一密集堆积树而言,所有的区块的x轴坐标可由依线性时间将密集堆积树穿越一遍而决定,再者,y轴坐标可由依分期常态时间的轮廓数据结构(相似方法可见于2000年Proceedings of the ACM/IEEE Design Automation Conference第458-463页的Anew representation for non-slicing floorplans)计算而得,因此,将密集堆积树转换为对应摆置的复杂度为分期线性时间,需注意的是B*-tree平面规划表示为左下密集堆积树。
多向密集堆积树结合了数株位于不同角落的不同堆积型式的密集堆积树,图3所示为一般的多向密集堆积树的范例之一,在多向密集堆积树中有k个干节点(stem node)以结合k+1株子密集堆积树,为便利起见以及易于建构,一右出干(right-skewed stem)被使用来结合子密集堆积树,且子密集堆积树的顺序可依据其母节点(parent node)的阶层而决定,由于密集堆积树使用深度优先搜寻(depth-first search;DFS)顺序,阶层越小,子密集堆积树越早进行密集堆积,假若两子密集堆积树的母节点阶层相同,位于左侧的子株子密集堆积树会先进行密集堆积,一般的多向密集堆积树可用以仿真任何的方矩形(rectilinear)平面规划区域,且每一子密集堆积树会往一凸面角落(convex corner)进行密集堆积。
相同地,可使用多向密集堆积树的深度优先搜寻来决定各区块的x轴坐标,为了计算y轴坐标,下方轮廓跟上方轮廓固定,下方轮廓跟上方轮廓分别依据方矩形区域的下侧与上侧而定,所有的左下与右下密集堆积树使用一下方轮廓数据结构,而所有的左上与右上密集堆积树使用一上方部轮廓数据结构,图4所示为一具有左下密集堆积树与右下密集堆积树的多向密集堆积树进行密集堆积的范例,由于轮廓会保留空间给先进行密集堆积的区块,使用相同轮廓数据结构的密集堆积树可产生无重叠(overlap-free)的摆置,因此,左下/右下密集堆积树只会与左上/右上密集堆积树有所重叠,然而这种摆置方案是不可行的,因此需被舍弃。
对一般的矩形超大规模集成电路芯片区域而言,通常使用具有四株子密集堆积树的多向密集堆积树来处理,其范例如图5A所示,为了得到对应的宏摆置,多向密集堆积树从根部(root)n0依深度优先搜寻(depth-first search;DFS)顺序处理,由于n0为一干节点,因此不作处理而继续流程,接着下来,n0的左侧子节点n3为左下密集堆积树的根,所以区块b3被摆置在左下角落,由于节点n3并无左侧子节点,所以接着处理节点n4,并依此类推,在此范例中,所有子密集堆积树的处理顺序为左下密集堆积树、左上密集堆积树、右上密集堆积树、右下密集堆积树,当所有的节点经过处理后,宏摆置便如图5B所示。
此外摆置问题的难度可使用宏的分群群组来加以简化,在设计阶层架构(design hierarchy)中,相同群组内具有相同高度/宽度的宏可形成群组,这些宏通常具有密切的关联,使用宏的分群群组不仅可更有效地利用面积,也可以将密切关联的宏更紧密地进行摆置,只有不会有面积被浪费的群组维度(clusterdimension),图6为有四个区块的群组的范例,其有三种可能的群组矩阵:1×4、2×2与4×1。
当去群组化(declustering)时,区块便依据现有的群组矩阵来摆置,同时分支界限(branch and bound)方法则被使用来依据摆置成本(placement cost)决定区块的最佳排序。
使用者会定义一些摆置挡块(placement blockage),任何宏都不得与这些挡块有所重叠,在进行密集堆积时,加入一新的宏区块时,需同时确认是否与挡块有所重叠,假若有重叠,则区块的y轴坐标需移动到不会重叠的位置,图7为一范例,一新的区块b2被加入,而且会与摆置挡块重叠,因此区块b2上移以避免重叠发生,而轮廓也依据区块b2的位置重新更新,预先放置宏(pre-placed macro)会被视为摆置挡块,因此不会有对应的节点产生于多向密集堆积树中,如此可确保预先放置宏的位置。
角落宏如后所述,模拟区块同常被固定在角落作为角落宏,对应于角落区块的节点会固定为子密集堆积树的根,如此,角落宏便固定在角落。
方矩形宏如后所述,针对树状平面规划(tree-based floorplanning),一已知的方法(可见G.-M.Wu,Y.-C.Chang,and Y.-W.Chang等人于2003年ACMTrans.on Design Automation of Electronic Systems的188-202页发表的Rectilinear block placement using B*-trees)可被采用来处理方矩形宏,一方矩形宏可被切割为数个矩形区块,依据树状拓朴(tree topology)产生位置限制(简写为LC),进行密集堆积时,未对齐(misalignment)的状况会被修正以维持方矩形区块的形状,如图8的范例所示,方矩形区块被切割为三个矩形区块,且节点n1、n2与n3维持了位置限制的关系。
多向密集堆积树的运算如下所述,多向密集堆积树可由下列的运算进行扰动而得到另一多向密集堆积树:
运算1:将区块(群组)旋转;
运算2:将群组进行尺寸调整;
运算3:将子密集堆积树内的一节点移动到另一处;
运算4:将一或两株子密集堆积树的两节点互换;
运算5:将两株子密集堆积树互换。
运算1将一节点的区块(群组)旋转,运算2使得一群组的群组尺寸改变,运算1与运算2不会改变多向密集堆积树的结构,运算3使得一子密集堆积树内的一节点被选定并被移动到相同或相异子密集堆积树的另一处,运算4使一或两株子密集堆积树的两节点被选定并互换,运算5使两株子密集堆积树互换,也使得两株子密集堆积树进行密集堆积的顺序互换,需注意的是多向密集堆积树的干结构是固定的,且不受任一种运算的影响。
宏摆置的评估如后所述,为了分辨出宏摆置结果的品质,宏摆置的成本F定义如后:Φ=αA+βW+γD+δO+εT,其中A为宏摆置的面积,W为总线长,D为总宏位移,O为垂直重叠长度,且α、β、γ以及δ为使用者定义的权重参数(weighting parameter),宏摆置的面积、线长、宏位移以及垂直重叠长度会在后续段落说明。
宏摆置的面积为下方轮廓以下的面积加上上方轮廓以上的面积,如图9A所示,轮廓以粗的虚线描绘,而对应的宏摆置面积如图9B所示,将宏摆置面积最小化可以必免产生太多被宏包围的岛状标准单元区域,这种区域的绕线很难绕往芯片的中央,其因为宏区块上有取多绕线的挡块,抑或者绕线会变得较为拥塞,再者,这种区域内的标准单元需要使用较长的绕线路径方能连接到位于芯片中央的标准单元,而使得速度劣化。
有关线长的部分,由于在摆置时只有宏被考虑到,电路的绕线表(netlist)无法直接使用,而使用设计阶层,且产生在同一设计阶层群组中的宏区块之间的虚拟网(pseudo net),因此,将总线长加以最短化可以使得同一设计阶层群组中的宏区块更加紧密。
宏摆置受到全面摆置(global placement)结果的导引,全面摆置并不需要完全无误,当已知宏的位置被萃取出来后,宏的位移被加入成本函数的负指针,使得可以得到有最小宏位移的最佳宏摆置。
多向密集堆积树表示法可以确保上方与下方密集堆积树之间没有重叠,但是在上方轮廓和下方轮廓之间可能有重直的重叠,将重直的重叠加入成本函数的负指针可以导引仿真退火找到没有重叠的摆置方案。
图10所示为一宏摆置流程范例图,当LEF/DEF格式的文件被读取后,位于相同设计阶层且具有相同高度与宽度的宏先分群群组,群组的尺寸以最接近方形的尺寸作为初始值,而最后的尺寸则在仿真退火的最佳化过程中选定。
然后便产生一具有已知数目的子密集堆积树的多向密集堆积树,每一宏/群组对应至一子密集堆积树的一节点,当有了初步的宏摆置,初步的子密集堆积树依据宏最近的角落而对应至其所属节点,否则,所属节点的初步的子密集堆积树便随机设定,每一子密集堆积树都初始化为一完整的二元树。
仿真退火被用来找寻最佳的宏摆置,而由前述的运算可以对一多向密集堆积树进行扰动并得到另一多向密集堆积树,在扰动之后,设计者可以修正树状结构以满足已知的宏摆置限制条件、将多向密集堆积树进行密集堆积、评估宏摆置、并依据宏摆置品质的差异以及仿真退火的现行温度决定新的摆置方案是否可以接受,其后,多向密集堆积树再度被扰动,仿真退火再次继续直到摆置方案够好或者没有更佳的摆置方案出现,然后所有的区块/群组的位置就此决定。
当所有的区块/群组的位置决定后,在一群组内的区块位置可以依据群组的矩阵尺寸来计算而得。
最后修正宏间的间隔,假若两宏间的绕线资源需求较两宏间的原始间隔高,则宏间的间隔加大,反之,宏间的间隔可以缩小以使宏摆置面积更小,宏的方向也可以透过水平或垂直翻转而决定,使得大部分的脚位较接近芯片的中心,然后,所有宏的状态便固定下来,并输出最终的宏摆置。
两组测试电路被使用来对多尺寸混合宏摆置进行比对验证,测试电路分别为S.N.Adya于2005年在ACM Transactions on Design Automation of ElectronicSystems提出的智原(Faraday)以及五种最近的大型实际设计组成的mchip套件,表I所示为智原(Faraday)的统计数据,要注意的是,DMA电路由于没有宏在内而未进行比对验证,在每一数字信号处理(DSP)以及精简指令集计算(RISC)电路中各有两个以及七个宏,在这些测试电路中,宏的面积从占总芯片面积的6.96%到41.99%。
表I
Figure B2006101565940D00091
Figure B2006101565940D00101
表II所示为风水5.1、Capo9.4、本发明的多向密集堆积宏摆置器与Capo的整合方案、mPL5、APlace2.0以及本发明的多向密集堆积宏摆置器与APlace的整合方案对智原(Faraday)测试电路进行多尺寸混合摆置以及绕线的结果,一先进的商用绕线器被用来对所有的摆置方案进行绕线,所有的摆置器于具有2GB容量的随机存取存储器的3.2GHz的Pentium 4处理器的Linux工作站上执行,半周线长(half perimeter wirelength)与绕线线长(routing wirelength)以数据库单位(database unit)报出,Viol则为绕线方案的违规数,由于宏的数量不多,多向密集堆积宏摆置器只需数秒钟便可完成,而单独进行宏摆置的执行时间则未有数据报导,表II中的星号*代表摆置的结果有许多重叠,或者区块已经落于摆置区域外且无法无误地进行摆置,表II中的NR则代表由于没有可接受的摆置所以没有摆置结果。
表II
Figure B2006101565940D00102
Figure B2006101565940D00111
从这些结果可知,最小切割的摆置器风水产生出有许多宏/单元落在芯片区域外的结果,尽管mPL5并未声称是多尺寸混合摆置器,但mPL5对于具有大量多尺寸混合宏以及标准单元的IBM-MS/IBM-MSw Pins测试电路可产生出高品质的摆置方案,因此,mPL5对智原(Faraday)测试电路进行摆置的结果也作为参考,结果mPL5可以找到可接受的摆置方案,但其品质则不甚理想,此外,APlace在DSP1、RISC1与RISC2之间产生许多重叠,且无法提供无误的摆置方案,因此,只有其全面摆置方案的半周线长数据报导,最少切割的平面规划摆置器Capo可找到无误的摆置方案,且其半周线长较风水与mPL5为佳。
使用本发明一实施例的多向密集堆积宏摆置器的两阶段多尺寸混合摆置方法可以对所有的电路找到可接受的摆置方案,相较于单独使用Capo,与Capo整合的多向密集堆积宏摆置器平均可缩短半周线长达8%以及绕线线长达12%,尤其,与APlace整合的多向密集堆积宏摆置器可以对所有的电路产生可行的摆置方案,且其品质较所有的多尺寸混合摆置器都好,相较于mPL5、风水与Capo,其半周线长分别缩短了63%、35%与15%,再者,相较于mPL5、风水与Capo,其绕线线长分别缩短了62%、68%与15%,同时可发现,当宏的面积增加时,使用本发明一实施例的多向密集堆积宏摆置器的摆置流程缩短半周线长的成效更加显著,线长缩短的成效总结于表III,其说明了多向密集堆积宏摆置器的效能。
表III
Figure B2006101565940D00121
表IV显示mchip测试电路套件的统计数据,单元的数量由540k至1320k不等,且宏的数量由50至380不等,已知只有Capo能对多宏的多尺寸混合摆置决定出可接受的高品质摆置方案,因此只针对Capo来进行宏摆置的比较,实验于双Opteron 2.6GHz的机器上执行,并先分别以多向密集堆积宏摆置器以及Capo来决定宏的位置,其后,宏位置固定,且标准单元则以一商用的拥塞度导向(congestion-driven)的摆置器以快速原型模式(fast prototyping mode)来摆置,一商用绕线器则进行全面的绕线,为了公平比照起见,标准单元以相同的摆置器进行摆置。
表IV
Figure B2006101565940D00131
表V所示为半周线长、绕线线长(WL)、GRC溢位(overlow)以及最大溢位,GRC溢位为全面绕线单元(global routing cell;GRC)有溢位的比例,其值越高,则摆置上越拥塞,最大溢位提供了被赋予有最大溢位的全面绕线单元的额外轨道数,表V中的NR表示由于Capo中的程序存储器区段错误(segmentation fault)而无法获得摆置结果。
表V
对五组mchip测试电路而言,多向密集堆积宏摆置器总是较Capo的宏摆置可以获得更佳的线长(半周线长与绕线线长),且对五组mchip测试电路而言,使用Capo会发生程序存储器区段错误且找不到摆置方案,再者,Capo的摆置结果会产生较多的GRC溢位以及最大溢位,并比多向密集堆积宏摆置器需要更多单元摆置与绕线的执行时间。
本发明提供一种多向密集堆积宏摆置器,其可将宏摆置在一摆置区域的边界附近,并将中央区域保留给标准单元,此多向密集堆积宏摆置器仅需要摊销式线性时间(amortized linear time)将多向密集堆积树转换成对应的宏摆置,因此在运算上以及将二元树进行密集堆积都很迅速,于是,由仿真退火可有效率地找寻到宏摆置方案,使得多向密集堆积宏摆置器可进行有巨大的宏以及多量宏的多尺寸混合摆置,由于宏的方向与宏间的间隔已被考虑,多向密集堆积宏摆置器可产生比传统多尺寸混合摆置器更短的线长且也不会过度拥挤,多向密集堆积宏摆置器可轻易地在不同的摆置限制条件(如:预先放置区块、角落区块以及摆置挡块)下正常工作,多向密集堆积宏摆置器也可与当前的标准单元摆置器结合,并根据两阶段的多尺寸混合摆置流程得到较佳的多尺寸混合摆置方案。

Claims (12)

1.一种用于半导体芯片的宏摆置的方法,其特征在于,所述方法包括以下步骤:
产生一k阶二元多向密集堆积树,所述k阶二元多向密集堆积树包括k个分支节点以及k+1株二元子密集堆积树,所述k+1株二元子密集堆积树分别代表不同角落的堆积型式,且每一所述二元子密集堆积树包括一组宏;以及
将每一所述二元子密集堆积树的宏往一摆置区域的对应角落中进行密集堆积;
其中,每一所述分支节点都对应至所述k阶二元多向密集堆积树的一阶层,且每一所述二元子密集堆积树对应至一分支节点,每一所述二元子密集堆积树堆积顺序是依据其对应的分支节点的阶层来决定,分支节点所在的阶层越小,对应的二元子密集堆积树越早进行最密堆积。
2.如权利要求1所述的用于半导体芯片的宏摆置的方法,其特征在于,每一所述二元子密集堆积树包括位于其根部的一角落宏。
3.如权利要求2所述的用于半导体芯片的宏摆置的方法,其特征在于,在产生所述k阶二元多向密集堆积树之前,先读取LEF/DEF格式的输入文件。
4.如权利要求3所述的用于半导体芯片的宏摆置的方法,其特征在于,在进行密集堆积后,将所述k阶二元多向密集堆积树依据密集堆积的结果进行仿真退火循环以最佳化,并产生DEF格式的输出文件。
5.如权利要求4所述的用于半导体芯片的宏摆置的方法,其特征在于,在进行宏的密集堆积后且产生DEF格式的输出文件之前,调整宏之间的间隔。
6.如权利要求4所述的用于半导体芯片的宏摆置的方法,其特征在于,在读取LEF/DEF格式的输入文件后以及产生k阶二元多向密集堆积树之前,将位于相同设计阶层群组且具有相同高度或者相同宽度的宏予以分群群组,并在将多向密集堆积树依据密集堆积的结果进行仿真退火循环以最佳化之后以及产生DEF格式的输出文件前,将这些宏去群组化。
7.如权利要求6所述的用于半导体芯片的宏摆置的方法,其特征在于,所述仿真退火循环包括对所述多向密集堆积树进行扰动、将所述多向密集堆积树内的宏进行密集堆积、评估密集堆积的宏摆置以及接受或者拒绝所述宏摆置。
8.如权利要求7所述的用于半导体芯片的宏摆置的方法,其特征在于,所述仿真退火循环更包括将所述多向密集堆积树的结构依据已知宏摆置的限制条件加以修正。
9.如权利要求7所述的用于半导体芯片的宏摆置的方法,其特征在于,当一密集堆积方案为可接受时,或者没有更佳的密集堆积方案时,所述仿真退火循环的重复进行便结束。
10.如权利要求7所述的用于半导体芯片的宏摆置的方法,其特征在于,对所述多向密集堆积树进行扰动包括旋转一宏区块或一宏群组、将宏群组进行尺寸调整、将二元子密集堆积树内的一节点移动到另一处、将一或两株二元子密集堆积树的两节点互换以及将两株二元子密集堆积树互换或前述组合。
11.一种多尺寸混合摆置方法,其特征在于,所述方法包括以下步骤:
读取LEF/DEF格式的输入文件;
以一传统的宏摆置器进行初步的宏摆置;
进行细部的宏摆置,包括:产生k阶二元多向密集堆积树,所述k阶二元多向密集堆积树包括k个分支节点以及k+1株二元子密集堆积树,所述k+1株二元子密集堆积树分别代表不同角落的堆积型式,且每一所述二元子密集堆积树包括一组宏,将每一所述二元子密集堆积树的宏往一摆置区域的对应角落中进行密集堆积,将所述k阶二元多向密集堆积树依据密集堆积的结果进行仿真退火循环以最佳化,其中,每一所述分支节点都对应至所述k阶二元多向密集堆积树的一阶层,且每一所述二元子密集堆积树对应至一分支节点,每一所述二元子密集堆积树堆积顺序是依据其对应的分支节点的阶层来决定,分支节点所在的阶层越小,对应的二元子密集堆积树越早进行最密堆积;以及
产生DEF格式的输出文件。
12.如权利要求11所述的多尺寸混合摆置方法,其特征在于,所述方法还包括在进行细部的宏摆置之后以及产生DEF格式的输出文件前,进行标准单元的摆置。
CN2006101565940A 2006-01-03 2006-12-31 用于半导体芯片的宏摆置的方法与多尺寸混合摆置方法 Expired - Fee Related CN1996318B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75595406P 2006-01-03 2006-01-03
US60/755,954 2006-01-03

Publications (2)

Publication Number Publication Date
CN1996318A CN1996318A (zh) 2007-07-11
CN1996318B true CN1996318B (zh) 2010-09-08

Family

ID=38251406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101565940A Expired - Fee Related CN1996318B (zh) 2006-01-03 2006-12-31 用于半导体芯片的宏摆置的方法与多尺寸混合摆置方法

Country Status (4)

Country Link
US (2) US20070157146A1 (zh)
JP (1) JP4474404B2 (zh)
CN (1) CN1996318B (zh)
TW (1) TWI390707B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8261223B2 (en) * 2008-07-07 2012-09-04 Springsoft Inc. Hierarchy-based analytical placement method capable of macro rotation within an integrated circuit
TWI381282B (zh) * 2008-11-13 2013-01-01 Mstar Semiconductor Inc 防止壅塞配置方法及裝置
US8656332B2 (en) * 2009-02-26 2014-02-18 International Business Machines Corporation Automated critical area allocation in a physical synthesized hierarchical design
US8219957B1 (en) * 2010-02-02 2012-07-10 Xilinx, Inc. Global placement legalization for complex packing rules
US8332798B2 (en) * 2011-03-08 2012-12-11 Apple Inc. Using synthesis to place macros
TWI623844B (zh) * 2013-07-05 2018-05-11 國立成功大學 適用於混合模組之平面規劃方法
US10083269B2 (en) * 2013-11-19 2018-09-25 Arm Limited Computer implemented system and method for generating a layout of a cell defining a circuit component
US9659125B2 (en) 2014-01-28 2017-05-23 Arm Limited Computer implemented system and method for generating a layout of a cell defining a circuit component
GB2522102B (en) * 2013-11-19 2020-11-18 Advanced Risc Mach Ltd A computer implemented system and method for generating a layout of a cell defining a circuit component
US9940422B2 (en) * 2015-01-08 2018-04-10 Mediatek Inc. Methods for reducing congestion region in layout area of IC
US9436796B2 (en) 2015-02-11 2016-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus for determining common node logical connectivity
US9892226B2 (en) * 2015-05-11 2018-02-13 Mediatek Inc. Methods for providing macro placement of IC
US9697320B2 (en) 2015-09-24 2017-07-04 Qualcomm Incorporated Rectilinear macros having non-uniform channel spacing
US9495501B1 (en) * 2016-01-29 2016-11-15 International Business Machines Corporation Large cluster persistence during placement optimization of integrated circuit designs
US10372861B2 (en) * 2016-11-28 2019-08-06 Ncku Research And Development Foundation Method of macro placement and a non-transitory computer readable medium thereof
DE102017127276A1 (de) 2017-08-30 2019-02-28 Taiwan Semiconductor Manufacturing Co., Ltd. Standardzellen und abwandlungen davon innerhalb einer standardzellenbibliothek
US10741539B2 (en) 2017-08-30 2020-08-11 Taiwan Semiconductor Manufacturing Co., Ltd. Standard cells and variations thereof within a standard cell library
US11227084B2 (en) * 2018-11-14 2022-01-18 Taiwan Semiconductor Manufacturing Company Ltd. Multi-bit standard cell
US10769341B1 (en) * 2019-04-22 2020-09-08 Ncku Research And Development Foundation Method of placing macro cells and a simulated-evolution-based macro refinement method
FR3113963B1 (fr) * 2020-09-10 2023-06-30 Thales Sa Chaine de confiance avancee en aeronautique domaine de l'invention
CN113919275A (zh) * 2020-09-21 2022-01-11 台积电(南京)有限公司 用于优化集成电路的布局的方法
CN112511629B (zh) * 2020-11-30 2022-11-11 上海简苏网络科技有限公司 一种mpt结构的账户树的数据压缩方法及系统
TWI828362B (zh) * 2021-10-12 2024-01-01 聯發科技股份有限公司 訓練用於巨集佈置的神經網路的方法及系統
WO2023179498A1 (en) * 2022-03-25 2023-09-28 Mediatek Inc. Action masks for macro placement based on density map calculations
KR102597328B1 (ko) * 2023-01-25 2023-11-02 주식회사 마키나락스 반도체 소자의 배치를 평가하기 위해 2중 클러스터링을 수행하는 방법
KR102602254B1 (ko) * 2023-01-25 2023-11-14 주식회사 마키나락스 반도체 설계와 관련하여 데드 스페이스를 제거하는 방법
KR102597811B1 (ko) * 2023-01-25 2023-11-03 주식회사 마키나락스 매크로 소자로부터의 거리 정보를 고려하여 반도체 소자를 배치하는 방법
KR102597210B1 (ko) * 2023-01-26 2023-11-02 주식회사 마키나락스 매크로 셀들을 그룹화하는 것에 기초하여 반도체를 설계하는 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930499A (en) * 1996-05-20 1999-07-27 Arcadia Design Systems, Inc. Method for mixed placement of structured and non-structured circuit elements
CN1545049A (zh) * 2003-11-14 2004-11-10 清华大学 基于虚拟模块的大规模混合模式布图方法
CN1588380A (zh) * 2004-07-09 2005-03-02 清华大学 基于最小自由度优先原则的非线性规划布局方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4300019A (en) * 1979-01-09 1981-11-10 Victor Company Of Japan, Limited Method and apparatus for multiplying an electrical signal
US4630219A (en) * 1983-11-23 1986-12-16 International Business Machines Corporation Element placement method
US4815003A (en) * 1987-06-19 1989-03-21 General Electric Company Structured design method for high density standard cell and macrocell layout of VLSI chips
JPH02297672A (ja) 1989-05-11 1990-12-10 Nec Corp マイクロコンピュータ
JPH0521760A (ja) 1991-07-09 1993-01-29 Ricoh Co Ltd シーオブゲート対応フロアプラン作成方法及び作成装置
US5661663A (en) * 1995-03-24 1997-08-26 Lsi Logic Corporation Physical design automation system and method using hierarchical clusterization and placement improvement based on complete re-placement of cell clusters
US5815398A (en) * 1996-01-16 1998-09-29 Massachusettes Institute Of Technology Method and apparatus for placing parts in a bounded region
US6002857A (en) * 1996-11-14 1999-12-14 Avant! Corporation Symbolic constraint-based system for preroute reconstruction following floorplan incrementing
JP3063828B2 (ja) * 1997-03-27 2000-07-12 日本電気株式会社 集積回路の自動概略配線方法
JP3389875B2 (ja) * 1999-03-12 2003-03-24 株式会社トッパンエヌイーシー・サーキットソリューションズ 自動部品配置システム並びに自動部品配置プログラムを記録した記録媒体
JP2000276518A (ja) 1999-03-29 2000-10-06 Nec Ic Microcomput Syst Ltd 論理セルブロックの自動動配置方法
JP4386498B2 (ja) * 1999-06-23 2009-12-16 株式会社ルネサステクノロジ 差動増幅回路
US6308309B1 (en) * 1999-08-13 2001-10-23 Xilinx, Inc. Place-holding library elements for defining routing paths
US7308666B1 (en) * 2004-12-16 2007-12-11 Cadence Design Systems, Inc. Method and an apparatus to improve hierarchical design implementation
US7665054B1 (en) * 2005-09-19 2010-02-16 Cadence Design Systems, Inc. Optimizing circuit layouts by configuring rooms for placing devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930499A (en) * 1996-05-20 1999-07-27 Arcadia Design Systems, Inc. Method for mixed placement of structured and non-structured circuit elements
CN1545049A (zh) * 2003-11-14 2004-11-10 清华大学 基于虚拟模块的大规模混合模式布图方法
CN1588380A (zh) * 2004-07-09 2005-03-02 清华大学 基于最小自由度优先原则的非线性规划布局方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yun-Chih Chang,Yao-Wen Chang,Guang-MingWu,Shu-Wei Wu.B*-Trees: A New Representation for Non-Slicing Floorplans.DAC2000.2000,458-463. *

Also Published As

Publication number Publication date
TW200727453A (en) 2007-07-16
TWI390707B (zh) 2013-03-21
US20100023910A1 (en) 2010-01-28
CN1996318A (zh) 2007-07-11
US20070157146A1 (en) 2007-07-05
JP4474404B2 (ja) 2010-06-02
JP2007188488A (ja) 2007-07-26
US8661388B2 (en) 2014-02-25

Similar Documents

Publication Publication Date Title
CN1996318B (zh) 用于半导体芯片的宏摆置的方法与多尺寸混合摆置方法
Sechen VLSI placement and global routing using simulated annealing
Hsu et al. NTUplace4h: A novel routability-driven placement algorithm for hierarchical mixed-size circuit designs
US8516406B1 (en) Methods, systems, and articles of manufacture for smart pattern capturing and layout fixing
US10387604B2 (en) Multi-threaded global routing
US8527930B2 (en) Generating and using route fix guidance
US11709987B2 (en) Method and system for generating layout design of integrated circuit
US9003349B1 (en) Methods, systems, and articles of manufacture for implementing a physical electronic design with area-bounded tracks
US10055529B1 (en) Methods, systems, and computer program product for implementing a floorplan with virtual hierarchies and figure groups for an electronic design
US8539416B1 (en) Methods, systems, and articles of manufacture for creating a hierarchical output for an operation in an electronic design
Chang et al. Essential issues in analytical placement algorithms
WO2007147150A2 (en) Simultaneous dynamical integration applied to detailed placement
Lin et al. Dataflow-aware macro placement based on simulated evolution algorithm for mixed-size designs
US10210299B1 (en) Methods, systems, and computer program product for dynamically abstracting virtual hierarchies for an electronic design
US20130290914A1 (en) Methods and Apparatus for Floorplanning and Routing Co-Design
US11694016B2 (en) Fast topology bus router for interconnect planning
US8510685B1 (en) Methods, systems, and articles of manufacture for creating a hierarchical output for an operation in an electronic design
US9183343B1 (en) Methods, systems, and articles of manufacture for implementing high current carrying interconnects in electronic designs
US8910107B1 (en) Methods, systems, and articles of manufacture for generating multi-layer local maximal orthogonal routing paths in fractured space
US8132141B2 (en) Method and apparatus for generating a centerline connectivity representation
US8181143B2 (en) Method and apparatus for generating a memory-efficient representation of routing data
US9177090B1 (en) In-hierarchy circuit analysis and modification for circuit instances
JP3433025B2 (ja) モジュール配置方法
US20240095424A1 (en) Alignment Cost for Integrated Circuit Placement
US11836000B1 (en) Automatic global clock tree synthesis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20211231