LSI设计(6)快速最优通道布线应用于Dautche困难问题

来源:互联网 发布:linux查看磁盘情况 编辑:程序博客网 时间:2024/06/07 00:04

LSI设计(6)

快速最优通道布线算法

应用于Dautche困难问题



  Dautche困难问题(Dautche Difficult Problem,简称DDP)是包含72个线网(nets)的大问题,当时(上世纪70-80年代)在PDP/11机器上应用Kernighan等人提出的最优布线算法时运行了两个多小时才得到最优布线结果。后来Wada改进了算法,仅仅花了十多分钟的时间就得到了最优结果,因此Wada算法引起业内许多士的注意。Wada算法真的那么神奇吗?当时我也好奇,但开始由于数据难于弄到,没法试验,93年为了在半导体学报上发表文章,应半导体学报编辑的要求,我化决心由图形一条条描出其数据做了试验,结果竟然发现,如果应用从上到下从左到右的通常布线方式布线,Wada算法和Kernighan等人提出的最优布线算法所化时间几乎一样:要2个多小时。难道Wada弄虚作假了么?我想不会吧。后来研究发现,这是布线次序不同引起。同一个Dautche布线问题,用不同次序布线结果情况完全不同,采用从上到下从左到右的方式布线时的确是很困难的,但采用从上到下从右到左的方式,或采用从下到上从左到右的方式布线时就都不是是困难问题了,这时你即使采用Kernighan等人提出的原始最优通道布线算法来布线也不需要多少时间!这一结果是我后来在83年发现的,我当时就提出了避开困难的一个办法,就是在正式用最优布线算法布线之前,用非最优算法进行预布,观察哪一种次序最好就用哪一种次序进行最优布线。我已试验并记录下了采用从右到左方式布线下,共6种算法对Dautche困难问题的布线结果。结果发现,所有算法速度都很快,且除了左边算法需要34行,其余都是28行,即最优了。以下图2是左边算法的布线结果,图3是倒限界算法的布线结果图4是各种最优布线算法的布线结果

图1.Deutche 困难问题


图2 Deutche 困难问题用倒左边法布线用34行(非最优)

图3 Deutche 困难问题用我提出的RBT算法倒限界法)布线用29行(接近最优)


图4 Deutche 困难问题用各种最优布法布线用28行(最优)




原创粉丝点击