由于系统复杂性越来越高,以及对更短上市时间的追求,设计的复杂性也 相应成指数性增加,提高设计生产率已经成为集成电路设计业主要目标。
所以,超大规模集成电路布图设计(Layout Design)的重要性显得愈加明显[1], 其原因如下:
(1)越来越巨大的电路规模需要设计自动化系统来处理,因此分级设计当 然就是一种相当有效果的处理方式。以标准单元模块的布局规划为例,当前的 系统要处理数量如此庞大的电路是相对比较难以实现的。因此,分级设计就是 十分有效的方法来提高处理的速率。
(2)在工业界的应用中,占相当大的比重的电路并不是仅仅以门阵列或者 标准单元模块实现的,一些大模块都被包含在很多设计的芯片中,比如 RAM 和 ROM 等。因此可以把芯片分为一些子区域,另外这些芯片中一些区域的长宽比 例是可以在一定范围内改变的。
(3)因为自动化工艺的发展迅速,模拟电路在芯片设计中的比例占据了一 大部分,这类设计需要将电阻和电容器等较大的单元规划设计到芯片中去。于 是,超大规模集成电路的布图规划和布局也被提出了崭新的要求。
在序列对的结构的基础上,我们利用模拟退火算法可以实现布图规划优化 问题的自动化设计。不仅硬模块( Rigid Block)或者是软模块(Soft Block)在设计过 程中可以任意指定输入,而且能够任意指定 Soft Block 的长宽比例的范围大小 , 所以灵活性相对大。此外,芯片的宽长比(AR)、最大长和宽的限制全部是 VLSI 布图规划中常常会碰到的约束情况。因此,需要找到一种算法不但能够解决问 题同时可以获得满意的效果。
1.2 国内外研究现状
1.3 本论文的主要工作
本文主要研究的工作包括以下几点:
1. 本文主要研究超大规模集成电路中的软模块的布局的基本概念及算法[7]。
2. 超大规模集成电路的国内外发展现状。
3. 根据平面布置图(floorplan)的几何特征来建立数学模型。
4. 超大规模集成电路中的软模块的形状都是可变的,但面积不变芯片的宽长 比例有一定的范围,设计一种能有效调整软模块高和宽的方法。
5. 超大规模集成电路中的软模块的布局采用了 B*-tree 的陈述法来表示一个平 面布局图(floorplanning)。
6. 超大规模集成电路中的软模块利用模拟退火算法对于随机给定的初始布局 进行优化。
2 物理设计和布图规划
2.1 VLSI 设计流程
以下九个步骤就是 VLSI 的设计周期:系统规范说明、功能设计、逻辑设计、 逻辑设计、电路设计、物理设计、设计验证、制造、封装和测试[8]。对于超大规 模集成电路的设计,可以满足在一个或两个或者更多的步骤之间按照需求重复运 行,如逻辑设计和电路设计之间可以循环发展,因为你可能一次设计没有办法 达到要求。另外,选择什么样的设计方法和制造的工艺这些也需要被考虑在其 中,在最后对芯片大小、工作快慢、功能耗费的大小和系统功能进行选择与确 定。
在功能设计中需要考虑的因素有很多,但是其中最重要的是了解系统的行 为特性,有两种方法可以用来描述系统的行为特性那就是:各子模块的关系图 和时序图,有效的利用这些信息将整个设计过程进行简化和充实每个设计步骤, 使得自己的设计既简单又易懂。
在设计过程中,我们必须要不断地测试来确定其正确性并且保证系统功能 的逻辑结构是正确可行的。通常使用的三种方法是文本、逻辑图或原理图。在 设计中还需要考虑逻辑部件的电路能否实现,其中包括速度和功能损耗这两大 方面。除此之外,各种各样的元件它们的电性能是否良好也要被考虑在内。我 们用详细的电路图来表示已经设计好的电路。Physical Design 就是版图设计,在 VLSI 设计中需要花费很多的时间。Physical Design 把每个元件的电路和元件间 连接的线网都转换为几何来表示,版图也就是常说的电路的几何表示[9]。在设计 过程中要遵循设计规则要求。我们通常把版图设计分成几个模块如下图 2-1: