SPICE シミュレーション
This document is no longer available beyond version 22. Information can now be found here: Analyzing Your Design using Circuit Simulation for version 25
はじめに
回路とは、製品が必要とする機能と性能を提供するために接続された一連のコンポーネントのことです。回路に必要なコンポーネントのパラメータは、以下の方法で決定できます:
- 手計算による数学的計算。
- 実際の設計のプロトタイプを作成し、それをテストする。
- コンピュータを用いた数学的シミュレーション、別名SPICE。
最も効率的でコスト効果の高い選択肢は、コンピュータ支援設計(CAD)システムを使用した現代の数学的シミュレーション方法の利用です。
現代の電気回路CADシステムは、アナログ部品とデジタル部品の両方を含む回路をシミュレートする能力を組み合わせています。コンピュータシミュレーションの使用により、実際の回路特性を得ることができ、部品のリスクを評価し、製品の意図した運用範囲と適切な実装を達成することも可能になります。
このガイドは、SPICEシミュレーションの基本原則、間違いを避ける方法、およびツールの使用方法を学ぶための多くの情報をカバーしています。
シミュレーションとは何か、なぜ必要なのか?
電子部品の機能をシミュレートする主な目的は、設計の性能を表現し解析することです。実験的方法からコンピュータソフトウェアシミュレーションへの移行はかなり前に起こりました。しかし、シミュレーションが提供する機能なしに、たとえ最も単純な部品の設計を検証することは不可能です。
シミュレーションプログラムを使用することで、設計中の部品のすべてのモードを損傷の可能性なしに解析し、実際の条件では測定が困難なパラメーターや特性を決定し、高価な測定機器を使用することなく測定を実行できます。そして、これらのシミュレーションの結果は便利に一つのプロットにまとめることができ、複数の軸を使用したり、表示色を変更したり、プロットから直接測定を取ったり、結果を共有したり、その他多くのことができます。
SPICE(Simulation Program with Integrated Circuit Emphasis)は、オープンソースソフトウェアパッケージとして開発され、その広範な人気と継続的な開発につながりました。AltiumのMixed Simulation(MixedSim)技術は、SPICEアルゴリズムに基づいた改良されたコアを使用し、アナログ、デジタル、またはアナログとデジタルの混載回路のシミュレーションを設計するために使用されます。
このガイドでは、基本的な回路特性の取得メカニズムだけでなく、シミュレーションのための回路設計の特徴、回路要素にモデルを追加するプロセス、およびNetlistドキュメントの説明とその応用についてもカバーします。
SPICEを使用して何をシミュレートできるのか?
Altiumのシミュレーション技術は、サポートされているモデルやモデルタイプ(PspiceおよびLTSpiceを含む)、基礎となるアルゴリズム、利用可能な回路解析のタイプを含め、積極的に開発中です。
シミュレータは以下のタイプの解析をサポートしています:
- 動作点 - 回路の直流動作点を決定します。この際、インダクタは短絡し、キャパシタは開放されます。
- 伝達関数の極と零点 - 単一入力、単一出力の線形システムの安定性を、回路の小信号交流伝達関数の極および/または零点を計算することによって判断します。回路の直流動作点を見つけ、その後、回路内のすべての非線形部品に対して線形化された小信号モデルが決定されます。この回路は、指名された伝達関数を満たす極と零点を見つけるために使用されます。
- DC伝達関数 - (DC小信号解析) 回路内の各電圧ノードでのDC入力抵抗、DC出力抵抗、およびDCゲインを計算します。
- DCスイープ - カーブトレーサーのような出力を生成します。温度、電圧、電流のソース、抵抗、および導電率を含む変数をスイープするために使用されます。
- 過渡解析 - 通常オシロスコープに表示されるような出力を生成し、ユーザー指定の時間間隔にわたって時間の関数として過渡出力変数(電圧または電流)を計算します。過渡解析を行う前には、回路のDCバイアスを決定するために動作点解析が自動的に実行されます。ただし、「初期条件を使用する」パラメータが有効になっている場合はこの限りではありません。
- フーリエ解析 - デザインのフーリエ解析は、過渡解析中にキャプチャされた過渡データの最後のサイクルに基づいています。例えば、基本周波数が1kHzの場合、最後の1msサイクルの過渡データがフーリエ解析に使用されます。
- ACスイープ - 線形または低信号周波数応答。回路の周波数応答を示す出力を生成し、指定された周波数範囲にわたって回路を解析することにより、周波数の関数としての小信号AC出力変数を計算します。AC小信号解析の望ましい出力は伝達関数(電圧ゲイン、トランスインピーダンスなど)です。
- ノイズ解析 - 抵抗器および半導体部品のノイズ寄与を、ノイズスペクトル密度(ボルト平方/ヘルツ(V2/Hz)で測定されるノイズ)をプロットすることによって測定します。キャパシタ、インダクタ、および電源はノイズがないとして扱われます。
- 温度スイープ - 指定された範囲内の各温度で回路を解析し、各温度設定に対して一連の曲線を生成するために使用されます。シミュレータは、有効にされた標準解析(AC、DCスイープ、動作点、過渡、伝達関数、ノイズ)のいずれかを複数回実行します。
- パラメータスイープ - 定義された増分で、指定された範囲にわたって部品の値をスイープするために使用されます。シミュレータは、有効にされた標準解析(AC、DCスイープ、動作点、過渡、伝達関数、ノイズ)のいずれかを複数回実行します。パラメータスイープは基本コンポーネントとモデルを変更できます - 解析中にサブサーキットデータは変更されません。セカンダリパラメータをスイープするように定義することもできます。セカンダリパラメータが定義されている場合、プライマリパラメータはセカンダリパラメータの各値に対してスイープされます。
- モンテカルロ解析 - 指定された許容範囲内でコンポーネント値をランダムに変化させて複数のシミュレーションを実行するために使用されます。シミュレータは、有効にされた標準解析(AC、DCスイープ、動作点、過渡、伝達関数、ノイズ)のいずれかを複数回実行します。モンテカルロ解析は基本コンポーネントとモデルを変更できます - 解析中にサブサーキットデータは変更されません。
- 感度解析 - 回路コンポーネントのコンポーネント/モデルパラメータに関連する指定された測定値の感度を数値として計算し、温度/グローバルパラメータへの感度も計算します。解析の結果は、各測定タイプの感度の範囲値の表です。
SPICEモデルとは何ですか?
設計内の部品の性能をシミュレートするために、各コンポーネントは数学的モデルの形で表され、そのコンポーネントにSPICEモデルとして添付されます。モデルは実際のコンポーネントの特性を完全には表していませんが、基本的な特性を反映しています。コンポーネントモデルは、モデル内のデータが特性と解析の信頼性を決定するため、シミュレーションプロセスで最も重要な要素です。
シミュレータは、Altium MixedSim形式(SPICE)を含む人気のSPICEモデル形式や、広く使用されているPSPICEおよびLTSPICE形式をサポートしています。拡張子が.mdl
、.ckt
、.lib
、.cir
のモデルファイルを使用できます。
モデル(またはマクロモデル)は、回路図ライブラリエディター内、または回路図シート上に配置されたコンポーネントに、回路図シンボルに添付されます。インストールされたAltium Designerライブラリのシミュレーション対応コンポーネントを使用することも、多くのコンポーネントメーカーからモデルを入手することもできます。
このソフトウェアには、以下のライブラリが含まれており、シミュレーション準備が整ったコンポーネントが含まれています(下の画像に示されています):
- シミュレーション汎用コンポーネント - ディスクリート、基本的なロジック要素、プッシュボタン、リレー、ソースなどの一般的なコンポーネントのセット
- シミュレーション数学関数 - 数学関数のセット
- シミュレーションソース - 電流および電圧ソースのセット
- シミュレーションPspice関数 - Pspice関数のセット
- シミュレーション特殊機能 - Sドメイン伝達関数、ヒステリシス、サマー、微分器および積分器ブロックなどの特殊機能のセット
- シミュレーション伝送線 - 伝送線のセット
- その他の部品(様々な要素のライブラリ、約75%のコンポーネントにシミュレーションモデルがあります)
利用可能なライブラリとモデルファイルは、コンポーネントパネルを通じてインストールおよびアクセスされます。
信号源
回路をシミュレートするためには、通常、回路を刺激するための信号源が必要です。シミュレーション汎用コンポーネントおよびシミュレーションソースライブラリには、DCおよびACの電流および電圧源、制御された電流および電圧源、さまざまなタイプの信号源の大規模なセットが含まれています。 シミュレーションソースライブラリには、以下の要素が含まれています:
- VSRC / ISRC - 直流電圧/電流源
- VSIN / ISIN - 正弦波信号
- VPULSE / IPULSE - 設定によって直角、台形、または三角形の波形
- VEXP / IEXP - 指数関数的波形
- VPWL / IPWL - 補間(折れ線)源
- VSFFM / ISFFM - 周波数変調源
- BVSRC / BISRC - 非線形依存源
- ESRC / GSRC - 入力ピンの電圧によって制御される電圧/電流源
- HSRC / FSRC - 入力ピンを流れる電流のレベルによって制御される電圧/電流源
- .IC & .NS - 過渡過程の初期条件を指定する要素
- DSEQ / DSEQ2 - クロック出力付きデータシーケンサー/データシーケンサー(操作原理は入力ファイルからの状態の順次読み取りと、この状態を出力に設定すること)
シミュレーションソースライブラリには、さまざまなソースが含まれています。
ソースの配置と設定
ライブラリからソースを配置するだけでなく、Simulate » Place Sourcesメニューを使用して、回路図エディタで回路図シート上に電圧源と電流源を配置することもできます。
必要なソースを回路図に配置するには、ソースコマンドを使用します。
ソースはアクティブバーからも配置できます。ボタンをクリックして押し続けると、特別な回路要素のメニューが表示されます。最後に使用した要素がそのボタンのデフォルトになります。
または、アクティブバーを使用してソースを配置します。
回路図にソースが配置されたら、それをダブルクリックしてPropertiesを開きます。ドロップダウンメニューでStimulus Typeを変更できることに注意してください。これを行うと、そのソースを設定するために利用可能なパラメータのセットが自動的に変更されます。
ソースを扱う際の注意点:
- 選択した要素をダブルクリックするか、ワークスペースの右下にあるパネルボタン( )をクリックすることで、Propertiesパネルを開くことができます。
- Stimulus Nameフィールドに適切な名前を入力します。このフィールドは、ソースタイプを変更しても変わらないことに注意してください。これはユーザー定義フィールドだからです。また、複数のソースが同じStimulus Nameを共有している場合、一つのソースのプロパティを編集すると、同じ名前を持つ他のソースにもその編集が適用されることに注意してください。
- stimulus typeを変更しても、グラフィックは更新されません。これが問題である場合は、必要なグラフィックを表示するソースをライブラリから直接配置してください。
- DCマグニチュードパラメータで指定されたDC電流または電圧値はDC回路計算に使用され、ACマグニチュードおよびACフェーズパラメータは周波数計算に使用され、時間関数はソースの電流または電圧の過渡過程を計算するために使用されます。
以下のパラメーターは、DC電圧および電流源に設定されています(下記参照):
- DCマグニチュード
- ACマグニチュード
- ACフェーズ
正弦波電圧および電流源のパラメーターセットには、DCおよびACコンポーネントのための同様のパラメーターが含まれており、以下の要素も含まれています(下の画像に示されています):
- オフセット - 一定成分の信号(過渡計算を使用する場合)
- 振幅
- 周波数
- 遅延
- 減衰係数
Propertiesパネルには、指定されたパラメータに基づいて信号を表示するプレビューウィンドウが含まれています。これにより、行った変更が正しいことを確認できます。プレビューを隠す / プレビューを表示リンクをクリックすることで、プレビューウィンドウを隠したり表示したりできます。
各種類のソースには、設定する必要がある独自のパラメータセットがあります。例えば、VPULSEは以下のように表示されます:
- 初期値 - 出力信号の初期値
- パルス値 - パルス振幅
- タイムディレイ – 信号の時間遅延
- 立ち上がり時間 - 信号の立ち上がり時間
- 立ち下がり時間 - 信号の立ち下がり時間
- パルス幅 - パルス幅
- 周期 - 信号の周期
VPULSEソースのパラメータセット。
ユーザーが指定した波形によって、複雑な折れ線信号を作成する必要がしばしばあります。この状況では、補間されたVPWLおよびIPWLの電圧源と電流源を使用できます。これらのソースの信号パラメータは、適切な時間-値ペアを作成することによって設定されます。この行には、以下に示すように、軸の座標値が数値のシーケンスとして含まれています。
波形の形状は、時間-値のペアによって定義されます。
CSVファイルをソースとして使用する
回路シミュレータは、補間されたVPWLおよびIPWLの電圧と電流源の時間-値のペアを指定するためにCSVファイルを使用することもサポートしています。
ソースのStimulus Typeをファイルに設定し、Propertiesパネルでファイル名とパスをファイルパラメータに指定します(例:C:\Designs\Circuit Simulation\Analog Amplifier\PWL_test.csv
)。下記のように表示されます。
シミュレーションの設定と実行
MixedSimは、表やプロットの形で電気回路のさまざまな特性を取得するために使用できます。Simulation Dashboardは、解析を制御し、ビューを定義し、パラメータを調整するために使用されます。シミュレートメニューやパネルメニューからダッシュボードを開くことができます。
バリアントの定義
バリアントは、すべての混合信号シミュレーションモジュールでサポートされています。シミュレーションはアクティブなバリアントに対して実行されます。
シミュレートする回路図
シミュレーションを開始する前に、シミュレーションに含めるドキュメントを選択する必要があります。これは、アクティブな回路図シート(ドキュメント)、または複数のシートで構成されるプロジェクト全体(プロジェクト)のいずれかになります。選択は、Simulation Dashboardの上部にある影響ドロップダウンメニューから行います。
シミュレーションに含めるべき回路図シートを定義します。
回路とモデルの検証
前述の通り、回路図を作成した後の最初のステップは、回路図とコンポーネントモデルを検証することです。検証プロセスと、可能性のあるエラーの例については、以下のシミュレーション用の回路設計セクションでより詳しく説明されています。
シミュレーションの準備
次のステップは準備です。ここでは、シミュレーションソースが正しく設定されていることを確認し、回路内の特定の位置で電圧、電流、または電力を測定するためのプローブを追加できます。
シミュレーションソースが正しいことを確認し、準備段階で必要なプローブを配置します。
上の画像は、Simulation Dashboardの準備セクションを示しており、回路図上で検出されたシミュレーションソースとプローブが表示されています。上記の例では二つの定電圧電源(VSRC)とパルス電圧源(VPULSE)を使用しています。
各ソースとプローブにはチェックボックスが含まれています。これを使用して、そのソースまたはプローブを一時的に無効にすることができます。この機能により、異なる特性を持つ複数のソースを回路の同じ点に追加し、異なるシミュレーションを実行する際に必要に応じて有効/無効にすることができます。
各ソースとプローブには、 ボタンも含まれています。これがクリックされると、そのソース/プローブは設計から削除されます - このアクションは元に戻すことができないことに注意してください。プローブには、下の画像に示されているように、色セレクターも含まれています。
追加のプローブは「Add」リンクをクリックすることで配置でき、色はユーザーが設定可能です。
測定プローブの含有
プローブは、回路上に配置された位置で測定を行うために使用されます。プローブは、電流、電圧、または電力の値を検証し、それらをプロット上に表示するために使用できます。プローブ名と値の表示はPropertiesパネルで設定され、これらは表示または非表示に設定できます。
プローブが選択されたときに、Propertiesパネルでプローブの名前と値の表示を設定します。
プローブが正しく接続されている場合、プローブには自動的に指定が割り当てられます。以下に示すように接続が正しくない場合は指定の代わりに空のプローブというテキストが表示されます。
解析設定 & 実行
次のステップでは、解析の種類を選択し、パラメータを設定して、シミュレーションを実行します。
利用可能な計算の種類には以下が含まれます:
- 動作点の解析(Operating Point)
- DCスイープモードでの解析 (DC Sweep)、電圧-電流特性を含む
- 過渡解析 (Transient) は仮想オシロスコープです
- 周波数解析 (AC Sweep)、振幅-周波数特性と位相-周波数特性
動作点解析
動作点解析は、定常状態の回路動作における電流と電圧の値、DCモードでの伝達係数を計算するとともに、他の種類の計算で必要とされるAC伝達特性の極と零点を計算します。 動作点テキストの右にある実行をクリックして、動作点解析を実行します。新しいドキュメントタブが自動的に開き、<ProjectName>.sdfファイルが表示されます。SDFドキュメントには、以前に設定されたプローブポイントの計算を表示する単一の動作点タブ(ワークスペースの下部に表示)が含まれます。回路内のすべてのノードに対して値が自動的に計算され、これらはSDFドキュメントがアクティブなときにSim Dataパネル内のWave Nameをダブルクリックすることで結果テーブルに追加できます。
回路図上に表示ボタンのグループを使用して、計算された値を直接回路図上に表示することもできます。電圧、電力、電流の値は、下記のように同時にかつ独立して表示することができます。
このセクションの追加高度計算のパラメータは隠されています。計算を有効にしてパラメータを設定するには、適切なチェックボックスをオンにします:伝達関数、極-零点解析
- 伝達関数 - DCモードでの伝達係数の計算であり、電圧源(ソース名)と回路の基準ノード(基準ノード)を定義する必要があります。
- 極-零点解析 - 交流伝達特性の極と零点の計算です。この計算には、入力および出力信号ノード(入力ノード / 出力ノード)、入力および出力基準ノード(入力基準ノード / 出力基準ノード)、計算タイプ(解析タイプ)および計算されるべき関数のタイプ(伝達関数タイプ)をドロップダウンメニューから選択します。
設定が構成されたら、解析を実行するために ボタンをクリックしてください。
DCスイープ
DCモードで実行される計算により、ソースや抵抗の値を変更すると回路で何が起こるかを確認できます。
パラメータと出力式を設定し、DCスイープセクションで計算を開始します。+パラメータを追加リンクをクリックして、解析するソースを追加します。From / To / Step フィールドでは、ソース範囲の初期値、最終値、およびステップサイズを指定する必要があります。
追加の出力表現(アクティブプローブを除く)は、出力表現セクションで+追加リンクをクリックすることで追加できます。現在選択されている出力表現行の下に空の行が表示されます(出力表現行はドラッグアンドドロップ技術を使用して配置することもできます)。出力表現を指定し、プロット番号と色を設定します。これはパネル内の追加された行で行うことができますし、 ボタンをクリックして、出力表現の追加ダイアログの利用可能な波形リストから選択することもできます。ここでは、リストから望ましい信号を選択するだけでなく、関数のメニューを使用して数学的表現を定義することもできます。
Add Output Expression ダイアログでは、結果がどのようにプロットされるかも設定できます。名前と単位フィールドでは、出力表現の名前と測定単位を指定できます。プロット番号と軸番号のドロップダウンを設定して、既存のプロット/軸に表現を追加するか、新しいものを作成します。
設定が構成されたら、解析を実行するために ボタンをクリックしてください。
DCスイープ解析を実行すると、結果はSDFドキュメントのDCスイープとラベル付けされたタブに表示されます。下の画像の上部のプロットはDCスイープの結果を示しており、抵抗R7のピン上の現在の特性を表示しています(前の回路図の例の画像で示されています)。下部のプロットは、回路を通過する前後の電圧源V3の値を示しています。
DCスイープ計算の例。
過渡解析
過渡解析は、信号を時間の関数として計算します。時間の期間は、必要なモードボタン をクリックすることで、時間の間隔または周期数(周期)として定義できます。
- 間隔モード - 間隔モードを選択( )、その後開始 / 終了 / ステップの値を定義します(初期時間値 / 最終時間値 / 時間ステップ)。
- 周期モード - 周期モードを選択( )- その後開始 / N周期 / 周期ごとの点数の値を定義します(初期値 / 表示する周期の数 / 周期ごとの点数)。
過渡計算の設定。
出力関数(アクティブプローブを除く)は、出力式セクションで+追加リンクをクリックすることで追加できます。空の行が表示されたら、出力式を指定します。これは手動で行うことも、 ボタンをクリックして利用可能な波形のリストから選択することもできます。出力式を追加ダイアログでは、リストから望みの信号を選択するだけでなく、関数のメニューを使用して数学的表現を定義することもできます。
設定が構成されたら、 ボタンをクリックして解析を実行します。
フーリエ解析
フーリエ解析、すなわちスペクトル解析は、周期波形を解析する方法です。過渡解析を実行する際に、追加オプションとして実行できます。フーリエ解析を行うには、このオプションを有効にし、基本周波数と高調波の数を設定します。
初期条件を使用のチェックボックスは、過渡過程を計算するために初期条件を使用することを可能にします。
設定が構成されたら、解析を実行するために ボタンをクリックします。
フーリエ解析のパラメータを設定します。
計算結果は、SDFドキュメント内の別の過渡解析タブに表示され、ソースからの出力信号(in地点で)と出力信号(out地点で)の時間領域での波形が示されます。
ACスイープ
ACスイープ計算は、システムの周波数応答、つまり、出力信号の振幅が入力信号の周波数に依存するかを決定するために使用されます。
計算を実行する前に、開始周波数 / 終了周波数の値と、Typeドロップダウンで選択した分布タイプに対する点の数(点数、デカードあたりの点、またはオクターブあたりの点)を指定します。出力表現の選択方法は、前の解析タイプと同様です。
ACスイープ解析では、Add Output Expressionダイアログで選択された複素関数の範囲から選択できます。
ノイズ解析
ACスイープには、オプションのノイズ解析が含まれています。ノイズ計算パラメータはデフォルトでは非表示になっていますが、ノイズ解析が有効になると表示されます。
- ノイズ源 – 回路にノイズを注入している源
- 出力ノード – ノイズが計算されるノード
- 参照ノード – ノイズ解析が参照されるノード
- サマリーごとのポイント – ノイズを生成する各部品のノイズの頻度
計算の結果は、入力信号の周波数に対する出力信号の振幅の依存性を示すグラフィカルな表示で、別のACスイープタブに表示されます。
追加解析
解析設定 & 実行セクションの下部には、異なる解析タイプのパラメータを変更するオプションがあります。追加解析の原則は、選択された範囲内のパラメータの値を通過し、パラメータの各値に対して一連の計算を実行することに基づいています。必要なチェックボックスをオンにすることで、各追加解析を有効にすることができます。
追加の計算の設定はAdvanced Analysis Settingsダイアログで構成されます。ダイアログを開くには、 ボタンをクリックします。
温度スイープ
温度スイープモードでは、変数パラメータは温度です。回路の異なる温度での挙動をシミュレートするために、温度のチェックボックスを有効にし、範囲の開始温度(セルシウス度)、終了温度の値、および温度のステップサイズを定義します。
例として、動作点モード(下の最初の画像)とDCスイープ(下の2番目の画像)を使用して、R7抵抗のピン上の電流値を温度スイープで解析することができます。
プロット上の波形のうちの1つを選択すると、同じパラメータで得られた他の波形も強調表示されます。パラメータの値は、下の画像に示されているように、プロットの下部に表示されます。
スイープパラメータ
スイープパラメータモードで列挙されるパラメータは、コンポーネントが持つ基本的なパラメータです。例えば、抵抗器の抵抗値、コンデンサの容量値などです。
セクションがアクティブになった後、変更したいコンポーネントのパラメータと変更の順序をドロップダウンメニューから選択する必要があります。範囲の初期値、最終値、およびステップを指定する必要があります。+パラメータを追加リンクを使用して、追加のコンポーネントを追加できます。
下の画像は、過渡解析中にキャパシタの値をスイープすることを示しています。
モンテカルロ
モンテカルロモードは、選択した分布タイプに従って、選択したコンポーネントのパラメータのランダムな変化の影響を解析します。モンテカルロ解析には、以下のパラメータが必要です:
- 実行回数 - シミュレーションの回数
- 分布 - 分布タイプ
- 許容誤差 - パラメータ値からの最大偏差
例えば、振幅周波数特性を計算する際に、等分布を用いたモンテカルロ法を使用できます。
高度なSpiceオプション
Spiceの高度な解析設定は、高度な解析設定ダイアログの高度タブで設定されます。 をSimulation Dashboardでクリックしてダイアログを開きます。
すべての解析を実行する
すべての解析タイプを実行して、同じSDF結果ファイルに表示するには、回路図エディタのシミュレートメニューからシミュレーションを実行コマンドを使用するか、F9ホットキーを押します。各解析タイプはSDFファイルの別のタブに表示されます。
「シミュレーションの実行」コマンドを選択して、すべての解析タイプを実行します。
シミュレーション測定の実施
シミュレーションプロセスの重要な部分は、結果の分析です。これを行う一般的なアプローチは、出力結果に対して測定を実施することです。これらの測定は、回路の特性を明らかにし、回路の挙動を確認することができます。
測定は、回路の挙動や品質を決定します。測定値は、回路内の波形の特性を評価することによって、指定されたルールに従って計算されます。測定の例には、帯域幅、ゲイン、立ち上がり時間、立ち下がり時間、パルス幅、周波数、周期などがあります。定義できる測定の数に制限はありません。
測定は、測定タブの出力表現の追加ダイアログで設定され、結果データはSim Dataパネルに表示されます。
測定結果の取り扱い
シミュレーションの測定結果を解析するための多くの機能があります。
これらの測定機能には以下が含まれます:
- 測定タイプの範囲 - タイプリストから必要な測定を選択します。
- 測定統計 - 測定統計は自動的に計算され、Sim Dataパネルの下部に表示されます。
- 測定結果を表で表示 - 測定結果の表を、Sim Dataパネルの表を展開するリンクをクリックすることでメインのSDFウィンドウに表示できます。表のデータを選択して、スプレッドシートにコピーします。(画像を表示)
- 結果のヒストグラム - 測定結果から直接ヒストグラムを生成して、データの分布を視覚化します。上の画像にカーソルを合わせると、モンテカルロ解析結果のヒストグラムが表示されます。
- 測定からプロットを導出 - 一方の変数に対して別の変数のプロットを生成します。例えば、2つのコンポーネント値がスイープされたパラメトリックスイープが行われた場合、これらを互いにプロットできます。
- チャートに表示 - Sim Dataパネルの測定タブにあるボタンをクリックします。測定カーソルがチャートに表示され、測定が計算されたチャートの領域が強調表示されます。測定カーソルの使用についてもっと学びましょう。
- 新しい測定を追加 - Sim Dataパネルの追加ボタンをクリックして、新しい測定を定義できるプロットに波形を追加ダイアログを開きます。
- 既存の測定を編集 - 現在選択されている測定を編集するには、編集ボタンをクリックします。Simulation Dashboardパネルに戻る必要はありません。
感度解析
感度解析は、回路の出力特性に最も影響を与える回路部品や要因を決定する方法を提供します。この情報をもとに、マイナスの影響を減らすか、または、肯定的な特性に基づいて回路性能を向上させることができます。感度解析は、回路部品のコンポーネント/モデルパラメータに関連する与えられた測定値の数値的な感度、および温度/グローバルパラメータへの感度を計算します。解析の結果は、各測定タイプの感度の範囲値の表です。
感度解析を実行するには、適切な測定が設定されている必要があります。下の画像では、ACスイープ解析に出力式が設定されています;dB(v(OUT))
、そしてこの出力には2つの測定が設定されています;BW(帯域幅の略)とMAX(最大振幅)。これらの測定のいずれかに対して感度を計算することができます。
感度を解析するには、以下に示すようにSimulation Dashboardで感度オプションを有効にし、設定アイコンをクリックして高度な解析設定ダイアログを開きます。そこで、ダイアログの感度タブで感度オプションを有効にできます。
必要に応じて感度設定を構成し、高度な解析設定ダイアログを閉じて、解析を実行します(この例ではACスイープ)。波形が表示されると、Sim Dataパネルも開きます。パネルの測定タブに切り替え、必要な測定結果セットを選択し、以下に示すように感度ボタンをクリックして、SDF結果ウィンドウの感度タブに切り替えます。感度の結果は表で表示されるため、その値の変動に対して最も感度が高いコンポーネントをすぐに特定できます。
シミュレーション用の回路設計
シミュレーションを成功させるためには、いくつかの必須ステップを踏む必要があります。また、シミュレーションを実行する前に、回路の電気的ルールチェックを行うことも重要です。
すべての設計ルールと必要条件が満たされた場合、Simulation Dashboardは緑のチェックマークアイコンで検証が成功したことを通知します。回路図シートがアクティブなときは、Simulate » Simulation Dashboardコマンドを使用してSimulation Dashboardを開きます。
シミュレーションに必要な条件
電気回路の設計に必要な条件は以下の通りです:
-
シミュレーションで使用される回路図はプロジェクト(
*.PrjPcb
)の一部でなければなりません。回路図シートがプロジェクトにリンクされずに作成された場合、シミュレートメニューのシミュレーションコマンドは非アクティブになります。Simulation Dashboardを使用する機能も、以下に示すように制限されます。 -
回路図設計には、少なくとも1つの電圧源または電流源、または信号源が含まれている必要があります。ソースがない場合でもシミュレーションは実行できますが、Simulation Dashboardの準備セクションでソースを追加する必要がありますというメッセージによって警告されます。ソースの詳細な説明と配置方法については、信号源セクションを参照してください。
-
回路図にはGNDネット、つまりシミュレーションエンジンが参照ノードとして使用できる零の電位を持つノードが含まれている必要があります。この条件がないとシミュレーションは続行されません。Simulation Dashboardの検証セクションでは、このエラーが存在する場合に警告が表示されます。詳細リンクは、詳細情報についてのメッセージパネルにリダイレクトします。
アクティブバーには、GNDノードを配置するコマンドがあり、他にもさまざまな値、スタイル、目的の電源ポートがあります。
- 回路図に必要な条件に加えて、すべてのコンポーネントには有効なモデルが必要です。提供されたシミュレーション専用ライブラリから配置されたコンポーネントには、適切なモデルが含まれています。自分のライブラリから配置されたコンポーネントは、回路図ライブラリエディターまたは直接回路図上でモデルを追加する必要があります。
コンポーネントにモデルが欠けている場合、Simulation Dashboardの検証領域に警告が表示されます。モデルにエラーがある場合にも同様の警告が表示されます。
モデルエラーの解決
シミュレーションモデルがないコンポーネントは、上記の画像に示されているように、Simulation Dashboardにリストされます。+モデルを追加リンクをクリックして、手動でモデルを追加します。これにより、シムモデルダイアログにリダイレクトされ、選択したコンポーネントに手動でモデルを選択して追加できます。コンポーネントにシミュレーションモデルを追加するプロセスは、回路図のコンポーネントにモデルを追加するセクションで詳しく説明されています。または、自動的に割り当てリンクをクリックして、利用可能なソースからシミュレーションモデルがないモデルを自動的に追加します。
回路図の構造やコンポーネントのパラメータを作業している間、設計を繰り返し確認する必要があります。回路図に変更を加えると、自動的に繰り返しチェックが選択され、エラーが検出された場合は対応するメッセージで通知されます。検証が成功した場合、この手順はユーザーには見えません。
電気回路をシミュレーションする際、ネット名を割り当てることは必須条件ではありませんが、推奨します。ネット名を割り当てることで、特に複雑な回路図を扱う場合に、特性を表示する点の選択が明確になります。Simulation Dashboardでは、いくつかのタイプの計算において、ネットラベルでそれらの点を識別している場合、出力式セクションで特性をプロット上に表示するための望ましい点を選択することが可能です。
アクティブバーから、またはPlace » Net Labelメニューコマンドを通じてネットラベルを配置できます。回路図上にネットラベルを配置する前に、Tab キーボードショートカットを押して、Propertiesパネルを開き、ネット名を定義できます。
回路図コンポーネントにモデルを追加する
コンポーネントとモデルは、個別のファイルとして保存することも、接続されたワークスペース内に保存することもできます。まず、ファイルベースのコンポーネントとモデルでそれをどのように行うかを見てみましょう。
ファイルベースのライブラリとモデルの使用
ファイルベースのライブラリやモデルファイルを使用するためには、それらをインストールする必要があります。これを行うには、コンポーネントパネルの操作メニューを開き、ファイルベースのライブラリ設定コマンドを選択して、利用可能なファイルベースのライブラリダイアログを開きます。ここで、ローカルライブラリとモデルをコンポーネントパネルに追加してアクセスできるようにします。
「利用可能なファイルベースのライブラリ」ダイアログを開きます。
インストール済みタブのライブラリを追加ボタンを使用して、以下に示すように、希望のローカルファイルを選択します。インストールされたライブラリと同様に、ライブラリとモデルがリストされている順序は、ソフトウェアによって使用される順序を決定します。上に移動と下に移動ボタンを使用して、順序を変更します。
ライブラリとモデルファイルがインストールされている例。
インストールされたライブラリ/モデルの並び替えは、上に移動および下に移動ボタンを使用すること、または(チェックボックスを使用して)無効化することで可能です。
シミュレーション対応コンポーネントの配置
ローカルまたはクラウドライブラリから回路図上にコンポーネントを配置するには、以下の方法があります:
- 右クリックのコンテキストメニューから配置コマンドを使用する
- パネル内のコンポーネントをダブルクリックする
- パネルからコンポーネントをドラッグして、開いているドキュメントにドロップする
シミュレーションモデルを持つコンポーネントと持たないコンポーネントがあるライブラリを使用している場合、シミュレーション準備ができているコンポーネントを簡単に見つけるために、Componentsパネルでシミュレーション列を有効にします。これを行うには、Componentsパネルの現在の列見出しのいずれかを右クリックし、コンテキストメニューから列の選択を選択し、列の選択ダイアログでシミュレーション列を有効にします。
シミュレーション列を有効にして、どのコンポーネントにシミュレーションモデルがあるかをすばやく特定できます。また、パネルのコンポーネント詳細セクションでシミュレーションモデルの詳細を調べることもできます。
ライブラリコンポーネントにシミュレーションモデルが添付されている場合、上記の画像に示されているように、コンポーネントの詳細セクションのコンポーネントパネルでモデルを調べることができます。
頻繁に使用される一般的なシミュレーションコンポーネント(抵抗器、コンデンサ、トランジスタなど)も、Simulate » Place Modelsサブメニューのコマンドを使用して回路図上に配置することができます。
モデルのみを持っている場合のコンポーネントの配置
シミュレーションモデルを持っているが、それを追加するコンポーネントがない場合、代わりにComponentsパネルからモデルファイルを配置することができます。これを行うと、ソフトウェアはモデルを解析し、シミュレーション一般コンポーネントライブラリ内で適切なシンボルを見つけます。離散コンポーネントには、そのタイプのコンポーネントに適したシンボルがあり、サブサーキットによってモデル化されたコンポーネントには、単純な長方形のシンボルがあります。
モデルがコンポーネントパネルに表示されるためには、アクティブなプロジェクトに追加されるか、利用可能なファイルベースのライブラリダイアログでライブラリとしてインストールされる必要があります。コンポーネントパネルの上部にあるボタンをクリックして、ダイアログにアクセスします。
下の表には、サポートされているモデルの種類と配置されるシミュレーション汎用コンポーネントライブラリのコンポーネントシンボルが記載されています。
部品 | モデルテキスト | シンボル (SIMライブラリ設計項目ID) |
---|---|---|
抵抗器 | .MODEL <モデル名> RES | 抵抗器 |
コンデンサ | .MODEL <モデル名> CAP | コンデンサ |
インダクタ | .MODEL <モデル名> IND | インダクタ |
ダイオード | .MODEL <モデル名> D | ダイオード |
バイポーラトランジスタ | .MODEL <モデル名> NPN | BJT NPN 4 MGP |
バイポーラトランジスタ | .MODEL <モデル名> PNP | BJT PNP 4 MGP |
接合FET | .MODEL <モデル名> NJF | JFET N-ch Level2 |
接合FET | .MODEL <モデル名> PJF | JFET P-ch Level2 |
MOSFET | .MODEL <モデル名> NMOS | MOSFET N-ch Level1 |
MOSFET | .MODEL <モデル名> PMOS | MOSFET P-ch Level1 |
製造元部品検索パネルからシミュレーション対応コンポーネントを配置する
製造元部品検索パネルは、数千のコンポーネントメーカーから数百万のコンポーネントにアクセスできるようにデザイナーに提供します。このパネルには、シミュレーションモデルを含むコンポーネントのみを表示するフィルターを含むパラメトリックフィルタリングが含まれています。このフィルターを適用すると、シミュレーションモデルを含むコンポーネントのみが表示されます。
現時点では、シミュレーションモデルにはモデルピンの定義が物理コンポーネントのピンにマッピングされていません。このマッピングが定義されていないため、ソフトウェアはデフォルトの1対1マッピング(モデルピン1が物理ピン1にマップされる)を適用します。このため、これらのコンポーネントのいずれかを使用すると、マッピングが正しくない可能性があり、シミュレーションが失敗するか正しく機能しない可能性があります。
これを補助するために、シミュレータには、既存のコンポーネントシンボルを汎用コンポーネントシンボルに自動的に置き換えるオプションが含まれています。この汎用コンポーネントシンボルは、配置中に作成される長方形で、そのピンは正しいモデルピンに自動的にマッピングされます。この機能を使用するには、PreferencesダイアログのSimulation - GeneralページでAlways Generate Model Symbol for Manufacturer Part Search Panel Using Simulation Model Descriptionオプションを有効にします。
配置済みコンポーネントにモデルを追加する
配置されたコンポーネントに添付されているモデルを表示するには、Propertiesパネルを使用します。既存のモデルは、パネルのパラメータセクションに指定されており、 オプションが有効になっている場合に表示されます。 コンポーネントにシミュレーションモデルを追加するには、パラメータセクションの下部にある追加ボタンをクリックし、表示されるメニューからシミュレーションを選択します。
Simモデルダイアログが開きます。このダイアログでモデルの選択と回路図シンボルのピンからモデルのピンへのマッピングが行われます。
モデルのソースを選択
モデルを選択するために参照ボタンをクリックする前に、必要なソースモードを設定するためにクリックします。有効にするソースボタンは、参照ボタンをクリックしたときに何が起こるかを決定します:
- ローカル - ローカルのハードドライブやネットワークサーバーに保存されているモデルファイルを探す場合にこのオプションを使用します。
- ライブラリ - ファイルベースのライブラリとモデルの操作セクションで説明されているように、利用可能なファイルベースのライブラリダイアログを通じて利用可能になったモデルを探す場合にこのオプションを使用します。
- サーバー - 接続されたワークスペースにあるモデルを探す場合にこのオプションを使用します。
- Octopart - メーカー部品検索ダイアログ(このダイアログはメーカー部品検索パネルと同じです)で利用可能なコンポーネントモデルを探す場合にこのオプションを使用します。ダイアログのフィルタセクションを有効にします( )、その後、シミュレーションモデルを含むコンポーネントのみが表示されるようにシミュレーションありフィルタを検索して有効にします。次に、メインの検索フィールドを使用して、必要なコンポーネントモデルが利用可能かどうかを検索してください(画像を表示)。メーカー部品検索パネルは完全なコンポーネントを返しますが、選択したコンポーネントのシミュレーションモデルのみが設計で使用されます。
モデルの閲覧と選択
ソースを選択したら、閲覧ボタンをクリックしてモデルファイルを選択します。表示されるダイアログやモデルを探すために使用する方法は、有効にしたソースオプションによって異なります。以下のスライドは、4つのソースモードそれぞれに対して異なるダイアログを示しています:
スライドは、4つのソースモードごとに表示される異なるダイアログを示しています。 モデルファイルを選択した後、モデルの互換性と操作性を示す指標は、モデルファイルに含まれるテキスト、パラメータ、情報の表示です。この情報は、Sim Modelダイアログのモデル説明領域に表示されます。モデルファイルタブに切り替えて、モデルの内容を確認してください。 また、モデルのフォーマットタイプオプションが正しく設定されていることを確認することも重要です。ソフトウェアはこれを自動的に検出して割り当てようとしますが、それが正しいことを確認してください。
モデルピンをコンポーネントシンボルピンにマッピングする
正しいモデル動作のためには、コンポーネントのピンとモデルのピンの関連付けを確認する必要があります。なぜなら、それらが一対一でマッピングされていない可能性があるからです。ほとんどのモデルファイルには、下の画像に示されているように、モデルファイルのテキストにモデルピン番号の説明が含まれています。これを使用して、各モデルピンを正しいシンボルピンにマッピングしてください。
各コンポーネントピンは対応するモデルピンにマッピングされなければなりません。
新しいモデルファイルの作成
一部のモデルは、メーカーやサプライヤーからダウンロード可能なテキストファイルとして提供されています。モデルの詳細がダウンロードファイルではなく、ウェブページ上のテキストとして提示される場合、Altium Designerで新しいモデルファイルを作成し、ウェブページの内容を新しいモデルファイルにコピー&ペーストできます。File » New » Mixed Simulationサブメニューの関連コマンドを使用します。下記のように表示されます。
モデルファイルの情報をコピーして、モデルエディタに貼り付けることができます。
シミュレーションモデルの例文。
ライブラリエディタでのモデルの添付 回路図上に配置されたコンポーネントシンボルにモデルを添付するだけでなく、回路図ライブラリエディタでコンポーネントにモデルを添付することもできます。 これは回路図ライブラリエディタで行われます。選択されたコンポーネントのグラフィカル編集セクションの下に、コンポーネントに添付されたモデルがリストされます。シミュレーションの追加ボタンをクリックして、シミュレーションモデルを追加します。
ライブラリコンポーネントにシミュレーションモデルを添付する。
Sim Model ダイアログが開きますので、コンポーネントに追加するモデルのソース位置を選択し、参照ボタンをクリックしてください。
モデルがコンポーネントパネルにインストールされているか、アクティブなプロジェクトの一部である必要があります。そうでないと、利用可能なモデルのリストに表示されません。
モデル名とモデルファイルの場所は、関連するフィールドに指定され、モデルの詳細はダイアログの右側にあるモデルファイルタブに表示されます。モデルをライブラリコンポーネントに追加するには、OKボタンをクリックします。
新しいシミュレーションモデルは、それをシンボルに添付した後、グラフィカル編集ウィンドウの下のセクションに表示されます。変更を保存してください。
モデルを添付した後のコンポーネントを保存します。
ワークスペースコンポーネントとモデルの操作
回路シミュレータを使用する際、既存のライブラリ全てを使用できます。これには、シミュレーションモデルが添付されているワークスペースライブラリも含まれます。特定のコンポーネントでモデルの利用可能性をコンポーネントパネルの詳細セクションで確認できます。ワークスペースコンポーネントの詳細については、接続されたワークスペースでのコンポーネント管理をご覧ください。
ワークスペースコンポーネントは、ファイルベースのコンポーネントとは異なります。ファイルベースのコンポーネントでは、シンボルが核となる要素であり、パラメータを保持し、フットプリントとシミュレーションモデルがそれに添付されます。
ワークスペースコンポーネントでは、コンポーネントアイテムがパラメータを保持し、シンボル、フットプリント、シミュレーションモデルを含む他の要素をまとめます。各要素はワークスペース内で別々のアイテムとして保存されます。既存のワークスペースコンポーネントにシミュレーションモデルを追加する場合、まずモデルをワークスペースにアップロードし、その後ワークスペースコンポーネントに添付する必要があります。シミュレーションモデルは別々にアップロードすることも、コンポーネントに添付するプロセスの一部としてアップロードすることもできます。
ファイルベースのコンポーネントとワークスペースコンポーネントのこの違いは、ワークスペースコンポーネントを編集する際に少し異なるアプローチが必要であることを意味します。
ワークスペースコンポーネントの編集
既存のワークスペースコンポーネントを編集し、シミュレーションモデルを追加する最も簡単な方法は、コンポーネントパネルでコンポーネントを見つけて、右クリックし、表示されたコンテキストメニューから編集を選択することです。下記のように、コンポーネントはコンポーネントエディタで編集用に開かれます。
ワークスペースコンポーネントを右クリックして編集します。
コンポーネントにシミュレーションモデルを追加する
コンポーネントにシミュレーションモデルを追加するには、シミュレーションを追加コントロールを視覚的に見つけて、ドロップダウンをクリックします。
Existing コマンドは、ワークスペースで既に利用可能なモデルのリストを開きます。New コマンドは、定義中のコンポーネントにシミュレーションモデルを割り当てることができる Sim Model ダイアログを開きます。Sim Model ダイアログを使用してシミュレーションモデルを追加するプロセスは、配置されたコンポーネントにモデルを追加する場合と似ています。ダイアログでOKをクリックした後、シミュレーションモデルのプレビューがコンポーネントエディタに表示されます。
更新されたワークスペースコンポーネントの保存
コンポーネントには、以下に示すようにシミュレーションモデルが添付されています。最後のステップは、更新されたコンポーネントをワークスペースに保存することです。このアクションはサーバーに保存と呼ばれます。ファイルメニューでサーバーに保存コマンドを選択します。このコマンドを選択すると、コンポーネントが検証され、その後、この新しいリビジョンのコンポーネントに加えられた変更に関するオプションのリリースノートを入力できるリビジョンの編集ダイアログが開きます。新しいリビジョンのコンポーネントの保存プロセスが完了すると、コンポーネントは自動的に閉じられます。
ワークスペースコンポーネントは、設計でのシミュレーションに使用する準備ができました。
サーバーに保存コマンドを使用して、ワークスペース内のコンポーネントを更新します。
ワークスペースのコンポーネントが既に回路図上に配置されている場合、以下に示すように最新のリビジョンに更新ボタンをクリックすることで、最新のリビジョンに更新できます。
コンポーネントパネルからまだ配置されていないコンポーネントの場合、配置する前に新しいシミュレーションモデルがモデルセクションに表示されていることを確認してください。シミュレーションモデルが表示されていない場合は、コンポーネントパネルのコンポーネントリストセクションで右クリックし、更新を選択してローカルキャッシュを更新してください。
シミュレーション、精度と性能のバランスを見つける
シミュレーション設定の重要な部分は、シミュレーションに使用される範囲の正しい値を設定することです。
たとえば、デフォルトが回路の特性に基づいて必要とされるシミュレーション時間と一致しない場合があります。例として、以下に示すように、0から1usまでの時間間隔を持つ過渡特性が設定されている場合を考えてみましょう。
この回路では、ソースの周期が1usに設定されています。下記の通りです。
この過渡範囲では、下に示すように、回路の動作の特性を考慮すると、回路を適切にシミュレートすることができません。
過渡時間の範囲は、ソースで設定された周期に対して短すぎます。
同様に、範囲が広い場合(例えば 0 - 100us)、プロットの解析も困難になり、解析に必要な時間も増加します。
過渡時間の範囲が広すぎます。
代わりに、信号周期値よりも大きな範囲値を選択してください。例えば、5周期(0 - 5us)です。これにより、回路が安定するのに十分な時間が確保されますが、このタイプの計算には過剰ではありません。
この回路の過渡解析に適した時間範囲。
また、計算のための値の比例的なステップを選択することや、プロットに表示される点の数を選択することも重要です。点の数を過剰に選択すると、計算が遅くなりますし、点の数が不十分だと計算が不正確になります。 たとえば、以下に示す振幅-周波数特性を考えてみましょう。最初のものは10点を使用して設定され、2番目のものは1000点を使用して設定されています。使用する点の数の違いは、計算時間に大きな違いをもたらすわけではありませんが、特性の精度を大幅に向上させます。
計算に使用された点の数が不十分な場合の解析結果。
計算には適切な数のポイントが使用されています。
結果の表示と解析
各種計算の結果は、シミュレーションを実行するたびに開くSDFウィンドウの名前付きタブに表示されます。すべての計算を一緒に実行する場合(F9を押すか、シミュレート » シミュレーション実行コマンドを選択すると)、開いているSDFドキュメントの下部にあるタブをクリックすることで、プロット間を切り替えることができます。
シミュレーション結果は、後で閲覧や編集するために保存できます。ワークスペースの上部にあるドキュメントタブを右クリックし、保存コマンドを選択します。異なるタイプの解析を実行して各SDFファイルを保存する予定の場合は、代わりにFile » Save Asコマンドを使用して、各SDFファイルに名前を付けることができます。
保存されたシミュレーション結果は、Simulation Dashboardの結果セクションに表示されます。特定のプロットを再開するには、省略記号をクリックしてメニューから結果を表示を選択するか、解析名をダブルクリックします。このメニューでは、チャートのタイトルと説明を編集したり、解析設定&実行エリアでプロットの設定を復元(プロファイルを読み込む)、結果を削除することもできます。
特定のシミュレーションの結果をロックすることもできます。ロックすると、次に同じタイプのシミュレーションを行った場合、新しい結果が名前に連番の数値接尾辞を付けて保存されます。
計算の特定のバージョンを保存するには、ロックアイコンをクリックします。
プロットの操作
以下の画像は、結果波形のさまざまな要素の名前を示しています。
波形ウィンドウで作業するためのクイックヒント:
- 波形名をクリックして保持し、別のプロットにドラッグすることで、波形を一つのプロットから別のプロットに移動できます。
- 既存の波形を新しい、別のプロットに表示するには、名前をダブルクリックし、波形編集ダイアログでプロット番号ドロップダウンから
新しいプロット
を選択します(画像を表示)。これを行った後、表示されるプロットの数を変更する必要があるかもしれません。これはドキュメントオプションダイアログ(ツールメニュー)で行います。 - プロット内のどこかをダブルクリックするとプロットオプションダイアログが開き、タイトル、グリッドライン、線のスタイルを設定できます。(画像を表示)
- 軸をダブルクリックして、その軸のラベルを付けて設定します。(画像を表示)
- チャートのタイトルをダブルクリックするとチャートオプションダイアログが開き、チャートの名前を付けたり、現在カーソルが有効になっている場合、そのプロットに表示されるカーソル測定値を設定できます。(画像を表示)
- プロットの領域を拡大して調べるには、左クリックしてドラッグして新しいビューエリアを定義する矩形を描きます。ビューを元に戻すには、右クリックしてドキュメントに合わせるを選択します。(画像を表示)
- メニューからTools » Document Optionsを選択してドキュメントオプションダイアログを開き、色、さまざまな波形、チャート、プロット要素(データポイントを含む)の可視性を設定し、FFTの長さを定義できます。(画像を表示)
過渡過程の初期特性とソース出力の信号のイメージを使用して、プロットの操作方法を示します。
過渡過程の特性とソース出力の信号。
プロット上の信号のうちの1つを選択するには、凡例を左クリックします。もう一度クリックすると選択を解除します。
選択した信号を編集するためのコマンドセットが含まれたメニューを開くには、信号名を右クリックします。下記のように表示されます。
測定カーソル
X軸に沿って2つのカーソルを同時に設定し、移動させることができます。カーソルとプロットの交点の座標は、ウィンドウの下部に表示されます。測定の詳細もプロットの下に表示することができ、プロットを右クリックしてチャートオプションを選択して設定します。
カーソルを削除するには、右クリックでカーソルオフコマンドを使用します。
カーソルを使用して波形に対して様々な測定を行うことができます。2つのカーソルの現在の位置から計算された測定値を表示するために、Sim Data パネルを開きます。
既に表示されている信号を編集するには、右クリックメニューからEdit Waveコマンドを選択するか(または信号名をダブルクリックすると)、Edit Waveformダイアログが開きます。
「Edit Wave」コマンドを選択して、Edit Waveformダイアログを開きます。
数学的表現の定義
観測される波形を選択することを可能にするだけでなく、Edit Waveformダイアログを使用して数学的な表現を定義することができます。
式を作成するには、波形を選択して(クリックすると式フィールドに含まれます)、必要な関数を適用し、必要な式を構築するために波形を選択し続けます。名前フィールドを使用して、式に意味のある名前を付けます。さらに、表示される波形の単位と色を変更することができます。
プロット上のどこか(波形名以外)を右クリックすると、コマンドのメニューが表示され、波形を既存のプロットに追加(波形をプロットに追加)、追加のプロットを追加(プロットを追加)、プロットを削除(プロットを削除)、さまざまなオプションを設定し、プロットのビューを復元(ドキュメントにフィット)することができます。プロットの小さな領域にズームインして詳細を調べる場合は、このコマンドを使用してください。
新しいプロットの追加
新しいプロットはプロットウィザードを通じて追加されます。手順と結果は以下の画像に示されています。
新しいv(out)のプロットがチャートに追加されました。
デジタルプロットの操作
Altium Designerは、デジタルモデルを持つコンポーネントのピンに接続された回路のノード、つまりデジタルノードの操作をサポートしています。シミュレーションにデジタルノードの解析が含まれている場合、出力デジタル波形は別のデジタルプロットに表示されます。
信号をデジタル波形として出力するには、解析設定時に出力表現の追加ダイアログの波形ドロップダウンからデジタルを選択し、利用可能なデジタル波形を選択します。デジタル波形はd
で始まります。
デジタルプロットについての注意点:
- デジタルプロットにはY軸がありません。なぜなら、デジタル波形にはデジタルレベルのみが表示されるからです。また、デジタル波形とアナログ波形を単一のプロットで混在させることはできないことに注意してください。
- ブール関数はデジタル波形に適用することができます。結果として得られる波形もデジタルのままです、つまり、デジタルプロット上に表示されます。他の操作は結果として得られる波形をアナログ波形に変換します。
-
デジタル信号の未定義状態は、プロット上で二重線で示され、数値
X
で示されます。
SPICEネットリストとは何か、そしてどのように読むのか?
SPICEネットリストは、回路のテキスト表現です。必要な全てのコンポーネントとそのパラメータ、コンポーネントモデル、接続、および解析の種類を含める必要があります。シミュレーションエンジンによって処理されるのはSPICEネットリストです。回路図のグラフィカル表現は、シミュレーション時にユーザーの作業からネットリストを作成することを簡素化するために使用されます。回路図を設計する際にネットリストが自動的に作成されるため、手動で作成する必要がなく、プロセスを簡素化し、潜在的なエラーを減らすことができます。
コンポーネントと接続の仕様には、回路を記述するための特別な構文が必要です。この方法の複雑さにもかかわらず、それは利点を持っています。ネットリストから直接作業し、シミュレートすることができるだけでなく、回路図からもシミュレートできます。
現在の回路図からシミュレーションネットリストを生成するには、メニューからSimulate » Generate Netlistを選択します。新しい空のネットリストを作成するには、メニューからFile » New » Mixed-Signal Simulation » AdvancedSim Netlistコマンドを選択します。
内容を理解するために、以下に示されているネットリストの例を考えてみてください。これは、その下に示されている回路図と一致します:
- *の始まる行はコメントで、補助テキストとして使用されます
CC11 0 NetC11_2 100nF
はコンポーネントの説明で、以下のようになります:CC11
コンポーネントの指定0 NetC11_2
- コンポーネントのピンが接続されているネット、この例ではキャパシタの最初のピンがGND (0)
回路に、2番目のピンがNetC11_2
に接続されています100nF
- コンポーネントの値
VV6 NetC14_2 0 DC 0 PULSE(0 5 100n 10n 10n 400n 1u) AC 1mV 0
- 信号源の説明:VV6
- コンポーネントの指定NetC14_2 0
- コンポーネント接続ピンDC 0 / AC 1mV / 0
- 信号源のパラメータ: DC, AC, 位相PULSE(0 5 100n 10n 10n 400n 1u)
- 出力信号のパラメータ: 初期値、パルス値、時間遅延、立ち上がり時間、立ち下がり時間、パルス幅、周期
.PRINT =1 NetC13_1 NetC14_2
- プロットの形で信号を表示するコマンド- *選択された回路解析:
.TRAN 1 10u 0 1
- 選択された計算のタイプ(過渡計算)と計算パラメータ(開始時間、終了時間、ステップ)
- *モデルとサブサーキット:
.model PMOSFET_Level1 pmos (Level=1)
- 使用されるトランジスタモデルへのリンク
- .END - 文書の終わり
開いているネットリストから直接シミュレーションを実行するには、Simulate » Runを選択するか、F9のホットキーを押します。
ネットリストから直接シミュレーションを実行できます。
シミュレーションの結果は、以前に回路図とSimulation Dashboardパネルを使用して得られたものと同じです。
ネットリストから直接シミュレートした後の結果。
シミュレーションのトラブルシューティング
回路がシミュレートできない場合は、問題が回路にあるのか、シミュレーションのプロセスにあるのかを特定する必要があります。この参照セクションに含まれる情報に従って、提案されたポイントを一つずつ試してみてください。
シミュレーション中に時々、エラーや警告を報告するメッセージが表示されます。これらのメッセージはメッセージパネルにリストされています。
警告メッセージ - 警告メッセージはシミュレーションに致命的ではありません。一般的に、SPICEがシミュレーションを完了するために回路に加えた変更に関する情報を提供します。これには無効なパラメーターや欠落しているパラメーターなどが含まれます。
エラーメッセージ - エラーメッセージは、Mixed Simulatorが解決できなかった問題に関する情報を提供し、シミュレーションプロセスに致命的です。エラーメッセージは、シミュレーション結果を生成できなかったことを示しているため、回路を解析できるようにする前に修正する必要があります。
シミュレーション解析の失敗のトラブルシューティング
全てのシミュレーターに共通する課題の一つが収束です。具体的に、収束とは何を意味しているのでしょうか?ほとんどのシミュレーターと同様に、ミックスド・シミュレーターのSPICEエンジンは、回路を表す方程式を繰り返し解く反復プロセスを使用して、回路の静止状態の電圧と電流を見つけます。もし、これらの電圧と電流を見つけることができない(収束に失敗する)場合、回路の解析を行うことができません。
SPICEは、シミュレーションの各ステップで回路の動作点(直流電圧と電流)を決定するために、行列形式で表される同時線形方程式を使用します。回路は導電率の配列に還元され、これらが行列に配置されて方程式(G * V = I
)を形成します。回路に非線形要素が含まれる場合、SPICEは非線形性を考慮するために線形方程式の複数の反復を使用します。SPICEはノード電圧の初期推測を行い、次に回路内の導電率に基づいて枝電流を計算します。その後、SPICEは枝電流を使用してノード電圧を再計算し、このサイクルを繰り返します。このサイクルは、すべてのノード電圧と枝電流が指定された許容範囲内に収まる(収束する)まで続きます。
しかし、指定された反復回数内で電圧や電流が収束しない場合、SPICEはエラーメッセージ(特異行列
、Gminステッピング失敗
、ソースステッピング失敗
、または反復限界に達しました
など)を出力し、シミュレーションを中断します。SPICEは、各シミュレーションステップの結果を次のステップの初期推測値として使用します。過渡解析(つまり、時間がステップされている)を実行していて、指定されたタイムステップを使用して値を収束させることができない場合、タイムステップは自動的に減少し、サイクルが繰り返されます。タイムステップがあまりにも小さくなりすぎると、SPICEはタイムステップが小さすぎます
メッセージを表示し、シミュレーションを中断します。
一般的なシミュレーション収束トラブルシューティング
シミュレーション解析が失敗した場合、最も一般的な問題は回路が合理的な動作点に収束しないことです。収束問題を解決するために、以下の技術を使用してください。
収束トラブルシューティングステップ
- 収束問題が発生した場合、まずは全ての解析をオフにして動作点解析のみを行ってください。
- メッセージパネルを確認して、シミュレーションに関連するエラーや警告がないか確認してください。
- 回路が正しく配線されていることを確認してください。浮いたノードや余分な部品は許可されません。
- 回路にグラウンドノードがあり、回路内の各ノードがこのグラウンドにDC経路を持っていることを確認してください。ノードを隔離できるコンポーネントには、トランスやコンデンサが含まれます。電圧源はDCショート回路とみなされ、電流源はDCオープン回路とみなされます。
- シミュレーションパラメータを入力する際に、ゼロと文字Oを混同していないことを確認してください。
- コンポーネントの値やシミュレーションパラメータに適切なSPICE乗数が指定されていることを確認してください(1E+6の場合はMではなくMEG)。乗数は大文字小文字を区別しません。また、値と乗数の間にスペースを入れてはいけません。例えば、1.0uFであって、1.0 uFではありません。
- 全ての部品とソースが適切な値に設定されていることを確認してください。
- 任意の依存ソースのゲインが正しく設定されていることを確認してください。
- 一時的に直列のコンデンサや電流源を取り除いて、シミュレーションを再実行してください。
- 一時的に並列のインダクタや電圧源を取り除いて、シミュレーションを再実行してください。
- 高度な解析設定ダイアログの高度なタブ(Simulation Dashboardの解析設定&実行セクションでをクリック)で、
ITL1
パラメータの値を300
に増やしてください。これにより、動作点解析が諦める前により多くの反復を行うことができます。 - 高度な解析設定ダイアログの高度なタブで、
RSHUNT1
の値を設定してください。この抵抗値は各回路ノードとグラウンドの間に追加され、「特異行列」エラーなどの問題を修正するのに役立ちます。原則として、RSHUNT値は非常に高い抵抗値、例えば1e12に設定する必要があります。 - .NS(ノードセット)部品を追加してノード電圧を定義してください。ノード電圧の初期推測が大きく外れている場合、ノードセット部品を使用して、動作点解析の予備パスに使用される開始電圧を事前に定義することができます。各ノードセット部品に配置する初期電圧パラメータを設定してください。ノードセットは、シミュレーション汎用コンポーネントライブラリまたはシミュレーションソースライブラリから配置できます。ノードセット部品がシミュレーションソースライブラリから配置された場合、初期電圧パラメータはデフォルトでは表示されません。これを解決するには、コンポーネントを選択してPropertiesパネルにその設定を表示し、パネル内のシミュレーションモデルを選択し、シムモデルダイアログを開くためにボタンをクリックします。パラメータはダイアログの右側にリストされ、コンポーネントに表示チェックボックスを有効にしてPropertiesパネルに表示させることができます。それがPropertiesパネルに表示されない場合は、もっと見るリンクをクリックしてすべてのパラメータを表示し、アイコンをクリックして常に表示させてください。
- ノードセット部品が収束に役立たない場合は、.IC部品を配置して初期条件を定義してみてください。この場合、ノード電圧は動作点解析中に指定された値で保持され、その後の過渡解析中に解放されます。初期条件部品は、ノードセット部品と同じライブラリから配置でき、初期電圧パラメータは同じ方法で設定する必要があります。
- Simulation Dashboardの解析設定&実行セクションの過渡設定で初期条件を使用オプションを有効にしてください。このオプションは.IC部品(またはコンポーネントのICパラメータ)と連動して動作します。このオプションを設定することで、動作点解析は実行されず、指定された電圧が過渡解析の初期条件として使用されます。
- モデルの直列抵抗パラメータを指定し、
GMIN
オプション(高度な解析設定ダイアログの高度なタブ)を10
倍に増やしてください。 - 特にダイオードなどの半導体部品の初期条件(開始条件)を
OFF
として指定してください。これにより、最初の反復でダイオード(または半導体デバイス)をスキップすることで数値収束の問題を解決し、収束を改善することができます。DCスイープ解析のトラブルシューティング
DCスイープ解析で問題が発生した場合、まず上記の収束トラブルシューティングの手順を試してください。それでも問題が解決しない場合は、以下を試してみてください:
- Simulation Dashboardの解析設定&実行セクションでプライマリーステップパラメータの値を変更します。部品モデルに不連続性(モデルの線形領域と飽和領域の間など)が存在する場合、ステップサイズを大きくすることで、シミュレーションが不連続性を越えてステップすることができるかもしれません。一方、ステップを小さくすることで、急速な電圧遷移の不連続性を解決できるようになります。
- DCスイープ解析を使用しないでください。ヒステリシスなどの問題はDC解析では解決できない場合があります。そのような場合は、適切な電源の値をランプアップするトランジェント解析を使用する方が効果的です。
過渡解析のトラブルシューティング
過渡解析で問題が発生した場合、まず上記の収束トラブルシューティングの手順を試してください。それでも問題が解決しない場合は、以下を試してください。
高度な設定タブの高度な解析設定ダイアログで(Simulation Dashboardの解析設定 & 実行セクションでをクリック):
RELTOL
パラメータを0.01
に設定します。デフォルトの0.001
(0.1%の精度)から許容値を上げることで、解に収束するために必要な反復回数が少なくなり、シミュレーションがはるかに迅速に完了します。ITL4
パラメータの値を100
に増やします。これにより、トランジェント解析が各タイムステップでより多くの反復を行う前に諦めることができます。この値を上げることで、timestep too small
エラーを排除し、収束とシミュレーション速度の両方を改善することができます。- 電流/電圧レベルが許容する場合は、
ABSTOL
およびVNTOL
の値を増やして精度を下げます。特定の回路では、1uVや1pAまでの解像度が必要ないかもしれません。しかし、回路の最低予想電圧または電流レベルの少なくとも1桁下のオーダーは許容するべきです。 - 積分方法をGearメソッドのいずれかに変更します。Gear積分はより長いシミュレーション時間を必要としますが、一般に台形法よりも安定しています。Gear積分は、振動する回路やフィードバックパスを持つ回路に特に有用かもしれません。
試してみると良いこと:
- 回路を現実的にモデル化する。特に漂遊/接合容量のような実際の寄生要素を追加する。ダイオード周りにRCスナバを使用する。RFや電力部品については、部品モデルをサブサーキットに置き換える。
- 回路内の任意の周期的パルス源の立ち上がり/立ち下がり時間を増やす。最高のパルスジェネレーターでさえ、瞬時に切り替えることはできません。