回路シミュレーションを使うと、製造に踏み切る前にアイデアを検討できます。コンセプトを検証でき、回路を迅速かつ正確に調整できます。また回路シミュレーションでは、作業台上では物理的に不可能な場合がある測定を行う機会も得られます。
電子機器の機能をシミュレーションする主な目的は、設計の性能を表現し、解析することです。シミュレーションが提供する機能なしに、最も単純なデバイスでさえ設計することは想像できません。シミュレーションソフトウェアを使用すれば、設計中のデバイスのあらゆる動作モードを、損傷の可能性なしに解析でき、実環境では測定が難しいパラメータや特性を特定でき、さらに高価な測定機器が必要になり得る測定も実行できます。
SPICE(Simulation Program with Integrated Circuit Emphasis)はオープンソースのソフトウェアパッケージとして開発され、その結果、広く普及し、継続的に発展してきました。Altium Designer の Mixed Simulation(MixedSim)テクノロジーは、SPICE アルゴリズムに基づく改良コアを使用しており、アナログ、デジタル、またはアナログ/デジタル混在デバイスの電気回路をシミュレーションするよう設計されています。これは真のミックスドシグナル・シミュレータであり、アナログとデジタルの両方のデバイスを含む回路を解析できます。SPICE3f5 と完全互換であると同時に、PSpice® および LTspice® の各種デバイスモデルもサポートします。
Altium Designer でシミュレーションをすぐに始めるには、Shared Documents フォルダ(C:\Users\Public\Documents\Altium\AD<Solution/Version>\Examples\Simulation Quick Start 既定のインストールの場合)にあるシミュレーション例のセットを利用できます。各例では、シミュレータの設定方法や結果の解釈に関する情報を含め、シミュレーションの実際のユースケースを示しています。
Altium Designer は、OrCAD®、LTspice 、KiCad® など、さまざまな形式の回路図をインポートできます。これらは Import Wizard を使用してインポートされ、各ファイルタイプは Altium Designer にインストールされた拡張機能によって処理されます。詳細は Interfacing with Other Design Tools を参照してください。
Altium Designer におけるシミュレーションプロセスは、次の段階に分けられます。
-
シミュレーションに向けたプロジェクトの検証と準備 – シミュレーション対象の設計は、適切なシミュレーション結果を得られるように検証し、十分に準備する必要があります。これには、シミュレーションモデルを持つコンポーネントの配置、信号源の設定、プローブを使用した回路内の注目点(ポイント・オブ・インタレスト)の定義が含まれます。検証プロセスでは、解析対象の回路図に問題がある場合にフィードバックが得られます。
-
シミュレーションの設定と実行 – シミュレーションは回路図から直接実行でき、シミュレーション波形を解析しながら再実行することも可能です。必要な解析タイプとプロットする出力式を素早く設定し、シミュレーションを実行します。
-
シミュレーション結果の取り扱い – シミュレーション結果は SimData エディタに表示されます。ここは機能が充実した環境で、シミュレーション結果を迅速かつ効率的に解析でき、設計の動作を評価し、デバッグし、最終的に自信を持って設計の動作を確認できるようになります。
Mixed Simulation – 例ガイド
以下の折りたたみセクションでは、フィルタ回路のシミュレーション可能な回路図を作成し、それを用いていくつかの回路シミュレーション解析を実行する手順を説明します。
Creating a New Design Project
-
メインメニューから File » New » Project コマンドを選択します。
-
Create Project ダイアログが開きます:
-
Locations リストで、使用している Workspace のエントリ(または Workspace を使用していない場合は Local Projects エントリ)を選択します。
-
Project Type リストで、PCB タイプの下にある <Empty> エントリを選択します。
-
Project Name フィールドに
Filter を入力します。
-
必要に応じてダイアログ右側の他のオプション(例: 保存フォルダ)を設定し、Create ボタンをクリックします。
新しいプロジェクトが作成され、プロジェクトのエントリが Projects パネルに表示されます。
-
Projects パネルでプロジェクトのエントリを右クリックし、コンテキストメニューから Add New to Project » Schematic コマンドを選択します。
-
新しい回路図ドキュメントの空白シートが表示されます。Projects パネルでそのエントリを右クリックし、コンテキストメニューから Save As コマンドを選択して、ハードドライブに保存します。Save As ダイアログが開き、プロジェクトファイルと同じ場所にドキュメントを保存する準備が整います。File name フィールドに
Filter と入力し、Save をクリックします(拡張子を入力する必要はありません。自動的に追加されます)。
-
プロジェクトに新しいドキュメントを追加したため、プロジェクトファイルが変更されています。Projects パネルでプロジェクトのエントリを右クリックし、Save を選択してプロジェクトの変更を保存します。
Capturing the Circuit
シミュレーション対象のフィルタ回路を以下に示します。このセクションでは、必要なコンポーネントを見つけ、コンポーネントのプロパティを設定し、その後回路図を配線します。

フィルタ回路の回路図
シミュレーション対応コンポーネントの配置
-
回路図用のコンポーネントは、既定で Altium Designer のインストールに含まれる Simulation Generic Components ライブラリから取得します:
-
デザインスペース右下の Panels ボタンをクリックし、表示されるメニューから Components を選択して Components パネルを開きます。
-
パネル上部のドロップダウン(パネルがコンパクトモードの場合)または、パネル左上の
ボタンをクリックしてアクセスする Categories ペイン(パネルが通常モードの場合)から、Simulation Generic Components ライブラリを選択します。ライブラリが提供するコンポーネントの一覧がパネルに表示されます。
-
オペアンプを配置します:
-
コンポーネント一覧で OpAmp with power terminals コンポーネントを見つけ、そのエントリを右クリックして、メインメニューから Place コマンドを選択します。コンポーネントがデザインスペース内でカーソルに追従して表示されますが、まだ配置しないでください。
必要なコンポーネントは、Component パネルの Search フィールドを使って素早く検索できます。
-
オペアンプがカーソル上にある状態で Tab キーを押すと Properties パネルが開き、回路図に配置する前にプロパティを編集できます。
-
Properties パネルの General 領域で、Designator を U1 に変更します。
-
デザインスペースの Pause ボタン(
)をクリックして、コンポーネント配置に戻ります。
-
デザインスペースをクリックして、オペアンプのインスタンスを配置します。
-
さらにコンポーネントのインスタンスを配置するため、コンポーネント配置モードのままになります。この回路ではオペアンプは 1 つだけ必要なので、右クリックしてコンポーネント配置モードを終了します。
-
抵抗を配置します:
-
Components パネルで Resistor コンポーネントを見つけ、そのエントリを右クリックして、メインメニューから Place コマンドを選択します。
-
抵抗がカーソル上にある状態で Tab キーを押します。
-
開いた Properties パネルで、コンポーネントのプロパティを次のように変更します:
-
General 領域で、Designator を
R1 に変更します。
-
Parameters 領域で、
Value パラメータの Value を 100K に変更します。
-
デザインスペースの Pause ボタン(
)をクリックして、コンポーネント配置に戻ります。
-
デザインスペースをクリックして、抵抗のインスタンスを配置します。
-
カーソルを移動し、デザインスペースをクリックして、同じ値の抵抗をもう 1 つ配置します。新しいインスタンスのデジグネータは自動的にインクリメントされます(R2)。
-
右クリックしてコンポーネント配置モードを終了します。
-
コンデンサを配置します:
-
ComponentsパネルでCapacitor コンポーネントを見つけ、そのエントリを右クリックして、メインメニューからPlaceコマンドを選択します。
-
コンデンサがカーソルに追従している状態で、Tab キーを押します。
-
開いたPropertiesパネルで、コンポーネントのプロパティを次のように変更します。
-
General領域で、Designatorを
C1に変更します。
-
Parameters領域で、
ValueパラメータのValueを112pに変更します。
-
設計スペース内の一時停止ボタン(
)をクリックして、コンポーネント配置に戻ります。
-
設計スペースをクリックして、コンデンサのインスタンスを1つ配置します。
-
コンデンサが引き続きカーソルに追従しており、別のインスタンスを配置できる状態のまま、Tab キーを押します。
-
PropertiesパネルのParameters領域で、ValueパラメータのValueを56pに変更します。
-
設計スペース内の一時停止ボタン(
)をクリックして、コンポーネント配置に戻ります。
-
Spacebar を押して、正しい向きになるまで90°刻みでコンポーネントを回転させます。
-
カーソルを移動し、設計スペースをクリックしてコンデンサの別のインスタンスを配置します。新しいインスタンスのデジグネータは自動的にインクリメントされます(C2)。
-
右クリックしてコンポーネント配置モードを終了します。
電圧源の追加
シミュレーション時に回路へ電源を供給するには、電圧源が必要です。
-
VDD電圧源を配置します。
-
メインメニューからSimulate » Place Sources » Voltage Sourceコマンドを選択します。
-
電圧源がカーソルに追従している状態で、Tab キーを押します。
-
開いたPropertiesパネルで、ソースのプロパティを次のように変更します。
-
設計スペース内の一時停止ボタン(
)をクリックして、電圧源配置に戻ります。
-
設計スペースをクリックして、電圧源のインスタンスを1つ配置します。
-
VSS電圧源を配置します。
-
電圧源が引き続きカーソルに追従しており、別のインスタンスを配置できる状態のまま、Tab キーを押します。
-
開いたPropertiesパネルで、ソースのプロパティを次のように変更します。
-
設計スペース内の一時停止ボタン(
)をクリックして、電圧源配置に戻ります。
-
カーソルを移動し、設計スペースをクリックして電圧源の別のインスタンスを配置します。
-
正弦波電圧源を配置します。
-
電圧源が引き続きカーソルに追従しており、別のインスタンスを配置できる状態のまま、Tabキーを押します。
-
開いたPropertiesパネルで、ソースのプロパティを次のように変更します。
-
設計スペース内の一時停止ボタン(
)をクリックして、電圧源配置に戻ります。
-
カーソルを移動し、設計スペースをクリックして電圧源の別のインスタンスを配置します。
-
右クリックしてコンポーネント配置モードを終了します。
回路の配線
配線とは、回路内の各コンポーネント間の接続(コネクティビティ)を作成するプロセスです。このセクションでは、以下の画像に従って回路を配線します。
-
メインメニューからPlace » Wire コマンドを選択します。
-
カーソルをオペアンプの「+」ピンのホットスポット上に合わせます。カーソル位置に赤い接続マーカー(赤い十字)が表示されます。これは、カーソルがコンポーネント上の有効な電気的接続点にあることを示します。
-
クリックして配線の開始点を固定します。
-
カーソルが赤い接続マーカーに変わるまで、
R2の最も近いピンのホットスポット上にカーソルを合わせます。
-
クリックしてそのピンにワイヤを接続します。カーソルはそのワイヤから解放されます。
-
以下の動画のとおりに、回路の残りも配線します。
-
すべてのワイヤの配置が完了したら、右クリックして配置モードを終了します。
-
設計スペースをクリックして、ワイヤ形状を定義する一連の頂点(折れ点)を固定します。
-
ワイヤのコーナーが意図しない方向に曲がる場合は、Spacebar を押してコーナー方向を切り替えます。
電源ポートの追加
-
GND電源ポートを配置します。
-
メインメニューからPlace » Power Port コマンドを選択します。
-
電源ポートがカーソルに追従している状態で、Tab キーを押します。
-
PropertiesパネルのProperties領域で、Name = GNDおよびStyle = Power Groundに設定します。
-
設計スペース内の一時停止ボタン(
)をクリックして、電源ポート配置に戻ります。
-
以下の画像のとおり、電圧源コンポーネントの各「-」ピンに1つずつ、合計3つの電源ポートを配置します。
必要に応じて、Spacebarを押して追従中の電源ポートを回転させます。
-
VDD電源ポートを配置します。
-
電源ポートがカーソルに追従している状態で、Tab キーを押し、PropertiesパネルでName =
VDDおよびStyle = Barに設定します。
-
設計スペース内の一時停止ボタン(
)をクリックして、電源ポート配置に戻ります。
-
以下の画像のとおり、電源ポートを2つ配置します。
-
VSS電源ポートを配置します。
-
電源ポートがカーソルに追従している状態で、Tab キーを押し、PropertiesパネルでName =
VSS およびStyle = Bar に設定します。
-
設計スペース内の一時停止ボタン(
)をクリックして、電源ポート配置に戻ります。
-
以下の画像のとおり、電源ポートを3つ配置します。
-
右クリックして配置モードを終了します。
ネットラベルの追加
-
入力ネット用のネットラベルを配置します。
-
メインメニューからPlace » Net Label コマンドを選択します。
-
電源ポートがカーソルに追従している状態で、Tab キーを押し、Net Name = INに設定します。
-
設計スペース内の一時停止ボタン(
)をクリックして、ネットラベル配置に戻ります。
-
VINとR1の間のワイヤ上をクリックしてネットラベルを配置します。ネットラベルの左下隅がホットスポットである点に注意してください。この点がワイヤに接触している必要があります。
-
出力ネット用のネットラベルを配置します。
-
ネットラベルがカーソルに追従している状態で、Tab キーを押し、Net Name =
OUTに設定します。
-
オペアンプの出力ピンから出ているワイヤ上をクリックしてネットラベルを配置します。
-
右クリックして配置モードを終了します。
-
Projectsパネルで回路図ドキュメントのエントリを右クリックし、コンテキストメニューからSaveを選択して保存します。
Preparing the Project for Simulation
Altium Designerでは、回路図から直接回路シミュレーションを実行できます。シミュレーションはSimulation Dashboard パネルから設定および実行します。
-
設計スペース右下のPanelsボタンをクリックし、表示されるメニューからSimulation Dashboardを選択して、Simulation Dashboard パネルを開きます。
-
パネルのVerification折りたたみ領域を展開し、Start Verificationボタンをクリックします。領域内のElectrical Rule CheckおよびSimulation Modelsの両エントリに、緑色のチェックが表示されるはずです。
-
違反が検出された場合は、続行するために違反条件を見つけて修正してください。
-
パネルのPreparation折りたたみ領域を展開し、回路図に追加した3つの電圧源がすべてSimulation Sources リストに表示され、有効になっていることを確認します。
Configuring the Analyses
過渡解析の設定
過渡解析は、通常オシロスコープに表示されるような出力を生成し、ユーザーが指定した時間区間にわたって、過渡出力変数(電圧、電流、または電力)を時間の関数として計算します。
-
Simulation Dashboard パネルのAnalysis Setup & Run 折りたたみ領域と、その中のTransient領域を展開します。
-
Intervalオプションが選択されている(
)ことを確認し、次の値を入力します:
-
From =
0
-
To =
60u
-
Step =
100n
-
入力信号の新しい式を追加します。この式は、シミュレーション結果ドキュメントに波形として出力されます:
-
Output Expressions見出しの下にあるAddコントロールをクリックし、シミュレーション結果ドキュメントに波形として出力する新しい式のフィールドを追加します。
-
追加したフィールドの右側にある
ボタンをクリックしてAdd Output Expressionダイアログを開き、出力式を設定します。
-
Add Output Expressionダイアログで、Waveform 領域のドロップダウンからNode Voltagesを選択し、下のリストでv(IN)エントリをクリックします。
v(IN)式がダイアログのExpression Yフィールドに追加されます。
-
Add Output ExpressionダイアログでCreateをクリックします。式がSimulation Dashboard パネルに表示されます。
-
出力信号の出力式を追加します:
-
Simulation DashboardパネルのAddコントロールをクリックして別の出力式用フィールドを追加し、追加したフィールドの右側にある
ボタンをクリックします。
-
Add Output Expressionダイアログで、Waveform 領域のドロップダウンからNode Voltagesを選択し、下のリストでv(OUT)エントリをクリックします。
-
Plot NumberドロップダウンでNew Plotを選択すると、シミュレーション結果ドキュメント内の別プロットにこの式の波形が描画されます。選択後、ドロップダウンには2が表示されます。
-
Add Output ExpressionダイアログでCreateをクリックし、式をSimulation Dashboard パネルに追加します。
-
この時点で、過渡解析は設定済みです。オプションは以下に示すようにSimulation Dashboard パネルに表示されるはずです。
ACスイープ解析の設定
ACスイープ解析は回路の周波数応答を示す出力を生成し、小信号AC出力変数を周波数の関数として計算します。AC小信号解析で望まれる出力は通常、伝達関数(例:電圧利得)です。
-
Simulation Dashboardパネルで、Analysis Setup & Run 折りたたみ領域内のAC Sweep領域を展開します。
-
スイープTypeとしてDecadeを選択し、次の値を入力します:
-
Start Frequency =
100m
-
End Frequency =
1meg
-
Points/Dec =
100
-
入力信号のデシベル(dB)での振幅の出力式を追加します:
-
Output Expressions見出しの下にあるAddコントロールをクリックして新しい式のフィールドを追加し、追加したフィールドの右側にある
ボタンをクリックします。
-
Add Output Expressionダイアログで、Waveform 領域のドロップダウンからNode Voltagesを選択し、下のリストでv(IN)エントリをクリックします。
-
Add Output ExpressionダイアログのComplex FunctionsドロップダウンからMagnitude (dB)を選択し、Createをクリックします。
-
出力信号のデシベル(dB)での振幅の出力式を追加します:
-
Output Expressions見出しの下にあるAddコントロールをクリックして新しい式のフィールドを追加し、追加したフィールドの右側にある
ボタンをクリックします。
-
Add Output Expressionダイアログで、Waveform 領域のドロップダウンからNode Voltagesを選択し、下のリストでv(OUT)エントリをクリックします。
-
Add Output ExpressionダイアログのComplex FunctionsドロップダウンからMagnitude (dB)を選択し、Createをクリックします。
-
入力信号の位相(度)の出力式を追加します:
-
Simulation DashboardパネルのAddコントロールをクリックして別の出力式用フィールドを追加し、追加したフィールドの右側にある
ボタンをクリックします。
-
Add Output Expressionダイアログで、Waveform 領域のドロップダウンからNode Voltagesを選択し、下のリストでv(IN)エントリをクリックします。
-
Add Output ExpressionダイアログのComplex FunctionsドロップダウンからPhase (Deg) を選択します。
-
Plot NumberドロップダウンでNew Plotを選択し、Add Output ExpressionダイアログでCreateをクリックします。
-
出力信号の位相(度)の出力式を追加します:
-
Simulation DashboardパネルのAddコントロールをクリックして別の出力式用フィールドを追加し、追加したフィールドの右側にある
ボタンをクリックします。
-
Add Output Expressionダイアログで、Waveform 領域のドロップダウンからNode Voltagesを選択し、下のリストでv(OUT)エントリをクリックします。
-
Add Output ExpressionダイアログのComplex FunctionsドロップダウンからPhase (Deg) を選択します。
-
この時点で、ACスイープ解析は設定済みです。オプションは以下に示すようにSimulation Dashboard パネルに表示されるはずです。
-
シミュレーション設定ファイル(project_sim_config.simcfg)が、Projectsパネルのプロジェクト構造内にあるSettings\Simulation Documentsフォルダに表示されます。Projects パネルでそのエントリを右クリックし、コンテキストメニューからSave As コマンドを選択してドキュメントを保存します。
Save As ダイアログが開き、ハードドライブ上のプロジェクトフォルダにドキュメントを保存できる状態になります。Save をクリックして、既定の場所に既定の名前でドキュメントを保存します。
-
Projects パネルでプロジェクトファイルのエントリを右クリックし、コンテキストメニューからSave コマンドを選択してプロジェクトファイルを保存します。
Running the Analyses and Exploring the Results
-
Simulation Dashboard パネルのTransient領域ヘッダー右側にあるRun ボタンをクリックして、過渡解析を実行します。
-
シミュレーションが成功すると、Messagesパネルにシミュレーションが正常に完了した旨が表示されます。このパネルは閉じることができます。
-
SimDataエディタで、Filter.sdf という名前の新しいシミュレーション結果ドキュメントがドキュメントタブとして自動的に開きます。これには単一のTransient Analysisチャート(ドキュメント下部のタブで示される)が含まれ、2つのプロットがあり、それぞれに単一の波形(それぞれv(IN)とv(OUT))が含まれます。
-
デザインスペース上部のタブをクリックして、回路図ドキュメントに切り替えます。
-
Simulation Dashboard パネルのAC Sweep 領域ヘッダー右側にあるRun ボタンをクリックして、ACスイープ解析を実行します。
-
Messagesパネルを閉じます。
-
単一のAC Analysisチャートを含むシミュレーション結果ドキュメントが開きます。チャートには2つのプロットが含まれ、各プロットには2つの波形があります。
-
測定カーソルを使用して3dBポイントを特定します:
-
dB(v(OUT))波形を右クリックし、Cursor Aを選択します 。
-
マーカーをドラッグして、ローパス部にカーソルAを配置します(ローパス領域内であれば位置は重要ではありません)。
-
再度
dB(v(OUT))波形を右クリックし、Cursor Bを選択します 。
-
Sim Data パネルは、カーソル位置の特定を補助するために使用します(パネルが表示されていない場合は、デザインスペース右下のPanelsボタンをクリックし、表示されるメニューからSim Data を選択して表示します)。
-
Sim Data パネルのMeasurement Cursors 領域にあるB-A Measurement 値を確認しながら、カーソルBをクリックしてドラッグし、Y(ゲイン)値が-3になるようにします。
-
Wave Name BのX結果が約20kであることが分かり、フィルタ回路の3dB点が20kHzであることを示しています。
-
カーソルをクリアするには、各カーソルマーカーを右クリックしてCursor Offを選択します 。
-
ドキュメントのフィルタリングをクリアするには、デザインスペース右下のClearボタンをクリックします。
-
シミュレーション結果ドキュメント(Filter.sdf)は、Projectsパネルのプロジェクト構造内にあるGenerated\Simulation Documentsフォルダに表示されます。ドキュメントを保存するには、Projects パネルでその項目を右クリックし、コンテキストメニューからSave As コマンドを選択します。
Save As ダイアログが開き、ハードドライブ上のプロジェクトフォルダ内にあるSimulationサブフォルダへドキュメントを保存できる状態になります。Save をクリックして、既定の場所に既定の名前でドキュメントを保存します。
-
デザインスペース上部のタブをクリックして、回路図ドキュメントに切り替えます。
-
Simulation Dashboardパネルで、Results 折りたたみ可能な領域を展開します。この領域には、実行したシミュレーションの実行履歴(この例ではTransient AnalysisおよびAC Analysis)の一覧が含まれます。
-
以前に実行した過渡解析の結果を表示するには、Transient Analysis項目の右側にある
ボタンをクリックし、Show Resultsを選択します。
シミュレーション結果ドキュメントが開き、過渡解析の結果が表示されます。
-
変更したプロジェクトドキュメントおよびプロジェクト自体を保存するには、Projects パネルでそれぞれの項目を右クリックし、コンテキストメニューからSave コマンドを選択します。
-
接続済みWorkspace内にプロジェクトを作成した場合は、Projects パネルでプロジェクト項目を右クリックし、コンテキストメニューからSave to Server コマンドを選択してから、開いたSave to Server ダイアログでOK をクリックします。