CN100454316C - 一种时钟树的拓扑结构优化方法 - Google Patents
一种时钟树的拓扑结构优化方法 Download PDFInfo
- Publication number
- CN100454316C CN100454316C CNB2006100256920A CN200610025692A CN100454316C CN 100454316 C CN100454316 C CN 100454316C CN B2006100256920 A CNB2006100256920 A CN B2006100256920A CN 200610025692 A CN200610025692 A CN 200610025692A CN 100454316 C CN100454316 C CN 100454316C
- Authority
- CN
- China
- Prior art keywords
- node
- topological structure
- cost
- optimization
- clock
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明属于电子技术领域,具体为一种超大规模集成电路中的时钟分布电路的拓扑结构优化方法。该方法可以任何其他方法产生的拓扑关系作为输入,在时钟树构造过程中通过对其拓扑结构进行局部修正以优化费用。每次优化过程从时钟树的叶结点开始,对所有结点利用二叉树变换操作做出局部调整,向上进行到根结点后完成。优化过程迭代进行,直到费用不能再进一步减小为止。本发明方法通用性强,效率高,费用减小比率达6-10%,能够高效处理超大规模集成电路的时钟布线问题;另外,还具有良好的可扩展性,可与其他优化策略结合,力求获得最优解。
Description
技术领域
本发明属于电子技术领域,具体涉及一种超大规模集成电路时钟树的基于局部修正的拓扑结构优化方法。
技术背景
随着集成电路设计和制造工艺水平的飞速发展,集成电路技术进入了超深亚微米时代,高频、高速度、低功耗成为芯片设计中需要实现的目标。高频、高性能的集成电路如片上***(SoC)的规模不断扩大,芯片上器件之间的互连延迟远远超过了器件本征延迟,致使时钟分布电路的质量对SoC的性能影响日益增大。因此在设计时钟分布电路时,一方面需要使时钟信号按指定偏差到达时钟接收端点(sink),保证电路按照正常时序工作;另一方面,必须考虑到芯片集成度的提高对时钟分布电路的设计余量提出了更为严格的要求,需要根据它的费用(如线长、面积、功耗等)评估对拓扑结构进行调整,以达到优化的目的。
时钟分布电路一般采用树状结构,称为时钟树。这些年来,研究领域提出了许多时钟树布线及拓扑结构优化算法,归纳如下:
(1)早期的算法基于几何划分或匹配,只能满足线长平衡,如平均值与中值算法(MMM)
(2)改进算法,考虑了延迟平衡,做到了零时滞布线。合并延迟嵌入算法DME[2]是其代表,直到现在还被广泛应用,但它需要一个拓扑关系作为输入。
(3)近来的算法集中在如何优化拓扑结构以降低时钟树的费用上,通过在构造过程中采取一些优化措施,力图在构造完成后就得到一棵费用最小的时钟树,如基于“簇团”的构造算法等。
但是,正因为时钟树在一次构造完毕后优化过程也就结束了,所以这些算法未能充分发掘解空间的可能性。
针对这种情况,本发明提出了一种优化时钟树拓扑结构的局部修正方法。该方法可以接受任何其他方法产生的拓扑关系作为输入,在时钟树构造过程中通过对其拓扑结构进行局部修正以优化费用。每次优化过程从时钟树的叶结点开始,对所有结点利用二叉树变换操作做出局部调整,向上进行到根结点后完成。优化过程迭代进行,直到费用不能再进一步减小为止。费用增量计算的方式保证优化过程快速进行,最终收敛到局部最优解上,因此可以得到一个比原拓扑关系优化的拓扑结构。目前国际上没有此类优化操作策略出现。
参考文献:
[1]Jackson M A B,Srinivasan A,and Kuh E S.Clock routing for high-performanceICs[C],in Proceedings of 27th Design Automation Conference,Orlando,1990,pp.573-579
[2]Boese K D,Kahng A B.Zero-skew clock routing trees with minimum wirelength[C],in Proceedings of Fifth Annual IEEE International ASIC Conference andExhibit,Rochester,1992,pp.17-21
[3]Edahiro M.A clustering based optimization algorithm in zero-skew routings[C],in Proceedings of 30th Design Automation Conference,1993,pp.612-616
[4]Cormen T H,Leiserson C E and Rivest R L.Chapter 13Section 2:Rotations,inIntroduction to Algorithms[M],MIT press,1990
[5]Lucas J M,Baronaigien D R van and Ruskey F.On rotations and the generationof binary trees[J],in Journal of Algorithms,1993,15(3),pp.343-366
发明内容
本发明的目的在于提出一种能够将任何时钟拓扑关系作为输入的超大规模集成电路时钟树拓扑结构优化方法,实现费用最小。
本发明提出的时钟树拓扑结构优化方法,是一种局部修正方法,是通过对输入时钟树拓扑关系进行基于二叉树变换操作的局部修正,从而优化时钟树费用的一种新型方法。
问题的提出:设在平面上给定n个点的集合,其拓扑结构为T,v为T中的某个结点,每个结点都包括左子结点和右子结点两个子结点(可能为空结点),T的费用为cost(T);我们的优化目标是通过对v及其子结点的连接关系做出调整,从而获得一个cost较小的T。
本发明对时钟树拓扑结构进行优化的步骤如下:
1、首先利用DME算法“合并”阶段的操作步骤,生成所有结点对应的合并线段,并计算存储每个结点的费用信息;
2、然后利用局部调整技术来循环迭代,求费用最优解。每次优化操作的步骤相同;在一次优化操作中,从底向上对每个结点进行判断并决定是否进行调整,其中对每个结点进行操作的步骤也相同。下面具体说明对某个内结点完成一次优化操作的步骤:
步骤1:如果v是叶结点,或者v的左右子结点均为叶结点,返回上层操作;
步骤2:对v的左子结点进行局部调整操作;
步骤3:对v的右子结点进行局部调整操作;
步骤4:对v进行“尝试”性局部调整操作。所谓“尝试”性,指的是并不真正执行调整操作,只是根据存储的合并线段和费用值(合称为拓扑信息),从v的子结点开始向上直到根结点,计算调整后时钟树的费用增量,而且在计算过程中只需要沿路考虑那些拓扑信息会发生变化的结点,对于那些拓扑信息不变的结点则只是取出其值带入计算;前次的拓扑信息只为下次计算时使用,无须存储。这种计算方式称为费用增量计算和“部分”DME方法。
上述局部调整操有基于二叉树变换所常用到的三种操作方式,分别是:
(a)旋转操作二叉树的旋转,包括右转和左转两种方式[4]。对结点x应用右转操作时,需要保证它的左子结点y不为空结点,右转操作以x和y的联接为枢轴向右转动,使得y变为子树的新“根结点”,x变为y的右子结点而y的原右子结点变为x的左子结点。左转操作与此类似。
(b)交换操作是将二叉树中的某两个结点连同它们下面连接的子树一起互换位置。在本技术中交换操作仅作为旋转操作的补充手段,只是将属于同一父结点的两个子结点互换位置。
(c)翻转操作翻转操作最早应用于H树,通过改变字母“H”的方向改变四个位置已确定的结点的连接关系,从中选择线长最小的结构。我们将其抽象为对拓扑结构的调整:交换结点x的左子结点的左子与x的右子结点的左子,或者是x的右子结点的右子。
3、当费用增量计算完成后进行判断,若其值为负,说明局部修正操作能够减小费用,就真正执行旋转或翻转操作,且仍使用“部分”DME方法改变发生变化的结点的拓扑信息。至此对T中某个内结点v的局部修正优化操作结束。
4、最后利用DME算法“嵌入”阶段的步骤选择嵌入点,再根据优化后的拓扑结构进行布线,即可得到一棵费用优化的时钟树。
发明原理的特点是:
(1)提出了一种新的拓扑结构优化策略,不是局限于一次优化过程中优化技术的使用,而是通过对初始拓扑结构的多次循环迭代求解而对解空间做出扩展,从而在其中选择优化解。
(2)考虑到时钟树的局域性,即两个相距较远的时钟端点不大可能会成为“邻居”结点,局部修正方法是个明智的选择。时钟树拓扑结构通常采用二叉树结构,故二叉树变换适用于局部修正。这些操作的几何演示直观明显,毫不繁复,故而易于实现。
(3)费用增量计算和“部分”DME方法为操作的高效运行提供了保证,时钟树的费用能够快速收敛于一个优化解,该技术的算法复杂度仅为0(nlogn)。
本发明具有以下优点:
(1)方法通用性强,效率高。
循环迭代的优化策略保证任意输入拓扑结构的时钟树的费用能够收敛到优化解上,跳出了优化技术本身的限制,因此能够对经其他方法拓扑划分后得到的拓扑结构再进行优化。该方法与采用的延时模型无关,既可以用于线性模型也可以用于Elmore时延模型,都能得到较好的优化结果,费用减小比率达6~10%。可以处理包含上万个时钟接收端点的时钟域的情况,处理速度极为高效,因而能够有效处理超大规模的时钟布线问题。
(2)具有良好的可扩展性。
本方法可以较好地应用于工程性变化定制(ECO)中,当设计要求发生细微改变后,设计者无须从头开始重新设计,而只须利用“部分”DME技术对某些分支路径上的结点做出相应改变。该方法还可以与其他优化策略如模拟退火策略相结合,力求获得最优解。
附图说明
图1为三种二叉树变换操作图示。其中,(a)旋转操作;(b)交换操作;(c)翻转操作。
图2为对结点x执行右转操作后,应用部分“DME”技术进行费用增量计算。
图3为对20个随机生成的时钟接收端点进行拓扑生成得到的结果。其中,(a)MMM加DME算法生成的初始拓扑结构(总线长11488);(b)局部修正后得到的优化的拓扑结构(总线长8655,优化比率24.66%)。
图4为对随机生成的500个sink点应用线长模型进行拓扑划分及局部修正得到的拓扑结构。其中,(a)为MMM加DME算法生成的初始拓扑结构,(b)为局部修正后得到的拓扑结构。
图5为对标准用例s15850(ISCAS89 benchmark)应用Elmore时延模型进行拓扑划分及局部修正得到的拓扑结构。其中,(a)为MMM加DME算法生成的初始拓扑结构,(b)为局部修正后得到的优化的拓扑结构。
具体实施方式
下面通过具体实施例进一步说明本发明:
在一块物理及电学参数已知的SoC芯片上,时钟源和时钟接收端点集合的位置已经确定。经某种方法进行拓扑划分后,得到时钟树初始拓扑关系,如图2所示。
在进行某次自底向上的局部修正优化过程中,假设当前操作点为结点x。先对结点x进行“尝试性”右转操作,并沿路向上计算发生改变的结点的拓扑信息,直到到达根结点后求出整棵树的费用增量,在计算过程中拓扑结构保持原状。然后对结点x进行类似的“尝试性”左转操作,计算相应的费用增量。从两个费用增量中选择小的那个,再判断其正负,若为正,说明旋转操作无助于减小费用,接下来对结点x进行“尝试性”翻转操作,求出费用增量后作同样判断;若为负,则对结点x进行真正的旋转操作(例中为右转),此时要改变拓扑结构形状得到一个费用优化的结果。局部修正时使用了图1所示的三种操作。当结点x的某个子结点的两个分支不平衡时,就会用到交换操作交换左右分支,使要旋转的分支的最大路径长度较大。
表1、表2分别是对随机测试实例和标准测试用例(IBM和ISCAS89 benchmarks)进行拓扑生成及优化后,总线长、最大路径长度、最小路径长度及运行时间的统计列表(其中MMM+DME表示结合MMM和DME算法,MMM+LRFDME表示结合MMM和局部修正技术)。
表1随机测试实例的拓扑生成及优化结果*
(*表中各项指标为100次运行结果的平均值)
表2标准测试用例的拓扑生成及优化结果
实验结果充分显示了局部修正技术的有效性。利用MMM+DME算法进行拓扑生成,时钟树的总线长已经得到了优化,但局部修正技术还可以进一步做出优化。在随机生成测试实例并采用线长模型的情况下,点的分布比较均匀,应用局部修正技术后相比MMM+DME算法总线长减小了6~8%。对标准测试用例采用Elmore时延模型进行拓扑划分,局部修正技术与MMM+DME算法相比,总线长能够减小6~10%,同时从时钟源到时钟接收端点的延迟时间也变小了。另外,实验结果表明,使用局部修正技术的过程并不繁复,时钟树的费用能够快速收敛到一个优化解上。在较短的运行时间内获得6~10%的总线长减小比率,局部修正技术的效果十分明显。
Claims (2)
1、一种时钟树的拓扑结构优化方法,设在平面上给定n个点的集合,其拓扑结构为T,v为T中的某个结点,每个结点都包括左子结点和右子结点两个子结点,T的费用为cost(T);优化目标是通过对v及其子结点的连接关系做出调整,从而获得一个cost较小的T;其特征于具体步骤如下:
(1)首先利用DME算法“合并”阶段的操作步骤,生成所有结点对应的合并线段,并计算存储每个结点的费用信息;
(2)然后利用局部调整技术来循环迭代,求费用最优解;每次优化操作的步骤相同;在一次优化操作中,从底向上对每个结点进行判断并决定是否进行调整,其中对每个结点进行操作的步骤也相同;这里,对某个内结点完成一次优化操作的的步骤为:
步骤1:如果v是叶结点,或者v的左右子结点均为叶结点,返回上层操作;
步骤2:对v的左子结点进行局部调整操作;
步骤3:对v的右子结点进行局部调整操作;
步骤4:对v进行“尝试”性局部调整操作:根据存储的合并线段和费用值,从v的子结点开始向上直到根结点,计算调整后时钟树的费用增量,而且在计算过程中只需要沿路考虑那些拓扑信息会发生变化的结点,对于那些拓扑信息不变的结点则只是取出其值带入计算;前次的拓扑信息只为下次计算时使用,无须存储;这种计算方式称为费用增量计算和“部分”DME方法;
(3)当费用增量计算完成后进行判断,若其值为负,说明局部修正操作能够减小费用,就真正执行旋转或翻转操作,且仍使用“部分”DME方法改变发生变化的结点的拓扑信息,至此对T中某个内结点v的局部修正优化操作结束;
(4)最后利用DME算法“嵌入”阶段的步骤选择嵌入点,再根据优化后的拓扑结构进行布线,即可得到一棵费用优化的时钟树。
2、根据权利要求1所述的时钟树拓扑结构优化方法,其特征在于所说的局部调整操作是基于二叉树变换的常规操作,采用下述操作方法中的任一种:
(1)旋转操作;
(2)交换操作;
(3)翻转操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100256920A CN100454316C (zh) | 2006-04-13 | 2006-04-13 | 一种时钟树的拓扑结构优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100256920A CN100454316C (zh) | 2006-04-13 | 2006-04-13 | 一种时钟树的拓扑结构优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1831830A CN1831830A (zh) | 2006-09-13 |
CN100454316C true CN100454316C (zh) | 2009-01-21 |
Family
ID=36994124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100256920A Expired - Fee Related CN100454316C (zh) | 2006-04-13 | 2006-04-13 | 一种时钟树的拓扑结构优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100454316C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729353B (zh) * | 2008-11-03 | 2012-04-04 | 华为技术有限公司 | 网络拓扑布局的方法、装置及*** |
CN102567557B (zh) * | 2010-12-20 | 2014-07-09 | 国际商业机器公司 | 用于构建用于集成电路设计的时钟树的方法和装置 |
CN107300948A (zh) * | 2016-04-14 | 2017-10-27 | 飞思卡尔半导体公司 | 具有多位时钟门控单元的集成电路 |
CN107835175B (zh) * | 2017-11-09 | 2020-09-22 | 深圳市云盾科技有限公司 | 采用平衡二叉树算法的网络连接跟踪方法 |
CN108256189B (zh) * | 2018-01-06 | 2021-08-03 | 嘉兴倚韦电子科技有限公司 | 集成电路半定制后端设计高效时钟树物理位置优化方法 |
CN110213091B (zh) * | 2019-05-23 | 2021-06-04 | 复旦大学 | 自动化拓扑方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651232B1 (en) * | 1998-11-05 | 2003-11-18 | Monterey Design Systems, Inc. | Method and system for progressive clock tree or mesh construction concurrently with physical design |
CN1560915A (zh) * | 2004-02-16 | 2005-01-05 | 复旦大学 | 一种时钟网络布线的曼哈顿平面化切割线生成方法 |
CN1574628A (zh) * | 2003-06-12 | 2005-02-02 | 安捷伦科技有限公司 | 用于时钟门控时钟树以减小功率耗散的方法和装置 |
CN1822008A (zh) * | 2006-03-30 | 2006-08-23 | 复旦大学 | 一种时钟树的拓扑结构优化方法 |
-
2006
- 2006-04-13 CN CNB2006100256920A patent/CN100454316C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651232B1 (en) * | 1998-11-05 | 2003-11-18 | Monterey Design Systems, Inc. | Method and system for progressive clock tree or mesh construction concurrently with physical design |
CN1574628A (zh) * | 2003-06-12 | 2005-02-02 | 安捷伦科技有限公司 | 用于时钟门控时钟树以减小功率耗散的方法和装置 |
CN1560915A (zh) * | 2004-02-16 | 2005-01-05 | 复旦大学 | 一种时钟网络布线的曼哈顿平面化切割线生成方法 |
CN1822008A (zh) * | 2006-03-30 | 2006-08-23 | 复旦大学 | 一种时钟树的拓扑结构优化方法 |
Non-Patent Citations (4)
Title |
---|
一种VLSI零偏差时钟线网布线算法. 葛海通,严晓浪.电路与***学报,第4卷第1期. 1999 |
一种VLSI零偏差时钟线网布线算法. 葛海通,严晓浪.电路与***学报,第4卷第1期. 1999 * |
一种有效的变线宽时钟布线算法. 李芝燕,严晓浪.微电子学,第29卷第3期. 1999 |
一种有效的变线宽时钟布线算法. 李芝燕,严晓浪.微电子学,第29卷第3期. 1999 * |
Also Published As
Publication number | Publication date |
---|---|
CN1831830A (zh) | 2006-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100454316C (zh) | 一种时钟树的拓扑结构优化方法 | |
Mendoza et al. | NSGA and SPEA applied to multiobjective design of power distribution systems | |
Viswanathan et al. | FastPlace 3.0: A fast multilevel quadratic placement algorithm with placement congestion control | |
CN103324774A (zh) | 一种基于时钟规划偏差算法的处理器性能优化方法 | |
CN112995289B (zh) | 一种基于非支配排序遗传策略的车联网多目标计算任务卸载调度方法 | |
CN111465944A (zh) | 用于生成对象的结构化表示的图形神经网络*** | |
CN103955864A (zh) | 基于改进和声搜索算法的电力***多目标差异化规划方法 | |
CN103605863B (zh) | 集成电路时钟网格主干尺寸的规划方法 | |
CN105205205A (zh) | 基于网表位置信息最优划分的fpga粗粒度并行布线方法 | |
CN112464611B (zh) | 一种基于云端协同智能处理的pcb自动布线*** | |
CN112395822B (zh) | 时延驱动的非曼哈顿结构Steiner最小树构建方法 | |
Jun et al. | Partial connection-aware topology synthesis for on-chip cascaded crossbar network | |
CN115859899A (zh) | 一种多驱动能力的集成电路标准单元版图迁移的方法 | |
CN1822008A (zh) | 一种时钟树的拓扑结构优化方法 | |
CN115983187A (zh) | 基于多策略的考虑总线偏差的层分配方法 | |
CN110020456A (zh) | 利用基于图的相似性搜索逐步生成fpga实现的方法 | |
CN115470747B (zh) | 一种实现时序快速收敛的时钟树综合方法 | |
Forno et al. | A parallel hardware architecture for quantum annealing algorithm acceleration | |
CN112217707B (zh) | 集成电路时钟树网络质量评估方法、装置和介质 | |
Zhu et al. | Minideviation: an efficient multi-stage bus-aware global router | |
Chang et al. | Flexible multiple-objective reinforcement learning for chip placement | |
CN112364599A (zh) | 一种固定边框电路布图规划方法 | |
Jing et al. | UTACO: A unified timing and congestion optimization algorithm for standard cell global routing | |
CN115408980B (zh) | 基于动态规划的规则化时钟网格规划方法 | |
Pentapati et al. | Tier partitioning and flip-flop relocation methods for clock trees in monolithic 3D ICs |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090121 Termination date: 20110413 |