Featured image of post Layout中的Layer, Number 和 Map

Layout中的Layer, Number 和 Map

在芯片设计的数字世界中,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),例如 drawingpinlabel,用于区分同一物理层的不同语义。
  • Packet:显示包名或样式标识(display packet),引用 DRF/显示资源中定义的颜色、线型和填充方案(如 blue_Lyellow_L)。
  • Vis:默认是否可见(visible),通常为 tnil,控制该 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    251

DataType成为区分同一物理层不同用途的"亚种标识",在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 6151

DataType的精细控制

  • pin(Datatype 1):用于LVS提取连接性
  • label(Datatype 2):包含网络名称的文本标注

TextType:文本的特殊编码

texttype是Datatype的子集,专门用于文本标注。在GDS中,文本与几何图形共享同一Layer空间,但通过不同的Datatype区分,确保LVS能读取网络名而不将其误判为物理图形。

结语:Layer与Number 相辅相成

从TF中的抽象定义,到GDS中的数字编码,再到DRC/LVS中的, Layer经历了一个完整的"出走-回归"循环。这个循环确保了设计意图、制造数据与验证规则的三位一体,让数十亿晶体管在纳米尺度上精准协作。每一次成功的Tapeout,都是Layer生命史诗的胜利终章。

陕ICP备20000710号
本站已运行15年4月27天
发表了393篇文章 · 总计13万8千字
Built with Hugo
Theme Stack designed by Jimmy