目录

  • 软件-ADS安装
  • 90nm, 65nm工艺指什么?
  • 导入的65mm工艺文件之后的CMOS种类有什么不一样?
  • PDK是什么?
  • ADS电感元件上的小圆圈代表什么?
  • ADS中如何设置仿真温度
  • 关于Latch up门栅效应
  • 关于ADS中Zin控件与Sm_z1控件的区别
  • layout中RPO层的作用
  • 待解决的问题
  • 什么是seal ring?

决定要做IC啦,开个新博来记录一下自己在学习过程中遇到的一些问题和小总结吧!
不知道为什么系统总说我这篇文章抄袭不让我过,真的是一个字一个字敲出来的啊喂!!!但是也没关系啦,反正是记录的话,应该鸡毛的事情比较多,就留着给自己看吧~
-61019012

软件-ADS安装

ADS的安装教程在网上一找一大堆,但是详细程度不等,所以就可能会导致在安装过程中出现一些问题。
比如我觉得eesof_license_tools的路径在开始安装时的指定还是挺有玄机的,需要和ADS所装的大文件在同一个子文件下,也就是如果你给ADS安装文件命名为ADS2020,那么eesof_license_tools所在的文件与ADS2020所在的位置应该要是处于平等的。
那么这个eesof_license_tools的路径安排,在我第一次安装的时候没有注意就安装到了ADS2020的安装盘符之下了,导致安装失败。
而且更尴尬的是这个路径好像只能初始设置一次,之后不管怎么删注册表删环境变量卸载软件残留,eesof_license_tools的路径设置都会在安装过程中跳过,因此,之后要尤其注意默认路径中的这种安排,要保证ADS2020和EEsof_License_Tools在同一子目录下。
但是如果你第一次安装的时候没有注意到这个问题,或者说也找不到方法更改路径了也没有关系,只要你在安装的过程中奖crack文件下的ADS2020和EEsof_License_Tools分别覆盖你之前对应的文件就好了,在环境变量设置时也将ADS_LICENSE_FILE的路径设置为对应的路径就可以啦~于是第二次安装成功嘻嘻!之后可一定要注意这些细节呐!
但是我还是没有找到怎么将ADS删干净的方法(除了重装系统,太卑微了),如果有路过的大神有解决方案,烦请在评论分享一下噢~

90nm, 65nm工艺指什么?

在网上找论文的时候,有篇博士论文做的LNR是基于90nm工艺的,但是小伙伴说我应该找65nm工艺的,因为实验室加工的工艺是这个,那么什么是90nm工艺而什么是65nm工艺呢?
答:这些数字表示IC工艺水平的主要指标,表示的是制作半导体或芯片的技术节点,也就是technologynode。不同的指标下,半节距不同,目前最小的可以到45nm。如果加工出来的电路尺寸越小,当然越具有优势,因为在高频状态下要求导线又细又短,这样才能减小导线分布电容等杂散干扰而保证电路性能的稳定。另外,电路的尺寸小也可以保证功耗较低。
而且计算是在同一个nm级别的工艺,其下也会有不同的分支。比如体硅CMOS(Bulk CMOS)与FINFET和SOI MOS工艺又不一样,这些看似微小的不同,会导致电路性能变化很大。有一种说法是将来Bulk CMOS技术会被淘汰,因为当工艺节点升级到20nm左右的时候,Bulk COMS将跟不上等比例缩小的性能、成本和优势,从而导致被淘汰。
因此在看文章复现的时候要尤其注意这些噢~

导入的65mm工艺文件之后的CMOS种类有什么不一样?

第一次接触从工艺文件中的CMOS元件,于是很好奇,但是一时没有时间搞清楚,暂时记录一下问题。

如图,我现在导入的工艺文件中有7中MOS管,分别为M1-M&,但是现在我只知道我们要用的是M5的RF_MOS的类型,但是它和其它的MOS管有什么区别呢?我真是一点想法也没有。
1.Type=nch or nchx代表着什么?
2. 为什么有的时候w与f的下标是f,有的时候是r?
3. _M是什么参数?
4. mismatchflag是什么?
5. Vdd、Vcc与Vss有什么区别?
6. nf,nr是什么参数?
-1. Type=nch和nchx表示的是Baseband nmos transistors,不同点是nchx的VB是默认的沟道长度效应产生的Vss,不可调节。
Type=nch_25_dnw_mac表示的是Baseband macro nmos transistors
Type=nmos_rf表示的是RF nmos transistors
-2.wf和wr都表示width per finger,nf和nr都表示number of fingers,有r大概只是为了强调一下这是射频管子的参数吧~
-3. 根据ADS2020中帮助文件中的阐述(如下图所示)
_M参数表示并联管子的个数(number of devices in parallel),用以实现电路元件的缩放和子电路的整合。如果碰到没有_M参数的管子,也可以直接通过手动放置多只管子并联来实现同样的功能。
对于子电路来说,添加_M参数的方法如下:
-5.Vdd中的d表示的是device,即器件内部的工作电压;Vcc中的c表示的是circuit,即接入电路的电压;Vss中的s表示series,表示电路公共接地端的电压。
-6.nr是number of fingers是意思,取值范围在本工艺库下为1-32。nf也是number of fingers的意思,不过取值有点不太一样,在本工艺库下为1-999,计算公式为nf=(Width/wf),其中wf指的是单个finger的长度。那么finger又是什么参数呢?与multiplier1相对,finger是指做成插指形状的单个MOS管。那么nf就是指number of fingers的意思了,也就是插指形状的个数。
因此对于M=1的MOS管来说,总沟道宽度=单个沟道宽度 x fingers的个数。

PDK是什么?

在设NMOS管的参数,看到网上有人说找PDK对应的PPT查看。那么PDK是什么呢?
PDK的全称是process design kit,即厂家提供的元件工艺库。每当一个新的工艺产生的时候,最先开发的就应该要是PDK工艺库了。但是拿到的台积电的这个工艺库的doc里并没有详细介绍这些参数的文档……

ADS电感元件上的小圆圈代表什么?

例如:
看看能不能点开ADS的模块库,进去看看应该就知道得差不多了。
然而并没有找到,只能找到详细参数,大致觉得这是同名端和异名端的标识。

ADS中如何设置仿真温度

在仿真的时候由于要看噪声系数,出现了以下警告:

Warning detected by hpeesofsim during SP analysis ‘SP1’.
The simulation temperature (25.0 C) is not the same as the IEEE standard
noise temperature (290 K or 16.85 C) in the noise analysis ‘SP1’.

由此可以看出,默认的仿真温度与我们所需要的仿真温度不同所以才会导致这个问题。那么如何解决呢?就要重新设置仿真温度。这个在S-Parameter模块下设置Option可以解决。

就是图中红色方框的按钮,拖入一个放在电路旁边,双击点进去之后就可以将仿真温度设置为16.85,这样设置完成之后再次仿真就不会出现警告啦~

关于Latch up门栅效应

Latch up指的是在CMOS晶片中,在电源power VDD和地线GND(VSS)之间由于寄生的NPN和PNP双极性BJT相互影响而产生的一低阻抗通路,它的存在会使VDD和GND之间产生大电流。

产生原因:

  1. 输入或输出节点的上冲或下冲的触发,使第一个双极型晶体管导通,然后再使第二个双极性晶体管导通。当流入寄生PNPN结构的总电流达到开关转换电流时,Latch up就会产生。
  2. 在源-漏发生雪崩击穿的时候,低阻通路发生在电源和信号线之间,或者发生在信号线和衬底发生器之间。这些来源于穿通,场穿通或漏结雪崩的电流,一旦PNPN结构的电流达到用取消被激发晶体管旁路电阻形成的三极管结构计算的开关转换电流时,至少会发生瞬间Latch up,当总电流能够达到四极管结构开关转换电流时,Latch up将会被维持下去。

防止方法:

  1. 在subtrate上改变金属的掺杂,降低BJT的增益
  2. 避免source和drain的正向偏压
  3. 使用guard ring: P+ring环绕nmos并接GND,N+ring环绕pmos并接VDD。一方面可以降低Rwell和Rsub的阻值,另一方面可以阻止载流子到达BJT的基极

关于ADS中Zin控件与Sm_z1控件的区别

有的时候我们希望知道电路的输入阻抗或者输出阻抗,这个时候可以借助Z参数的控件来实现。我在使用ADS的过程中发现,对于输入阻抗的计算控件,有Zin与Sm_Z1两种可以使用,而输出阻抗只有Sm_Z2使用,觉得很好奇,这两个控件到底有什么不同呢?
首先我们来看一下ADS中这两个控件的样子~

就连形状也一模一样~但是SmZ1的名字里面会多包含simulated的字样
然后我们看一下ADS对这两个控件的一个说明:


由这两个说明可知,Sm_Z1是针对port1的阻抗,利用的是S参数与Z参数之间的转换关系得到的,而Zin是针对的input的阻抗,利用的是Sii与Zref的关系得到的,(反射系数与阻抗的关系)。这两个控件都可以用来测量输入端口的阻抗值。

如图所示,是对同一个端口用不同控件计算出来的端口阻抗值。

layout中RPO层的作用

Q: tsmc的RPO层(第34层)或umc的SAB层(第29层),在画poly resistor和ESD时都用到了,这一层有什么作用,增大电阻率吗?在工艺上是怎样实现的呢?

A: RPO 其实只是一个用在光刻的掩膜,它的作用是在做完POLY以后,再做salicide 的时候,将有RPO的地方档主,这样有RPO的地方就不会有硅化物形成,这样保持了POLY较高的电阻率,主要用于做POLY电阻和在ESD的时候为了提高其方块电阻而采取的工艺步骤。
另外,解释一下Salicide的用途。
Salicide中文翻译过来就叫硅化物,其实是比较薄的一层金属和多晶的合金体,一般多是钛或者是钨或者是其他混合物,其主要目的是在多晶硅表面相对比较薄的一层上面生长出一层(或者是淀积)金属-硅的硅化物(比较复杂的分子结构吧,具体不说了),目的是降低多晶上的电阻率(一般在做GAME或者在做POLY连线的时候,希望POLY上的电阻越小越好)。而在做电阻或者在做ESD的时候,为了提高其电阻和耐压,往往需要POLY上具有比较大的电阻率,所以就不需要做SALICIDE这一层,因此在设计版图的时候需要有这么一个MASK,在SALICIDE的时候区分于其他POLY部分。

Q: 不过有一点还不太明白,在长salicide的时候是只在多晶上长吗,可是ESD里面的RPO层不光在poly上有,在diff上也有的,在diff上的RPO层又有什么作用呢?而且poly上的RPO层有的是完全覆盖poly,有的是两侧有一点交叠,有的poly上没有但drain的diff上有,可以麻烦再解释一下吗?

A: 作用是一样的啊, DIFF上其实也有硅化物的,在CONTACT的地方一般都还会做一层金属化的‘钨钉’。 至于说ESD上面为啥有的地方有有的地方没有,我想这是根据不同的需要吧,有的是2kv的有的是5kv的,电阻率当然是不一样了。 而且ESD上为了保持正S/D之间的电阻率一样,往往会在边界的地方做些处理,使之与中间部分的电阻和沟道能保持一致,避免出现失效。

待解决的问题

1.为什么在optim中没有找到sensitivity分析的选项?(未解决)

Optimization Type根本就没有sensitivity的选项阿……
2.设计匹配电路时,电路的Zs与Zl如何获得?
在Simulation-S parameter菜单下面有Zin控件,可以用来仿真端口的输入输出电阻。

什么是seal ring?

Seal ring is the ring between chip die and surrounding scribe line to protect die from damage when the die is cut from the wafer.
You can find special design rules in the doc provided by foundry.


  1. multiplier是指多个并联的MOS管。
    multiplier是指多个并联MOS管finger是指做成插指形状的单个MOS管
    好了,大概就是这些问题啦,我赶着去做仿真了~ ↩︎

IC入门记录(持续更新)相关推荐

  1. 达梦数据库操作记录_达梦数据库常用功能及命令记录 -- 持续更新

    达梦数据库常用功能及命令记录 -- 持续更新 达梦数据库常用功能及命令记录 达梦数据库语句的使用总体来说跟 oracle 很接近的, 这篇文章主要是把常用的情况和语句做了记录, 并且后续还会不断的持续 ...

  2. pip更新失败_最全Tensorflow2.0 入门教程持续更新

    最全Tensorflow 2.0 入门教程持续更新: Doit:最全Tensorflow 2.0 入门教程持续更新​zhuanlan.zhihu.com 完整tensorflow2.0教程代码请看ht ...

  3. haskell入门教程[持续更新]

    haskell入门教程[持续更新] 1开始 本文章绝大多数内容来自书籍[Learn You A Haskell For Great Good](http://learnyouahaskell.com/ ...

  4. Python3入门指南(持续更新)

    一.环境介绍 编程IDE:  VS Code 运行环境:  windows .Ubuntu Python版本:  3.8.0 完整PDF下载地址(持续更新资源包): https://download. ...

  5. 中间件安全知识点记录-持续更新

    这是一个关于中间件安全的系列文章,后期会持续更新: 一.首先,抛出中间件的概念 所谓中间件,就是位于操作系统和应用软件之间的一个软件层,它向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情 ...

  6. 《操作系统真象还原》第4章 保护模式入门 ing... 持续更新

    目录 文章目录 目录 概述 初见保护模式 代码 32push.S 全局描述符表 段描述符 GDT.LDT及选择子 GDT 选择子正式介绍 LDT 打开A20地址线 保护模式的开关,CR0寄存器的 PE ...

  7. VSTO开发入门教程[持续更新中......]

    Paragraph 01 VSTO课程学习路线图[持续更新中......] 第一阶段:熟悉 visual studio 编程环境 1.1--理解 VSTO 的概念 1.2--安装 visual stu ...

  8. UE4 随笔 反射标记符记录 持续更新

    原创文章,转载请注明出处. ***本篇为基础文章,主要为自己记录用.*** 瞎掰 一些反射的UPRPERTY修饰符记录 GameInstance/GameMode等逻辑常用类随笔 反射 标识符 随笔 ...

  9. ubuntu使用问题与解决记录[持续更新]

    1. 添加到计划任务 为脚本增加可执行权限 sudo chmod +x yeelink.sh 将脚本加入cronjob(计划任务) sudo crontab -e 在cornjob文件中添加下面一行, ...

最新文章

  1. 学生为什么要在CSDN写博客?
  2. 阿里Druid数据库连接池配置解释
  3. python知识:@classmethod和@staticmethod的异同
  4. [记录]java.math.biginteger cannot be cast to java.lang.long
  5. windows 路由设置问题
  6. 开源声码器WORLD在语音合成中的应用
  7. Debian 安装 yum
  8. 用户注意到用户计算机中千兆位网卡,为何你电脑上的千兆网卡跑不到千兆?
  9. 【database】database domain knowledge
  10. 使用Ext JS,不要使用页面做组件重用,尽量不要做页面跳转
  11. 【vue开发问题-解决方法】(八)利用axios拦截器实现elementUI中加载动画,控制加载区域
  12. 视频编解码(二):编解码器基础知识
  13. golang的配置文件操作:viper
  14. 微信小程序获取当前地理位置中文_微信小程序获取位置信息
  15. 许昌学院计算机系统试题,2016秋大学计算机(许昌学院)-中国大学mooc-题库零氪...
  16. 基于Springboot实现英语在线学习系统
  17. Intel NUC10 i7FNH寒霜峡谷购机安装winesxi
  18. 黄金分割法,你会了吗?
  19. 使用腾讯云sms短信服务
  20. 百度云链接使用迅雷下载时提示有误的问题解决

热门文章

  1. (一)(1)OpenGL入门---Open GL 在 Mac 上的配置
  2. 多元线性回归系数求解
  3. 刷步恢复使用Unv0ver6.0.1工具已签名,附在线安装地址!
  4. 求生之路本地服务器无限子弹,求生之路2无限子弹怎么调整
  5. vue打包静态文件名称不加hash值和不修改文件夹结构
  6. nvd3使用(1)——多线图中的一个很隐蔽的bug
  7. 7.30 正睿暑期集训营 A班训练赛
  8. Java--花卉管理系统
  9. BT.656标准简介-内同步并口-以及波形测量
  10. 计算机桌面打开图像管理,​电脑屏幕出现:图像设定自动设定,屏幕优化中请稍等...怎么解决?...