包虫病

注册

 

发新话题 回复该主题

Layout中加Dummy那点事,你GE [复制链接]

1#
在Tapeout前,我们跑Fullchip的drc,会报density的问题,大部分情况是density不够。为了提高良率,Foundry会要求我们添加dummy。01Dummycmdfile的设置ENVRONMETNSETUP部分这部分是设置RunDummycmdfile时,输出的gds、report和RESULTS。需要特别注意的是DRCMAXIMUMRESULTSALL,设置为ALL(默认是ALL),否则跑出来的dummy会有问题。为了避免Dummy的cellname和原始layout中的name重复,Result数据可以加一个后缀。前面那句注释掉,打开有后缀_DM的第二句://DRCRESULTSDATABASE"DM.gds"GDSIIDRCRESULTSDATABASE"DM.gds"GDSII_DMOPTIONSETUP部分#IFNDEFCOMBINE_DODPO_DM有些Foundry厂提供的Dummycmdfile,有两个dummy文件,一个是填充OD和POLY的,另外一个是填充Metal的。为了方便高效,可以把两个文件合成一个文件。此时就需要在OD和POLY的Dummycmdfile中设置COMBINE_DODPO_DM:#DEFINECOMBINE_DODPO_DM打开#DEFINEUseprBoundary,那么,在Layout中需要覆盖prBoundarylayer来定义chipwindow。#DEFINEUseprBoundary//#DEFINEChipWindowUsed带有Sealring的Fullchip填充Dummy,#DEFINEWithSearring//#DEFINEdmOnCorner不带Sealring或者是模块级别加Dummy,//#DEFINEWithSearring#DEFINEdmOnCornerSelectlayerstobefilled部分有关MetalDummy的设置,如Metal1的Dummy:#DEFINEFILL_DM1#DEFINEFILL_indDM1//#DEFINEFILL_OPCDM1//#DEFINEFILL_5K_THICK_M1//#DEFINEFILL_9K_THICK_M1……比如,我们是9层金属,6x1Z1U的MetalOption。Metal8和Metal9的设置,除了像Metal1到Metal7的正常设置外,还需要打开与Metal8和Metal9的厚度有关的设置。注:6x代表M2~M7,1Z是厚度为Z的Metal8,1U代表厚度为U的Metal9,Metal1是默认的连接层,Z和U对应的厚度可以根据DesignRule查看。#DEFINEFILL_DM8#DEFINEFILL_indDM8//#DEFINEFILL_OPCDM8//#DEFINEFILL_5K_THICK_M8#DEFINEFILL_9K_THICK_M8//#DEFINEFILL_12K_THICK_M8//#DEFINEFILL_34K_THICK_M8//#DEFINEFILL_CBM_OVER_M8#DEFINEFILL_DM9#DEFINEFILL_indDM9//#DEFINEFILL_OPCDM9//#DEFINEFILL_5K_THICK_M9//#DEFINEFILL_9K_THICK_M9//#DEFINEFILL_12K_THICK_M9#DEFINEFILL_34K_THICK_M9//#DEFINEFILL_CBM_OVER_M9有关OD和PO的Dummycmdfile,可以参考上述设置。OD、PO的Dummy文件设置好后,可以在Linux环境用cat命令合并OD、PO和Metal的Dummycmdfile。catDummy_ODPO.dummyDummy_Metal_dummyDummy_ODPO_Metal.dummy合并需要注意的是:有关ENVRONMETNSETUP部分和OPTIONSETUP部分的设置,只有在OD、PO的dummy文件中设置才有效,Metaldummycmdfile设置无效。02Layout覆盖Dummyblocklayer高速电路的layout,不希望加的OD、PO和MetalDummy影响性能,可以用DummyBlocklayer屏蔽Dummy。03Calibre的设置RunDummy的方式,和RunDRC是一样的,只是Result和DRCOption中的设置不同。DRCResultsDatabase中的设置,File:dummy的数据,比如name是,test_dummy_.gdsFormat:这里需要设置为GDSII,在RunDRC时,记得改回ACII,否则出不了DRC的结果。Cellprefix:给dummy加上前缀Cellsuffix:给dummy加上后缀DRCOption中Output的设置,Max.errorsgeneratedpercheck:ALLMax.verticesinoutputpolygons:ALL不设置为All,得到的dummy的GDS数据会有问题,不完整。04DummyGDS的Flat方法为了Dummy的数据和原始的Layout数据都在一个Library,或者在项目的公共Library中,那么要求Dummy的GDS只有一个cell。我们需要得到Flatten的GDS,或者对GDSFlat处理。1.方法一:在Inputs==Run设置为DRC(Flat),得到的DummyGDS是Flatten形式,只有一个TOPcell。2.方法二:正常Hierarchy方式RunDummy,得到的DummyGDS,再用calibredrvflat处理。3.方法三:用命令行RunDummy。设置好Dummycmdfile后,用命令:calibre-drcDummy_ODPO_Metal.dummycalibre-drcxxx.rule默认是Flatten形式的。05温馨提示Dummy的GDS导入到新建的Library中,然后再调用merge到原来的Layout中。不建议直接导入到原来的LayoutLibrary中,避免操作不当,覆盖原来的Layout数据。本文由小文陈原创,欢迎分享!
分享 转发
TOP
发新话题 回复该主题