Catalog
Analog: Inversion Coefficient 反型系数设计方法

最近在巩固模拟电路设计的基础,想起之前写毕设论文中对晶体管反型系数 (Inversion Coefficient:IC) 的分析,觉得挺有意思,于是重新整理了一下思路,将结果汇总了一下。

以前看论文偶尔会看到对反型系数的描述,因为感觉跟自己常用的设计思路不同,一直都没有仔细深究。直到看 Vigilante 的毕业论文时发现他在做跟我类似的电路设计时采用了 IC 的分析方法,回想自己以前纯粹靠扫参的方法来调整晶体管,觉得采用这种新方法进行分析也未尝不可,所以尝试采用 IC 对之前的设计进行重新分析,发现得到的结论与此前扫参得到的结果基本吻合。

什么是 Inversion Coefficient

大家比较熟悉的应该是 gm/id 的设计方法,也就是以电流效率 gm/id 为标准来衡量晶体管的增益、速度、噪声等指标,然后折中选择一个合适的晶体管尺寸。gm/id 通常是建立在晶体管的平方律关系上,具有较高的通用性。

然而随着晶体管特征尺寸缩小,一些短沟效应对晶体管的性能影响变大,包括晶体管的一些亚阈值特性的影响,因此有人提出了采用 IC 来辅助分析,IC 很重要的特性是 Process Independent,所以其也适合应用在低压的先进工艺之中。

IC 是根据晶体管的 EKV Model [2] 衍生而来,跟 gm/id 类似,IC 主要反映了晶体管反型程度 (a numerical measure of MOS inversion level),这与我们常说的的线性区、饱和区是有所不同的,因为在先进工艺中各个工作区的界限其实没有那么明显,而 Inversion Level 也是用来分析晶体管的工作状态的一个参数(详细的可以参考 Vittoz 的书 [2])。之前也提到 IC 的特点在于 process independent,所以我们就可以根据 IC 值的大小来判断晶体管的工作状态,通常来说:

IC Value Inversion Level
< 0.1 Weak Inversion
0.1 - 10 Moderate Inversion
> 10 Strong Inversion

同样的,我们可以根据 IC 与晶体管各种指标曲线折中选择晶体管的工作区以及晶体管的尺寸,比如是 speed optimized 还是 power optimized。那么 IC 这个指标具体是如何来定义的呢。

IC is the expression for drain current divided by some normalization current (which calls the “specific current”)

IC 等于晶体管的漏极电流 Id 除以归一化电流 Ispec,Ispec 跟晶体管的物理性质有关。其中:

$C_D$ 代表晶体管沟道反型层与衬底间的电容,n 作为一个工艺相关变量,在先进工艺中栅氧层变薄导致 n 偏小,典型值在 1.2 ~ 1.5。$U_T$ 在室温 300K 时约为 26mV。可以看出,如果说 IC 的值决定了晶体管的 inversion level,那么偏置点就决定了 IC 值的大小。

EKV Model of MOS

EKV Model 是 BSIM6 中非常重要的部分,为什么要采用 EKV Model 呢,因为随着工艺标压降低和低功耗的需求,越来越多的设计可能会将晶体管偏置到 “亚阈值区”,但是传统的模型其实并不能非常好的反映晶体管此时的性能,而 EKV Model 恰恰弥补了这部分缺陷。在 EKV Model 中,晶体管的电流 Id 为:

其中,$\nu=\left({V_{GS}-V_{th}}\right)/{2 n U_{T}}$,其代表一个归一化的参量。当晶体管的偏置点发生变化时,上述表达式能够更好的反映晶体管的特性:

Approximate $\ln \left(1+e^{\nu}\right)$ $I_{DS}$
Small $\nu$ $e^{\nu}$ $K^{\prime} \frac{W}{L} {\left(2 n U_{T} \right)}^{2} e^{2 \nu}$ More accurate 👍
Large $\nu$ $\nu$ $K^{\prime} \frac{W}{L} {\left(V_{GS}-V_{th} \right)}^{2}$ Square law 📈

这部分不作太多展开,有兴趣的可以仔细读一读 Sansen Analog 第一章或 Vittoz 的书。

IC vs. MOS Specifications

那么 IC 跟晶体管的各个性能指标又是如何联系在一起呢,通过推导 [3],我们可以得到 IC 与 gm 及 fT 的函数关系:

IC vs MOS Specifications

通过这两条曲线,我们可以对晶体管的速度以及功耗进行折中选择。而对于晶体管其 speed optimized 和 power optimized 往往不是在同一偏置点,为了兼顾二者,设计中我们常常会选择 IC = 1 到 10 这个范围,在不同的工艺中我们确定 IC 值后即可反向计算出其晶体管的相关参数。

Whether Velocity Saturation Emerges?

The transconductance (gm) does not increase any more but the current consumption does!!

当晶体管工作在大电流 region 时,很容易发生速度饱和,尤其是对于短沟道器件,这种效应非常明显。此时即使电流增大,晶体管的跨导几乎不变,电流效率降低,造成额外功耗的浪费。那么如何速度饱和 (VS) 在 IC 曲线上是怎么反映的呢,从 Sansen 书中我们知道速度饱和区的晶体管电流为:

其中 $v_{sat}$ 代表载流子最大迁移速度。我们可以得到速度饱和时的 IC 值为:

$\lambda_c$ 代表归一化的沟道长度,约为 $\left(20nm/L\right)$。$IC_{VS}$ 表示超过此值晶体管就会进入速度饱和区,所以随着特征尺寸缩小,$IC_{VS}$ 也越来越小,晶体管越容易工作在速度饱和区。通过分析 $f_{T} \times g_{m} / I_{\mathrm{DS}}$ 这个指标,我们可以看出,从 20nm 工艺节点往下,晶体管的强反型区 (SI Region) 几乎已经消失,这对模拟电路的设计是很大的挑战。

Velocity Saturation

Design Procedure

如何通过 IC 来辅助我们进行设计?Sansen 给出了一张利用 IC 设计单级放大器的流程图 [4]

Design procedure

总的来说,Sansen 给设计者的建议是两个参数:IC晶体管栅长 L,通过 IC 的选择先确定你需要晶体管工作在什么反型区,或基于什么样的设计目的,如需要 minimum power consumption,那么应该选择 IC = 1,而对于需要考虑工作速度和高频应用时,IC 最大不应该超过 $1/{\lambda_{c}}^2$。在 IC 确定后,结合设计指标要求(如根据带宽、增益等求得所需 gm),我们便能够通过上述的几个公式反推出 Id、Ispec、W/L 等晶体管参数。

不过我没有在具体设计中验证过这种设计方法,推荐再仔细阅读 Sansen 在文章中写到的 design procedure,有兴趣的也可以阅读采用 IC 进行 5T-OTA 的设计。

我们可以将这个 5T-OTA 的设计流程跟传统 gm/id 流程进行一下对比:

gm/id Method IC Method
gm/id Method IC Method

采用 IC 的设计方法缺点在于需要知道比较详细的工艺参数,并且计算公式相对复杂,需要一些数据预处理。相比 gm/id 其优点在于不同工艺下 specification parameter 随 IC 变化的趋势以及 IC 的取值方法都是相同的。不过 IC 也是基于理想 model 中的公式推导出来,跟实际 PDK 中肯定还是有所偏差,现在先进工艺的 PDK 中往往会采用直接数值拟合来取代一部分复杂的理论模型,所以 IC 更多的是让我们清楚的理解晶体管的各个工作状态对其性能的影响,以此作为设计的依据。

另外,IC 也可以帮助我们进行一些参数的优化设计。例如我在之前设计 LNA 时主要是根据经验和进行小范围的扫参,在进行设计回顾时,我通过 IC 曲线来对第一级晶体管的偏置点和叉指数 WF 进行分析。从图中可以看到,红色圈出的地方应该是比较合适的偏置点(考虑噪声性能),此时 IC = 1 ~ 2,换算后对应的偏置电压跟我之前扫参得到的结果基本吻合。同时,通过不同叉指数 WF 的曲线对比,我们也可以选择在这个偏置点下比较合理的取值,结果也是跟之前设计吻合。

IC vs. MOS Figure Width

采用 IC 进行设计就像是前人根据经验总结好了规律,直接告诉你晶体管应该偏置在什么地方可以获得所需的最佳性能(typical IC = 1 ??),你只需要进行反向计算就能求得一系列的设计参数。

Simulation Methods

在进行 IC 参数分析时需要很多性能参数的数据,我把几个常用参数在 Cadence 中的表达式记录一下,方便以后调用。

主要的参数有 fT、fmax、NFmin、gm/id、ids。其中 fT、fmax 采用 cross() 函数结合 SP 仿真,NFmin 采用 value() 函数配合 SP 仿真选择特定频点的结果,gm/id、ids需要 op() 函数配合 DC 仿真。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# gm/id
OP("/M0" "gm") / OP("/M0" "ids")

# Ids
OP("/M0" "ids")

# fT
cross(db(hp(2 1 ?result "sp")) 0 1 "falling" nil nil)

# fmax
cross(db10(gmax(sp(1 1 ?result "sp") sp(1 2 ?result "sp") sp(2 1 ?result "sp") sp(2 2 ?result "sp"))) 0 1 "falling" nil nil)

# NFmin@80GHz
value(db10(getData("Fmin" ?result "sp_noise")) 8e+10)

Reference

[1] M. Vigilante and P. Reynaert, 5G and E-Band Communication Circuits in Deep-Scaled CMOS. Springer, 2018.
[2] C. C. Enz and E. A. Vittoz, Charge-Based MOS Transistor Modeling: The EKV Model for Low-Power and RF IC Design. John Wiley & Sons, 2006.
[3] W. M. Sansen, Analog Design Essentials. Springer Science & Business Media, 2007.
[4] W. Sansen, “Minimum Power in Analog Amplifying Blocks: Presenting a Design Procedure,” IEEE Solid-State Circuits Magazine, vol. 7, no. 4, pp. 83–89, 2015.
[5] Inversion Coefficient Based Circuit Design - Kevin Fronczak

Author: Phower
Link: https://phower.me/2020/06/analog-design-with-inversion-coefficient/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • WeChat
    WeChat
  • AliPay
    AliPay
Comment