agentee

Płytka

Impedancja i straty

Geometria ścieżek według klasy i warstwy, impedancja z formuły zamkniętej i z rozwiązania pola, pary różniczkowe oraz model strat z chropowatością i ENIG.

Dla każdej klasy sieci i warstwy routingu znajduje geometrię ścieżki ze stackupu (warstwy zewnętrzne to mikropasek, wewnętrzne to stripline między najbliższą miedzią nad i pod), następnie impedancję (mikropasek Hammerstad-Jensen, stripline Wheeler, spłaszczony współpaskowy z uziemieniem z grubością miedzi i ściankami bocznymi, wszystko bez powłoki; forma współpaskowa mieści się w granicach 4% od solvera pól od rdzenia 0,08 mm do 0,21 mm), szerokość spełniającą cel oraz pojemność prądową IPC-2221. agentee show <board> wypisuje wszystko jako JSON.

Przy solver = "field" klasa jest sprawdzana przez 2D solver pola: rozwiązanie Laplace'a metodą różnic skończonych oparte na węzłach na siatce o zmiennej gęstości, uruchamiane na GPU przez wgpu, z uwzględnieniem grubości miedzi, soldermaski, mas współpłaszczyznowych i par. Na dokładnych referencjach daje wynik w granicach 0,5% dla paskowej linii o zerowej grubości Cohna i 0,4% dla mikropaskowej Hammerstada-Jensena. Gdy klasa nie spełnia celu, sprawdzenie sugeruje szerokość ścieżki, która go spełni. agentee calc field --netclass RF wypisuje pełny wynik (Z0, eeff, C i L na metr, opóźnienie, siatka).

--sweep 10MHz,20GHz,21 (MCP sweep) dodaje tabelę strat dla każdej częstotliwości: R, L, G, C, Z0 oraz dB na metr i na cal, podzielone na straty przewodnikowe i dielektryczne. Straty przewodnikowe pochodzą z przyrostowej indukcyjności Wheelera, rozwiązywanej przez cofanie każdej powierzchni miedzi w solverze pól (w granicach 1% od wzoru stripline'a Wheelera w Pozar), z głębokością warstwy skórowej dla miedzi żarzonej i oporem DC mieszany jako sqrt(Rdc^2 + Rac^2). Dielektryki podążają za przyczynowym modelem Djordjevic-Sarkar dopasowanym do er i loss_tangent każdej warstwy, traktowanymi jako wartości przy 1 GHz. Chropowatość miedzi jest ustawiana na stackupie:

[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

Solver 2D stosuje chropowatość jako współczynnik strat na oporze dla każdej częstotliwości. FDTD używa chropowatości i wykończenia ENIG, jak opisano w sekcji „Straty w FDTD” poniżej; nickel i gold mają znaczenie tylko, gdy finish = "ENIG". Domyślne wartości to środek okien IPC-4552 (3 do 6 um niklu, złoto minimum 0,05 um, z producentami celującymi w 0,05 do 0,1 um).

Klasa z diff_gap to para: jej impedance to impedancja różnicowa, a solver uruchamia oba tryby: nieparzysty i parzysty. calc field dodaje wtedy blok pair z Zdiff, Zcommon, impedancjami i opóźnieniami trybów nieparzystego i parzystego, współczynnikiem sprzężenia (Ze - Zo)/(Ze + Zo) oraz nasyconym krzyżowym zakłóceniem na końcu bliskim długiej linii (połowa sprzężenia). Obie tryby mieszczą się w granicach 0,5% od dokładnego stripline'a sprzężonego krawędziowo Cohna. Różnica między opóźnieniami trybów nieparzystego i parzystego napędza krzyżowe zakłócenia na końcu dalekim w mikropasku.

docs/format.md · Markdown dla agentów