CN1822008A - 一种时钟树的拓扑结构优化方法 - Google Patents
一种时钟树的拓扑结构优化方法 Download PDFInfo
- Publication number
- CN1822008A CN1822008A CN 200610025275 CN200610025275A CN1822008A CN 1822008 A CN1822008 A CN 1822008A CN 200610025275 CN200610025275 CN 200610025275 CN 200610025275 A CN200610025275 A CN 200610025275A CN 1822008 A CN1822008 A CN 1822008A
- Authority
- CN
- China
- Prior art keywords
- node
- cost
- topological structure
- clock
- dme
- 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
Images
Landscapes
- 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最小的To
本发明对时钟树拓扑结构进行优化的步骤如下:
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(ISCAS89benchmark)应用Elmore延时模型进行拓扑划分及局部修正得到的拓扑结构。其中,(a)为加DME算法生成的初始拓扑结构,(b)为局部修正后得到的优化的拓扑结构。
具体实施方式
下面通过具体实施例进一步说明本发明:
在一块物理及电学参数已知的SoC芯片上,时钟源和时钟接收端点集合的位置已经确定。经某种方法进行拓扑划分后,得到时钟树初始拓扑关系,如图2所示。
在进行某次自底向上的局部修正优化过程中,假设当前操作点为结点x。先对结点x进行“尝试性”右转操作,并沿路向上计算发生改变的结点的拓扑信息,直到到达根结点后求出整棵树的费用增量,在计算过程中拓扑结构保持原状。然后对结点x进行类似的“尝试性”左转操作,计算相应的费用增量。从两个费用增量中选择小的那个,再判断其正负,若为正,说明旋转操作无助于减小费用,接下来对结点x进行“尝试性”翻转操作,求出费用增量后作同样判断;若为负,则对结点x进行真正的旋转操作(例中为右转),此时要改变拓扑结构形状得到一个费用优化的结果。局部修正时使用了图1所示的三种操作。当结点x的某个子结点的两个分支不平衡时,就会用到交换操作交换左右分支,使要旋转的分支的最大路径长度较大。
表1、表2分别是对随机测试实例和标准测试用例(IBM和ISCAS89benchmarks)进行拓扑生成及优化后,总线长、最大路径长度、最小路径长度及运行时间的统计列表(其中MMM+DME表示结合MMM和DME算法,MMM+LRFDME表示结合MMM和局部修正技术)。
表1随机测试实例的拓扑生成及优化结果*
时钟接收端点数 | 500 | 1000 | 2000 | 4000 | 10000 | 40000 | 100000 | |
总线长(×106um) | MMM+DMEMMM+LRFDME优化率 | 1401307.14% | 2011867.46% | 2882686.94% | 4143857.00% | 6696236.88% | 137912876.67% | 224520787.44% |
最大路径长度(um) | MMM+DMEMMM+LRFDME | 3774037740 | 3946039480 | 3934039320 | 3926039260 | 3974039720 | 3996039960 | 4002040000 |
最小路径长度(um) | MMM+DMEMMM+LRFDME | 3680037540 | 3760039280 | 3850039100 | 3858039020 | 3896039460 | 3940039620 | 3958039660 |
运行时间(s) | MMM+DMEMMM+LRFDME | 0.00080.0232 | 0.00280.0578 | 0.00430.148 | 0.01010.3196 | 0.02950.9396 | 0.124.78 | 0.3413.11 |
(*表中各项指标为100次运行结果的平均值)
表2标准测试用例的拓扑生成及优化结果
标准测试用例 | r1 | r2 | r3 | r4 | r5 | s1423 | s5378 | s15850 | |
时钟接收端点数 | 267 | 598 | 862 | 1903 | 3101 | 74 | 179 | 597 | |
总线长(×106um) | MMM+DME | 175 | 357 | 459 | 913 | 1368 | 0.154 | 0.241 | 0.609 |
MMM+LRFDME | 164 | 332 | 428 | 853 | 1266 | 0.142 | 0.222 | 0.547 | |
优化率 | 6.29% | 7.00% | 6.75% | 6.57% | 7.46% | 7.79% | 7.88% | 10.18% | |
延迟时间(ps) | MMM+DME | 1163 | 3009 | 4298 | 13130 | 22700 | 2993 | 4630 | 14386 |
MMM+LRFDME | 1053 | 2797 | 3394 | 10343 | 20358 | 2759 | 4239 | 12096 |
最大路径长度(um) | MMM+DME | 61918 | 83259 | 87077 | 124686 | 141795 | 11848 | 11178 | 14725 |
MMM+LRFDME | 61491 | 84129 | 86020 | 129038 | 146083 | 12499 | 11290 | 14789 | |
最小路径长度(um) | MMM+DME | 50474 | 72518 | 76486 | 108689 | 131474 | 10258 | 9783 | 12553 |
MMM+LRFDME | 52433 | 68529 | 69394 | 94854 | 123946 | 9828 | 9945 | 12805 | |
运行时间(s) | MMM+DME | 0 | 0 | 0 | 0.01 | 0.01 | 0 | 0 | 0 |
MMM+LRFDME | 0.01 | 0.04 | 0.07 | 0.22 | 0.4 | 0 | 0.01 | 0.06 |
实验结果充分显示了局部修正技术的有效性。利用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 |
---|---|---|---|
CN 200610025275 CN1822008A (zh) | 2006-03-30 | 2006-03-30 | 一种时钟树的拓扑结构优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610025275 CN1822008A (zh) | 2006-03-30 | 2006-03-30 | 一种时钟树的拓扑结构优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1822008A true CN1822008A (zh) | 2006-08-23 |
Family
ID=36923371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610025275 Pending CN1822008A (zh) | 2006-03-30 | 2006-03-30 | 一种时钟树的拓扑结构优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1822008A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454316C (zh) * | 2006-04-13 | 2009-01-21 | 复旦大学 | 一种时钟树的拓扑结构优化方法 |
CN101216722B (zh) * | 2008-01-08 | 2010-08-11 | 北京中星微电子有限公司 | 一种时钟管理方法及装置 |
CN102567557A (zh) * | 2010-12-20 | 2012-07-11 | 国际商业机器公司 | 用于构建用于集成电路设计的时钟树的方法和装置 |
CN108256189A (zh) * | 2018-01-06 | 2018-07-06 | 嘉兴倚韦电子科技有限公司 | 集成电路半定制后端设计高效时钟树物理位置优化方法 |
-
2006
- 2006-03-30 CN CN 200610025275 patent/CN1822008A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454316C (zh) * | 2006-04-13 | 2009-01-21 | 复旦大学 | 一种时钟树的拓扑结构优化方法 |
CN101216722B (zh) * | 2008-01-08 | 2010-08-11 | 北京中星微电子有限公司 | 一种时钟管理方法及装置 |
CN102567557A (zh) * | 2010-12-20 | 2012-07-11 | 国际商业机器公司 | 用于构建用于集成电路设计的时钟树的方法和装置 |
CN102567557B (zh) * | 2010-12-20 | 2014-07-09 | 国际商业机器公司 | 用于构建用于集成电路设计的时钟树的方法和装置 |
CN108256189A (zh) * | 2018-01-06 | 2018-07-06 | 嘉兴倚韦电子科技有限公司 | 集成电路半定制后端设计高效时钟树物理位置优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Viswanathan et al. | FastPlace 3.0: A fast multilevel quadratic placement algorithm with placement congestion control | |
CN112995289B (zh) | 一种基于非支配排序遗传策略的车联网多目标计算任务卸载调度方法 | |
CN1831830A (zh) | 一种时钟树的拓扑结构优化方法 | |
Hsu et al. | Routability-driven analytical placement for mixed-size circuit designs | |
CN106919769B (zh) | 一种基于多层次方法和赋权超图的层次式fpga布局布线方法 | |
CN100423012C (zh) | 确定缓冲器插入的方法和系统 | |
CN101206686A (zh) | 设计时钟域中锁存器的布图的方法和计算机系统 | |
CN103605863B (zh) | 集成电路时钟网格主干尺寸的规划方法 | |
CN1822008A (zh) | 一种时钟树的拓扑结构优化方法 | |
CN112395822B (zh) | 时延驱动的非曼哈顿结构Steiner最小树构建方法 | |
Ahmadi et al. | Analog layout placement for FinFET technology using reinforcement learning | |
CN115983187A (zh) | 基于多策略的考虑总线偏差的层分配方法 | |
Zhang et al. | FastRoute3. 0: a fast and high quality global router based on virtual capacity | |
Utyamishev et al. | Late breaking results: A neural network that routes ics | |
Hsu et al. | Multi-layer global routing considering via and wire capacities | |
CN113627120B (zh) | 超导集成电路布局优化方法和装置、存储介质和终端 | |
CN112183001B (zh) | 一种基于超图的集成电路的多级聚类方法 | |
Ascia et al. | An evolutionary approach to network-on-chip mapping problem | |
CN110032815B (zh) | 基于文化基因的八角形斯坦纳树构建方法 | |
Zhou et al. | Supervised-learning congestion predictor for routability-driven global routing | |
Mueller et al. | Trade-off design of analog circuits using goal attainment and" wave front" sequential quadratic programming | |
CN112364599A (zh) | 一种固定边框电路布图规划方法 | |
Min et al. | ClusterNet: Routing Congestion Prediction and Optimization Using Netlist Clustering and Graph Neural Networks | |
Cao et al. | Fashion: A fast and accurate solution to global routing problem | |
Yao et al. | Pathfinding Model and Lagrangian-Based Global Routing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |