ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Allegro 17.2 背钻设置全流程:从属性配置到钻孔表输出

Allegro 17.2 背钻设置全流程:从属性配置到钻孔表输出 简介Allegro 17.2 背钻设置指导书面向使用 Cadence Allegro 进行 PCB 设计的工程师与初学者聚焦背钻这一高速板设计中的关键工艺环节帮助读者快速掌握背钻参数的设置方法与操作流程。资源包内含 1 个 PDF 文件大小约 391KB内容以图文步骤为主便于对照软件界面逐步操作。指导书围绕背钻设置展开涵盖选择 edit property、Find 选择 nets、设置 backdrill_MAX_PTH_STB 数值、配置背钻参数、区分 Bottom 与 Top 钻孔方向、调用 backdrill 命令、放出钻孔表并输出背钻表格等完整环节同时延伸介绍 Allegro Design and Analysis、Design Authoring 与 Design Publisher 的功能定位涉及逻辑约束流程、并行设计、库管理及 PDF 设计发布等知识点。目前已有 516 人学习适合需要快速上手背钻设置、补齐工艺细节的 PCB 设计人员参考。1. 背钻不是“多钻一刀”Allegro 17.2 里它到底改了什么高速板做到 10Gbps 以上过孔 stub 就成了绕不开的敌人。一个贯穿 20 层板的 PTH 过孔如果信号只从第 1 层走到第 3 层剩下第 4 到第 20 层那截铜就是一段悬空的传输线残桩它会在频域上制造谐振点把眼图啃掉一块。背钻Backdrill就是用比成品孔径略大的钻头从板子背面把这段没用的铜壁削掉只留下信号实际经过的那一段。Allegro 17.2 的背钻设置本质上是把“哪一层钻、钻多深、用多大钻头”这套工艺意图翻译成钻孔表和制造数据。这份指导书给的是最小可跑通的流程改属性、设参数、放钻孔表、输出表格。适合已经能画完多层板、准备出 Gerber 的 PCB 工程师也适合想搞清楚背钻数据在 Allegro 里怎么落地的工艺对接人。2. Allegro 17.2 背钻属性与参数设置背钻在 Allegro 里不是一个独立命令而是挂在网络属性上的制造约束。你得先告诉工具“这条网络要背钻”再告诉它“从哪面钻、钻到哪一层”。很多人卡在第一步是因为 Find 面板没切对属性根本挂不上去。2.1 backdrill_MAX_PTH_STB 属性的含义与赋值backdrill_MAX_PTH_STB这个属性名拆开看backdrill是背钻标识MAX_PTH指最大镀通孔STB是 stub 的缩写。它控制的是允许残留的最大 stub 长度单位跟随你的设计单位常见是 mil。指导书里设成 12意思是这条网络背钻后残留 stub 不超过 12mil。这个值不是随便填的它和信号速率、板材 Dk 有关速率越高允许的 stub 越短。操作路径是Edit Property然后在 Find 面板里只勾Nets取消其他勾选。这一步很关键如果 Find 里还勾着 pins 或 vias你点网络时选中的对象就不对属性面板里根本不会出现背钻相关属性。选中目标网络后在 Available Properties 里找到backdrill_MAX_PTH_STB填入数值点 Apply。# 在 Allegro 命令窗口批量给多条网络挂背钻属性 # 先选中需要背钻的网络再执行 axlCmdRegister(set_backdrill setBackdrill) defun(setBackdrill () let((netName) foreach(netName axlDBGetDesign()-nets when(netName-name HS_CLK_P || netName-name HS_CLK_N axlDBAddProp(netName list(backdrill_MAX_PTH_STB 12)) ) ) ) )这段 Skill 脚本做的是批量赋值。axlDBGetDesign()-nets拿到设计里所有网络对象when条件筛出需要背钻的差分对axlDBAddProp把属性和值写进去。参数12就是 stub 上限改这个数就能调整约束。用脚本的好处是当你有几十条高速网络要背钻时不用一条条手点也避免漏挂。注意属性值要写成字符串Allegro 的属性系统对类型敏感。2.2 背钻方向与钻孔参数的对应关系属性挂完接下来是背钻参数。指导书里写“Bottom 往上钻选 bottomtop 往下选 top”这句话对应的是背钻方向的定义。PCB 制造里背钻总是从板子的一面钻向另一面钻头进入的那一面叫背钻面。如果信号从顶层进入、在内层结束那 stub 在底层方向就要从 Bottom 面往上钻背钻面选 Bottom。反过来信号从底层进、内层结束就从 Top 往下钻。在 Allegro 的背钻设置界面里方向选错会导致钻孔表里的背钻层完全反掉工厂按你的表钻直接把有用的铜壁削掉板子报废。常见做法是先确认信号的入层和出层stub 在哪一侧背钻面就选哪一侧。参数上还要设背钻钻头直径一般比原孔径大 6 到 10mil具体看板厂能力。钻头太小削不干净铜壁太大可能伤到相邻孔或内层走线。参数项典型值说明backdrill_MAX_PTH_STB8~15 mil残留 stub 上限速率越高取值越小背钻钻头直径原孔径 6~10 mil需与板厂确认最小钻头能力背钻面Top / Bottom由 stub 所在侧决定背钻深度到目标层下方 4~8 mil保证削净又不伤目标层铜表格里这几项是背钻设置的核心。深度这一项 Allegro 会根据你选的层自动算但你要理解它背后的逻辑钻到目标层之后还要再往下走一点确保 stub 根部被完全去除这个“一点”就是深度余量。2.3 背钻参数落地的操作步骤参数设好后点Backdrill按钮生成背钻数据。这一步 Allegro 会在设计里标记出背钻孔并更新钻孔相关层。操作顺序不能乱先挂属性再设方向参数最后生成。如果先点 Backdrill 再改属性生成的数据不会跟着更新得重新生成。# 生成背钻数据后用报告检查背钻孔数量与层对应 # 在 Allegro 中执行 Report 命令 report -backdrill -file backdrill_check.rpt这条 report 命令输出背钻检查报告-backdrill指定报告类型-file指定输出文件名。报告里会列出每个背钻孔的坐标、背钻面、起始层和结束层。拿到报告先核对数量再抽查几个孔的层对应关系确认没有方向反的。这一步是出 Gerber 前最后的自检关口漏掉的话问题会直接流到板厂。3. 钻孔表输出与背钻数据验证背钻数据生成后真正交付给板厂的是钻孔表。Allegro 17.2 的钻孔表默认不包含背钻信息你得手动勾选否则工厂收到的表里只有普通 PTH 和 NPTH背钻那几列是空的。3.1 放出包含背钻的钻孔表路径是Manufacture NC Drill Legend。在弹出的对话框里有一个Include Backdrill选项必须勾上。不勾的话钻孔表只画常规孔背钻孔不会出现在表里。勾上之后表里会多出背钻对应的符号和列标注每个背钻孔的钻头尺寸和背钻面。放钻孔表之前建议先确认钻孔符号已经生成。Manufacture NC Drill Customization里可以查看和编辑每种孔的符号。背钻孔通常用和普通孔不同的符号方便工厂区分。如果符号冲突表里会混在一起工厂容易看错。# 检查钻孔表中是否包含背钻条目 axlCmdRegister(check_drill_legend checkDrillLegend) defun(checkDrillLegend () let((drillData) drillData axlDBGetDrills() foreach(d drillData when(d-backdrill t printf(Backdrill hole: %L, size: %L, side: %L\n d-xy d-drillSize d-backdrillSide) ) ) ) )这段脚本遍历设计里所有钻孔对象d-backdrill t筛出背钻孔打印坐标、孔径和背钻面。跑一遍就能知道设计里到底有多少个背钻孔和钻孔表里的数量对一下。如果脚本输出的数量和表里不一致说明有背钻孔没被正确标记得回去查属性是不是漏挂了。3.2 背钻表格输出与工厂对接要点钻孔表放好后输出背钻表格。指导书里说的“输出背钻表格”通常指生成钻孔文件时把背钻信息一并输出。路径是Manufacture NC NC Drill在输出设置里确认Backdrill相关选项已启用。输出的文件里背钻孔会和普通孔分开标注或者在同一文件里用不同工具号区分。和工厂对接时光给钻孔文件不够最好附一份背钻说明。说明里写清楚哪些网络背钻、背钻面、钻头直径、残留 stub 要求。Allegro 的钻孔表能提供大部分信息但 stub 要求这种工艺指标表里不一定体现得单独写。常见做法是把backdrill_MAX_PTH_STB的值也写进说明让工厂知道你的验收标准。注意背钻钻头直径和残留 stub 要求必须提前和板厂确认。不同板厂的钻头规格和背钻精度不一样你按 12mil stub 设计工厂做不到最后还得改设计。3.3 背钻设置常见错误与排查背钻设置出错症状通常有三种钻孔表里没有背钻、背钻方向反了、背钻孔数量不对。第一种查Include Backdrill有没有勾以及属性有没有挂上。第二种查背钻面选择对照信号入层出层重新确认。第三种查属性是不是挂到了错误的网络上或者脚本批量赋值时条件写错。-- 用查询方式核对背钻属性挂载情况示意实际用 Allegro 查询或 Skill SELECT net_name, prop_value FROM design_properties WHERE prop_name backdrill_MAX_PTH_STB ORDER BY net_name;这个查询思路是把所有挂了背钻属性的网络列出来和你的背钻网络清单比对。多出来的说明误挂少了的说明漏挂。Allegro 里可以用Tools Reports或 Skill 脚本实现类似查询。排查时先看属性再看方向最后看输出按这个顺序走大部分问题能定位到。4. 背钻 stub 控制与高速信号完整性背钻设置跑通只是第一步真正决定板子能不能过测试的是 stub 控制得好不好。12mil 这个值在 10Gbps 以下通常够用但到了 25Gbps 甚至更高stub 要求可能压到 8mil 以内这时候背钻深度和钻头直径的配合就变得很敏感。4.1 stub 长度与信号速率的经验对应stub 的谐振频率和长度成反比粗略估算可以用四分之一波长公式。实际工程里更常用经验值10Gbps 信号 stub 控制在 15mil 以内25Gbps 控制在 8mil 以内56Gbps 要压到 5mil 以下。这些值不是绝对的还和板材、过孔结构有关但可以作为设置backdrill_MAX_PTH_STB的起点。设置时不要一刀切。同一块板上低速网络可以不背钻高速差分对才背钻。全板背钻会增加成本和加工时间而且钻头路径多了伤到其他孔的风险也大。我一般会按信号速率分档不同档位给不同的 stub 上限在属性里分别设置。4.2 背钻深度余量的设置技巧背钻深度余量是钻到目标层之后继续往下钻的距离。设太小stub 根部残留等于没背钻干净设太大可能伤到目标层下方的铜或走线。常见做法是留 4 到 8mil 余量具体看板厂的背钻精度。精度高的板厂可以留 4mil精度一般的留 8mil 更保险。在 Allegro 里深度余量不是直接填数字而是通过选择背钻结束层来间接控制。你选的结束层决定了钻头停在哪一层余量体现在层与层之间的介质厚度上。如果介质薄余量自然小这时候要确认板厂能不能做到。介质厚的话余量容易满足但 stub 可能偏长需要权衡。# 计算背钻后实际 stub 长度示意逻辑 # stub 目标层到背钻结束层的距离 defun(calcStub (targetLayer endLayer) let((stackup dist) stackup axlDBGetStackup() dist 0 foreach(layer stackup when(layer-name targetLayer ; 从目标层开始累加介质厚度到结束层 ) ) printf(Estimated stub: %L mil\n dist) ) )这段逻辑演示的是从叠层里累加介质厚度来估算 stub。实际用的时候axlDBGetStackup拿到叠层信息遍历找到目标层和结束层把中间的介质厚度加起来。算出来的值和backdrill_MAX_PTH_STB对比超了就调整结束层或背钻面。这个检查在出 Gerber 前做一遍能避免 stub 超标。4.3 背钻数据的最终验证清单出 Gerber 前背钻数据要过一遍清单。第一属性挂载完整所有该背钻的网络都有backdrill_MAX_PTH_STB。第二背钻方向正确每个孔的背钻面和 stub 侧一致。第三钻孔表包含背钻Include Backdrill已勾选。第四背钻孔数量和脚本统计一致。第五stub 估算值在要求范围内。第六背钻说明文档已准备和钻孔文件一起交付。这六项里前四项是 Allegro 操作层面的后两项是工艺对接层面的。操作层面的问题自己就能查工艺层面的要和板厂确认。把这份清单走完背钻设置基本不会出大问题。最后一行技术内容背钻数据交付后保留一份 Allegro 源文件和钻孔报告方便工厂反馈问题时快速定位。本文还有配套的精品资源点击获取
返回列表