RAQ Issue...

Post on 09-Nov-2020

2 views 0 download

Transcript of RAQ Issue...

アナログ・デバイセズに寄せられた珍問/難問集 Issue 173

アナログ・スイッチの高精度なマクロモデルを

構築する著者:Barry Harvey、アナログIC設計者

した。一方、アナログ・スイッチについては、どのような条件でも使用できるマクロモデルは用意されていませんでした。そのマクロモデルのファイルを見ると、ヘッダの部分に「モデル化されているパラメータは、特定の電源電圧と温度に対してのみ有効」という注意書きが記されていました。そのモデルの前提条件は、筆者が設計した回路の動作条件とは異なっていました。アナログ・スイッチは様々な用途/条件で使用されるので、1つの動作ポイントにしか対応していないモデルでは不十分です。業界で標準的に使用されている既存のモデルは、シミュレーションの出発点としては有用です。しかし、アナログ性能の領域に踏み込んで検証を行いたい場合には、シミュレーションのレベルを引き上げるために新たなマクロモデルを用意しなければならないでしょう。

アナログ・デバイセズをはじめとする ICメーカーは、アナログ・スイッチの様々なマクロモデルを提供しています。筆者は、それらのファイルに目を通してみました。すると、いずれのモデルについても、モデル化の前提となる電源電圧や温度の条件がヘッダに記載されていませんでした。そのため、筆者は独自にマクロモデルを作成する必要があると考えました。

マクロモデルを作成するにあたり、筆者は次のような方針を掲げました。それは、アナログ・スイッチを構成するすべてのトランジスタについて最もシンプルなデバイス・モデルを使用して、すべての動作をエミュレーションできるようにするというものです。但し、制御ピンからMOSのゲートまでのインターフェースついては、最もシンプルなビヘイビアで実現する必要があると考えました。

本稿で示す内容は、シミュレータとして「LTspice」を使用することを前提としています。ただ、LTs p i c eのビヘイビア回路をSPICEに似た多項式の関数に変換すれば、紹介するコードを他のシミュレータで実行することもできます。

以下では、特定のデバイスの動作をシミュレーションで再現する方法を説明していきます。

質問:

アナログ回路で、スイッチやマルチプレクサを使用することがあります。LTsp ice ®で使用するアナログ・スイッチのモデルを改良することはできますか?

回答:

もちろんです。独自のモデルを作成するのは難しいことではありません。

はじめに

筆者は、回路のテストを行ったときに次のような経験をしたことがあります。作製した回路に、机上での設計とは異なる部分が数多く見受けられたのです。その回路の動作は想定していたものとはやや異なりました。特に問題だったのは、求めていたレベルをはるかに超えるノイズが発生していたことです。何が起きているのかを完全に理解するために、筆者はその回路のシミュレーションを実施することにしました。

その回路では、アナログ・スイッチとオペアンプを使用していました。使用していたオペアンプについては、シミュレーション用の適切なマクロモデルが存在していま

Analog Dialogue 54-01、2020年1月Share on Twitter LinkedIn Facebook Email

analog.com/jp/analog-dialogue 1

Analog Dialogue 54-012

オン抵抗を表現するLTspiceのモデル・パラメータの

作成

上述したように、ここでは最もシンプルなモデルを使用して、現実のMOSデバイスの動作を再現できるようにします。オン抵抗のモデル化に使用したパラメータは以下のとおりです。

X W / L: M O Sデバイスの幅 Wを長さ Lで割った値です。W/Lは、デバイスのサイズ、または相対的な強度(能力)を表します。

X V TO、gamma:V TOは閾値電圧です。V TOはデバイスのバックバイアスによって変動します。その変動を表すのに使用するのが g a m m aです。ここで言うバックバイアスとは、オンしているデバイスとそのボディの電圧の差のことです。通常、スイッチのPMOSのボディは正の電源、NMOSのボディは負の電源に接続されます。

X K P:プロセスの強度をモデル化するパラメータです。モデル内のK PはK'またはK-pr imeとしても知られています。M O Sの電流は、これにW / Lを乗じた値でスケーリングされます。任意のプロセスにおいて、NMOSのK PはPMOSのK Pの約2.5倍になります。

X R D:デバイスのドレインの寄生抵抗です。

MOSの各パラメータの値は、製造プロセスごとに異なります。表1に、一般的なC M O Sプロセスにおいてオン抵抗に関連するパラメータの代表的な値をまとめました。

表1. 標準的な半導体プロセスのパラメータ

電圧ノード〔V〕

デバイスの 構造

ゲート 酸化膜の厚さ〔m〕

VTO

(n/p) 〔V〕

gamma (n/p) 〔V0.5〕

KP

(n/p) 〔μA/V2〕

L 〔μm〕

RD (n/p) 〔Ω〕

40ドレイン・ドリフト領域

10–7 0.7/ –0.9

0.4/ –0.57 11/5 2

RDS,ONの約80%以下

15ソフト・ドレイン拡散

4×10–8 0.7/ –0.9

0.4/ –0.57 22/10 1.5

RDS,ONの約20%以下

5 シンプル

1.4 × 10–8

0.7/ –0.9

0.4/ –0.57 80/28 0.5 ほぼ0

ここでは、SPDTスイッチ「ADG333A」の性能を再現することを目指します。ADG333Aのオン抵抗R ONの特性を図1に示しました。

一般に、アナログ・スイッチでは電源電圧が高いほどオン抵抗は小さくなります。図1のグラフでもその傾向が見てとれます。スイッチのMOSゲートに印加される電圧が高いほど、オン抵抗は小さくなります。

20

30

40

50

60

10–15 0–10 –5 5 10 15

R ON〔

Ω〕

VD、VS 〔V〕

TA = 25°C

M領域

M領域

VDD = +5VVSS = –5V

VDD = +10VVSS = –10V

VDD = +15VVSS = –15V

N領域

N領域

N領域

M領域P領域

P領域

P領域

図 1 . V D、V S〔V〕の関数として

R O Nを表したグラフ

また、印加される電圧に応じ、オン抵抗にはアナログ的に明らかな差が出ることも確認できます。N領域では、スイッチ内のNMOSトランジスタが完全にオンになります。そして、印加される電圧が負の電源レールの電圧を上回ると共にPMOSトランジスタがオンになり、全体的なオン抵抗が低下します。N領域の変曲点は、負の電源電圧よりも上のPMOSのV TO付近にあります。

同様に、P領域では、スイッチのP M O Sデバイスが完全にオンになります。また、正の電源電圧より下のNMOSのV TO付近で、PMOSトランジスタの動作にNMOSトランジスタが寄与し始めます。

N領域と P領域の中間に当たる M領域では、 N M O SとPMOSが並列に動作します。それぞれのオン抵抗は、電源間のアナログ信号のレベルによってまちまちとなります。

カーブフィッティングの処理を行うために、まずは各トランジスタのサイズを見積もります。低電圧の領域のグラフは、トランジスタのR DS,ONに最もフィットします。N領域でアナログ信号が負の電源電圧と等しい場合にはPMOSがオフになり、アナログ・スイッチとしてのR ONはNMOSのR ONと等しくなります。

1RDS, ON =

kP (vgs – VTO)WL

(1)

上式に、4 0 VのプロセスにおけるN M O Sの標準的な値を代入し、図1のグラフからR DS,ONを38Ωとすると、W NMOS = 2μA/(38Ω×(11×10 -6μA/V 2)×(10V - 0.7V)) = 514μmという値が得られます。同様に、図1のグラフからPMOSスイッチのオン抵抗は47Ωです。これを基に計算を行うとPMOSの幅は936μmとなります。

Analog Dialogue 54-01 3

という値は既に現実的な最小値です。そこで、P M O Sのgammaを調整します。そもそもこの値は適当に設定したものでした。

電源電圧が30Vの場合、印加電圧がそれよりも2 .5V低いところでグラフが屈曲しています。データシートによると、この値は約 1 Vでなければなりません。 g a m m aに様々な値を設定してみたところ、電源電圧からより離れた印加電圧で屈曲してしまいました。そこで、NMOSのV TO

を1V、gammaをゼロに設定してみました。gammaがゼロというのは想定外ですが、ここでの目的はあくまでもカーブフィッティングです。図4に示したのは、複数の電源電圧に対してPMOSのgammaの値をステップで変化させた場合のシミュレーション結果です。ここでは、電源電圧が低い場合と比べてgammaの影響が大きい、電源電圧が30Vのグラフに着目します。gammaの値をステップで変化させた複数のグラフから、PMOSのgammaの値として0.4を選択することにします。

20

30

40

50

60

100 15

(V(toggle)-V(on_side))/0.001A

5 10 20 25 30

R〔

Ω〕

ON

VD、VS 〔V〕

図 4 . g a m m a - pを変化させた場合の

オン抵抗のシミュレーション結果

LTsp iceで検証を行うために、図2のようなテスト用の回路を構成しました。寄生ドレイン抵抗のパラメータであるR DNとR DPとして控えめな値を設定している点に注意してください。最初に値を1μに設定したところ、シミュレーションの収束に時間を要しました。R DNの値を1に設定したところ、適切なシミュレーション速度が得られました。R CONVERGENCEを追加すると、 t ogg l eノードのコンダクタンスが収束するようになり、シミュレーションにおけるノイズと速度が改善しました。また、オン抵抗を測定するためにフローティング電流源を使用しました。

図3に、電源電圧を様々な値に変化させた場合のシミュレーション結果を示しました。

20

30

40

50

60

100 15

(V(toggle)-V(on_side))/0.001A

5 10 20 25 30

R ON

〔Ω〕

VS 〔V〕

図 3 . 初期のモデルによる

オン抵抗のシミュレーション結果

出発点としては良好な結果が得られました。電源電圧が30Vの場合、印加電圧が低い側でグラフが屈曲するのは、シミュレーションではV Sが3.6V、データシート上ではV S

が2.7Vのポイントとなっています。つまり、PMOSのV TO

を下げた方がよいということになります。ただ、 0 . 9 V

図 2 . オン抵抗のテスト用回路

Vs

{Vs}

.model 40V_NMOS nmos (Vto=0.7 Kp=11e-6 Gamma=0.4 Rd={Rdn})

.model 40V_PMOS pmos (Vto=0.9 Kp=5e-6 Gamma=0.57 Rd={Rdp})

.dc Von_side 0 {Vs} 0.05

.step param Vs list 10 20 30***.step param Rdn 0 20 2***.step param Rdp0 20 2***.step param Wn 300u 800u 50u***.step param RDn 1 11 2

.param Von_side={Vs/2}

.param Vs=10

.param Wn=514u

.param Wp=936u

.param L=2u

.param Rdn=1

.param Rdp=1

.param k=0.4

.options plotwinsize=0

ltest

0.001

toggle

NMOS_on_when_high

PMOS_on_when_low

Vs

Rconvergence

1e9

Mpm

os1

40 V

_PM

OS

Mnm

os1

40 V

_NM

OS

{Von_side}AC 1

on_side

Von_side

V1

{Vs}

E1+–

1.0

Analog Dialogue 54-014

次はR O Nです。電源電圧が 1 0 Vのグラフを見ると、印加電圧が最大/最小である場合の値は、データシートに掲載されたグラフの値とほぼ一致します。一方、電源電圧が2 0 Vと3 0 Vのグラフでは、シミュレーションによって得られるR O Nの値が小さすぎます。R O Nは、印加電圧が負の最小値である場合、R D S , O N( N M O S ) + R D( N M O S )に一致します。一方、印加電圧が正の最大値になる場合には、R DS,ON(PMOS) + R D(PMOS)に一致します。印加電圧が大きい場合、RDの影響がW/Lの影響よりも大きくなります。一方、低い場合には、W/Lの影響の方が大きくなります。ここでは2つの変数を調整しなければならないので、面倒な作業が発生します。そこで、NMOSのエンハンスが可変であることから、R ONは印加電圧に依存して変化しますが、R Dの値は印加電圧によって変化することはないと仮定します(ドレインがドリフト領域にある場合は変化する可能性がありますが、議論を簡略化するために、このように仮定します)。データシートを見ると、電源電圧が10Vの場合と30Vの場合のRONの差が11.4Ωであることを確認できます。ここで、W N(スイッチのNMOSの幅)だけを変化させてグラフを比較します。W Nを変化させて少しシミュレーションを繰り返すと、必要なΔR ONを得るためには、W N = 1170μmという最初の見積もり値よりもかなり大きな値が必要であることがわかります。図5に、この時点での結果を示します。

20

10

30

40

50

60

00 15

(V(toggle)-V(on_side))/0.001A

5 10 20 25 30

R ON〔

Ω〕

VD、VS 〔V〕

図 5 . W Nの値を決定した時点の

オン抵抗のシミュレーション結果

20

30

40

50

60

100 15

(V(toggle)-V(on_side))/0.001A

5 10 20 25 30

R ON

〔Ω〕

VD、VS 〔V〕

図 6 . R D Nの値を決定した時点の

オン抵抗のシミュレーション結果

NMOSのR ONと印加電圧の関係は適切ですが、グラフ上では印加電圧が0Vにおける値が低すぎます。そこで、固定されているR DNの値を大きい値に設定し直す必要があります。R DNを増加させながらシミュレーションを繰り返した結果、R DN = 22Ωが最良の値であることがわかりました。これを適用したシミュレーション結果を図6に示します。

次に、印加電圧を最大にした場合のR ONのシミュレーション値を最適化するためにW P(スイッチのPMOSの幅)を求めます。その結果、W P= 1700μmという値が得られました。こちらも最初の見積もり値よりかなり大きい値になりました。R D Pを2 2 Ωに設定した場合の最終的なR O Nのシミュレーション結果を図7に示しました。

20

30

40

50

60

100 15

(V(toggle)-V(on_side))/0.001A

5 10 20 25 30

R ON〔

Ω〕

VD、VS 〔V〕

図 7 . W PとR D Pの値を決定した時点の

オン抵抗のシミュレーション結果

Analog Dialogue 54-01 5

データシートに掲載されたグラフとの違いはわずかです。違いの1つは、データシートのグラフでは変曲点が滑らかであるのに対し、シミュレーションでは尖っている点です。その原因は、おそらく、使用したシンプルなMOSのモデルがサブスレッショルド領域の伝導特性をサポートしていないことです。シミュレーション用のデバイスでは、V TOで完全にオフになるということです。現実のデバイスは、VTOで完全にオフになるわけではありません。VTO

以下の電圧では電流が徐々に減少します。

もう1つの違いは、電源電圧が30Vのグラフで最も顕著になります。それは、印加電圧の中央値において、R ONがデータシートよりも15%低くなっている点です。その原因は、おそらくドレイン・ドリフト領域におけるJFET効果がモデル化されていないことです。

図8に示すように、温度については、データシートのグラフとシミュレーション結果は完全に一致するわけではありません。それでも、相応の結果が得られています。

シミュレーション結果も温度に依存して変化していますが、その依存性はデータシートのグラフほど大きくはあり

ません。その原因としては、シミュレーション・モデルのRDの項に温度係数が存在しないことが挙げられます。温度係数を持つ外部抵抗によってRDをモデル化することもできますが、ここでは議論を簡素化するために省略します。

チャージ・インジェクション用のモデル・

パラメータ

MOSトランジスタがオフになる際には、ドレイン端子やソース端子を介して、チャンネルの電荷がどこかに放出されます。アナログ・スイッチがオフになるときにも、この電荷の放出が発生します。これをチャージ・インジェクションと呼びます。これを測定するための一般的な方法は、オンしているスイッチの一端の電圧を固定して、もう一端に大きなコンデンサを配置するというものです。スイッチをオフにすると、電荷がコンデンサに蓄積され、小さな電圧ステップが生じます。そこで、ゲート酸化膜の厚さであるT OX = 1×10 -7をMOSのモデルに追加します(チャージ・インジェクションの最大の要因はゲート容量です)。図9にシミュレーション用の回路を示しました。

20

15

25

30

40

35

45

100 123 6 9 15

(V(toggle)-V(on_side))/0.001A

18 21 24 27 30

R ON

〔Ω〕

VD、VS 〔V〕

20

15

25

30

40

35

45

10–15 –10 –5 0 5 10 15

R ON

〔Ω〕

VD、VS 〔V〕

VD = +15VVS = –15V

+125°C+85°C+25°C–40°C

図 8 . 温度を変化させた場合のオン抵抗のシミュレーション結果。

データシートに掲載されたグラフも示しています。

Vs

Vs

.model 40V_NMOS nmos (Vto=0.7 Kp=11e-6 Gamma=0 Rd=22 tox=0.1u)

.model 40V_PMOS pmos (Vto=0.9 Kp=5e-6 Gamma=0.4 Rd=22 tox=0.1u)

***.dc Vd 0 {Vs} 0.05.tran 100n

***.step param Vs list 12 33.step param Vd 0 30 0.2

***.step temp list ‒40 25 85 125

.param Vs=30

.param Vd={Vs/2}

.param Wn=1170u

.param Wp=1700u

.param L=2u

.options plotwinsize=0

.meas TRAN Charge_Injection find (V(S)‒V(D))*10n at=99n

0.3fF

NMOS_on_when_high

PMOS_on_when_low

Ccharge_injection

Rconvergence

1e9

Mpm

os1

40 V

_PM

OS

Mnm

os1

40 V

_PNO

S

S

Cl

VD

{Vd}Rser = 0.1

{Vs}Rser = 0.1

D

10nF

V1 E1+‒

1.0

PULSE({Vs} 0 1 n 20 n 20 n 1 µ 2 µ)

Rser = 0.1

図 9 . チャージ・インジェクションのシミュレーション用回路

Analog Dialogue 54-016

24.0012

24.0010

24.0008

24.0006

24.0004

24.0002

24.0000

24.0018

24.0016

24.0014

24.0020

23.99980 10 20 30 40 50 60 70 80 90 100

V D、

V S〔V〕

時間〔ナノ秒〕

V(s)V(d)

図 1 0 . チャージ・インジェクションの

シミュレーション波形

データシートには、チャージ・インジェクションのテストを実施するための回路が掲載されています。その回路では、スイッチのD端子に電圧源を配置し、スイッチのS端子にコンデンサC lを配置しています。スイッチのトランジスタがオフになるとき、C lは隔離され、スイッチから注入される電荷が蓄積します。電源電圧を3 0 Vとし、V Dを24Vに固定した場合のシミュレーション波形を図10に示します。

注入される電荷量は、V(s)とV(d)の電位差にホールド用のコンデンサの容量10nFを乗じた値になります。電源電圧の範囲でスイッチの電圧V Dを変化させて . m e a s文を使用すれば、各電圧における注入電荷量を測定することができます。図11に、シミュレーション結果とデータシートに掲載されたグラフを示しました。

シンプルなMOSモデルを使用しているため、シミュレーション結果の波形はデータシートのグラフと同様にはなりません。しかし、ピーク t oピークの注入電荷量に注目すると、データシートのグラフでは32pC、シミュレーション結果では31pCと、驚くほど近い結果が得られています。必要があれば、TOXを調整することで、シミュレーション結果を完璧なものにすることも可能です。

両グラフの間のオフセットは、 C C H A R G E _ I N J E C T I O Nを使用することで補正できます。いくつかの値を試した結果、 C C H A R G E _ I N J E C T I O Nの最適な値として 0 . 2 8 p Fを選択することにしました。逆極性のシフトが必要な場合には、C CHARGE_INJECTIONをPMOS_on_when_ lowノードに接続し直します。

調整用のコンデンサであるC CHARGE_INJECTIONは、チャージ・インジェクションとアナログ印加電圧のシミュレーション結果のオフセットを調整するために有効に機能します。では、シミュレーションにおけるピークtoピークの注入電荷量が小さすぎる場合にはどうすればよいのでしょうか。チャージ・インジェクションのほとんどは、スイッチのゲート電圧が変化することにより、そのゲート容量を介して電荷が移動することで発生します。したがって、電荷の注入量のシミュレーション結果が小さすぎる場合には、単純に一方または両方のゲート領域を大きくすればよいということになります。それには、スイッチのトランジスタにおいて、LとWのパラメータを同じ比率で大きくします。それにより、オン抵抗に影響を及ぼすW/Lが変わらないようにします。C CHARGE_INJECTIONを使用するのではなく、NMOSのWとLを大きくするということです。

あるいは、各デバイスのT O Xを調整することで、チャージ・インジェクションの相関性を高めるという方法もあります。現実のデバイスでは不可能な方法ですが、シミュレーションにおいては有効です。ここで使用しているシンプルなモデルの場合、TOXが他の動作に影響を及ぼすことはありません。

–10

–15

–5

0

10

15

5

20

–20–15 –10 –5 0 5 10 15

Q〔

pC〕

VD、VS 〔V〕

VDD = +12VVSS = 0V

VDD = +16.5VVSS = –16.5V

CL = 10nF

–10

–15

–5

0

10

15

5

20

–20–15 –10 –5 0 5 10 15

Q〔

pC〕

VD、VS 〔V〕

VS+ = 16.5VVS– = –16.5V

図 1 1 . チャージ・インジェクションの波形。データシートに掲載された

グラフとシミュレーション結果を示しています。

Analog Dialogue 54-01 7

容量用のモデル・パラメータ

ここまでで、R ONとチャージ・インジェクションについて適切なシミュレーション結果が得られるようにパラメータを設定することができました。続いては、S端子とD端子の容量のシミュレーションに注目します。

重要なのは、高電圧に対応するM O Sスイッチのドレイン領域とソース領域には、それぞれドリフト領域が必要だということです。アナログ・スイッチでは、ソースとドレインに機能的な違いはありません。ドレインとソースのボディ電位には、それぞれドリフト領域が必要になります。中程度の電圧のソフト拡散についても同じことが言えますが、低電圧のMOSにはドリフト領域は存在しません。ここまでは、ドレインとソースの両方に存在するドリフト領域抵抗をR Dにまとめる方法を採用してきました。スイッチについてはそれでうまくいきましたが、飽和トランジスタにはこの方法は適用できません。図12に、シミュレーション用の回路を示します。

LTs p i c eでは、1つの周波数に対してのみA C解析( . a c)を実行することができます。ここでは . a cの l i s tオプションを使用しますが、その引数には周波数を1つだけ(ここでは1MHz)指定します。続いて .s tep文を実行し、VSOURCE

のDC電圧を電源電圧の範囲内で変化させることにより、容量と電圧の関係を表すグラフを取得します。

オフしているスイッチのD端子では、電圧は中間値で維持されます。S端子(V Sと混同しないように、ここでは名前をsourceに変更しています)は、電圧源によって駆動します。DC値は0V~V Sの範囲で掃引し、AC駆動は1Vとします。容量値は、 I (V SOURCE) / (2×π×1MHz×1V)で計算できます。ロジック信号V1を0Vに変更することにより、トランジスタをオフにします。

バルクに対するドレイン容量とソース容量は、 .model文ではそれぞれCBDとCBSで表されます。モデルに組み込まれているデフォルトの濃度、電圧、指数により、CBDとCBSの電圧は可変となります。両者は対称なので、ドレイン容量とソース容量の値は等しくなります。また、PMOSとNMOSの幅は異なるため、C BD,NMOS/C BD,PMOS = C BS,NMOS/C BS,PMOS = W N/W Pとなります。W N/W Pの値は、オン抵抗のモデル化を行う際に定めたとおりです。

図13にシミュレーション結果を示しました。グラフに示されているのは、 I ( V S O U R C E) / ( 2 × π × 1 M H z )によって計算される容量値です。LTs p i c eはこのことを認識しないので、pFではなくpAを単位として表示します。

Vs

Vs

.model 40V_NMOS nmos (Vto=0.7 Kp=11e-6 Gamma=0 Rd=22 + tox=0.1u cbd=9p cbs=9p)

.model 40V_PMOS pmos (Vto=–0.9 Kp=5e-6 Gamma=0.4 Rd=22+ tox=0.1u cbd=13.5p cbs=13.5p)

***.dc Vsource 0 {Vs} 0.05***.tran 100n.ac list 1e6

***.step param Vs list 12 30.step param Vsource 0 12 0.2

***.step temp list –40 25 85 125

.param Vs=12

.param Vd={Vs/2}

.param Vsource={Vs/2}

.param Wn=1170u

.param Wp=1700u

.param L=2u

.options plotwinsize=0

***.meas TRAN Charge_Injection �nd (V(S)–V(D))*10n at=99n.meas AC lsource FIND mag(i(Vsource)) at=1e6

0.28pF

NMOS_on_when_high

PMOS_on_when_low

Rconvergence

1e9

Mpm

os1

40 V

_PM

OS

Mnm

os1

40 V

_PM

OS

source

Cstray

VD

{Vd}Rser = 0.1

{Vs}Rser = 0.1

{Vsource}AC 1.0Rser = 0.1

Vsource

D

2pF

V1 E1+–

1.0Rser = 0.10

Ccharge_injection

図 1 2 . スイッチがオフのときの容量値をシミュレーションするための回路

11.7

10.8

12.6

13.5

14.4

15.3

17.1

18.0

16.2

19.8

18.9

9.90 1 2 3 4 5 7 9 116 8 10 12

C OFF

〔pF〕

VD、VS (V)

10

8

12

11

9

13

16

18

17

15

14

19

70 3 6 9 12 15

I(Vsource)/(2 × pi × (1 × 106)) I(Vsource)/(2 × pi × (1 × 106))

18 21 24 27 30

C OFF

〔pF〕

VD、VS (V)

図 1 3 . スイッチがオフのときのD C電圧と容量値の関係。

V Sが 1 2 V(左)、 3 0 V(右)の場合のシミュレーション結果です。

Analog Dialogue 54-018

残念ながら、比較の対象となるグラフはデータシートには掲載されていません。データシートに掲載されている仕様の表から、容量の標準値(おそらく電圧が中間値である場合の値ですが、データシートには明記されていません)が、電源電圧が 3 0 Vの場合に 7 p F、 1 2 Vの場合に1 2 p Fであることはわかります。C Bを調整することにより、電源電圧が3 0 Vで7 p Fになるという結果は得られましたが、電源電圧が1 2 Vのシミュレーションでは調整を行っても10pFという結果しか得られませんでした。組み込まれている電位と容量の式の指数部分を調整してみましたが、使用したモデルでは電源電圧が1 2 Vと3 0 Vの両方の結果をそれ以上改善することはできませんでした。

図14は、スイッチがオンの状態における容量値のシミュレーションを実行するための回路です。この回路において、S P D Tスイッチを構成する右側のスイッチはオン、左側のスイッチはオフでV S/2の電圧源に接続されています。左側のスイッチの右半分の容量と右側のスイッチの全容量、そしてD端子とS端子における不可避の寄生容量はすべて並列に存在し、電圧源V_sの1MHzのテスト用信号によって駆動されます。図15に、V_sのDCレベルをグラウンドからV Sまで変化させた場合の結果を示します。

各容量値はデータシートでは 2 6 p F、 2 5 p Fとなっています。それに対し、シミュレーション結果としては29.5pF、21.4pFという値が得られました。現実の回路では、基板のレイアウトによって容量値がばらつきます。それを考慮すると、十分に近い結果が得られたと判断してよいでしょう。

リーク電流

データシートには、リーク電流に関するグラフが掲載されています。それによれば、25℃において電圧に依存するリーク電流は、pAのレベルになります。データシートの仕様では、リーク電流は数百pAであるということしか保証されていませんが、25℃においてはより優れた結果になるはずです。このデバイスをテストする際には、わずかなリーク電流について保証するのはそれほど重要ではないと見なされていたようです。公平を期すために記すと、10pA未満の電流を正確に測定するにはかなりの労力と時間を要します。

85℃におけるリーク電流の保証値は数nAで(このレベルの値であれば問題なく測定できます)、標準値は数百pA程度です。筆者はこの標準値を受け入れることにします。

リーク電流は製品が抱える欠点です。厳密な統計値は存在せず、温度によって大きく変化します。リーク電流に関する仕様は、設計の拠り所になるものだとは言えません。ただ、リーク電流は、接続する回路に混乱を与える存在であることは間違いないはずです。マクロモデルを使用したシミュレーションによって、一定の大きさのリーク電流が確認されたとします。それは、設計者に対して回路に欠陥があることを知らせる有益な警告になるでしょう。ここでは、オンの状態にあるスイッチのリーク電流の目標値として、85℃で1nAという値を設定することにします。

Vs

Vs

V_S

.model 40V_NMOS nmos (Vto=0.7 Kp=11e-6 Gamma=0 Rd=22 + tox=0.1u cbd=9p cbs=9p))

.model 40V_PMOS pmos (Vto=–0.9 Kp=5e-6 Gamma=0.4 Rd=22+ tox=0.1u cbd=13.5p cbs=13.5p)

***.dc Vsource 0 {Vs} 0.05***.tran 100n.ac list 1e6

***.step param Vs list 12 30.step param Vsource 0 12 0.2

***.step temp list –40 25 85 125

.param Vs=12

.param Vd={Vs/2}

.param Vsource={Vs/2}

.param Wn=1170u

.param Wp=1700u

.param L=2u

.options plotwinsize=0

***.meas TRAN Charge_Injection �nd (V(S)–V(D))*10n at=99n.meas AC lsource FIND mag(i(Vsource)) at=1e6

0.28pF

Mpm

os1

Mpm

os2

Mnm

os1

Mnm

os2

40 V

_PM

OS

40 V

_PM

OS

40 V

_NM

OS

40 V

_NM

OS

{Vs}Rser = 0.1

DS

2pF 2pF

PMOS_on_when_low

Rconvergence0.28pF

Rconvergence

1e9 1e9

source

Vsource

{Vs/2}Rser=0.1

{Vsource}AC 1.0Rser = 0.1

NMOS_on_when_high

V1 E1+–

1.0Rser = 0.10

Ccharge_injection Ccharge_injection2

CstrayD CstrayS

図 1 4 . スイッチがオンのときの容量値をシミュレーションするための回路

32

30

34

36

38

40

44

46

42

54

48

50

52

280 1 2 3 4 5 7 9 116 8 10 12

C ON

〔pF〕

VD、VS (V)

30

24

36

33

27

45

51

48

42

39

54

210 3 6 9 12 15 18 21 24 27 30

C ON

〔pF〕

VD、VS (V)

I(V_s)/(2 × pi × (1 × 106)) I(V_s)/(2 × pi × (1 × 106))

図 1 5 . スイッチがオンのときのD C電圧と容量値の関係。

V Sが 1 2 V(左)、 3 0 V(右)の場合のシミュレーション結果です。

Analog Dialogue 54-01 9

ここで使用するモデルでは、R CONVERGENCEとG MINの電流以外にリーク電流は存在しません。G MINは、シミュレーションの収束を支援するためにシミュレータによってジャンクション間に配置された抵抗です。公称コンダクタンスは1×10 -12ですが、30Vの電圧を使用する場合には、30pAの何倍かに相当する電流が流れる可能性があります。この電流値は、検討を行う上では大きすぎる値です。そこで .opt ions文によってG MINを1×10 -15に減らし、R CONVERGENCE

を1×10 15に増やすことにします。

おそらく、リーク電流の主な発生源は個々のピンに接続されているESD(静電放電)保護用のダイオードです。そこで、図16のシミュレーション用の回路では、それに相当するダイオードを追加しています。ダイオードのモデルにおいて I sを調整した結果、リーク電流と温度の関係は図17のようになりました。

Vs

Vs

V_S

.model 40V_NMOS nmos (Vto=0.7 Kp=11e-6 Gamma=0 Rd=22 + tox=0.1u cbd=9p cbs=9p))

.model 40V_PMOS pmos (Vto=–0.9 Kp=5e-6 Gamma=0.4 Rd=22+ tox=0.1u cbd=13.5p cbs=13.5p)

.model Dleak D (ls=2.8e–13)

***.dc Vsource 0 {Vs} 0.05***.tran 100n.ac list 1e6.op

***.step param Vs list 12 30***.step param Vsource 0 30 0.2

***.step temp 25 125 5

.param Vs=30

.param Vd={Vs/2}

.param Vsource={Vs/2}

.param Wn=1170u

.param Wp=1700u

.param L=2u

.options plotwinsize=0 gmin=1e–15

***.meas TRAN Charge_Injection �nd (V(S)–V(D))*10n at=99n.meas AC lsource FIND mag(i(Vsource)) at=1e6

0.28pF

Mpm

os1

Mpm

os2

Mnm

os1

Mnm

os2

40 V

_PM

OS

40 V

_PM

OS

40 V

_NM

OS

40 V

_NM

OS

{Vs}Rser = 0.1

DS

2pF 2pF

PMOS_on_when_low

Rconvergence0.28pF

Rconvergence

1e15 1e15

source

Vsource

{Vs/2}Rser=0.1

{Vsource}AC 1.0Rser = 0.1

NMOS_on_when_high

V1 E1+–

1.0Rser = 0.10

Ccharge_injection Ccharge_injection2

CstrayD

DleakDDleakS

DleakDleak

CstrayS

図 1 6 . リーク電流のシミュレーションを行うための回路

1 pA

10 pA

100 pA

10 nA

1 nA

100 nA

0.1 pA25 35 45 55 65 85 11575

–I(V_S)

95 105 125

リーク電流

温度〔℃〕

図 1 7 . リーク電流と温度の関係を表すシミュレーション結果

Analog Dialogue 54-0110

ロジック・インターフェースとゲート・ドライバ

図 1 8に示したのは、ロジック信号によってゲートを駆動する処理を再現する純粋なビヘイビア回路です。外部ロジック入力は、図 1 8の左端にある I nです。これは、線形の伝達関数を備える理想的なトランスコンダクタンスG l o g i c _ t h r e s h o l d aへの入力です。ロジック入力が1 . 3 7 Vよりも低い場合、 l o g i c aノードにおける出力は0 Vです。入力が1 . 4 3 Vよりも高い場合には、 l o g i c aノードの出力は1 Vになります。入力が1 . 3 7 V~1 . 4 3 Vである場合、 logicaの電圧は0Vから1Vまで直線的に変化します。つまり、Glogic_thresholdaでは、電源の変化に左右されることなく、1.4Vの入力閾値が再現されます。

Cdelayaは、 logicaノードの変化を一時的に減速させ、その過渡電圧を数回測定できるようにするためのものです。コンパレータを構成するために、ここでもトランスコンダ

クタンスを使用しています。G_breakbeforemakenaの出力も0 V~1 Vですが、閾値は0 . 5 Vよりも少し高い値に設定しています。図19に示したように、ピックオフ電圧を0 .5Vではなく0 .52Vと0 .57Vにすることで、1Vから指数的に低下する際のオフ時間を、0Vから指数的に上昇する際のオン時間よりも速くすることができます。

ゲート駆動電圧は、B_nonaとB_ponaのビヘイビア電流源によって生成します。B_nonaは、n_breakbeforemakenaノードの電圧が 0 . 5 Vよりも高い場合、( 1 0 0 0 Ωの抵抗を負荷として配置しているので) V D D / 1 0 0 0 の電流を供給して n o n aノードの電圧をV D Dに駆動します。 n _breakbe fo remakenaノードの電圧が0 .5Vよりも低い場合には、ノードnonaの電圧はV SSに駆動されます。これにより、電源電圧に適合し、1 .4Vという固定の入力閾値を備える良好なレール toレールのゲート駆動を実現できます。

+–

+– Rnona

1000ΩRpona1000Ω

ponaB_pona

nonaB_nona

1.0Ω

1.0Ω

logica

Cdelaya

Glogic_thresholda

Rlogic_thresholda

Rsupply_sensitivitya

Bsupply_sensitivitya

I = (0.25 + 15/V(Vdd)) × (V(n_supply_sensitivitya)/0.002)

n_su

pply

_sen

sitiv

itya

0.001Ω

table = (1.37 0, 1.43 1)

In

table = (0.52 0, 0.57 1.0)

R_breakbeforemakena

G_breakbeforemakena{60nF × (1+1.7 × (temp–27)/300)}

I-if(V(n-breakbeforemakena)>0.5、V(Vss)1000、V(Vdd)/1000)

n_breakbeforemakena

I-if(V(n-breakbeforemakena)>0.5, V(Vdd)1000, V(Vss)/1000)

図 1 8 . ロジックとゲートのインターフェースを再現するビヘイビア回路

–6

–9

–12

–15

0

–3

3

15

12

9

6

18

–18

ゲート駆動電圧〔

V〕

時間〔マイクロ秒〕

0.2

0

0.1

0.3

0.4

0.5

0.7

0.8

0.9

0.6

1.0

–0.10 0.1 0.2 0.3 0.4 0.5 0.70.6 0.8 0.9 1.00 0.1 0.2 0.3 0.4 0.5 0.70.6 0.8 0.9 1.0

内部ノードの電圧〔

V〕

時間〔マイクロ秒〕

V(logica)V(logicb)ヒステリシスの閾値

V(nona)V(pona)

図 1 9 . 各信号の波形。ブレーク・ビフォア・メーク動作の

タイミングが実現されています。

Analog Dialogue 54-01 11

説明しなければならない特性がもう1つあります。図20において、電源電圧が高いほど遅延時間が短くなっている点に注目してください。これは、Bsupply_sensi t iv i tyaによって実現されています。Bsupply_sens i t iv i tyaは、V DDと共に変化する動的電流の一部をC d e l a y aにフィードバックします。Rsupply_sens i t iv i tyaにCdelayaの電流が流れることによって生じる電圧降下はごくわずかです。したがって、C d e l a y aは純粋なコンデンサとほぼ同じように動作します。Cdelayaの電流を複製してCdelayaにフィードバックすると、制御が可能な可変コンデンサが形成されます。B s u p p l y _ s e n s i t i v i t y a内部の性質に基づき、図20に示すV DDと遅延の関係が得られます。

V DDが4Vの場合のTONの遅延は、データシートのグラフでは140ナノ秒となっています。それに対し、シミュレーションでは、111ナノ秒という結果が得られました。V DDが15Vの場合には、データシートでは60ナノ秒、シミュレーションでは77ナノ秒となっています。非常に相関性が高いとは言えませんが、Bsupp ly_sens i t iv i tyの関数を調整して結果を更に改善するかどうかは読者の判断に委ねたいと思います。少なくとも、ブレーク・ビフォア・メーク動作にかかる時間は、15ナノ秒~24ナノ秒の間に適切に収まっています。

データシートでは、遅延と温度の関係についての詳しいデータは示されていません。シミュレーションでは、温度が高い場合に生じる減速だけでもモデル化するために、C d e l a y aに温度の項を追加しました。その結果を図21に示します。

40

30

20

50

60

70

90

100

80

130

110

120

1025 35 45 55 65 75 95 11585 105 125

シミュレーション上のスイッチング時間〔ナノ秒〕

温度〔℃〕

tonto�tbreakbeforemake

図21. 遅延と温度の関係を表すシミュレーション結果

30

20

40

50

60

80

90

70

120

100

110

104 5 6 7 8 9 11 1410 12 13 15

スイ

ッチ

ング

時間

〔ナ

ノ秒

シミュレーション上の VD 〔V〕

100

80

140

120

160

600 5 10 15 20

スイ

ッチ

ング

時間

〔ナ

ノ秒

VD 、VS 〔V〕

VD = +2VVS = ‒2V

tontofftbreakbeforemake

図 2 0 . ブレーク・ビフォア・メーク動作のタイミング。

シミュレーションの結果とデータシートに掲載されたグラフを示しています。

Analog Dialogue 54-0112

マクロモデルの組み上げ

図 2 2 に 示 し た の は 、 こ こ ま で の 結 果 を 組 み 合 わ せて構築したアナログ・スイッチのサブサーキットです。トランジスタのシンボルには、パラメータの代わ り に L と W の 固 定 値 を 記 し て い ま す 。 ま た 、 励 起と I / O に 使 用 す る 回 路 は す べ て 取 り 除 き 、 代 わ り にSA、D、SB、 In、V DD、V SS、Gnd_pinの各ピン接続を設けました。

この回路では、S P D Tスイッチを構成する 2つ目のトランジスタ・ペア向けに、2つ目のロジック・インターフェースを追加しています。ESD保護用のダイオードは、アナログ端子とV S Sの間と、ロジック端子である I nとグラウンドの間に挿入しています。上半分のロジック・イ

ンターフェース・デバイスの名前には「 - a」という接尾辞を付与しています。一方、下半分のインターフェースは、それらを複製し、接尾辞を「 -b」にしたノードで構成しました。Glogic_thresholdbインターフェースの出力は、Glogic_ thresholdaの tableとは逆に設定しています。これにより、両スイッチは同時にオンになることはなく、必ずいずれか一方だけがオンになります。

追加のESD保護機構として、保護ピンとV DD、V SSの間にダイオード、V DDとV SSの間にクランプ回路を挿入することもできます。通常、データシートにはこの保護機構に関する記述があり、リーク電流は両方の電源に割り当てられます。

+– +

– Rnona1000Ω

Rpona1000Ω

0.28pF 0.28pF

ponaB_pona

nonaB_nona

1.0Ω

1.0Ω

logica

CdelayaGlogic_thresholda

Rlogic_thresholda

Rsupply_sensitivitya

Dln

Dleak

Bsupply_sensitivityan_su

pply

_sen

sitiv

itya

0.001Ω

table = (1.37 0, 1.43 1)

table = (0.52 0, 0.57 1.0)

R_breakbeforemakena

G_breakbeforemakena{60 nF (1 + 1.7 × (temp-27)/300)}

I-if(V(n-breakbeforemakena)>0.5, V(Vss)1000, V(Vdd)/1000)

n_breakbeforemakena

I-if(V(n-breakbeforemakena)>0.5, V(Vdd)1000, V(Vss)/1000)

+– +

– Rnonb1000Ω

Rponb1000Ω

ponb

B_ponb

nonb

B_nonb

1.0Ω1.0Ω

logicb

Glogic_thresholdb

Rlogic_thresholdb

Rsupply_sensitivityb

Bsupply_sensitivitybn_su

pply

_sen

sitiv

ityb

0.001Ω

table = (1.37 1, 1.43 0)

table = (0.50, 0.55 1.0)

R_breakbeforemakenb

G_breakbeforemakena

I=(0.25+15/V(Vdd))*(V(n_supply_sensitivitya)/0.002)

I = (0.25 + 15/V(Vdd)) × (V(n_supply_sensitivityb)/0.002)

n_breakbeforemakenb

Mpm

osA

40V_

PMO

S

Mpm

osB

40V_

PMO

S

Mnm

osB

Mnm

osA

40V_

NM

OS

40V_

NM

OS

RconvergenceARconvergenceB

1e151e15In

Cdelayb

60nF

SA SB

Gnd_pin

Dleak SA

Dleak

Dleak SB

DleakDleak

Dleak D

D

Vdd

Vss

Ccharge_injectionBCcharge_injectionA

.model 40V_NMOS nmos (Vto=0.7 Kp=11e-6 Gamma=0 Rd=22 + tox=0.1u cbd=9p cbs=9p))

.model 40V_PMOS pmos (Vto=–0.9 Kp=5e-6 Gamma=0.4 Rd=22+ tox=0.1u cbd=13.5p cbs=13.5p)

.model Dleak D (ls=2.8e–13)6

I-if(V(n-breakbeforemakenb)>0.5, V(Vdd)1000, V(Vss)/1000)

I-if(V(n-breakbeforemakenb)>0.5, V(Vss)1000, V(Vdd)/1000)

図 2 2 . S P D Tスイッチの最終的なサブサーキット( s p d t _ 4 0 V. a s c)

Analog Dialogue 54-01 13

このSPDTスイッチのサブサーキットに対応するシンボルも定義しました。図23に示すマスター回路図(ADG333A.asc)では、このシンボルを4個使用しています。

図24に、最終的なマクロモデルの検証を実施するためのテスト用回路を示しました。

まとめ

本稿では、特定のアナログ・スイッチを対象として適切なマクロモデルを作成する方法を説明しました。特に、実際のデバイスの特性を再現するために、いくつかの異なる半導体プロセスに対応するパラメータの値を得る手法を明らかにしました。得られたマクロモデルは、オン抵抗とその変動、電源と信号レベルの関数としてのチャージ・インジェクション、寄生容量と電圧に対するその変化、ロジック・インターフェースの遅延、リーク電流

といった特性を網羅しています。このようにして得られたマクロモデルが、アナログ・スイッチを使用する回路の性能のシミュレーションに役立つことを願っています。

付録

LTspiceを入手したい方は、analog .com/ jp / l t sp iceでダウンロードしてください。

本稿で紹介したマクロモデルのシンボルに対応するLTspiceのテキスト・ファイルは、こちらから入手できます(ファイル名はADG333.asy)。ADG333.ascの回路図を、それを使用するすべての回路図にコピーする代わりに、A D G 3 3 3 . a s yというシンボルを使用することができます。ADG333のシンボルには、個々のスイッチのシンボルが含まれています。スイッチのシンボルのファイルはspdt_40V.asc、回路図のファイルはspdt_40V.asyです。

SA SAVdd

Vssspdt_40V

GND_pin

Vdd

Vss

GND_pin

X1

ADG333A.ascmacromodel

spdt_40V

spdt_40V

X2

X4

spdt_40V

X2

SB

In

D

S4A

S4B

IN4

D4

Vdd

S1A

S1B

IN1

D1

S3A

S3B

IN3

D3

S2A

S2B

IN2

Vss

Gnd_pin

D2

SB

In

D

Vss

Vdd

GND_pin

Vss

Vdd

.model Dleak D (Is=2.83–13)

Dddss

Dleak

GND_pin

SA

SB

In

D

SA

SB

In

D

図 2 3 . A D G 3 3 3 Aのマクロモデルの回路図

VD

0.000AC 0

VSB

IN1

S1A

D1

S1B

VssGnd_pinS2B

D2

S2A

IN1

IN4X1

1 20

ADG333A

S4A

D4

S4B

Vdd

S3B

D3

S3A

IN3

VSBCstray_VSB

Cstray_D

VSA

VSA

Vin

Vss

Vss

{vdd} {vss}{VSB}AC1

Vdd

Vdd

Itest

PULSE( 5 0 1n 10n 10n 10u 1)

Vin

2pF2nF

Cstray_VSA

2pF

***.dc VSA {Vss} {Vdd} 0.1.ac dec 20 1k 1g***.ac list 1e4.tran 20u***.step param VSA –15 15 0.25***.step param Vdd list 10 20 30

.param Vdd=15

.param Vss=–15

.param VSA=0

.param VSB={VSA}

***.meas TRAN Charge_Injection + �nd (V(VD)–V(VSA))*10n at=1u

図 2 4 . A D G 3 3 3 Aのマクロモデルのテスト用回路

Analog Dialogue 54-0114

著者について

Barry Harvey(barry.harvey@analog.com)は、アナログ・デバイセズでアナログICの設計を担当しています。これまでに、高速オペアンプ、電圧リファレンス、ミックスド・シグナル回路、ビデオ回路、DSLライン・ドライバ、D/Aコンバータ、サンプル&ホールド・アンプ、乗算器などを設計してきました。スタンフォード大学で電気工学の修士号を取得。20件を超える特許を保有し、それと同じくらいの数の記事や論文を発表しています。趣味は、中古のテスト装置を修理すること、ギターを演奏すること、Arduino関連のプロジェクトに取り組むことです。

Barry Harvey