agentee

设计

HDI:微过孔与压合

盲孔、埋孔和微过孔、堆叠和跳孔、焊盘内过孔、背钻和受控深度钻孔,以及压合如何决定可钻孔的内容。

通孔过孔在最后一次压合后从顶层钻到底层,只钻一次。其余所有类型,盲孔、埋孔、微孔、背钻和控深钻孔,都取决于电路板的构建方式。agentee 会建模该构建过程,因此在你用这些过孔走线之前,就能告诉你板厂能钻哪些过孔。

使用 HDI 预设

generic 和 jlcpcb 板厂预设只构建通孔过孔,并将其他任何过孔类型报告为错误。对于 HDI,请设置 hdi 预设和一个 HDI 叠层:

fab = "hdi"

[stackup]
preset = "hdi-6l-1n1"
finish = "ENIG"

hdi 预设是 generic 加上 PCBWay 公布的 HDI 能力:1+N+1 到 6+N+6 构建,0.065 mm 线宽和线距,0.1 到 0.2 mm 激光钻孔,0.15 mm 机械钻孔,14:1 纵横比,以及堆叠铜填充微孔。[rules] hdi = true 为其他预设开启 HDI,并使用该预设的限制。

随附的两个 HDI 叠层是通用构建,不是某家板厂公布的叠层:

  • hdi-6l-1n1:6 层,1+4+1,0.8 mm,核心子叠层每侧各有一层 0.07 mm 1080 构建半固化片。
  • hdi-8l-2n2:8 层,2+4+2,1.0 mm,同一子叠层每侧各有两层构建层。

过孔类型

[[vias]]
name = "uvia-top"
type = "microvia"
from = "F.Cu"
to = "In1.Cu"
drill = "0.1mm"
diameter = "0.25mm"
fill = "filled_capped"

[[vias]]
name = "core"
type = "buried"
from = "In1.Cu"
to = "In4.Cu"
drill = "0.2mm"
diameter = "0.45mm"
类型跨度钻孔
through从第一层铜到最后一层铜机械钻孔,在最后一次压合之后
blind从外层到内层在子叠层中机械钻孔,或钻到控深
buried从内层到内层机械钻孔,在压合的子叠层中
microvia一层介质激光钻孔,在构建层中

如果没有 type,则由跨度决定。微孔跨越一层介质,除非它是 stacked(每层介质一个微孔,这需要 stacked_microvias)或 skip(一个激光孔跨越两层介质)。检查会将每个微孔限制在激光钻孔限制内,并将其深度与钻孔之比限制在 max_microvia_aspect_ratio,在 hdi 预设上为 0.8:1。

fill 是 IPC-4761 过孔保护,从 tented(I 型)到 filled_capped(VII 型)。焊盘内过孔需要 VII 型,而焊盘内具有其他填充的过孔是 via-in-pad-fill 错误。

压合决定什么可以被钻

压合是压合步骤和它们之间钻孔步骤的序列。如果没有 lamination 列表,agentee 会从叠层推导:每个核心在其压合前钻孔,子叠层在其压合后钻孔,然后对于每个构建压合,一个进入下方层的激光步骤和一个穿过所有已压合部分的机械步骤,最后是从每个面的控深步骤。

在 hdi-6l-1n1 上,这给出:

  • In1.Cu 到 In2.Cu 和 In3.Cu 到 In4.Cu,在核心中,
  • In1.Cu 到 In4.Cu,埋孔,穿过子叠层,
  • 激光 F.Cu 到 In1.Cu 和 In4.Cu 到 B.Cu,
  • 通孔钻孔 F.Cu 到 B.Cu,
  • 从 F.Cu 和从 B.Cu 到每个内层的控深。

过孔类型只有在其跨度和钻孔类型与某个步骤匹配时才可钻。不匹配任何步骤的是 via-lamination 错误,消息会列出压合钻的每个跨度。例如,F.Cu 到 In2.Cu 在 hdi-8l-2n2 上可作为两个堆叠激光步骤钻,但在 hdi-6l-1n1 上不行,因为它会穿过第一个核心。对于叠层未显示的构建,手动列出 lamination 步骤。

堆叠从内向外构建。在同一个层相遇的两个过孔中,靠近表面的那个在上面,下面的那个必须在相同或更早的步骤钻出。stacked-via 报告顺序错误的堆叠,以及在同一位置穿过同一介质的两个过孔,这会被钻两次。

使用多种过孔类型走线

一个网络类可以列出多个过孔:

[[netclasses]]
name = "Default"
via = ["std", "uvia-top", "uvia-bot"]

路由器在每次换层时选择跨越两层的最低成本列出的过孔(按其 cost 乘以 --via-cost,平局时选择跨越更少层的过孔),因此从 F.Cu 到 In1.Cu 的换层使用微孔,到 In2.Cu 的换层使用通孔。[[fanouts]] 采用第一个到达焊盘层的过孔,这就是细间距 BGA 在每个焊盘获得微孔的方式:

[[fanouts]]
ref = "U1"
via = ["uvia-top"]
agentee route NAME --nets '*' --via-in-pad

背钻和控深

[[vias]]
name = "bd"
drill = "0.3mm"
diameter = "0.6mm"
backdrill = { from = "B.Cu", to = "In2.Cu", max_stub = "0.2mm" }

背钻从一面移除孔壁,直到 to 之前,留下最多 max_stub 的残桩。控深过孔(drill_kind = "controlled_depth")是在最后一次压合后从其面机械钻出的盲孔,通过深度在其层停止。其深度与钻孔之比限制在 1:1,且上面不能堆叠任何东西。

每个过孔,无论什么类型,只占据其跨越的层。间距、铺铜、缝合、直流、热和 FDTD 模型、2D 和 3D 查看器以及钻孔文件都遵循这一点。

板厂收到什么

agentee fab 为每个盲孔、埋孔或微孔跨度写一个 Excellon 文件,命名如 drill-F.Cu-In1.Cu.drl,控深过孔在它们自己的 -controlled-depth 文件中,背钻在 drill-backdrill-FROM-TO.drl 中。fab-notes.txt 列出每个过孔类型及其跨度、钻孔类型、尺寸、数量、填充和钻孔文件,以及每个需要填充和盖帽的焊盘内过孔。

改进此指南 · 面向智能体的 Markdown