agentee

Placa

Impedancia y pérdidas

Geometría de pista por clase y capa, impedancia en forma cerrada y resuelta por campos, pares diferenciales, y el modelo de pérdidas con rugosidad y ENIG.

Para cada clase de red y capa de enrutado, encuentra la geometría de la pista a partir del apilamiento (las capas externas son microtira, las capas internas son stripline entre el cobre más cercano por encima y por debajo), luego la impedancia (microtira de Hammerstad-Jensen, stripline de Wheeler, coplanar con tierra por mapeo conforme con el espesor del cobre y las paredes laterales, todo sin recubrir; la forma coplanar cae dentro de un 4 % del solver de campos desde un núcleo de 0,08 mm a 0,21 mm), el ancho que cumple el objetivo y la capacidad de corriente IPC-2221. agentee show <board> imprime todo como JSON.

Con solver = "field" la clase se verifica con el solver de campo 2D en su lugar: una resolución de Laplace por diferencias finas basada en nodos sobre una malla graduada, ejecutada en la GPU a través de wgpu, con el grosor del cobre, la máscara de soldadura, las tierras coplanares y los pares incluidos. En referencias exactas cae dentro del 0,5% de la stripline de espesor cero de Cohn y del 0,4% de la microstrip de Hammerstad-Jensen. Cuando la clase está fuera de objetivo, la verificación sugiere el ancho de pista que lo cumple. agentee calc field --netclass RF imprime el resultado completo (Z0, eeff, C y L por metro, retardo, malla).

--sweep 10MHz,20GHz,21 (MCP sweep) añade una tabla de pérdidas por frecuencia: R, L, G, C, Z0 y dB por metro y por pulgada, divididas en pérdida de conductor y dieléctrica. La pérdida de conductor proviene de la inductancia incremental de Wheeler, resuelta retrocediendo cada superficie de cobre en el solver de campos (dentro de un 1 % de la fórmula de stripline de Wheeler en Pozar), con la profundidad de piel del cobre recocido y la resistencia CC mezclada como sqrt(Rdc^2 + Rac^2). Los dieléctricos siguen el modelo causal de Djordjevic-Sarkar ajustado al er y loss_tangent de cada capa, tomados como valores a 1 GHz. La rugosidad del cobre se establece en el apilamiento:

[stackup]
roughness = "0.5um"            # rms, Hammerstad-Jensen
# huray = { radius = "0.5um", ratio = 2.0 }   # or the Huray snowball model
finish = "ENIG"
nickel = "4.5um"               # ENIG nickel thickness, default 4.5 um
gold = "0.075um"               # ENIG immersion gold thickness, default 0.075 um

El solver 2D aplica la rugosidad como un factor de pérdida sobre la resistencia en cada frecuencia. El FDTD usa la rugosidad y el acabado ENIG como se describe en "Pérdidas en el FDTD" más abajo; nickel y gold solo importan cuando finish = "ENIG". Los valores por defecto son el medio de las ventanas IPC-4552 (3 a 6 um de níquel, oro 0,05 um mínimo con los fabricantes apuntando a 0,05 a 0,1 um).

Una clase con diff_gap es un par: su impedance es la impedancia diferencial, y el solver ejecuta tanto el modo impar como el par. calc field añade entonces un bloque pair con Zdiff, Zcommon, las impedancias y retardos de los modos impar y par, el coeficiente de acoplamiento (Ze - Zo)/(Ze + Zo) y el cruce de extremo cercano saturado de una línea larga (la mitad del acoplamiento). Los dos modos caen dentro de un 0,5 % de la stripline de acoplamiento por borde exacta de Cohn. Una diferencia entre los retardos impar y par es lo que impulsa el cruce de extremo lejano en microtira.

docs/format.md · Markdown para agentes