mcpField
M
matlab-model-via

matlab-model-via

github.com/matlabその他1.2k71 回インストール1 日前に更新
リポジトリ

matlab-model-via について

matlab-model-via は、多層 PCB スタックアップの信号ビアをモデル化する MATLAB スキルです。パッド、アンチパッド、グラウンドリターンビアの設定に加え、可視化や S パラメータ、共振の解析を扱います。

主な機能

  1. 01ビア層とスタックアップの設定
  2. 02パッドとアンチパッド形状の指定
  3. 03グラウンドリターンビアの配置
  4. 04ビアモデルの可視化
  5. 05S パラメータと共振の解析

活用シーン

  1. 01PCB 層をまたぐ信号ビアのモデル化
  2. 02層ごとのクリアランス調整
  3. 03指定周波数でのグラウンドリターン間隔の確認
  4. 04周波数掃引によるビアバレル共振の特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-model-via

インストール後、Claude Code で/matlab-model-viaを入力して読み込まれたか確認します。

同梱ファイルmanifest.yaml

詳細

ビアのモデリング

使用する場面

  • 多層 PCB スタックアップを貫通する信号ビアをモデリングする場合(viaSingleEnded)
  • 各層のパッドおよびアンチパッドの形状を設定する場合
  • 信号品質のためにグラウンドリターンビアを配置する場合
  • ビアの S パラメーターを解析し、バレル共振を特定する場合
  • criticalwavelength と gapratedistance を使って GRV の配置を評価する場合

使用しない場面

  • 伝送線路やインピーダンス制御を設計する場合 — matlab-design-pcb-transmission-line を使用してください
  • 形状からカスタム PCB 構造を構築する場合 — matlab-assemble-pcb-layout を使用してください
  • 基板または導体の材料を設定する場合 — matlab-manage-pcb-material を使用してください
  • ビア以外の構造に対して全波 EM 解析を実行する場合 — matlab-analyze-em を使用してください
  • インポートした基板の PDN 解析を行う場合 — matlab-analyze-pcb-pdn を使用してください

一般的なワークフロー

  1. 事前: matlab-manage-pcb-material — スタックアップの基板と導体を設定します
  2. このスキル: ビアをモデリングし、GRV を配置して、信号品質を確認します
  3. 事後: matlab-integrate-pcb-circuit — ビアモデルを配線/コネクタモデルとカスケード接続します → matlab-optimize-pcb-design — GRV の配置またはパッド形状を最適化します

クイックリファレンス

タスクコード
ビアを作成via = viaSingleEnded
信号層を設定via.SignalLayer = [1 5]
グラウンド層を設定via.GroundLayer = [3 7 9]
基板を設定via.Substrate = dielectric(...)
信号ビアを配置via.SignalViaLocations = [x y startLayer stopLayer]
グラウンドリターンビアを配置via.GroundReturnViaLocations = [x y start stop; ...]
ポートを定義via.SignalTable = {viaNum layer traceWidth direction; ...}
パッドを表示padsTable(via)
アンチパッドを表示antipadsTable(via)
パッドをカスタマイズpads = getpads(via); pads{k}.Radius = r; via.SignalViaPad = pads
アンチパッドをカスタマイズap = getantipads(via); ap{k}.Radius = r; via.SignalViaAntipad = ap
可視化show(via)
S パラメーターsp = sparameters(via, freq)
共振リスクを確認cw = criticalwavelength(via, freq)
GRV の最大距離gapratedistance(via, freq)

viaSingleEnded オブジェクト

viaSingleEnded オブジェクトは、設定可能なパッド、アンチパッド、およびグラウンドリターンビアを使用して、多層 PCB スタックアップを貫通する信号ビアをモデリングします。

基本設定
via = viaSingleEnded;
via.SignalLayer = [1 5];
via.GroundLayer = [3 7 9];
via.Substrate = dielectric("Name","FR4","EpsilonR",4.8,...
    "LossTangent",0.026,"Thickness",1.27e-4,"Frequency",1e8);
via.Conductor = metal("Copper");
show(via);
主なプロパティ
プロパティ形式説明
SignalLayerベクトル信号配線が接続される層のインデックス(奇数)
GroundLayerベクトルグラウンド/リターンプレーンの層インデックス
Substratedielectric層間の誘電体
Conductormetalビアバレルおよびパッドの導体
SignalViaLocationsN×4 行列ビアごとの [x, y, startLayer, stopLayer]
SignalViaDiameterスカラー(m)ビアバレルの直径
SignalViaFinishedDiameterスカラー(m)仕上がり穴径(めっき後)
SignalViaPad形状またはセル信号ビア上のパッド形状
SignalViaAntipad形状またはセルアンチパッド(クリアランス)の形状
RemoveUnusedPads論理値信号層以外のパッドを削除します(既定値:true)
GroundReturnViaLocationsM×4 行列GRV ごとの [x, y, startLayer, stopLayer]
GroundReturnViaDiameterスカラーまたはベクトルGRV バレルの直径
GroundReturnViaFinishedDiameterスカラーまたはベクトルGRV の仕上がり穴径
SignalTableセル配列ポート定義:{viaNum, layer, traceWidth, direction}

信号ビアの設定

信号ビアの配置
via = viaSingleEnded;
via.SignalLayer = [1 5];
via.GroundLayer = [3 7 9];

X = 0; Y = 0;
startLayer = 1;
stopLayer = 7;
via.SignalViaLocations = [X Y startLayer stopLayer];

ビアバレルは startLayer から stopLayer まで延びます。信号接続は、この範囲内にある SignalLayer に指定された層で発生します。

ビアの直径
via.SignalViaDiameter = 0.25e-3;          % Drill diameter
via.SignalViaFinishedDiameter = 0.20e-3;  % After copper plating
単位変換ヘルパー

このオブジェクトには、mil からメートルへの変換機能が組み込まれています。

via.SignalViaDiameter = 10 * via.mils2meters;   % 10 mils

ポート定義(SignalTable)

SignalTable プロパティは、S パラメーターの抽出でどの層をポートにするかを定義します。

フォーマット

各行:{signalViaNumber, layerIndex, traceWidth, direction}

  • signalViaNumber:信号ビアの番号(SignalViaLocations 内の1始まりのインデックス)
  • layerIndex:ポートを配置するレイヤー
  • traceWidth:接続トレースの幅(メートル)
  • direction:角度(度、0 = +x 方向、90 = +y 方向など)
例:2ポートのビア
via.SignalTable = {1, 1, 3e-4, 45;   % Port 1: via 1, layer 1, 0.3mm trace, 45 deg
                   1, 5, 3e-4, 0};    % Port 2: via 1, layer 5, 0.3mm trace, 0 deg
わかりやすくするためにテーブル構文を使用する
vPorts = table('Size', [2 4], ...
    'VariableTypes', ["cell","cell","cell","cell"], ...
    'VariableNames', ["Signal Via Num","Layer","Trace Width","Direction"]);
vPorts(1,:) = {{1} {1} {3e-4} {45}};
vPorts(2,:) = {{1} {5} {3e-4} {0}};
via.SignalTable = vPorts.Variables;

グラウンドリターンビア

グラウンドリターンビアは、信号ビアの近くに低インピーダンスのリターンパスを提供します。これはシグナルインテグリティに不可欠です。

配置
via.GroundReturnViaLocations = [
    1.0015  2.001  1  9;
    1.0015  1.999  1  9;
    0.999   1.999  1  9;
    1.000   2.0015 1  9;
    0.999   2.001  1  9;
    1.0001  1.9987 1  9];

各行:[x, y, startLayer, stopLayer]。グラウンドリターンビアは通常、最上部から最下部までのグラウンドレイヤーにまたがります。

GRV の直径
via.GroundReturnViaDiameter = 0.25e-3;
via.GroundReturnViaFinishedDiameter = 0.20e-3;

スカラー(すべての GRV に同じ値)またはベクトル(GRV ごとに1つの値)を指定できます。

パッドとアンチパッドのカスタマイズ

パッド/アンチパッドテーブルの表示
padsTable(via)       % Rows = signal vias, Columns = conductive layers; cells are pad shape objects (e.g. antenna.Circle) or []. Scalar SignalViaPad is expanded across all positions.
antipadsTable(via)            % Signal via antipads: rows = signal vias, columns = connected layers
antipadsTable(via, "ground")  % Ground return via antipads: rows = GRVs, columns = power planes
デフォルトのパッド形状

デフォルトでは、SignalViaPad は円形です。

via.SignalViaPad.Radius = 3e-4;    % Set pad radius
レイヤーごとのパッドのカスタマイズ

getpads を使用してパッド形状のセル配列(レイヤーごとに1つ)を取得し、個々の項目を変更してから再割り当てします。

pad_temp = getpads(via);
pad_temp{3}.Radius = 4.5e-4;   % Customize pad on the 3rd layer
via.SignalViaPad = pad_temp;
アンチパッドのカスタマイズ
via.SignalViaAntipad.Radius = 5e-4;   % Clearance radius on ground layers

% Per-layer antipad customization (cell array: SignalViaLocations × GroundLayer)
antipad_temp = getantipads(via);
antipad_temp{1,2}.Radius = 6e-4;   % Customize antipad on 2nd ground layer
via.SignalViaAntipad = antipad_temp;
RemoveUnusedPads

RemoveUnusedPads = true(デフォルト)の場合、パッドは SignalLayer 上にのみ配置されます。false に設定すると、ビアが通過するすべてのレイヤーにパッドを配置します。

via.RemoveUnusedPads = false;
padsTable(via)   % Now shows pads on all layers

ビアアレイ

複数の信号ビア(例:BGA ブレークアウトやバス配線)をモデル化する場合:

グリッドベースのビアアレイ
obj = viaSingleEnded;
obj.SignalLayer = [1 3];
obj.GroundLayer = [1 3];   % Mixed signal/ground layers
obj.Conductor = metal('Name','Copper','Thickness',3*obj.mils2meters,'Conductivity',10e9);
obj.Substrate = dielectric('EpsilonR',3.7,'LossTangent',0.03,'Thickness',12*obj.mils2meters);
obj.SignalViaDiameter = 10 * obj.mils2meters;
obj.SignalViaPad.Radius = 1.00001 * obj.SignalViaDiameter/2;
obj.SignalViaAntipad.Radius = 15 * obj.mils2meters;

% Create grid of all via positions
[X,Y] = meshgrid(1:8, 1:8);
allXYs = [X(:) Y(:)];

% Signal via subset
[X,Y] = meshgrid([1 3 5 8], [1 2 4 6 8]);
SVXYs = [X(:) Y(:)];

% Ground via locations = everything else
GRVXYs = setdiff(allXYs, SVXYs, 'rows');
複数の信号ビアの割り当て
startLayer = 1; stopLayer = 3;
obj.SignalViaLocations = [SVXYs, repmat([startLayer stopLayer], size(SVXYs,1), 1)];
obj.GroundReturnViaLocations = [GRVXYs, repmat([startLayer stopLayer], size(GRVXYs,1), 1)];
オープン信号ビア(ポートなし)

ポートを割り当てずに信号ビアをモデル化する(開放回路にする)には、SignalTable を空のままにするか、特定のビアにのみポートを割り当てます。

% Only port via #1 on layers 1 and 3
obj.SignalTable = {1, 1, 5*obj.mils2meters, 0;
                   1, 3, 5*obj.mils2meters, 0};

ほかのすべての信号ビアは、ポートのないオープンスタブとして残ります。これは、高密度ビアフィールドにおける結合の検討に役立ちます。

多層スタックアップ

レイヤー番号の規則

レイヤーは金属層と誘電体層が交互に並び、連番で番号が付けられます。

Layer 1:  Metal (signal or ground)
Layer 2:  Dielectric
Layer 3:  Metal (signal or ground)
Layer 4:  Dielectric
Layer 5:  Metal (signal or ground)
...

金属層は奇数番号のレイヤーのみです。SignalLayer と GroundLayer には、これらの奇数インデックスを使用します。

例:10層基板
via = viaSingleEnded;
via.SignalLayer = [1 7];         % Signal on layers 1 and 7
via.GroundLayer = [3 5 9];      % Ground on layers 3, 5, and 9
via.Substrate = dielectric("Name","FR4","EpsilonR",4.4,...
    "LossTangent",0.02,"Thickness",0.1e-3);

基板の Thickness は、各誘電体層の厚さ(均一)です。不均一なスタックアップには、複数要素の誘電体を使用します。

解析

Sパラメーター
freq = linspace(1e9, 20e9, 51);
sp = sparameters(via, freq, 'Behavioral', true);
rfplot(sp);

% Verify insertion loss meets threshold across band
S21_dB = 20*log10(abs(squeeze(sp.Parameters(2,1,:))));
idx = find(S21_dB <= -1, 1);
if isempty(idx), fprintf('PASS: IL < 1 dB across band\n');
else, fprintf('FAIL: IL exceeds 1 dB at %.1f GHz\n', sp.Frequencies(idx)/1e9); end
TDR(時間領域反射測定)

Signal Integrity Toolbox の tdr 関数を使用します。パラメーターの目安は、RiseTime = 1/fmax、SampleTime = 1/(100*fmax)、EndTime = 0.1e-9 です。ここで、fmax は Sパラメーター掃引の最大周波数です。

fmax = 20e9;
tdrObj = tdr(sp, RiseTime=1/fmax, SampleTime=1/(100*fmax), EndTime=0.1e-9);
plot(tdrObj)
SI 解析関数

ターゲット周波数において、グラウンドリターンビアが信号ビアに十分近いかどうかを評価する関数が2つあります。

関数構文戻り値
criticalwavelengthcw = criticalwavelength(via, freq)freq における信号ビアと最も近いグラウンドリターンビアの間の波長数です。値が0.25または0.5に近づくと、共振のリスクが高まります。
gapratedistancegapratedistance(via, freq)デフォルトの臨界波長しきい値0.25に対して、信号ビアと最も近いグラウンドリターンビア間の許容最大中心間距離です。
% Check resonance risk at 28 GHz
cw = criticalwavelength(via, 28e9);

% Plot max allowable GRV distance vs frequency
freq = linspace(1e9, 56e9, 200);
gapratedistance(via, freq);

% Stricter threshold (0.125 instead of default 0.25)
gapratedistance(via, freq, 0.125);

特定の対象周波数をスポットチェックするには、criticalwavelength を使用します。周波数範囲全体で必要な GRV 配置間隔を示す曲線を生成するには、gapratedistance を使用します。どちらも、グラウンドリターンビアが少なくとも1つ定義されている必要があります。

注意: criticalwavelength(via) には周波数引数が必要です。省略するとエラーになります。

共振による特定

ビアバレルの共振は、広帯域スイープ中に S21(挿入損失)の鋭いディップとして現れます。これらを見つけるには、次のようにします。

  1. 信号帯域幅をはるかに超えてスイープします(少なくともナイキスト周波数の 2~3 倍)。
  2. 狭いディップを見逃さないよう、細かい周波数分解能(300~500 ポイント)を使用します。
  3. S21 をプロットしてノッチを探します。その周波数は、グランドプレーンによって境界付けられたビアバレルの共振モードに対応します。
% Wideband sweep to identify resonances
via = viaSingleEnded;
freq = linspace(1e9, 50e9, 500);
s = sparameters(via, freq);

% Insertion loss — dips indicate barrel resonances
figure;
rfplot(s, 2, 1);
title('Via Insertion Loss — Check for Resonance Dips');

% Return loss — peaks correspond to the same resonances
figure;
rfplot(s, 1, 1);
title('Via Return Loss');

グランドリターンビアを信号ビアに近づけると、共振はより高い周波数へ移動します。ディップ周波数で criticalwavelength を使用してメカニズムを確認し、gapratedistance を使用して、対象帯域より上に共振を保つために GRV をどれだけ近づける必要があるかを判断します。

可視化
show(via);          % 3-D view with pads, antipads, and vias
layout(via);        % Top-down layout view

注記: viaSingleEnded は、フルウェーブ MoM メッシュではなく、動作(回路)モデルを使用します。mesh、memoryEstimate、getZ0 などの関数は、このオブジェクトでは使用できません。特性インピーダンスを抽出するには、求解後に S パラメータまたは ABCD パラメータから計算します。

高速ビア設計(40 Gbps 以上)

高速シグナリングでは、グランドリターンビア(GRV)の配置が、リターンパスインダクタンスとクロストークを管理するために重要です。

GRV 配置戦略

GRV 構成をスイープして、挿入損失目標を満たすグランドビアの最小数を求めます。

via = viaSingleEnded;
via.Substrate = dielectric('Name', {'FR4','FR4','FR4','FR4'}, ...
    'EpsilonR', [4.4, 4.4, 4.4, 4.4], ...
    'LossTangent', [0.02, 0.02, 0.02, 0.02], ...
    'Thickness', [0.5e-3, 0.5e-3, 0.5e-3, 0.5e-3], ...
    'Frequency', [1e9, 1e9, 1e9, 1e9], ...
    'FrequencyModel', {'DjordjevicSarkar','DjordjevicSarkar','DjordjevicSarkar','DjordjevicSarkar'});

% Parametric GRV placement — compare 1, 2, 4, 8 ground vias
for nGRV = [1, 2, 4, 8]
    via.GroundReturnViaLocations = generateGRVPositions(nGRV, pitch);
    S = sparameters(via, freq, 50);
    rfplot(S);
    hold on;
end
差動ビアペア

viaDifferential クラスは存在しません。差動ビアペアをモデル化するには、viaSingleEnded を SignalViaLocations に 2 つのエントリを指定して使用します。40 Gbps の差動ペアでは、ビア間の間隔と GRV フェンスの配置を制御することでクロストークを管理します。

via = viaSingleEnded;
via.SignalViaLocations = [0, -pitch/2; 0, pitch/2];   % Differential pair
via.GroundReturnViaLocations = [                        % GRV fence
    -pitch, -pitch; -pitch, 0; -pitch, pitch;
     pitch, -pitch;  pitch, 0;  pitch, pitch];

インターフェース標準の周波数範囲ガイドライン

特定のインターフェース向けにビアを解析する場合、S パラメータを少なくともナイキスト周波数までスイープします。共振チェックでは、ナイキスト周波数の 2~3 倍までスイープします。

インターフェース標準データレートナイキスト周波数推奨スイープ範囲
PCIe Gen38 GT/s4 GHz1-12 GHz
PCIe Gen416 GT/s8 GHz1-24 GHz
PCIe Gen532 GT/s16 GHz1-48 GHz
PCIe Gen664 GT/s (PAM4)16 GHz1-48 GHz
USB 3.2 Gen15 GT/s2.5 GHz1-8 GHz
USB 3.2 Gen210 GT/s5 GHz1-15 GHz
USB4 / Thunderbolt 320 GT/s10 GHz1-30 GHz
DDR4-32003.2 GT/s1.6 GHz1-5 GHz
DDR5-48004.8 GT/s2.4 GHz1-8 GHz
DDR5-64006.4 GT/s3.2 GHz1-10 GHz
100GBASE-KR425.78 GT/s12.89 GHz1-40 GHz
400GBASE-KR4 (PAM4)53.125 GT/s26.56 GHz1-56 GHz

sparameters(via, freq) スイープを設定する際は、これらの範囲を使用します。共振の特定では、上記のナイキスト周波数を超えて上限を 2~3 倍に拡張します。

落とし穴

  1. 層番号は金属と誘電体が交互になる: デフォルトの viaSingleEnded コンストラクタ(引数なし)では、金属層は奇数(1、3、5、...)で、誘電体層は偶数です。viaSingleEnded(N) では、ソルダーマスク層が追加され、金属層は偶数番号(2、4、6、...)を使用します。どのインデックスが金属であるかを確認するには、常にオブジェクトの SignalLayer プロパティと GroundLayer プロパティを確認してください。

  2. SignalViaLocations と GroundReturnViaLocations には 4 列が必要: 各行は [x y startLayer stopLayer] でなければなりません。2 列の [x y] は使用しないでください。エラーになるか、無効なジオメトリが生成されます。例: via.SignalViaLocations = [0 0 1 9]([0 0] ではありません)。

  3. SignalTable の viaNum は SignalViaLocations と一致する必要がある: SignalTable の最初の列は SignalViaLocations の行をインデックスします。信号ビアが 3 つある場合、有効なビア番号は 1、2、3 です。

  4. パッド半径はビア半径より大きくなければならない: SignalViaPad.Radius は SignalViaDiameter/2 より大きくなければなりません。等しい場合、またはパッドが小さい場合、ジオメトリは無効です。

  5. アンチパッドとパッドのクリアランス: アンチパッドはグランドプレーン内のクリアランスホールです。絶縁を提供するため、パッドより大きくなければなりません。一般的なルール: アンチパッド半径 >= パッド半径 + 0.1mm。

  6. GRV のスパン:グランドリターンビアは、少なくとも信号の入力層から出力層までを覆う必要があります。GRV のスパンが短いと、高周波でリターンパスの品質が低下します。現在、グランドリターンビアは常に PTH(スタックアップ全体を貫通)である必要があり、バックドリルはできません。

  7. mils2meters 単位:すべての幾何学的プロパティはメートル単位です。mils から変換するには、via.mils2meters(= 2.54e-5)を使用します。10*via.mils2meters = 0.254mm です。

  8. 動作モデルのみ:viaSingleEnded は動作(回路)モデルを使用し、MoM は使用しません。mesh(via)、memoryEstimate(via, freq)、および getZ0(via, freq) は使用できません。「Switching to behavioral model」警告を抑制するには、sparameters(via, freq, 'Behavioral', true) を使用します。

  9. SignalTable の方向:方向角度によって、トレースがパッドから出る位置が決まります。隣接するポートからのトレースが重ならないようにしてください。show(via) で確認できます。

  10. デフォルトの GRV スパンがスタックアップを超える場合があります:デフォルトの GroundReturnViaLocations は、実際のスタックアップのサイズにかかわらず、レイヤー 9 までを対象にします。必ず GroundReturnViaLocations を明示的に設定し、スタックアップのレイヤー範囲に合わせてください。

  11. getpads() の前にジオメトリを設定する:getpads() は内部で checkDimensions() を実行します。GroundReturnViaLocations を含むすべてのプロパティは、呼び出す前に有効な値にしておく必要があります。有効でない場合、エラーが発生します。

  12. 信号層とグランド層の混在は最上層/最下層のみ:スタックアップの最上部と最下部のメタル層のみ、SignalLayer と GroundLayer の両方に指定できます。中間層は混在できません。混在させると、MATLAB で「must be either assigned as a Ground Layer or a Signal Layer but not both」というエラーが発生します。最上層/最下層を混在させると、動作モデルのグランドリファレンスを確保しながら、垂直ポートを使用できます。

  13. バックドリルビアはグランド(接続済み)層で終端する必要があります:バックドリル(非 PTH)の信号ビアをモデル化する場合、動作モデルでは、ビアの開始層/終了層がグランド(接続済み)層、またはスタックアップの最下層/最上層である必要があります。ビアが信号専用層で終端する場合、sparameters は「signal via must end on a connected layer」というエラーを返します。

  14. SignalTable では "Vertical" も有効な方向です:数値の角度(0、90、180 など)に加えて、SignalTable の方向フィールドには "Vertical" も指定できます。これにより、ビアバレルを通る垂直ポート接続が作成されます。制約:垂直ポートを使用できるのは、スタックアップ全体の最上部または最下部にある信号層のみです。

  15. show(via, "View", "metal"):誘電体の塗りつぶしを表示せず、メタル層(パッド、アンチパッド、バレル)のみを表示するには、"View","metal" の名前と値のペアを使用します。

  16. すべての誘電体配列のサイズを一致させる必要があります:多層基板を指定する場合、Name、EpsilonR、LossTangent、Thickness、Frequency はすべて同じ数の要素を含む必要があります。Name が K 個のエントリーを持つセル配列の場合、その他のすべてのプロパティも K 個のエントリーを持つ必要があります。一致しない場合、MATLAB で「size of 'Thickness' (or 'Frequency') does not match number of layers specified in 'Name'」というエラーが発生します。デフォルトの FrequencyModel は 'Constant' ではなく 'DjordjevicSarkar' です。

  17. viaSingleEnded(N) の誘電体層数:viaSingleEnded(N)(N = 導電層の数)を使用する場合、基板には最低 N 層の誘電体層が必要です。N-1 層の場合、「Incorrect number of Substrate: Expected N」というエラーが発生します。N を超える層は、ソルダーマスク(最上部/最下部)として追加されます。デフォルトのコンストラクターは N+1 層の誘電体層(N-1 層のコア/プリプレグ + 2 層の薄いソルダーマスク)を作成します。このコンストラクターでは、メタル層に偶数番号(2、4、6、...)が使用されます。

  18. S パラメーター解析には少なくとも 2 つのグラウンドプレーンが必要です:動作モデルで sparameters を使用するには、GroundLayer に少なくとも 2 つのグラウンド(接続された)層が必要です。グラウンドプレーンが 1 つだけの場合、MATLAB は「At least 2 connected layers must be present for analysis.」というエラーを返します。専用のグラウンド層が少ない基板では、混在する上面/下面の層(落とし穴 #12)を使用してこの要件を満たしてください。さらに、電源プレーンがある場合は、それぞれの電源プレーンの上と下に少なくとも 1 つのグラウンドプレーンが必要です。

関連スキル

  • matlab-manage-pcb-material — ビアのスタックアップ用の基板材料と導体の設定
  • matlab-analyze-pcb-pdn — 電力分配ネットワークの解析
  • matlab-analyze-em — S パラメーターの抽出とメッシュ制御
  • matlab-integrate-pcb-circuit — アイダイアグラム解析のための serialLinkDesigner
  • matlab-assemble-pcb-layout — pcbComponent での ViaLocations の使用

Copyright 2026 The MathWorks, Inc.

コメント