cadence virtuoso进行AMS仿真踩坑记录和解决方法
一、安装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 define
nch3’ 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仿真踩坑记录和解决方法相关推荐
- 使用modesim仿真的坑记录所有解决方法
使用modesim软件进行仿真: 在这个过程中遇到了很多问题,在这个文档中我将详细记录,在以后的工程设计中以备查看 首先将文件中的sim下Video_Image_Processor_TB文件整个复制粘 ...
- python打包exe之打包深度学习模型踩坑记录及其解决办法。
在现实生活中,有时候我们写的程序需要发给小伙伴用,而小伙伴没有python,这时候我们需要将程序打包成exe文件发给小伙伴用. 今天讲下打包深度学习模型 打包一般要用到cmd命令行,要求cmd能执行p ...
- 服务无法注册到Nacos的踩坑记录以及解决办法
最近在项目中用到了nacos,但是在整合时发现服务注册不到nacos中,特此记录一下. # 导致问题的原因 1. SpringBoot.SpringCloud版本不兼容 2. 配置问题 # 解决 个人 ...
- layaari2-cmd 踩坑记录,解决安装失败问题
起因:最近有个laya项目搞一下,挺大的项目,本着省心省力的原则,用laya编辑器的编译工具尝试编译了一下,好家伙用了30分钟.这就没办法干活了.只能安装layaari2-cmd了. 以前安装过一次, ...
- 使用postMessage的踩坑记录,解决postMessage的监听事件多次触发
解决 iframe.postMessage()多次触发请求问题 方法一,将addEventListener改成onmessage window.addEventListener('message', ...
- 【踩坑记录】仿真环境使用小车进行Cartographer 3D Slam(深度摄像头)
[运行背景] ROS1 20.04 noetic 安装cartographer请看: [安装学习]安装Cartographer ROS(noetic)_Howe_xixi的博客-CSDN博客网上使用n ...
- AirSim学习和踩坑记录(不定时更新)
版权声明:本文为博主原创文章,遵循Creative Commons - Attribution-ShareAlike 4.0 International - CC BY-SA 4.0版权协议,转载请附 ...
- 博途v17与winCC安装流程与踩坑记录
博途v17与winCC7.5安装教程与踩坑记录 安装教程 博途安装流程 第一步 注册表删除 第二步 启用.NET Framework服务 第三步 正式安装 winCC安装流程 博途v17与winCC安 ...
- 【踩坑记录】实体机器人运行Cartographer 3D Slam(深度摄像头)--未解决
[运行背景] ROS1.0 20.04 noetic 机器人:NXRobo SPARK-T 安装cartographer请看: [安装学习]安装Cartographer ROS(noetic)_Ho ...
最新文章
- 【设计模式】责任链模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
- 主表如何统计在附表中的出现次数?
- 人民日报智慧媒体研究院与第四范式合资成立智媒新创 赋能智慧媒体创新
- CodeForces - 225C. Barcode(DP)
- oreo另一个意思_记一次有意思的统计(部分大宗商品价格指数相关性统计)
- id门禁卡复制到手机_怎么将手机当做门禁卡使用?给大家详解手机设置门禁卡功能...
- iOS开发之单元测试
- 火狐 firefox proxy moz=proxy:// 407错误 解决办法
- lazarus编译程序提示不能加载PostgreSQL客户端动态库“libpq.dll“
- 蜡笔小新-java-map
- 云+智能的羊群效应显现,百度用“云智一体”坐定头羊位置
- python B站UP主所有视频封面下载
- python request 报错 #No JSON object could be decoded
- 程序员不仅是鼠标手,还是段子手
- 服务器如何与手机互传文件,两个云服务器怎么互传文件
- 数据治理系列(三):主数据管理
- Delphi中的线程类Thread
- 关于IOS和Mac添加新浪邮箱的问题
- 那些困扰你多年的项目管理问题,终于有解决方案了!
- notes-ThinkCMF视频教程 第一期(网易云课堂)