模拟IC设计实践教程(入门)

news2024/12/26 15:57:32

一、教学大纲

在这里插入图片描述

二、芯片设计及量产总体流程

  • 芯片需求分析:即产品定义,功能要求,性能要求
  • 工艺选择及评估:不同工艺特性相差较大,不同工艺的成本也是不同的。主要用于评估工艺的性价比,工艺提供的元器件能不能满足最初芯片需求分析要求的各种功能性能的要求
  • 系统级设计:对芯片的各种功能,性能指标进行设计,也有分解到各种子模块的设计。
  • 电路级设计:电路原理图设计,包括各个子模块的设计,来实现各种功能以及性能。特别强调设计的可靠性和鲁棒性,包括像工作电压1.6v、1.8v、2.2v或更高的电压工作范围;还有就是各种工艺的偏差设计,包括TT corner, FF corner, SS corner。还有就是温度设计,不同应用领域,不同工业级的标准,温度范围是不一样的。通常消费级在-40度到60度,工业级从-45度到85度,军用可能到125度,车轨级别可能会到150度甚至更高。
  • 电路设计检查:所有电路功能和性能的仿真设计,因此需要做电路设计的检查,验证设计的仿真结果,是否满足最考试的指标要求。不满足则需要重新修改整个电路级的设计,这个修改可能只是某些电路参数的优化,也有可能是对整个电路结构的重新修改设计。
  • 电路协调:设计完电路后是对各个子电路模块之间相互联调仿真,主要用于验证不同电路模块相互连接时候功能是否正常,相互之间是否有干扰存在,相互之间是否有影响。使最终整个电路拼接在一起能够正常工作。
  • 版图设计:通常会有专门的版图设计工程师来做设计,在此过程中需要电路工程师和版图设计工程师之间沟通和交流,比如电路工程师需要指导版图工程师在电路设计里面的关键走线,关键器件的走线设置,或者一些匹配性要求,版图布局的一些特殊考虑。
  • 版图设计检查:主要对设计规则进行检查,LVS检查,还有天线效应检查。
  • EM电磁仿真:电路后仿真,主要采用Caliber的XRC来提取它的寄生电阻电容,或者互感,相互耦合电容等集成参数,后重新跳入到电路仿真中去验证电路性能是否满足实际设计需求。比如对一些频率较高的设计,像微波频段的电路设计,或者尺寸较大的电路设计,可能会需要用到电磁仿真。需要对整个版图提取电磁仿真模型,电磁仿真建模,然后代入电路进行仿真验证。
  • 全芯片版图设计:所有子模块相互连接关系,包括封装焊盘,pad的布局与连线,还有静电防护ESD设计,这里需要考虑封装的因素,特别是芯片的焊盘布局里面必须考虑芯片最终封装形式,然后去定义各个pad的位置,然后进行全芯片的设计。
  • 芯片流片检查:芯片版图的验证,包括DRC设计规则验证,天线效应检查和验证,包括LVES,及原理图与网表和版图的对比验证,
  • 版图、封装EM电磁仿真:对版图进行寄生参数的提取,包括可能采用电磁仿真软件进行全面版图电磁仿真来提取模型,来进行全芯片的功能和性能方面的验证。
  • 流片:验证通过后会生成最终流片需要的GDS文件,提交给芯片的代工厂,来进行芯片生产,可能还需要提供DRC设计验证的report,或者天线效应检查的report,最终代工厂会反馈一个takeout验证结构通过后再进行生产
  • 切割封装:整个流程是MPW流程,及多项目晶圆流程,在此阶段代工厂那边可能会提供大概几十片的芯片验片,拿回来后需要进行一个切割和封装
  • 测试:进行详细的芯片功能和性能及可靠性的测试验证,此时需要设计测试用的PCB板子,还有一些测试的软件,需要测试芯片各种高低温,或者其他工作环境下的功能和性能及可靠性测试,包括静电防护ESD测试,还有高温、温度循环等环境下的可靠性和老化测试。
  • 然后就可以提交给代工厂进行工程批的生产,这就是芯片量产的过程了
    在这里插入图片描述

三、Linux系统环境及基本操作

  • 首先打开Linux操作系统,账号和密码都是chris
    在这里插入图片描述
  • 进入后首先需要了解的是屏幕分辨率,是系统默认的,可以不用去修改
    在这里插入图片描述

1. 熟悉仿真软件及各种文件位置

  • 然后,了解整个文件夹及仿真软件的一些安装位置,首先打开文件夹。这里是用户的home自己的目录
    在这里插入图片描述
  • 这里有每次启动SFB需要提前source的配置文件,里面包含有一些IC设计软件及相关配置
    在这里插入图片描述
  • 再往上一层是整个工作目录
    在这里插入图片描述
  • 首先查看EDA文件夹下面,这里有设计工具及工艺库
  • IC5141就是Cadence仿真软件,这里已经是完全配置好了,不需要再去做任何的改动就可以直接使用。
  • MMSIM72就是跟IC5141配合使用的仿真器,同样也是完全配置好的。
  • “ixl_cal_2011.2_34.26”文件夹是Caliber的2011版本,这个版本主要是用来进行版图的DRC验证和LVES验证,同时提取版图上的一些寄生参数的工具
  • “kit”文件夹是cmos的射频工艺库,是.13mm的工艺库,一层多金,六层互连线的金属层,顶层金属是30KI的厚金属,主要是为了提高电感的品质因数。
    在这里插入图片描述
  • 打开“kit”文件夹,-“kit”是cmos的射频工艺库,是.13mm的工艺库,一层多金,六层互连线的金属层,顶层金属是30KI的厚金属,主要是为了提高电感的品质因数,
    在这里插入图片描述
  • 继续点开,工艺库有具体工艺库提供的元器件,像mos管,有源器件无源器件的文件夹。
  • 还有“model”模型,其中包括hspice模型和spectre模型,
  • 还有一部分是“Calibre”,其中是Calibre的仿真用的规则文件,包括DRC文件,用于原理图和版图验证的LVES验证文件,用于提取寄生参数的计算参数的规则文件。
  • “docs”文件夹是工艺库的说明文档,包括DRC的设计规则,混合信号的射频器件的参数模型,还有普通mos管的spice模型。这里的文件是我们在后期做实际设计当中需要提前去熟悉所有这些相关说明文档,特别是设计规则和spice模型是一定要去熟悉的,因为我们在设计中需要用到各种各样的元器件,所有元器件的参数和性能在设计之前需要做到一个心中有数,才能方便我们后期去选择合适的元器件,然后设定合适的元器件参数值。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 然后,我们擦看“simulation”仿真文件夹,这是我们在kenneth仿真过程中产生的一些中间临时文件,包括最终仿真完成的结果文件,也会在这个文件夹中进行保存,
    在这里插入图片描述
  • 然后是“project”文件夹,这是我们设计工作的设计库,包括RFIC设计库,以及RFIC_SIM设计库(仿真用的),
  • 这个文件夹下面还有工作区workarea,也就是我们每次source的RFIC文件后会自动进入到这个工作文件夹中,我们是在这个文件夹下面启动这个Candence软件。这里主要包括cds.lib,还有一些caliber的一些run set,以及运行的目录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2. Linux操作系统常用操作指令

  • 首先右键打开terminal,即操作终端。
    在这里插入图片描述
    在这里插入图片描述
  • ls列出当前目录下面的文件和文件夹的命令
    在这里插入图片描述
  • ll -a: 列出所有当前目录下的隐藏文件夹及文件,并会列出全部的文件属性,包括所有者记忆用户组等等内容,
    在这里插入图片描述
  • vi:主要是文本编辑的工具。下面先尝试编辑最考试配置的文件,然后点击回车,会进行整个配置文件的显示.
  • 我们在实际使用过程中主要是两个部分,一个是删除
  • 如果我们要编辑这个文档,我们需要按住键盘上的插入键“ins”键,就可以对文档进行修改添加删除了。如果我们要对文档进行保存,首先按住键盘上的ESC退出编辑模式,然后按住shift+:(冒号),然后w和q,加一个感叹号,点击回车,就会把我们之前做的一些修改全部保存下来了,
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • chmod权限管理命令,因为可能有些文件是不希望所有人都能够去修改的,chmod去点击他的属性。比如我们尝试去修改配置文件,修改为755属性,即所有者和所有者的权限是7,也就是可读可写可执行(rwxr),然后群的用户组的权限是可读可置信(xr),然后其他用户是只有可读(x)权限。
    在这里插入图片描述
  • 复制粘贴:在Linux系统下复制粘贴可通过鼠标的中键,比如我们要进入桌面的文件夹,首先是敲cd,鼠标双击文件夹,然后再按鼠标的中键,就会自动复制到下面命令行中,然后敲回车就会进入到桌面目录下面。
    在这里插入图片描述
  • cd访问选中文件所在目录
  • cd …:返回上一层目录,
    在这里插入图片描述
  • mkdir建立文件夹,比如准备创建名为“test”的文件夹,回车以后就能看到这个文件夹了
    在这里插入图片描述
  • rm -R删除文件夹
    在这里插入图片描述
  • source运行RFIC配置文件
    在这里插入图片描述
  • pwd显示当前目录的路径
    在这里插入图片描述

四、Cadence设计软件基本介绍

1. 运行软件

  • 首先运行配置文件,即source RFIC配置文件,回车后会进入到工作目录下面,
    在这里插入图片描述
  • 输入icfb,然后回车,就能直接启动Cadence设计软件了
    在这里插入图片描述
  • 这个软件最开始启动较慢,因为要加载较多的东西。
  • 启动完成后,出现的启动界面是ICW最顶层的操作界面
    在这里插入图片描述

2. 软件界面介绍

(1)Cadence初始界面菜单介绍

file
  • 这里包括一个file文件夹菜单,其中有新建library库,以及celiview。
  • 还有打开文件open
  • 最需要我们关注的是import操作,导入一些verilog文件或GDS文件等等导入数据的操作,经常使用的是stream,也就是导入GDS文件,需要我们去选择该文件的位置(import file),还有填写导入文件的顶层cell的名字(top cell name),以及导入进来的数据格式(output)通常选用DB格式。此外还需要设置导入GDS库的名字(Library name),比如需要导入到哪个设计库里面。其他部分可以采用默认设置。
  • 另一个需要关注的操作是export导出,最常用的也是stream ,这里需要填写的是导出GDS设计库目录的名字(Library name),顶层设计单元名字(top cell )
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
Tools
  • 最需要关注的是Library Manager,就是打开设计库,这里面已经定义好了RFIC和RFIC_SIM等等库,analogLib里面是仿真时候要用到的电流源电压源等仿真用的元器件,或者是一些射频port。
  • 还有关键的就是CMOS的工艺库(smic13mmrf),在这里有一个选项,就是打开分类(show categories)能看到这里多出一列详细分类的列,比如可以选择电容(capacitors)的min类型的cell,都能看到视图(view)的layout和spectrem的仿真模型。还有像射频mos管(RF_mos),有1.2v(n12_ckt_rf)的,3.3v(n33_ckt_rf)的,还有放在deepnewell里面的一些1.2v和3.3v(dnv33_ckt_rf)的一些元器件。这里面还有一些无源器件比如像电阻(rf_resistors)。射频里面最常用到的是电感(inductors),分为很多类型,有差分电感(diff_ind_3t_alps_rf),单端电感(ind_rf),或者有中心抽头的差分电感
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 此外还有重要的设置是Technology File Manager,也就是工艺技术文档的绑定。点进去能看到菜单,这里需要对我们之前设计库里面比如像RFIC绑定一个具体的库。
  • 具体的操作是进入绑定菜单里面,选中attach,进入另一个页面后,选择库的名字(Design Library)这里选择的是RFIC,要绑定的库是Technology Library里面coms的F工艺库。选择完成后点击OK,就可以完成绑定的操作了。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 工艺库绑定完成后,才能在具体版图设计的时候,才能显示出正确的版图设置,比如说打开这个版图,最开始显示的是一个框,如果要全部显示的话,需要按住shift+F,把器件完整的所有层都显示出来;如果我们需要隐藏所有的层,按住crtl+F,就会把所有的层的显示都隐藏起来。
  • 左边LSW窗口就是刚刚打开版图的时候所有相关设计的层,如金属层,有源层,多晶层等等,还有drw设计层,或者pin的一些层,包括所有层次选择的窗口,
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • Tools里面还需要关注的是混合信号的仿真(Mixed Signal Environment)设置,
    在这里插入图片描述
Option
  • 这部分不太会去接触到,主要是一些快捷键的设置,或者相关license的一些配置信息
    在这里插入图片描述
    Help
  • 帮助菜单就是能够显示帮助文档的,加载可能较慢
    在这里插入图片描述
  • 如果需要详细了解整个仿真器的相关设置,我们可以打开“MMS72”文件夹下的用户手册中详细看下,这个文档是在EDA库,“MMSIM72”文件夹,“docs”文件夹下,这里有所有功能说明的文档,其中我们最需要关注的是spectreref的参考文档,这里有他的PDF文件。这个参考文档是spectre仿真器的用户参考文档。还有一个需要关注的是spectreRF的用户手册,这里会对所有仿真器一些设置和原理方面内容进行详细介绍。如果需要深入了解某一些仿真器的配置,具体的使用,可以来参考这里面的文档。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 删除库文件:
  • 选中要删除的库,鼠标右键一直按住并拖动到(delet),然后松开鼠标右键,然后点击ok,
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3. 创建电路图

  • 打开Tools下的Library manager。首先选择创建电路图的库(RFIC_SIM),然后点击菜单中的File里的New的Cell View。在这里我们需要填写新建Cell view的电路图的名字,比如我们要设计一个反向器INV,工具Tool是composer原理图的设计工具,然后点击OK,就可以打开原理图的设计窗口了
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 如果要调用一个元器件,快捷键是按住键盘上的i键,也就是insert的首字母,就会出现添加元器件的对话框,然后选择打开browse
    在这里插入图片描述
  • 打开后会把library显示出来,然后我们选中需要调入的library库所在的,比如需要调入一个电感,在原理图中只能调入symbol,然后最小化窗口(右上角)
    在这里插入图片描述
  • 然后电感就选中了,放在这里鼠标左键键点击一下,电感就放下来了。退出按住键盘ESC键
    在这里插入图片描述
    在这里插入图片描述
  • 如果我们需要查看元器件的参数,选中元器件,按住键盘上的Q键,就会显示出元器件的参数值,有平面螺旋电感的尺寸,即内部半径直径的大小(inner radius),电感的圈数(coll turns)是2.5圈,金属宽度(width),金属的间距(spacing),还有模型文件里面在2.4GHZ计算出来的电感值(inductance at 2.4GHz),还有电感再这个频率下的Q值(Q-factor at 2.4GHz),可以看到这个Q值是非常小的
    在这里插入图片描述
  • 如果需要查看元器件的完整视图,选中元器件,按住键盘上的F键。
    在这里插入图片描述
  • 如果是要缩小元器件的视图,按住键盘上的**【**(左中括号键),一直按会不断缩小
  • 按住**】**(右中括号键)是不断放大。
    在这里插入图片描述
    在这里插入图片描述
  • 这些快捷键也可以在对应原理图中找到
    在这里插入图片描述

4. 仿真环境ADE

  • 要打开仿真环境(ADE),在菜单栏Tools下面的Analog Environment,就可以进入仿真设计环境了,
    在这里插入图片描述
    在这里插入图片描述
  • 载入变量:选择右侧菜单栏,编辑变量,会弹出窗口,选择FIND,就会把之前所有在原理图上设置的变量全部显示在右边,这样就可以对每一个变量进行参数设置,设置完点ok就会在ADE窗口下显示出来。
    在这里插入图片描述
    在这里插入图片描述
  • 选择仿真类型,调入直流仿真,便会出现直流仿真信息在里面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    菜单
  • Session是状态,当点击Save State,保存当前状态。
  • 有两种存储方式,第一种是存储在当前工作目录下(Directory),然后点击Apply,就可以保存下来了。
  • 另一种形式是保存为(cellview),在设计库中就可以看到,在进行拷贝或调用库的时候可以这样保存设置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • load state就是加载调用状态,比如调入之前保存的状态dc,就会把之前保存的状态全部调入显示出来。
    在这里插入图片描述
    在这里插入图片描述
  • 另一个是option,通常会用来配置波形查看工具(Waveform Tool)
  • 有两种,一种是WaveScan
  • 另一种是AWD
    在这里插入图片描述
  • Setup是设置菜单,Design是对电路进行仿真,用于设置对某个电路进行仿真
    在这里插入图片描述
    在这里插入图片描述
  • 仿真器切换设置(Simulator/Directory/Host),进入界面后显示当前默认仿真器为Spectre,常用的还有并行计算仿真器(aps),可以极快加大仿真器的速度。而采用spectre进行仿真器的速度相对较慢,因为它不是并行计算的方式。如果需要用到Verilog或是原理图与verilog的混合仿真,需要用到(spectre verilog)来进行数模混合仿真。
  • (Porjcet directory)定义当前仿真工作环境,可能会存储一些临时或结果文件的目录位置,
  • 然后是仿真的模式(Host mode),是本地仿真(local),远程仿真(remote),分布式仿真(distributed)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 接下来是trubo选项这是为了加快仿真速度的选项,通常在复杂电路的后仿真会开启这个选项,来加快仿真速度。
  • 第二个选项(parasitic reduction)是寄生参数的压缩和缩减,会把一些影响非常小的寄生参数在网表中滤除掉,不去计算这部分对电路的影响。这部分选中也会有提速的效果。

在这里插入图片描述
在这里插入图片描述

  • 第四个选项是之前工艺提供的模型库(model library),在启动SFB的时候,打开library manager,这个模型文件是会自动加载的,因为在工艺库里面提供了skill的配置文件,会自动把模型文件加载进来。
  • 点进去会发现所有仿真元器件的模型,都可以在这里配置,在后期仿真的时候会对模型库进行修改,比如要仿真各种工艺偏差,或者仿FF或SS corner的时候会在这个模型库中进行设置。
  • 这里默认的状态是tt,也就是标准模型,如果我们需要去修改的话,要换成FF快速模型,会在右下角输入框进行修改。
    在这里插入图片描述
    在这里插入图片描述
  • 温度(Temperature)是在仿真的时候经常去设置的,通常默认的室温是27度。有时候我们需要去仿真到-40度低温,或高温85度。
    在这里插入图片描述
    在这里插入图片描述
  • Environment在后仿真的时候会经常用到,这里用的比较多的是仿真的优先顺序。比如在后仿真的时候,可以在这里面添加提取出寄生参数的caliber view,放在原理图的前面。那么在仿真的时候就会优先去调用带有寄生参数的cell view来进行一个后仿真。
    在这里插入图片描述
    在这里插入图片描述
  • 右侧菜单栏中第一项(Choose design)选择设计,
    在这里插入图片描述
  • 第二项(Choose Analyse)选择仿真的类型,如瞬态仿真tran、直流仿真dc。
  • 在这里选择瞬态仿真(tran),还需填写仿真停止的时间,设置为1us,精度设置(Accuracy defaults)设置为中等(moderate),后点击ok,在仿真类型中就可以看到第二个仿真器的基本信息
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 第三项是编辑变量(edit variables),用于编辑原理图中所有设置变量的参数值。
    在这里插入图片描述
    在这里插入图片描述

  • 第四项是设置输出(setup output),就是编辑一些计算公式,然后放入到最终输出的列表中。

  • 比如加入(name)S11,表达式(expression)是通过计算器(calculator)输入计算公式。输入完成后点击(Get expression)就能将计算器中的公式载入到(expression)中

  • 点击ok后,就会显示在输出的列表中。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 第五项是删除键(delet),对“Analyses”中的仿真类型或者“output”中进行删除
    在这里插入图片描述

  • 第六项是仿真运行按钮(netlist and run),先建立网表后运行。

  • 第七项是直接运行(run),也就是调用之前的网表,不重新生成新的网表
    在这里插入图片描述

  • 最后一项是画输出波形(plot output),仿真完对output的波形在窗口中显示出来。
    在这里插入图片描述

  • output中的(to be saved)在仿真过程中,由于电路太复杂,而如果把所有的节点或网络的仿真结果保存下来的数据量会非常大,导致仿真的速度比较慢。这时可以选择只保存某一部分的输出结果。

  • 点击后在原理图中选中想要保存的节点和网络,完成后退出按住ESC键,然后回到原界面就可以发现在output就会添加上刚才选中的网络仿真结果。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • (Save all)所有节点输出都保存,默认所有输出都全部保存。如果只保存刚才选中的网络或节点,需点击(selected)
    在这里插入图片描述
    在这里插入图片描述

五、仿真设计实例(反相器)

1. 熟悉工艺库说明文档

  • 首先打开工程文件夹,在“EDA”,“Kit”,有“13mmrf”的cmos工艺库。文档是在“docs”下。
  • 最开始需要熟悉工艺库提供的spice模型的说明文档,打开“TD-MM13-SP-2001V7P”
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 这个文档是1.2v和3.3v的spice模型说明文档,最主要的内容从第7章开始,有关于晶圆的基本信息(wafer information);mos晶体管模型(mosfet model),模型中包含模型的特性(capability of model)和各种工艺偏差的模型表(corner model table),以及验证方法:1/f 噪声模型(1/f noise model)
  • 此外,还有BJT 的Gummel-poon 模型(Biploar Gummel-poon model)。
    在这里插入图片描述
    在这里插入图片描述

2. 绘制电路原理图

  • 首先打开icfb设计软件,然后点击库管理(Library manager),打开库管理窗口
    在这里插入图片描述
    在这里插入图片描述
  • 选中(RFIC_SIM)库
    在这里插入图片描述
  • 新建单元cell
    在这里插入图片描述
  • 修改cell name名字为INV,点击ok,便会自动弹出原理图的编辑窗口
    在这里插入图片描述
    在这里插入图片描述
  • 添加元器件,可以按住键盘上的i键,即insert
  • 选择browser去浏览库
    在这里插入图片描述
  • 这里是从13um的工艺库中去选择(smic13mmrf——1233),我们先在分类中选入mos晶体管(mosfet),放入nmos1.2v晶体管(n12),选择(symbol)。
  • 然后最小化
    在这里插入图片描述
  • 然后就能自动显示出来信息了,
  • 选择(hide)
    在这里插入图片描述
  • 鼠标左键点击原理图的窗口,元器件就可以自动放入其中,然后按住esc键盘,退出操作
    在这里插入图片描述
  • 这时候我们还需要添加PMOS晶体管,同样操作过程
    在这里插入图片描述
    在这里插入图片描述
  • 接下来查看和修改晶体管参数,鼠标选中晶体管,按住键盘上的q键,就会弹出它的属性窗口,上面有晶体管的参数信息。
  • (Instance Name)表示该晶体管位唯一的标识符PM0。
  • (multipler)表示晶体管的并联个数,在一个元器件中可以设置多个晶体管并联
  • (length)是晶体管沟道的长度,这里最小选择的是130nm/0.13um,是工艺线宽的最小尺寸
  • (total width)是晶体管整体宽度的计算结果,总宽度是由单个finger宽度(finger width)*finger的个数(fingers)
  • (gate connection)是栅极是否要在版图中连线出来,这里选择None,到时候我们画版图的时候自己来画他们的连接关系
  • (bodytie type)衬底的连接,
    在这里插入图片描述
    在这里插入图片描述
  • 将Pmos晶体管的(finger width)修改为2u,(fingers)修改为4.
    在这里插入图片描述
  • 同样的操作对Nmos晶体管
  • 这里我们把(finger width)修改为1u,(fingers)修改为2.
  • Pmos晶体管和Nmos晶体管的宽敞比设置为2:1的尺寸比例关系,这是因为N和P的mos的载流子迁移率是不一样的,在相同偏置电压的开启电压的前提下,他的导通电阻是不一样的,通常认为pmos管的导通电阻较大,Nmos管的导通电阻较小。一般是两倍的开启电阻的阻抗值关系,这样能使他们的导通电阻基本是相等的。这样仿真器的翻转电压基本是在电源电压的一半的位置,在中间的电平上做信号的翻转,
  • 我们可以通过瞬态仿真来查看翻转电压在什么情况下翻转。

在这里插入图片描述

  • 设置完成后,点击检查和保存
  • 还会报一些warning,是说原理图上有很多pin脚没有连接,是悬空网络。
  • 保存还有快捷键是按键盘上的s
    在这里插入图片描述
    在这里插入图片描述
  • 设置完成后需要进行晶体管的连接,连线的快捷键是按键盘w
  • 将pmos管与nmos管的栅极相互连接。且漏极相互连接。
  • 将n和pmos的源极引出,
    在这里插入图片描述
  • 但是两个晶体管的衬底端没有连接,Pmos管要求连接到电源电压,也就是它的源极;Nmos管通常要求单独连接叫sab的衬底连接端,通常连接的是晶圆或整个芯片的衬底。在模拟电路设计中通常会引出来。在数字电路中通常跟nmos的源极,也就是跟GND连接
    在这里插入图片描述
  • 连接线完成后,需要添加端口,在左侧菜单栏中,然后就会弹出添加pin的对话框。
    在这里插入图片描述
    在这里插入图片描述
  • 我们首先添加反相器的输入端,命名为IN,然后点击(hide)
  • 设置pin的名字的时候最好都采用大写字母命名,因为有的工艺可能在做LVS或者DRC检查的时候,默认是不区分大小的。而有一些工艺库会把所有小写字母全部认成大写字母。所以后面在做LVS的时候可能会出现一些问题。
    在这里插入图片描述
  • 我们把输入端口放置在栅极
    在这里插入图片描述
  • 我们再放置一个输出端口
    在这里插入图片描述
  • 放置在漏极输出端
  • 放置后可以把端口往外拉出一些
    在这里插入图片描述
    在这里插入图片描述
  • 电源端口的类型设置为可输入可输入模式inputoutput
  • 此外我们还可以批量输入相同类型的端口,输入完一个名字后,敲空格再输入另外一个名称。

在这里插入图片描述
在这里插入图片描述

  • 如果我们需要移动端口,选中pin,按住键盘Shift+M键,然后按鼠标的右键将端口进行旋转,然后放置
    在这里插入图片描述
  • 这时候再保存就不会有报错了。

3. 创建symbol

  • 如果需要进行电路仿真,还需要对电路原理图创建一个symbol。
  • 点击(Tools),选择(Create cellview),选择from cellview,就会弹出创建cellview的对话框。采用默认设置就可以了,然后就可以生成symbol,然后点击ok
    在这里插入图片描述
    在这里插入图片描述
  • 然后回弹出端口设置的对话框,输入端口是在左边的pinIN,输出端口是在右边的pinOut,最底下的pin是VCC,GND,SUB。就按照默认布局来设置。
    在这里插入图片描述
  • 然后就可以生成一个symbol的原理图
  • 然后点击保存
    在这里插入图片描述
    在这里插入图片描述
  • 保存完之后,回到library manager,就可以看到cellview有INV,里面包括symbol和原理图。
  • 双击schmatic可以看到INV的原理图。
    在这里插入图片描述

4. 创建testbench

  • 然后我们需要建立一个仿真用的testbench。建立的过程也是跟创建cellview的INV的原理图一样的过程。只是我们需要添加一些其他元器件进去。
  • 选择file的new的cell view
    在这里插入图片描述
  • cell name改成INV_testbench。点击ok,就能自动打开testbench
    在这里插入图片描述
    在这里插入图片描述
  • 我们需要导入之前创建好的反相器的symbol。
  • 我们按住键盘上的i键,点击Browke
    在这里插入图片描述
  • 选择刚刚创建好的INV的symbol
    在这里插入图片描述
  • 最小化窗口后,就可以看到原理图上有INV的symbol
    在这里插入图片描述
    在这里插入图片描述
  • 然后我们还添加其他仿真的元器件,包括电压源,理想的地。
  • 我们首先添加仿真的电压源,按住键盘上的i键,
    在这里插入图片描述
  • 是在analogLib的工艺库里面,在cell中搜索vdc,就会自动定位vdc的位置,
    在这里插入图片描述
  • 然后放置电压源在原理图上
    在这里插入图片描述
  • 我们还需要调入GND
  • 另一种快捷方式是,直接在Cell中输入gnd,地的标志就能出现在原理图上
  • 我们将地放在电压源下面。
  • 这时候我们的电源就设置好了。
    在这里插入图片描述
    在这里插入图片描述
  • 我们还需要设置GND和SUB
  • 我们需要进行复制操作来复制电源。按住鼠标左键框选电压源,然后按键盘上的C键,然后点击鼠标左键进行放置。就能把整个元器件和网络复制下来。
    在这里插入图片描述
  • 还有一个在模拟电路里面需要建模的东西是,如果是芯片外部引入进来的电源和地,就会存在封装上的引线的电感,对于电感的模型我们是需要去模拟的。在电路仿真过程中,我们需要把电感的模型代入到仿真的testbench。
  • 这里我们需要先添加理想的电感。操作与前面相同
    在这里插入图片描述
    在这里插入图片描述
  • 电感需要接到电压源上面
  • 引线电感设置的值为,如果是常规的QFNR或者QFP封装的话。我们通常认为引线电感是1um的长度等效电感值,电感值是在1nH左右。通常这种封装引脚上的电源影像的话通常会在2um左右,所以通常认为引线的电感为2nH。
    在这里插入图片描述
  • 我们选中电感,按住键盘上的Q键,打开其属性窗口。
  • 设置电感值为2nH,然后我们还需要建模,金属的绑定线的等效阻抗,通常设置为100m欧
    在这里插入图片描述
  • 但是对于地线通常不是直接绑定在封装的管脚上,而是绑定到整个芯片封装背面大片的金属地上面,这时候我们叫单ban,引线电感会小一些。通常引线绑定的长度在1um左右,在1mm以内设置等效电感为1nH,阻抗设置为50m。
    在这里插入图片描述
    在这里插入图片描述
  • 然后,我们需要添加连线。
  • 另一种连线的方式,是对连线进行网络设置对网络进行命名,通过网络名称来对应连接方式。
  • 选择左侧菜单栏中(wire name),快捷键是键盘上的L

在这里插入图片描述

  • 添加name为VDD,
    在这里插入图片描述
  • 选中需要添加网络的线,完成网络的命名
    在这里插入图片描述
  • 同样对另外两根线同样操作。
    在这里插入图片描述
  • 然后我们将同样的网络拷贝到下面电源部分
    在这里插入图片描述
  • 连接完成后设置电源的电压。选中电压源,按住键盘上的q键。
  • 弹出的对话框我们只需要设置DC电压值即可。我们设置电压值为1.2v
  • 对地电源的电压设置为0

  • 在这里插入图片描述
  • 接着设置输入输出端口。
  • 在输入端需要添加输入脉冲。按住键盘上的i键,点击browse。
    在这里插入图片描述
  • 在模拟库中选择vpulse
    在这里插入图片描述
  • 添加进来后,放置在输入端中。
    在这里插入图片描述
  • 对脉冲电压源需要设置输入参数
  • 选中脉冲电压,按住键盘上的q键。(dc voltage)设为0,(voltage1)设置为0v,(voltage2)设置为1.2v。
  • (delay time)为初始电压的延时时间,也就是从voltage0跳转到voltage2的延时时间,设置为延时100ns
  • (rise time)为上升时间,为了更加详细准确看出反相器电压翻转的时间。我们可以把上升时间设置稍微长一些。设置为0.5us,即500ns
  • (fall time)下降时间也设置为500ns
  • (period)脉冲周期,以变量的形式设置。我们填入1/F,(F即频率),这里就设置了变量是F。
  • (pulse width)脉冲宽度不设置的话,默认就是50%的占空比,也就是一半的周期的时间作为脉冲宽度。这里就不去设置了。
    在这里插入图片描述
  • 输出端同样需要去查看输出波形。也需要增加元器件。
  • 这里添加电容作为输出负载。
  • 电容缩写是cap
    在这里插入图片描述
  • 然后设置电容的值。设置为0.1pF
    在这里插入图片描述
    在这里插入图片描述
  • 这时候原理图就绘制好了,保存原理图。
  • testbench就搭建好了,可以来进行仿真的操作。

5. 仿真

(1)导入变量

  • 打开ADE仿真环境
  • 选择Tool-Analog design environment
    在这里插入图片描述
  • 由于刚刚设置了变量F,所以先调入变量
  • 鼠标点击右侧菜单栏
    在这里插入图片描述
  • 点击(copy from) ,将电路原理图上的变量全部调入进来。
  • 然后回在右侧的table中显示
  • ,
  • 在table中选中变量F,就会有设置参数值的窗口。由于前面上升时间设置的比较长,因此在这里我们设置为100k,相当于是10us的周期。
    在这里插入图片描述
  • 然后会在设计变量(design variable)中显示出来。
  • 此外我们还需要添加仿真器
    在这里插入图片描述

(2)直流仿真

  • 选择仿真类型,先选择直流仿真(dc),然后点击保存所有直流工作点(save dc operating point)
    在这里插入图片描述
  • 这时候所有仿真器的设置都弄好了。我们点击右侧菜单栏的运行
    在这里插入图片描述
  • 然后会弹出信息窗口。会有所有仿真信息在里面,包括仿真电路的基本参数
    在这里插入图片描述
  • 电路各种参数都会显示出来
  • 7个节点,2个3v3的晶体管模型,1个电容,3个电感,3个电压源
    在这里插入图片描述
  • 再下面是整个直流仿真分析的输出过程,包括仿真精度,温度,仿真收敛的信息。
  • 仿真完成后会把所有信息都保存下来。
    在这里插入图片描述
  • 查看仿真结果是在菜单栏中的(results)里面
  • 直流是让其全部在原理图中显示出来。
  • 比如我们要显示所有直流节点的电压(dc node voltage)
    在这里插入图片描述
  • 这时候原理图上,每个网络上所有电压都现实出来了,比如输入端的网络的网络是0v电压,而输出端电压经过反相器后会变成高电压,为1.2v
  • 而下面电源电压VDD显示的是1.2v,gnd和SUB显示的是8.pv和12pv的电压,相当于0v的电压结果。
    在这里插入图片描述
  • 还有选中输出窗口,查看直流工作点,会把所有的电流都现实显示出来。,查看直流工作点
  • 我们查看原理图,
    在这里插入图片描述
  • 如果我们需要查看建立的symbol里面电路的晶体管或其他元器件的工作状态。
  • 首先选中建立元器件的symbol,按住键盘上的e键,进入到它的下一层
    在这里插入图片描述
  • 然后就能进入到子模块的内部电路图中。这时候再去查看各个地方各个节点的电压工作状态。

在这里插入图片描述

  • 可以发现pmos管流过的静态电流Id是-424.9pA,电压vgs是1.2v,因为输出端也是1.2v,所以vds基本为0。此外还显示出gm值,通常情况下,如果电路是放大器的话,会显示出正常工作的工作电流,跨导的值,还有vdsat(晶体管过载电压)为-600mV。
  • vdsat等于vgs减去阈值电压vth
    在这里插入图片描述
  • 如果我们需要查看晶体管非常详细和具体的模型里面各个元器件,或者全部晶体管的工作状态的一些参数。这里我们需要用到print直流工作点的操作方法
  • -首先打开ADE,选择result-print-dc operating point在这里插入图片描述
  • 这时候鼠标就可以去选中需要去查看的直流工作状态元器件。
  • 这里我们选中nmos管,这时候就会弹出一个结果
    在这里插入图片描述
  • 就会有结果的显示窗口,就会把这个mos晶体管里面所用到的所有模型所有参数在这个直流工作状态下对应的值是多少,会全部显示出来。(nmos管)
  • 这里有包括电流,寄生电容,跨导等等参数都会在里面详细显示。
    在这里插入图片描述
  • 这里我们比较关心的参数是region就是晶体管的工作状态,查看是工作在截止区还是在饱和区。
  • 还有就是导通电阻(ron),是当前沟道的,这个是他当前沟道电阻的阻抗。可以看到这个值非常大。
  • 还有vdsat的电压
    在这里插入图片描述
  • 然后我们查看下(pmos管)的工作状态,是有差别的。region显示的是1,跟刚刚处于截止状态的mos管是完全不一样的。
    在这里插入图片描述
  • 当我们查看完子模块的symbol原理图,点击design-hierarchy(层级关系)-return。这样就会自动返回上一层。
  • 或者使用快捷键ctrl+e
    在这里插入图片描述
    在这里插入图片描述

(3)瞬态仿真(网格)

  • 选择仿真器
    在这里插入图片描述
  • 选择瞬时仿真(tran)
  • 由于之前设置的频率为100k,那么其周期就是10us,我们仿真的周期可以设置长一点,设置5个周期为50us。
  • 还需要设置仿真精度(accuracy default),在这里我们选择中等精度(moderate)
    在这里插入图片描述
    -然后我们点击右侧菜单栏的运行(run)
    在这里插入图片描述
  • 查看仿真报告,首先进行瞬态仿真,从0到50us的过程
    在这里插入图片描述
  • 然后我们可以查看波形查看器。有两种的波形查看器,在session-option中
    在这里插入图片描述
wave scan波形查看器
  • 第一种是wav scan
    在这里插入图片描述
  • 查看波形在result-direct plot-main fog
    在这里插入图片描述
  • 这时候弹出对话框。
  • 这里可以画的波形包括电压,电流或功率等等
    在这里插入图片描述
  • 先不要退出窗口,直接选中原理图中的网表
    在这里插入图片描述
  • 这时候输入方波的波形就会显示在波形查看器上面。
    在这里插入图片描述
  • 如果我们再点击输出网络,那么输出结果会叠加在原波形中显示出来
  • 可以清楚看到反相波形状态的过程
    在这里插入图片描述
AWD波形查看器(游标标识)
  • 另一种波形查看器是
    在这里插入图片描述
  • 同样的的操作
  • 可以发现他们显示的情况是不一样的,主要是少了网格,此外标识也是不一样的。
    在这里插入图片描述
  • 如果我们想添加游标,按住键盘上的a键,就能添加一个十字游标
  • 如果我们要添加另外一个游标,按住键盘上的b在这里插入图片描述
    在这里插入图片描述
  • 然后在波形查看窗口的左下角,就会显示两个坐标的基本信息。
  • delta是两个坐标的差值
  • slope就是两个坐标连线的斜率
    在这里插入图片描述
  • 如果要移动游标,就再次按键盘b键,
    在这里插入图片描述
  • 如果波形仿真时间非常长,波形非常的密集,想要放大电压波形。
  • 一直按住鼠标右键,框选想要放大的部分,松开鼠标右键,这个区域就被放大了
    在这里插入图片描述
    在这里插入图片描述
  • 可以发现A点翻转电压的纵坐标在600mV左右,基本在1.2v一半的位置。
    在这里插入图片描述
修改参数再查看(晶体管宽敞比)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647366.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pip install 过程中报错:Microsoft Visual C++ 14.0 is required.

这是因为电脑中缺少这个组件导致的,我们将这个组件安装上即可解决问题。 安装报错关键信息:Microsoft Visual C++ 14.0 is required. 目录 一、下载组件 二、 安装步骤 一、下载组件 阿里网盘:VisualStudioSetup.exe:

绝地求生:季后赛名额确定!NH战队总积分榜排名第一!

2024年5月5日,PCL春季赛常规赛第五阶段第三天比赛结束,今天打完春季赛常规赛结束,16个战队进入季后赛的名额已确定。NH战队总积分506分,总积分榜排名第一!!NH战队也是唯一一支总积分超过500分的队伍。今天最…

LabVIEW自动机械变速器(AMT)开发

LabVIEW自动机械变速器(AMT)开发 在现代汽车工业中,提升车辆的自动化水平和驾驶体验是一个不断追求的目标。随着技术的发展,自动机械变速器(AutomatedMechanical Transmission, AMT)凭借其较高的能效和较低…

详解嵌入式MCU运行时分配的stack和heap

目录 概述 1 认识stack和heap 1.1 栈区(stack) 1.2 堆区(heap) 2 stack和heap的区别 2.1 管理方式的不同 2.2 空间大小不同 2.3 产生碎片不同 2.4 增长方式不同 2.5 分配方式不同 2.6 分配效率不同 3 确定stack和heap…

细数:智能物流装备界的并购案~

导语 大家好,我是智能仓储物流技术研习社的社长,老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 近年来,随着智能仓储物流行业的快速发展,全球范围内的并购活动日益频繁,各大企…

Hamilton回路求解

如果可以 我想和你回到那天相遇 让时间停止 那一场雨 红线划过 深藏轮回的秘密 我挥霍运气 因为你 才让我 背对命运不害怕 --------- 如果可以 (Acapella) - 韦礼安 大家好,我又又又来了,今天给大家聊聊Hamilton回路! 背景 国际象…

VSCode通过SSH连接虚拟机Ubuntu失败

问题说明 最近使用VSCode通过SSH连接Ubuntu,通过VSCode访问Ubuntu进行项目开发,发现连接失败 在VSCode中进行SSH配置 这些都没有问题,但在进行连接时候出现了问题,如下: 出现了下面这个弹窗 解决方法 发现当…

从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(上)

文章目录 引言第一章:感知机是什么第二章:简单逻辑电路第三章:感知机的实现3.1 简单的与门实现3.2 导入权重和偏置3.3 使用权重和偏置的实现实现与门实现与非门和或门 文章文上下两节 从简单逻辑到复杂计算:感知机的进化与其在现代…

与 Apollo 共创生态:Apollo 7 周年大会的启示与心得

文章目录 前言Apollo X 全新征程Application X 企业预制套件总结 前言 在过去的七年中,Apollo 开放平台经历了一段令人瞩目的发展历程。从最初的构想到如今的成熟阶段,Apollo 已经推出了 13 个版本,吸引了来自全球 170 多个国家和地区的 16 …

python 中的数据结构

python 中的数据结构 1.1 序列 序列时有索引的数组 举例实现: a["北京","上海","广州","深圳","重庆","成都"] print(a[2]) print(a[-1] " " a[-2]) print(a[1:3]) # 运行结果 "&…

Java设计模式 _结构型模式_外观模式

一、外观模式 1、外观模式 外观模式(Facade Pattern)是一种结构型模式。主要特点为隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这有助于降低系统的复杂性,提高可维护性。当客户端与多个子系统之间存在大量…

使用Zotero自定义参考文献格式的教程

Zotero Zotero是一个开源的参考文献管理软件,它能够帮助研究人员和学生收集、管理和引用各种来源的文献,包括书籍、期刊文章、网页、图片等。用户可以使用Zotero将文献信息直接保存到自己的库中,并且可以根据需要创建标签、注释和文件夹来组…

Go实现树莓派控制舵机

公式说明 毫秒(ms)是时间的单位,赫兹(Hz)是频率的单位,而DutyMax通常是一个PWM(脉冲宽度调制)信号中表示最大占空比的值。以下是它们之间的关系和一些相关公式: 频率&…

软件测试与管理:黑盒测试-因果图法和场景法

知识思维导图: ​​​​​​​ 例题1:运用因果图法设计测试用例 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下: 若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料…

XSS-Labs 靶场通过解析(上)

前言 XSS-Labs靶场是一个专门用于学习和练习跨站脚本攻击(XSS)技术的在线平台。它提供了一系列的实验场景和演示,帮助安全研究人员、开发人员和安全爱好者深入了解XSS攻击的原理和防御方法。 XSS-Labs靶场的主要特点和功能包括:…

C++字模软件发送 单片机接收显示

/****先定义数组类型再赋值**L310*********/ /*2014 8 21 10:01**PAST*CODE1000**TEST**/ #include<reg51.h> #define uint unsigned int #define uchar unsigned char sfr AUXR0x8e; //辅助寄存器 sfr SADDR0xA9; …

后台启动HIVE的JDBC连接

后台启动HIVE的JDBC连接 生活就像一杯咖啡&#xff0c;有时苦涩&#xff0c;有时香甜&#xff0c;但都是值得品味的经历。无论遇到什么挑战&#xff0c;记住在每一天的开始&#xff0c;你都有机会给自己倒上一杯清新的力量&#xff0c;为心灵添一抹温暖。勇敢地面对生活的苦与甜…

aardio爬虫) 实战篇:逆向有道翻译web接口

前言 之前的文章把js引擎(aardio封装库) 微软开源的js引擎(ChakraCore))写好了&#xff0c;这篇文章整点js代码来测一下bug。测试网站&#xff1a;https://fanyi.youdao.com/index.html#/ 逆向思路 逆向思路可以看有道翻译js逆向&#xff08;MD5加密&#xff0c;AES加密&…

Ubuntu上使用audit2allow解决Android Selinux问题

1.安装工具 sudo apt install policycoreutils 2.运行命令 提前用dmesg或者串口抓取kernel log 遇到错误&#xff0c;提示需要用-p指定policy file&#xff0c;然偶尝试创建一个policy空文件&#xff0c;用-p选项&#xff0c;遇到如下错误 3.规避问题 首先跟进错误log的堆栈…

【copilot 使用指南 - @workspace】

为什么需要workspace 默认情况下&#xff0c;copilot只能分析当前文件中的代码内容&#xff0c; 那么如何让copliot 跨文件分析&#xff0c;分析整个项目&#xff0c;分析整个代码目录下的代码&#xff0c;就要用到workspace&#xff0c;举例 &#xff1a;假设如下代码 index…