CAD設計論テキスト
電子工学科
江口
啓
はじめに
CADとは、Computer Aided Design の略称です。諸君、熊本電波高専の学生は、本科
第一学年時に既に、機械設計に関するCADツールの使い方を学習してきたことでしょう。
本専攻科の授業においては、コンピュータを用いた回路設計の方法について学んでいきま
す。ご存知のとおり、電子回路はディジタル回路とアナログ回路の2つに大別することが
できます。回路設計用ツールもディジタル回路設計用とアナログ回路設計用が存在します。
ディジタル回路設計用CADツールの代表的なものとしては、Verilog-HDL(Hardware
Description Language)
、VHDL といったものが挙げられます。これらのCADは、C 言語
や Pascal に似たプログラミング言語を用いることにより、ディジタル回路を設計すること
ができます。一方、アナログ回路設計用CADツールの代表的なものとしては、 SPICE
(Simulation Program with Integrated Circuit
Emphasis)が挙げられます。SPICE
は、カリフォルニア大学バークレー校で開発された回路シミュレーションプログラムで、
事実上の世界標準のアナログ回路解析ツールとなっています。SPICE を用いることの利点は、
実際のハードウェアに触れることなく、回路設計を行うことができるという点です。また、
設計終了後のデザインの検査を行うことができ、設計した回路が実際の IC になった場合に
正常動作するか、あるいは IC の歩留まりはどうなるかといったことまで検討することがで
きます。この SPICE には、HSPICE、PSPICE、SPICE2 など、様々な種類がありますが、本講
義においては、無償で利用できる WinSPICE を利用した回路解析について学んで行きます。
2
(1)SPICE の特徴
SPICE は汎用の電子回路シミュレータとして、直流解析、過渡解析、交流解析という基本
な解析機能を持っています。集積回路で利用されるほとんどの素子は組み込みモデルとし
て用意されており、モデルパラメータを最適化することで、高精度の解析を行うことがで
きます。SPICE3 には、抵抗、容量、コイル、トランス、電圧源、電流源、損失のある分布
定数線路、スイッチ、均一分布の RC 線路の他、ダイオード、BJT、JFET、MESFET、
MOSFET の能動素子がモデルとして組み込まれています。BJT モデルは Gummel、 Poon
の電荷形モデルを基本モデルとし、Ebers-Moll モデルにもなるようになっています。いず
れの場合でも、ベース領域の電荷蓄積効果、オーミック抵抗、電流依存のある出力コンダ
クタンスがモデル化されています。ダイオードは接合形のほかショットキーバリア形が使
えます。JFET は Shichman、Hodges の FET モデルを利用しています。MOSFET モデル
は 6 種類のモデルを使い分けることができます。レベル 1 は最も簡単な 1 次元解析による
モデルです。レベル 2 は 2 次元解析によるモデルです。レベル 3 は経験パラメータを一部
含むモデルです。レベル 4 とレベル 5 はそれぞれ BSIM1(Berkeley Short-channel IGFET
Model)、BSIM2 モデルです。レベル 2、レベル 3、レベル 4 にはチャネル長変調効果、弱
反転領域、キャリアの速度飽和、微細サイズ効果、容量電荷モデルが組み込まれています。
SPICE を用いた回路解析の流れは、次のようになります。
・サーキットファイル(ネットリスト)を作成
設計した回路に用いる素子のモデルパラメータを指定
回路のノード番号を指定
・シミュレーション
・シミュレーション結果の検討
(2) サーキットファイル作成
(2.1) ネットリストの構成
SPICE を用いて回路解析を行うためには、プログラムのソースに対応する“サーキットファ
イル(ネットリスト)
”と呼ばれるファイルを作成する必要があります。ここでは、SPICE
の入力となるサーキットファイルの記述に必要な事項を説明します。
まず、サーキットファイルを作成するにあたっては、どのエディタを使用してもかまいま
せんが、作成するファイルの拡張子を“.cir”とします。サーキットファイル“[ファイル
名].cir”内のネットリストの構成は、次のようになっています。
3
・タイトル行
・素子行
・ドット行
ネットリストにおいては、第 1 行目には表題(タイトル)を記述すると決められています。
2 番目の素子行には、抵抗、容量、コイル、トランジスタ、ダイオードなどの値や接続端子
名(ノード番号)などを記述します。各記述は基本的には一行で書きますが、“+”を使う
ことによって複数の行に分けることができます。
具体的には、次のようになります。
(この例においては、グランド-ノード番号①に接続さ
れているパルス電圧源を表現しています。なお、ノード番号は各ユーザーで任意に指定で
きます。
)
Vinput 1 0 PULSE(0.0V 5.0V 0.0us 1.0ns 1.0ns 0.498us 1.0us)
記述方法には決まりがあり、素子名、接続端子名、素子値などを順に記述します。また、
素子名にも約束があり、例えば M で始まる素子は MOSFET ときめられています。(次節で紹
介します。
)なお、ネットリスト内では大文字と小文字の区別をしませんので、素子名等は
どちらで記述してもかまいません。3番目のドット行は、解析の種類の指定、出力の指定
などを記述します。ネットリスト記述の最終行は、必ず次のようにする必要があります。
.end
なお、ネットリストの各行は、行の先頭文字が*であるとコメント行になります。
次のネットリストは直列に接続された3Ωと1Ωとの抵抗の中間接点の電圧を求める
プログラム例です。各命令の詳細については後述しますので、手始めにシミュレータ上で
動作を確認してみましょう。
*Resistor Divider Circuit
Vin
1 0 0V
R1
1 2 3
R2
2 0 1
.DC
Vin 0V 5V 0.1V
.print DC V(2)
.end
4
(2.2)素子モデル
設計した回路に用いる素子はモデルパラメータにより、その特性を指定することができま
す。素子モデルは、
“.model で始まる行”で指定できます。
.MODEL MNAME TYPE(PNAME1=PVAL1 PNAME2=PVAL2 ... )
例).MODEL MOD1 NPN (BF=50 IS=1E-13 VBF=50)
MNAME は各素子で定義したモデル名、TYPE はそのモデルの型、PNAME はモデルパラメータ名、
PVAL はその値です。具体例においては、NPN 形のバイポーラトランジスタをモデル名“MOD1”
で定義しています。
(モデル名は、各ユーザーで任意に指定できます。
)SPICE は内部に組み
込まれている素子モデルを用いて解析を進めるため、モデルの型は以下の中から選択する
必要があります。
型名称
一般名称
R
半導体抵抗モデル
C
半導体容量モデル
SW
電圧制御スイッチ
CSW
電流制御スイッチ
URC
均一分布 RC モデル
LTRA
損失のある分布定数線路
D
ダイオードモデル
NPN
NPN BJT モデル
PNP
PNP BJT モデル
NJF
N-channel JFET モデル
PJF
P-channel JFET モデル
NMOS
N-channel MOSFET モデル
PMOS
P-channel MOSFET モデル
NMF
N-channel MESFET モデル
PMF
P-channel MESFET モデル
.MODEL <名前> <タイプ名> ([<パラメータ名>=<値> [許容誤差指定]])
5
例).MODEL Q1 NPN (IS=1e-8 BF=25)
.MODEL Q1 PNP (IS=1e-8 BF=25 DEV 0.5% LOT 10%)
.MODEL ステートメントは、回路中のデバイスが参照するためのデバイスパラメータを定義
するものです。<タイプ名>はデバイスの種類を表すもので、NMOS,PMOS,NPN,PNP,D などがあ
ります。許容誤差指定においては、DEV と LOT により、許容誤差を指定します。LOT が
指定されたときには同じモデルを参照しているすべてのデバイスについて、同じ値のモデ
ルパラメータを用います。DEV が指定された場合には、個々のデバイスについて独立した
モデルパラメータ値を使用します。
(2.3) スケールファクター
プログラムにおける数値表現のように、SPICE にもスケールファクターが用意されています。
Scale
Symbol
Name
10-15
10-12
F
femto-
P
pico-
10-9
10-6
N
nano-
U
micro-
25.4*10-6
10-3
MIL
M
milli-
103
106
K
kilo-
MEG
mega-
109
1012
G
giga-
T
tera-
具体的には、
“1000V”の電圧値は、次のように記述することができます。
1000V、 1kV、
1000.0V
1000
1k
1000.0
etc.
上記は全て同じ値を意味します。
(電圧、電流などの単位は省略可能です。)サーキットフ
ァイル作成の際には次のことに注意しなければなりません。
注意1:
ノード名の 0 は特別に接地電位を表します。すべてのノード電位はこの接地電位を基準に
しています。従って 0 のない回路を解析することはできません。ノード名は数字以外の文
6
字でも良いことになっています。
注意2:
電圧源のループ、インダクターのループ、電流源のカットセット(ある端子に電流源しか
つながれていない)
、容量のカットセットを含む回路は解析できません。(トポロジーチェ
ックにより NOGO となります。
)
注意3:
すべての端子は接地端から DC パスをもっていなければなりません。
注意4:
すべての端子は少なくとも2つの素子につながっていなければなりません。
(ただし終端が
開放伝送線路ではこの限りではありません。
(2.4)サブサーキット
SPICE には、プログラム言語におけるサブルーチンに相当するサブサーキットと呼ばれる機
能があります。同一の回路を継続接続する時は、このサブサーキットの書式を利用するこ
とができます。サブサーキットを定義するには、
“.SUBCKT 行”、
“.ENDS 行”を使います。
サブサーキットで定義した回路(もしくは素子)を呼び出すには、X で始まる素子行を使い
ます。
(2.4.1)サブサーキットの記述
サブサーキットの定義は、次のように行います。
.SUBCKT subnam N1 <N2 N3 ...>
サブサーキット本体
.ENDS <SUBNAM>
例).SUBCKT MIRROR 2 3
M1
2 2 0
0 NM W=6u
L=5u
M2
3 2 0
0 NM W=6u
L=5u
.ENDS MIRROR
ここで、“.SUBCKT”はサブサーキット定義の始まりを表す行です。また、“.ENDS”はサブ
サーキット定義の終了を表します。SUBNAM はサブサーキット名、N1, N2, ... は外部との
7
接続を行うノード名です。ノード名に 0 は用いることができません。ノード 0 は暗黙の内
にサブサーキット内外で共通のノード名として使われます。また、サブサーキット定義内
でモデル行を用いることができます。このモデル行はそのサブサーキット内でのみ有効と
なります。
サブサーキットにおいては、サブサーキット定義内でさらにサブサーキット定義を行う入
れ子構造が許されています。 “.ENDS 行”においては、SUBNAM を指示するとそのサブサ
ーキット定義の終了を表します。SUBNAM の指示がないとそれまでのサブサーキット定義す
べての終了を表します。SUBNAM 指示は入れ子構造のサブサーキット定義にのみ必要な指示
ということになります。
(2.4.2)サブサーキットの呼び出し
プログラム本体においてサブサーキットを呼び出すには、次のように行の先頭に“X”を指
定します。
XYYYYYYY N1 <N2 N3 ...> SUBNAM
例)X1
2
4
17
3
1
MULTI
SUBNAM はサブサーキット定義に SUBNAM を持つサブサーキットを参照します。サブサーキッ
トとマクロ素子 X のノード数は一致していなければなりません。また、マクロ素子 X のノ
ードの順番と、サブサーキットで定義したノードの順番も一致していなければなりません。
上記具体例においては、
“MULTI”という名前のサブサーキットを呼び出しています。サブ
サーキットのノード数は5です。
(2.5)入力ファイルの結合
回路記述の一部をファイルに保存しておけば、この行で指定したファイルは実行時に利用
することができます。
(C言語における#include 文と考えればよいでしょう。
)
通常の組み込みの場合:
.INCLUDE filename
例).INCLUDE /users/SPICE/common/winspice.cir
PSpice 互換組み込みの場合:
.LIB filename
例).LIB /users/SPICE/common/pspice.lib
8
.include や.lib で指定するファイル内には、回路設計に用いる素子のモデルパラメータ
(.model)やサブサーキットを入れておけば後々の解析に役立ちます。
(2.6)ネットリストの具体例
ネットリストの具体例を示します。この具体例においては、chaos.lib というファイル内に
あるダイオードモデル BAP を用いて直列接続のダイオードを名前 DS としてサブサーキット
で表現しています。
(*1)その後、DS と抵抗 R を用いて回路を構成し、直流解析を行って
いる。
(*2)
*Resistor Divider Circuit
.subckt
DS
2 3
//(*1)
D1
2
4 BAP
//(BAP という名前のダイオードモデルの呼び出し)
D2
4
3 BAP
//(同上)
.ends
.include chaos.lib
Vin
1 0 0V
X1
1 2 DS
R2
2 0 2
.DC
Vin 1V 5V 0.1V
//(サブサーキット DS の呼び出し)
//(*2)これ以降は、次小節で説明
.print DC V(2)
.end
(2.7)解析の種類
ドット行は解析の種類の指定、出力の指定などを記述します。SPICE における各解析方法は、
制御ステートメントにより制御することができます。具体的には、制御ステートメントに
より、解析の種類、解析結果の書式、回路の初期条件などを制御することが可能です。
(2.7.1)直流解析
直流解析とは、コイルを短絡し容量を開放した回路での直流動作点を解析します。直流解
析は動作点を求めるため過渡解析や AC 解析に先立って行われます。直流解析では動作点で
の非線形素子の値を見たりすることができる他、入出力抵抗値を知ることができます。ま
9
た、動作点をスイープさせることで入出力伝達特性が計算できます。
.DC <スイープ変数名> <開始値> <終了値> <増分値>
例).DC Vin 1V 100V 0.1V
.DC ステートメントは指定範囲おける回路の直流応答を解析するために用います。<スイー
プ変数>には、電源(電圧源または電流源)、モデルパラメータ、温度のいずれかの変数で
なければなりません。
(2.7.2)小信号交流解析
交流解析とは、動作点で線形化した等価回路により回路の周波数特性を求める解析です。
利得や位相特性が計算されます。
.AC [LIN] [OCT] [DEC] <ポイント数> <開始周波数値> <終了周波値>
例).AC LIN 101 100Hz 200Hz
.AC DEC 10 1Meg 10Meg
.AC ステートメントは指定した周波数領域における応答を解析するために用います。
LIN:指定した周波数領域までリニアにスイープする。
OCT:周波数をオクターブ(2倍刻み)で対数的にスイープする。
DEC:周波数をディケード(10倍刻み)で常用対数的にスイープする。
(2.7.3)過渡解析
過渡解析とは、回路の時間応答を求める解析です。解析時間は.TRAN 制御行で指定します。
.TRAN <プリント出力ステップ値> <終了時間値>
+<プリント出力抑制時間> [UIC]
例).TRAN 1ns 100ms
.TRAN 1ns 100ms 80ms
.TRAN 1ns 100ms 80ms UIC
10
.TRAN ステートメントは指定範囲おける回路の過渡応答を解析するために用います。解析に
用いられる内部の時間ステップは、自動的に調節されます。
(波形の変化が大きい箇所では、
刻みが細かく取られます。このため、スイッチング回路の解析では時間がかかります。)ま
た、UIC を指定することで、コンデンサとインダクタにおいて IC=として設定された値が用
いられます。
.FOUR <周波数値> <出力変数>
例).FOUR 1kHz I(Vin)
.FOUR ステートメントは過渡解析の結果をフーリエ成分に分解します。このため、.FOUR ス
テートメントを用いて解析を行う際には、かならず過渡解析中でなければなりません。
(2.7.4)モンテカルロ解析
.MC <解析回数> [DC] [AC] [TRAN] <出力変数> YMAX [OUTPUT ALL]
例).MC 10 TRAN V(5) YMAX
.MC 10 TRAN V(5) YMAX OUTPUT ALL
.MC ステートメントにより回路のモンテカルロ解析を行うことができます。指定した解析を
複数回実行しますが、最初の回には全ての素子について公称値を用います。2回目以降か
らは、各.MODEL パラメータについて DEV と LOT 許容誤差で指定したモデルパラメータが変
化して解析を行います。キーワードの YMAX は、<出力変数>の値を一つに絞って表示する操
作法を指定するものです。また、OUTPUT ALL を指定することにより、モンテカルロ解析の
全ての結果を出力します。
(2.7.5)感度解析
感度解析とは、動作点近傍で素子値が変動したときに出力(ノード電圧あるいはブランチ
電流)に与える感度を計算する解析です。素子値変動はたがいに独立であることを仮定し
ています。
.SENS <出力変数>
11
例).SENS V(10)
.SENS ステートメントにより DC 感度解析を行うことができます。バイアスポイントで回路
が線形化され、全てのデバイスの値とモデルパラメータに対するそれぞれの出力変数の感
度が計算されます。
(2.7.6)雑音解析
雑音解析とは、素子から発生する雑音が出力へ与える効果を計算する解析です。入力換算
雑音も計算してくれます。この計算は指定された周波数範囲で行われ、雑音スペクトル密
度の周波数特性を知ることができます。さらに、指定された周波数帯域で換算した雑音電
圧、雑音電流を計算してくれます。いずれの場合も、雑音解析は雑音が定常ガウシアン確
率過程であることを前提としています。
.NOISE V(<ノード> [<ノード>]) <電源名> [間隔値]
例).NOISE V(5) Vin
.NOISE V(5) 20
.MC ステートメントにより回路のノイズ解析を行うことができます。ノイズ解析を行う際に
は、.AC ステートメントが宣言されていなければなりません。<電源名>はそれ自体ノイズ源
ではなく、単に等価入力ノイズが計算される場所となります。[間隔値]が指定された場合
には、プリント出力の間隔が設定されます。出力は周波数の n 倍おきに全体のノイズに対
する回路の全てのノイズ源のそれぞれの寄与を示す表が出力されます。
(2.7.7)温度解析
回路解析は摂氏 27 度を標準温度として進められます。.OPTION 行で TNOM に摂氏で解析温度
を指定することで変更可能です。温度により電気的特性が変化する素子には、抵抗、ダイ
オード、JFET、MESFET、BJT、MOSFET(レベル 1、2、3、4、5)があります。
.TEMP <温度値>
例).TEMP 10
.TEMP 0 27 200
12
.TEMP ステートメントにより温度解析を行うことができます。温度は摂氏で表されます。複
数の温度が指定された場合には、指定された全ての温度について解析が実行されます。な
お、モデルパラメータは、常温(27度)で測定されたものと仮定されています。
(2.8)プリント出力
.PRINT [DC] [AC] [NOISE] [TRAN] [出力変数]
例).PRINT DC V(5)
.PRINT TRAN V(2,3) I(Vin)
.PRINT ステートメントによって、解析結果をプリント出力表と呼ばれる表形式で出力する
ことができます。
(2.9)収束判定
回路解析は繰り返しの数値計算により解を求めるプログラムであり、その過程で収束判定
が行われます。枝電流に関しては、繰り返しの前後での変化率が 0.1%以下あるいは電流値
の変化分が 1pA(1.0e-12A)になったとき、かつ、ノード電圧に関しては繰り返しの前後での
変化率が 0.1%以下あるいは電圧値の変化分が 1uA(1.0e-6V)になったときを収束とみなして
います。これらの値は.OPTION 行で修正が可能です。No convergence とでたら収束しなか
った場合で、SPICE3 では頻繁に生じます。
13
(3)回路素子とモデル
回路素子は、基本素子、電源、伝送線路、トランジスタとダイオードに大別されます。 本
テキストにおいては、電子回路、電気回路の授業等で扱った基本的な回路素子だけを紹介
します。
R
Semiconductor resistor model
C
Semiconductor capacitor model
SW
Voltage controlled switch
VSWITCH
CSW
Current controlled switch
ISWITCH
URC
Uniform distributed RC model
LTRA
Lossy transmission line model
D
Diode model
NPN
NPN BJT model
PNP
PNP BJT model
NJF
N-channel JFET model
PJF
P-channel JFET model
NMOS
N-channel MOSFET model
PMOS
NMF
P-channel MOSFET model
PMF
P-channel MESFET model
N-channel MESFET model
(3.1)基本素子
(3.1.1)抵抗
(3.1.1.1)簡易抵抗
RXXXXXXX N1 N2 VALUE
例)r1 1 2 100
N1、N2 はノード名。value はゼロ以外の値(単位はオーム)
。
14
(3.1.1.2)半導体抵抗
RXXXXXXX N1 N2 <VALUE> <MNAME> <L=LENGTH> <W=WIDTH> <TEMP=T>
例)RMOD 3 7 RMODEL L=10u W=1u
(3.1.1.3)半導体抵抗のモデル
.MODEL MNAME R(PNAME1=PVAL1 PNAME2=PVAL2 ... )
例).MODEL MRISC R (RSH=3 TNOM=90 TC1=-0.01)
半導体抵抗で指定できるモデルは、次表のとおりである。パラメータ TC1,TC2 が設定され
た場合には、モデルの抵抗値を与える式は、次のようになる。

R T   RT0  1  TC1 T  T0   TC2 T  T0 
2

ここで、T0 はデフォルトにおいては公称値 27℃に設定される。
name
parameter
units
defaul
example
t
TC1
first order temperature coefficient
/C
0.0
-
TC2
second
/C2
0.0
-
order
temperature
coefficient.
RSH
sheet resistance
/square
-
50
DEFW
default width
meters
1e-6
2e-6
NARROW
narrowing due to side etching
meters
0.0
1e-7
TNOM
parameter
C
27
50
measurement
temperature(T0)
15
(3.1.2)容量
(3.1.2.1)簡易容量
CXXXXXXX N+ N- VALUE <IC=INCOND>
例)COSC 17 23 10U IC=3V
N1、N2 はノード名。value はゼロ以外の値(単位はファラッド)。IC は時刻 0 での両端電圧
(.TRAN 行に UIC オプションが指定されたとき有効)。
(3.1.2.2)半導体容量
CXXXXXXX N1 N2 <VALUE> <MNAME> <L=LENGTH> <W=WIDTH> <IC=VAL>
例)CMOD 3 7 CMODEL L=10u W=1u
(3.1.2.3)半導体容量のモデル
.MODEL MNAME C(PNAME1=PVAL1 PNAME2=PVAL2 ... )
例).MODEL MRISC C(TC1=-0.001)
半導体容量で指定できるモデルは、次表のとおりである。容量値は、次式に従って計算さ
れる。
CAP  CJ LENGTH  NARROWWIDTH  NARROW  2CJSWLENGTH  WIDTH  2NARROW
また、パラメータ TC1,TC2 が設定された場合には、モデルの容量値を与える式は、次のよ
うになる。


Ceff  CAP 1  VC1  Vcap  VC2  Vcap 1  TC1 T  Tnom   TC2 T  Tnom 
2
16
2

name
parameter
units
defaul
example
t
TNOM
parameter
measurement
C
27
50
temperature(T0)
TC1
first order temperature coefficient
/C
0.0
-
TC2
second
/C2
0.0
-
order
temperature
coefficient.
VC1
first order voltage coefficient
volt-1
0.0
-
VC2
second order voltage coefficient.
volt-2
0.0
-
CJ
junction bottom capacitance
F/meters
-
5e-5
2
CJSW
junction side wall capacitance
F/meters
-
2e-11
DEFW
default device width
meters
1e-6
2e-6
NARROW
narrowing due to side etching
meters
0.0
1e-7
(3.1.3)インダクター
LYYYYYYY N+ N- VALUE <IC=INCOND>
例)LSHUNT 23 51 10U IC=15.7MA
N1、
N2 はノード名。
value はゼロ以外の値
(単位はヘンリー)。
IC は時刻 0 での初期電流(.TRAN
行に UIC オプションが指定されたとき有効)
。
(3.1.4)相互インダクター
KXXXXXXX LYYYYYYY LZZZZZZZ VALUE
例)KXFRMR L1 L2 0.87
lyyyyyyy と lzzzzzzz はインダクター名、value はカップリング係数。0 < value < 1
17
(3.2)スイッチ
(3.2.1)電圧制御スイッチ
SXXXXXXX N+ N- NC+ NC- MODEL
例)Switch1 1 2 10 0 smodel1
N+と N-はスイッチ両端の端子です。また、NC+と NC-は制御ノードです。N+と N-間の抵抗
は NC+と NC-間の電位差に依存します。抵抗値は、RON と ROFF の間を連続的に変化します。
(3.2.2)電流制御スイッチ
WYYYYYYY N+ N- VNAM MODEL
例)w1 1 2 vclock switchmod1
N+と N-はスイッチ両端の端子です。N+と N-間の抵抗は制御 V 素子(VCLOCK)に依存しま
す。抵抗値は、RON と ROFF の間を連続的に変化します。
(
(3.2.3)のスイッチのモデルにお
いて後述。
)
(3.2.3)スイッチのモデル(SPICE3)
.MODEL MNAME TYPE(PNAME1=PVAL1 PNAME2=PVAL2 ... )
例).MODEL SMOD SW(RON=5M ROFF=10E9 VT=1.0 VH=0.1)
.MODEL SMOD CSW(RON=5M ROFF=10E9 IT=0.5MA IH=0.5MA)
スイッチで指定できるモデルは、次表のとおりである。同表のパラメータにおいて、電圧
制御スイッチは次の条件を満足する場合に、オン状態、オフ状態になる。
Vctrl  (VT  VH )
オフ: Vctrl  (VT  VH )
オン:
同様に、電流制御スイッチは次の条件を満足する場合に、オン状態、オフ状態になる。
オン:
オフ:
I ctrl  ( IT  IH )
I ctrl  ( IT  IH )
18
name
parameter
units
default
switch
VT
threshold voltage
Volts
0.0
S
VH
hysteresis voltage
Volts
0.0
S
IT
threshold current
Amps
0.0
W
IH
hysteresis current
Amps
0.0
W
RON
on resistance

1.0
both
ROFF
off resistance

1/GMI
both
N*
(3.2.4)スイッチのモデル(PSPICE)
.MODEL MNAME TYPE(PNAME1=PVAL1 PNAME2=PVAL2 ... )
例).MODEL SMOD VSWITCH(RON=5M ROFF=10E9 VON=1.1 VOFF=0.9)
.MODEL SMOD ISWITCH(RON=5M ROFF=10E9 ION=1.0MA IOFF=0)
スイッチで指定できるモデルは、次表のとおりである。
name
parameter
units
default
switch
VON
threshold voltage
Volts
0.0
S
VOFF
threshold voltage
Volts
0.0
S
ION
threshold current
Amps
0.0
W
IOFF
threshold current
Amps
0.0
W
RON
on resistance

1.0
both
ROFF
off resistance

1/GMI
both
N*
(3.3)電圧源、電流源
(3.3.1)独立電源
VXXXXXXX N+ N- <<DC> DC/TRAN VALUE> <AC <ACMAG <ACPHASE>>>
+
<DISTOF1 <F1MAG <F1PHASE>>> <DISTOF2 <F2MAG <F2PHASE>>>
IYYYYYYY N+ N- <<DC> DC/TRAN VALUE> <AC <ACMAG <ACPHASE>>>
+
<DISTOF1 <F1MAG <F1PHASE>>> <DISTOF2 <F2MAG <F2PHASE>>>
19
例)
VCC 10 0 DC 6
VIN 13 2 0.001 AC 1 SIN(0 1 1MEG)
ISRC 23 21 AC 0.333 45.0 SFFM(0 1 10K 5 1K)
VMEAS 12 9
VCARRIER 1 0 DISTOF1 0.1 -90.0
VMODULATOR 2 0 DISTOF2 0.01
IIN1 1 5 AC 1 DISTOF1 DISTOF2 0.001
N+と N-は電源の正ノードと負ノードです。電流の方向は正ノードから負ノードに向かう方
向と決めてあります。0 ボルトの電圧源は電流計として使うことができます。DC/TRAN とは
その位置で DC あるいは TRAN と指定すればそれ以降の記述は直流解析あるいは過渡解析で
の値となります。 電源の値が電池のように時不変であれば DC となります。
ACMAG は交流解析での電源の振幅であり、ACPHASE は電源の位相を表します。
AC に続く ACMAG
が省略されたときは ACMAG=1、ACPHASE が省略されたときは ACPHASE=0 となります。AC の指
示のないときには交流解析は行われません。
DISTOF1 と DISTOF2 は歪み解析時に、独立電源がそれぞれ、F1 と F2 の周波数の(歪み)入
力となるようにします。DISTOF1 と DISTOF2 に続けて、AC と同様振幅と位相を指示するこ
とができます。振幅と位相の省略値はそれぞれ、1.0 と 0.0 です。
電源は過渡解析時に、組み込み関数により時間によって値の変化する電源とすることがで
きます。時間によって値の変化する電源とした際には、時刻 0 での値が直流解析時に用い
られます。組み込み関数には、pulse、exponential、sinusoidal、piece-wise linear と
single-frequency FM の 5 種類があります。
(3.3.1.1)パルス波電源
PULSE(V1 V2 TD TR TF PW PER)
例)VIN 3 0 PULSE(-1 1 2NS 2NS 2NS 50NS 100NS)
パラメータ
省略値
単位
----------------------------------------------------V1 (初期値)
Volts or Amps
V2 (パルス値)
Volts or Amps
TD (遅延時間)
0.0
seconds
TR (立ち上がり時間)
TSTEP
seconds
20
TF (立ち下がり時間)
TSTEP
seconds
PW (パルス幅)
TSTOP
seconds
PER (周期)
TSTOP
seconds
(3.3.1.2)サイン波電源
SIN(VO VA FREQ TD THETA)
例)VIN 3 0 SIN(0 1 100MEG 1NS 1E10)
パラメータ
省略値
単位
----------------------------------------------------VO
(オフセット量)
Volts or Amps
VA
(振幅)
Volts or Amps
FREQ
(周波数)
1/TSTOP
Hz
TD
(遅延時間)
0.0
seconds
THETA (減衰ファクター)
0.0
1/seconds
(3.3.1.3)指数関数波電源
EXP(V1 V2 TD1 TAU1 TD2 TAU2)
例)VIN 3 0 EXP(-4 -1 2NS 30NS 60NS 40NS)
パラメータ
省略値
単位
----------------------------------------------------V1
(初期値)
Volts or Amps
V2
(パルス値)
Volts or Amps
TD1 (立ち上がり遅延時間)
0.0
seconds
TAU1 (立ち上がり時定数)
TSTEP
seconds
TD2 (立ち下がり時間)
TD1+TSTEP
seconds
TAU2 (立ち下がり時定数)
TSTEP
seconds
(3.3.1.4)区分線形近似波形電源
PWL(T1 V1 <T2 V2 T3 V3 T4 V4 ...>)
21
例)VCLOCK 7 5 PWL(0 -7 10NS -7 11NS -3 17NS -3 18NS -7 50NS -7)
(Ti, Vi)のペアは、時刻 Ti での値が Vi である点を示し、点と点を線形補間して電源の値
とします。
(3.3.1.5)単一周波数 FM 電源
SFFM(VO VA FC MDI FS)
例)V1 12 0 SFFM(0 1M 20K 5 1K)
パラメータ
省略値
単位
----------------------------------------------------VO (オフセット)
Volts or Amps
VA (振幅)
Volts or Amps
FC (キャリア周波数)
1/TSTOP
Hz
1/TSTOP
Hz
MDI (変調度)
FS (単一周波数)
(3.4)伝送線路
(3.4.1)無損失伝送線路
TXXXXXXX N1 N2 N3 N4 Z0=VALUE <TD=VALUE> <F=FREQ <NL=NRMLEN>>
+ <IC=V1, I1, V2, I2>
例)T1 1 0 2 0 Z0=50 TD=10NS
N1、N2 はポート 1 側の端子。N3、N4 はポート 2 側の端子。Z0 は特性インピーダンス。線路
長の表し方には 2 通りあります。(1)伝送遅延時間 TD により指定。(2)周波数 F と周波数 F
の波長で正規化した電気長 NL により指定。F と NL の内、NL の指定がないと NL=0.25(1/4
波長)と仮定します。
初期条件はポートの電圧、電流を与えることができます。無損失伝送線路素子より、損失
をゼロとした損失のある伝送線路のほうが高精度です。
22
(3.4.2)損失のある伝送線路
OXXXXXXX N1 N2 N3 N4 MNAME
例)O23 1 0 2 0 LOSSYMOD
OCONNECT 10 5 20 5 INTERCONNECT
2 端子対の損失のある伝送線路素子。N1、N2 はポート 1 側の端子。N3、N4 はポート 2 側の
端子。MNAME はモデル名。無損失伝送線路素子より、損失をゼロとした損失のある伝送線路
のほうが高精度です。
(3.5)トランジスタとダイオード
各素子の初期条件の指定は直流解析と過渡解析で行うことができます。
OFF:DC 解析の収束性改善のため、素子記述に OFF オプションをつけると、素子のブランチ
電圧をすべてゼロとして仮の動作点を求め、その値を新たな初期値として真の動作点を求
めます。回路に複数の動作点がある場合は、OFF オプションの利用により、所望の動作点を
算出することができます。
.NODESET 行は、DC 解の端子電圧の初期条件を直接電圧値で指定することができ、DC 解析
の収束性改善をはかることができます。
.IC 行:過渡解析の際、DC 解の端子電圧をこの行で指定し、かつ.TRAN 行で UIC オプショ
ンをつけると、DC 解析を行ったことして過渡解析が実行され、DC 解析の収束性問題をすり
抜けることができます。
(3.5.1)接合ダイオード
DXXXXXXX N+ N- MNAME <AREA> <OFF> <IC=VD> <TEMP=T>
例)DBRIDGE 2 10 DIODE1
DCLMP 3 7 DMOD 3.0 IC=0.2
N+、N-はそれぞれ正負の端子、MNAME はモデル名、AREA は面積係数(省略値は1)、OFF は
DC 解析初期条件。IC=VD は過渡解析における初期条件(.TRAN 行で UIC の指定されたとき有
効。
)TEMP 値はこの素子の動作温度。
23
(3.5.2)ダイオードモデル
直流特性は IS と N、内部抵抗は RS。電荷蓄積効果は遷移時間 TT、非線形空乏層容量は CJO、
VJ、M で表されます。飽和電流の温度依存性は EG と XTI によりモデル化されています。こ
れらパラメータの測定温は.OPTIONS 行の TNOM により指定します。ブレークダウン特性は
BV と IBV で表されます。
名前 パラメータ
単位
省略値
IS
飽和電流
A
1.0e-14
RS
内部抵抗
Z
0
N
放射係数
-
1
TT
遷移時間
sec
0
CJO
ゼロバイアス接合容量
F
0
VJ
接合ポテンシャル
V
1
M
濃度勾配係数
-
0.5
EG
活性化エネルギー
eV
1.11
XTI
飽和電流温度巾係数
-
3.0
KF
フリッカ雑音係数
-
0
AF
フリッカ雑音巾係数
-
1
FC
順方向空乏容量係数
-
0.5
BV
ブレークダウン電圧
V
infinite
IBV
BV での電流値
A
1.0e-3
C
27
TNOM パラメータの測定温度
(3.5.3)バイポーラトランジスタ
QXXXXXXX NC NB NE <NS> MNAME <AREA> <OFF> <IC=VBE, VCE> <TEMP=T>
例)Q23 10 24 13 QMOD IC=0.6, 5.0
Q50A 11 26 4 20 MOD1
NC はコレクタ端子、NB はベース端子、NE はエミッタ端子。NS はオプションの基板端子(指
示がなければ接地)
。MNAME はモデル名、AREA は面積係数(省略値は1)、OFF は DC 解析初期
条件。IC=VBE, VCE は過渡解析における初期条件(.TRAN 行で UIC の指定されたとき有効。)
TEMP 値はこの素子の動作温度です。
24
SPICE の BJT モデルは、電荷制御モデルあるいは修正 Gummel-Poon モデルと呼ばれるモデル
です。高バイアス下でのいくつかの効果がモデル化されており、パラメータの設定により
Ebers-Moll モデルにもなります。 直流モデルでは、順方向電流パラメータに IS、BF、NF、
ISE、IKF、NE、逆方向電流パラメータに IS、BR、NR、ISC、IKR、NC があります。 VAF は順
方向出力コンダクタンス、VAR は逆方向出力コンダクタンス、RB、RC、RE は内部抵抗です。
RB は電流依存性が考慮できます。電荷蓄積効果は、順方向遷移時間 TF、逆方向遷移時間 TR
により表されます。TF はバイアス依存性が考慮できます。 B-E 間接合容量は CJE、VJE、MJE
により、B-C 間接合容量は CJC、VJC、MJC により、C-S 間接合容量は CJS、VJS、MJS によ
りモデル化されています。また、飽和電流の温度依存性は、EG と XTI によりモデル化され
ています。ベース電流については XTB がパラメータとして追加されています。これらパラ
メータの測定温度は.OPTIONS 行の TNOM あるいは.MODEL 行の TNOM により指定できます。
名前 パラメータ
単位
省略値
IS
飽和電流
A
1.0e-16
BF
順方向ベータ
-
100
NF
順方向電流放射係数
-
1.0
VAF
順方向アーリー電圧
V
infinite
IKF
順方向ベータの変化点
電流値(高電流時)
A
infinite
ISE
B-E 漏れ電流
A
0
NE
B-E 漏れ電流係数
-
1.5
BR
逆方向ベータ
-
1
NR
逆方向電流放射係数
-
1
VAR
逆方向アーリー電圧
V
infinite
IKR
逆向ベータの変化点
A
infinite
電流値(高電流時)
ISC
B-C 漏れ電流
A
0
NC
B-C 漏れ電流係数
-
2
RB
ゼロバイアスベース抵抗
Z
0
IRB
ベース抵抗が最小値
A
infinite
Z
RB
へ半分達する電流値
RBM
ベース抵抗の最小値
(高電流時)
RE
エミッタ抵抗
Z
0
RC
コレクタ抵抗
Z
0
25
CJE
B-E ゼロバイアス接合容量
F
0
VJE
B-E ビルトイン電圧
V
0.75
MJE
B-E 接合容量巾係数
-
0.33
TF
順方向遷移時間
sec
0
XTF
TF のバイアス依存性係数
-
0
VTF
TF の VBC 依存性係数
V
ITF
TF の高電流効果パラメータ
A
0
PTF
周波数 1.0/(TF*2PI)Hz での
deg
0
過剰位相推移
infinite
CJC
B-C ゼロバイアス接合容量
F
0
VJC
B-C ビルトイン電圧
V
0.75
MJC
B-C 接合容量巾係数
-
0.33
XCJC
B-C 接合容量が内部ベース
-
1
sec
0
F
0
V
0.75
-
0
-
0
eV
1.11
端子とつながる割合
TR
逆方向遷移時間
CJS
コレクタ、サブ間の
ゼロバイアス接合容量
VJS
MJS
サブ間接合ビルトイン電圧
サブ間接合巾係数
XTB
順/逆ベータ温度巾係数
EG
IS の温度係数をきめる
エネルギーギャップ
XTI
IS の温度巾係数
-
3
KF
フリッカー雑音係数
-
0
AF
フリッカー雑音巾係数
-
1
FC
順方向接合容量係数
-
0.5
TNOM
パラメータ測定温度
C
27
(3.5.4)MOSトランジスタ
MXXXXXXX <ドレイン・ノード> <ゲート・ノード> <ソース・ノード>
+
<バルク・ノード>
+
<L=値>
+
<AD=値> <AS=値>
例)M1 10 24 1 1
<モデル名>
<W=値>
<PD=値> <PS=値>
NMOS W=6u L=5u AD=48p AS=48p PD=28u PS=28u
26
MOSFET は、真性 MOSFET にドレイン、ソース、ゲートおよびバルク(基板)に直列な抵抗が
加わったものとしてモデル化されます。また、ドレイン・ソースのチャネルに並列な分路
抵抗も考慮されています。ここでは、端子に流れ込む電流は正の電流として取り扱われま
す。L と W はそれぞれチャネルの長さと幅を示しています。ここで、有効チャネル長は、L
から LD を2倍した値を差し引いた値になります。同様に有効チャネル幅は、W から WD を2
倍した値を差し引いた値になります。AD と AS はそれぞれドレインとソースの拡散領域を、
PD と PS はそれぞれドレインとソースの拡散領域の周囲長を示しています。
名前
パラメータ
単位
省略値
L
チャネル長
m
DEFL
W
チャネル幅
m
DEFW
LD
横方向拡散長
m
0
WD
横方向拡散幅
m
0
VT0
0 バイアス閾値電圧
V
0
KP
トランスコンダクタンス
A/V^2
2e-5
GAMMA
バルク閾値パラメータ
V^1/2
0
PHI
表面電位
V
0.6
LAMBDA
チャネル長変調
V^-1
0
RD
ドレイン・オーム性抵抗
Ω
0
RS
ソース・オーム性抵抗
Ω
0
RG
ゲート・オーム性抵抗
Ω
0
RB
バルク・オーム性抵抗
Ω
0
RDS
ドレイン・ソース間分路抵抗
Ω
無限大
RSH
拡散広がり抵抗
Ω/#
0
IS
バルク pn 接合飽和電流
A
1e-14
JS
バルク pn 接合飽和電流/面積
A/m^2
0
PB
バルク pn 接合電位
V
0.8
CBD
バルク・ドレイン間 0
バイアス pn 接合容量
CBS
F
0
F/m^2
0
バルク 0 バイアス
pn 接合底部容量/面積
CJSW
0
バルク・ソース間 0
バイアス pn 接合容量
CJ
F
バルク 0 バイアス
27
pn 接合周辺容量/長さ
F/m
0
MJ
バルク底部 pn 接合傾き係数
0.5
MJSW
バルク側壁部 pn 接合傾き係数
0.33
FC
バルク順方向バイアス
Pn 接合容量係数
CGSO
ゲート・ソース間重なり
容量/チャネル幅
CGDO
F/m
0
ゲート・ドレイン間重なり
容量/チャネル幅
CGBO
0.5
F/m
0
ゲート・バルク間重なり
容量/チャネル幅
F/m
0
NSUB
基板ドーピング密度
1/cm^3
0
NSS
表面状態密度
1/cm^3
0
NFS
高速表面状態密度
1/cm^3
0
TOX
酸化膜厚み
m
無限大
TPG
ゲート材質タイプ
+1
基板と逆:+1
基板と同じ:-1
アルミニウム:0
XJ
金属接合部深さ
m
0
U0
表面移動度
cm^2/Vs
600
UCRIT
移動度劣化臨界場
V/cm
1e+4
UEXP
移動度劣化指数部
UTRA
移動度劣化逆方向場の係数
VMAX
最大ドリフト速度
NEFF
チャネル電荷係数
XQC
ドレインに寄与するチャネル
電荷の分数比
0
m/s
0
1
1
DELTA
閾値に対する幅の効果
0
THETA
移動度変調
ETA
静的フィードバック
0
KAPPA
飽和場の係数
0.2
KF
フリッカ雑音係数
0
AF
フリッカ雑音指数部
1
V^-1
28
0
(演習1)合成抵抗回路
1.直流解析を行うことにより、次に示す簡易抵抗と電源電圧から構成される
回路における各節点電圧を求めなさい。また、理論計算を行うことにより、
解析結果が正しいことを確認しなさい。
2.半導体抵抗を用いて同回路を構成し、温度に対する抵抗値の変化を測定し
なさい。半導体抵抗のモデルについては、デフォルト値を使用するのでは
なく、現実的な値を用いること。
図1
合成抵抗回路
(演習2)CMOS論理回路1
1.次の回路は、MOSFETを用いて構成したNAND回路である。過渡解
析を行うことにより、同回路の真理値表を示しなさい。
2.先の問題におけるNAND回路からNOT回路を設計し、シミュレーショ
ンにより、同回路の真理値表を示しなさい。
3.MOSFETを用いて、AND回路、OR回路を設計し、シミュレーショ
ンにより、同回路の真理値表を示しなさい。
図2
NAND 回路
29
(演習3)CMOS論理回路2
1.演習2で作成した論理回路をサブサーキットとして登録しなさい。
2.先の問題で作成したサブサーキットを利用することにより、半加算器と全
加算器を設計し、シミュレーションにより、その動作を確認しなさい。
3.NOT回路を用いることにより、無安定マルチバイブレータを設計し、シ
ミュレーションにより、その動作を確認しなさい。
(演習4)CMOS論理回路3
1.次の回路は最も簡単なCDMA(多元分割符号接続)システムの一例であ
る。先の問題で作成したサブサーキットを利用することにより、同システ
ムを設計し、シミュレーションにより、その動作を確認しなさい。ただし、
PN信号発生器には演習2で設計した無安定マルチバイブレータを使用す
ること。
2.設計したCDMAシステムのセットリング時間を求めなさい。
図3
2入力2出力 CDMA システム
30
(演習5)電源回路
1.次に示す回路はバックコンバータと呼ばれる降圧型の DC-DC 電源回路であ
る。同回路の入出力特性を求めなさい。また、クロックパルスの時比率(衝
撃係数)を変化させた場合、出力電圧がどのように変化するのかを求めな
さい。
2.次に示す回路はブーストコンバータと呼ばれる昇圧型の DC-DC 電源回路で
ある。1.と同様に、同回路の入出力特性を求めなさい。
(演習6)エミッタ接地増幅回路
1.次に示す回路はエミッタ接地増幅回路と呼ばれる回路である。同回路の静
特性(入力特性、出力特性)を求めなさい。
2.入力に正弦波を与えることにより、同回路の電圧増幅率、電流増幅率を求
めなさい。
3.同回路のhパラメータを求めなさい。
図4
エミッタ接地増幅回路
31
(演習7)CMOS電流モード回路1
1.MOSFETのVds-Id特性を測定しなさい。また、MOSFETの
オン抵抗を求めなさい。
2.次の回路は電流ミラー回路と呼ばれる回路である。電流ミラー比1:1、
1:2、2:1の場合について、電流ミラー回路の入出力特性を求めなさ
い。但し、同回路における電流ミラー比は、MOSFETのチャネル幅W
を変化させることにより決定すること。
3.次の回路はサンプルホールド回路と呼ばれる回路である。同回路の入出力
特性を求めなさい。また、クロック速度とキャパシタCの関係をグラフに
示しなさい。
図5
図6
NMOS 電流ミラー回路
サンプルホールド回路
(演習8)CMOS電流モード回路2
1.次の回路は、演習5で作成した電流ミラー回路とサンプルホールド回路を
用いて設計したカオス発生回路であり、“X(t+1)=A{X(t)-2(X(t)-0.5)}”
を実現する。同回路の出力波形を示しなさい。また、パラメータAを変化
させた場合、出力波形がどのように変化するかを調べなさい。
2.周波数解析を行うことにより、カオス波形のスペクトルを求めなさい。
32
図7
テント写像を実現するカオス発生回路
(演習9)CMOS電流モード回路3
1.次の回路はコンパレータと呼ばれる回路である。先の回路の出力端子に同
回路を接続することにより、カオス波形を2値化しなさい。
2.CDMAシステムのPN信号として、2値化したカオス信号を利用するこ
とにより、3入力3出力のCDMAシステムを設計し、その動作を確認し
なさい。
図8
電流コンパレータ回路
33
ダウンロード

CAD特論テキスト