【电路仿真01】bandgap

一、电路原理

以Razavi的带隙基准章节为例。右图中,M1和M2为NMOS,M3和M4为PMOS。其中两个NMOS宽长比相同。Rs的作用是确定电流。

【电路仿真01】bandgap_第1张图片图1. 带隙基准电路1

二、具体的公式推导

基于公式3:

1. V_{sg4} -|V_{tp4}| = \sqrt \frac{2I_{ref}}{ \mu_{p} C_{ox} (\frac{W}{L})_{p4}}

2. V_{sg3} -|V_{tp3}| = \sqrt \frac{2I_{out}}{ \mu_{p} C_{ox} (\frac{W}{L})_{p3}}

3. V_{sg4} = V_{sg3} +V_{Rs}

4. |V_{tp4}| + \sqrt \frac{2I_{ref}}{ \mu_{p} C_{ox} (\frac{W}{L})_{p4}} = |V_{tp3}| + \sqrt \frac{2I_{out}}{ \mu_{p} C_{ox} (\frac{W}{L})_{p3}} + I_{out}R_{s}

将公式4左右同时除以\sqrt I_{out}(不等于0),此时认为M4和M3的阈值电压相等,可以消掉|Vtp|。M3的宽长比是M4的N倍,并且认为Iref与Iout相等。可以推导出

I_{out} = \frac{2}{\mu_{p} C_{ox} (\frac{W}{L})_{p4}} \frac{1}{R_s^{2}} (1 - \frac{1}{\sqrt K})^{2}

K =2

Rs = 2k

W/L = 1um/40nm

\mu C_{ox}可通过工艺库或者仿真得出

三、计算

本文以beta0作为\mu C_{ox}的值,

利用python进行计算:

from sympy import *
i_out = symbols('i_out')

k = 2
Rs = 2000
um = 10^(-6)
nm = 10^(-9)

w_to_l = 1*um/(40*nm)

mu_p_cox = symbols('mu_p_cox')

mu_p_cox_value = 17.64

print(solve( ( (2/(mu_p_cox*w_to_l)) * (1/Rs**2) * (1 - 1/sqrt(k))**2 )/i_out -1, i_out))

print(solve( ( (2/(mu_p_cox_value*w_to_l)) * (1/Rs**2) * (1 - 1/sqrt(k))**2 )/i_out -1, i_out))

【电路仿真01】bandgap_第2张图片

仿真电路图:

【电路仿真01】bandgap_第3张图片

波形横坐标为温度,发现温度越高,电流越大。

四、其他仿真结果

1. 宽长比不变,同时增大L和W的长度,设为2um/80nm。发现电流增大了

【电路仿真01】bandgap_第4张图片

 

【电路仿真01】bandgap_第5张图片

2. 将GD相连放在同一侧而非两侧

 电流下降

【电路仿真01】bandgap_第6张图片

 

【电路仿真01】bandgap_第7张图片

 

你可能感兴趣的:(硬件工程)