APP下载

使用大规模存储器电路的PEX技术研究

2012-09-19董自凯曹燕杰吴海宏

电子与封装 2012年3期
关键词:电介质存储单元电容

董自凯,王 勇,朱 琪,曹燕杰,吴海宏,张 勇

(中科芯集成电路股份有限公司,江苏 无锡 214000)

1 引言

在IC设计中,提取寄生参数和后仿真是至关重要的环节,特别是随着工艺尺寸的飞速缩减,设计出来的电路性能是否能达到预期要求,往往与电路的寄生参数和后仿真有着非常大的关系。早期较大的工艺尺寸下,寄生参数仅仅作为电路设计的辅助参考,甚至被忽略,是因为在大的工艺下模块单元的延迟远远超过了线的延迟,但是当前在工艺尺寸小于0.35μm以下(包含0.35μm)的CMOS工艺中,寄生参数的提取和后仿真却是必不可少的设计环节。

2 寄生电阻电容提取原理

互连寄生参数包括电阻、电容及电感等电学参数,在上个世纪70年代才逐渐引起人们关注。进入20世纪90年代后,尤其进入深亚微米工艺以后,对此相关的算法研究和软件开发才逐渐活跃起来。在当前较高的电路工作频率下,寄生电容的提取倍受关注,并且其研究成果也逐渐应用到各种后端的寄生效应的分析之中。

对于业界流行的一些寄生参数提取软件,其计算方法根据各自软件设定不尽相同,但他们的主要理论依据是相似的。

2.1 寄生电阻参数

对于电阻的计算方法主要是依据我们熟悉的电阻计算公式:

对于给定的工艺,线高H一般为常量,则式(1)可写为:

其中R0=ρ/H。

电阻提取方式主要是根据版图的有关数据,求出版图中的固有电阻和寄生电阻的阻值。相比较而言,电阻的提取精确度要低一些,这是因为电阻的大小完全依赖于实际掩模版上电阻区域的形状、通孔的形状和位置。目前,已经发表的电阻提取方法主要可分为以下三大类:

(1)解析公式求解法。主要依据公式(1)、(2)用解析法进行多次修正,这种计算方法比较简单,对于一般规则形状的图形求解尚可,但是对于复杂的图形求解精度不高。

(2)数值计算法。主要依据求解拉普拉斯方程,得到电阻区域的电势分布,进而算出任意两点间的等效电阻,这种方法尤其适用复杂图形电阻值和寄生电阻的求解。后期逐渐发展中有:保角变换法、许瓦兹变换法、有限差分法、有限元法和边界元法等。

(3)并行提取法。利用分块分步的思路,将电路划分成一个个小的部分,每一个部分对应一个处理引擎,同时完成电路不同部分的电阻提取任务,然后将各部分结果组合起来构成电路的提取结果。其主要任务就是设计有效的算法分别适合于划分和合并两个步骤。这种提取方式也是目前各种寄生参数提取软件所采用的有效方法。

2.2 寄生电容参数

对于电容的计算方法主要也是依据我们熟悉的电容计算思路。

考虑到有一宽为W、介质厚度为T的互连线,其中W>>T,其与衬底的寄生电容可以用平板模型来计算:

其中W和L分别为互连线的宽度和长度,ε为介质介电常数。

随着集成电路制造工艺的发展和器件尺寸的缩小,使得互连线的宽度W和厚度愈发接近,同时线的密度也急剧膨胀,从而使得相邻的线间侧壁电容和边缘电容越发重要,计算边缘电容的公式为:

图1 平板电容计算示意图

图2 边缘场电容计算示意图

但是工程实践中的经验表明,在不考虑耦合电容的时候,金属互连线寄生电容可近似表示为平行平板电容和边缘电容两者之和。在此之前通常仅考虑了单个导线的寄生电容,但在深亚微米工艺下,同层相邻互连线以及层间互连线之间的电容耦合,互连线与衬底间的电容也不容忽视。考虑以上各种寄生电容效应的互连线寄生电容模型逐渐改进,如图3所示。

一般将电路中的电容分为互连线与换连线间的电容Cc和互连线与衬底间的电容Cg两类,即总电容:

C=Cg+2Cc

其中Cg又可以划分为面电容Ca和边缘电容Cf:

Cg=Ca+Cf

随着集成电路规模的不断扩大和工艺尺寸的缩小,寄生电容精确性也日益突显,尤其在多层布线和当前90nm以下的工艺,层间耦合电容引起的交调失真也越来越明显,因此需要仔细处理各类互连线。

图3 深亚微米下互连线电容耦合示意图

3 现有提取软件综述

近年来,有多家EDA公司争先开发出自己的寄生参数提取工具,比如Synopsys公司的StartRC、cadence公司的QRC、mentor公司的calibre XRC等。虽然每家公司的寄生参数提取工具使用方法、提取的精度以及针对的重点有所不同,但是他们都有一个共同的特点:每家EDA公司都在不断完善和扩展提取工具的功能,不断地开发新版本的提取工具。这些说明了任何一家EDA公司都认识到了寄生参数提取的重要性以及将来的发展势头。作为IC设计方,更需要及时了解业界动态,掌握寄生参数提取的知识,完善适合自己使用的方法。

对于上述的三种提取软件都拥有2D电参数提取引擎及3D电容、阻抗提取引擎,能够提供多种精度参数提取。

3.1 2D和3D电容提取原理

考虑普通的互连线嵌入到多层介质中间的m个导体,电容可表示为一矩阵Cm*m,假设其中的导体j电势为1,其他的导体电势为0,则Cm*m中的第j列在数值上就等于各导体表面电荷量。以此重复上述过程即可确定Cm*m矩阵。

当给定各导体上的电势ψ(r),并假设导体和电解质表面的电荷密度σcd(r),电解质和电解质表面的电荷密度σdd(r),则导体的表面电势为:

其中Scd、Sdd分别为导体和电介质表面、电介质和电介质表面。在电介质和电介质表面任意一点满足电位移矢量法向连续条件:

na是电介质和电介质表面r点指向电介质a的法线方向,εa、εb是电介质a和电介质b的介电常数,ψ+(r)、ψ-(r)分别是由电介质a和电介质b方向趋近于电介质表面r点的电势。

求解(5)、(6)可以得到导体表面电荷分布σe。首先将导体和电介质表面、电介质和电介质表面分别离散为小的平面并假定每个小平面上的电荷均匀分布,这样可以将式(5)和式(6)转化成线性方程组。最后跟据工具的不同可以采用高斯消元法或者最小残余法以及多级加速法等方法加速迭代次数,最终求解结果。

2D参数提取和3D参数提取相类似,但是所使用2D的自由空间格林函数替代3D的函数,业界大部分工具也都基本支持高次边界元和导体及介质表面元自动生成等。

3.2 工具提取过程和方法

提取基本过程也是相类似,主要包含有:

3.2.1 3D建模及离散

通过读取数据库中输入的相应信息,生成两类离散数据:

(1)将金属表面与介质交界面以及不同介质交界面离散成三角形或多边形面片,并划分介质网格。

(2)自动识别网络端口,并将导体按电流方向离散成电流阵面。离散结果会在很大程度上影响提取引擎的计算时间、精度以及内存消耗,所以离散算法也是各家工具提供商不遗余力去改进的方向点。

3.2.2 版图原理图比较

该模块一方面能够检查版图网表与原理图网表一致性,另一方面能够建立原理图网表与版图网表的对应关系,使提取的寄生参数能够反标到原理图网表。

3.2.3 数据库模块

该模块存储版图网络连接信息、互连线及器件几何信息、原理图网表与版图网表对应关系等信息,为其他各模块运行提供高效的运行时数据保证。

3.2.4 用户图形界面

用户图形界面也是该工具软件的重要组成部分,具有了方便快捷的菜单操作,同时各工具也为高级用户提供命令行操作接口。

3.2.5 输出文件生成模块

在这类工具中用户只需指定输入文件、提取方式等,工具即可自动调用其他模块完成整个提取流程,并生成工业标准寄生参数文件(如HSPICE、specter、SPEF等)。

4 大规模存储单元寄生参数提取

4.1 大容量存储器件寄生参数提取

对于设计中遇到的使用大规模存储单元的电路,要想获取存储单元的时序等信息可以通过多种渠道:从memory提供商手中获得相应的lib文件;利用专门的针对memory时序等信息的提取软件进行操作;基于现有的提取工具手工获取寄生参数并仿真。

对于上述的前两种方法,设计公司也需要付出更多的研发支出,所以目前多数的研发人员是采用最后一种方法获得自己想要的寄生参数文件。但是对于超大容量存储单元数的电路,即使再好的服务器,完成寄生参数提取的工作仍非常麻烦,在提取时需要采用一些特殊的方法,必须在提取前对存储单元做详细的规划。

如在工程中要使用128M的存储阵列,每个存储单元为6管,总共要用到的存储管为768M个,这个数目对于所有的寄生参数提取工具来说都是非常庞大的,即使采用性能相当出色的服务器,运行的时间也是非常漫长的,甚至大部分服务器在运行过程中就“死机“了。所以在限制于当前工具的情况下,想要获取这部分的寄生参数只能选择其他可行的办法。

Calibre XRC提供给用户有hierarchical的提取方式,其原理是对于电路中重复的单元,只要用户将其指定为要做hierarchical提取的模块,并写进Hcell文件中,工具在提取过程中会自动将所有的重复单元,选择其中的一个,只做一次提取,并将剩余的相同的单元用本次提取结果替代。例如,在实际中我们用到一个图4所示64M×2大小六管单元的大规模存储阵列,为了方便寄生参数提取,在版图之前我们就将其层次结构做了详细划分,如图5。最终的折中方案是采用了1K大小的单元作为将其划分成许多个1K大小的相同单元(图6),并将这个1K大小的单元名称写进Hcell中,格式如图7所示。在提取过程中工具只会提取这个1K大小的单元,而剩余的部分全部用本次他提取的这个1K大小的单元替代。这样就大大地缩小了整个电路寄生参数的提取时间,同时也可以降低对服务器性能的依赖程度。

图4 64M×2大规模存储阵列示意图

图5 大规模存储器件的拓扑结构

图6 整个存储阵列的划分示意图

图7 采用1K大小为单元模块的Hcell文件

但是采用hierarchical也会带来另一个问题,就是提取结果会与真实情况产生误差。考虑到图8所示的情况,真实的结果会在cellb与左侧的互连线间存在一个Cc电容,但是采用hierarchical结构提取后,由于cellb作为单独模块进行参数提取,而从上层看下来cellb为一个黑盒子,所以会漏掉这个本应该抽取的电容Cc。此外还有一种常见的情况也会造成误差存在。考虑如图9所示的情况,两个相同的模块Cellb的存在,但是其中的一个模块上走过一根较宽的电源线,在这种情况下两个完全相同的模块的寄生参数绝对不会是相同的。但是就像上面所叙述的那样,采用了hierarchical方式提取寄生参数时,工具会只选取其中的一个Cellb模块进行参数提取,并j将提取的寄生参数赋予另外那个Cellb,从而使得这两个模块拥有完全相同的寄生参数,这就造成了结果的失实。至于这样的结果是不是我们所能接受的,这就需要设计人员考虑到具体的情况,决定是否去做调整。

4.2 需要配置的存储器件寄生参数提取

可能在设计中还会遇到所用的存储器是需要对其进行配置才可以实现功能的情况,但是我们所使用的存储基本单元都相同,均为没有写入的原始单元,所以后仿真时就无法直接使用工具输出的文件。

对于工程中所遇到这类情况一般需要手工对输出文件进行修改,但是工具输出的网表文件是按照calibre工具的自己的命名规则来生成的,这类文件看起来既繁琐又复杂,考虑到calibre的RVE工具有着很强的定位功能,所以我们可以借助这个工具来快速查找到需要配置的存储单元,并反标到寄生参数文件中顺利地实现后仿真。

首先我们可以按照正常的寄生参数提取步骤输出正确格式的寄生参数文件,接下来,在电路图中或者原始的电路图spice网表中将要配置的存储单元做修改,将其改成正常配置后的状态(图10),并用配置后的电路图spice文件做LVS,开启RVE并载入刚跑出的数据文件(图11)。接下来,使用RVE将错误器件类型中的这些器件一一对应到版图网表中(图11)。最后利用RVE中所提示的层次信息,将要配置的那些存储单元在之前生成的寄生参数文件中对应起来,并做相应的修改,如图12所示。

图8 真实RC网络和采用hierarchical方式提取示例

图9 采用hierarchical方式提取寄生参数引起的失实

图10 对原始电路网表进行配置

图11 利用calibre的定位对应到该配置的单元

通过上述步骤我们就可以手动将所需要配置的存储单元全部正确反标到生成的寄生参数文件中去。这种方法是行之有效的,并在实际设计中得到检验。

总之,对于目前使用大规模存储器件的电路,设计人员会遇到很多不同的问题,这需要我们熟练掌握寄生参数提取工具的使用技巧,并结合工程实际情况提出适合自己使用的方案。

图12 将需要配置的单元反标到生成的寄生参数文件

5 结束语

本文主要介绍了版图寄生参数提取的计算原理,结合工程实践,探讨了关于包含大规模存储器件电路寄生参数提取时遇到的问题,重点分析大规模存储器件的层次化划分技巧以及需要配置后使用的存储器件的寄生参数提取解决方案。

[1]王志功,景为平.集成电路设计与九天EDA工具应用[M].南京:东南大学出版社,2005.

[2]孙世磊,薛金涛,王高峰.精确寄生参数提取软件设计和实现[J].计算机工应用,2008.

[3]王艺璇.版图寄生参数提取技术的研究[D].重庆:重庆邮电大学,2007.

猜你喜欢

电介质存储单元电容
一种28 nm工艺下抗单粒子翻转SRAM的12T存储单元设计
数据在计算机内存中的存储形式及实验验证
浅谈气体击穿理论
一种成本更低的全新静态DRAM存储单元
MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
PWM Buck变换器电容引起的混沌及其控制
一种降压/升压式开关电容AC-AC变换器设计
平板电容器介质中的矢量场*
电介质中极化电荷密度的计算
投射式多点触控电容触摸屏