matlab-model-via について
matlab-model-via は、多層 PCB スタックアップの信号ビアをモデル化する MATLAB スキルです。パッド、アンチパッド、グラウンドリターンビアの設定に加え、可視化や S パラメータ、共振の解析を扱います。
主な機能
- 01ビア層とスタックアップの設定
- 02パッドとアンチパッド形状の指定
- 03グラウンドリターンビアの配置
- 04ビアモデルの可視化
- 05S パラメータと共振の解析
活用シーン
- 01PCB 層をまたぐ信号ビアのモデル化
- 02層ごとのクリアランス調整
- 03指定周波数でのグラウンドリターン間隔の確認
- 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を使用してください
一般的なワークフロー
- 事前:
matlab-manage-pcb-material— スタックアップの基板と導体を設定します - このスキル: ビアをモデリングし、GRV を配置して、信号品質を確認します
- 事後:
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 | ベクトル | グラウンド/リターンプレーンの層インデックス |
Substrate | dielectric | 層間の誘電体 |
Conductor | metal | ビアバレルおよびパッドの導体 |
SignalViaLocations | N×4 行列 | ビアごとの [x, y, startLayer, stopLayer] |
SignalViaDiameter | スカラー(m) | ビアバレルの直径 |
SignalViaFinishedDiameter | スカラー(m) | 仕上がり穴径(めっき後) |
SignalViaPad | 形状またはセル | 信号ビア上のパッド形状 |
SignalViaAntipad | 形状またはセル | アンチパッド(クリアランス)の形状 |
RemoveUnusedPads | 論理値 | 信号層以外のパッドを削除します(既定値:true) |
GroundReturnViaLocations | M×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つあります。
| 関数 | 構文 | 戻り値 |
|---|---|---|
criticalwavelength | cw = criticalwavelength(via, freq) | freq における信号ビアと最も近いグラウンドリターンビアの間の波長数です。値が0.25または0.5に近づくと、共振のリスクが高まります。 |
gapratedistance | gapratedistance(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(挿入損失)の鋭いディップとして現れます。これらを見つけるには、次のようにします。
- 信号帯域幅をはるかに超えてスイープします(少なくともナイキスト周波数の 2~3 倍)。
- 狭いディップを見逃さないよう、細かい周波数分解能(300~500 ポイント)を使用します。
- 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 Gen3 | 8 GT/s | 4 GHz | 1-12 GHz |
| PCIe Gen4 | 16 GT/s | 8 GHz | 1-24 GHz |
| PCIe Gen5 | 32 GT/s | 16 GHz | 1-48 GHz |
| PCIe Gen6 | 64 GT/s (PAM4) | 16 GHz | 1-48 GHz |
| USB 3.2 Gen1 | 5 GT/s | 2.5 GHz | 1-8 GHz |
| USB 3.2 Gen2 | 10 GT/s | 5 GHz | 1-15 GHz |
| USB4 / Thunderbolt 3 | 20 GT/s | 10 GHz | 1-30 GHz |
| DDR4-3200 | 3.2 GT/s | 1.6 GHz | 1-5 GHz |
| DDR5-4800 | 4.8 GT/s | 2.4 GHz | 1-8 GHz |
| DDR5-6400 | 6.4 GT/s | 3.2 GHz | 1-10 GHz |
| 100GBASE-KR4 | 25.78 GT/s | 12.89 GHz | 1-40 GHz |
| 400GBASE-KR4 (PAM4) | 53.125 GT/s | 26.56 GHz | 1-56 GHz |
sparameters(via, freq) スイープを設定する際は、これらの範囲を使用します。共振の特定では、上記のナイキスト周波数を超えて上限を 2~3 倍に拡張します。
落とし穴
-
層番号は金属と誘電体が交互になる: デフォルトの
viaSingleEndedコンストラクタ(引数なし)では、金属層は奇数(1、3、5、...)で、誘電体層は偶数です。viaSingleEnded(N)では、ソルダーマスク層が追加され、金属層は偶数番号(2、4、6、...)を使用します。どのインデックスが金属であるかを確認するには、常にオブジェクトのSignalLayerプロパティとGroundLayerプロパティを確認してください。 -
SignalViaLocations と GroundReturnViaLocations には 4 列が必要: 各行は
[x y startLayer stopLayer]でなければなりません。2 列の[x y]は使用しないでください。エラーになるか、無効なジオメトリが生成されます。例:via.SignalViaLocations = [0 0 1 9]([0 0]ではありません)。 -
SignalTable の viaNum は SignalViaLocations と一致する必要がある:
SignalTableの最初の列はSignalViaLocationsの行をインデックスします。信号ビアが 3 つある場合、有効なビア番号は 1、2、3 です。 -
パッド半径はビア半径より大きくなければならない:
SignalViaPad.RadiusはSignalViaDiameter/2より大きくなければなりません。等しい場合、またはパッドが小さい場合、ジオメトリは無効です。 -
アンチパッドとパッドのクリアランス: アンチパッドはグランドプレーン内のクリアランスホールです。絶縁を提供するため、パッドより大きくなければなりません。一般的なルール: アンチパッド半径 >= パッド半径 + 0.1mm。
-
GRV のスパン:グランドリターンビアは、少なくとも信号の入力層から出力層までを覆う必要があります。GRV のスパンが短いと、高周波でリターンパスの品質が低下します。現在、グランドリターンビアは常に PTH(スタックアップ全体を貫通)である必要があり、バックドリルはできません。
-
mils2meters 単位:すべての幾何学的プロパティはメートル単位です。mils から変換するには、
via.mils2meters(= 2.54e-5)を使用します。10*via.mils2meters= 0.254mm です。 -
動作モデルのみ:
viaSingleEndedは動作(回路)モデルを使用し、MoM は使用しません。mesh(via)、memoryEstimate(via, freq)、およびgetZ0(via, freq)は使用できません。「Switching to behavioral model」警告を抑制するには、sparameters(via, freq, 'Behavioral', true)を使用します。 -
SignalTable の方向:方向角度によって、トレースがパッドから出る位置が決まります。隣接するポートからのトレースが重ならないようにしてください。
show(via)で確認できます。 -
デフォルトの GRV スパンがスタックアップを超える場合があります:デフォルトの
GroundReturnViaLocationsは、実際のスタックアップのサイズにかかわらず、レイヤー 9 までを対象にします。必ずGroundReturnViaLocationsを明示的に設定し、スタックアップのレイヤー範囲に合わせてください。 -
getpads() の前にジオメトリを設定する:
getpads()は内部でcheckDimensions()を実行します。GroundReturnViaLocationsを含むすべてのプロパティは、呼び出す前に有効な値にしておく必要があります。有効でない場合、エラーが発生します。 -
信号層とグランド層の混在は最上層/最下層のみ:スタックアップの最上部と最下部のメタル層のみ、
SignalLayerとGroundLayerの両方に指定できます。中間層は混在できません。混在させると、MATLAB で「must be either assigned as a Ground Layer or a Signal Layer but not both」というエラーが発生します。最上層/最下層を混在させると、動作モデルのグランドリファレンスを確保しながら、垂直ポートを使用できます。 -
バックドリルビアはグランド(接続済み)層で終端する必要があります:バックドリル(非 PTH)の信号ビアをモデル化する場合、動作モデルでは、ビアの開始層/終了層がグランド(接続済み)層、またはスタックアップの最下層/最上層である必要があります。ビアが信号専用層で終端する場合、
sparametersは「signal via must end on a connected layer」というエラーを返します。 -
SignalTable では
"Vertical"も有効な方向です:数値の角度(0、90、180 など)に加えて、SignalTableの方向フィールドには"Vertical"も指定できます。これにより、ビアバレルを通る垂直ポート接続が作成されます。制約:垂直ポートを使用できるのは、スタックアップ全体の最上部または最下部にある信号層のみです。 -
show(via, "View", "metal"):誘電体の塗りつぶしを表示せず、メタル層(パッド、アンチパッド、バレル)のみを表示するには、"View","metal"の名前と値のペアを使用します。 -
すべての誘電体配列のサイズを一致させる必要があります:多層基板を指定する場合、
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'です。 -
viaSingleEnded(N)の誘電体層数:viaSingleEnded(N)(N = 導電層の数)を使用する場合、基板には最低 N 層の誘電体層が必要です。N-1 層の場合、「Incorrect number of Substrate: Expected N」というエラーが発生します。N を超える層は、ソルダーマスク(最上部/最下部)として追加されます。デフォルトのコンストラクターは N+1 層の誘電体層(N-1 層のコア/プリプレグ + 2 層の薄いソルダーマスク)を作成します。このコンストラクターでは、メタル層に偶数番号(2、4、6、...)が使用されます。 -
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— アイダイアグラム解析のための serialLinkDesignermatlab-assemble-pcb-layout— pcbComponent での ViaLocations の使用
Copyright 2026 The MathWorks, Inc.