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.准备电路网
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
................................................................................................................. 10
5.3.用 LOGLVS转换电路网表成 LVS要求格式 ................................................................. 11
5.4.修改 lvs的命令文件....................................................................................................... 12
5.5.运行 PDRACULA来生成 lvs任务的可执行文件.......................................................... 12
5.6.在控制台下,运行 jxrun.com文件................................................................................. 12
5.7.查看错误......................................................................................................................... 12
5.8.修正版图或网表错误...................................................................................................... 13
6.一些小经验............................................................................................................................ 13
7.附件清单 ............................................................................................................................... 14
Cadence工具 Virtuso/Dracula入门介绍
(以上华 0.6um DPDM工艺设计库为例)
Cadence 是一套功能强大的 EDA 软件,包含有诸如 IC、SE 等常用芯片设计工具。其
中 IC是针对全定制芯片设计应用的,IC本身仍是一套工具集。本手册主要讨论其中的全定
制版图设计工具 Virtuso和验证工具 Diva/Dracula 之使用方法。其中 Diva 是基于 Xwindow
的方式,而 Dracula是基于命令行的方式;Virtuso中提供这两者的相关接口。
采用 Virtuso/ Diva/Dracula进行芯片的设计和验证大致有如下几步:准备 schmematic(电
路)、画 layout(版图)、作版图设计规则检查(DRC)、做电路与版图的一致性检查(LVS)、导
出最终版图的 gds文件。
缩写术语:
ERC: Electrical Rule Check
DRC: Design Rule Check
LVS: Layout Versus Schematic
LPE: Layout Parameter Extraction
PRE: Parasitic Resistor Extraction
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,
在本地计算机上安装;
安装完毕之后进行远程登录配置:
在开始菜单à程序àHummingbird.Exceed.v7.1.MultilanguageàExceedàClient Wizard设
定 xterm,Host:219.223.169.111,Host type: Linux(下拉菜单选择),其余 next即可。
c.完成登录。
采用其它方式比如 vnc、xWin、SSH Secure Shell Client等远程终端方法登录。
『注意』使用不同的远程登陆软件连接服务器;不同的服务器所需的软件设置均有所不同,
配置细节请咨询曾经使用过该登陆软件的师兄师姐或同学。
2.IC工具的软件环境配置
2.1.创建 IC工具的启动目录,即工作目录。
[例]:mkdir project↙
『注意』建了此目录之后,此后尽量在此目录下启动 IC工具。
2.2.将配置文件拷贝到 IC工具的启动目录
将 IC工具自带的.cdsinit文件拷贝过来
1.在命令行窗口中执行命令
instdir↙
得到 IC的安装目录:/usr /cadence/IC50/tools/dfII
2. .cdsinit文件在上面得到目录下的 cdsuser目录中,将其 copy到刚刚建立的工作目录下
cd /usr/cadence/IC50/tools/dfII↙
cp ./cdsuser/.cdsinit ~/project↙
这样,在原理图和版图界面中就可以使用快捷键了
3.在工作目录中定义工艺库文件 cds.lib
在 Library Path Editor 中指定工艺库路径。该步的操作结果将保存到工作目录下的
cds.lib文件中。
『注意 1』:所有的库或其他任何一个设计目录要被下面即将启动的 CIW 所使用,都必须于
使用前在工作目录下的 cds.lib文件作定义,指明其引用名称(在 cadence环境中的标识名)
及绝对路径。
『注意 2』为了能使用 Cadence自带的一些库(如画电路图时的 Basic symbols),需要添加
一些 IC自带的常用库。一种方法是在 cds.lib文件的开头部分添加 “INCLUDE
/share/cdssetup/cds.lib” . 在命令行中输入 instdir 可查看工具 IC的可执行程序所在目
录。
[例]在服务器 iclinux命令行窗口下输入 instdir可得到:/usr/cadence/ic5033/tools.lnx86/dfII,
则工具 IC的安装目录为/usr/cadence/ic5033/,需要在工作目录下的 cds.lib文件中添加的内容
为”INCLUDE /usr/cadence/ic5033/share/cdssetup/cds.lib”
另一种方法是直接将通过上述方法找到的 cds.lib拷贝到工作目录。
2.3.将工艺文件和显示文件拷贝至工作目录
工艺文件:techfile.tf
显示文件:display.drf
用自己的用户名和密码通过 FTP上传到目录: ~/project 中
2.4.启动 IC工具,命令为 icfb&
[例]:cd ~/project/
icfb &↙
出现 CIW窗口,如图 1所示。以后大部分操作都是从这个窗口开始的。
图 1 CIW窗口
3.IC工具的使用
3.1.新建一个设计库
在 CIW 窗口,点击 File → New → Library 弹出 New Library 窗口. 在 Name 输入框中
输入设计库名字,在右边 Technology File 处选择 Attach to an existing techfile。点
击 OK。 一般每个芯片设计都采用一个对应的设计库。然后在这个设计库下面创建各个子模
块。
[例]: 如图所示,创建 clock设计库。
图 4 New Library
3.2.Compile一个工艺文件
在弹出的 Load Technology File 窗口中,填上 Technology File 的路径名,点击 OK。编
译通过之后,会弹出一个对话框,告知编译通过。
[例]:如图 5所示。将新建的设计库 clock与工艺库 techfile.tf相关联。
图 5 Compile工艺文件
3.3.创建新设计
在 CIW 窗口,点击 File → New → Cellview, 弹出 Create New File窗口, 在 Create
New File 窗口,将 Library Name 项选择为 刚才所创建的库, 在 Cell Name 项输入要创
建的 Cell 名,在 Tool 项,选择 Composer-Schematic 则为编辑电原理图,选择
Virtuoso 则为编辑版图;点击 OK
[例]:如图 5所示。Library Name 选为 clock;Cell Name输入 inverter.
图 6、New Cellview
3.4.编辑电路图
用 3.3的方法为 cell创建一个的 schematic view。用 Composer-Schematic编辑电路图。
编辑原理图时可使用 cadence自带的 analogLib库中的 model。
『注意』如不能找到 analogLib库则根据 2.6中『注意 2』进行设置。
编辑完之后,选 Design->Design and Save,如果有错则改正;没有错误后便可保存电路图,
退出编辑。
常使用的快捷键说明:
i:添加新元件;
q:元器件属性
p:添加输入输出 pin
l:添加 wire name
w:添加连接线
W:添加总线
Shift+x:存盘并进行 ERC check
[例]如图 6所示。大部分菜单项上都有相应的快捷健定义。
图 6、电路图编辑环境
3.5.编辑版图
用 3.3的方法为一个 cell创建一个 Layout view。用 Virtuoso编辑版图。
打开 Vituoso编辑窗口的同时,会弹出一个细长型的窗口,其名称为 LSW,该窗口定义了版图
各层的显示特性。LSW=Layer Select Window
画版图的基本操作
步骤
新产品开发流程的步骤课题研究的五个步骤成本核算步骤微型课题研究步骤数控铣床操作步骤
为:在 LSW中选定相应层,然后在版图编辑窗口的 Create下选要画
的几何形状,再在可编辑区域完成绘图。而且可以调用前面创建的 csmc06库中的 pcell。
版图编辑有很多快捷键可用。它们的定义都可以在相应的菜单项上找到。
[例]如图 7所示,编辑 inverter的 layout view。
快捷键
图 7 LSW窗口及版图编辑窗口
3.6.根据习惯改变版图层次的显示特性
方法为 LSW->Edit->Display Resource Editor;在弹出的窗口中可以重新定义个层次的显
示特性(边框线型及颜色、填充类型及颜色等等);定义之后单击 Apply 按钮,LSW 中将发
生相应改变。退出 Display Resource Editor时可以保存到 display.drf中,从而使得这次
修改在每次 icfb&启动之后都能生效;也可以不保存,再次打开 LSW时将恢复到默认形式。
[例] 如图 8所示
图 8 Display Resource Editor
3.7.完成版图编辑之后保存,退出
4.版图的 DRC检查
有两种方式:基于 Diva和基于 Dracula。
4.1.基于 Diva的方式(不推荐)
基于 Diva的 DRC检查,操作比较简单,但效率不高,不推荐使用。这里只作简单说明。
将 DRC命令文件放在工作目录,然后打开需要做 DRC的 Layout View,在弹出窗口中
选 Verify->DRC. 在弹出的 DRC对话框中单击 Set Switches,在 Set Switches对话框中选
择 all,单击 OK;在 Drc Rules框中填 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 文件为 csmc06.drc 和 csmc06.lvs,将它们分别上传至 verify
中的目录 drc以及目录 lvs中
c.准备版图的 GDS文件:CIW窗口 File Export Stream…
[例] CIW窗口 File Export Stream…,在弹出的窗口中用 Library Browser选择
clock库中的 Inverter(view选择 layout)做如图 9设置(注意 Run Directory设置为
verify/drc),然后点击 OK;
图 9 gds的导出
导出成功后,会出现对话框显示
PIPO STRMOUT (PID=ipc:1) completed successfully, see log file './PIPO.LOG' for more details.
d.修改 DRC的规则文件
[例]修改 DRC的命令文件(如 csmc06.drc)的前几行输入输出,指明要检查的 GDS文件的
路径名称:
;---------------------------------------------------------------------------
;……………………………………………………………INPUT GDS2
INDISK =inverter.gds (需修改)
;……………………………………………………………ERROR GDS2
OUTDISK = out.sf
;……………………………………………………………TOP CELL NAME
PRIMARY = inverter(顶层元件) (需修改)
;---------------------------------------------------------------------------
并将 KEEPDATA = SMART 改为 KEEPDATA = YES(已经修改)
e.控制台下,cd ~/project/verify/drc 敲入:PDRACULA(一定要大写),启动命令行界面;
f.该界面下,敲入/g空格 csmc06.drc
g.如果编译无误,敲入/f,退出 PDRACULA 界面。察看是否生成 jxrun.com 文件,此即真
正用来进行 DRC检查的命令文件;
h.在控制台下,执行如下命令./jxrun.com
i.检查完毕,在版图窗口,打开 inverter的 layout,选择 Tools->Dracula Interactive,出现 DRC
菜单选项,选择其下的 setup,对检查过后得到的数据文件路径进行设置(如下图所示),如
果有 DRC错误,则跳出几个显示窗口,可以通过它们观察并定位错误;点击 view DRC Error
窗口上的 Fit Current Error 可定位当前错误;Rules Layer Window 显示该错误违反了哪条设
计规则,可根据该规则去 Design Rule中去查询错误的改正方法。
j.修改完毕,重新输出 GDS文件,再次检查,直至无误,点击 DRC->quit退出 DRC检查。
5.LVS
也有两种方式:基于 Diva的方式和基于 Dracula的方式。基于 Diva的方式在 LVS之前要
做 Extrated(版图网表提取)。提取和 LVS的操作类似 DRC,这里不再细述。
基于 Dracula的方式:
5.1.准备版图的 GDS文件
[例] 导出版图的 GDS文件:inverter.gds(或可直接用上一步得到的 GDS2文件);
5.2.准备电路网表
若采用 cadence 编辑的电路图,则可以参照下例导出电路网表。别的工具如 ePD 也可以进
行电路图的输入并导出用于 LVS的电路网表。
[例] 导出前述设计 inverter的电路网表。
导出 schematic的 CDL文件 netlist:CIW窗口 File à Export à CDL… 在弹出的窗口中用
Library Browser 选择 clock库中的 interver(view 为 schematic)做如图 10设置,然后点击
OK;
图 10 CDL的导出
注 1:所要做的改动:取消选择 Run In Background选项;单击 Library Browser找到要输出
的原理图;修改 Run Directory为 LVS的工作目录~/project/verify/lvs;修改 Resistor Threshold
Value为 20(此数值为版图提取的时候可以识别的电阻的阈值,即小于此数值的电阻将不予
识别);修改 Output File为 inverter.cdl;如果在实际 layout设计中使用了电阻和电容,那么
在图片中的 Check Resistors 和 Check Capacitors两行选项中分别选中 value。
注 2:导出之后的 cdl文件中的MOS管模型名称需要修改为与版图提取的模型名称一致,lvs
检查方可通过
例如: PMOS模型应由 PM改为 P,NMOS模型应由 NM改为 N
原 cdl文件语句为:
……
MM1 out in avdd avdd PM W=2u L=600.0n M=1
MM0 out in agnd agnd NM W=2u L=600.0n M=1
……
修改为:
……
MM1 out in avdd avdd P W=2u L=600.0n M=1
MM0 out in agnd agnd N W=2u L=600.0n M=1
……
电阻,电容也需要作相应的修改,修改目标可以在后面介绍的 lvs.lvs中观察到
5.3.用 LOGLVS转换电路网表成 LVS要求格式
[例]控制台下,cd ~/project/verify/lvs 敲入 LOGLVS,出现命令行界面;
该界面下,依次敲入 htv;cir inverter.cdl(导出的 cdl文件);con inverter(原理图中顶层电
路名);用 exit退出该界面;
5.4.修改 lvs的命令文件
[例]修改 csmc06.lvs(LVS的命令文件)的前几行输入输出,指明要检查的 GDS文件和网表
文件的路径:
;---------------------------------------------------------------------------DESCRIPTION
;------------------------------------------LAYOUT
INDISK = inverter.gds ; INPUT LAYOUT FILE NAME (需要修改)
PRIMARY = inverter ;LAYOUT TOPCELL NAME (需要修改)
;------------------------------------------SCHMATIC
SCHEMATIC = LVSLOGIC.DAT ;INOUT SCHEMATIC FILE NAME
OUTDISK = err.gds
;------------------------------------------VDD/GND NAME
并将 KEEPDATA = SMART 改为 KEEPDATA = YES
LVSCHK[LS] ... 改为 LVSCHK[XRE] ...
5.5.运行 PDRACULA来生成 lvs任务的可执行文件
[例]控制台下,cd ~/project/verify/lvs 敲入:PDRACULA,启动命令行界面;
a.该界面下,敲入/g空格 csmc06.lvs(LVS命令文件名);
b.如果编译无误,敲入/f,退出 PDRACULA 界面,察看是否生成 jxrun.com 文件,此即真
正用来进行 LVS检查的文件;
5.6.在控制台下,运行 jxrun.com文件
./jxrun.com
5.7.查看错误
检查完毕,在版图窗口,打开 inverter的 layout,选择 Tools->Dracula Interactive,出现 LVS
菜单选项,选择其下的 setup,对检查过后得到的数据文件路径进行设置
([例]~/project/verify/lvs),则跳出一个错误显示窗口,可以通过它观察是否有错,并定位错误;
注:查看错误
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
文件 lvs.lvs,可以得到更多的有关错误的信息!
下面为 lvs.lvs中的一段
…
TYPE SUB-TYPE TOTAL DEVICE UN-MATCHED DEVICE
SCH. LAY. SCH. LAY.
MOS PM 1 0 1 0
MOS NM 1 0 1 0
MOS P 0 1 0 1
***************************************************
**/W* -- SCHEMATIC AND LAYOUT MAY NOT MATCH **
** CHECK ALL ABOVE DISCREPANCY **
** AND WARNING MESSAGES **
***************************************************
……
可以看出,原理图(SCH)与版图(LAY)中的模型名称不一致,器件个数也不一致,
原理图中有一个 N 管,一个 P管,版图中仅有一个 P 管。在这里,也可以知道如果 cdl 中
的模型名称不正确,我们需要修改的目标(PM->P, NM->N)
5.8.修正版图或网表错误
修改完毕,重新输出 GDS文件,再次检查,直至无误。
6.一些小经验
以下是一些同学使用过程中的心得小经验。罗列出来与大家分享:
1) vi编辑器简介,
vi编辑器有两种模式,控制模式和输入模式,在输入模式下按 Esc键退到控制模式,
控制模式下箭头键移动光标。小写 x删除当前字符;而小写 i插入字符进入输入模式
(即直接响应键盘输入)。如在上述带 PAD的 netlist文件改动中,启动 vi netlist后用
箭头键先将光标移动到 m=16的 6的位置,小写 i,然后输入 6 $LDD[FN],再 ESC到
控制模式,删除多出的数字 6。其它改动同上操作。
对于详细的 vi帮助可在 unix/Linux的命令行提示符下敲入 man vi↙
2) 版图设计中牢记快捷键可以大大加快编辑速度。
3) 使用 cadence编辑电路图时,若晶体管的长和宽正好为默认长度,则导出的 cdl中,
相应的晶体管参数将不完整,无法作 Lvs。
比如一个 nmos管,它的Width和 Length默认为是 9u m 和 540n m,那么设计中的
管子使用了 540n m,导出 cdl时没有 Length的参数。改动办法,在 icfb窗口中,
toolsàCDFàEdit,browser选择 CZ6_LAY中的 nenh,改变其默认参数,如图 11示:
图 11 改变 mos管缺省设置
4) 版图编辑过程中最好是每完成一个小模块的编辑就做相应的 drc和 lvs。这样在总电
路的 drc和 lvs时纠查时就容易多了,可以大大加快设计进度。
5) 对于首钢工艺,Layout设计完毕时,必须在外面加一 29层(layer 29)的大框(框住
所有元件即可),表示当前 cell大小,否则导出 gds 文件做 lvs检查时有错,无法有
效识别元件。
7.附件清单
.cdsenv
.cdsinit
cds.lib
techfile.tf
display.drf