目录
记录
1.
不要在cds.lib里面定义一个名称全部为数字的工程文件夹;
2.
需要在服务器的cadence文件夹下找一下IUSxx,在该目录下找到connectLib文件夹,整个复制到自己的工作目录下或者定义好绝对路径。
connectLib中定义的是关于数字模块接口电压等等的定义,所以是做ams混合信号电路仿真时必需的。
3.
IC617版本的virtuoso需要INCISIVE132以及更高版本的,INCISIVE最后一版更新完成于2015年,最后一版是152版本的,irun -version可以查看INCISIVE的版本;之后的Virtuoso版本需要的是Xcelillum.
4.
关于ams仿真提示error,cannot compile ahdlcmi file….,这个是由于lib无法转换导致的。
也即这里的一些库索引需要修改为Virtuoso版本匹配的。【可能系统中同时有615和617多个版本,然后在bashrc和.cshrc中需要区分,在cds.lib中也要调用正确对应的系统库】
5.
include所定义的库也要写。include进来的cds.lib软链接到一些其他的库和connectlib,会调用一些virtuoso下的库,然后在incisiv下编译。
6.
像站主的虚拟机里面同时有IC615和IC617的版本,但是INCISIVE的版本只有131(2013年推出,最后的版本是152),那这就没有选择只好调整Virtuoso打开的虚拟机的版本为615,这个在home目录下的.bashrc文件中就可以做到,将其中关于617版本以及ov文件夹的相关定义注释掉并且改成615版本的即可。一般情况下只需要修改下面两个地方。
步骤
1.
大致的介绍一下ams的仿真流程,首先是需要单独的建立一个digital模块,一般的为了提高仿真的效率,会使用verilog代码来代替实际的数字电路,然后需要建立一个verilog模块,通过File->new->cellview,在类型中选择verilog即可。
或许会有的打开的verilog编辑器默认是VI(M),VIM编辑器对于刚入手的人可能会显得比较奇怪,例如不支持ctrl+c和ctrl+v的复制粘贴操作,还有一个经典的笑话是新手关于怎么退出vim编辑器,不过熟悉了之后这真的是一个效率极高的文本编辑器。
可以参考另一篇文章Virtuoso61X修改默认的VI编辑器修改。
2.
之后可以新建一个类型为schematic的电路图,然后想例图中这样添加仿真所需要用到的模拟模块和数字模块。
之后,需要新建一个类型为config,名称和所建的schematic一样的config文件。
之后,需要添加
选好之后点击OK。
3.
接下来是很重要的步骤,添加connect_lib信息进行模拟电路接口和数字电路接口之前的连接,因为从连续信号到数字信号的转变是需要转换规则的,因此这个lib的添加是必须的。
添加的时候需要注意的部分是:
I.
如上图所示,在cds.lib中需要包含这两个其他路径下对应的cds.lib文件,其中所写的内容也只是软链接到其他的cds.lib。
II.
除此之外,在ADE中需要确认一下setup->simulator的mode是ams而不是spectre,否则是不会进行ams仿真的。IC617及以后的版本在通过config文件打开时,仿真引擎会主动换成ams,615版本的需要手动修改。
在仿真是ams模式下也可以开启aps多核仿真,注意是设置thread线程数。
【确认一下服务器上仿真可调用的核的个数:
#查询系统有几颗物理CPU
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
#查询系统每颗物理CPU的核心数
cat /proc/cpuinfo | grep "cpu cores" | uniq | wc -l
#查询系统的每颗物理CPU核心是否启用超线程技术。如果有启用,那么每个物理核心又可分为两个逻辑处理器
cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq | wc -l
#查看CPU主频
cat /proc/cpuinfo | grep MHz | uniq
备注
可能会有人遇到gcc编译出现问题的情况,如下图所示。
像是上图中的情况,是由于红框中路径所对应的目录下gcc是一个失效的symbolic link文件,软链接到一个无效的gcc【可能是丢失了或者换了位置】,所以只需要用ln命令将gcc的软链接修改到一个已知版本的gcc(大于2.4版本)即可。