EMX学习记录
- Lecture Ⅰ EMX软件配置及其集成
- Lecture Ⅱ EMX仿真设置详解
- Lecture Ⅲ 衬底文件的撰写--参考文件的选取
- Lecture Ⅴ 版图仿真以及黑盒的使用
- Lab:使用RFIC_GPT+EMX对电感进行仿真
Lecture Ⅰ EMX软件配置及其集成
预学习阶段:EMX和EXIR仿真教程
设置仿真精度,比如高精度ADC的设置:
使用版本:EMX 6.1
首先找到如下的文件夹目录:
其中包含配置文件:
第一个配置文件emxconfig.il包含如下的重要内容:
路径配置EMX_interface_path:
多数配置采取默认配置,但以下几点要注意:
查看模型文件配置为evince
查看诸如网格划分,电流分布的软件路径位于:
临时文件的保存
保存S参数的文件路径
这样配置可以防止数据被清空导致S参数文件丢失。
黑箱参数配置为t
如何加载EMX的这些脚本?
在virtuoso启动目录的.cdsinit文件中,.cdsinit文件的拷贝目录在:
调用calibre的接口:这里的接口文件是calibre提供的,会调用calibre的接口。
调用EMX的接口脚本:将上文提到的.il脚本加载进来即可。
在.cdsinit当中,还可以定义字体,快捷键等。
打开ciw窗口以检测是否成功。当然还有license的配置。
衬底文件的位置:
Lecture Ⅱ EMX仿真设置详解
首先是process-衬底文件,在process一栏按下回车,会弹出以下的窗口:
对于衬底文件应该做响应的检查,点击X-section的scaled弹出以下的界面:
使用unscaled会查看到略缩图
options里面是设定温度,密钥等。
blackboxed cells作为屏蔽器件进行使用,以后会做介绍。
layout view 是查看gds文件转为emx后的层次效果,比如这个电感:
在这个软件里面可以查看不同层次的情况(这里还没有tsmc65的衬底文件所以左边不对)
查看例子当中的巴伦的设置:
可以查看对应的层次,端口,衬底等信息。
SUB两端有##号是因为label放的位置的原因,对仿真无影响。
放置端口,既可以放置PIN,也可以直接贴label
Edge mesh 一般设置为1,但是仿真mim电容等比较小的器件时需要相应减小,比如
为例和电容的finger大小匹配需要设置为0.1
Thickness默认参数就可以,它不同的设置与趋肤效应有关。
Via merge 是合并,会加快仿真速度,比如距离小于0.5um的过孔会被直接合并。
3D metals ,设置*号代表所有都视为3D
Signals添加label/pin,回车进行输入,其中的depth代表子电路的端口
ground代表参考平面,EMX默认添加GND端口,注意端口的顺序会影响symbol的生成
仿真频率设定仿真的频率范围
点击Advanced,弹出以下对话框:
第一项,第二项是为过孔添加电容/电感模型(因为它们本身只包含电阻模型)若要全部添加则在框中添加*号即可。
第二项是设置边界条件,通常情况下端口要放在金属边沿处,但是如果定义了内部的端口,那么
电流直接从顶部注入而并非从边上注入。此处建议添加pin而不是label
size是internal label的尺寸,如果勾选下方的cadence pins 则是其尺寸。(建议pin)
合并端口不要勾选,否则会短接。
model一般使用RLC去拟合。
CPU的数量如果设置0代表最多使用32个CPU,-1则是使用服务器所有的CPU
memory设置:负数代表剩余值。具体见下图
输出选择s参数,touchstone等均选默认
options可以实现多种功能,比如把网格划分导入matlab
上述就是advanced options的大致介绍,接下来的选项:
其中的Type需要额外的关注。
这里的Results也可以进行选择,比如mod的选择就是会去对S参数进行拟合。mc是蒙特卡洛仿真
仿真完成以后选择create model查看拟合的模型,create view生成symbol等
最下方的clean up会将临时文件清空
选择正确的端口后进行仿真,内建参数的结果如上图所示
生成模型,create model,拟合完成后选择new plot:
可以看出拟合的效果是比较好的。
生成symbol , schemetic,spara均可:
nport的S参数文件指向存储的spara数据文件。
Lecture Ⅲ 衬底文件的撰写--参考文件的选取
语法规则见用户手册。
需要用到的PDK提供的参数:
以SMIC013为例:首先找到工艺库对应的docs,打开SP文件(也即最右边的那个)
找到目录当中的interconnections Models,对应了这里的第105页。
金属层信息:
介质层的信息:
整体展示:
注意通孔的类型,比如CT通孔可能连接Poly也可能直接连接到NWELL。
查看方阻参数:
对于射频电路等特殊电路,加厚层金属的信息:(在RM文件而并非SP文件)
对应的电阻模型参数:
对于寄生参数的文件:需要使用.ict文件,其目录见下:
里面包含了金属层,介质层,过孔的信息:
另外需要注意的就是这个.itf文件了,它是按照晶圆的结构撰写的:(层次化)
在calibre当中也有相应的文件:
与.ict文件区别在于,这里的顺序是反相的,从介质层开始定义。
有一些工艺没有.mipt文件,它的这个文件放在寄生参数的rule里面,比如有些TSMC的信息会放在最顶上被注释掉
65nm的信息如下:
总体而言,首先定义缩放率,单位,再定义各个层
详细介绍:
层次定义
如何找到层次定义?找到layermap文件(层次定义文件)定义了层号以及用途
fill()函数与metal dummy有关,比如fillsize为1的时候,进行EMX仿真时会将其忽略,如果不想忽略任何版图上的东西,将fillsize设置为0即可。当然,也可以为每一层设定过滤参数。
比如ALPA的类型是0,层号是83,则其是
对于金属层,比如M6层定义为drawing和dummy层
merge()函数,比如:
代表将小于4um的过孔合并为一个层加快仿真速度。
由于CT(接触)有可能与AA层(有源区)接触,也有可能与GT层(poly)接触,因而要特殊处理
区分这两种过孔的技巧是,使用*(与运算)定义有源过孔dfCont以及多晶硅过孔polyCont
定义介质
定义衬底,定义其厚度,介电常数,磁导率,电阻率(及其单位),这里是根据.mipt文件定义的
定义电阻率时可以定义温度特性
这里要特别注意layer层和conductor层的顺序,conductor层的与其上面定义的介质,两者的底面是处于同一起点的!
如图,GT层的底面应当与ILD1a的底面处于同一高度!
定义空气层以及过孔层
过孔的定义必须与前文的层次定义相同!
上述没有考虑到工艺的偏差参数(比如长度的偏差)
先进工艺的对比
事实上,对于先进工艺而言,proc文件需要更细致的定义,这里以smic40nm为例:
这里的.ict这是对金属m1的定义:这里定义了温度系数,电阻率,方阻(电阻率/厚度),可以看到,不同的宽度和间距
对应的电阻率是不同的,相应的方阻也不同,这里还定义了扩展偏差变量
对应的.proc文件当中:
这里的结果是方阻(最后除以了金属的厚度!)每一行是固定了宽度,改变了金属间距所得到的电阻率。
并且定义了边沿的偏差带来的影响:
定义金属的各项参数时加入:
比如像m5层,使用table变量达到电阻率的计算:(M5_res为table变量)
对于过孔的定义,可以写成这种中括号的形式:
这里定义了过孔的尺寸,过孔的电阻值以及过孔材料的电阻率
查看正确与否使用EMX当中的Scale即可。
特殊需求的解决
比如倒装工艺的解决方案:
这里要注意顺序不能错,要考虑倒装后是否层次顺序正确。
这里的空气层要定义在底部。
Lecture Ⅴ 版图仿真以及黑盒的使用
基本仿真步骤
以这个圆形电感为例:
这里为了防止AA,GT,M1的涡流,某些地方需要断开
其参数如下:
首先定义信号端口:
再将衬底连起来,在上下添加pin:
进行仿真设置,这里需要添加电感电容的特性,但是这样仿真量较大。
最终得到电感的结果:
可见感值结果相近,而Q值相差较大,从已有的工程经验来看,这个结果是可信的。
再进行模型的拟合,可见拟合效果较好。
拟合出来的模型:
接下来,使用得到的spara进行仿真:
首先建立电感的testbench,在其中新建config文件,并选用spectre作为模板::
将schemetic替换为nport并保存:
打开config文件,选择原理图查看,读取子电路发现确实是nport的模型。
解决LVS检查不通过的方法--黑盒屏蔽
屏蔽方法可以将有源电路和无源部分分开,方便对无源电路进行仿真。
进行仿真,loadstate的时候不要勾选model setup!
得到AC仿真的结果(单端输入,差分输出):
得到sp仿真的结果:
匹配情况(Z-Smith)
现在讨论不让器件生成网表以至于过不了LVS的情况:
首先选中巴伦,选中Edit-cellview将参数增加,注意nlAction不要写错了!
根据layout短接其它的端口,但是正端和负端不能直接短接,方法是在两个输入之间接一个电阻
设置黑盒子将LNA的版图全部屏蔽掉:
Lab:使用RFIC_GPT+EMX对电感进行仿真
使用PDK进行电感的仿真(28GHz)
从PDK中提取两个电感,其中一个为多圈电感,电感值在2nH左右,另一个为单圈电感,电感量在200ph左右,将其版图化简,导入电磁场仿真工具中进行仿真,将仿真得到的S参数与PDK的仿真结果进行对比,分别在一张图上画出电感量和Q值随频率得对比曲线。
培训报告中提交HFSS模型文件和仿真结果对比图。
首先使用工艺库当中的电感进行仿真,其参数如下图所示:
如上图有:
使用EMX仿真如下图所示:
可见其仿真结果为:
下面对比了几款仿真软件对于同一个电感的仿真:首先使用RFIC_GPT和HFSS进行仿真:
Cadence进行sp仿真如下:
再使用EMX进行仿真: