diva8

更新时间:2023-01-02 12:44:54 阅读: 评论:0


2023年1月2日发(作者:annie是什么意思)

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小时内删除。

标签:diva8
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图