资讯详情

资讯详情

Calibre DRC/LVS Runset深度解析:从规则语法到流片级调试

简介本资源是一份面向集成电路物理验证工程师、EDA初学者及高校微电子专业学生的Calibre DRC/LVS全流程学习总结材料聚焦Tape-Out前关键验证环节系统梳理DRC设计规则检查、LVS版图与电路图比对及ERC电气规则检查的核心原理、标准流程与实操要点。资料以PDF形式呈现共1个文件大小704KB内容精炼实用涵盖Calibre工具简介、RVE结果反标机制、SVRF规则文件语法详解、典型Runset结构拆解含层次定义、运算指令、FLAG标记等并附带可直接参考的完整Rule File示例及注释说明。预览显示文档结构清晰分章讲解Calibre基础、DRC/LVS/ERC三类验证的数据准备、流程图、错误定位与修正方法特别强化了GDSII数据加载、精度设置、OFFGRID/SKEW/ACUTE等常见报错识别技巧。目前已有10577人学习下载是快速掌握Calibre工业级验证规范与工程实践的高价值入门指南。1. Calibre DRC/LVS 不是“点一下就过”的黑匣子它是一套必须亲手调参、逐层理解、反复验证的物理验证闭环系统你手头正卡在 Tape Out 前最后一道关——DRC 报了 27 个M1_6错误LVS 却死活不认顶层top_design的电源网络RVE 点开报错坐标Virtuoso 里却高亮一片空白v2lvs转完的.sp文件里满屏UNDEFINED SUBCKT而calibre -lvs日志只甩出一句LVS MISMATCH: 0 matching devices。这不是玄学是 Calibre 没被真正“拆开”过。这份《Calibre DRC和LVS验证总结材料》不是手册搬运工而是某高校流片实验室连续三年支撑 5 款 28nm/40nm 工艺芯片 Tape Out 的实操笔记它把 Calibre 从“图形界面点选工具”还原成一套可调试、可溯源、可复现的命令行驱动验证引擎。核心价值就三点第一所有 Runset 规则写法都带真实工艺节点参数如nwell width must 2.5对应 TSMC 40G 工艺不是空泛语法第二每个命令背后标注了它在物理验证链路中的真实作用位比如PRECISION 1000不是精度越高越好而是决定 GDS 坐标缩放倍数的关键开关第三所有避坑点都来自真实翻车现场——比如LVS FILTER UNUSED MOS YES开启后漏掉一个未连接衬底的 dummy NMOS导致流片后 latch-up。适合正在啃 PDK、刚接手版图验证、或被 Foundry DRC Clean Report 卡住的 IC 物理设计工程师。别再把 Calibre 当成魔法盒子它本质是一台需要你亲手校准的精密测量仪。2. Calibre DRC Runset 文件结构解析从路径定义到规则检查的六层逻辑链Calibre DRC 的灵魂不在 GUI而在 Runset 文件——一个纯文本.rule文件它定义了整个验证的输入、计算逻辑与输出行为。一份合格的 Runset 不是规则堆砌而是有严格层级依赖的六层逻辑链路径层 → 控制层 → 层次层 → 运算层 → 检查层 → 选择层。任何一层缺失或顺序错乱都会导致calibre -drc启动失败或结果不可信。下面以 TSMC 40G PDK 实际使用的简化 Runset 为蓝本逐层拆解其技术含义与实操要点。2.1 路径层LAYOUT PATH 与 SOURCE PATH 的物理意义及常见陷阱路径定义是 Runset 的起点但绝非简单填入文件路径。LAYOUT PATH指向的是 GDSII 文件的绝对路径文件名且必须包含完整扩展名如test_nand3.gds不能只写目录。SOURCE PATH在 DRC 中虽不启用DRC 不需网表但若 Runset 后续复用为 LVS 模板此处留空会引发calibre -lvs解析失败。关键参数如下LAYOUT PATH /home/iclab/project/asic40g/gds/test_nand3.gds LAYOUT PRIMARY test_nand3 LAYOUT SYSTEM GDSII提示LAYOUT PRIMARY必须与 GDSII 文件中顶层 cell 名完全一致区分大小写否则 Calibre 会静默跳过验证只输出TOTAL DRC Results Generated: 0。曾有某开发者因 GDS 导出时自动添加_flat后缀导致PRIMARY写成test_nand3而实际 cell 是test_nand3_flat耗时 3 小时排查。2.2 控制层PRECISION/RESOLUTION 如何决定几何计算精度这是最易被误解的参数。PRECISION 1000和RESOLUTION 10组合并非直接表示 0.01um 精度而是定义 Calibre 内部坐标系的整数化缩放因子PRECISION是分母表示将 1 unit通常是 1um划分为多少整数格点RESOLUTION是分子表示最终计算所用的最小单位unit实际格点尺寸 RESOLUTION / PRECISION10 / 10000.01um。但注意若工艺要求最小线宽为 0.1umPRECISION设为 100 即可10/1000.1um设为 1000 反而增加计算量。实测在 40nm 工艺下PRECISION 10000会使 DRC 运行时间增加 40%而错误检出率无提升。PRECISION 1000 RESOLUTION 10 DRC MAXIMUM RESULTS 500 DRC RESULTS DATABASE /home/iclab/project/asic40g/drc/drc_err DRC SUMMARY REPORT /home/iclab/project/asic40g/drc/drc_err.sum HIER参数说明DRC MAXIMUM RESULTS 500是单条规则最多报告错误数不是全局总数。若某条M1_6规则实际有 600 处错误Calibre 只报前 500 个剩余 100 个被截断——这正是某些“改完500个错误仍不过”的根源。生产环境建议设为10000或更高。2.3 层次层LAYER 定义与 TEXT LAYER 的电气连接建模层次定义是 DRC 的“语言基础”它告诉 Calibre “哪一层是 N 阱、哪一层是多晶硅”。LAYER命令格式为LAYER logical_name physical_number其中physical_number必须与 GDSII 文件中 layer number 严格对应。例如 TSMC 40G 中nwell对应 layer 1poly对应 layer 3若写成LAYER nwelli 2则所有基于nwelli的规则检查全部失效。LAYER nwelli 1 LAYER poly1 3 LAYER met1 4 LAYER cont 5 TEXT LAYER 60 ATTACH 60 met1 TEXT LAYER 70 ATTACH 70 met2关键逻辑TEXT LAYER不仅定义文字层更建立电气连接关系。TEXT LAYER 60 ATTACH 60 met1表示GDSII 中 layer 60 的 text 字符如VDD将被 Calibre 自动关联到同一位置的met1图形上形成 VDD 网络节点。若漏写此行LVS POWER NAME将无法识别电源网络导致 LVS 报POWER NET NOT FOUND。2.4 运算层INTERACT/NOT/SIZE 等布尔运算的物理映射层次运算是 DRC 的“中间件”它不直接报错而是生成新层次供后续规则使用。INTERACT表示两层图形存在任意重叠包括点碰点、边碰边等价于 DRACULA 的OVERLAPNOT是取反SIZE是图形缩放。重点在于SIZE ... OVERUNDER与SIZE ... UNDEROVER的区别OVERUNDER先放大再缩小用于检测最小间距如nwell间最小 spaceUNDEROVER先缩小再放大用于检测最小宽度如poly最小 width。以下代码生成nwell边界内缩 0.1um 的区域用于检查阱内 implant 是否完全覆盖nwell_shrink SIZE nwelli BY -0.1 OVERUNDER implant_in_nwell ndiffi INTERACT nwell_shrink参数说明SIZE ... BY -0.1的负值表示缩小单位是RESOLUTION/PRECISION即 0.01um所以-0.1实际缩小 0.001um。若工艺要求 implant 必须距nwell边界 ≥0.1um则此处应为BY -10-10 * 0.01um -0.1um。2.5 检查层DRAWN 命令如何将几何缺陷转化为可定位错误规则检查层是 Runset 的“执行单元”每条{...}是一个独立规则块。核心是DRAWN命令——它不计算逻辑而是直接标记几何缺陷。例如DRAWN OFFGRID并非检查“是否在格点上”而是扫描所有图形顶点将偏离格点的坐标点标记为错误。 flag offgrid yes则是为该错误添加标签使 RVE 能在 Summary Report 中显示具体坐标。offgrid_chk { flag offgrid yes DRAWN OFFGRID } nwell_width_chk { nwell width must 2.5 INT nwelli 2.5 ABUT 90 SINGULAR REGION }逻辑说明INT nwelli 2.5是核心检查语句INT表示“内部边”inner edge即nwelli图形的轮廓线 2.5表示该轮廓线长度小于 2.5um单位为RESOLUTION/PRECISION即 0.01um故实际为 0.025um错此处2.5是物理单位 umCalibre 自动按PRECISION/RESOLUTION换算。ABUT 90强制要求报错点处角度小于 90 度过滤钝角拐角SINGULAR REGION确保只报单点接触错误避免大面积重叠误报。2.6 选择层DRC SELECT CHECK 与 GROUP 的动态规则控制选择层赋予 Runset 动态能力。GROUP将多个规则归为一组DRC SELECT CHECK可在命令行中指定只运行该组极大加速调试。例如将所有nwell相关规则归为nwchk组GROUP nwchk nw_chk1 nw_chk2 nw_chk3 nw_chk4 nw_chk5运行时只需calibre -hier -drc -select_check nwchk drc.rule实操技巧在调试阶段用DRC SELECT CHECK锁定单条规则如nw_chk1配合DRC MAXIMUM RESULTS 10可快速定位首个错误位置。待修复后再逐步放开其他规则避免被海量错误淹没。3. Calibre LVS Runset 文件深度拆解从网表提取到器件匹配的七步验证链LVS 验证的本质是两个 SPICE 网表的拓扑与参数比对版图提取的extracted.sp与电路图source.sp。Runset 文件就是指挥 Calibre 如何提取、如何比对、如何容错的“作战地图”。它比 DRC Runset 更复杂因为涉及网表解析、器件识别、端口映射三重挑战。一份稳健的 LVS Runset 必须覆盖七层路径层 → 控制层 → 电源地层 → 层次层 → 连接层 → 器件层 → ERC层。下面以某 28nm SoC 的 LVS Runset 为例逐层揭示其物理含义与调试逻辑。3.1 路径层与控制层SOURCE SYSTEM SPICE 的隐含约束LVS 的路径定义与 DRC 类似但SOURCE SYSTEM必须为SPICE且SOURCE PATH指向的.sp文件需满足 Calibre 的语法规范不支持.subckt嵌套超过 3 层所有.model语句必须在.subckt之前电源网络名必须用?通配如?VDD?否则LVS POWER NAME无法匹配。SOURCE PATH /home/iclab/project/asic28n/netlist/top_design.sp SOURCE PRIMARY top_design SOURCE SYSTEM SPICE LVS REPORT /home/iclab/project/asic28n/lvs/lvs_report.txt PRECISION 10000 RESOLUTION 10注意PRECISION 10000在 LVS 中比 DRC 更关键——它决定版图提取时器件尺寸的量化精度。28nm 工艺下PRECISION 1000会导致W/L计算误差达 0.1um触发TRACE PROPERTY误报。3.2 电源地层LVS POWER NAME 与 LVS GROUND NAME 的通配机制电源地定义是 LVS 的“锚点”错误配置将导致全盘失败。LVS POWER NAME接收多个字符串用空格分隔Calibre 会逐一匹配网表中的.pin或.subckt端口名。?是通配符匹配任意字符包括空因此?VDD?可匹配VDD、vdd、VDD1、core_vdd。但注意?不能跨单词匹配?VDD?无法匹配io_vdd_core因中间有_。LVS POWER NAME ?VDD? ?vdd? ?VCC? ?vcc? LVS GROUND NAME ?GND? ?gnd? ?VSS? ?vss? LVS ABORT ON SUPPLY ERROR YES LVS ISOLATE SHORTS NO参数说明LVS ABORT ON SUPPLY ERROR YES表示一旦发现电源地短路如VDD与VSS在版图中连通立即终止 LVS 并报错。这是安全底线绝不可设为 NO。LVS ISOLATE SHORTS NO表示不自动隔离短路点默认行为若设为YESCalibre 会尝试切断短路路径再继续比对但可能掩盖真实设计缺陷。3.3 层次层与连接层PORT LAYER TEXT 与 CONNECT 的电气建模PORT LAYER TEXT定义版图中文字层如 layer 60如何映射为网表端口。TEXT LAYER 60 ATTACH 60 met1告诉 Calibre“layer 60 的 text 字符若与met1图形重叠则该 text 内容如VDD即为met1网络的端口名”。CONNECT则定义金属层间的物理连接关系这是版图提取的基础TEXT LAYER 60 ATTACH 60 met1 PORT LAYER TEXT 60 TEXT LAYER 70 ATTACH 70 met2 PORT LAYER TEXT 70 CONNECT met2 met1 BY via1 CONNECT met1 poly1 BY cont CONNECT met1 ndiffi BY cont关键逻辑CONNECT ... BY via1中的via1必须是 Runset 中已定义的LAYER如LAYER via1 6。若via1层号写错Calibre 提取的网表中met2与met1将断开导致 LVS 报NET MISMATCH。实测某项目因via1层号误写为7提取网表中所有via1连接消失耗费 2 天排查。3.4 器件层DEVICE 与 TRACE PROPERTY 的工艺适配DEVICE命令定义版图中何种图形组合构成一个器件TRACE PROPERTY定义该器件哪些参数允许误差。这是 LVS 最易出错的环节。以 NMOS 为例DEVICE MN(N) ngate tpoly tnsd tnsd bulk [0.5] TRACE PROPERTY MN(N) L L 0.1 TRACE PROPERTY MN(N) W W 0.1MN(N)器件类型名MN与端口顺序N表示ngate, tnsd, tnsd, bulkngate栅极图形由tpoly与tnsd交叠生成tnsd源/漏扩散区ndiffibulk衬底连接nwelli[0.5]拐角因子corner factor补偿光刻效应28nm 工艺典型值为0.3~0.5TRACE PROPERTY ... L L 0.1沟道长度L允许 ±10% 误差相对值非绝对值。参数说明TRACE PROPERTY的第三个参数0.1是相对误差。若实际L0.5um则允许范围为0.45~0.55um。若工艺要求L绝对误差 ≤0.01um此处应写0.020.01/0.50.02。3.5 ERC 层LVS SOFTCHK 与 PATHCHK 的电气规则注入ERCElectrical Rule Checking是 LVS 的增强层它在网表比对后追加电气规则检查。LVS SOFTCHK是软性检查报错但不终止 LVSPATHCHK是路径检查验证网络连通性。例如LVS SOFTCHK tnwell CONTACT LVS SOFTCHK bulk CONTACT ERC PATHCHK GROUND !POWER ERC PATHCHK POWER !GROUND ERC PATHCHK !POWER !GROUNDLVS SOFTCHK tnwell CONTACT检查tnwellN 阱是否与CONTACT层有连接若无则报tnwell not contactedERC PATHCHK GROUND !POWER检查地网络是否与电源网络隔离表示 AND!表示 NOT。实操价值ERC PATHCHK能捕获 DRC 无法发现的电气隐患。某项目 DRC Clean但ERC PATHCHK POWER !GROUND报错发现VDD通过未掩膜的 dummy poly 与VSS连通避免了流片后功能失效。4. Calibre 命令行实战从 DRC/LVS 运行到 RVE 定位的完整工作流Calibre 的 GUI 是教学演示工具真正在流片项目中稳定运行的永远是命令行模式。它提供确定性、可复现性、以及与 CI/CD 流水线的无缝集成。本节以某 40nm MCU 芯片的验证任务为背景给出从数据准备到错误定位的完整命令链并解释每个参数的物理意义与调试价值。4.1 DRC 运行calibre -hier -drc 的参数精解在终端中执行 DRC 的标准命令为calibre -hier -drc -runset drc.rule -lvs -log drc.log test_nand3.gds-hier启用层次化模式保留版图层次结构大幅缩短运行时间对比flat模式快 3~5 倍-drc指定执行 DRC 验证-runset drc.rule加载 Runset 文件-lvs此参数非 LVS 相关而是强制 Calibre 生成 LVS 兼容的中间数据库.svdb便于后续用 RVE 查看-log drc.log输出详细日志包含每条规则的执行时间、错误数、内存占用test_nand3.gdsGDSII 输入文件可省略若 Runset 中已定义LAYOUT PATH。血泪经验-lvs参数是 RVE 能反标错误到 Virtuoso 的前提。若漏加RVE 启动后报Database format not supported。某项目初期因未加-lvsRVE 无法定位错误被迫重跑 DRC浪费 4 小时。4.2 LVS 运行v2lvs calibre -lvs 的协同流程LVS 需要两步先用v2lvs转网表再用calibre -lvs比对。某 28nm 项目完整命令链如下# 步骤1v2lvs 转网表-lsr 支持数组端口-sk 支持多组电源 v2lvs -v top_design.v -o top_design.sp -s0 VSS -s1 VDD -sk \ -l pll.v -l cache.v -lsr pll.sp -lsr cache.sp -lsp std.sp \ -s pll.sp -s cache.sp -s std.sp # 步骤2calibre -lvs 运行-spice 生成 SPICE 格式提取网表 calibre -hier -lvs -runset lvs.rule -spice -log lvs.log \ -report lvs_report.txt test_nand3.gdsv2lvs -lsrlsr表示 pin range mode支持 Verilog 数组端口如PA[31:0]若用-lsppin mode会报错Array port PA[31:0] not allowedcalibre -lvs -spice生成extracted.sp提取网表供人工比对-report lvs_report.txt生成 ASCII 格式报告含详细 mismatch 分析。避坑提示v2lvs输出的.sp文件首行必须为* Calibre v2lvs generated netlist否则calibre -lvs会报Invalid source file format。某开发者用脚本修改了首行注释导致 LVS 无法启动。4.3 RVE 启动与错误定位calibre -rve 的精准反标RVE 是 Calibre 的“眼睛”其启动命令必须指向 DRC/LVS 生成的.svdb数据库非.out或.txt# DRC 错误数据库由 calibre -drc -lvs 生成 calibre -rve drc_err # LVS 错误数据库由 calibre -lvs 生成 calibre -rve lvs_err启动后在 RVE 界面中左侧Check树状图展开绿色表示通过红色表示失败右键点击红色规则如M1_6→View Results右侧显示所有错误坐标双击任一坐标如-1.96, 3.97RVE 自动调用 Virtuoso 并高亮该位置。关键设置首次启动 RVE 时需在Setup → Layout中配置 Virtuoso 路径。若路径错误RVE 报Cannot launch layout tool。正确路径为/tools/cadence/virtuoso/bin/virtuosoLinux或/Applications/Cadence/virtuoso.app/Contents/MacOS/virtuosomacOS。4.4 结果文件解析drc_err.sum 与 lvs_report.txt 的速读技巧验证完成后首要检查的是摘要文件而非原始数据库# DRC 摘要关注 TOTAL DRC Results Generated grep TOTAL DRC Results Generated drc_err.sum # LVS 报告关注 MISMATCH SUMMARY grep -A 10 MISMATCH SUMMARY lvs_report.txtdrc_err.sum中TOTAL DRC Results Generated: 9表示共 9 个错误若为0则 DRC Cleanlvs_report.txt中MISMATCH SUMMARY下列出所有 mismatch 类型NET MISMATCH网络名不一致、DEVICE MISMATCH器件数量/参数不一致、PIN MISMATCH端口连接错误。速读技巧lvs_report.txt中DEVICE MISMATCH条目后紧跟Extracted:与Source:两行分别显示版图提取的器件实例与网表中的器件实例。对比二者W、L、Mmultiplier参数即可定位是版图绘制错误还是 RunsetTRACE PROPERTY误差设置过严。5. Calibre DRC/LVS 常见问题排查5 条血泪经验总结在真实流片项目中Calibre 报错往往不是规则写错而是环境、数据、参数的隐性冲突。以下是某实验室三年积累的 5 条高频踩坑记录每条均按“现象 → 原因 → 解决”结构整理直击痛点。5.1 现象RVE 启动后报Database format not supported无法加载 drc_err原因calibre -drc运行时未加-lvs参数生成的drc_err是 DRC 专用格式.out而 RVE 要求 LVS 兼容格式.svdb。解决重新运行 DRC必须添加-lvs参数calibre -hier -drc -runset drc.rule -lvs drc_err test_nand3.gds验证运行后检查drc_err文件大小若 1MB 且包含SVDB字样则为正确格式。5.2 现象v2lvs报错Undefined subcircuit: INVX1但INVX1.sp已在-lsp列表中原因-lsp加载的INVX1.sp文件中.subckt INVX1的端口顺序与 Verilog 网表中INVX1实例的端口顺序不一致。例如 Verilog 中为(.A(a), .Z(z))而 SPICE 中为.subckt INVX1 Z A。解决用文本编辑器打开INVX1.sp确保.subckt行端口顺序与 Verilog 实例完全一致.subckt INVX1 A Z // 必须与 Verilog 端口顺序相同5.3 现象DRC 报NW_1错误N 阱宽度不足但在 Virtuoso 中测量nwell宽度为 2.6um大于规则要求的 2.5um原因PRECISION/RESOLUTION设置导致坐标量化误差。PRECISION 1000时2.5um对应整数250若版图坐标为249.7量化后为249小于250。解决提高精度或放宽规则。推荐方案是在 Runset 中将规则改为INT nwelli 249即249 * 0.01um 2.49um而非修改PRECISION会拖慢速度。5.4 现象LVS 报NET MISMATCH: VDD但LVS POWER NAME已定义?VDD?原因版图中VDD文字层layer 60未与met1图形重叠或TEXT LAYER 60 ATTACH 60 met1未在 Runset 中定义。解决在 Virtuoso 中检查VDDtext 是否与met1有重叠若无移动 text 至met1上方若 Runset 中漏定义TEXT LAYER补上TEXT LAYER 60 ATTACH 60 met1 PORT LAYER TEXT 605.5 现象calibre -lvs运行超时2 小时日志卡在Extracting layout...原因LVS ISOLATE SHORTS YES开启后Calibre 尝试自动修复电源地短路但短路路径复杂如多层金属绕行导致算法陷入死循环。解决临时关闭该选项先定位短路点LVS ISOLATE SHORTS NO LVS ABORT ON SUPPLY ERROR YES运行后查看lvs_report.txt中SHORT CIRCUIT DETECTED部分获取短路网络名再在 Virtuoso 中手动排查。6. 进阶技巧用 Python 脚本自动化 Runset 生成与错误统计当项目规模扩大到数十个模块、上百条 DRC/LVS 规则时手工维护 Runset 文件极易出错。我从某跨平台 SoC 项目中提炼出一套 Python 自动化方案用脚本生成标准化 Runset并解析drc_err.sum生成 HTML 错误报告。这套方法让团队 DRC 调试周期从平均 3 天缩短至 4 小时。6.1 Runset 模板化Jinja2 生成工艺适配 Runset核心思路是将 Runset 拆分为“固定模板”与“工艺变量”。用 Jinja2 模板引擎注入工艺参数# drc_template.rule.j2 LAYOUT PATH {{ gds_path }} LAYOUT PRIMARY {{ top_cell }} PRECISION {{ precision }} RESOLUTION {{ resolution }} // N 阱规则 nw_chk1 { nwell width must {{ nwell_min_width }}um INT nwelli {{ nwell_min_width_int }} ABUT 90 SINGULAR REGION }Python 脚本注入变量from jinja2 import Template with open(drc_template.rule.j2) as f: template Template(f.read()) rendered template.render( gds_path/home/iclab/project/asic40g/gds/top.gds, top_celltop, precision1000, resolution10, nwell_min_width2.5, nwell_min_width_int250 # 2.5um * 100 (0.01um/unit) ) with open(drc_40g.rule, w) as f: f.write(rendered)价值同一份模板通过修改nwell_min_width_int即可适配不同工艺节点杜绝手工计算错误。6.2 错误统计自动化解析 drc_err.sum 生成 HTML 报告drc_err.sum是结构化文本可用正则提取关键指标import re def parse_drc_summary(summary_file): with open(summary_file) as f: content f.read() # 提取总错误数 total_match re.search(rTOTAL DRC Results Generated:\s*(\d), content) total_errors int(total_match.group(1)) if total_match else 0 # 提取各规则错误数 rule_errors {} for line in content.split(\n): m re.match(rRULECHECK\s(\w)\s.*?TOTAL Result Count (\d), line) if m and int(m.group(2)) 0: rule_errors[m.group(1)] int(m.group(2)) return total_errors, rule_errors total, rules parse_drc_summary(drc_err.sum) print(f总错误数: {total}) for rule, cnt in rules.items(): print(f{rule}: {cnt} 个)进阶应用将结果写入 HTML 表格按错误数排序点击规则名自动跳转到 Runset 中对应位置形成可交互的调试看板。6.3 RVE 错误坐标批量导出用 calibre -rve -batch 提取坐标RVE 支持批处理模式可导出所有错误坐标为 CSV# 生成 batch 脚本 echo open_database drc_err rve_batch.cmd echo export_results -format csv -file drc_errors.csv rve_batch.cmd echo quit rve_batch.cmd # 执行批处理 calibre -rve -batch rve_batch.cmd生成的drc_errors.csv包含RuleName,X,Y,Layer列可直接导入 Excel 或 Python 进行空间聚类分析如识别M1_6错误是否集中在某块金属填充区。从那以后我每次新建项目都强制走一遍jinja2模板生成 Runset calibre -drc -lvs命令行本文还有配套的精品资源点击获取
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →