0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MOSFETアンプの設計メモ

Last updated at Posted at 2024-09-23

アナログ回路設計におけるMOSFETの基礎について概説します。

まず、MOSFETが飽和領域で動作している場合、Veff(有効ゲート電圧)を0.2Vと仮定します。チャネル長Lを0.2μmに固定し、VGS- ID特性およびVGS- gm特性を考察します。この時、MOSFETのしきい値電圧Vthが0.45Vであるため、VGSはVeff + Vthであり、具体的には0.65Vとなります。この条件下では、トランスコンダクタンスgmが飽和値の70%に到達しています。

Veffをさらに高くすると、gmの増加は頭打ちとなり、結果として過剰な電力消費が発生するリスクがあります。一方で、Veffを小さくすると、電流を一定に保つためにはチャネル幅Wを大きく設定する必要が生じます。これにより寄生容量が増加し、周波数特性の劣化を招く可能性があります。

次に、MOSFETの静的特性からμCox、しきい値電圧Vth、アーリー電圧VA(VA = 1/λ)などのパラメータを導き出し、DC特性を用いて動作点を決定します。この際、WとLの選定は、これら静的特性を基に慎重に行う必要があります。

設計段階では、プロセス、電圧、温度(PVT)変動に対する最悪条件(worst-case PVT conditions)を含むすべての条件を考慮したシミュレーションが重要です。これには、レイアウト設計、LPE抽出、モンテカルロシミュレーションといった解析手法が含まれます。

MOSFET設計における留意点として以下が挙げられます:

  1. コーナー解析によって自ずとチャネル長Lの値が確定します。
  2. 動作点を安定させるためには、動作電圧差も一定に保つ必要があります。

また、以下のような設計原則が重要です:

  • トポロジー全体でWとLの比率を維持しつつ両者を大きくすると、アーリー電圧が変化します。
  • Wだけを大きくすると、トランスコンダクタンスgmが増加します。この際、Wを効果的に増加させる手段としては、複数のMOSFETを並列に配置することが挙げられます。
  • MOSFETのフィンガー数は通常偶数に設定し、奇数にはしません。寄生容量の影響を防ぐため、ダミートランジスタを配置することも重要です。
  • カレントミラー構成では、WとLはべき乗則に従ってスケーリングされます。

ユニティゲイン周波数は、以下の式で表されます:
[ \omega = \frac{gm1}{Cc} ]
ここで、gm1はトランスコンダクタンス、Ccは補償容量を意味します。

トランジスタのキャラクタライズ

MOSFETのキャラクタライズは、一般的にSPICEなどの回路シミュレータを使用して実施されます。MOSFETの特性はチャネル長Lによって大きく異なるため、キャラクタライズは各チャネル長ごとに行うことが基本です。特にアナログ回路設計においては、信頼性を考慮し、最小チャネル長より10〜15%程度長くすることが推奨されます。チャネル長が短すぎると、ホットキャリア効果によって信頼性が低下し、デバイス寿命が短くなる可能性があるためです。

今回の設計では、0.18μm CMOSプロセスを使用し、アナログ回路用の最小チャネル長を0.2μmと設定しています。さらに、高利得を必要とする回路には、チャネル長0.4μmのMOSFETを使用する場合もあります。

はじめてのアナログ電子回路 実用回路編 (KS理工学専門書) | 松澤 昭
より
IMG_6472.jpeg
IMG_6473.jpeg
IMG_6474.jpeg
IMG_6475.jpeg


# 必要なライブラリをインポート
import numpy as np

# 使用パラメータの設定
mu = 0.05  # キャリア移動度 (m^2/V·s)
Cox = 3e-4  # 酸化膜容量 (F/m^2)
W = 10e-6  # チャネル幅 (m)
L = 1e-6  # チャネル長 (m)
Vth = 0.7  # しきい値電圧 (V)
Vgs = 1.5  # ゲート・ソース間電圧 (V)
Vds = 1  # ドレイン・ソース間電圧 (V)
lam = 0.02  # チャネル長変調パラメータ (V^-1)
eta = 0.1
N = 1.5
V_T = 0.026  # 熱電圧 (V)
k_B = 1.38e-23  # ボルツマン定数 (J/K)
T = 300  # 温度 (K)
gamma = 2/3
K = 1e-24

# Id特性(非飽和領域、飽和領域、弱反転領域)
Id_non_sat = mu * Cox * (W / L) * ((Vgs - Vth) - 0.5 * Vds) * Vds  # 非飽和領域
Id_sat = mu * Cox * (W / (2 * L)) * (Vgs - Vth)**2 * (1 + lam * Vds)  # 飽和領域
Id_weak_inv = mu * Cox * (W / L) * np.exp((Vgs - Vth + eta * Vds) / (N * V_T)) * (1 - np.exp(-Vds / V_T))  # 弱反転領域

# 飽和時の gm
gm1 = mu * Cox * (W / L) * (Vgs - Vth)
gm2 = 2 * Id_sat / (Vgs - Vth)
gm3 = np.sqrt(2 * mu * Cox * (W / L) * Id_sat)

# 飽和時の Vgs
Vgs_sat = np.sqrt(Id_sat / (mu * Cox * (W / (2 * L)))) + Vth

# オーバードライブ電圧
Vov = Id_sat / (mu * Cox * (W / L))

# 出力抵抗 ro
ro = 1 / (lam * Id_sat)

# 飽和時の入力換算ノイズ (熱ノイズ)
vn_thermal_noise = 4 * k_B * T * gamma * (1 / gm1)

# 飽和時の入力換算ノイズ (フリッカノイズ)
vn_flicker_noise = K / (mu * Cox * W * L) * (1 / 1)  # f = 1Hzで計算

# 結果を表示
Id_non_sat, Id_sat, Id_weak_inv, gm1, gm2, gm3, Vgs_sat, Vov, ro, vn_thermal_noise, vn_flicker_noise
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?