搜索
您的当前位置:首页正文

反相器cadence

来源:榕意旅游网


开始

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,直到出现笑脸为止。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top