LSI设计FOCR快速最优通道布线
Posted zzwu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LSI设计FOCR快速最优通道布线相关的知识,希望对你有一定的参考价值。
[摘要]本文提出的快速最优通道布线算法FOCR(Fast Optimal Channel Router)是Kernighan-shweikert-Persky 最优通道布线算法[2]和wada改进布线算法[4]的进一步改进。这些算法的“最优性”意义完全相同,但新算法的执行速度统计地比上述二种法远远为快。 |
1.引 言
通道布线算法是大规模集成电路(LSI)和印刷电路板(PCB)布线设计中广泛应用的一类算法,其特点是采用并行布线方式,因而与串行布线的Lee算法或Highitower算法相比,可以获得高的整体布线质量并容易处理100%布线率问题。
通道布线算法最早由Hashimoto-Stevens[1]提出。他们的算法(左边算法)应用于无约束线网集可保证获得最优介,但应用于约束线网集时结果常不理想。后来Kernighan等人[2]在此基础上应用分支限界法解决了无环约束集的最优布线问题,但算法执行过程较长。Wada[3]则把分支限界法推广到曲干布线[4],提出了一个解决带环约束集100%布线的方案,此外,还着重(占有文章主要篇幅)来介绍两个分支限界过程的加速措施。Wada的两个措施是有益的,但试验表明时间仍可观(见[4]结束语)。本文就是在Wada工作基础上进一步采用了若干加速措施。大量试验表明这些措施是有效的,多数例子在联合应用各种措施后分支限界过程获得了根本简化,且其余的也有不少简化。
2、基本思想
分支限界法的执行过程可分为两个阶段:①在判定树上依次搜索,直到获得一个最优解;②验证此解的最优性,即验证其后一切分支上不再有更优解。显然,要缩短整个算法过程必须同时缩短搜索和验证两个过程。以下是快速最优通道布线算法采用的几个措施。
2.1.线网重排次序 在分支限界过程开始之前,将线网重新排序,使之有利于尽快搜索到最优解和较优解;
2.2.分层次优化 先用一个快速优化算法来产生一个高质量的初始布线,然后再用一般分支限界法进一步优化;
2.3.快速最伏性验证 即除了利用分支限界法外,还使用一种简单但常常十分有效的手段来验证已获得解的最优性;
2.4.用增量法计算界限 即除了首次外,分支限界过程中任何一次求界都是在上一次求界所得数据基础上进行的;
2.5.寻找更精确的界限 寻找一个比Kernighan的动态界限能更精确估算布线需要行数的界限来替代动态界限。
合理的线网排列,优良的初始布线,快速和精确的求界手段都有利于缩短上面所说的第一阶段。而有效的验证手段以及快速精确的求界方法则有助于缩短第二个阶段。实际上,只要不是人为的例子,应用快速最优通道布线算法,在大多数情况下,都能快速获得最优解,并快速验证其最优性,用不到像一般分支限界过程那样进行耗尽式的搜索和验证。
3、加速技巧
以下介绍上述措施的细节。
3.1.线网重排次序
这一措施的目的是让最优解或较优解尽可能排在判定树较早搜到的那些分支上。判定树的结构由分支法确定,Kernighan算法的分支法则就是左边法则 (从上到下或从下到上一行一行地布线,在每一行中,从左到右,每次总是选择当时的最左可布线网布之)。但因划分了zone(重叠区)结构后,最左可布线网一般不是唯一的,因而选择其中哪一个最左可布线网优先布之就有灵活性,这就使判定树的结构在一定程度上可以改变。本措施的具体做法是:在线网的静态界限和约束级别求出之后,在每个zone中,将所有左端位于该zone的线网按照静态界限大小由大到小排列。如果静态界限一致,则按约束级别高低排列。进入分支限界过程后,每次都按这个顺序作为选择最左可布线网的优先顺序。
这一措施可使部分例子只用Hashimoto-Stevens的左边算法就能获得最优解。
3.2.初始布线
可以用任何快速优质通道布线算法来产生初始布线,以下是两个这样的算法。
3.2.1.双边算法(BEA)
见图1。它和左边算法(下记为LEA)一样,采用从上到下或从下到上一行行地布线。但在每一行中,一开始总是选择当时具有最大静态界限和最高约束级别的未布线网布于该行的“中间”。然后,在此线网右边应用左边算法布线直到通道右端;而在此线网左边,则应用与左边算法对称的“右边算法”布线,直到通道左端。同一zone中若有多个线网可选,则在布线之前所作的线网重排(框3,4)能保证优先选择静态界限大的和约束级别高的先布。
双边算法使半数以上的试验例子获得最优解,且其余的也非常接近最优解。
以上是关于LSI设计FOCR快速最优通道布线的主要内容,如果未能解决你的问题,请参考以下文章 |