第五章单元库设计技术单元库设计技术是当今VLSI设计的主要技术之一,借助这个设计技术我们可以获得性能优越的VLSIC。因为单元库是“专家系统”,它是由经过精心设计和优化的电路单元模块所组成,单元库提供了性能优越的“高级”设计平台,或者说我们的设计是建立在高水平的设计基础之上。5.1单元库概念在晶体管规则阵列技术中,我们用晶体管构造逻辑,我们所面对的设计基本单元是晶体管,这是的基本单元只有三个:增强型NMOS晶体管、耗尽型NMOS晶体管和增强型PMOS晶体管。即使是门阵列,我们所处理的也还是如何将MOS晶体管“搭建”成我们常用的基本逻辑门。单元库技术所面对的直接是逻辑部件,既具有一定逻辑操作和运算功能的部件,它可能是一个逻辑门,也可能是一个功能块,甚至是一个功能相对完整的子系统。为什么要这样做呢?因为我们有时需要具有优越性能的模块,我们需要全局和局部都优化的集成系统。全局优化是由设计系统对逻辑单元进行布局和布线优化迭代完成,生成符合某些目标函数要求的设计结果。而局部优化则是通过对基本逻辑单元精心设计完成,两者的结合才能得到满意的设计结果。图5.1说明了采用门阵列结构所实现的两个基本逻辑门在性能上的差异。图5.1门阵列所构造的逻辑门及其性能差异毫无疑问,用门阵列可以很方便地构造与非门和或非门。但是,因为门阵列的基本构造单元是MOS晶体管,并且每个NMOS管的尺寸相同,每个PMOS管的尺寸也相同,因此,将导致在构造不同的逻辑门时出现性能上的差别。这种差别表现在逻辑门的输出性能上,图5.1中MOS晶体管的宽长比设计是按照在最坏情况下(当或非门输出为低时仅有一个NMOS管导通),或非门输出波形对称的要求计算的。考虑在输出逻辑低电平时,只有一个NMOS管导通的情况,则输出波形中的上升时间和下降时间的比值约为1比1;在输出低电平时有两个NMOS晶体管都导通的情况下,输出波形中的上升时间和下降时间的比值约为2比1。但是,这样尺寸的MOS晶体管在构造与非门时,波形将严重地不对称。考虑在输出逻辑高电平时,只有一个PMOS管导通的情况,则输出波形中的上升时间和下降时间的比值约为1比4;在输出高电平时有两个PMOS晶体管都导通的情况下,输出波形中的上升时间和下降时间的比值约为1比8。同样地,如果用此种尺寸的MOS晶体管去构造倒相器,也会出现不对称,此时的上升时间与下降时间的比值约为1比2。通过分析可以知道,如果以倒相器为对象设计基本的晶体管尺寸,同样会使其他的逻辑门输出信号不对称。以任何一种逻辑门为参考都会有类似地结果。门阵列以整体结构优化、自动化设计程度高和设计周期短的优势在集成电路领域得到较为广泛的应用。但是,门阵列强调整体结构优化,在局部结构上是不优化的。门阵列采用尺寸相同的基本单元,通过不同的布线实现不同的逻辑,将必然出现能力的浪费和不足。要获得每个逻辑门都满意的设计结果,只有对每个逻辑部件都进行专门地设计,这就是单元库设计技术。将常用的逻辑部件分类分别进行精心的设计、验证,构成单元集合----单元库,设计系统根据集成电路或集成系统的需要调用这些单元完成设计。单元库设计技术分为两个主要的设计方法:标准单元设计技术和宏单元、积木块设计技术。5.2标准单元设计技术5.2.1标准单元描述标准单元设计技术,是指采用经过精心设计的逻辑单元版图,按芯片的功能要求排列而成集成电路的设计技术。这些单元的版图具有相同的高度,不同的宽度。单元的电源线和地线通常安排在单元的上下端,从单元的左右两侧同时出线,电源、地线在两侧的位置要相同,线的宽度要一致,以便单元间电源、地线的对接。单元的输入/输出端安排在单元的上下两边,要求至少有一个输入端或输出端可以在单元的上边和下边两个方向引出,单元在上下边引出线的位置及间隔以某个数值单位进行量化。引线具有上下出线能力的目的是为了线网能够穿越单元,位置和间隔量化的目的是CAD布线简洁,目标准确,避免复杂地具体数值计算。图5.2是是一个简单倒相器的逻辑符号、单元拓扑和单元版图。图5.2标准单元示意图由于单元设计上的规格化和标准化,这些单元被称为“标准单元”。这些单元经过人工优化设计,经过设计规则及性能模拟的验证,并通常经过测试芯片的实际测定,较之门阵列,它的面积与性能都有很大程度的改善。由于标准单元的整体结构与门阵列相近,都采用“行式结构”,因此其总体结构的设计准则与门阵列的设计准则也相近。因为单元拼接以后,单元行的电源和地线实际上已经自动连在一起,因此,整体结构的电源、地线布线仅仅是对单元行外部进行。根据具体的逻辑,将相应的标准单元从单元库中调出,排列成行,根据相邻两行的需要,决定布线通道的宽度,进行布线和I/O单元的连接,即可完成具体集成电路的设计。与优化门阵列一样,标准单元也没有多余的器件,它也需要全套制作掩模,进行全工艺过程制备,所不同的是标准单元电路性能改善,芯片面积缩小,实现了整体优化和局部优化。当然,这些标准单元也可以构成局部逻辑作为模块使用。图5.3给出了采用标准单元技术实现的集成电路芯片结构示意图。图5.3标准单元实现的集成电路版图总体结构示意图从图可以看出,标准单元设计技术保持了“行式结构”的风格,继承了它的优点,同时,由于单元的优化设计,使标准单元比门阵列在性能上更优越。5.2.2标准单元库设计标准单元库是标准单元设计技术的基础,标准单元库通常应含有50个以上的标准单元。它们的性能、质量对于整个标准单元阵列性能的影响很大。对于每一个标准单元,在单元库中有相应的三个部分描述:单元逻辑符号,单元拓扑,单元版图。逻辑符号描述是一个图形符号,它代表一个逻辑,逻辑符号的描述应规范。逻辑符号应符合国际标准或国家标准。另一个需要注意的问题是符号的唯一性,即一个符号和名称只能代表一个单元。单元拓扑是对单元的外部尺寸和出线位置的描述。由于标准单元规定了单元高度必须一致,所以外部单元尺寸的描述就主要是宽度的描述,通常用高宽比进行描述。单元拓扑对于出线端的描述有两种基本形式:一种形式是给出出线端的具体几何位置和出线端的线宽;一种属于规范化的描述,所有的出线端的线宽都是一样的,出线端出线的位置是在量化了的位置点上。这时,出线端的描述只要说明出线端名称、出线端所在的上下边和量化后的数字。比如规定上边是“+”,下边为“-”,则对在上边第五量化出线点出线的信号“A”,可以简单的描述为“A,+5”。这两种描述各有利弊,对前者,出线端尺寸的描述对CAD布线带来不便,但单元内部版图设计随意性较大,不受量化点的约束,可以就近出线。对后者,设计单元版图时,器件布置和内部布线稍受约束,但CAD实现系统布线时比较简单。单元拓扑是具体版图的主要特征的抽象描述,它去掉了版图内部的具体细节,保持了单元的主要特征,有效的减少了数据量,提高了设计效率。单元版图一般由人工设计,前面已提到标准单元的电源、地线同时从单元两侧出线,且位置、线宽要一致。除了两侧位置一定外,在单元内部的电源、地线并不一定要受此约束,但线宽一定要大于或等于两侧出线端,这是因为即使是内部的电源、地线,它们所承担的电流也可能是整个单元行的电流。标准单元的上下出线通常采用多晶硅或其他低阻材料,同时还应注意减小寄生效应。如果是CMOS结构,阱的设计通常也采用较灵活形状,不必一定是规则的矩形,以节省面积和设计方便为主要依据。如果考虑CMOS的可控硅效应,一般采用隔离环结构。单元版图以规定格式的语言描述,通常是CIF或GDS-II。其中,CIF是文本格式,GDS-II是二进制格式。单元库中有三个互相对应的描述文件块。单元逻辑符号用于逻辑电路的原理图编辑,单元拓扑用于实现版图布局和逻辑系统的各单元间线网连接,单元版图是单元的具体描述。从上面的讨论可以看出,标准单元的版图和工艺选择、工艺水平关系很大。一个标准单元库对应于一条工艺线的制作能力,也就是说用某一套标准单元设计系统设计的芯片,并不是放在任何一条工艺线上都能生产。即使是相同的工艺,如CMOS工艺,几何设计规则不同,设计的标准单元也必定不同。所以,一套标准单元库只能对应一条工艺线。用标准单元技术实现集成电路或集成系统的过程,通常分为三步。首先,对输入逻辑进行标准单元结构的布局,这时采用的是标准单元库中单元拓扑图。其次,根据输入逻辑的网络进行布线,得到连接关系图。最后,将单元版图填入单元拓扑,并将线网连接关系转换为具体的布线即线网的几何图形。而单元的逻辑符号仅仅是用于原理图编辑和模拟。应当指出,标准单元库的建立和扩充完善是一个较长期的和繁杂的过程。在商品化的设计系统中,有的已配备了某一工厂或公司的标准单元库,有的仅仅是一些标准单元框架,需要用户根据各自的环境和工艺加工条件进行配置。与宏单元或积木块相比,标准单元的规模比较小。它实际上只是强调了基本电路单元的优化,还尚未到达功能块的量级。当然,对一些专门功能块也可通过标准单元的形式予以设计,只要这样的功能块的外部结构符合标准单元的设计规范。专门功能块标准单元的大小要适中,太小,逻辑设计效率低;太大,内部连接关系复杂,必然减弱标准单元的优化性能。试想,标准单元由于受到高度的限制,一个大的单元必然是一个扁的矩形,内部的走线困难,为保证单元的完整性和正确性,一些线或扩散区必然需要“绕行”,这就将大大地降低单元的优化特性。通常,标准单元的宽度和高度的比值在1/3~3之间比较合适。综上所述,可以归结出标准单元设计技术的特点:○1标准单元是一个具有规则外部形状的单元,其内容是优化设计的逻辑单元版图,各单元的规模应相近,并遵循一致的引线规则。○2一个标准单元库内的所有单元遵循同一的工艺设计规则,一个单元库对应一条或一组完全相同的工艺线。也就是说,当工艺发生变化时,单元库必须修改或重建。○3不论是局部逻辑或是完整的集成电路或系统,用标准单元实现的版图采用“行式结构”,即各标准单元排列成行。5.2.3输入、输出单元(I/OPAD)任何一种设计技术、版图结构都需要输入/输出单元。不论是门阵列结构、标准单元结构或是以后将介绍的积木块结构,它们的I/OPAD大部分都是以标准单元的结构形式出现。这些I/OPAD单元通常具有等高不等宽的外部形状,和我们前面描述的标准单元的主要区别在于电源、地线的位置在单元的同一边,但各单元的电源、地线的宽度和相对位置仍是统一的,以便对接,再一点不同是这些单元的引线端位于单元的一边。由于其外部形状的规则性,所以,输入、输出或双向单元属于标准单元的范畴,它们是标准单元库的内容之一。现代设计理论提倡将IC的内部结构和外部信号接口分开设计,所以,承担输入、输出信号接口的I/O单元就不再仅仅是压焊块,而是具有一定功能的功能块。这些功能块担负着对外的驱动,内外的隔离、输入保护或其他接口功能,这就要求将电源和地线通达这些I/OPAD。这些单元的一个共同之处是都有压焊块,用于连接芯片与封装管座,这些压焊块通常是边长几十微米的矩形。为防止压焊时碰接电源或地线,压焊块通常位于这些单元的一边,而将电源和地线排列在另一边。为防止在后道划片工艺中损伤芯片,通常要求I/OPAD的外边界距划片位置150微米。I/OPAD通常是等高结构,这是因为它的上边界受单元到划片槽距离的限制,下边界受电源、地线的限制。因此,与前述的标准单元不同,I/OPAD的出线端仅位于下边界一侧,以便和芯片内部电路相接。I/OPAD通常可分为:输入单元、输出单元、输入/输出双向单元。5.2.3.1输入单元输入单元主要承担对内部电路的保护,一般认为外部信号的驱动能力足够大,输入单元不必具备再驱动功能。因此,输入单元的结构主要是输入保护电路。输入保护分为单二极管、电阻结构和双二极管、电阻结构。图5.4是一种单二极管、电阻结构的保护电路和版图形式,图5.5是一种双二极管、电阻结构的保护电路和版图形式。这种保护实际上是对输入信号的钳位,使输入信号被限制在-0.7~Vdd+0.7的范围内。对于CMOS电路,它除了具有对输入信号钳位的作用外还可防止静电栅击穿。保护电路中的电阻可以是扩散电阻、多晶硅电阻或其他合金薄膜电阻,其典型值是500Ω。从图5.5可