开始
1、 软件如下
2、 双击进入软件,点击connect,在Password中输入sd2013,点击OK。
3、显示桌面
4、 打开终端,即点击鼠标右键,选择 open terminal
5、在终端内输入pwd,即可显示当前工作目录。ls 显示目录下的内容。我们可以建立VLSI文件夹,即输入mkdir VLSI;cd VLSI即进入VLSI文件夹;输入 icfb & ,再点击回车,就会出现如图所示的CIW(Command Interpreter Window),即命令解释窗。
6、建新库,在库里面我们将画出反相器电路图、振荡器电路图和版图三个cell。
① 在CIW中,点击File→New→Library...;
② 在New Library对话框内输入库名,例如ring_osc;并在Technology File 中选择第一项,compile a new techfile.,然后点击Browse,在打开的FILE Browser中的File中输入/tools/cadence/cds5141/tools.lnx86/dfII/samples/techfile,点击回车,下拉辐条,找到sample2003.tf,点击OK一路返回,将提示tf文件加载成功。
反相器篇
7、建立新文件,先画反相器电路图
①在CIW中,选File→New→Cell view...,=>“Create New File”对话框。②在Library Name,选刚建的库zdq, ③在Cell Name中输入单元名,inv,④点击Tool文本区右端的按钮,出现下拉菜单。选择Composer-Schematic,在View Name内自动生成Schematic。⑤按OK键=>“Virtuoso Schematic Editing”(电路图编辑窗 )。
8、加器件
① 选命令Add→Instance...,出现“Add Instance”对话框。
② 点击Browse按钮,出现Library Browser ,在library一栏中选择analoglib,库中包含花振荡器的所有cell,如pmos4,nmos4.并在View中选择symbol,再点击HIDE,将器件添加即可。
③修改器件尺寸,选中期间,即将鼠标单击器件,若器件被白色方框包围,则代表选中。按字母q,进行修改,如图,我们修改pmos 在model name 处输入P并设置l=350n,w=3u.类似我们修改nmos在model name 处输入N,并设置l=350n,w=2.4u
9、连线。点击图标,或直接点击字母w。
10、添加反相器输入、输出引脚
① 点击屏幕左下方按钮,如图添加输入引脚,重复此过程,添加输出引脚output,我们可以命名为vout
② 结果如下图
11、检查并存盘。即点击图标。观察CIW中check是否出现error。
12、建立symbol,目的是以后用到反相器可以直接调用。
13、进行INV的电压传输特性曲线的仿真
A 创建新的cell,名字为 test_inv
B 在test_inv里面添加我们刚刚创建的INV,方法如下
C 我们再按照以上的方法依次添加analoglab里面的vdc、vpulse、cap和gnd. 如图
D 连线,点击字母w.
E 修改电压源的参数,即选中vpulse,点击q .同理我们可以修改vdc直流电压为1.8v。cap 修改为1pf.
F check and save 一下,我们进行仿真环境,点击左上角tools ,analog environment
G 设置仿真库,如图点击setup,菜单下选择model libraries,在出现的对话框内
直接输入
/tools/cadence/cds5141/tools.lnx86/dfII/samples/artist/spectreExamples/osc/models,不要点击回车,直接点击右下角Browse,在对话框内选择corner_lib.scs,选择ok ,在对应的红色框内(section)输入typ,再Add。
H 设置vpulse直流电压,如图,将其设置为1.8v
I 设置仿真类型,因为做inv电压传输特性曲线,所以选择dc分析。我们还要做TRAN分析。如图
J 在图中选择要仿真的连接输出pin和电容的线
K 输出仿真结果
L 分析结果,符合反相器的电压传输特性曲线
振荡器篇
14、画出环形振荡器电路图
① 建立新文件
②调用刚才自己在ring_osc库下画的inv,来组成振荡器。
③进行瞬态仿真(下文详细介绍),因为直接调用,管子尺寸全部一样,导致震动效果不是很好。于是我尝试了方法B。
B
① 们可以再次建立一个新的文件,名为test1,然后我们将按照下图连接。
② 真前我们将其vdd电压设置为1.8,以及各个管子尺寸(按q修改)。如图
③点击左上角Tools→Analog Environment,出现Analog design对话框,先设置输入节点vdd和vss的电压值,再点击Analyses,默认的选择tran,在stop time 中写下50n,如图
④再点击Output→To be plotted →SelectOn Schematic,,再图中点击将反相器输入和输出端连接起来的导线,再点击analog design对话框中的右下角run按钮,再ok ,将出现仿真结果,如图,查看仿真结果,产生自激震荡。
版图篇
15. 建立新文件,画振荡器版图
①在CIW中,选File→New→Cell view...,=>“Create New File”对话框。②在Library Name,选刚建的库ring_osc, ③在Cell Name中输入单元名,例如test2,④点击Tool文本区右端的按钮,出现下拉菜单。选择Virtuso,在View Name内自动生成
layout。⑤按OK键=>“Virtuoso Layout Editing”(版图编辑窗 )和和LSW:Layer Select window(层选择窗)。
。
16、在LSW中选择Edit菜单下的Display resource editor .,在这里我们可以对所用到的layers进行一些加工,比如修改颜色、设置填充格式等等,以poly为例,设置完点击apply。
17、全部设置完成之后,直接点击右上角关闭按钮,提示是否保存,点击yes,再点击ok
18. 使用Option菜单进行版图编辑窗设置。选命令Option→Display…<e>,出现“Display Options”对话框 。在 Grid Controls处, 4个参数的缺省设置为1、5、0.5和0.5。对于tsmc.0.18μm的设计规则,可设置为0.1、0.5、0.01和0.01。
19、 花振荡器版图。我们可以先花一个反相器的版图,再进行复制。花版图时要遵循设计规则,即最小间距,最小包围等。我们使用的tsmc18rf,其中设计规则我自己做DRC(设计规则检查)时总结一些,详件下文。
A. 画pmos管。在lsw中选择diff (选择后缀为dg,即drawing绘图,其它层类似,选dg)作为输入层,再选花矩形的命令(按字母 r ),在屏幕中央花有源区矩形。竖直距离(W)设置为1.8,水平距离(L)设置暂不要求。
B. 画多晶硅栅极。多晶硅位于有源区中部,也为矩形。宽度0.3um.可用直尺命令(左下角Ruler)进行测量。多晶伸出有源区不小于0.22um.如下图。注意,要严格按照设计规则来画,不然DRC时会报错。
C. 画源区和漏区接触孔。输入层在LSW中选择cont-dg,也为矩形,大小为0.22um×0.22um。
画完一个接触孔,其它的用复制(点击键盘字母 C ,再选择器件,单击后进行)即可。注意接触孔离栅极要大于0.16um。若不满足可将其移动 (点击键盘字母 M )。
D. 在有源区外画P+注入的矩形。即选择PIMP层,满足最小包围,并且它离gate栅极要至少0.35um。
E.在P+注入区外再画NWELL的矩形,为满足最下包围,不妨画大些。如图。到此为止,除了金属连线,pmos基本完成。
F. 画nmos管。因为nmos和pmos差不多,可将pmos管包括pinp以内的层复制过去,并加以修改即可。1.修改有缘区W为0.8um。2.减小一个接触孔,并将pimp和有源区向上移动。3.将拷贝后的pimp改为nimp(选中设计层,点击键盘字母Q,进行修改并ok)。
G. 进行连线。用Metal1进行连线,将p管和n管的漏极连接起来作为反相器的输出。然后用metal1作为输入层在pmos上方华裔矩形作为电源vdd,并将其连接到p管源区的接触孔同理画出vss,也将它与nmos管的源区连接。如图
H. 画衬底接触。将p管源区接触孔拷贝(点击鼠标右键)并旋转90°,放到金属电源vdd空白处。需要画个有源区矩形包围住这些接触孔,再画个nimp,包围住有源区。
如图
I.
将vdd中nimp,有源区,和接触孔拷贝到vss中,再将nimp改为pimp.如图
J. 在mos管的间隙加一段多晶与多晶栅极连接,作为反相器的输入。并在其中打上cont接触孔一个。再加一段金属乐于输出金属连接作为输出。如图
K. 将图中同层矩形组成的多边形进行合并(Edit→Merge),包括前面的步骤中。
L. 建立标记。按字母L,将vss和vdd标注上。
M. 将反相器进行复制(字母C),复制五个。
N.将nwll进行合并,把反相器输出于下一个输入相连接,把最后一个输出连第一个输入,并进行合并。如图,这样就完成了。然后保存即可。
20、 用calibre做DRC。首先我们要建立一些相关路径,比如建立drc路径,把drc commandfile放到该路径下。我建立了/home/cadence/tsmc/DRC,并且把calibre.drc复制在DRC里。
A. 打开所要run的cell,即我们甘冈画的振荡器版图。点击窗口栏里面的calibre,选择run drc,会弹出一大一小窗口;
B. 把load Runset File那个小窗口cancel掉。点窗口左侧的第一个Rules,并选择浏览(…),把calibre.drc找出并填入。把相应的run的路径填入,这个就是错误报告放置的
位置。
C.点击左侧Inputs,如果选中“export from layout viewer”选项,则默认为系统自己做gds。如果此选项关闭,则需手动选择GDS,并给出其绝对路径
D.选择outputs,此处为验证后生成的report文件。(drc.out&drc.sum文件),系统给出的文件预设输出为cell name.drc.summary,即为dracula的.sum文件,其他选项都以预设操作即可。
E.前面的准备工作完成之后点击第五项“run drc”,开始版图的设计规则验证工作。之后,第五项就变为“stop drc”,随时可以停止。验证完成之后会自动开启Start RVE 功能模块。
F.在Drc RVE左上角就可以看出有6个错。我们一般会通过Drc RVE来查询drc.results,单击错误,下面会显示错误原因 ;直接双击,其错误就会在版图上高亮度出现。
G.修改版图中出现的错误。然后保存版图,再次进行DRC,直接点击run drc即可,直到错误消失为止。
21 用calibre做LVS.
首先我们把需要的文件放到同一个路径下:建立一个lvs的路径,把lvs commandfile、netlist等放到lvs路径下。我建立了/home/cadence/tsmc/LVS,并将calibre.lvs放入其中,还少网表文件。
A ,生成网表文件。在CIW中,选命令File→Export→CDL
B .在Library Browser中,填写后面几个区域的内容。Run Directory默认是当前目录,可以将其放入我们自己将建立的LVS目录里面。然后点击OK ,就会出现Analysis Job sicceed.
C. 打开所要run的cell,点击窗口菜单栏里的calibre,选择run lvs,会弹出如右图窗口。取消掉小窗口。
D. 在相应位置填入相应的文件路径及名称,calibre.lvs然后load一下。选择验证路径。
E.点击左侧第二项inputs,选择layout项,如果把“export from layout viewer”选项选中,则默认为系统Stream out GDS。如果此选项关闭,则需要自己选择验证所需GDS。
F .点击Netlist选项,在Files栏里填入netlist的路径和名字(可以浏览选择),在Top cell栏里填入要验证 的cell 在netlist中的名称。
G. 点击第五项“run lvs”,开始版图的LVS验证。之后,第五项就变为“stop lvs”,可以随时停止验证工作。验证完成之后会自动开启Lvs RVE。Run完后,会弹出两个窗口,一个是report,一个是lvs RVE的,如图,有笑脸的为lvs ok的,但是有一个叉号,说明此cell有误。
H.点开错误1,双击layout name中的net10,会在layout图上高亮这个错误,我们可以修改错误,再继续做LVS,直到出现笑脸为止。
因篇幅问题不能全部显示,请点此查看更多更全内容