calibredrc和lvs验证总结.docx

上传人:b****5 文档编号:29293597 上传时间:2023-07-22 格式:DOCX 页数:20 大小:69.03KB
下载 相关 举报
calibredrc和lvs验证总结.docx_第1页
第1页 / 共20页
calibredrc和lvs验证总结.docx_第2页
第2页 / 共20页
calibredrc和lvs验证总结.docx_第3页
第3页 / 共20页
calibredrc和lvs验证总结.docx_第4页
第4页 / 共20页
calibredrc和lvs验证总结.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

calibredrc和lvs验证总结.docx

《calibredrc和lvs验证总结.docx》由会员分享,可在线阅读,更多相关《calibredrc和lvs验证总结.docx(20页珍藏版)》请在冰豆网上搜索。

calibredrc和lvs验证总结.docx

calibredrc和lvs验证总结

Calibre学习总结

第一章Calibre简述

1.1Calibre简介

Calibre作为MentorGraphics公司出品的后端物理验证(PhysicalVerification)

工具,它提供了最为有效的DRC/LVS/ERC解决方案,特别适合超大规模IC电路的物

理验证。

它支持平坦化(Flatmode)和层次化(Hierarchicalmode)的验证,大大缩

短了验证的过程;它高效可靠的性能已经被各大Foundry认证,作为TapeOut之前的

验证标准。

它独有的RVE(ResultViewEnviroment)界面可以把验证错误反标到版图

工具中去,而且良好的集成环境便于用户在版图和电路图之间轻松转换,大大提高了

改错的效率。

xCalibre具有版图寄生参数抽取的功能。

1.2手册

在工作站下输入mgcdocs&命令,就可阅读Calibre的所有手册。

1.3几个常用的缩写命令

1、SVRF---StandardVerificationRuleFormat(标准的检查文件)

2、RVE---ResultsViewingEnvironment(显示结果用的环境窗口)

3、SVDB---StandardVerificationDatabase(LVSresults)

4、DRC---DesignRuleChecking

5、LVS---LayoutVersusSchematic

6、ERC---ElectricalRuleChecking

第二章CalibreDRC

2.1数据准备

完成CalbireDRC需要的数据有版图数据和执行DRC检查的命令文件(Runset)。

版图数据支持GDSII、CIF、BINARY、ASCII格式。

2.2流程图

CompletedLayout

Runset

CalibreDRC

DRCResultsDatabase

ASCIIReport

CorrectLayoutErrors

LocateErrorsUsingCalibreRVEandLayoutTool

 

2.3DRCRunsetFile

1基本控制,原有DRACULA的file可以用drac_cvtsourcefiletargetfile命令来转换。

(1)Calibre是一个“Edge-Based”Tool,默认错误的显示是边

Errorisbetweentheseedges

 

(2)DRC检查的结果有三种控制Euclidean(default)、Square、Opposite。

 

(3)常用的几条检查规则,具体可阅读Calibre的手册

(a)Internal(内边对内边)用来检查Width、Overlap;

(b)External(外边对外边)用来检查Space、Notch;

(c)Enclosure(内边对外边)

 

2一般的DRC检查文件包含以下几个部分:

(1)运行设置,设置GDS的位置,结果文件放的位置等;

(2)层次定义,定义输入的层次;

(3)层次运算,产生运算需要的一些中间层次;

(4)规则检查,具体对每条规则的检查;

(5)选择控制,可以只检查某几条规则或者只检查某个单元。

3一个简单的RuleFile,“.

.

.

.

中部开始有关RuleCheckResults的统计,如下:

---RULECHECKRESULTSSTATISTICS

---

RULECHECKNW_1.................TOTALResultCount=0

RULECHECKNW_2a................TOTALResultCount=0

RULECHECKNW_2b................TOTALResultCount=0

RULECHECKNW_3.................TOTALResultCount=0

RULECHECKNR_1.................TOTALResultCount=0

RULECHECKNR_2.................TOTALResultCount=0

RULECHECKNR_3.................TOTALResultCount=0

RULECHECKNR_4.................TOTALResultCount=0

RULECHECKNR_5.................TOTALResultCount=0

RULECHECKNR_6.................TOTALResultCount=0

RULECHECKNR_7.................TOTALResultCount=0

RULECHECKNR_8.................TOTALResultCount=0

如RULECHECKNR_8.................TOTALResultCount=0表示NR_8这条规则

检查的结果是0个错误,具体NR_8规则的含义要看DRCRunsetFile中的定义,检查有错的如:

RULECHECKCT_9.................TOTALResultCount=0

RULECHECKCT_10................TOTALResultCount=0

RULECHECKCT_11................TOTALResultCount=0

RULECHECKCT_12................TOTALResultCount=0

RULECHECKM1_1.................TOTALResultCount=0

RULECHECKM1_2.................TOTALResultCount=1

RULECHECKM1_3&4...............TOTALResultCount=0

RULECHECKM1_5.................TOTALResultCount=0

RULECHECKM1_6.................TOTALResultCount=3

RULECHECKM2_1.................TOTALResultCount=0

RULECHECKM2_2.................TOTALResultCount=0

RULECHECKPD_M1................TOTALResultCount=0

RULECHECKPD_M2................TOTALResultCount=1

RULECHECKPD_M3................TOTALResultCount=1

RULECHECKPD_M4................TOTALResultCount=1

RULECHECKPD_M5................TOTALResultCount=1

RULECHECKPD_M6................TOTALResultCount=1

RULECHECKConvention_FLT_NW....TOTALResultCount=0

分别是1,3,1,1,1,1个错误,最后是错误统计:

---SUMMARY

---

TOTALCPUTime:

0

TOTALREALTime:

1

TOTALOriginalLayerGeometries:

73

TOTALDRCRuleChecksExecuted:

205

TOTALDRCResultsGenerated:

9

可见一共检查出9个DRC错误。

如果没有错,则最后的TOTALDRCResults

Generated为0。

还可以查看DRC检查结果的数据库“drc_err”,如下:

test_nand31000

NW_1

002Jan220:

10:

472004

RuleFilePathname:

MinimumwidthofanNWregionis

NW_2a

003Jan220:

10:

472004

RuleFilePathname:

MinimumspacebetweentwoNWregionswiththesamepotentialis

Mergeifspaceislessthan

NW_2b

002Jan220:

10:

472004

RuleFilePathname:

MinimumspacebetweentwoNWwithdifferentpotentialis

NW_3

……

RuleFilePathname:

NWwithoutN+pickup

Convention_BPMO

002Jan220:

10:

482004

RuleFilePathname:

PmosinPW

Convention_BAD_IMP

002Jan220:

10:

482004

RuleFilePathname:

AAareawithoutanyimplant

__RVE_ERROR_TAG2__

0014Jan1110:

10:

572004

M1_21511

1

M1_61541

000

PD_M21971

0

PD_M31981

0

PD_M41991

0

PD_M52001

0

PD_M62011

0

也包含了检查的错误信息,该数据库主要是被后面的RVE来调用的。

然后要根据错误去版图中相应的位置改,Calibre提供了良好的RVE(ResultViewEnviroment)界面,它能直接调用DRC或者LVS检查后的结果数据库,图形化很直观地显示错误所在,并且可以调用版图工具如Virtuoso,直接在Virtuoso中快速定位错误位置。

2、用RVE查看结果和改错

RVE(ResultViewEnviroment)是Calibre自带的看验证结果的集成工具。

启动

方式为:

calibre–rvedatabase

database为DRC或LVS检查结果的数据库,这里是drc_err:

calibre-rvedrc_err

激活后界面如图1

可见左边显示DRC错误种类和数目,右边显示坐标位置,下面是对该Rule的解释。

清晰的界面,方便的操作能帮助用户快速找到错误和修改。

RVE能调用很多版图工

具,把错误直接反映在版图位置上,见菜单Setup——>Layout,这里可以设置调

用的版图工具。

具体配置方法见在线帮助中Calibre与其他工具的接口。

在Cadence

的Virtuoso中集成了Calibre以后,Virtuoso的菜单中会多出Calibre的菜单,如:

即可以直接从Virtuoso中调用图形化的DRC,LVS和RVE,显得十分方便。

点击

StartRVE,选择数据库名称,同样可以得到同图1一样的界面,这时RVE已经

和版图工具集成在一起,可以在RVE中点击一些错误坐标,Virtuoso中立刻会显示

错误的位置,如图3:

这里点击M1小于最小面积的错误中的第1个错误点:

右边坐标红色下划线的,

),在版图工具中会立刻高亮显示位置,如图4:

因此改错起来十分方便。

可以在RVE菜单View――>ByCheck,RVE左边会显

示出Check每条rule的结果,见图5:

绿色的表示检查该rule无误。

而且利用File菜单中可以方便地打开DRC结果报告、

DRCRunset等,如图6:

第三章CalibreLVS

3.1数据准备

需要的数据为版图数据、电路图数据和runset文件。

Calibre把电路图网表

的部分叫SOURCE。

SOURCE部分要求的网表格式为标准spice格式或者Calibre

自身的一种类似spice的格式。

Calibre有一种把verilog转为自身类spice格式的

功能,叫v2lvs,下面先介绍v2lvs:

v2lvs能够把verilog网表和相对应的spice库、verilog子库转成CalibreLVS用

到的电路图SOURCE网表,其功能如图:

 

转换的原理是verilog网表根据verilog子库对元件端口的定义,去spice子库找同样

名称和端口的元件,然后进行网表和格式上的替换。

因此v2lvs转类spice网表时,

需要verilog网表、spice库、verilog子库描述(可选),其命令格式如下:

v2lvs–vverilog_file–ospice_like_file[-lverilog_lib_file][-lspspice_lib_file]

[-lsrspice_lib_file][-sspice_lib_file][-s0groundnet][-s1powernet][-sk][-i]

-v后面接verilog文件名称;-o为输出类spice格式文件;-l是verilog子库描述;-lsp

接spice库网表,p是pin模式,即不允许有数组类的verilog端口(比如PA[3]、PA[2]、

PA[1]、PA[0])出现;-lsr与-lsp意义同,不过pin是range模式,即可以接受verilog

的数组端口;与-lsp,-lsr不同的是,-s是只是让转出文件在前面INCLUDE这些spice

子库,而不会读它们;-s0,-s1为对verilog中1’b0,1’b1的电源网络取代;-sk指允

许多组复合电源,不仅仅是一对全局电源VDD,VSS;-i指输出文件采用spice通用

的pin格式,没有$引导,便于仿真。

常见的例子如下:

v2lvs–v–o–s0VSS–s1VDD–sk–l

-l–l–l-lsr–lsr

–lsp-lsp-s–s–s–s

根据几个子模块的情况,转出整个芯片的LVS网表。

实际上,verilog子库并不是都需要的,v2lvs在转spice网表的时候,是根据verilog子库中元件端口和spice子库中的元件端口名称对应关系来转的。

如果在verilog网表中没有数组端口,则该元件端口名称在spice子库网表中元件的端口名称中也是唯一的标识,因此不会转错。

但是对于数组端口(如PA[31:

0]),如果没有verilog子库对模块的端口定义,v2lvs按照缺省的从高位到低位的方式转出端口对应关系,因此会出错。

因此对于有数组端口的verilog网表,一定要求有verilog子库网表。

上面的例子可以简化为:

v2lvs–v–o–s0VSS–s1VDD–sk-l

–l-lsr-lsr-lsp

–lsp-s–s–s–s

3.2LVS流程

从下面的流程中可看出,CalibreLVS都先把版图提取出SPICE格式的网表来,实际上CalibreLVS比对的是两个SPICE网表。

CompletedLayout

RuleFile

CompletedSource

CalibreLVS

LVSResultsDatabase

ASCIIReport

Extractednetlist

 

CorrectLayoutErrors

LocateErrorsusingCalibreRVEandLayoutTool

DetermineErrorsfromReport

 

3.3一个简单的LVSRunset文件

.

.

bulk=EXTENT.

.

.

.

PropertySpecification

Bulkpinlayer

Drainpinlayer

Sourcepinlayer

Gatepinlayer

Devicelayer

Model_name

Element_name

(1)run_lvs命令就可。

运行完后可以到存放结果文件的目录里看ReportFile,还可以在版图里用RVE调LVSDatabase进行Debug

(2)hcell_file的格式如下

Error:

Differentnumbersofinstances.

Error:

Connectivityerrors.

Error:

Instancesofdifferenttypesorsubtypeswerematched.

Error:

Propertyerrors.

Warning:

Unbalancedsmashedmosfetswerematched.

Warning:

Ambiguitypointswerefoundandresolvedarbitrarily.

*******************************************************************************

*CELLSUMMARY*

*******************************************************************************

ResultLayoutSource

-----------------------------------

INCORRECTTOPCELLTOPCELL

可见总的比较结果是不正确,错误有5种:

不同网络、不同元件个数、连接错误、不同元件类型、属性错误,CELLSUMMARY里面有Layout和Source的TOPCELL不匹配。

然后直接翻页到文件的后面,看到INFORMATIONANDWARNINGS栏:

*******************************************************************************

INFORMATIONANDWARNINGS

*******************************************************************************

这里列出了匹配的统计情况(同dracula的最后),可以看见SOURCE和

LAYOUT匹配了多少,各有多少没有匹配,错在哪种单元上面等,这里可以看出共

有10个layout单元和16个source单元没有匹配。

下面是管子等删减的情况统计:

 

oStatistics:

310940layoutmostransistorswerereducedto94596.24286connectingnetswere

deleted.

171921mostransistorsweredeletedbyparallelreduction.

16mostransistorsand16connectingnetsweredeletedbyseriesreduction.

44407mostransistorsand24270connectingnetsweredeletedbysplit-gate

reduction.

106383sourcemostransistorswerereducedto28181.22460connectingnetswere

deleted.

36983mostransistorsweredeletedbyparallelreduction.

16mostransistorsand16connectingnetsweredeletedbyseriesreduction.

41203mostransistorsand22444connectingnetsweredeletedbysplit-gate

reduction.

20series/parallellayoutresistorswerereducedto6.8connectingnetswere

deleted.

141unusedlayoutmostransistorsweredeleted.

141unusedsourcemostransistorsweredeleted.

2unusedlayoutresistorsweredeleted.

47netswerematchedarbitrarily.

下面是顶层端口对应情况,这个很重要:

InitialCorrespondencePoints:

Ports:

vddVDD33SAVDDVSSVSSDSAVSSEB_RDVALEB_WDRDYEB_RBERREB_WBERRSI_NMI

SI_INT[5]SI_INT[4]SI_INT[3]SI_INT[2]SI_INT[1]SI_INT[0]SI_ENDIAN

SI_COLDRESETEB_ARDYSI_RESETEJ_DINTSUPEJ_DINTCACHE_CETRSTTMSTCKTDI

SI_ERLSI_EXLSI_RPSI_CLKOUTSI_SLEEPSI_TIMERINTEB_AVALIDEXT_CLK

EXT_CLKENEB_INSTREB_WRITEEB_BURSTEB_BFIRSTEB_BLASTEJ_DEBUGM

EB_BE[3]EB_BE[2]EB_BE[1]EB_BE[0]FREFPLL_TESTSI_PLLCLK

如果Ports部分没有出现顶层模块的所有端口,则肯定会导致整个比较的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1