总思路
这在b站上也有教学视频:https://www.bilibili.com/video/BV1PZ4y1g7cZ/?spm_id_from=333.337.search-card.all.click&vd_source=58f28c2825af463050c0f948fa2983b9
需要的图像曲线
画这些图时,因为vds影响小,所以采用vdd/2
频率与gm/id
本征增益(一个管子所能达到的最大增益)与gm/id
电流密度与gm/id
下面三个比较少使用
软件操作
选用一个管子,vds=vdd/2,因为管子是在电源电压1.2v下的
设置mos参数,最开始用不到w,所以设为1um
设置仿真
查看静态工作点,再点器件,可以看到器件参数(注意:此时显示、保存的数据是根据变量的预设值计算出来的,并非整个扫描过程)
我们看一下输出会包含什么
有时会有显示问题,删除psf再回车
dcOP-dc:所保存的静态工作点
dcOPinfo-info:静态工作点时的器件参数
dc-dc:dc扫描的结果
为了保存所有扫描下的器件参数,先去新建一个文件来预设保存器件所有数据
添加写好的定义文件
再run一遍,然后要设置我们所要用的输出值(公式)
设置gm/id,打开计算器(注意是选择dc-dc里的)
设置ft=gm/2piCgg
需要注意先在计算器添加gm,再添加2pi*cgg,最后点计算器里的除号。
同理设置gmro=gm/gds,id/w
注意保存w的位置
设置好后保存一下仿真设置,方便以后使用
先画ft-gm/id
双击横坐标,修改横坐标变量
同理可以画出gmro-gm/id和id/w-gm/id。
接下来为了得到一组L的值,对L参数扫描
因为参数扫描后很坐标不能更改,这里需要保存一个ocn脚本
删除掉脚本里含plot的语句
然后按insert,在最小一行开始写:
newWindow() %打开一个画图窗口
ocnYvsYplot(?wavex gmid ?wavey ft) %设置横纵坐标
addSubwindow() %新加一个子窗口
ocnYvsYplot(?wavex gmid ?wavey gmro)
addSubwindow() %新加一个子窗口
ocnYvsYplot(?wavex gmid ?wavey IdoverW)
%先按Esc退出编辑模式
:wq! %再回车
现在只要运行脚本就行
举例说明
这个例子用的电路也是前面推荐的b站视频的,自己试了一下
设GBW=100Mhz,CL=10p,对于放大管,gmid取20,对于电流源,gmid取15;Cc取0.2 * CL;沟长取0.13um
由此可以确定各支路电流
对于n12电流源管子,根据gmid取得id/W=15.22,因为id=0.065mA,所以W=0.065mA/15.22=4.27e-3mm=4.27um
同理对于p12
id/w加了个负号
对于p12放大管子,根据gmid取得id/W=1.421,因为id=0.065mA,所以W=0.065mA/1.421=0.0457mm=45.7um
对于p12电流源管子,根据gmid取得id/W=5.344,当id=0.13mA,所以W=0.13mA/5.344=0.0243mm=24.3um;当id=0.065mA,所以W=0.065mA/5.344=0.0243mm=12.2um
对于右侧输出级管子还要结合频率来考虑
原理见b站教程
对于n12放大管子,根据gmid取得id/W=3.268,因为id=1.02mA,所以W=1.02mA/3.268=312um
最终尺寸
静态工作点值基本符合计算结果
频率特性也基本符合要求,再调整一下输出级应该会跟好