基于SKILL语言的参数化抗辐射器件版图设计
2016-10-26胡永强
胡永强,周 源
基于SKILL语言的参数化抗辐射器件版图设计
胡永强,周源
(中国电子科技集团公司第58研究所,江苏 无锡 214035)
SKILL语言是IC设计业界采用的主要软件Cadence EDA提供的编程开发语言,用户可以基于SKILL语言对EDA设计环境进行定制设计或拓展。参数化单元(Parameter Cell,PCELL)可以根据设计规则(Design Rule)通过器件的W、L等参数实现对器件版图层次(Layer)的控制。另一方面抗辐射器件版图的特殊设计形式对版图设计工作提出了新的要求。阐述了通过SKILL语言实现的一款参数化抗辐射器件版图的设计理念和方法,并且在Cadence Design Framework(DFII)中编译调试和优化,实现了该版图的结构,较大幅度地提高了版图设计工作的效率。
SKILL;参数化单元;抗辐射;器件版图
1 概述
Cadence EDA是当前国际上最流行的EDA软件之一。SKILL编程语言是该EDA系统提供的编程开发语言,集成在Cadence Design Framework中的EDA软件都是基于SKILL语言实现的。用户可以基于SKILL语言在Design Framework中进行设计软件的定制设计或者拓展[1]。SKILL语言从人工智能语言Lisp发展而来,语法上更类似C语言,易于设计开发人员掌握。
在Cadence EDA系统中,参数化单元(Parameter CELL,PCELL)版图是通过SKILL语言实现的一种可以通过W、L等参数进行层次(Layer)控制的版图结构,可以使用户避免对器件版图Layer的繁冗操作,降低出错概率,节省工作时间,提高设计工作效率。
抗辐射加固版图结构相对于非加固的版图结构,其特殊的版图设计形式会给版图设计工程师增加工作难度。另外由于人为疏忽的存在,定制设计的器件版图难以避免出错。即使后期通过DRC、LVS等物理验证手段发现问题,版图设计返工也会浪费大量的工作时间。
因此我们提出了基于参数化抗辐射器件版图完成抗辐射芯片版图设计的设想,但是通过SKILL语言实现参数化抗辐射器件版图的技术需要进行深入研究。目前,常见的参数化器件版图设计主要是通过Cadence EDA系统中的Virtuoso软件提供PCELL设计界面进行。但是基于此方法设计的PCELL灵活性不强,而且难以实现复杂的版图结构。因此有必要探索直接编写SKILL源代码来实现参数化抗辐射器件版图的可行性。
本文阐述了通过SKILL语言实现的参数化抗辐射器件版图的设计理念和方法,并且在Cadence的Design Framework(DFII)中编译调试和优化,实现了该版图结构,较大幅度地提高了版图设计工作效率。
2 SKILL语言的基本语法
SKILL语言从人工智能语言Lisp发展而来,可以采用Lisp风格的源代码编写方式[1],例如:
(defun fibonacci(n)
(cond
((or(equal n 1)(equal n2))1)
(t(plus(fibonacci(difference n 1))
(fibonacci(difference n 2))))
)
)
另外也可以采用C语言风格的源代码编写方式[1],例如:
procedure(fibonacci(n)
if((n==1)||(n==2)then
1
else
fibonacci(n-1)+fibonacci(n-2)
)
)
SKILL语言与其他编程开发语言类似,有自己的命名规则、关键字、数据类型、函数调用、注释格式等语法要求,与C语言类似,对熟悉C语言等编程开发语言的设计人员来说易于掌握。
需要注意的是Cadence已定义了自己内部使用的专用函数,并以下划线(“_”)作为前缀。这类函数可能由Cadence在没有申明的前提下发生改变,一般不要使用。
SKILL语言支持多种数据类型,包括整型、浮点型等数字以及字符串、符号等字符。SKILL语言相对于其他编程开发语言的突出特点是大量使用List类型的数据格式。List即按照一定的顺序将数据组合成一个表,并通过多种函数创建、修改、调用List。本文中常用来组织版图Layer各个顶点的坐标。
3 版图设计使用到的SKILL函数
定义PCELL的函数为pcDefinePCell,其语法格式[2]如下:
pcDefinePCell(list(ddGetObj(“lib”)“cell”“view”)
[参数定义]
let([局部变量定义]
[函数体]
…
);end of let
);end of pcDefinePCell
其意义是在设计库lib中生成单元名称为cell的PCELL;格式view有多种类型,作为版图格式一般采用layout。
“参数定义”指可以在PCELL调用时修改的各项器件参数,如器件的长(Length)、宽(Width)、叉指数目(Finger)、是否需要生成接触孔和金属(NeedCont)等,分别采用浮点型(float)、整型(int)、布尔型(boolean)等数据类型。
“局部变量定义”指在函数体中使用到的局部变量,如接触孔分别在X和Y方向复制的个数等。
SKILL提供了丰富的图形处理函数,可以在版图中生成例如矩形(Rectangle)、多边形(Polygon)、椭圆(Ellipse)、圆弧(Arc)、圆环(Donut)等图形,使用的函数 分 别 为 dbCreateRect、dbCreatePolygon、dbCreate Ellipse、dbCreateArc、dbCreateDonut,其语法格式[3]为:
dbCreateRect(
pcCellView
list(LayerGDSNumLayerDataType);define layer
list((LBX:LBY)(RTX:RTY));define coordinate
);enddbCreateRect
dbCreatePolygon(
pcCellView
list(LayerGDSNumLayerDataType);define layer
list((X1:Y1)(X2:Y2)(X3:Y3)…);define coordinate
);enddbCreatePolygon
以人教版小学语文三年级下册第二组课文为例。本组课文由三篇精读课文《翠鸟》《燕子专列》《一个小村庄的故事》,一篇略读课文《路旁的橡树》以及语文园地二组成。整组教材围绕“保护环境”的主题编写。语文园地二中的“读读背背”有五句有关动物的诗句。有的教师在教学第一篇课文时就以读诗句引入本课教学。学习第二篇课文《燕子专列》时,又再次复读诗句,将“黄莺鸣翠柳,紫燕剪春风。”等与燕子有关的诗句整合进课堂中,既丰富“读读背背”的积累,又使学生对燕子形象的感受更加深刻、立体。
dbCreateEllispe(
pcCellView
list(LayerGDSNumLayerDataType);define layer
list((X1:Y1)(X2:Y2));define bounding box
);enddbCreateEllispe
dbCreateArc(
pcCellView
list(LayerGDSNumLayerDataType);define layer
list((X1:Y1)(X2:Y2));define arc bounding box
);enddbCreateArc
dbCreateDonut(
pcCellView
list(LayerGDSNumLayerDataType);define layer
list(X1:Y1);;define the center of the donut
list((X1:Y1)(X2:Y2));define out circle radius
list((X1:Y1)(X2:Y2));define inner circle radius
);enddbCreateEllispe
此外版图设计还会使用到SKILL语言的流程控制函数,如if、when&unless、case、for、foreach等,其语法与C语言类似。
4 抗辐射器件版图及其源代码设计
工艺线提供的抗辐射器件版图相关设计规则见表1,结构如图1所示。
表1 抗辐射器件版图设计规则
根据对器件版图结构和设计规则的分析,选定规则a、b、d、g作为抗辐射器件版图PCELL的变量,规则c、e、f、h2因采用定值作为PCELL的常量;h1可以通过d、f、h2等计算出。
PCELL主要通过版图结构中各层次的坐标来控制层次的尺寸及相互关系。因此需要通过几何知识计算出版图结构中各个图形的坐标,然后通过编写源代码实现抗辐射器件版图PCELL。我们定义Active的左下角为坐标原点,生成Active需要的左下角坐标(ActX1,ActY1)为:
(ActX1,ActY1)=(0,0)
右上角坐标(ActX2,ActY2)按以下公式计算出:
ActX2=ActX1+a+2×(e+c+2×d+f)
ActY2=ActY1+b+2×(e+c+h2)
那么控制Active层次的SKILL函数描述为:
dbCreateRect(
pcCellView
list(2“drawing”);define Active
list((ActX1:ActY1)(ActX2:ActY2));
);enddbCreateRect
如此,用户在调用PCELL时可以根据设计需要来调整a、b、e等参数以实现对Active图形的控制。
呈阵列排布的接触孔CT可以由for循环生成。首先通过参数b计算CT需要的复制数目:
IndexY=fix((b-(f+2×g))/(f+2×g)+1)
CT的左下角坐标按以下公式计算出:
CTX1=ActX1+e+c+d
CTY1=ActY1+e+c+h2+d+RepeatY×(f+g)
其中 RepeatY作为 for循环的形参(Formal Parameter)从0增加至IndexY。CT的右上角坐标按以下公式计算:
CTX2=CTX1+g
CTY2=CTY2+g
其SKILL函数描述为:
(for RepeatY 0 IndexY
dbCreateRect(
pcCellView
list(8“drawing”);define CT
list((CTX1:CTY1)(CTX2:CTY2));
);enddbCreateRect
);end for
如此,用户调用的器件版图PCELL可以根据不同Channel width值在NMOS的源漏端生成不同数目的接触孔CT。
采用上述方式完成抗辐射器件版图的Active、GT、CT、SN等所有层次的源代码编写,然后在Cadence DFII的CIW窗口中load该SKILL源代码即可对源代码进行编译,如图2所示。
图2 Cadence DFII CIW窗口界面
5 抗辐射器件版图源代码的优化
Cadence按照设计库(library)—单元(cell)—视图(view)的层次化形式组织设计数据。抗辐射器件版图PCELL源代码编译后,存放在设计库名为lib-单元名为cell-视图名为layout的目录中,可以通过Cadence Virtuoso软件调用该PCELL来查看编译效果。分别如图3、图4所示。
上述源代码编译后发现一个bug:当器件Channel width改变时,生成的接触孔CT与上下两侧多晶的距离不相等。
按照一般版图设计要求,器件版图最好对称。经过分析,我们将CTY1中加入偏移量Delta可以修正该bug,即:
CTY1=ActY1+e+c+h2+d+RepeatY×(f+g)+Delta
其中Delta=Space1=Space2=[b-IndexY×(f+g)]/2
如此生成接触孔CT与上下两侧多晶的距离可以保持一致。同时,为避免产生的CT图形偏离格点(off grid),需要对Delta进行grid拟合,采用的方法是:
Delta_new=float[fix(Delta/grid)]×grid
先将Delta折算成grid的整数倍,再与grid相乘进行还原,即可完成Delta的grid拟合。
通过优化后的源代码再次编译,得到了我们希望的版图结构,如图5所示。
图3 Cadence设计数据层次化组织形式
图4 编译后的抗辐射器件PCELL
图5 优化后的器件版图及PCELL参数调整界面
6 小结
本文基于Cadence EDA提供的SKILL编程开发语言,编写了抗辐射器件版图的PCELL源代码,通过在Cadence DFII环境下进行编译,实现了参数化抗辐射器件版图的设计,且通过代码优化解决了接触孔CT与多晶距离不对称和接触孔CT图形offgrid的问题。通过使用参数化抗辐射版图PCELL,可以避免由于人为疏忽造成的器件版图设计错误,还可以节省工作时间,较大幅度提高版图设计的工作效率。
[1]Cadence.SKILL Language User Guide[P].Product Version 06.30,2004:20-28.
[2]Cadence.Custom Layout SKILL Functions Reference[P]. Product Version 5.1.41,2009:334.
[3]Cadence.Cadence Design Framework II SKILL Functions Reference[P].Product Version 6.31,2008:391-392.
Layout Design of SKILL-based Parameterized Radiation-hardened Device
HU Yongqiang,ZHOU Yuan
(China Electronics Technology Group Corporation No.58 Research Institute,Wuxi 214035,China)
SKILL is a programming language provided by Cadence EDA,based on which users customize the EDA design environment.Parameter CELL(PCELL)controls layout layers using parameters like W and L, and the radiation-hardened device layout in turn poses new challenges to the designing work.The paper introduces a new layout designing method for skill-based parameterized radiation-hardened device and obtains the layout using Cadence Design Framework(DFII).
SKILL;parameter cell;radiation hardening;device layout
TN402
A
1681-1070(2016)09-0031-04
胡永强(1983—),男,山东平邑人,四川大学微电子理学学士,主要从事全定制版图设计、数字电路后端设计,对参数化单元(PCELL)设计、抗辐照标准单元建库以及集成电路ESD保护设计有丰富经验。
2016-4-27