在进行版图规划和版图设计的过程中,要遵循一些通用准则,在这里我们将列出一些基本的通用准则。
1.电源线的版图设计准则
电源线关系到电路单元甚至整个芯片的工作性能,所以在开始进行任意一个单元的版图设计之前,都要先确定电源线。电源线的版图设计准则如下:
(1)确定线宽 电源线的线宽与其上能流过电流的大小有着直接的关系,所以电源线的线宽是首先需要确定下来的。
在确定线宽的时候,我们要考虑电源线是用于单元内部供电还是作为整个芯片电源网格中的一部分为其他单元供电。利用这一信息可以确定电源线所在的金属层,并通过工艺手册中提供的金属导线的电流密度和电源线要流过的电流大小来确定电源线的宽度。
(2)MOS晶体管级单元电源线的金属层的选择 在设计晶体管级单元的电源线时,我们通常采用最底层的金属,这是因为如果使用高层金属作为电源线,那么在进行电源和晶体管互连的时候就要通过通孔和局部互连金属层来实现,这样会多占用空间。所以,我们通常使用工艺和设计所允许的最底层金属作为电源线。
(3)尽量避免在电源线上开槽 在进行电源线布线的时候,要确保线宽一致,不能在电源线上开槽。这是因为,电源线上的开槽会使该处的电源线在流过强电流的时候容易熔断。但是对于非常宽的金属来说,必须进行宽金属开槽。
(4)避免在单元上方布电源线 将电源线布在单元上,限制了单元之间的互连,并且会产生寄生效应。除非使用自动布局布线工具,否则不推荐在单元上方布电源线。
2.信号线的版图设计准则
信号线的版图设计准则如下:
(1)布线层的选择要根据工艺参数和电路要求 对于每一种工艺,应该根据各层的电阻和电容参数来确定所有的标准布线层。通常选用金属层来进行布线,而像N阱、有源和高阻多晶硅等分层则不能用于布线。
(2)使输入信号线宽度最小化 使输入信号线宽度最小化可以减少信号线的输入电容。
(3)要根据实际选择信号线的布线宽度 通常信号线的宽度可以选为设计规则所规定的最小宽度,但是也要根据需要流过的电流大小及容纳接触孔和通孔的实际情况进行选择。
(4)在同一单元或模块中保持一致的布线方向 通常我们将金属1、金属3和金属5水平布线,而将金属2、金属4和金属6垂直布线。在同一单元或模块中布线方向保持一致,这样当改变信号的方向的时候,只需要使用一类通孔跳转到相邻层的金属线上就可以了,因此提高了布线的通过率。
(5)标注出所有重要信号 版图中重要的信号要标注准确,这样在进行版图验证的时候能够很方便地诊断和排查错误,尤其在做LVS的时候,可以缩短LVS的运行时间。
(6)确定每个连接的接触孔数 在进行连接的时候,通常使用多个接触孔或通孔来增加连接的可靠性,并可以降低接触孔或通孔的等效电阻。
3.MOS晶体管版图设计准则
MOS晶体管版图设计准则如下:
(1)共用电源节点以节省面积 由于电源节点分布广泛、易于连接,因此实现电源节点的共享比较容易,而且可以大大节省面积。(www.xing528.com)
(2)确定源极连接和漏极连接所需接触孔的最小数目 由于有源区的宽度是确定的,所以要在确定的空间内加入尽可能多的接触孔,就要使两个相邻的接触孔之间保持设计规则所定义的最小距离。
(3)尽可能使用90°角的多边形或者线形 使用直角形状的图形,计算机需要存储的数据量相对其他图形来说是最小的,而且在版图设计过程中也更容易实现。对于有严格的面积和性能约束的区域,应限制45°角版图设计的使用,这是因为这种设计的修改和维护相对困难,而且需要花费额外的精力。
(4)对阱和衬底进行有效的连接 N阱应与电源连接,而P型衬底应接地。
4.层次化版图设计准则
层次化版图设计是版图设计的一个重要特点,它可以从最基本的层次上开始,并且加入认为有用的单元,从而可以构造复杂的电路。各种各样的库可以以这种方式建立起来并进行维护,以便用于不同的设计中。利用层次化版图设计可以提高设计效率,并且方便错误的检查和修改。
(1)在规划阶段确定设计的层次划分 在划分层次的时候常用准则如下:
1)将系统按照功能分布划分成功能模块或者区域指定模块。
2)将被例化多次的电路模块定为单元。
3)将功能模块进行分类,划分成几个工程师可以并列设计的模块。
(2)在规划阶段确定单元之间的接口 在进行版图规划的时候,单元之间的接口及每个模块的接口应该事先规划好,在规划单元接口的时候可以使用模板单元结构。所谓模板单元结构是指在设计单元的时候,将单元的高度及内部的电源、连线、MOS晶体管的方向都规划好,在进行设计的时候,只要将MOS晶体管放到模板单元内部,然后利用已经布好的金属线进行连接就可以了,对于没有用到的模板单元内的金属线可以将其删除掉。
5.单元设计准则
在集成电路版图设计中,单元是实现电路功能的基本单位。定义一个单元是一些对象的集合,单元被看做单个的实体。一个单元可以很简单,只包含多边形(如只有两个MOS晶体管构成的反相器),具有这种特性的单元称为最低层的单元。在最低层的单元中,构成单元的多边形之间是独立的,改变任意的多边形,不会影响其他的多边形。在版图设计中最低层的单元可以加入到单元库中,单元也可以很复杂(如包含了成千上百个MOS晶体管的算术逻辑单元)。
(1)重复调用 单元可以在版图的任何位置被重复地从单元库中调用。
(2)单元例化 如果要将单元进行全局修改,例化单元的使用会使这一工作得到简化。例如,在设计中使用了一种反相器,并且在100个地方使用了它,如果使用了单元库中的反相器,并将其例化了100次,那么只要修改单元库中的反相器单元即可。因为版图中的100个反相器都是库中反相器的复制品,只要库中的单元得到了修改,那么100处使用它的地方也都随之修改。如果使用了“展平式”的设计方法,即在100个地方通过连接200个MOS晶体管来实现100个反相器,那么在修改的时候要将这100个反相器逐一修改,工作量非常巨大。同样在这100个反相器中,如果仅有一个需要修改,那就要特别小心,防止将另外99个反相器做了同样的修改,方法就是将需要修改的反相器“展平”,使它在当前的位置上分解成许多多边形,然后再进行修改。
(3)例化名 在版图设计中,如果在多处使用同一个单元,那么每处的单元都需要一个唯一的标识符。例如将一个名为INV的单元例化100次,需要对每一个例化单元进行唯一标识,例如INV1、INV2、…,并且如果该单元在电路设计中存在电气对应关系,那么它的标识符应该与电路设计中使用的名字相匹配。使用不同的例化名对设计非常有用,尤其是用它来标识修改过的反相器。
(4)结构规整 例化的单元是作为一个整体出现在上层结构中,因此比起“展平式”的电路结构更容易进行整体的翻转、移动等。
(5)单元内容不显示 在上层设计中,作为底层单元的内部细节可以不被显示,而只用一个带有单元标识名称的多边形外框来进行标识,一次可以使计算机屏幕刷新资源最小化,尤其在大规模的版图设计中会大大提高浏览图形的效率。
(6)层次化设计 相对于许多单独的单元,层次化设计的版图验证工具可以从单元的重复使用中得到好处。例如在上述对反相器单元例化100次的例子中,版图验证工具只需要对反相器单元进行一次验证,然后检查一下各单元之间的连接就可以了。相对于验证由200个晶体管连接成100个反相器的设计,这样的方式会使验证的速度更快,从而提高了工作效率。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。