对话实战:自定义器件接进数字流程,跑到 LVS match
三句话,三轮真实调用:把一个合成器件的范例几何拟合成参数化 PCell、按网表摆放并详细布线、最后跑 live LVS 确认版图和网表完全一致。
用你 4 个尺寸点的范例几何(合成背栅器件,W=10/50 µm × L=4/8 µm,两个参数轴都变过)跑拟合筛查:每条角色边做线性回归,分类成 linear(参数驱动)/ constant(不随参数动)/ unexplained(拟合器解释不了、需要你拍板)。筛查干净后出拟合表,注册成真 PCell(demobg),再画 3 个变体验证参数化是真的:dev10_8 是范例点本身,dev20_8 是 W 方向的插值,dev50_3 是 L 方向的外推(超出范例区间)。
demobg PCell 在三组参数下的实例:拟合筛查 16 条边里 14 条 linear、2 条 constant、0 条 unexplained——参数化是拟合出来的,不是硬编码的。网表是一个内置的 4-bit 加法器(62 个门、173 个器件实例、96 个网)。行列数和行距不是拍脑袋定的,是从这份网表推导出来的:62 个门 → 8×8 网格,行距按器件叠高 + 布线通道算出 170 µm。批量摆好 173 个拟合 PCell 实例后,把 96 个网里的信号网交给 FlexDR 详细布线器,在 3 层布线栈上走线;VDD/GND 走电源网格,不算在“信号网”里。
markers=0)。四周电源环带 GND/VDD 标签,走 166 个 PDN 过孔;信号网另走 200 个过孔跨层。不是“看起来连上了”,是让 KLayout 原生的连通性提取器当裁判:从刚画好的真实几何里提取网络(金属层内连通 + 过孔跨层),和第二步声明的 96 个网逐一对账,再做 173 个器件的 netlist 比对。裁判读的连通性规则和布线器用的是同一份 profile 推导出来的,但提取本身是 KLayout 原生做的,不是布线器自己给自己打分。结果直接标注回版图,方便核对:
真实结果:match=True,173 个器件全部对上——版图里画出来的连通关系和网表声明的完全一致。
LVS match=True devices=173,坐标取自这次摆放出来的版图边界,不是预先摆好的装饰。想看这条链更完整、每一步都配拟合公式和局部放大细节的分步版本?看 自定义器件教程。DRC/LVS 的完整能力入口 → 指南 · DRC·LVS。