agentee

基板

インピーダンスと損失

クラスと層ごとのトレース形状、閉形式とフィールドソルバによるインピーダンス、差動ペア、粗さと ENIG を持つ損失モデル。

各ネットクラスとルーティングレイヤーについて、層構成からトレースの幾何学(外層はマイクロストリップ、内層は直近の上側と下側の銅の間のストリップライン)を求め、インピーダンス(Hammerstad-Jensenマイクロストリップ、Wheelerストリップライン、銅の厚さと側壁を含む正則化写像による接地コプランア、すべて無めっき。コプランア形式は0.08 mmから0.21 mmのコアでフィールドソルバーの4%以内に収まる)、目標を満たす幅、およびIPC-2221の電流容量を計算します。agentee show <board> はすべてをJSONで出力します。

solver = "field" の場合、クラスは2次元フィールドソルバーでチェックされます。ノードベースの有限差分ラプラス解法を段階的メッシュで実行し、wgpu経由でGPU上で動作します。銅の厚さ、ソルダーレジスト、コプランア接地、ペアを含みます。正確な基準値に対しては、Cohnの厚さゼロストリップラインの0.5%以内、Hammerstad-Jensenマイクロストリップの0.4%以内に収まります。クラスが目標から外れている場合、チェックは目標を満たす配線幅を提案します。agentee calc field --netclass RF は完全な結果(Z0、eeff、1 mあたりのCとL、遅延、グリッド)を出力します。

--sweep 10MHz,20GHz,21(MCP sweep)は、周波数ごとの損失テーブルを追加します: 1 mあたりと1インチあたりのR、L、G、C、Z0、dBを、導体損失と誘電体損失に分けて表示します。導体損失はWheelerの増分インダクタンスから得られ、フィールドソルバーですべての銅表面を後退させて解きます(PozarのWheelerストリップライン公式の1%以内)。スキンの深さは焼きなまし銅から、DC抵抗はsqrt(Rdc^2 + Rac^2)として混合します。誘電体は、各層の er と loss_tangent(1 GHzの値として取得)に適合させた因果的なDjordjevic-Sarkarモデルに従います。銅の粗さは層構成で設定します:

[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

2次元ソルバーは、各周波数で抵抗に損失係数として粗さを適用します。FDTDは、下記の「FDTDにおける損失」で説明されているように、粗さとENIG仕上げを使用します。nickel と gold は finish = "ENIG" の場合のみ重要です。デフォルトはIPC-4552のウィンドウの中央値です(ニッケル3から6 um、金は0.05 umの最小値、基板メーカーは0.05から0.1 umを目標とします)。

diff_gap を持つクラスはペアです。その impedance は差動インピーダンスであり、ソルバーは奇数モードと偶数モードの両方を実行します。calc field は、Zdiff、Zcommon、奇数モードと偶数モードのインピーダンスと遅延、結合係数 (Ze - Zo)/(Ze + Zo)、および長いラインの飽和したニアエンドクロストーク(結合の半分)を含む pair ブロックを追加します。2つのモードは、Cohnの正確なエッジ結合ストリップラインの0.5%以内に収まります。奇数モードと偶数モードの遅延の差が、マイクロストリップのファーエンドクロストークを駆動します。

docs/format.md · エージェント向けMarkdown