Logo兔二思
  • 价格
  • 博客
  • 关于
Logo兔二思
2021/02/18

如何解决 “LVS 验证时 Source 端网表未定义 SUBCKT” 的问题

遇到 LVS 提示 Source netlist 缺少 SUBCKT 定义时,通常是 CDL 网表没有包含 PDK 的器件定义文件。本文介绍问题原因、include 文件添加方式,以及如何保存为可复用配置。

小红书小红书公众号公众号微信微信

问题描述

在某些工艺的LVS运行过程中,会弹出 “Source端网表未定义subcket” 的警告框,如下图所示:

图片

⚠ Warning

⚠ Problems encountered when checking source netlist

⚠ Source netlist references but does not define 1 subckts: n33_mis_ckt

如果你点击「Proceed」继续往下,Error 提示无法读取电路。更多详细的报错说明如下:

图片

解决方案

出现这个 Warning 的根本原因是,Source 端导出的CDL网表文件不完整,缺少了 “n33_mis_ckt” 器件的定义,因此存在语法错误

在代工厂提供的PDK中,有些工艺会在 Calibre 文件夹中,附上一份自定义器件的定义文件。这是为了符合Calibre Command的语法要求加入的文件,例如:empty_subckt.sp、3t_device.cdl

图片

你也可以从PDK的说明文档中看到解释。这里有一份 CSMC 的PDK说明文件,如下:

图片

其中 Subcircuit 一行解释了此文件的用途。按照要求,需将其添加到 Include File 中。也就是CDL网表应包含 “3t_device.cdl” 文件才完整。


接下来介绍添加文件的方法。

比较常见的一些做法是

1)可以使用Cadence自己的CDL导出工具,在Include选项处加上此文件

2)还可以,使用集成的Calibre工具进行 Netlist Export 的设置

上述两种方法,都可以用于添加Include文件。但是有个缺点,在每次使用时需要重新设置一遍,无法永久记住配置信息。

那么,如何自动地向CDL网表添加empty_subckt. sp文件并记住这些设置呢?

我这里选用 Calibre Interactive 交互式工具进行设置:

【步骤1】

在 Calibre Interactive 界面,标题栏处选择「Setup」-「Preferences...」

图片

【步骤2】

弹出 “Setup Preferences” 对话框,选择子选项卡「Templates」-「Inputs」

图片

【步骤3】

在 “Source Path” 处,添加Include File的路径:

图片

直接在%s.src.net文本后面输入。如:

Source Path
%s.src.net "/root/PDKs/.../empty_subckt.sp"

其中,引号中的内容是 empty_subckt.sp 文件的路径地址,且两者中间有一个空格。

接着,你可以把设置信息保存成相应工艺专用的Runset文件,然后重新启动一遍 Calibre 运行即可。

完整的操作演示

👇👇👇

图片

全部文章
问题描述解决方案

更多文章

告别失配!实用的版图匹配技巧(附仿真验证说明)
工具实战

告别失配!实用的版图匹配技巧(附仿真验证说明)

如何让你的版图真正做到匹配:以"电流镜"为例,通过仿真对比四种不同的版图画法,展示匹配精度差异。

avatar for Tina
Tina
2025/10/28
Virtuoso 电压规则(VDR)工具操作指南——自动生成电压标签
工具实战

Virtuoso 电压规则(VDR)工具操作指南——自动生成电压标签

介绍 Virtuoso VDR 工具如何自动生成电压标签,辅助完成 Voltage-dependent Spacing DRC 检查,并结合仿真驱动流程说明 techfile 配置、数据生成与规则验证方法。

avatar for Tina
Tina
2025/03/31
调一调更好用:布线助手 Wire Assistant 的几项设置
环境配置

调一调更好用:布线助手 Wire Assistant 的几项设置

Wire Assistant 用得多但每次都要重新调?教你用环境变量一劳永逸搞定默认设置。

avatar for Tina
Tina
2025/06/03

邮件列表

加入我们的社区

订阅邮件列表,及时获取最新消息和更新

邮箱
订阅→
小红书公众号微信
© 2026 兔二思. All Rights Reserved.