当前位置: 服务支持 >  技术文档 >  模拟IC设计:实践入门与实战技巧

模拟IC设计:实践入门与实战技巧

阅读数 59
点赞 11
copyright 著作权
article_banner

1. Linux下的基本操作

模拟IC设计实践_课时2 P2 - 07:59

Linux之Kernel、shell、bash

  • Kernel是核心,直接控制硬件
  • shell将用户的指令与Kernel沟通,shell有很多种
  • Linux使用的shell是Bourne Again Shell,简称bash
  • 详细参考:https://www.cnblogs.com/z-x-p/p/11571569.html

桌面右键,点开Terminal 类似于windows的cmd

快捷操作:

  • 输入文件名后按TAB,会自动补充后缀
  • 阔选一段文本,按鼠标中键,会将其复制到命令

常用命令:

  • ls 当前目录文件夹列表
  • ll -a 列出当前目录所有文件及其属性,包括隐藏文件等
  • vi FilenName:vi是文本编辑工具,对该文件进行文本编辑

INSERT(键盘上的插入键,我这是FN+INSERT)进入文本修改模式

ESC 退出编辑模式

:wq! 保存并退出文本编辑工具

  • 文件权限修改 chmod命令 略
  • cd 跳转当前目录

   cd .. 返回上一级目录

   cd 文件夹名 进入当前目录的下一级

   cd 路径 进入某路径

   cd ~和cd /,~相当于/home/用户名,/表示根目录

  • mkdir FilenName 创建名为FilenName的文件夹
  • rm -R FilenName 删除名为FilenName的文件夹
  • source FilenName 在当前bash环境下读取并执行FilenName中的命令
  • pwd 显示当前目录路径

模拟IC设计实践_课时2 P2 - 14:11

进入cadence

//前两行打开terminal 在~目录下运行RFIC.cshrc文件,该文件是cadence的配置文件,第三行启动cadence

cd ~

source RFIC.cshrc

icfb

//显示如下界面,是cadence最底层的操作界面

模拟IC设计实践_课时2 P2 - 15:26

介绍cadence菜单

后面使用时候再留意吧

2. 初识Composer和ADE

模拟IC设计实践_课时2 P2 - 28:12

创建电路图

  • Tools→Library manager
  • 左侧Library选择设计库(这里选了RFIC_sin)
  • File→Cell View:Tool为Composer,Composer是Cadence的电路图编辑工具

绘制原理图

  • 快捷键i,调用元器件。点Browse选择元器件,在原理图中,View只能选择symbol,选好后回车载入器件,ESC退出元器件载入
  • 快捷键q,选中元器件后按Q可以显示参数值
  • 快捷键f,图纸自适应缩放
  • 快捷键[ ],放大和缩小
  • 快捷键w,wire,左键放置节点

模拟IC设计实践_课时2 P2 - 34:46

仿真界面(ADE, Analog Design Environment)

  • ADE是virtuoso对schematic的仿真工具,514版本里是analog environment,617版本里变成了ADE缩写
  • 在原理图中打开,Tools→Analog environment
  • Design:原理图信息;Analyses:选择仿真类型;Design Variables:选择仿真变量,如容值、信号幅度;Outputs:仿真结果
  • Session→Save State存储仿真状态

//选择Directory则存储在当前目录(工作区);点击Apply进行存储,会显示在Existing States

//选择Cellview则可以在Library看到(选择Cell后显示在View列表中),在不同工程间转移设计时方便

  • Session→Load State加载仿真状态
  • Session→Options

//Waveform Tool波形查看的工具,WaveScan和AWD功能差不多,主要是界面差异

  • Setup→Design对哪个电路进行仿真(对哪个Cell)
  • Setup→Simulator/Direc...设置仿真环境

//simulator设置仿真器(aps并行计算,计算瞬态快;数模混合要用到spectreVerilog这些仿真器,默认采用spectre)

//Project Directory仿真存储位置

//Host Mode仿真模式,

  • Setup→Turbo/Paras...用于加快仿真速度的选项

//复杂电路后仿真开启Turbo 后仿真是综合、布线布局后的仿真

//Parasitic Reduction去除细微的,几乎无影响的寄生参数

  • Setup→Libraries模型库(? 不理解
  • Setup→Temperature仿真温度设置
  • Setup→environment后仿真可能会用到,仿真环境的设置

//Switch View List仿真顺序

  • Outputs→To Be Saved→Select On Schematic选择需要保存数据的网络和节点,会显示在Outputs框图
  • Outputs→To Be Plot同理
  • Outpus→Save All保存设置,只有在这里把save设置成selected(默认 allpub),To Be Save的设置才有效
  • Simulation→Options仿真设置(仿真精度、温度、收敛方法等)
  • Simulation→Netlist→Creat只生成网表而不进行仿真
  • SImulation→Convergence Aids收敛助手,设置节点电压,初始条件,通常在大型电路难收敛时进行设置
  • Tools→Parametric Analysis设置参数扫描,类似COMSOL
  • Tools→Corners工艺偏差设置
  • Tools→Monte Carlo蒙特卡洛仿真,通过大量失配条件下的仿真,观察结果跟设计指标差多少,表现良率、鲁棒性
  • Tools→Calculator计算器

通常直接在右侧的图标选择

  • Choosing Design
  • Choose Analysis选择仿真类型,通常默认设置中等精度(moderate),此处设置后会显示在Analyses框图内
  • Edit Variables
  • Setup Output设置输出,可以编辑公式,设置后显示在Outputs框图内
  • Delete 删除框图内的内容
  • Netlist and Run建立网表并运行
  • Run用之前的网表运行
  • Plot Output画图

  • Plotting mode:通常选Append

3. 原理图设计和仿真(CMOS反相器)

模拟IC设计实践_课时3 P3 - 02:28

CMOS RF工艺库基本特性

  • 工艺库SPICE模型说明文档目录:/home/EDA/kit/PDK13mmrf_1P6M_30k/docs

TD-MM13-SP-2001v8P.pdf:.13um工艺,混合信号,1V2/3V3 SPICE模型

  • 主要看第七章,MOS、BJT、电阻电容等器件的模型参数

模拟IC设计实践_课时3 P3 - 08:05

删除已有Cell:右键长按选则delete,复杂的确认机制避免误删

绘制CMOS反相器原理图

  • 建立名为INV的原理图
  • 放置NMOS:在smic13mmrf_1233(.13um工艺库)中找到mosfets→n12(1V2的NMOS)→symbol(原理图只能选这个)

//快捷键i

  • 放置PMOS:同上,选p12,器件如下图

//红字NM0是器件唯一的标识符

  • 查看和修改晶体管参数:Length设置.13um,Finger数设置2,PMOS Finger Width设置2um,NMOS设置1um(迁移率比值通常设置2,以达到相同的导通电阻)

//快捷键q

//Multiplier设置并联个数,同一个器件可以设置为多个并联

//Length沟道长度

//Total Width晶体管整体宽度=Finger Width(栅宽)*Fingers(栅极数量)

//Gate Connection栅极连接方式,和版图相关的设置

//Switch S/D交换源漏极

//主要的修改就是沟道宽长

  • 检查和保存:点击左侧图标Check and Save

//快捷键x

//有悬空电极,报warning

  • 连线:Gate相连、Pdrain连Nsource,把Psource和nDrain引出来,Pbulk连到电源(Psource),Nbulk连sub(模拟电路)或Ndrain(数字电路),这里作模拟电路处理,先引出来

//快捷键w

//双击结束连线

  • 添加端口:左侧图标pin,设置输入端IN,Direction为in;输出端OUT,Direction为out;添加电源VDD,地GND、衬底SUB,Direction设置inout

//快捷键F3:调出添加pin窗口

//把pin放在连线上,拉动pin会自动补充连线

//批量设置端口,多个Pin Name用空格隔开,点Hide后按顺序放置即可

//端口用大写:有的工艺在DRC等检查时默认不区分大小写,但有的工艺库会把所有小写认成大写,都用大写避免混淆

//快捷键shift+m:移动位置(和直接拖动相比,不改变连线)

//快捷键right click:旋转

  • 再次保存,这时无warning
  • 建立仿真用的symbol:Design→Create Cellview→From Cellview→弹出创建CellView的对话框→OK→弹出Symbol Generation Options窗口,可以设置Pins的布局等→OK,生成symbol如下图
  • 保存symbol:左侧选项栏save
  • 关闭原理图和symbol,观察Library Manager中INV这个Cell的内容,有schematic和symbol两个view

模拟IC设计实践_课时3 P3 - 26:48

建立仿真用的testbench(测试平台)

  • FIle→New→CellView→Name改成INV_testbentch
  • 调入之前画好的symbol
  • 添加仿真用的电压源和gnd:analogLib→Everything→vdc(gnd)→symbol

//Cell为gnd,注意GND≠gnd,gnd是绝对地电平,GND是芯片引脚,是相对地,GND和gnd之间也要放一个可控电压源

//直接在原来的Add Instance窗口把Cell改成gnd就可以放置了

  • 复制操作:框选器件→按c
  • 添加电源封装引线的电感:Cell为ind,连接在电源上,电感大小2nH,阻抗设置100mΩ

//常规QFN、QFP封装,1um引线电感为1nH左右,长度通常有2um

  • 添加gnd封装引线的电感:连接在地线,电感大小1nH,阻抗50mΩ

//gnd通常bounding到芯片背面的大片金属地上,引线电感会小,引线长度在1mm以内(?)

  • 添加引线,用网络命名来设置节点对应关系(让原理图更简洁):把线引出来→左侧选项Wire Name,给wire添加label→对话框中Name设置为VDD→选中VDD引出的线,完成命名→复制该引线,放置到其他节点上,这些连接到具有相同名称的wire的节点之间是互连的

//快捷键l:添加引线label(wire name)

  • 对SUB的处理:也是连接到地,但和GND是并联的接地关系
  • 设置VDD=1.2V,GND=gnd(设置地电源为0)
  • 设置脉冲波形输入:analogLib→Everything→vpulse,设置DC=0V,V1=0V,V2=1.2V,Delay time=100ns,Rise time=Fall time=0.5us,Pulse Width不设置则默认为0.5*Period,Period=1/F(F是频率变量)
  • 设置输出负载电容,cell为cap,容值设置0.1pF
  • 保存

模拟IC设计实践_课时3 P3 - 42:40

进行仿真操作

  • 打开ADE,Tools→Analog Envir
  • 调用变量,添加刚刚设置的变量频率F:右侧图标Edit Variables→Copy From(从原理图调入)→在Table中选中F→Value设置为100k
  • 添加直流仿真类型:右侧图标Choosing Analysis,dc(直流仿真),Save DC Operating Point保存直流工作点
  • Netlisit and Run建立网表和仿真

模拟IC设计实践_课时3 P3 - 46:24

  • 生成仿真信息框
  • 查看symbol外部仿真结果

//Result→Annotate→DC Node Voltage,所有节点的电压都会显示在原理图上

//Result→Annotate→DC Operating Points直流工作点,所有电流都会显示在原理图上

模拟IC设计实践_课时3 P3 - 49:31

  • 查看symbol内部电路仿真结果:选中symbol,按快捷键e(进入下一层),选择schematic(原理图子电路)

//快捷键e:进入下一层原理图

  • mosfet粗略工作状态:查看DC Operating Points时,会在原理图显示vgs、vds、跨导gm、过饱和电压vdsat(vgs-vth)
  • 器件详细工作状态:Results→Print→DC Operating Points→鼠标选中器件→弹出结果Results Display Window

//region:0 cut-off;1 triode(线性区);2 saturation;3 subthreshold;4 breakdown

//ron:沟道电阻

  • 返回上一层原理图:Composer中Design→Hierarchy→Return

//快捷键CTRL+e:返回上一层原理图

模拟IC设计实践_课时3 P3 - 57:20

  • 添加瞬态仿真类型:ADE的Choosing Analysis,选择tran,Stop Time选择50us,精度选中等

//之前设置周期为10us,因此可以查看五个周期的瞬态

  • 直接Run,不用重新生成网表,产生的仿真信息框内包含直流仿真和瞬态仿真
  • 用波形查看器查看瞬态仿真结果:Result→Direct Plot→Main Form,先查看电压→在原理图上click要查看的网表

//在ADE的Session→Options选择波形查看器为WaveScan或AWD,AWD可视化更好,可以按a和b添加游标,右键选中区域可以放大,shift+f复原

//快捷键a,b:在AWD波形查看器放置游标a和游标b

//快捷键shift+f:在AWD波形查看器复原视图

模拟IC设计实践_课时3 P3 - 01:06:21

NMOS和PMOS宽长比不同设置下的工作状态

  • 进入symbol内部电路,此时电路是只读,Composer中Design→Make Editable恢复可编辑模式
  • NMOS和PMOS宽长比比值=1:1(把PMOS Finger Width由2um改成1um),保存后在ADE中Netlisit and Run,
  • 再次添加输出网表为观察对象,对比修改前后的输出波形的变化

//翻转电压变低了,要翻转电压在中间,通常要设置PMOS的NMOS宽长比比值为2:1

模拟IC设计实践_课时4 P4 - 00:20

4. 版图设计

virtuoso版图界面

  • 从原理图导出版图:Tools→Design Synthese→Layout XL,View Name是类型Layout,Tool用Virtuoso

//Virtuoso是cadence的版图设计工具

  • 弹出LSW窗口(层属性)

//drw是可以画的层

//AA层:有源层

//NW层:N阱

//DNW层:栅阱工艺,在Psub上制作一个深N阱,衬底隔离

//GT层:栅

//SN层:N型注入

//SP层:P型注入

//M1~M8层:金属层1~8,工艺安装时选择的是1层p-Si,6层金属互联层(1p6f),因此只用得到M1~M6,M6采用的是30ke-10的厚金属(RF领域需要)

//V1~V7层:过孔层,V1是M1~M2的过孔

//标识层(?):PSUB等

//text层

//TM层:顶层厚金属

模拟IC设计实践_课时4 P4 - 09:47

绘制版图

  • 将用到的元器件从原理图导入到版图:在原理图选中器件,在版图Create→Pick From Sche,弹出对话框采用默认设置,在版图上点击可以放置器件版图

//按住shift可以选中多个器件

//快捷键shift+f:显示版图所有层次

//快捷键ctrl+f:只显示版图label外框

模拟IC设计实践_课时4 P4 - 12:27

  • 版图层次打散:选中器件→Edit→Hierarchy→flatten,选中flatten Pcell→选中某一层,按Q查看

//Pcell是参数化单元,不用每次都重新画,参考:https://www.sohu.com/a/430596399_120873246

  • NMOS包含哪些层

//蓝绿色:SN层,N型注入

//红色:AA层,有源层

//深蓝色:GT层,p-Si制作的两个栅极

//黑色:M1,金属1层

//绿色:CT,过孔层,连接AA和M1,GT和M1之间也用CT

  • PMOS包含哪些层

//紫色:NW N阱

//黄色:SP P型注入

//其余和NMOS相同

  • 网格精度设置:virtuoso的Options→Display,Snap Spacing改成0.005,单位是um
  • 重新导入NMOS和PMOS版图,之前打散了不方便
  • 移动晶体管:选中晶体管后按m

//快捷键m:版图中移动器件

  • 版图中显示连线关系:virtuoso的Options→DIsplay,Display Controls中选中Nets

模拟IC设计实践_课时4 P4 - 19:58

  • 源漏极金属连线:在LSW选择层M1→按p→点击CMOS的Drain(设置起始端),选择M1层→引线下拉到NMOS的Drain→回车,完成连线;选中引线按q修改宽度等设置,按m移动引线进行对齐;需要将PMOS和NMOS的Drain连到一起,Source分别引出(到GND和VDD)

//快捷键p:版图连线

//快捷键p→F3:按设置的尺寸进行连线

  • 栅极金属连线:放置过孔将两个栅极一起连到M1,Create→Contact,M1_GT,1×2;再通过M2把NMOS和PMOS的Gate连到一起

//过孔和Source保持一定距离,按k调出尺子,预留0.3um的距离

//快捷键k:尺子

//快捷键shift+k:清除尺子

//过孔和栅对不齐,画一个矩形对齐它,在LSW选择GT层,按r画矩形

//快捷键r:画矩形

//快捷键shift+z:逐步缩小视图

//快捷键c:拷贝

//M2可以用金属线,也可以用矩形,要添加M1和M2之间的过孔

  • 只显示某一层:在LSW选中层→上方NV按钮→选中virtuoso窗图按f;按AV按钮重新显示所有层

模拟IC设计实践_课时4 P4 - 35:19

  • 绘制衬底接触环:防止闩锁效应;NMOS绘制M1-SUB的过孔,PMOS绘制M1-NW的过孔,围成一个环,其中内测边用AA层(有源层)连接,有源层要用掺杂层包围,否则DRC报错,注意PMOS中N阱要比保护环大

//同时修改两个图案的参数:选中一个后按shift选中另一个,按q,选中选项框右上角的Common

模拟IC设计实践_课时4 P4 - 42:06

  • 图案拉伸:Select左边显示(F)标识器件完整选择,按下F4,会变成字母P,器件可以部分选中;框选要拉伸、移动的部分(只选中一端则拉伸,全选中则移动)→按s→点击刚刚框选的器件,可以移动
  • NMOS的保护环和Source短路了,把Source连接的金属层改为M2

模拟IC设计实践_课时4 P4 - 48:27

  • 添加PIN:Create→Label,名字为IN、OUT...,放置Label后将其所在层改为对应层,如IN在M2层,OUT在M1层,把Label图标最中间的十字标对准PIN要放置的位置,以此确定对应关系
  • 保存

模拟IC设计实践_课时5 P5 - 00:03

  • 版图验证:前面的版图设计留了一些错误

相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空