在ubuntu上搭建IC数模混合环境

仅以这篇博客来纪念一下当年因搭环境而掉的头发

文章目录

  • 在ubuntu上搭建IC数模混合环境
    • 对linux新手的一些搭环境常识补充
      • 尽信书不如无书
      • 没有基础的劝退
      • 更改所有配置之前,先做备份!
      • 回车前看看提示
      • 看任何教程留意发行版,版本号和几位的系统
      • 尊重linux的用户组概念.
      • 理解环境变量的概念
      • 如果出错要干啥
    • cadence各种软件的安装
      • EDA版本说明
      • 安装
      • patch
      • license
      • 配置环境变量文件
      • 写脚本快速启动
      • 写桌面快捷方式
    • 转换工艺库
      • cdb2oa
    • 已知bug修复
      • libXp.so.6.2.0
    • 结语
    • 参考资料

装的环境是cadence全家桶.所以有

标题2:在ubuntu18上搭建IC数模混合环境
因为我用的发行版是ubuntu18,但是这方法是一模一样的,因为我再ubuntu16上也装过一次.

标题3:在ubuntu18上安装cadence ic617
其实就是围绕着cadence ic617来安装的…

对linux新手的一些搭环境常识补充

尽信书不如无书

有一些教程其实作者的linux基础是很差的比如我,所以不要尽信教程!!!

没有基础的劝退

其实如果搭环境没有linux基础,没有对linux文件系统的有最基本的认识,没有对linux包管理,用户组,文件属性有一点了解的话.其实我建议还是现在虚拟机上学学吧,不然很容易心态爆炸,还会失去对linux的热情.

特别是这个数模混合环境,加上安装包总共63.5G,个人PC的话一般不是双系统不会预留这么多空间,如果在虚拟机上跑的话也是极其浪费空间.如果遇坑的话重来太浪费时间了…

当然,这篇博客也适用于只搭建模拟ic设计环境,总共空间大概20G,虚拟机大概可以接受,双系统美滋滋,ic617比ic5141还是有很多比较便利的功能的

像我这样把windows卸掉的话就无所谓了,但是真的新手的话建议虚拟机,项目组的话可以用我搭好(现在还没)的服务器来进行设计,不建议双系统搞这个,弄不好连电脑就炸了

更改所有配置之前,先做备份!

cp xxx.rc xxx.rc.bk
gedit xxx.rc

特别是,有关于系统的设置的,比如说在/etc里面的所有文件(其他配置文件也最好进行备份)

回车前看看提示

虽然可能提示是英文的,也大概看一下他在写什么,千万不要无脑回车,不要傻乎乎地别人把你linux内核卸载了都不知道.

rm     -rf  /*    ##比如说这个
chmod  777  *     ##还有这个

看任何教程留意发行版,版本号和几位的系统

如果教程和你在用的版本号不匹配,一定要万分警醒,你可以参考,但一定不要尽信!
比方说ubuntu的包管理工具是apt,centos的包管理工具是yum.如果你要安装一个软件,你用ubuntu,别人用centos,恰好别人要安装个依赖包:

sudo yum install libstdc艹
##这时你用ubuntu的话会报错:->Command 'yum' not found, but can be installed with:->sudo apt install yum##如果这个时候,你真的在命令行下敲下了:
sudo apt install yum
##那...就准备天天报错吧...

还有一个就是有一些包是需要下32位的,因为默认是下载64位的,所以这个时候命令就要改成:

sudo apt-get install libabcd:i386

尊重linux的用户组概念.

不得不肯定,一开始直接用root暴力安装一些东西确实很舒服,但是,我建议这样的话,你可以尝试在自己的虚拟机上这样做,反正迟早会炸的.当然了,安装在服务器上的另当别论,这里只是说对一般用户的平时用的软件的一些小建议.
所以本文是在个人用户heweibao下安装的

理解环境变量的概念

在linux下面,每个用户在他的主目录下面针对每一个命令解释器(通常都是bash啦),都会有一个环境配置文件叫做**.bashrc**是个隐藏文件,环境配置文件可以做一下的一些事:

  1. 配置特定变量名称的路径(比如打开认证服务器)
export LM_LICENSE_FILE=./CADENCE_HOME/license/license.dat
## . 是当前目录, .. 是上一级目录
  1. 配置$PATH,使终端能识别到特定的命令
##记得包含原有的PATH变量
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:--------:< PATH n >
export PATH
  1. 别名一些命令组合(算是个小脚本吧)
alias helloss = sslocal -c /home/heweibao/snap/shadowsocks/config.json &

这个一般用来准备运行程序前所需的环境
临时加载环境变量可以:

. .bashrc
##也可以这样
source .bashrc

很多人一开始玩linux玩炸的一个原因就是,有一些教程很喜欢动不动就直接更改对所有用户都有效的环境变量配置文件:

/etc/environment
/etc/profile
/etc/bash.bashrc

还不做备份那种.
所以一般建议先自己写一个环境变量配置文件,在终端临时加载一下(临时加载之后仅在该终端生效),先看看有没有达到想要的效果,再看看有没有损坏系统环境配置,最后再加入用户的环境配置文件里面.

如果出错要干啥

这个比较考验个人的linux基础,但是上面的几点是处理问题的基本原则.

主要注意一下看报错信息是最重要的,不要因为很多时候是英语就原地爆炸,相信我,**不少的报错都是自己的linux基础不好而导致的,还有就是对教程的过分依赖而导致的,**真正的玄学部分其实还是不少的

这里说一个小例子吧,比方说他提示你**缺少了某个依赖包 libXp5.so.6 **
一般流程是这样的:

1. sudo apt-get install libXp5##如果提示没有
2. google : where is libXp5(或者直接贴关键报错信息)
##如果提示包已被废弃
3. 进https://packages.ubuntu.com(或是其他源)直接下下来4. 丢进一个/usr/lib 并根据具体缺的名字创建一个软连接

当然了,每一步都可能有不一样的方案去更好地解决,比方说包的版本过高啊,bilibala一堆问题,这得靠积累了.甚至我还试过直接改cadence_ic的源码(为了让他默认首选仿真器是hspice而不是spectre ) 当然后面我才知道可以直接设置

cadence各种软件的安装

EDA版本说明

先说明一下我的EDA版本

cadence ic 617 //模拟ic环境设计
INCISIV141 //数字ic设计
MMSIM15 //混合仿真

因为用的软件全是14年以后的,所以,千万不要都装上IC617了,还装一个IUS9.2用来做数字块设计,在环境变量配置中也只有14年之后的软件…

  1. 这里因为主要针对实验室的人方便用和为了规避一些规则.不提供软件包和破解文件(当然我会给出外链,有找不到的包也可以私信我)

  2. 用的环境配置的eetop一个大神写的一个bashrc,可以自动连接起cadence家族里面的各个组件(当然要去适配自己的电脑)

  3. 用的license也是eetop一个大神理解了license之后写出来的破解文件,用了他的license可以一个license破解所有cadence软件的所有feature,并且加其他的feature也十分方便.

  4. 用的patch也是eetop一个大神所说的"测试证明是最佳的patch"

  5. 下载见参考资料.

安装

提前说明:

  1. 所有的安装配置操作,使用绝对路径(还不要带中文,以防万一)
  2. 如果想用用户组安装的话,尽量运行命令时避免用sudo(依赖包安装什么的除外)

这个安装异常的简单,因为cadence专门写了一个InstallScape来辅助安装,在此之前你要做的是


##解决依赖问题
sudo apt-get install ksh         ##安装ksh的shell
sudo apt-get install csh         ##安装csh的shell
sudo apt-get install openjdk-8-jre openjdk-8-jdk    ##安装openjdk jre等
sudo apt-get install xterm       ##安装xterm终端模拟器
sudo apt-get install libncursesw5-dev    ##安装libncursesw动态链接库
sudo apt-get install libxtst6:i386
sudo apt-get install libxi6:i386
##依赖关系是从别人的博客照过来的(可能有错,所以自己执生啦),openjdk一般有安装的,应该不用专门再去搞##基本操作
mkdir ~/cadence
mkdir ~/cadence/IScape
##把你下的Scape123456789lnx86.t.Z丢进~/cadence/IScape
mv   xxxxxx/xxxx/xxx/Scape123456789lnx86.t.Z ~/cadence/IScape
chmod 755 Scape123456789lnx86.t.Z
##解压
zcat IScape04.23-s010lnx86.t.Z | tar -xvf-
##进入IScape
cd ~/cadence/IScape/iscape/bin
sh iscape.sh 或者 ./iscape.sh

毫无意外就可以进入InstallScape了

选择~/Preferences/Directories

这里主要修改的是安装路径,比如我是安装在自己用户目录下的,Install Directory就写(select好一点其实)
/home/username/cadence
然后点ok就完事了

接下来就是简单的安装了:

  1. 选择Local directory/Media install/(那个光盘的图标)
  2. 输入安装包的路径,建议先装INCISIVE(如果只装模拟环境的,直接装ic617就行了,不用安装INCISIVE141)
  3. 确认软件名称版本
  4. 点击安装全选(建议所有都是,反正装多不吃亏,装少可能吃苦头)
  5. 确定路径
  6. 点start,冲鸭(因为我已经装好了,所以就没放这个图了)
  7. 进入组件配置时间
    这里的坑很多,但是有一个比较粗暴的处理方法

除了oa的路径设置选n之外,其他回车就行

当然,你最好还是看看他要你配置啥玩意…

关于这个可以看看这位大神的博客

  1. 对于数模混合环境来说
    在安装完INCISIVE141之后,再安装ic617的时候会有一个配置:


    这样就可以实现连接ic617和INCISIVE,如果先安装ic617的时候这里直接退出就行了,后面再回来用IScape来reconfigure就行

  2. 同样的方法继续安装其他的软件就行

patch

  1. 解压patch文件到~/cadence下面(其实你解压到哪里都一样)
  2. 在此目录下打开终端
##提权
chmod 777 cadence.pat cadence_patch.sh sfk
##一个一个patch(一个一个来!)
./cadence_patch.sh /home/heweibao/cadence/IC617
./cadence_patch.sh /home/heweibao/cadence/INCISIVE141
./cadence_patch.sh /home/heweibao/cadence/MMSIM151
##如果出现少量的error和warning是可以接受的,提示有一些文件不存在也是可以接受的,重点的一定要看见有changed

license

  1. mkdir ~/cadence/license
  2. 切到window下(如果是纯ubuntu环境的话可以装个virtual box,然后装一个window7的虚拟机)
  3. 用大神的软件生成license.dat ,然后放回~/cadence/license/license.dat里面
    注意:
    生成license时需要两个东西,1是主机名 2是网卡号,可以在终端下这样来查:
##获取主机名
hostname##获取网卡号
ifconfig
找到网卡的ether那里的一串数字,把冒号去掉就ok了

配置环境变量文件

我的建议是,新建一个Project_cadence文件夹,然后把写好的环境配置文件放进去,每次启动cadence的时候去那里新建一个终端,加载环境变量,再启动cadence.

如果想快捷启动的话可以自己写一个脚本(其实我已经写好了,后面会给出)

下面提到的calibre是用来画模拟版图的,这篇教程没涉及,但是改了就对了

  1. 下载大神的那个环境变量配置模板
  2. 主要更改这几个东西:
    1. @48行: export CADHOME=/home/heweibao/cadence (就换到安装路径)
    2. @104行:export CDS_LIC_FILE=$CDS/license/license.dat
    3. @183行:删除LM_LICENSE_FILE这个环境变量,因为会和hspice冲撞,而且cadence不需要
    4. @357行:export CALIBRE_HOME=/home/heweibao/calibre/aoi_cal_2015.2_36.27(calibre的安装目录)
    5. @387行:export MGC_CALIBRE_SCHEMATIC_SERVER=hostname:9199(更换主机名)
    6. @388行:export MGC_CALIBRE_LAYOUT_SERVER=hostname:9189
    7. 将所有INCISIVE142替换成INCISIVE141
    8. 完成之后搜索一下opt,看一下有没有漏改一下路径

写脚本快速启动

毕竟总是用临时加载环境变量虽然习惯好,但是这一点都不,而且很烦
这里给个小源码,抛砖引玉一波
先在终端: gedit hellocadence 然后输入

#!/bin/bash
echo "hello cadence"
export cadence_home=/home/heweibao/Project_cadence
cd $cadence_home
source $cadence_home/.bashrc
virtuoso &

最后在终端

chmod 755 hellocadence
cp /home/heweibao/Project_cadence/hellocadence /usr/bin/hellocadence

差不多是这样,如果懂一点shell,自己diy一下再加点什么都行.

然后就可以愉快地在终端输入: hellocadence 进入了

写桌面快捷方式

…没错,我确实是懒出天际了,这里也给出源码给大家参考一下:
先在终端: gedit cadence.desktop 然后输入

[Desktop Entry]
Comment=cadence_ic
Comment[zh_CN]=脱发必备
Exec=/home/heweibao/Project_cadence/hellocadence
GenericName=cadence_ic
GenericName[zh_CN]=cadence_ic617
Name=cadence_ic
Name[zh_CN]=cadence_ic617
StartupNotify=false
Terminal=false
Type=Application
Icon=/home/heweibao/misc/selfbin/pic_icon/logo-cadence-newsroom.png

最后在终端

chmod 755 cadence.desktop

然后就可以愉快地双击打开:

转换工艺库

cdb2oa

因为IC5141用的工艺库是cdb格式的,而IC617用的工艺库是oa格式的,所以在导入之前我们需要转换一下库的格式.

  1. tools下选Conversion toolbox
  2. 然后点CDB to OpenAccess Translator
  3. 点browse,找到pdk下面的cds.lib
  4. 点ok,看到他检索出来的库
  5. 然后点ok,稍微等一下如果看见类似的message,就ok了

已知bug修复

libXp.so.6.2.0

启动ams混合信号仿真界面时会提示
缺失libXp.so.6.2.0
这个包是没有办法用apt去直接下载的,不用尝试说下载libXp5什么的了.

因为这个包的安全问题,被各大发行版在更新的时候废弃掉了,所以我们要去debian(或者ubuntu)的旧包下载的地方下下来然后丢进/usr/lib
搜索地址

因为它提示的是libXp.so.6.2.0,下下来的是libXp.so.6,所以在放进/usr/lib之前要这样做:

##提权
chmod 755 libXp.so.6
##复制
cp libXp.so.6 libXp.so.6.2.0

后面听说matlab也有一些功能受到这个bug的影响,所以移的时候我把两个都一进去了

为了舒服起见,我下了一个64位(amd64)版本的放在/usr/lib和/usr/lib64.下了一个32位(i386)的放在了/usr/lib32那里,总之bug被解决了,然后我并不知道哪一个在起作用(无所谓啦)

结语

如果说我的word基础是在校会的时候写东西培训出来的,那么,我的linux基础,就肯定是搭环境搭出来的.

如果大家有什么问题的话,可以评论提问(项目组的私聊问就行了).如果问题过多我再多开一篇博客说明吧.

如果你想请我吃个南五的话

参考资料

bashrc文件,内容看一下也行,重点是里面的百度云地址
license文件,内容看一下也行,重点是里面的百度云地址
patch文件,内容看一下也行,重点是里面的百度云地址
一步步教你用Ubuntu 16.04安装Cadence IC617
Cadence IC617设计环境安装全过程
IC617+MMSIM+calibre
INCISIV14.1

在ubuntu上搭建IC数模混合环境相关推荐

  1. 数模混合仿真实例(数字verilog作为顶层)VCS+XA

    数模混合仿真实例(数字verilog作为顶层)VCS+XA 大家都知道对于一颗有点复杂度的芯片而言(比如SOC),通常都会包含数字电路和模拟电路.在设计的初期,也许数字模块和模拟模块是分开设计和仿真的 ...

  2. SABER 最强大的数模混合信号仿真软件

    SABER 最强大的数模混合信号仿真软件 从用途上看, SaberDesigner 的应用领域比Pspice 要更为广阔,SaberDesigner 不仅可以用于电路仿真,还可用于机电.机电液.光机电 ...

  3. 数模混合监控,视频如何联动报警、消防、门禁?

    最近研究一些视频安防的综合解决方案,看到一个不错的文章,转载过来,与大家共同学习下, 数模混合监控,视频如何联动报警.消防.门禁 1.项目原始需求 1.电梯8个 2.大堂12个.其中有4个高清 3.车 ...

  4. 数模混合电路设计中的难点

    数模混合电路设计中的难点 数模混合电路的设计,一直是困扰硬件电路设计师提高性能的瓶颈.众所周知,现实的世界都是模拟的,只有将模拟的信号转变成数字信号,才方便做进一步的处理.模拟信号和数字信号的转变是否 ...

  5. cadence数模混合仿真反标sdf

    数模混合IC设计时经常要调用一些Verilog模块(最简单的例如SPI接口),在前仿时一般直接用rtl代码来仿真,但是后仿时要关注因寄生带来的延迟,避免这些额外的延迟导致时序错误,因此不能简单地采用R ...

  6. 【mongodb环境】在ubuntu上搭建mongodb,并且开启远程连接

    [mongodb环境]在ubuntu上搭建mongodb,并且开启远程连接 标签(空格分隔): mongodb 参考资料 mongodb 官方文档 安装mongodb 第一步:设置 public ke ...

  7. 基于docker在Ubuntu上搭建TensorFlow-GPU计算环境

    这里转载一篇Docker安装TF GPU的版本 基于docker在Ubuntu上搭建TensorFlow-GPU计算环境 由于实验室的服务器有多人共享使用,而不同人的代码对应的keras和tensor ...

  8. Ubuntu上搭建自己的ngrok服务器

    Ubuntu上搭建自己的ngrok服务器 参考网站:http://www.sunnyos.com/article-show-48.html 上面的内容似乎是sunny大神本人写的,了解的越多,发现自己 ...

  9. 在Ubuntu上搭建Maemo 5及Qt 4开发环境

    Maemo 是Linux的一个嵌入式发行版,支持ARM构架,其开发环境自然是桌面Linux了.由于Maemo使用了Debian包管理系统,所以最好还是在Debian或者Ubuntu上搭建开发环境了(目 ...

最新文章

  1. linux(centos) 常用命令
  2. php redis linsert,LINSERT命令_视频讲解_用法示例-redis编程词典-php中文网
  3. pku2229--sumsets(zjgsu,分花)
  4. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块的加载顺序
  5. MFC 使用控制台打印程序信息
  6. asp.net 返回上一页的实现方法小集
  7. android显示view在屏幕中间,android – 如何在屏幕中央显示imageview?
  8. python螺旋圆的绘制_亦明图记:SolidWorks绘制扭转弹簧,使用组合曲线作为扫描路径...
  9. 浏览器了解(四)javascript解析
  10. JavaWeb 基础系列篇
  11. redis实现订单过期取消
  12. 如何卸载Adobe Creative Cloud
  13. EditPlus 编程背景色设置与代码高亮
  14. vue项目结合 Element插件
  15. win10计算机入门使用教程,win10系统使用教程_windows10基本使用教程图文步骤
  16. Axure使用中继器为表格添加数据
  17. Centos7.5安装Chrome浏览器
  18. 1833 雪糕的最大数量
  19. Vue Router路由守卫
  20. python模拟自动填充(一)

热门文章

  1. 荧光平均值计算matlab,科学网—使用Image J进行自动荧光定量分析 - 陆绮的博文...
  2. 苹果延长13英寸MacBook Pro背光维修计划
  3. 微信公众号起名字攻略:怎么给公众号取名字?
  4. ubuntu安装pr_[原创]Dapr入门教程之二:Dapr的安装
  5. 解决eclipse neno在线下载安装缓慢及失败的问题
  6. adobe illustrator 绘制平行四边形
  7. JavaWeb HTTP状态 405 - 方法不允许
  8. 录屏手机html5插件,越狱插件:首款能在iOS10上轻松录屏的工具!
  9. 2022版中国科技中介服务产业运行现状分析与发展机遇规划报告
  10. vue中a的href写法