Calibre 3Dstack --每日一个命令day1【die】(3-1)
Calibre 3Dstack --每日一个命令day2【component】(3-2)
Calibre 3Dstack --每日一个命令day3【stack】(3-3)
Calibre 3Dstack --每日一个命令day4【connect】(3-4)
Calibre 3Dstack --每日一个命令day5【config】(3-5)
Calibre 3Dstack --每日一个命令day6【process&export_layout】(3-6)
Calibre 3Dstack --每日一个命令day7【centers】(3-7)
Calibre 3Dstack --每日一个命令day8【connected】(3-8)
Calibre 3Dstack --每日一个命令day9【copy】(3-9)
Calibre 3Dstack --每日一个命令day10【custom_check】(3-10)
Calibre 3Dstack --每日一个命令day11【dangling_ports】(3-11)
Calibre 3Dstack --每日一个命令day12【density】(3-12)
Calibre 3Dstack --每日一个命令day13【enclosure】(3-13)
Calibre 3Dstack --每日一个命令day14【external】(3-14)
Calibre 3Dstack --每日一个命令day15【extra_ports】(3-15)
Calibre 3Dstack --每日一个命令day16【floating_pads】(3-16)
Calibre 3Dstack --每日一个命令day17【floating_texts】(3-17)
Calibre 3Dstack --每日一个命令day18【floating_trace】(3-18)
Calibre 3Dstack --每日一个命令day19【internal】(3-19)
Calibre 3Dstack --每日一个命令day20【locations】(3-20)
Calibre 3Dstack --每日一个命令day21【missing_ports】(3-21)
Calibre 3Dstack --每日一个命令day22【multi_texts】(3-22)
Calibre 3Dstack --每日一个命令day23【multi_trace】(3-23)
Calibre 3Dstack --每日一个命令day24【no_texts】(3-24)
Calibre 3Dstack --每日一个命令day25【no_trace】(3-25)
Calibre 3Dstack --每日一个命令day26【offgrid_centers】(3-25)
Calibre 3Dstack --每日一个命令day27【overlap】(3-27)
Calibre 3Dstack --每日一个命令day28【select_checks】(3-28)
Calibre 3Dstack --每日一个命令day29【unselect_checks】(3-29)
Calibre 3Dstack --每日一个命令day30【3dstack_block】(3-30)
本文摘要介绍了3DSTACK规则检查命令的功能和使用方法。主要命令包括centers(检查焊盘对齐)、connected(检查连接关系)、custom_check(自定义检查)等20余种检查类型。重点解析了centers命令的参数配置,包括检查方向、约束值、对齐方式等选项,并提供了两个应用示例:检查焊盘间距是否符合80微米标准,以及检查芯片与中介层焊盘中心偏差是否在0.1微米范围内。这些检查命令用于验证3D堆叠设计中的物理布局规则,确保芯片、中介层等组件的正确互连和间距要求。
Rule Check Commands
规则检查命令会在验证运行期间对设计执行特定检查。规则检查的指定方式如下:
-
3DSTACK+ 文件中的检查作用于放置层类型 。层类型是在
die -layer_info、component -layer_info或process -layer_info命令中定义的自定义字符串。 -
可在规则检查中指定堆叠名称,以将规则应用于特定堆叠。
-
-direction参数允许你指定执行检查的垂直方向。 -
connected检查提供了指定白盒检查和黑盒检查的选项,详情参见connected命令。 -
可通过
custom_check命令,使用 TVF 语句定义自定义检查。
表 3-6 规则检查命令
| 命令 | 描述 |
|---|---|
centers |
检查焊盘未对齐问题。 |
connected |
存在源网表时,检查连通图形之间的连接关系 ;无生源网表时,检查连通图形上的文本字符串是否匹配。 |
copy |
导出指定层的内容。 |
custom_check |
针对 3DSTACK+ 语法,使用 TVF 格式定义自定义检查。 |
dangling_ports |
检查在指定放置实例或层类型上无物理连接的已放置端口。 |
density |
检查指定放置实例的密度约束。 |
enclosure |
检查第一个放置实例边缘的朝外侧面 与第二个放置实例边缘的朝内侧面 之间的间距是否足够。 |
external |
检查第一个放置实例边缘的朝外侧面 与第二个放置实例边缘的朝外侧面 之间的间距是否足够。 |
extra_ports |
检查指定芯片、放置实例、裸片或层上,源中缺失的端口(或版图中多余的端口)。 |
floating_pads |
检查指定层类型或堆叠中,未与堆叠内其他裸片或中介层的任何焊盘重叠的焊盘。 |
floating_texts |
检查指定芯片、放置实例、裸片或层上,未附着到任何几何图形的文本标签。 |
floating_trace |
检查带有附加文本标签,但未连接到焊盘的追踪层。 |
internal |
检查第一个放置实例边缘的朝内侧面 与第二个放置实例边缘的朝内侧面 之间的间距是否足够。 |
locations |
检查焊盘的位置 ,以及源与版图之间的图形和文本是否匹配。 |
missing_ports |
检查源网表中,在指定芯片、放置实例、裸片或层上无对应版图焊盘的端口。 |
multi_texts |
检查指定芯片、放置实例、裸片或层上,同一个焊盘上附着的多个文本标签 。若版图中多个文本标签与一个焊盘重叠,工具会生成多文本错误,并选择使用该焊盘上附着的其中一个文本标签进行连接分析。由于所选标签可能与设计意图不符,因此必须检查并解决所有多文本错误,以确保版图正确;若未解决,连接分析结果可能不准确。 |
multi_trace |
检查同一追踪层上的焊盘 所附着的、带有不同文本标签 的多个追踪层。 |
no_texts |
检查指定芯片、放置实例、裸片或层上,焊盘缺失的文本标签。 |
no_trace |
检查未附着文本标签的追踪层。 |
offgrid_centers |
检查未对齐到指定网格的焊盘中心。 |
overlap |
检查两个已放置层之间的重叠是否足够。 |
select_checks |
选择在 Calibre 3DSTACK 验证期间要执行的指定检查。 |
unselect_checks |
选择在 Calibre 3DSTACK 验证期间不执行的指定检查。 |
3dstack_block |
定义一个代码块,可在其中指定标准 Calibre 3DSTACK 规则文件格式命令。此命令允许你将标准 3DSTACK 语法命令直接传递给 Calibre 3DSTACK 运行流程。 |
centers
检查焊盘未对齐问题。
用法
tcl
centers -check_name check_name
{-layer_type1 placed_layer_type1 [-layer_type2 placed_layer_type2]}
[-stack '{' stack_name_list '}'] [-direction {up | down | both}]
"constraint_value"
[-alignment {octagonal_only | orthogonal_only}] [-overlapping] [-square]
[-comment "comment"] [rve_option ...]
参数
-
-check_name check_name必选参数,指定检查名称,该名称用于写入输出结果。若多次指定centers命令,每个check_name必须唯一。 -
-layer_type1 placed_layer_type1 [-layer_type2 placed_layer_type2]参数集,指定执行检查的层类型。所有几何检查均作用于由堆叠定义的交互(接口)放置层 ,放置层指裸片放置实例对应的层。例如,若在layer_type1和layer_type2之间定义检查,则会对所有与layer_type2放置层存在交互的layer_type1放置层(由堆叠定义)进行两两检查。若检查仅指定一种层类型,则会对该类型的所有放置层执行检查。 -
-stack '{' stack_name_list '}'可选参数集,指定应用该规则检查的堆叠。若未指定此参数集,检查将应用于所有 堆叠。指定的堆叠名称必须已定义;若指定-stack参数,检查仅应用于指定的堆叠。 -
**
-direction {up | down | both}**可选参数集,指定检查的方向。若指定此参数,检查仅在指定方向上执行。-
up:检查仅从堆叠的底部到顶部执行,为默认值。 -
down:检查仅从堆叠的顶部到底部执行。 -
both:检查在两个方向上均执行。
-
-
-constraint "constraint_value"必选参数,指定指定层类型焊盘周围测量区域的尺寸约束,该约束必须包含上界 。constraint_value必须符合《标准验证规则格式(SVRF)手册》中 "约束" 部分描述的约束表示法。表达式不得 为以下形式:==、!=。 -
**
-alignment {octagonal_only | orthogonal_only}**可选参数,定义用于距离测量的焊盘中心对齐方式,选项定义如下:-
octagonal_only:仅当焊盘范围的中心点以 45 度的整数倍对齐时,才判定其间距满足约束。 -
orthogonal_only:仅当焊盘范围的中心点在 x 或 y 方向上对齐时,才判定其间距满足约束。
-
-
**
-square**可选参数,指定使用 ** 曼哈顿距离(方形度量)** 而非欧几里得距离进行测量。 -
-overlapping可选参数,检查两个重叠放置实例 之间的指定约束。若指定此参数,浮空焊盘将被忽略 。使用此选项时,必须通过placed_layer_type1和placed_layer_type2参数指定两个层。 -
-comment "comment"可选参数集,指定规则检查的注释。可使用\n转义序列指定多行注释。 -
rve_option ...可选参数集,控制 Calibre RVE 如何显示规则检查结果,允许指定多个选项。rve_option的允许值详见第 201 页的 "Calibre 3DSTACK 检查文本覆盖注释"。
说明
此命令检查焊盘中心是否对齐 ,或中心间距是否符合指定距离 。换言之,centers 检查会标记那些与其他焊盘的间距未在指定范围内 的焊盘。测量基于焊盘范围的中心 进行,其功能类似于 SVRF 中使用 CENTERS 选项的 Not With Neighbor 操作。
若要检查重叠焊盘 的中心对齐情况,请指定 -overlapping 参数。此选项仅检查两个重叠焊盘之间的指定约束;若未指定此选项,centers 命令会同时检查相邻焊盘和重叠焊盘。
注
centers命令仅适用于直线图形 。若要检查的几何图形包含非直线形状,建议先生成不含非直线形状的层派生,再使用派生层执行检查。
示例
示例 1
本示例报告所有层放置实例上,中心间距不完全等于 80 微米的焊盘。
tcl
centers -check_name controller_pads -layer_type1 pad \
-constraint "== 80" -alignment orthogonal_only \
-comment "Pads spaced 80 um in x or y from all pad centers"
若 -placement1 中的任意焊盘(或扩展语法中所有类型为 pad 的层)与其他焊盘的中心间距不完全为 80 微米,Calibre 3DSTACK 会通过选中违规焊盘进行标记。
示例 2
本示例演示如何检查两个重叠焊盘放置实例 之间的对齐情况。在此场景中,一个芯片堆叠在中介层上,需确保焊盘的错位不超过 0.1 微米。
以下规则检查定义了 cont_placement 和 inter_placement 焊盘之间的最大中心偏差为 0.1 微米,同时指定焊盘放置实例为正交对齐,且检测区域为方形。
tcl
centers -check_name centers_controller_interposer \
-layer_type1 pad -stacks {controller interposer} \
-constraint "<= 0.1" -square -alignment orthogonal_only -overlapping \
-comment "Center-to-center spacing for the controller to \
interposer_controller landing pads must be within 0.1 um in the \
x or y direction (ortho)."
在本示例中,若中介层焊盘的中心与控制器焊盘的中心间距超过 0.1 微米 ,检查会选中这些中介层焊盘。