Cadence工具VirtusoDracula入门介绍
CADENCE工具VIRTUSO/DRACULA入门介绍(2)
1.使用VIRTUSO/DIVA/DRACULA之前的准备(2)
1.1.找一台装有IC工具的服务器(2)
1.2.连接到这台计算机上(2)
2.IC工具的软件环境配置(3)
2.1.创建IC工具的启动目录,即工作目录。(3)
2.2.将配置文件拷贝到IC工具的启动目录(3)
2.3.将工艺文件和显示文件拷贝至工作目录(3)
2.4.启动IC工具,命令为icfb&(3)
3.IC工具的使用(4)
3.1.新建一个设计库(4)
3.2.Compile一个工艺文件(5)
3.3.创建新设计(5)
3.4.编辑电路图(5)
3.5.编辑版图(6)
3.6.根据习惯改变版图层次的显示特性(7)
3.7.完成版图编辑之后保存,退出(8)
4.版图的DRC检查(8)
4.1.基于Diva的方式(不推荐)(8)
4.2.基于Dracula的方式(推荐)(8)
5.LVS(10)
5.1.准备版图的GDS文件(10)
5.2.准备电路网表(10)
5.3.用LOGLVS转换电路网表成LVS要求格式(11)
5.4.修改lvs的命令文件(12)
5.5.运行PDRACULA来生成lvs任务的可执行文件(12)
5.6.在控制台下,运行文件(12)
5.7.查看错误(12)
5.8.修正版图或网表错误(13)
6.一些小经验(13)
7.附件清单(14)
Cadence工具Virtuso/Dracula入门介绍
(以上华0.6umDPDM工艺设计库为例)
Cadence是一套功能强大的EDA软件,包含有诸如IC、SE等常
用芯片设计工具。其中IC是针对全定制芯片设计应用的,IC本身仍是
一套工具集。本手册主要讨论其中的全定制版图设计工具Virtuso和验
证工具Diva/Dracula之使用方法。其中Diva是基于Xwindow的方
式,而Dracula是基于命令行的方式;Virtuso中提供这两者的相关接
口。
采用Virtuso/Diva/Dracula进行芯片的设计和验证大致有如下几
步:准备schmematic(电路)、画layout(版图)、作版图设计规则检查
(DRC)、做电路与版图的一致性检查(LVS)、导出最终版图的gds文
件。
缩写术语:
ERC:ElectricalRuleCheck
DRC:DesignRuleCheck
LVS:LayoutVersusSchematic
LPE:LayoutParameterExtraction
PRE:ParasiticResistorExtraction
1.使用Virtuso/Diva/Dracula之前的准备
1.1.找一台装有IC工具的服务器
Virtuso不能单独安装,所以只有在安装了IC工具的计算机上才
能使用。
[例]机房的10台服务器(IP:219.223.169.111到219.223.169.120)
都能使用Virtuso/Diva/Dracula.
1.2.连接到这台计算机上
除非是在自己的计算机上安装有IC工具,否则您必须保证能够从
您的计算机远程登录到装有IC的服务器上。
[例]以登录服务器IC来说明远程登录方法:
a.向管理员申请用户(每个人都已经有了一个用户)
b.下载远程登录软件Exceed,
在本地计算机上安装;
安装完毕之后进行远程登录配置:
在开始菜单à程序
àanguageàExceedàClient
Wizard设定xterm,Host:219.223.169.111,Hosttype:Linux(下
拉菜单选择),其余next即可。c.完成登录。
采用其它方式比如vnc、xWin、SSHSecureShellClient等远程
终端方法登录。
『注意』使用不同的远程登陆软件连接服务器;不同的服务器所
需的软件设置均有所不同,配置细节请咨询曾经使用过该登陆软件的
师兄师姐或同学。
2.IC工具的软件环境配置
2.1.创建IC工具的启动目录,即工作目录。
[例]:mkdirproject↙
『注意』建了此目录之后,此后尽量在此目录下启动IC工具。
2.2.将配置文件拷贝到IC工具的启动目录
将IC工具自带的.cdsinit文件拷贝过来
1.在命令行窗口中执行命令
instdir↙
得到IC的安装目录:/usr/cadence/IC50/tools/dfII
2..cdsinit文件在上面得到目录下的cdsur目录中,将其copy
到刚刚建立的工作目录下cd/usr/cadence/IC50/tools/dfII↙
cp./cdsur/.cdsinit~/project↙
这样,在原理图和版图界面中就可以使用快捷键了
3.在工作目录中定义工艺库文件
在LibraryPathEditor中指定工艺库路径。该步的操作结果将保
存到工作目录下的文件中。
『注意1』:所有的库或其他任何一个设计目录要被下面即将启动
的CIW所使用,都必须于使用前在工作目录下的文件作定义,
指明其引用名称(在cadence环境中的标识名)及绝对路径。
『注意2』为了能使用Cadence自带的一些库(如画电路图时的
Basicsymbols),需要添加一些IC自带的常用库。一种方法是在
文件的开头部分添加“INCLUDE/share/cdstup/”.
在命令行中输入instdir可查看工具IC的可执行程序所在目录。
[例]在服务器iclinux命令行窗口下输入instdir可得到:
/usr/cadence/ic5033/86/dfII,则工具IC的安装目录为
/usr/cadence/ic5033/,需要在工作目录下的文件中添加的内容
为”INCLUDE/usr/cadence/ic5033/share/cdstup/”
另一种方法是直接将通过上述方法找到的拷贝到工作目录。
2.3.将工艺文件和显示文件拷贝至工作目录
工艺文件:
显示文件:
用自己的用户名和密码通过FTP上传到目录:~/project中
2.4.启动IC工具,命令为icfb&
[例]:cd~/project/
icfb&↙
出现CIW窗口,如图1所示。以后大部分操作都是从这个窗口开始
的。
图1CIW窗口
3.IC工具的使用
3.1.新建一个设计库
在CIW窗口,点击File→New→Library弹出NewLibrary窗
口.在Name输入框中输入设计库名字,在右边TechnologyFile处选
择Attachtoanexistingtechfile。点击OK。一般每个芯片设计都采
用一个对应的设计库。然后在这个设计库下面创建各个子模块。
[例]:如图所示,创建clock设计库。
图4NewLibrary
3.2.Compile一个工艺文件
在弹出的LoadTechnologyFile窗口中,填上TechnologyFile
的路径名,点击OK。编译通过之后,会弹出一个对话框,告知编译通
过。
[例]:如图5所示。将新建的设计库clock与工艺库相
关联。
图5Compile工艺文件
3.3.创建新设计
在CIW窗口,点击File→New→Cellview,弹出CreateNew
File窗口,在CreateNewFile窗口,将LibraryName项选择为刚才
所创建的库,在CellName项输入要创建的Cell名,在Tool项,选择
Compor-Schematic则为编辑电原理图,选择Virtuoso则为编辑
版图;点击OK
[例]:如图5所示。LibraryName选为clock;CellName输入
inverter.
图6、NewCellview
3.4.编辑电路图
用3.3的方法为cell创建一个的schematicview。用Compor-
Schematic编辑电路图。编辑原理图时可使用cadence自带的
analogLib库中的model。
『注意』如不能找到analogLib库则根据2.6中『注意2』进行设
置。
编辑完之后,选Design->DesignandSave,如果有错则改正;
没有错误后便可保存电路图,退出编辑。
常使用的快捷键说明:
i:添加新元件;
q:元器件属性
p:添加输入输出pin
l:添加wirename
w:添加连接线
W:添加总线
Shift+x:存盘并进行ERCcheck
[例]如图6所示。大部分菜单项上都有相应的快捷健定义。
快捷键
图6、电路图编辑环境
3.5.编辑版图
用3.3的方法为一个cell创建一个Layoutview。用Virtuoso编
辑版图。
打开Vituoso编辑窗口的同时,会弹出一个细长型的窗口,其名称
为LSW,该窗口定义了版图各层的显示特性。LSW=LayerSelect
Window
画版图的基本操作步骤为:在LSW中选定相应层,然后在版图编
辑窗口的Create下选要画的几何形状,再在可编辑区域完成绘图。而
且可以调用前面创建的csmc06库中的pcell。版图编辑有很多快捷键
可用。它们的定义都可以在相应的菜单项上找到。
[例]如图7所示,编辑inverter的layoutview。
图7LSW窗口及版图编辑窗口
3.6.根据习惯改变版图层次的显示特性
方法为LSW->Edit->DisplayResourceEditor;在弹出的窗口中
可以重新定义个层次的显示特性(边框线型及颜色、填充类型及颜色
等等);定义之后单击Apply按钮,LSW中将发生相应改变。退出
DisplayResourceEditor时可以保存到中,从而使得这次
修改在每次icfb&启动之后都能生效;也可以不保存,再次打开LSW
时将恢复到默认形式。[例]如图8所示
图8DisplayResourceEditor
3.7.完成版图编辑之后保存,退出
4.版图的DRC检查
有两种方式:基于Diva和基于Dracula。
4.1.基于Diva的方式(不推荐)
基于Diva的DRC检查,操作比较简单,但效率不高,不推荐使
用。这里只作简单说明。
将DRC命令文件放在工作目录,然后打开需要做DRC的Layout
View,在弹出窗口中
选Verify->DRC.在弹出的DRC对话框中单击SetSwitches,在
SetSwitches对话框中选
择all,单击OK;在DrcRules框中填DRC命令文件名,单击
DRC对话框中的OK。
DRC的结果会在CIW窗口显示,若有错误,在版图上也会出现许
多对角连线的矩形框。要查看错误种类,单击VerifyàMarkers
àExplain,此时鼠标指针处有一个小方块,选中连线中的其中一条,
就会弹出一个窗口,说明错误类型。修正错误,直至DRC完全通过。
4.2.基于Dracula的方式(推荐)
基于Dracula的DRC检查,效率较高,是一种工业标准,推荐使
用。
操作步骤:
a.在~/project/目录下创建verify目录,并在verify目录中分别
为DRC和LVS创建目录drc以及目录lvs
b.准备DRC和LVS命令文件:
[例]上华提供的DRC和LVS文件为和,
将它们分别上传至verify中的目录drc以及目录lvs中
c.准备版图的GDS文件:CIW窗口FileExportStream…
[例]CIW窗口FileExportStream…,在弹出的窗口中用Library
Browr选择clock库中的Inverter(view选择layout)做如图9设
置(注意RunDirectory设置为
verify/drc),然后点击OK;
图9gds的导出
导出成功后,会出现对话框显示
PIPOSTRMOUT(PID=ipc:1)completedsuccessfully,elog
file'./'formoredetails.
d.修改DRC的规则文件
[例]修改DRC的命令文件(如)的前几行输入输出,
指明要检查的GDS文件的路径名称:
;-----------------------------------------------------------------
----------;……………………………………………………………INPUTGDS2
INDISK=(需修
改);……………………………………………………………ERRORGDS2
OUTDISK=
;……………………………………………………………TOPCELLNAME
PRIMARY=inverter(顶层元件)(需修改)
;-----------------------------------------------------------------
----------
并将KEEPDATA=SMART改为KEEPDATA=YES(已经修改)
e.控制台下,cd~/project/verify/drc敲入:PDRACULA(一定
要大写),启动命令行界面;
f.该界面下,敲入/g空格
g.如果编译无误,敲入/f,退出PDRACULA界面。察看是否生成
文件,此即真正用来进行DRC检查的命令文件;
h.在控制台下,执行如下命令./
i.检查完毕,在版图窗口,打开inverter的layout,选择
Tools->DraculaInteractive,出现DRC菜单选项,选择其下的tup,
对检查过后得到的数据文件路径进行设置(如下图所示),如果有
DRC错误,则跳出几个显示窗口,可以通过它们观察并定位错误;点
击viewDRCError窗口上的FitCurrentError可定位当前错误;Rules
LayerWindow显示该错误违反了哪条设
计规则,可根据该规则去DesignRule中去查询错误的改正方法。
j.修改完毕,重新输出GDS文件,再次检查,直至无误,点击
DRC->quit退出DRC检查。5.LVS
也有两种方式:基于Diva的方式和基于Dracula的方式。基于
Diva的方式在LVS之前要做Extrated(版图网表提取)。提取和LVS的
操作类似DRC,这里不再细述。
基于Dracula的方式:
5.1.准备版图的GDS文件
[例]导出版图的GDS文件:(或可直接用上一步得
到的GDS2文件);
5.2.准备电路网表
若采用cadence编辑的电路图,则可以参照下例导出电路网表。
别的工具如ePD也可以进行电路图的输入并导出用于LVS的电路网表。
[例]导出前述设计inverter的电路网表。
导出schematic的CDL文件netlist:CIW窗口FileàExportà
CDL…在弹出的窗口中用LibraryBrowr选择clock库中的interver
(view为schematic)做如图10设置,然后点击OK;
图10CDL的导出
注1:所要做的改动:取消选择RunInBackground选项;单击
LibraryBrowr找到要输出的原理图;修改RunDirectory为LVS的
工作目录~/project/verify/lvs;修改ResistorThresholdValue为20
(此数值为版图提取的时候可以识别的电阻的阈值,即小于此数值的
电阻将不予识别);修改OutputFile为;如果在实际
layout设计中使用了电阻和电容,那么在图片中的CheckResistors
和CheckCapacitors两行选项中分别选中value。
注2:导出之后的cdl文件中的MOS管模型名称需要修改为与版
图提取的模型名称一致,lvs检查方可通过
例如:PMOS模型应由PM改为P,NMOS模型应由NM改为N
原cdl文件语句为:
……
MM1outinavddavddPMW=2uL=600.0nM=1
MM0outinagndagndNMW=2uL=600.0nM=1
……
修改为:
……
MM1outinavddavddPW=2uL=600.0nM=1
MM0outinagndagndNW=2uL=600.0nM=1
……
电阻,电容也需要作相应的修改,修改目标可以在后面介绍的
中观察到
5.3.用LOGLVS转换电路网表成LVS要求格式
[例]控制台下,cd~/project/verify/lvs敲入LOGLVS,出现命令
行界面;
该界面下,依次敲入htv;(导出的cdl文件);
coninverter(原理图中顶层电
路名);用exit退出该界面;
5.4.修改lvs的命令文件
[例]修改(LVS的命令文件)的前几行输入输出,指明
要检查的GDS文件和网表文件的路径:
;-----------------------------------------------------------------
----------DESCRIPTION
;------------------------------------------LAYOUT
INDISK=;INPUTLAYOUTFILENAME(需要修改)
PRIMARY=inverter;LAYOUTTOPCELLNAME(需要修改)
;------------------------------------------SCHMATIC
SCHEMATIC=;INOUTSCHEMATICFILE
NAME
OUTDISK=
;------------------------------------------VDD/GNDNAME
并将KEEPDATA=SMART改为KEEPDATA=YES
LVSCHK[LS]...改为LVSCHK[XRE]...
5.5.运行PDRACULA来生成lvs任务的可执行文件
[例]控制台下,cd~/project/verify/lvs敲入:PDRACULA,启
动命令行界面;
a.该界面下,敲入/g空格(LVS命令文件名);
b.如果编译无误,敲入/f,退出PDRACULA界面,察看是否生成
文件,此即真正用来进行LVS检查的文件;
5.6.在控制台下,运行文件
./
5.7.查看错误
检查完毕,在版图窗口,打开inverter的layout,选择
Tools->DraculaInteractive,出现LVS菜单选项,选择其下的tup,
对检查过后得到的数据文件路径进行设置([例]~/project/verify/lvs),
则跳出一个错误显示窗口,可以通过它观察是否有错,并定位错误;
注:查看错误报告文件,可以得到更多的有关错误的信息!
下面为中的一段
…
TYPESUB-TYPETOTALDEVICEUN-MATCHEDDEVICE
.
MOSPM1010
MOSNM1010
MOSP0101
***************************************************
**/W*--SCHEMATICANDLAYOUTMAYNOTMATCH**
**CHECKALLABOVEDISCREPANCY**
**ANDWARNINGMESSAGES**
***************************************************
……
可以看出,原理图(SCH)与版图(LAY)中的模型名称不一致,
器件个数也不一致,原理图中有一个N管,一个P管,版图中仅有一
个P管。在这里,也可以知道如果cdl中的模型名称不正确,我们需要
修改的目标(PM->P,NM->N)
5.8.修正版图或网表错误
修改完毕,重新输出GDS文件,再次检查,直至无误。
6.一些小经验
以下是一些同学使用过程中的心得小经验。罗列出来与大家分享:
1)vi编辑器简介,
vi编辑器有两种模式,控制模式和输入模式,在输入模式下按Esc
键退到控制模式,控制模式下箭头键移动光标。小写x删除当前字符;
而小写i插入字符进入输入模式(即直接响应键盘输入)。如在上述带
PAD的netlist文件改动中,启动vinetlist后用箭头键先将光标移动
到m=16的6的位置,小写i,然后输入6$LDD[FN],再ESC到控制
模式,删除多出的数字6。其它改动同上操作。
对于详细的vi帮助可在unix/Linux的命令行提示符下敲入man
vi↙2)版图设计中牢记快捷键可以大大加快编辑速度。
3)使用cadence编辑电路图时,若晶体管的长和宽正好为默认
长度,则导出的cdl中,相应的晶体管参数将不完整,无法作Lvs。
比如一个nmos管,它的Width和Length默认为是9um和
540nm,那么设计中的管子使用了540nm,导出cdl时没有Length
的参数。改动办法,在icfb窗口中,
toolsàCDFàEdit,browr选择CZ6_LAY中的nenh,改变其默
认参数,如图11示:
图11改变mos管缺省设置
4)版图编辑过程中最好是每完成一个小模块的编辑就做相应的
drc和lvs。这样在总电路的drc和lvs时纠查时就容易多了,可以大大
加快设计进度。
5)对于首钢工艺,Layout设计完毕时,必须在外面加一29层
(layer29)的大框(框住所有元件即可),表示当前cell大小,否则
导出gds文件做lvs检查时有错,无法有效识别元件。
7.附件清单
.cdnv
.cdsinit
本文发布于:2023-01-02 12:44:54,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/77779.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |