cadence IC系列使用(1)环境的配置

软件

首先你需要一个 Linux 环境,因为 cadence 版图设计工具是没有 Windows 版本的,如果你要在自己的实体机中装 Linux 的话,推荐使用 redhat 系列的(如redhat、fedora、centos等),因为这类商用软件大都是针对 redhat 开发的,cadence IC617 在 Debian 系(如Debian、Ubuntu、deepin、archlinux等)下也是可以装成功的,但是比如modelsim是明确不支持Debian系的,我自己最终也没有安装成功(这个可能不是发行版的问题),即使 cadence,calibre 等在 Debian 系下安装成功后,后面在版图验证时可能还会有错误,主要是缺失库,当然也是可以解决的,不同Linux 发行版底层库还是有很大区别的。如果要在自己的实体机中装 cadence 的话,可以看这篇教程(基于Ubuntu16.04)或者这篇教程(基于centos 7),如果需要在虚拟机中装的话,可以直接下载其他人装好的,直接拷过来用即可,如B站下面分享的一个安装好的虚拟机(包含了cadence IC617 ,cadence IC51 ,calibre ,hspice等软件)。这系列教程都是在这个虚拟机中完成的。

PDK

PDK 是 process design kit(工艺设计套件,包括工艺库,模型文件,drc规则文件,lvs规则文件,pex参数提取规则文件等),这是一个大问题,软件是比较容易安装的,我自己不仅在虚拟机中装过,还在实体机上装过,还用过别人装好的虚拟机,都是可以用的,然而一个完整的库不是那么容易弄的,当然你可以在淘宝上购买,或者用师兄师姐的。你在网上找到的画版图的教程大都只有工艺库文件(即后缀以tf结尾的,当然在 Linux 下后缀没有任何意义),这是远远不够的,只有工艺库的话,所有图层都是一个颜色,当然你也可以在 cadence 软件中自己改,或者找 display.drf 文件,然后 merge 出来,只有工艺库文件的话,只能画版图,无法进行 drc(Design Rule Check,设计规则检查)验证,即不能顺利流片,也不能进行 lvs(Layout Versus Schematics,版图、电路图一致性检查)验证,更不能进行 pex 参数提取了(参数提取时会首先进行LVS检查)。这里我所用的 PDK 是 FreePDK15 ,可以在这个网站下载,FreePDK15 是没有模型文件的,即无法进行仿真,但是我们可以利用这个网站提供的模型文件来仿真(7nfet.pm7pfet.pm)。

PDK跟软件关联

以下全在终端操作的,需要对 Linux 有一点了解。打开终端,新建一个文件夹用于保存相关文件,并将 FreePDK15 整个文件夹复制到当前新建的文件夹中(不复制也可以,后来写路径的时候需要按照你自己的路径填写),比如,在 /home/work/ 下新建一个 project_test 文件夹。

cd /home/work
mkdir project_test && cd project_test

将 FreePDK15 移到这个目录,比如 FreePDK15 放在桌面(Desktop)

cp -r /home/work/Desktop /home/work/project_test

在 FreePDK15 文件夹中,有一个 setup 文件夹,将里面的所有内容复制到当前文件夹中。这些文件是他们已经弄好的,cadence IC617 启动时,会读取其中一些文件。

cp FreePDK15/cdslib/setup/* .

ls 命令查看,可以看到里面有 setup.sh 的脚本,我们需要修改一下里面的内容,主要是 PDK 文件夹的路径,用 vim 打开(需要懂一点 vim ),当然你可以用其它工具,如 nano、vi、gedit等。将里面 PDK_DIR 修改为你自己的路径。比如我的就是这样,然后执行该脚本。

export PDK_DIR=/home/work/project_test/FreePDK15 
./setup.sh

我们还需要修改一下 cds.lib (这个文件定义了库的位置)里面的内容,先删掉里面所有的内容,然后添加下面两句

SOFTINCLUDE /opt/IC617/share/cdssetup/cds.lib
DEFINE NCSU_TechLib_FreePDK15 /home/work/project_test/FreePDK15/cdslib/NCSU_TechLib_FreePDK15

这样,就可以使用 PDK 了。在终端输入 virtuoso & ,就可以打开cadence IC 617了,这里的 & 表示在后台运行的意思。

点击 Tools — Library manager ,就可以查看当前可以使用的库。其中 NCSU_TechLib_FreePDK15 是我们自己下载的,后面的所有库都是软件自带的。

至此,库的问题就解决了。

如果在这个过程中遇到了其它问题,欢迎在评论区留言,或者Google一下,也欢迎把具体的解决方法留在评论区,以供后来者参考

欢迎转载,不需注明出处,就说是你写的

guest
1 评论
内联反馈
查看所有评论
focusdog

厉害,学习了