シミュレーションの設定と実行

概略

この記事では、Altium DesignerのSimulation DashboardパネルにあるAnalysis Setup and Run領域を使用して、シミュレーション解析を設定・実行する方法を順を追って説明します。まず、対応している数値の入力形式を説明し、続いて、動作点解析、伝達関数解析、極零解析、DCスイープ解析、過渡解析といった主要な解析の設定方法と、それぞれの主なオプションや得られる結果を紹介します。また、計算値を回路図上に表示し、シミュレーション結果ドキュメントに追加する方法も取り上げます。次の工程に進む前に回路の動作をより深く理解し、設計に適したシミュレーションを確実に設定する方法を学びましょう。

- Simulation Dashboardパネルでシミュレーション解析を設定する場所と、通常表記、工学表記、科学表記による数値の入力方法を理解します。
- 一般的な各解析の目的、使用する場面、正しく実行するために必要な設定を学びます。
- 追加した計算値や出力式を含め、シミュレーション結果を回路図上や結果ドキュメントで確認する方法を紹介します。
AIでさらに深掘り:

Simulation Dashboardパネルの Analysis Setup & Run領域では、シミュレーション解析の設定と実行を行います。回路の検証とシミュレーションの準備が完了したら、以下の各セクションの説明に従って、必要な解析タイプを設定します。

Simulation Dashboardパネルの Analysis Setup & Run領域
Simulation Dashboardパネルの Analysis Setup & Run領域

以降のセクションでは、一般的なシミュレーション解析と追加のシミュレーション設定の方法について説明します。

Number formats

Simulation DashboardパネルのAnalysis Setup & Run領域にある数値フィールドには、通常形式、工学形式、科学形式の3つのパラメータ形式で値を入力できます。

通常形式では、数値をそのまま入力します。たとえば、100万は「1000000」と入力します。

工学形式では、仮数(任意の実数)と、以下の表に従って1文字以上で入力する指数を表す接頭辞で数値を表現します。たとえば、100万は工学形式では「1meg」と表せます。

接頭辞の記号 名称と値
f フェムト、10-15
p ピコ、10-12
n ナノ、10-9
u マイクロ、10-6
m ミリ、10-3
k キロ、103
meg メガ、106
g ギガ、109
t テラ、1012

科学形式では、数値を仮数と10のべき指数の2つの部分に分けて表現します。仮数と指数は英字の「e」で区切る必要があります。たとえば、100万は「1e6」と表します。仮数と指数は実数として定義されます。

動作点解析

動作点解析は、インダクタを短絡、コンデンサを開放として、回路のDC動作点を求めるために使用します。この解析では、回路の定常動作時における電流と電圧の平衡点の値、DCモードでの伝達係数に加え、他の種類の計算に必要なAC伝達特性の極と零点も計算します。

動作点解析は、Simulation Dashboardパネルの Operating Point 領域で設定します。

Display on schematic ボタンを使用すると、計算値を回路図上に直接表示できます。

  • Voltage – 基準ノードに対するノード電圧を表示します。
  • Power – 消費される瞬時電力(正の値)または供給される瞬時電力(負の値)を表示します。
  • Current – コンポーネントの出力電流を表示します。

解析を実行すると、計算された電圧、電力、電流の値が、対応するノードにラベルとして表示されます。

  • ラベルは、クリックしたままドラッグすることで回路図上を移動できます。
  • 動作点解析の実行後に、計算値を回路図上に表示することもできます。

シミュレーション結果ドキュメントには、回路内に配置されたプローブの計算結果が含まれます。

回路内のすべてのノードの値が自動的に計算されます。Sim Data パネルから、結果テーブルに値を追加できます。詳細については、テキストデータの操作を参照してください。

回路の動作点解析の設定例とシミュレーション結果ドキュメントを以下に示します。シミュレーション実行後に表示される結果値のラベル(有効にした電圧および電力の計算結果)が、回路図シートに表示されていることに注目してください。また、シミュレーション結果ドキュメントに別の計算値を追加する例も示しています。

 

Node Setデバイスは、動作点解析の予備計算時に、回路内のノードの開始電圧を指定するために使用します。この初期計算の後、制約が解除され、真のバイアス解に到達するまで反復計算が続行されます。Node Setデバイスを使用するには、Simulation Generic Componentsライブラリから.NS コンポーネントを配置し、配置したコンポーネントのInitial Voltage値を設定します。

通常、ほとんどの回路では、収束させるためにこのデバイスを使用する必要はありません。ただし、双安定回路や非安定回路のシミュレーションでは、収束の補助として役立つ場合があります。

伝達関数解析

伝達関数解析(DC小信号解析)は、回路内の各電圧ノードにおけるDC入力抵抗、DC出力抵抗、DCゲインを計算します。

伝達関数解析を実行するには、Simulation DashboardパネルのOperating Point 領域でTransfer Functionオプションを有効にします。このオプションを有効にすると、対応する解析オプションが使用可能になります。

  • Source Name – 計算の入力基準として使用する小信号入力源。
  • Reference Node – 指定された各電圧ノードでの計算において基準として使用する回路内のノード。「0」が基準ノードです(デフォルトはGND)。

回路の伝達関数解析の設定例とシミュレーション結果ドキュメントを以下に示します。シミュレーション結果ドキュメントで、デザインスペースの下部にあるタブをクリックして Transfer Function チャートを選択すると、解析結果を確認できます。

初期状態では、チャートにデータは表示されません。Sim Data パネルから、結果テーブルに計算値を追加できます。詳細については、テキストデータの操作を参照してください。

 

極零点解析

極零点解析では、回路の小信号AC伝達関数の極や零点を計算することで、1入力1出力の線形システムの安定性を判定できます。まず回路のDC動作点を求め、次に回路内のすべての非線形デバイスについて線形化した小信号モデルを求めます。その後、この回路を使用して、指定した伝達関数を満たす極と零点を求めます。

極零点解析は、抵抗、コンデンサ、インダクタ、線形制御源、独立源、ダイオード、BJT、MOSFET、JFETに対応しています。伝送線路には対応していません。

極零点解析を実行するには、Simulation DashboardパネルのOperating Point 領域でPole-Zero Analysisオプションを有効にします。このオプションを有効にすると、対応する解析オプションが使用可能になります。

  • Input Node – 回路の正側入力ノード。

  • Input Reference Node – 回路の入力基準ノード。

  • Output Node – 回路の正側出力ノード。

  • Output Reference Node – 回路の出力基準ノード。

  • Analysis Type – 解析の対象をさらに絞り込めます。回路の伝達関数を満たすすべての極(Poles Only)、すべての零点(Zeros Only)、または Poles と Zeros の両方を求めるように選択します。

  • Transfer Function Type – 極や零点を計算する際に回路に使用するAC小信号伝達関数の種類を定義します。次の2種類が用意されています。

    • V(output)/V(input) – 電圧利得伝達関数。

    • V(output)/I(input) – インピーダンス伝達関数。

ノードを選択する際は、「0」が基準ノード(デフォルトではGND)であることに注意してください。

回路の極零点解析の設定例とシミュレーション結果ドキュメントを以下に示します。 シミュレーション結果ドキュメントでは、設計スペース下部のタブをクリックして Pole-Zero Analysis チャートを選択すると、解析結果を確認できます。

 
極零点解析では、準最適な数値探索手法を使用します。大規模な回路では、かなりの時間がかかったり、すべての極と零点を検出できなかったりする場合があります。回路によっては、探索が「迷走」し、過剰な数の極や零点が検出されることもあります。極と零点の両方を求める際に収束しない場合は、極のみ、または零点のみを計算するように解析対象を絞り込んでください。

DCスイープ

DCスイープ解析は、カーブトレーサーと同様の出力を生成します。選択したパラメーターの値をあらかじめ定義したステップで変更しながら、一連の動作点解析を実行し、DC伝達曲線を求めます。

DCスイープ解析は、Simulation Dashboardパネルの DC Sweep領域で設定します。

Add Parameter コントロールをクリックして、ステップごとに変化させるパラメーターを追加します。電圧源または電流源のDC値、抵抗値、温度(Temp)を指定できます。 From、 To、 Step フィールドには、定義したスイープ範囲で使用する開始値、終了値、増分値をそれぞれ指定します。

ソースには複数のパラメーターを追加できますが、計算に使用されるのは、リスト内で有効になっている(左側のチェックボックスで選択した)最初の2つのパラメーターのみです。

Output Expressionsセクションを使用して、シミュレーション結果ドキュメントに波形として出力する式を追加します(回路に配置されたプローブの波形に加えて出力されます)。詳細は、 出力式の追加セクションを参照してください。

回路のDCスイープ解析の設定例とシミュレーション結果ドキュメントを以下に示します。

 

過渡解析

過渡解析は、通常オシロスコープに表示されるものと同様の出力を生成します。ユーザーが指定した時間間隔または周期数にわたり、過渡的な出力変数(電圧または電流)を時間の関数として計算します。Use Initial Conditionsオプションが有効になっていない限り、過渡解析の前に動作点解析が自動的に実行され、回路のDCバイアスが決定されます。

過渡解析は、Simulation Dashboardパネルの過渡解析領域で設定します。

必要なモードを選択し、対応する値を設定して、解析する時間間隔/周期数を定義します。

  •  – Intervalモード。必要な時間間隔の開始値と終了値(秒単位)、および公称時間増分を、From、 To、 Step フィールドに定義します。

  •  – Periodモード。必要な時間間隔の開始値と終了値(秒単位)、正弦波の周期数、および正弦波1周期あたりのデータポイント数を、 From、 N Periods、 Points / Period フィールドに定義します。

Output Expressionsセクションを使用して、シミュレーション結果ドキュメントに波形として出力する式を追加します(回路に配置されたプローブの波形に加えて出力されます)。詳細は、 出力式の追加セクションを参照してください。

Use Initial Conditions オプションを有効にすると、動作点解析をスキップし、初期条件を使用して過渡過程を計算します。静止動作点以外の状態から過渡解析を開始したい場合は、このオプションを使用します。 初期条件は、回路図内の該当する各部品に定義できます(対応するパラメーターの値を定義します。たとえば、インダクターの場合は Initial Current、バイポーラトランジスターの場合は Initial B-E VoltageまたはInitial C-E Voltage)。また、回路に.ICデバイスを配置することもできます(メインメニューのSimulate » Place Initial Conditionコマンドを使用するか、Simulation Generic Componentsライブラリから.IC部品を配置し、配置した部品のInitial Voltage値を設定します)。 部品のIC値は、ネットに接続された.ICオブジェクトよりも優先されます。

回路の過渡解析の設定例とシミュレーション結果ドキュメントを以下に示します。

 

フーリエ解析

設計のフーリエ解析は、過渡解析中に取得した過渡データの最後の1周期に基づいて行われます。たとえば、基本周波数が1kHzの場合、最後の1ms周期の過渡データがフーリエ解析に使用されます。

フーリエ解析を実行するには、Simulation Dashboardパネルの Transient 領域にあるFourier Analysisオプションを有効にします。このオプションを有効にすると、対応する解析オプションが使用可能になります。

  • Fourier Fundamental Frequency – 正弦波の和で近似する信号の周波数。
  • Fourier Number of Harmonics – 解析で考慮する高調波の数。各高調波の周波数は、基本周波数の整数倍です。高調波を基本周波数の正弦波と足し合わせることで、解析対象の信号の実際の波形が形成されます。加算する高調波が多いほど、信号波形の近似精度が高くなります(たとえば、正弦波を足し合わせて矩形波を形成する場合など)。

回路のフーリエ解析の設定例とシミュレーション結果ドキュメントを以下に示します。 最初の2つのプロットは回路の過渡解析による波形を示し、その後のプロットは、シミュレーション結果ドキュメント内の別の Fourier Analysis チャートに表示され、フーリエ解析の結果を示しています。基本周波数が1kHzの矩形波は、3番目のプロットに示すように、この周波数の奇数倍の周波数(奇数次高調波)を持つ正弦波(1kHz、3kHz、5kHz、7kHzなど)に分解されます。各高調波の振幅は、次数が上がるにつれて小さくなります。

 

ストレス解析

この機能はオープンベータ版であり、Advanced Settings ダイアログで Simulation.StressAnalysis オプションを有効にすると使用できます。

ストレス解析では、各コンポーネントの最大電圧、電流、消費電力などの動作条件を計算し、コンポーネントのストレスモデルで定義された制限値と照合します。

コンポーネントのストレスモデルは、そのコンポーネントのシミュレーションモデルからアクセスする Sim Model ダイアログの Stress タブで設定します。ここで、必要な Device Type を選択してパラメーター値を定義し、ストレスモデル(ピンは定義済み)とシミュレーションモデル間のピンマッピングも定義できます。ストレス解析モデルの設定について詳しくは、 単一コンポーネントの編集 ページを参照してください。

パラメーターの制限値を引き下げるディレーティング係数は、ストレスモデルのパラメーターに基づいて計算されます。また、 Advanced Analysis Settings ダイアログの Stress タブで値を設定することもできます(このダイアログは、 Simulation Dashboard パネルの Analysis Setup & Run 領域にある Settings コントロールをクリックすると開きます)。

ストレス解析を実行するには、Simulation Dashboard パネルの Transient 領域で Stress Analysis オプションを有効にします。シミュレーション結果ドキュメントで、デザインスペース下部のタブをクリックして Stress チャートを選択すると、解析結果を確認できます。

 
  •  Stress チャート上部のコントロールを使用すると、必要なストレス解析結果のみを表示できます。

    •  Search フィールドを使用すると、入力した文字列を Component または Parameter 含む結果のみを表示できます。
    •  Hide Invalid Measurement チェックボックスを使用すると、無効と見なされる結果(および値のない結果)を非表示にできます。

     

  • シミュレーション結果ドキュメントに Stress チャートがない場合は、SimView エディターのメインメニューから Chart » Create/Update Stress Chart コマンドを使用してチャートを追加し、過渡解析チャートからの計算結果と回路図上のコンポーネントのストレスパラメーターに基づくデータを入力できます。ドキュメントにストレスチャートがすでに存在する場合は、このコマンドを使用して、最新の過渡解析結果と回路図内のコンポーネントの現在のストレスパラメーター値でチャートを更新します。

    このコマンドでストレスチャートを作成する場合、デフォルトの解析温度である 27°C が使用されることに注意してください。チャートがすでに存在する場合(ストレス解析が実行済みの場合)は、実際の解析温度が使用されます。

AC スイープ

AC スイープ解析では、小信号 AC 出力変数を周波数の関数として計算し、回路の周波数応答を示す出力を生成します。まず動作点解析を実行して回路の DC バイアスを求め、信号源を振幅固定の正弦波発生器に置き換えたうえで、指定された周波数範囲にわたって回路を解析します。AC 小信号解析で求める出力は、通常、伝達関数(電圧利得、トランスインピーダンスなど)です。

AC スイープ解析を実行するには、 AC Magnitude パラメーターに値が入力された信号源が、回路図に少なくとも 1 つ含まれている必要があります(オプションの AC Phase パラメーターを使用して初期位相を定義できます)。シミュレーション中、この信号源が正弦波発生器に置き換えられます。

AC スイープ解析では、AC Magnitude パラメーターを設定する必要があります。
AC スイープ解析では、AC Magnitude パラメーターを設定する必要があります。

AC スイープ解析は、Simulation Dashboard パネルの AC Sweep 領域で設定します。

解析用に以下のパラメーターを定義します。

  • Start Frequency – 正弦波発生器の開始周波数(Hz)。
  • End Frequency – 正弦波発生器の終了周波数(Hz)。
  • No. Points / Points/Dec / Points/Oct – 選択した Type と組み合わせて指定する、スイープ範囲の増分値。
  • Type – 周波数スペクトル内のデータポイントの配置方法。以下の 3 種類を使用できます。
    • Linear – 線形スケール上に等間隔で配置するデータポイントの総数。
    • Decade – log10 スケールの 1 ディケードあたりに等間隔で配置するデータポイント数。
    • Octave – log2 スケールの 1 オクターブあたりに等間隔で配置するデータポイント数。

Output Expressions セクションを使用して、シミュレーション結果ドキュメントに波形として出力する式を追加します(回路内に配置されたプローブの波形に加えて出力されます)。詳しくは、 出力式の追加セクションを参照してください。

AC スイープ解析の出力式を設定する際は、 Add Output Expression ダイアログで各種の Complex Functions を選択できることに注意してください。

AC スイープ解析用に複素関数を使用した出力式を設定する
AC スイープ解析用に複素関数を使用した出力式を設定する

関数 説明
振幅 波形の振幅を返します。
振幅(dB) 波形の振幅をデシベル単位で返します。
実部 複素波形の実部を返します。
虚部 複素波形の虚部を返します。
位相(度) 波形の位相を度単位で返します。
位相(ラジアン) 波形の位相をラジアン単位で返します。
群遅延 波形の群遅延を返します。

回路に対する AC スイープ解析の設定例と、シミュレーション結果ドキュメントを以下に示します。

 

AC 解析では、以下のコンポーネントを含め、出力電圧、電力、電流がサポートされています。

VCVS VCCS CCVS CCCS
VCVS_Table VCCS_Table CCVS_Table CCCS_Table
VCVS_Poly VCCS_Poly CCVS_Poly CCCS_Poly
VCVS_Expr VCCS_Expr CCVS_Expr CCCS_Expr

ノイズ解析

ノイズ解析では、ノイズスペクトル密度をプロットすることで、抵抗および半導体デバイスによるノイズの寄与を測定します。ノイズスペクトル密度は、1 ヘルツあたりの電圧の二乗(V2/Hz)で表されるノイズ量です。コンデンサー、インダクター、および制御電源は、ノイズを発生しないものとして扱われます。

ノイズ解析を実行するには、Simulation DashboardパネルのAC Sweep領域でNoise Analysisオプションを有効にします。このオプションを有効にすると、対応する解析オプションが使用可能になります。

  • Noise Source – ノイズ計算の入力基準として使用する、回路内の独立電圧源。

  • Output Node – 総出力ノイズを測定する回路内のノード。

  • Ref Node – 指定したOutput Nodeにおける総出力ノイズの計算で、基準として使用する回路内のノード。デフォルトでは、このパラメーターは「0」(基準ノード。デフォルトはGND)に設定されています。他のノードに設定すると、総出力ノイズはV(Output Node) - V(Reference Node)として計算されます。

  • Points Per Summary – 実行するノイズ測定を指定します。このオプションでは、次の値がサポートされています。

    • 0 – この値に設定すると、入力ノイズと出力ノイズのみが測定されます。

    • 1 – この値に設定すると、回路内の各コンポーネントのノイズ寄与が測定されます。

    1より大きい整数を入力した場合は、1を指定した場合と同じになります。

回路のノイズ解析の設定例と、シミュレーション結果ドキュメントを以下に示します。

シミュレーション結果ドキュメントで、デザインスペースの下部にあるタブをクリックしてNoise Spectral Densityチャートを選択します。次に、Sim DataパネルのSource Dataリストで対応する項目を選択し、Add Wave to Plotボタンをクリックして、必要な波形を現在のプロットに追加します。onoise_spectrum波形(青)は、指定した出力ノード(この例ではOutput)で測定された総出力ノイズを示します。inoise_spectrum波形(赤)は、このノードで測定された出力ノイズを得るために、入力に注入する必要があるノイズ量を示します。

同様に、デザインスペースの下部にあるタブをクリックしてIntegrated Noiseチャートを選択します。次に、Sim DataパネルのSource Dataリストで対応する項目を選択し、Add Wave to Plotボタンをクリックして、必要な計算値を結果テーブルに追加します。

 
Points Per Summaryパラメーターを0ではなく1に設定した場合は、回路内の該当する各コンポーネントの出力ノイズへの寄与が測定され、それぞれに対応する波形がSim Dataパネルで使用可能になります。

Sパラメーター解析

この機能はオープンベータ版であり、Advanced SettingsダイアログでSimulation.SParametersAnalysisオプションを有効にすると使用できます。

Sパラメーター(散乱パラメーター)は、入射マイクロ波と反射マイクロ波の比率に基づいて回路網を記述するための手法です。被試験デバイスにおいて、あるポートから別のポートへどれだけの電力が伝わり、どれだけの電力が反射されるかを表します。これらの比率を使用して、入力インピーダンス、周波数応答、アイソレーションなどの回路特性を計算できます。Sパラメーター解析は主にRF回路やRFコンポーネントを対象としていますが、少なくとも2つの信号源(ポート)を持つあらゆる回路にも役立ちます。

Sパラメーター解析を実行するには、Simulation DashboardパネルのAC Sweep領域でS-Parameters Analysisオプションを有効にします。このオプションを有効にすると、対応する解析オプションが使用可能になります。対象のポート(信号源)を定義し、それぞれのインピーダンスを設定します(デフォルトは50Ω)。デバイスに3つ以上のポートがある場合は、Addコントロールを使用してポートを追加し、適切に定義できます。その場合、結果の「S行列」に含まれるSパラメーターの数が増えます。

シミュレーションエンジンはYパラメーター(アドミタンス)とZパラメーター(インピーダンス)も計算します。これらは必要に応じてチャートのプロットに追加できます。

Output Expressionsセクションを使用して、シミュレーション結果ドキュメントに波形として出力する式を追加します。式はs_<m>_<n>、y_<m>_<n>、またはz_<m>_<n>の形式で指定します(例:s_1_1またはy_1_2)。

ACスイープ解析を実行すると、シミュレーション結果ドキュメントのS-parameters AnalysisチャートでSパラメーターのデータが使用可能になります。

回路のSパラメーター解析の設定例と、シミュレーション結果ドキュメントを以下に示します。

 

追加解析

追加の解析タイプもいくつか用意されています。追加計算の基本原理は、選択した範囲内でパラメーターの値を順に変化させ、それぞれの値に対して一連の計算を実行することです。

温度スイープ

温度スイープ機能は、指定した範囲内の各温度で回路を解析し、温度設定ごとに1本の曲線を生成します。

温度スイープ解析を実行するには、Simulation DashboardパネルのAnalysis Setup & Run領域の下部にあるTemp. Sweepオプションを有効にします。Settingsをクリックし、表示されるAdvanced Analysis SettingsダイアログのGeneralタブにあるTemperature領域で、次のパラメーターを使用して解析を設定します。

  • From – 必要なスイープ範囲の開始温度(℃)。
  • To – 必要なスイープ範囲の終了温度(℃)。
  • Step – 定義したスイープ範囲内の各スイープ値を決定するための増分。

温度スイープ機能を併用した回路のACスイープ解析の設定例と、シミュレーション結果ドキュメントを以下に示します。

 

パラメータースイープ

パラメータースイープ機能を使用すると、指定した範囲内で、デバイス、信号源、温度の値を、定義した増分で変化させることができます。

パラメータースイープでは、基本コンポーネントとモデルの値を変化させることができます。解析中にサブ回路のデータは変化しません。

パラメータースイープ解析を実行するには、Simulation DashboardパネルのAnalysis Setup & Run領域の下部にあるSweepオプションを有効にします。Settingsをクリックし、表示されるAdvanced Analysis SettingsダイアログのGeneralタブにあるスイープパラメーター領域で解析を設定します。Add Parameterをクリックします。 コントロールを使用してステップ変化させるパラメーターを追加し、ドロップダウンメニューからパラメーターを選択します。ステップ変化させるパラメーターの分布タイプを選択し、以下のフィールドで分布パラメーターを設定します。

  • Linear – 定義したスイープ範囲の開始値、終了値、および増分値を、それぞれ From、To、Step フィールドで指定します。
  • Decade – 開始値、終了値、およびパラメーター値が10倍変化するごとのデータポイント数を、それぞれ From、To、Points/Dec フィールドで指定します。
  • Octave – 開始値、終了値、およびパラメーター値が2倍変化するごとのデータポイント数を、それぞれ From、To、Points/Oct フィールドで指定します。
  • List – 必要なパラメーター値のリスト(スペース区切り)を Values フィールドで指定します。

必要に応じて、ステップ変化させるパラメーターを追加して設定します。

パラメータースイープ機能を併用した回路の過渡解析の設定例と、シミュレーション結果ドキュメントを以下に示します。

 

モンテカルロ解析

モンテカルロ解析では、指定した許容差の範囲内で部品値をランダムに変化させながら、シミュレーションを複数回実行できます。

  • モンテカルロ解析では、基本部品とモデルを変化させることができます。解析中にサブ回路のデータは変化しません。
  • 各部品は、ほかの部品とは独立してランダムに変化します。たとえば、回路に10Kの抵抗が2つあり、デフォルトの許容差が10%に設定されている場合、シミュレーションの初回実行時に、一方の抵抗値が953Ω、もう一方が1022Ωになることがあります。プログラムは、部品ごとに個別の独立した乱数を使用して値を生成します。

モンテカルロ解析を実行するには、Simulation Dashboard パネルの Analysis Setup & Run 領域の下部にある Monte Carlo オプションを有効にします。Settings をクリックし、開いた Advanced Analysis Settings ダイアログの General タブにある Monte Carlo 領域で、以下のパラメーターを使用して解析を設定します。

  • Number of Runs – シミュレーターで実行するシミュレーションの回数です。実行ごとに、指定した許容差の範囲内で異なるデバイス値が使用されます。(デフォルト = 5)。
  • Distribution – このパラメーターは、乱数生成時に得られる値の分布を定義します。次の3種類の分布を使用できます。
    • Uniform(デフォルト)– 一様な分布です。値は、指定した許容差の範囲全体に均等に分布します。たとえば、許容差が10%の1Kの抵抗では、ランダムに生成される値が900Ωから1100Ωの間のどの値になる確率も等しくなります。
    • Gaussian – 値は、公称値を中心とし、指定した許容差を標準偏差の±3倍とするガウス(釣鐘型)曲線に従って分布します。抵抗値が1K ±10%の抵抗では、分布の中心が1000Ω、標準偏差の+3倍が1100Ω、標準偏差の-3倍が990Ωになります。この分布タイプでは、ランダムに生成される値が指定値に近くなる確率が高くなります。
    • Worst Case – 一様分布と同じですが、範囲の両端の値(ワーストケース)のみが使用されます。1K ±10%の抵抗では、990Ωと1100Ωという2つのワーストケース値から、使用する値がランダムに選択されます。各シミュレーション実行で、上限のワーストケース値(1100Ω)と下限のワーストケース値(990Ω)が使用される確率は等しくなります。
  • Seed – この値は、解析の各実行で乱数を生成するためにシミュレーターによって使用されます。異なる乱数列を使用してシミュレーションを実行する場合は、この値を別の数値に変更する必要があります。 (Default = -1)。
  • Group Tolerances:
    • Resistor – 抵抗に適用する許容差です。値はパーセントで入力します(デフォルト = 10%)。
    • Capacitor – コンデンサーに適用する許容差です。値はパーセントで入力します(デフォルト = 10%)。
    • Inductor – インダクターに適用する許容差です。値はパーセントで入力します(デフォルト = 10%)。
    • Transistor – トランジスタ(順方向電流増幅率β)に適用する許容差です。値はパーセントで入力します(デフォルト = 10%)。
    • DC Source – DC電源に適用する許容差です。値はパーセントで入力します(デフォルト = 10%)。
    • Digital Tp – デジタルTp(デジタルデバイスの伝搬遅延)に適用する許容差です。値はパーセントで入力します(デフォルト = 10%)。許容差は、乱数生成器がデバイスに対して生成できる値の許容範囲を決定するために使用されます。公称値が ValNom のデバイスの場合、その範囲は次のように表せます。ValNom - (Tolerance * ValNom) ... ValNom + (Tolerance * ValNom)

モンテカルロ解析機能を併用した回路の過渡解析の設定例と、シミュレーション結果ドキュメントを以下に示します。

 

感度解析

感度解析では、回路の出力特性に最も大きな影響を与える回路部品や要因を特定できます。この情報を利用して、好ましくない特性の影響を低減したり、好ましい特性を活用して回路性能を向上させたりすることができます。感度解析では、回路部品の部品パラメーターやモデルパラメーターに対する所定の測定値の感度、および温度やグローバルパラメーターに対する感度を数値として計算します。解析結果は、測定タイプごとに感度の値を順位付けした表として表示されます。

感度の計算を選択すると、温度スイープ、パラメータースイープ、およびモンテカルロ解析は使用できなくなります。

感度解析を実行するには、適切な 測定 が設定されている必要があります。以下の例では、ACスイープ解析に出力式 dB(v(OUT)) が設定されており、この出力にはBW(帯域幅)とMAX(最大振幅)の2つの測定が設定されています。どちらの測定についても感度を計算できます。

感度解析を実行するには、Simulation Dashboard パネルの Analysis Setup & Run 領域の下部にある Sensitivity オプションを有効にします。Settings をクリックし、開いた Advanced Analysis Settings ダイアログの Sensitivity タブで解析を設定します。Group Deviations 領域では、各タイプの部品の部品値に適用する相対許容差を定義します。Custom Deviations 領域では、感度解析の計算に対応するパラメーター値を持つ任意のオブジェクトの感度を解析します。すべての感度設定のデフォルト値は 1m で、1u から 0.1 の範囲の値を設定できます。

解析の実行後、Measurements に切り替えます。結果ドキュメントの Sim Data パネルの タブで、必要な測定結果のセットを選択し、Sensitivity ボタンをクリックして Sensitivity チャートに切り替えます。感度解析の結果は表形式で表示されるため、値の変動に対する感度が最も高い部品をすばやく特定できます。

 

精度とパフォーマンスのバランスを取る

シミュレーションの設定では、シミュレーションに使用する範囲に適切な値を設定することが重要です。

たとえば、デフォルト値が、回路の特性に基づいて必要となるシミュレーション時間と一致しない場合があります。例として、以下に示すように、From - To の時間区間を 0~1u に設定した過渡特性を考えてみます。

過渡解析の時間区間を 0~1u に設定した状態。
過渡解析の時間区間を 0~1u に設定した状態。

この回路では、以下に示すように、信号源の Period を 1uS に設定しています。

信号源の周期は 1u です。
信号源の周期は 1u です。

この過渡解析の範囲では、以下に示すように、回路の動作特性に対して適切なシミュレーションを実行できません。

信号源に設定された周期に対して、過渡解析の時間範囲が短すぎます。

同様に、範囲が広い場合(たとえば 0~100u)も、プロットの分析が難しくなり、解析に必要な時間も長くなります。

過渡解析の時間範囲が広すぎます。
過渡解析の時間範囲が広すぎます。

そのため、信号の周期よりも大きな範囲値、たとえば 5 周期分(0~5u)を選択します。これなら、回路が安定するまでの時間を十分に確保でき、かつ、この種の計算に対して過大な範囲にもなりません。

この回路の過渡解析に適した時間範囲。
この回路の過渡解析に適した時間範囲。

計算に使用する値の刻み幅や、プロットに表示するポイント数を適切に選択することも重要です。ポイント数が多すぎると計算が遅くなり、少なすぎると計算が不正確になります。

たとえば、以下に示す振幅周波数特性では、1 つ目は 10 ポイント、2 つ目は 1000 ポイントを使用するように設定されています。このポイント数の違いによる計算時間の差はわずかですが、特性の精度は大幅に向上します。

計算に使用するポイント数が不足している場合の解析結果。
計算に使用するポイント数が不足している場合の解析結果。

計算に適切なポイント数を使用した場合。
計算に適切なポイント数を使用した場合。

プロット上に解析データのポイントを表示するには、Document Options ダイアログ(Tools » Document Options)で Show Data Points オプションを有効にします。

出力式の追加

一部の解析では、設定時に、シミュレーション結果ドキュメントに波形として出力する式を追加できます(回路に配置されたプローブの波形に加えて出力されます)。式を追加するには、Simulation Dashboard パネルの対象となる解析領域内にある Output Expression セクションで、Add コントロールをクリックします。現在選択されている出力式の行の下に空の行が表示されます。出力式を指定し、プロット番号と色を設定します。これらはパネルに追加された項目で直接設定できます。または、 ボタンをクリックし、Add Output Expression ダイアログで使用可能な Waveforms のリストから選択することもできます。

必要な出力式を選択するか新しい関数を定義し、その式のプロット方法を設定します。
必要な出力式を選択するか新しい関数を定義し、その式のプロット方法を設定します。

ダイアログの Waveforms 領域には、現在使用可能な波形と定数のリストが表示されます。デフォルトでは、All 波形が一覧表示されます。リスト上部のドロップダウンを使用して、フィルターを適用します。

  • Digital – デジタルノードの論理レベル(0、1、不定、ハイインピーダンス)。デジタルシミュレーションモデルを持つ部品のピンに接続されているノードは、デジタルと見なされます。
  • Node Voltages – 回路内のネットの電圧。
  • Voltages – 回路内の部品の両端電圧。
  • Currents – 回路内の部品を流れる電流。
  • Powers – 回路内の部品が消費または供給する電力。
  • Charges\Fluxes – 回路内のコンデンサーの電荷とインダクターの磁束。
  • Conductivities – 回路内のダイオードとトランジスタのコンダクタンス。
  • Constants

以下の関数を使用して、任意のソースデータ波形に基づく数式を作成できます。使用可能な関数は、波形を取得するために実行した解析の種類によって異なります。

式には、使用可能な関数と許可されている演算子を任意に組み合わせて含めることができます。波形または関数の項目をクリックすると、下部のアクティブな式フィールド(Expression X または Expression Y)に追加されます。これらのフィールドに直接入力して式を定義することもできます。

ダイアログ下部のオプションでは、シミュレーションデータファイルでの式のプロット方法を定義します。

  • Name – 出力式の名前。
  • Units – 表示する測定単位。
  • Plot Number – 波形を描画するプロットの通し番号。現在定義されているプロットのいずれかを選択するか、New Plot を選択して波形用の新しいプロットを作成します。
  • Axis Number – 波形が使用する Y 軸の通し番号。現在定義されている軸のいずれかを選択するか、New Axis を選択して波形用の新しい Y 軸を作成します。
  • Color – 波形の色。変更しない場合は、シミュレーションデータファイル内で各波形に色が自動的に割り当てられます。

出力式の行の順序は、ドラッグ&ドロップで変更できます。出力式の行の空白部分でマウスの左ボタンを押したまま、リスト内で上下に移動します。

使用可能な関数

シミュレーション測定の設定と実行

測定とは、回路の動作と品質を特徴付ける各種の量を求めることです。測定値は、回路内の波形の特性を評価し、指定された規則に従って計算されます。測定項目には、帯域幅、ゲイン、立ち上がり時間、立ち下がり時間、パルス幅、周波数、周期などがあります。

出力波形の測定は、 Measurements タブ( Add Output Expression ダイアログ内)で設定します。 Add Measurement コントロールをクリックして新しい測定を追加し、表示される項目で測定名、種類、関連パラメーターを設定します。 定義できる測定の数に制限はありません。追加した測定の名前は、Simulation Dashboard パネルの出力式の項目に表示されます。

出力式を設定する際に、必要な測定を追加します。
出力式を設定する際に、必要な測定を追加します。

詳しくは、出力式の追加を参照してください。

測定結果のデータは、シミュレーション結果ドキュメントを確認する際に、Sim Data パネルの Measurements タブに表示されます。詳細については、測定結果の操作をご覧ください。

グローバルパラメーター

グローバルパラメーターは、電気回路素子の特性のパラメーター依存性を定義するために使用します。通常、素子モデルでパラメーター依存性を使用できる場合、最終的な実装を選定する前に、グローバルパラメーターを使用して素子の特性を選定します。

グローバルパラメーターは、Advanced Analysis Settings ダイアログの Global Parameters タブで定義します(Simulation Dashboard パネルの Analysis Setup & Run 領域で Settings をクリックしてアクセスします)。グローバルパラメーターは、値を直接指定するか、数式を使用して定義できます。数式を使用した場合は、パラメーター値と数式の両方が Value 列に表示されます。

Advanced Analysis Settings ダイアログの Global Parameters タブを使用して、シミュレーション用のグローバルパラメーターを定義します。
Advanced Analysis Settings ダイアログの Global Parameters タブを使用して、シミュレーション用のグローバルパラメーターを定義します。

回路内のコンポーネントのパラメーター値に式またはグローバルパラメーター名を追加します。シミュレーターはこれを検出すると、まずグローバルパラメーターのリストを確認してから評価を試みます。

コンポーネントの値でグローバルパラメーターを参照しています。
コンポーネントの値でグローバルパラメーターを参照しています。

シミュレーターは、式で使用されている名前について、最初にグローバルパラメーターのリストを確認するため、ユーザー定義の名前が優先されます。たとえば、pi という名前で値が 4 のグローバルパラメーターがある場合、式内のすべての pi がその値に置き換えられます。この場合、シミュレーター内部の円周率の値は使用されません。

シミュレーションの詳細オプション

Advanced Analysis Settings ダイアログの 詳細 タブ(Simulation Dashboard パネルの Analysis Setup & Run 領域で Settings をクリックしてアクセスします)では、SPICE変数の値、シミュレーターで使用する積分法、シミュレーションの基準ネットなど、シミュレーションの詳細オプションを定義できます。

Advanced Analysis Settings ダイアログの Advanced タブ
Advanced Analysis Settings ダイアログの Advanced タブ

このタブの上部には、SPICE変数に直接アクセスできるオプションが一覧表示されており、反復回数の上限や誤差の許容値などを変更できます。以下では、リストに含まれる各SPICE変数について詳しく説明します。

通常、正確なシミュレーションを行うために、このダイアログのタブにあるSPICEの詳細パラメーターを変更する必要はありません。これらのオプションは、SPICEシミュレーションのパラメーターを十分に理解している場合にのみ変更してください。
  • 数値オプションをデフォルト値に戻すには、現在設定されている値をクリアします。
  • 過渡解析の失敗をトラブルシューティングする場合は、次の設定を試してください。
    • ABSTOL = RELTOL * (lowest current magnitude in the circuit)
    • VNTOL = RELTOL *  (lowest voltage magnitude in the circuit)
  • GMIN の値を大きくすると、収束しやすくなる場合がありますが、精度は低下します。
  • ITL1 は、多くの回路で最大500まで大きくする必要がある場合があります。
  • ITL2 は、一部の回路で最大200まで大きくする必要がある場合があります。
  • ITL3 はSPICE3には実装されていません。SPICE2ネットリストの作成時の互換性を確保するために用意されています。
  • ITL4 を100以上に大きくすると、「timestep too small」エラーの解消に役立ち、収束性と速度の両方が向上する場合があります。
  • ITL5 はSPICE3には実装されていません。SPICE2ネットリストの作成時の互換性を確保するために用意されています。
  • 回路が大規模で、動作点解析を重複して実行したくない場合は、KEEPOPINFO オプションを有効にすると便利です。
  • 数値ピボット選択アルゴリズムでは、許容される最小ピボットは次の式で決定されます。

    EPSREL = AMAX1(PIVREL * MAXVAL, PIVTOL)

    ここで、MAXVAL は、ピボットを探索する列の最大要素です(部分ピボット選択)。

  • RELTOL オプションの値を大きくすると、シミュレーション時間は短くなりますが、精度は低下します。

シミュレーションに使用する数値積分法は、Integration method フィールドで指定できます。Trapezoidal 法は比較的高速かつ高精度ですが、特定の条件下では振動しやすい傾向があります。Gear 法はシミュレーション時間が長くなりますが、より安定する傾向があります。Gear法の次数を高くすると、理論上はより高精度な結果が得られますが、シミュレーション時間は長くなります。デフォルトの方法は Trapezoidal です。

シミュレーションを実行すると、利用可能なすべての信号について収集されたすべてのデータは、回路内の特定のネットを基準とします。このネットは Spice Reference Net Name フィールドで定義され、デフォルトでは GND ネットです。グラウンド以外のネットを基準とする過渡シミュレーションを実行するには、このフィールドにネット名を入力します。

Digital Supply VCC および Digital Supply VDD の設定は、現在のバージョンのAltium Designerではシミュレーターで使用されません。

解析の実行

必要な解析の種類を設定したら、解析名の右側にある対応する Run ボタンをクリックして解析を実行します。解析結果は、<ProjectName>.sdf という名前の新しいドキュメントに表示され、ドキュメントタブとして自動的に開きます。

すべての種類の解析を実行し、同じシミュレーション結果ドキュメントに表示するには、メインメニューの Simulate » Run Simulation コマンドを使用します(ショートカット:F9)。各解析の結果は、それぞれ個別のチャートに表示されます。

  • SimDataエディターで、SimView Standard ツールバーの  ボタンをクリックすると、現在のシミュレーション解析と波形生成を中止できます。シミュレーションは停止します。収集済みデータの波形がすでに生成されている場合は、中止した時点までの波形が表示されます。波形が部分的に表示される場合もあれば、データがまったく表示されない場合もあります。

  • 混在シミュレーションでは、専用スレッドを使用するように設定することで、シミュレーション中のインターフェースの応答性を向上できます。この機能は、詳細設定ダイアログで Simulation.Threads オプションが有効になっている場合に利用できます(デフォルトでオン)。

回路をシミュレーションできない場合は、問題が回路にあるのか、シミュレーションの処理にあるのかを特定してください。詳細については、シミュレーションのトラブルシューティングページを参照してください。
詳細については、シミュレーション結果の操作を参照してください。
AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
Contents
機能の提供状況

ご利用可能な機能は、お使いのAltiumソリューション(Altium Develop、Altium Agile Teams、Altium Agile Enterprise、または有効な契約期間中のAltium Designer)によって異なります。

実際にお使いのソフトウェアに文書化されている機能が表示されない場合は、詳細についてAltium Sales までお問い合わせください。

従来のドキュメント

Altium Designer のドキュメントは、バージョンごとに掲載されなくなりました。Altium Designer の旧バージョンのドキュメントは、Other Installers ページの Legacy Documentation の項目をご覧ください。

Contents