前言
Cadence是一家专门从事电子设计自动化(EDA)的软件公司,其开发的许多软件早已成为行业内最常用的软件。Cadence Virtuoso IC是集成电路设计中必不可少的软件,它同时提供了原理图设计,原理图仿真,版图设计,联合仿真等一系列前端和后端的功能。对于想要从事有关行业的人来说,学会Cadence Virtuoso IC是必不可少的。同时,本文为我自己的学习笔记,是Cadence Virtuoso系列的第一篇文章,也是入门系列的文章,采用的软件版本是Cadence Virtuoso IC617。其他文章请点击上方,看我制作的Cadence Virtuoso专栏内容。
搭建运行环境
Linux环境
在EETOP可以找到安装好有关软件的虚拟机,我选择的是Ubuntu20.04,整合了Cadence IC617,Spectre18,Calibre19,XCELIUMMAIN 18,打开可以直接使用,如果有需要的可以点下面的链接。搞IC设计的应该都有自己的EETOP帐号,没有的话建议买个邀请码注册,我也不能直接搬运大佬的资源然后说是我自己的资源。
注意:Cadence Virtuoso IC617只能在Linux下运行,在一开始时我走了弯路,下载的是Cadence SPB,这是一个设计PCB的软件,可以在Windows下运行,类似于Altium Designer。IC617的安装包及配套的组件比较难找,同时有关环境配置比较繁琐,而Linux也需要安装虚拟机,所以建议直接寻找安装好有关软件的虚拟机
由于我大部分时间在搞硬件,对这些系统不是很了解,以下涉及到Linux的部分我都会尽量使用图形化界面操作,而不是输入命令。只有在一些不得不使用命令的情况下才会使用,我也会放出命令代码,直接复制即可。
工艺库
这里推荐一个SMIC 0.18um的工艺库,用于初期学习。由于软件版本问题,后面的版本只支持OA格式的工艺库,而大部分工艺库是CBD格式的,用软件自带的转换工具有一定概率不识别库,所以推荐直接下载别人制作好的OA库,看下面的链接可以下载。库里有基本的MOSFET,三极管,二极管,电阻,电容,射频器件等。
虚拟机
这里需采用VMware虚拟机,由于Ubuntu版本比较新,推荐使用15或者以上版本的虚拟机软件,我用的是VMware Workstation Pro v16.1.2,这类软件比较好找,这里就不放链接了。
插电 开机
安装好虚拟机软件和导入解压后的虚拟机镜像后,启动虚拟机,建议内存和内核数量分配多一些。
输入开机密码后就进入到Ubuntu的桌面了,建议关闭开机密码会方便一点。同时,系统最好保持英文语言。
软件的使用
建立目录
根据个人习惯建立自己的工程目录。我这里在home文件夹下新建了个EDA文件夹用来存放有关的资料。
在EDA文件夹里,新建一个test的文件夹(叫其他的也可以,看个人习惯),用来存放第一个工程文件,新建一个lib的文件夹,用来存放用到的库。
打开lib文件夹,把刚刚下载好的SMIC库在本机系统解压后,直接拖动进去即可,就会自动进入虚拟机的文件目录里了。
启动软件
在刚刚新建好的空白的test目录下,右键,选择最后一项Open in Terminal,打开控制台。
输入以下命令,即可在当前目录下打开IC617。
virtuoso
- 1
当出现以下两个窗口时,同时log文件显示打开成功时,软件就成功打开了。
注意:表面上,右边窗口是log日志记录,但实际上就是IC617的启动器,在运行时,控制台和启动器两个窗口都不能关闭。
建立工程
添加工艺库
选择Tools菜单下的Library Path Editor,能打开右边的窗口,进行工艺库的添加。
如图,前9个都是自带的,在第10个的空白部分按鼠标右键,添加库。
选中刚刚添加进去的SMIC的库进去,点OK。
关闭的时候选择Yes保存修改。
在Tools里选择Library Manager,可以查看当前添加了的库。
勾选Show Categories后可以看到这个库下的分类,可以看到这个库里包含了基本的三极管,电容,二极管,电感,MOSFET,电阻,还有射频专用的器件等。
新建设计库
如下图,新建一个Library。
名字根据自己需求设置,我这里设置名字为test,然后选择右边的文件形式,选Attach开头的,即外部的工艺库,点OK。
在弹出的窗口里选择SMIC的工艺库,点OK。
工艺库和本地库绑定
选择Tools菜单下的Technology File Manager,进行两个库的绑定。
在弹出的窗口中选择Attach,对应我们刚刚新建test设计库的Library时选中的引入外部工艺库。
按照我下面的选择进行操作即可。设计库是test,工艺库是SMIC,点击OK。
建立原理图
工程建立好后,就可以建立原理图了。在Tools菜单里选择Library Manager,打开库管理器,在里面选择test设计库,新建一个原理图文件,如下图。
设置一个名字,我这里命名为sch1,点击OK。
就进入了原理图编辑界面。
原理图编辑
常用快捷键
按键 | 作用 |
---|---|
i | 添加器件 |
W | 进行连线 |
L | 设置连线标号 |
Q | 修改器件参数 |
X | 保存文件 |
F | 显示完整原理图 |
C | 复制器件 |
E | 进入子模块或下层原理图 |
Ctrl + E | 进入顶模块或上层原理图 |
Shift + M | 移动器件 |
Shift + N | 添加普通文字 |
鼠标右键 | 移动器件时旋转 |
添加器件
在编辑界面按I(是i,不是L),就可以添加器件了。
选择Browse可以查看库里的器件,勾选Show Categories可以按分类查看器件。
选中之后在原理图中单击,就可以把器件放置上去了。
器件连线
在编辑界面按W,就可以对器件进行连线。
连线常见警告
点击保存后,查看log文件可以看出当前原理图出现了什么错误和警告。
在连线时,不能和在AD中画原理图一样随意,其中有以下几个需要注意的地方,如果不注意,将会产生Warning。
端口连接
器件的所有端口必须被连接上,否则会报警告。
十字交叉
在设计中,下图的十字交叉是必须避免的。虽然我们心里知道,电压源的负极,MOS的S极都是正确连接到GND的,但是软件不允许有电气连接的十字交叉。
正确的画法应该和下图一样。将十字交叉拆分成两个连接点。
器件端口连线交叉
在设计中,不建议设计成下图所示,某个器件的端口连接多根线,虽然这样不会报错,但有一定概率弹出警告,同时这让我们很难判断线是否连接上。
正确的做法是,器件的端口只连接一根线。