一、安装INCISIVE

想进行AMS仿真首先需要安装INCISIVE(网上很多人管这个叫安装IUS,我也不知大它俩什么关系,hhh)。INCISIVE不是cadence virtuoso自带的,需要额外安装,我安装时候参考的这篇安装教程:https://blog.csdn.net/YYP_8020/article/details/107252366
我已经安装的virtuoso是IC617和MMSIM151,因此我就选择了上面这篇安装教程安装INCISIVE151。我当时在找安装教程时,网上说INCISIVE版本相对于已安装的virtuoso太老是不行的。
在安完INCISIVE151后,还要在InstallScape上用Configure功能再重新设置IC,实现连接IC和INCISIVE,具体方法我参考的是https://www.jianshu.com/p/c49b798f1baf和
https://bbs.eetop.cn/thread-479940-1-1.html

二、报错ERROR (SFE-23): “analog/input.scs” 13: The instance M0' is referencing an undefined model or subcircuit,nch3’. Either include the file containing the definition of nch3', or definench3’ before running the simulation.

安装完INCISIVE并配置好IC之后就可以仿真了。具体步骤我参考的是https://blog.csdn.net/mymatin1004/article/details/98804521。我按这个教程走遇到了几个报错,把这几个报错都解决了就仿真通过了。我当时搭建的电路如下:

gen是我按那个教程编写的数字模块,M0则是我从网上下载安装的tsmc18rf库里的nmos。
我点击仿真运行图标后,遇到的第一个报错是:
ERROR (SFE-23): “analog/input.scs” 13: The instance ‘M0’ is referencing an undefined model or subcircuit, ‘nch3’. Either include the file containing the definition of ‘nch3’, or define ‘nch3’ before running the simulation.
大概就是说没有认出来M0这个nmos是什么。
解决方法是:
点击Setup->Model Libraries

出现如下界面

点击click here to add model file,添加tsmc18rf的.scs文件

我的tsmc18rf库的.scs文件叫rf018.scs,在/tsmc18rf_1P6M/models/spectre文件夹下,/tsmc18rf_1P6M是我的工艺库文件夹。
然后点击选择section

我这里使用的M0是属于nch3,在tt_3v、ff_3v、fs_3v、sf_3v、ss_3v中有,具体可以查看rf018.scs的内容,里面应该会写哪些器件在哪些section中

tt、ff、fs、sf、ss代表的是工艺角,我这里就选择标准工艺角tt_3v。之后点击ok。再仿真,就不报这个错了。
实际上,我在普通仿真的时候,.scs都自动添加进来了,不知道为什么AMS仿真就要自己手动添加。(因此如果找不到.scs文件,可以看一下普通仿真时Setup->Model Libraries里面添加的.scs路径是什么,把相同的.scs手动添加到AMS仿真的Setup->Model Libraries里并选好section即可)

三、报错ncelab: *E,CUVNCM (./netlist.vams,26|17): No connection module found:Need an input port of discrete discipline logic, and an output port of continuous discipline electrical, at instance test_gen.I0.

这个报错网上说是缺少connectlib库,好像就是负责数字电路部分和模拟电路部分连接。解决方法是找到安装的INCISIVE路径,如图

在这个文件夹下找到/INCISIVE151/tools/affirma_ams/etc/connectLib,这个就是需要的链接库

接着就在virtuoso操作界面新建这个库就行,名字起connectLib,路径就是connectLib文件夹的路径,technology file我选的“Do not need process information”。点击ok。

添加connectLib库也可以直接手动在工程目录下的cds.lib添加一句DEFINE connectLib XXXXX (XXXXX为connectLib所在目录)

之后就可以再library manager中看到connectLib被添加进来了,里面有好多cell

接着回到仿真界面,点击setup->connect rules/ie setup

在这里选择需要的connect rules,

具体选择哪个connect rules可以查看/INCISIVE151/tools/affirma_ams/etc/connectLib下的readme文件,里面有各个connect rules的解释,我用的是3v电源电压,因此选了Connectrules_3V_full_fast

选好之后,点击add再点ok就好了。

再运行AMS仿真就不报错了。

四、报错信息如下

ld: BFD (GNU Binutils) 2.20 internal error, aborting at …/…/binutils-2.20/bfd/reloc.c line 446 in bfd_get_reloc_size

ld: Please report this bug.

collect2: ld returned 1 exit status
gnumake: *** [obj/optimize/5.0/libahdlcmi_connectLib__L2E_2__module__0x10000001_behavioral.so] Error 1

网上说这个是gcc版本问题(毕竟virtuoso是原本在centos、redhet上运行,放到Ubuntu上真的让它好不适应,hhh)
解决方法:
找到INCISIVE安装目录下的INCISIVE151/tools.lnx86/cdsgcc/gcc文件夹,里面有4.1和4.4两个文件夹


两个里面都有bin/gcc文件,把这两个gcc文件改个名备份,分别在终端执行sudo ln -s /usr/bin/gcc ./gcc,重新建立名为gcc的软连接,我也不知道仿真时用的是4.1还是4.4里面的bin/gcc,就两个都改了。

完成之后,再运行AMS仿真就不报错了。

五、总结

这些就是我在cadence virtuoso进行AMS仿真时踩的坑,本人比较小白,真的是花了好长时间才跑通AMS仿真,肯请大家斧正。

cadence virtuoso进行AMS仿真踩坑记录和解决方法相关推荐

  1. 使用modesim仿真的坑记录所有解决方法

    使用modesim软件进行仿真: 在这个过程中遇到了很多问题,在这个文档中我将详细记录,在以后的工程设计中以备查看 首先将文件中的sim下Video_Image_Processor_TB文件整个复制粘 ...

  2. python打包exe之打包深度学习模型踩坑记录及其解决办法。

    在现实生活中,有时候我们写的程序需要发给小伙伴用,而小伙伴没有python,这时候我们需要将程序打包成exe文件发给小伙伴用. 今天讲下打包深度学习模型 打包一般要用到cmd命令行,要求cmd能执行p ...

  3. 服务无法注册到Nacos的踩坑记录以及解决办法

    最近在项目中用到了nacos,但是在整合时发现服务注册不到nacos中,特此记录一下. # 导致问题的原因 1. SpringBoot.SpringCloud版本不兼容 2. 配置问题 # 解决 个人 ...

  4. layaari2-cmd 踩坑记录,解决安装失败问题

    起因:最近有个laya项目搞一下,挺大的项目,本着省心省力的原则,用laya编辑器的编译工具尝试编译了一下,好家伙用了30分钟.这就没办法干活了.只能安装layaari2-cmd了. 以前安装过一次, ...

  5. 使用postMessage的踩坑记录,解决postMessage的监听事件多次触发

    解决 iframe.postMessage()多次触发请求问题 方法一,将addEventListener改成onmessage window.addEventListener('message', ...

  6. 【踩坑记录】仿真环境使用小车进行Cartographer 3D Slam(深度摄像头)

    [运行背景] ROS1 20.04 noetic 安装cartographer请看: [安装学习]安装Cartographer ROS(noetic)_Howe_xixi的博客-CSDN博客网上使用n ...

  7. AirSim学习和踩坑记录(不定时更新)

    版权声明:本文为博主原创文章,遵循Creative Commons - Attribution-ShareAlike 4.0 International - CC BY-SA 4.0版权协议,转载请附 ...

  8. 博途v17与winCC安装流程与踩坑记录

    博途v17与winCC7.5安装教程与踩坑记录 安装教程 博途安装流程 第一步 注册表删除 第二步 启用.NET Framework服务 第三步 正式安装 winCC安装流程 博途v17与winCC安 ...

  9. 【踩坑记录】实体机器人运行Cartographer 3D Slam(深度摄像头)--未解决

    [运行背景] ROS1.0  20.04 noetic 机器人:NXRobo SPARK-T 安装cartographer请看: [安装学习]安装Cartographer ROS(noetic)_Ho ...

最新文章

  1. 【设计模式】责任链模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  2. 主表如何统计在附表中的出现次数?
  3. 人民日报智慧媒体研究院与第四范式合资成立智媒新创 赋能智慧媒体创新
  4. CodeForces - 225C. Barcode(DP)
  5. oreo另一个意思_记一次有意思的统计(部分大宗商品价格指数相关性统计)
  6. id门禁卡复制到手机_怎么将手机当做门禁卡使用?给大家详解手机设置门禁卡功能...
  7. iOS开发之单元测试
  8. 火狐 firefox proxy moz=proxy:// 407错误 解决办法
  9. lazarus编译程序提示不能加载PostgreSQL客户端动态库“libpq.dll“
  10. 蜡笔小新-java-map
  11. 云+智能的羊群效应显现,百度用“云智一体”坐定头羊位置
  12. python B站UP主所有视频封面下载
  13. python request 报错 #No JSON object could be decoded
  14. 程序员不仅是鼠标手,还是段子手
  15. 服务器如何与手机互传文件,两个云服务器怎么互传文件
  16. 数据治理系列(三):主数据管理
  17. Delphi中的线程类Thread
  18. 关于IOS和Mac添加新浪邮箱的问题
  19. 那些困扰你多年的项目管理问题,终于有解决方案了!
  20. notes-ThinkCMF视频教程 第一期(网易云课堂)

热门文章

  1. 逆变效率软件测试,光伏逆变器动态效率的测试方法介绍
  2. 大学计算机专业的学生应该考什么证?
  3. jQuery时间控件
  4. 中文乱码的原因及解决方法
  5. \t\t【体会】敏捷开发 - 固本 + 持续小跑
  6. python3 urllib3_Python urllib3.disable_warnings方法代码示例
  7. unicast-routing
  8. android 中报Merging Errors
  9. STM32串口如何代码实现更稳定的接收消息
  10. 【信息技术】【2016.07】基于视觉和遥感数据的多模式学习