在芯片设计的数字世界中,Layer如同DNA双螺旋般承载着版图的所有秘密。它的诞生始于一份名为Technology File(TF) 的工艺配方文件——这好比生命诞生所必需的蛋白质,为整个芯片提供了分层构建的基本法则。当一个图层被通过 layerMap导出后, 又可以通过其它工具的 Map 规则, 将GDS Number转为其能识别的 layer。
简单演示: TF->Layer->Stream in/out –> calibre SVRF
Layer的诞生:Technology File中的创世记
在TF文件的layerDefinitions章节里,Layer从一个模糊的概念被赋予了完整的生命体征。这个section如同创世神谕,通过五项核心定义,将Layer从虚无中召唤到设计世界。
techPurposes:赋予存在的意义
techPurposes定义了Layer的"灵魂属性"——它在设计流程中扮演什么角色。每个Purpose都是一个标签,告诉EDA工具这个Layer是用于drawing(绘图)、pin(引脚)、label(标签)还是fill(填充)。例如:
techPurposes(
;( PurposeName Purpose# Abbreviation )
;( ----------- -------- ------------ )
( drawing 0 dg )
( pin 1 pin )
( label 2 lab )
) ;techPurposes没有Purpose的Layer如同没有灵魂的空壳,无法参与任何设计意图的表达。
参数说明
- purposeName 用途名称
- purposeNum 用途编号(1-128,256 及以上,129-255 预留)
- purposeAbbr 用途缩写
techLayers:铸造物理躯壳
techLayers为Layer构建"物质身体"——它定义了层的物理名称和编号,如METAL1、VIA2、POLY等。这是Layer在版图中的唯一身份标识:
techLayers(
;( LayerName LayerNumber# LayerAbbr [maskNumber] )
;( --------- ------ ------------ )
( PWELL 1 PW )
( NWELL 2 NW )
( DIFF 3 DIFF )
( POLY 4 PO )
( METAL1 49 M1 )
( METAL2 50 M2 )
)每个Layer获得一个整数ID,这将成为它在GDS流片数据中的"护照号码"。
参数说明
- layerName 层名称(字符串,唯一)
- layerNumber 层编号(整数,0-194,256 及以上,195-255 预留)
- layerAbbr 层缩写,便于界面显示
- maskNumber 可选,表示层的掩膜编号
techLayerPurposePriorities:确立层级秩序,真正的诞生
techLayerPurposePriorities 当多个Purpose在同一空间重叠时,这个部分定义了渲染的优先级,避免视觉冲突和信息混乱。 基本由前面定义的 layer与 purposes组合而成.
techLayerPurposePriorities(
;layers are ordered from highest to lowest priority
;( LayerName Purpose )
;( --------- ------- )
( PWELL drawing )
( NWELL drawing )
( METAL1 pin )
( METAL1 drawing )
( METAL2 pin )
( METAL2 drawing )
) ;techLayerPurposePriorities最下面的layer将被优先渲染,最上面的最后被洗渲染, 比如举例中的 PWELL 将在 Layout Virtuoso Edit中显示在最底层,也就是被其它层遮挡, 而列表底部的 layer 在界面中的最上面显示
techLayerProperties:注入电气基因
这是Layer最精密的部分,相当于为其写入电气与物理基因。通过techLayerProperties,Layer被赋予了电阻、电容、厚度等真实世界的物理特性:
techLayerProperties(
;( PropName Layer1 [Layer2 ] PropValue )
;( -------- ------ --------- --------- )
( sheetResistance M1 0.08 )
( sheetResistance M2 0.05 )
( thickness M1 0.2 )
( thickness M2 0.3 )
) ;techLayerProperties这些参数如同分子生物学中的碱基对,决定了Layer在寄生提取、信号完整性分析和电路仿真中的行为模式。一个缺失sheetResistance定义的金属层,在仿真器中就像绝缘体一样失去导电能力。
参数说明
t_propName:属性名称,指定要定义的参数类型(如电容、电阻等)。t_layer1:目标层或层-目的对(LPP),格式为(层名 目的名)或仅层名。t_layer2(可选):第二层,用于定义 两层之间的交互属性(如层间电容)。g_propValue:属性的数值,支持浮点数或表达式(如techParam("lambda"))。a
propName支持名称
areaCapacitance单位面积电容(皮法/平方微米)。单层定义对地电容,双层定义层间电容。edgeCapacitance单位长度边缘电容(皮法/微米)。单层定义边缘对地电容,双层定义层间侧向电容。sheetResistance方块电阻(欧姆/方块),用于计算导线电阻。resistancePerCut单个通孔的电阻(欧姆/通孔)。height层的高度(用户单位),指从地平面到互连层底部的距离。thickness层的厚度(用户单位)。shrinkage蚀刻收缩因子,补偿制造过程中的尺寸缩减。capMultiplier电容倍增系数,考虑邻近导线的影响,默认值为1。
techDisplays:披上视觉外衣
techDisplays为每个LPP(Layer-Purpose Pair)分配颜色、线型和填充图案,让抽象的Layer在屏幕上变得可见:
techDisplays(
;( LayerName Purpose Packet Vis Sel Con2ChgLy DrgEnbl Valid )
;( --------- ------- ------ --- --- --------- ------- ----- )
( PWELL drawing yellow_L t t t t t )
( NWELL drawing green_L t t t t t )
( METAL1 drawing blue_L t t t t t )
( METAL1 pin blue_dash_L t t t t t )
( METAL2 drawing cyan_L t t t t t )
( METAL2 pin cyan_dash_L t t t t t )
)参数说明
- LayerName:Layer 的名称,对应
techLayers中定义的标识(如 METAL1、PWELL)。 - Purpose:Layer 的用途(Purpose),例如
drawing、pin、label,用于区分同一物理层的不同语义。 - Packet:显示包名或样式标识(display packet),引用 DRF/显示资源中定义的颜色、线型和填充方案(如
blue_L、yellow_L)。 - Vis:默认是否可见(visible),通常为
t或nil,控制该 LPP 在视图中初始是否显示。 - Sel:是否可被选择(selectable),决定在交互操作中该 LPP 是否响应选择/点击。
- Con2ChgLy:是否参与“转换/更改层”相关操作(convert/change layer),用于某些自动化或工具在图层转换时的行为判断。
- DrgEnbl:绘图使能(drawing enable),控制该 LPP 是否允许作为绘图/编辑目标。
- Valid:该 LPP 是否为有效(valid)条目,决定工具链在渲染或导出时是否认可此映射。
红色多晶硅、蓝色金属线——这些视觉编码让设计师能直观理解版图的拓扑结构。
Display.drf:视觉呈现的最终裁决
display.drf(Display Resource File)如同Layer的"化妆师",独立于TF文件,负责在Virtuoso图形界面中精细调控每个LPP的视觉效果。它提供比techDisplays更丰富的渲染选项——包括透明度、渐变色和动态高亮规则。当TF定义了Layer的"存在",drf文件决定了它"如何被看见"。techDisplays中的 Packet 就是在 display中设置的, 这个有机会以下单开一篇再讲
Layer的出走与回归:GDS的异化之旅
GDS的语言转译
Layer在TF中拥有优雅的字符串名称(如METAL1),但流片时必须"出走"到GDS的极简世界——那里只有冰冷的数字。通过Layer Map,每个Layer被映射为**Number(0-255)和DataType(0-255)**的组合:
METAL1 drawing 61 0
METAL1 label 61 20
METAL1 pin 61 251DataType成为区分同一物理层不同用途的"亚种标识",在GDS的256×256网格中,一个Layer最多可拥有65,536种语义变体。
回归的挑战
当GDS文件从代工厂返回,用于DRC/LVS验证时,这些数字必须重新映射回TF中的Layer名称。任何映射错误都会导致Layer"身份丢失"——DRC规则无法识别违规,LVS无法匹配网表。
GDS到DRC/LVS Rule:Layer的再诠释
Layer Map:身份重建
在Calibre或Assura的规则文件中,通过LAYER MAP指令重建Layer的身份:
LAYER MAP 61 DATATYPE 0 6100
LYAER METAL1 6100
LAYER MAP 61 TEXTTYPE 20 6120
LYAER METAL1TXT 6120
LAYER MAP 61 DATATYPE 251 6151
LYAER METAL1PIN 6151DataType的精细控制
- pin(Datatype 1):用于LVS提取连接性
- label(Datatype 2):包含网络名称的文本标注
TextType:文本的特殊编码
texttype是Datatype的子集,专门用于文本标注。在GDS中,文本与几何图形共享同一Layer空间,但通过不同的Datatype区分,确保LVS能读取网络名而不将其误判为物理图形。
结语:Layer与Number 相辅相成
从TF中的抽象定义,到GDS中的数字编码,再到DRC/LVS中的, Layer经历了一个完整的"出走-回归"循环。这个循环确保了设计意图、制造数据与验证规则的三位一体,让数十亿晶体管在纳米尺度上精准协作。每一次成功的Tapeout,都是Layer生命史诗的胜利终章。

