本人模拟IC设计小白,之前在学习专业课时接触过Cadence,但整体操作不是很顺畅。由于毕业设计需要用到Cadence设计软件,我就在最近对Cadence进行了比较系统地学习。本文主要记录自己的学习过程以及分享一些自己总结的常见问题的解决步骤,如果写的有什么错误,请大家批评指正。
先介绍一下我所使用的软件版本:
1.Vmware 16.0 pro
2.Red Hat Enterprise Linux Server 6.5
3.Cadence IC5141
其中Vmware 16.0 pro的安装包以及安装破解步骤网上有很多资源,随便找一个靠谱的基本都能安装成功。其实14或者15版本也可以,但是我的电脑若采用前两个版本运行虚拟机,会出现虚拟机假死的情况,如下图:
这种情况在网上有很多解决方案,但是治标不治本,其实原因是Win10跟低版本的Vmware不兼容,所以在这里我安装16.0版本从而避免出现这个问题,目前为止没有出现过此类情况。另外的两个资源是专业课老师提供的,在网上也有很多资源,一般也都能安装成功。推荐Linux系统安装较低版本,因为新版本的Linux系统换了内核,目前不一定能够支持Candence运行。
软件安装完成后,便可以运行虚拟机,开始Cadence IC5141的相关配置。首先需要将IC5141文件夹中的cell_design文件放入到主目录下,该操作可以使用Linux命令进行:
1.cd /opt/IC5141/tools/dfII/samples/tutorials/le cd到cell_design文件的位置,可以使用locate命令查找cell_design文件夹的位置。
2.cp -r cell_design ~/ 拷贝cell_design文件到主目录
一般cell_design文件是没有权限访问的,所以要更改cell_desgin文件的访问权限。上图是更改权限后的,没更改之前文件夹右上方会出现锁的标志。更改权限命令:
sudo chmod -R 777 /home/work/cell_design
执行指令时,终端可能会出现无法执行sudo指令,那么就需要将系统的用户名加入到sudo命令的使用列表里。先使用su命令切换到超级用户,然后使用visudo命令添加用户名,保存退出,便可以使用sudo命令了。此方法在CSDN上面有详细的步骤,可以借鉴。更改上述文件夹权限后,再执行下列命令,更改analogLib文件夹权限:
sudo chmod -R 777 /opt/IC5141/tools/dfII/etc/cdslib/artist/analogLib
之后便可以进行.bashrc文件的更改,此步主要是为了更改网表模式,该步能够影响电路原理图的设计以及原理图仿真。.bashrc文件在主目录下,打开文件后,加入:
export CDS_Netlisting_Mode=Analog
上述配置完成后便可以连接工艺库,之前采用的工艺库是gpdk180_v3.2,该工艺库上手比较简单,但是进行复杂版图设计的时候金属层不够用,所以我就换了另一个比较合适的工艺库:SMIC_018_MMRF。在工艺库连接前,需要将工艺库文件放入主目录下。在进行工艺库连接的时候有两种方法:
1.直接更改主目录下的cds.lib文件
在cds.lib文件中直接引入工艺库中的cds.lib.cdb文件,即下图中的:
SOFTINCLUDE /home/work/gpdk180_v3.2/cds.lib.cdb
这样便实现了工艺库的连接,其中有些工艺库中并没有cds.lib.cdb文件,只有cds.lib文件,那么可以通过更改语句实现工艺库连接,如下图中的:
DEFINE smic18mmrf SMIC_018_MMRF/smic18mmrf
2.使用Cadence进行连接
通过Cadence进行连接比较方便,其本质还是更改cds.lib文件。运行Cadence,点击Tools->Library Manager,之后选择Edit->library Path,进行工艺库添加。添加后,Cadence会自动更改cds.lib文件。
上述步骤完成后,便可以进行电路设计仿真以及版图设计,目前我做的比较完整的工程只有简单的不能在简单的反相器了(跟着视频做的,在文章的末尾我会推荐一些学习视频),下面给一张反相器版图的截图以及Calibre 验证结果(通过了还是很兴奋的):
下面说明一下我在电路设计仿真以及版图设计的时候遇到的一些问题(查了好多资料才解决的,没办法,自己太菜了)。
1.电路进行仿真时出现:SpectreHDL is no longer supported
上述问题出现的原因并不是电路设计以及仿真设置出现了问题,而是Cadence自己有做一个Spectrehdl用来描述模拟和混合信号集成电路,是私有的开放使用的。然后有了开放的verilog-AMS或者叫做Verilog-A 的模拟与混合信号硬件描述语言之后,SpectreHDL自然停止开发。自MMSIM61起,Cadence停止支持SpectreHDL改投入Verilog-A阵营。一般情况下,通常是电阻的AHDL模型出现了问题。也就是说,之前仿真的引入电阻的.def文件已经不能使用,需要引入新的.va文件来进行仿真。可以向厂家要.va文件来替换掉之前的.def文件,但是这样做并不是很现实,那么可以通过修改文件来实现.def文件向.va文件过渡。.def文件一般在工艺库中的models文件夹里的spectre文件夹中。
如果学过Verilog语言,文件的更改便很简单,下图是我自己更改后的,可以参考:
总结一下:
1.module {} 更改为 module endmodule
2.analog {} 更改为 analog begin end
3.赋值语句<-更改为<+
4.$temp()更改为$temperature
注意更改后要引入头文件"discipline.h"
文加更改后,注意要更改文件后缀将.def更改为.va文件以及在相应的.ckt文件中更改引入文件名。
解决方案参考链接:http://bbs.eetop.cn/forum.php?mod=viewthread&tid=393251
2.运行Calibre进行版图验证时,出现Licensing Error
查阅了很多资料,发现该问题是由于Calibre文件夹中的license.dat文件中对应的MAC地址与虚拟机对应的MAC地址不匹配,那么需要查看license.dat文件中对应的MAC地址从而来更改虚拟机的MAC地址。
将虚拟机对应的MAC地址更改为图中HOSTID对应的字符串地址,便可以解决该问题。虚拟机的MAC地址更改可以在该虚拟机网络适配器的高级设置里进行。
推荐一些学习视频:
网易云课堂:《模拟IC设计》
课程分为入门和进阶,进阶部分是需要付费的,我是恰好在双11打5折购买的(很开心),不过也不是很贵,这方面的学习视频本来就少,目前这个价位已经很难得了,课程里面也有对应的软件资源。老师讲解的很不错,思路很清晰,一步一步跟着做肯定会有不少收获的。
推荐QQ交流群:
CMOS模拟IC设计交流群(里面有很多前辈,一般问题都能很快解决)