本帖最后由 houjs 于 2018-4-3 17:10 编辑
回复 11# houjs
LVS Code要保证器件的Layer与工艺中定义的真值表完全一样,既不能
多写layer,也不能少写Layer。
下图真值表, 1表示must layer,必须有该layer, 0表示non layer,必须没有该layer, *表示任意。
TO GT SN SP TB VARMARK HV DN DN.mark NA PA NH PH PWB VTSRAM.mark ESD SE VARMOS.mark EXT_SUB.mark
mn12 1 1 1 * 0 * 0 * * * * * * * * * * * *
mp12 1 1 * 1 1 * 0 * * * * * * * * * * * * varlnmos 1 1 1 * 1 1 0 * * * * * * * * * * 1 0
验证上述条件称之为Layer QA,可以自动化运行实现。
Layer QA的原理是:在器件图形的基础上,针对Must Layer,故意去掉该layer的图形,然后运行LVS,看结果是否不能提取出该器件,如果不能,则表示符合预期。同时,针对Non Layer ,在器件图形的基础上,故意添加一个该Layer的图形,然后运行LVS,如果能提取出器件,说明不符合预期。
自动运行显示结果如下: ======== qa_layer.log ======== qa_varlnmos_2t__bad_EXT_SUB INCORRECT qa_varlnmos_2t__bad_HV CORRECT varlnmos_2t CORRECT (+) 结果显示,Must Layer结果符合预期,而NonLayer中的EXT_SUB结果不符合预期,根据表达式,要求EXT_SUB layer必须不能在该器件中出现,结果显示即使添加了EXT_SUB layer,通过lvs提取后,也能把该器件提取出来,说明lvs code有问题。 打开lvs code,分析如下: caplnGate=NOT OUTSIDE (((GT and ndiff) ANDTB) NOT HV) VARMOS_mark 在上述语句中,HV图形通过NOT排除掉了,但是没有在该语句中加上NOT EXT_SUB的操作,如果加上该操作,则LayerQA就可以全部正确了。 |