計算環境
使用する言語:Python
使用するライブラリ:Numpy Matplotlib.pyplot
使用するPC:HP 15-fc windows11
パラメータの定義
本書p.44の表2.1にすべてのパラメータが定義されており、それらはあらかじめコードの序盤に定義している。
大問2-3
$ g_mr_o $と$ I_d $および$ W/L $の関係式を導け。$ L $をパラメータとしたときの$ g_mr_o $と$ I_d $の関係を図示せよ。この時、$ \lambda\propto1/L $に留意せよ。
解答コード
Q_2-3.py
import numpy as np
import matplotlib.pyplot as plt
# 定義済みのパラメータ
EPSILON_0 = 8.85 * 10**-12 # 真空の誘電率[F/m]
EPSILON_SIO2 = 3.9 # SI02の比誘電率[F/m]
TOX = 9.0 * 10**-9 # ゲート酸化膜厚[m]
COX = (EPSILON_0 * EPSILON_SIO2) / TOX # 単位面積あたりのゲート容量[F/m**2]
#表2-1のモデルパラメータ
UO_N = 350 * 10**-4 # 電子の移動度[m^2/Vs]
LAMBDA_N = 0.1 # NMOSのチャネル長変調係数
GAMMA_N = 0.45 # NMOSの基板バイアス定数[V**(1/2)]
PHI_N = 0.9 # 2PHI[V]
VTH_N = 0.7 # NMOSのしきい値電圧[V]
LD_N = 0.08e-6 # ソース/ドレインの側壁拡散長[m]
PB_N = 0.9 # ソース/ドレイン接合のビルトインポテンシャル[V]
MJ_N = 0.45 # CJの解析式の指数[なし]
MJSW_N = 0.2 # CJSWの解析式の指数[なし]
CJ_N = 0.56E-3 # ソース/ドレイン底面の単位面積あたりの接合容量[F/m**2]
CJSW_N = 0.35e-11 # ソース/ドレイン側壁の単位長あたりの接合容量[F/m]
CGDO_N = 0.4E-9 # 単位長あたりのゲート-ドレインのオーバーラップ容量[F/m]
UO_P = 100 * 10**-4 # ホールの移動度[m^2/Vs]
LAMBDA_P = 0.2 # PMOSのチャネル長変調係数
GAMMA_P = 0.4 # PMOSの基板バイアス定数[V**(1/2)]
PHI_P = 0.8 # 2PHI[V]
VTH_P = -0.8 # PMOSのしきい値電圧[V]
LD_P = 0.09e-6 # ソース/ドレインの側壁拡散長[m]
PB_P = 0.9 # ソース/ドレイン接合のビルトインポテンシャル[V]
MJ_P = 0.5 # CJの解析式の指数[なし]
MJSW_P = 0.3 # CJSWの解析式の指数[なし]
CJ_P = 0.94E-3 # ソース/ドレイン底面の単位面積あたりの接合容量[F/m**2]
CJSW_P = 0.32e-11 # ソース/ドレイン側壁の単位長あたりの接合容量[F/m]
CGDO_P = 0.3E-9 # 単位長あたりのゲート-ドレインのオーバーラップ容量[F/m]
#大問2の定義
VDD = 3 # VDD[V]
W = 50 * 10**-6 # ゲート幅W[m]
R1 = 1000 # 抵抗[Ω]
R2 = 2000 # 抵抗[Ω]
#解答2-3
#内部利得の式
def g_mr_o(UM, COX, W, L, I_d, LAMBDA):
return np.sqrt(2 * UM * COX * W * I_d / L) / (LAMBDA * I_d)
#数値で確認しておく
a = LAMBDA_N * 0.5E-6
VDS = VDD # 仮の値
I_d = np.arange(0.001, 0.1, 0.001)
plt.figure(figsize=(10, 6)) # グラフサイズを調整
for L in np.arange(0.5E-6, 1.5E-6, 0.5E-6):
plt.plot(I_d, g_mr_o(UO_N, COX, W, L, I_d, LAMBDA_N), label=f'L = {L*1e6:.1f} um')
plt.title('Id-gm*ro characteristic') # グラフタイトルを修正
plt.xlabel('Drain Current Id [A]') # x軸ラベルを修正
plt.ylabel('Intrinsic Gain gm*ro') # y軸ラベルを修正
plt.legend() # 凡例を表示
plt.grid(True)
plt.show()
出力結果
今回用いた公式
今回用いた公式は以下である。
前回の公式を用いる。
\displaylines{
g_mr_o=\sqrt{\mu_n C_{ox}\frac{W}{L}I_d}(\frac{1}{\lambda I_d})
}
式を整理すると、
\displaylines{
g_mr_o=\frac{\sqrt{2\mu_n C_{ox}\frac{W}{L}}}{\lambda \sqrt{I_d}}
}
この式から、内部利得$ g_mr_o $はドレイン電流$ I_d $の平方根に反比例し、$ W/L $の平方根に比例することがわかる。
また、$ \lambda \propto1/L $より、$ \lambda =a/L $とすると、
\displaylines{
g_mr_o=\frac{1}{a}\sqrt{\frac{2\mu_n C_{ox}WL}{I_d}}
}
上の式から、内部利得は$ \sqrt{L} $に比例することがわかる。
実際、出力されたグラフを見ると、$ L $が大きくなると、$ g_mr_o $は大きくなってますね!
チャネル長変調効果は考慮してないですね。
間違っていたらすみません。