交互式图形编辑软件是版图设计软件的早期产品,设计者借助于该软件在计算机屏幕前完成版图设计,工作量比较大。目前数字电路的版图设计已经主要依靠自动版图设计软件,但是模拟电路的版图设计(要求较高)还不得不借助于交互式图形编辑软件。
  由于自动版图设计的复杂性,通常把整个设计过程分为若干子过程,示于图1.19。现在对图中所示子过程的任务解释如下:
  (1)划分(partition)
  为了将被处理的问题规模缩小,需要把整个电路划分为若干子模块,划分过程是层次化的,即子模块还可以进一步细分。划分时考虑的主要因素有:模块的大小、模块的个数以及模块之间的连线数量等。
  (2)布图规划(floorplanning)和布局(placement)
  划分已经把整个电路分为若干子模块,布图规划则根据每个子模块中元件个数估算其面积,并根据其相互连接关系估计它的形状和位置,从而为整个芯片选择一个布图方案。此方案中各模块的位置还只是一个相对位置,布局的任务则是给出各模块的精确位置。由于布局时还未进行布线,因而无法对布局的质量做出精确的评价。如果布线时发现有布线不通的情况或不能满足约束条件的要求,则需要给出反馈信息返回布局,进入下一轮迭代改进过程。
  (3)布线(routing)
  满足约束的条件下完成各模块的连接是布线的任务。布线又可以分为总体布线(global royting)和详细布线(detailed routing)2个子任务 。总体布线完成线网的合理分配,它只是把线网分配在合理的布线区域内,而把具体连线的任务留给详细布线。把布线分为2个相关的子任务,不但简化了布线任务本身,而且提高了布线的成功率,其原因是:总体布线为线网合理分配了布线区域,避免了局部拥挤,为详细布线打下良好的基础。
图1.19 版图设计过程
 


  (4)正确性检查
  布局布线的正确性检查包括: 设计规则检查和逻辑连通性检查两部分。设计规则是根据所采用的工艺, 由设计者事先拟定的最小线宽、最小间距、周长、面积、覆盖、重叠等一系列规定, 检查实际布线有无违背这些规定之处。逻辑连通性检查是检查版图中有无短路、开路及冗余线段, 布线结果是否和输入的网表一致。
  版图设计是一项复杂的任务,有专门的教材讲述布图理论,本书将不作进一步的介绍,有兴趣的读者可参考有关书籍(参考文献[5][6])。