本文为作者自己的学习笔记,用一个简单的反相器记录了使用Cadence Virtuoso进行模拟IC设计的全过程。对于初学者如有不懂的地方可以参考前人博客。
仿真使用打包好的虚拟机,下载后可直接使用。
链接:https://pan.baidu.com/s/16XQVxzNUswacdzG-QnSOqQ?pwd=guxh
提取码:guxh
为完成后仿真,需要有xrc规则文件的工艺库。本文使用的是SMIC 0.13um的工艺库,导入前需要用virtuoso自带的转换工具将CDB转换成OA。
链接:https://pan.baidu.com/s/197RExRy8wyIztgLZuS2JKA?pwd=ag1b
提取码:ag1b
这里我更新了一下工艺库的分享压缩包,里边是我已经转好的工艺库,应该可以导入直接用。
一、前仿真
在“工程名”cell下建立schematic,原理图中不用设置激励源,但是要设置好引脚,引脚名称全部用大写字母。
为了一会儿画版图方便,我们对场效应管做如下设置:将PMOS的栅极过孔设置在下端,衬底与元件分离,设置在上端;将NMOS的栅极过孔设置在上端,衬底与元件分离,设置在下端。
画好原理图后生成器件,步骤如下图。注意器件是不能仿真的,要在“工程名_sim”下再建立一个schematic用于仿真(前仿真和后仿真都用这个)。
在“工程名_sim”schematic中进行仿真。点击i添加器件,选择我们刚刚生成的symbol放入原理图。直流源和地可以在analogLib库中找到,输入输出可以用引脚,如下图
打开ADE L进行前仿真。使用如下图的Stimulation设置激励。
点击Enable,如图为方波激励,其他波形可由Function设置。
设置好激励后,设置仿真类型和输出。输出可以通过From Design直接点输入输出引脚来设置。设置好之后进行仿真,得到前仿真结果。
二、版图与规则检查
回到原理图,按如图方式生成版图,设置默认即可
在打开的版图界面中,按如图方式导入原理图中的器件
在版图生成图窗中做如下设置:取消勾选PR Boundary,打开上方的I/O Pins标签页,按图中步骤设置。
(也可以不用按上图自动生成标签,在版图画完之后按L后续添加也是可以的)
点击OK后出现了版图的简单模型,按shift+f显示具体内容。
这里按一下e打开显示设置,将网格分辨率改为0.005
接下来进行连线。按P再点击某个金属1层的边缘,移动鼠标到另一个金属1层边缘点击即可完成连线。画图过程中可能会遇到连线与器件金属层未对齐的情况如下图
此时按下m并点击未对齐的器件,就可以移动器件手动对齐。之前设置的网格分辨率将影响这里器件移动的灵活度。
另外,对于比较简单的连线,可以按s对已有的图形进行拉伸,有时候更方便。
连完线之后还要调整引脚的位置,按下图方式可以先进行自动调整。注意,自动调整往往不太可靠,直接使用可能会报错,需要手动微调一下。
完成后的版图如图所示
接下来进行规则检查。分DRC和LVS两步。
点击Calibre-Run nmDRC,如果已经完成过一次仿真,弹出的窗口直接点ok即可,我将规则检查的结果以及设置文件放在了与工程文件夹project同级的文件夹Calibrefile中,便于管理。仿真规则文件一般都在工艺库文件夹中,后缀为.drc。
点击Run DRC,稍等一会儿可以看到检查结果。按图中提示打开版图中的规则检查问题,在下方的控制台窗口看到问题的具体内容,双击红色数字可定位到出问题的位置。
回到版图,点击Calibre-Run nmLVS,点击Run LVS,看到笑脸表明规则检查已经通过。
三、寄生参数提取及后仿真
在版图界面点击Calibre-Run PEX,进行寄生参数提取。
在PEX界面左侧点击Run PEX,稍等一下,会弹出如下图的界面,按图进行设置。
点击ok,之后会有一个弹窗显示参数提取的完成情况,出现的警告或错误可以到virtuoso主界面查看。提取的寄生元件如下图
完成寄生参数的提取之后,可以在Library Manager中看到“工程名”cell下出现了一个叫calibre的view,这就是寄生元件,它将被用于后仿真。
打开“工程名_sim”cell的原理图,在ADE L下进行后仿真。后仿真和前仿真的原理图和仿真设置完全一样,唯一的区别在于需要加入寄生元件的影响。按下图进行设置
在环境设置窗口中,在第一个输入框内的schematic之前写上一个calibre表示在原理图参数之前先考虑版图参数,点击ok确定。
导入前仿真时已经设计好的仿真设置,点击仿真即可得到后仿真的结果如图
可以看到前仿真和后仿真结果差不多,这是由于电路只是一个反相器,功能相对简单导致的。