文档章节

ubuntu18.04安装cadence virtuoso

propagator
 propagator
发布于 02/14 22:47
字数 2117
阅读 243
收藏 0

最近需要做一些集成电路设计相关的工作,研究了一下,还挺复杂。不过千里之行,始于足下,再复杂的东西也是一步步由简单的东西构建而成的。根据工作需要 ,安装了全定制集成电路设计软件IC617,下面记录一下过程。

 

由于virtuoso不支持windows系统,因此先安装了ubuntu18.04系统,并安装好jdk。如果懒得下载oracle jdk的,可以如下直接apt安装openjdk。

sudo apt-get install openjdk-8-jdk openjdk-8-jre

 

除此以外,还需要安装如下软件包

sudo apt-get install ksh csh xterm libncursesw5-dev libxtst6:i386 libxi6:i386 lib32ncurses5 lib32stdc++6 libstdc++5:i386

由于virtuoso支持的redhat enterprice linux和ubuntu还是有些不同,因此还需要做一些修改才能顺利安装。首先创建如下软链接

sudo ln -s /usr/bin/mawk /bin/awk
sudo ln -s /usr/bin/basename /bin/basename
sudo ln -s /lib/x86_64-linux-gnu/libncursesw.so.5.9 /lib/libtermcap.so.2

然后在/etc文件夹中新增文件redhat-release,其内容为如下一句话

Red Hat Enterprise Linux release 6.12

这是为了让软件认为自己运行在red hat enterprice linux上。注意在/etc中创建文件需要root权限,因此完成后最好把权限修改为644

sudo chmod 644 /etc/redhat-release

 

接下来就可以开始安装了。首先下载安装文件,所有安装文件可在如下地址下载

https://pan.baidu.com/s/1Pq_ofvvDoV8u5jz1wZyQIg

提取码为:eern

注意下载后的文件是按安装在虚拟机上准备的,因此有一些文件是没必要的,实际上用得到的只有从03到10。此外,文件的排列顺序也就是实际的安装顺序,在安装前要对所有文件进行解压。因为04的两个压缩包是分卷压缩的,因此解压需要使用如下方法

cat 04.IC06.17.700_Base.zip* > 04.IC06.17.700_Base.zip
unzip 04.IC06.17.700_Base.zip

即先将两个分卷合并,然后再解压,否则可能遇到无法解压的情况。

 

进入解压后的03.InstallScape,可看到如下压缩文件,

该文件可用如下方法解压

zcat IScape04.23-s010lnx86.t.Z | tar xvf -

解压后得到如下文件

在此目录下执行如下语句即可开始安装。注意网上的帖子均安装在/opt目录下,因此需要root权限创建文件夹并修改权限。此处我直接装在当前用户目录下,故不需要root权限,而且以后的操作也都不再需要root权限。

iscape/bin/iscape.sh

选择IC617解压后所在目录,直接点击continue

选择要安装的程序,点击next

在安装过程中,配置环节会跳出窗口进行配置,可以按如下方式处理

安装完成后,点击done,回到主界面,此时可以点击cancel,重新选择软件包路径,继续安装MMSIM

接下来的安装步骤和之前安装IC617几乎完全一样。

同样在配置时会跳出窗口进行配置

至此安装完成,可如下查看当前系统安装的软件,然后退出iscape。此时,IC617和MMSIM都被安装到用户目录cadence/installs目录下。

 

接下来安装calibre,可以看到,解压后的calibre是个单独的exe文件。

由于运行该文件会直接把calibre安装在当前目录下,因此在cadence目录下创建一个calibre2015目录,将该exe文件复制或剪切进去。

接下来进入该目录下,运行如下指令

chmod u+x aoi_cal_2015.2_36.27_mib.exe
./aoi_cal_2015.2_36.27_mib.exe

第一句将文件变为可执行,然后第二句直接运行,按如下操作输入,即可完成安装。

 

至此IC617, MMSIM和Calibre2015均安装完成,接下来分别为其安装补丁。先进入07.cadence_patch解压后的文件夹,如下所示

执行如下指令打补丁

chmod u+x cadence.pat cadence_patch.sh sfk
./cadence_patch.sh /home/praise/cadence/installs/IC617
./cadence_patch.sh /home/praise/cadence/installs/MMSIM151

第一句为几个文件增加可执行权限,后面两句分别为IC617和MMSIM打补丁,注意./cadence_patch.sh后面是IC617和MMSIM的安装目录,不同的用户安装目录可能不同,要根据自己的情况修改。另外就是执行完后,可能会显示有几个错误(errors),不用理会,这是由于IC617目录中有链接到系统文件,打补丁时没权限所致,如果看着别扭,可以用sudo执行即可。

 

为calibre打补丁的过程类似,解压后的文件如下所示

将这几个文件复制到calibre安装目录下(此处为/home/praise/cadence/calibre2015),然后进入该目录执行如下指令对calibre打补丁(注意calibre的补丁必须复制到安装目录下运行,不能像IC617和MMSIM那样在解压后的目录下也可以直接运行)

chmod u+x patch_calibre sfk
./patch_calibre aoi_cal_2015.2_36.27

同样可能出现errors,但此处是由于无法对二进制文件(sfk和之前的安装文件aoi_cal_2015.2_36.27_mib.exe)进行读写所致,同样不用理会。

 

接下来安装license文件,解压后的cadence_license文件夹如下

直接将其中的license.dat文件复制到IC617 的license目录下即可(此处为/home/praise/cadence/installs/IC617/share/license)

 

同样的,将解压后的calibre_license目录下license.dat文件复制到calibre的license目录下(此处为/home/praise/cadence/calibre2015/aoi_cal_2015.2_36.7/shared/license),需要注意的是,此时license目录不存在,需要自己建一个。

打开该license.dat文件,将其中的HOSTID=000c294756b0替换为自己的mac地址。ubuntu18.04默认没安装ifconfig工具,可用如下方式查看自己的mac地址

ip address
# 或者
cat /sys/class/net/enp0s3/address

如果使用第二种方法的话,注意enp0s3是对应的网卡,可能每台机器的名字不一样,需根据自己的情况修改。

 

至此,就算安装完成了,只需要设置一些环境变量即可运行了。但为了不污染系统本来的环境变量,采用脚本的方式来执行。将09.bashrc解压后文件夹中的bashrc文件复制到合适的位置(比如新建一个工程目录project放进去或者放在用户bin目录下),改个名字(此处改为run_virtuoso)。

将该文件改为可执行

chmod u+x run_virtuoso

然后打开文件,修改其中的路径,主要修改的有如下几处(按照自己机器上的路径来设置)

注意上面倒数第二个图中(417,418行)的praise-VirtualBox是主机名,可用hostname命令查看。此外可以看出,该脚本实际上为多个软件设置了环境变量,其中有一些用不到,另外一些虽然将来会用到,但现在暂时先不理会,在后续文章中再处理。

 

此时,我们可以通过运行run_virtuoso来启动virtuoso,但为了把calibre整合到virtuoso的菜单栏里,还需要用到最后一个压缩文件10.Calibre config.zip。该文件解压后只包含一个文本文件calibre config,截取其中的一段,如下所示,放在新建的文件.cdsinit中,然后将该文件放入新建文件夹project01。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;
; check CALIBRE_HOME
;
cal_home=getShellEnvVar("CALIBRE_HOME")
if( cal_home==nil then
    cal_home=getShellEnvVar("MGC_HOME")
    if( cal_home!=nil then
        printf("// CALIBRE_HOME environment variable not set; setting it to value of MGC_HOME\n");
    )
)

if( cal_home!=nil && isDir(cal_home) && isReadable(cal_home) then

    ; Load calibre.skl or calibre.4.3.skl, not both!

    ; Load calibre.skl for Cadence versions 4.4 and greater
    load(strcat(cal_home "/lib/calibre.skl"))

;;;;Load calibre.4.3.skl for Cadence version 4.3
;;; load(strcat(cal_home "/lib/calibre.4.3.skl"))

else

    ; CALIBRE_HOME is not set correctly. Report the problem.

    printf("//  Calibre Error: Environment variable ")

    if( cal_home==nil || cal_home=="" then
        printf("CALIBRE_HOME is not set.");
    else
        if( !isDir(cal_home) then
            printf("CALIBRE_HOME does not point to a directory.");
        else
            if( !isReadable(cal_home) then
                printf("CALIBRE_HOME points to an unreadable directory.");
            )
        )
    )
    printf(" Calibre Skill Interface not loaded.\n")

    ; Display a dialog box message about load failure.

    hiDisplayAppDBox(
        ?name           'MGCHOMEErrorDlg
        ?dboxBanner     "Calibre Error"
        ?dboxText       "Calibre Skill Interface not loaded."
        ?dialogType     hicErrorDialog
        ?dialogStyle    'modal
       ?buttonLayout   'Close
    )
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

除此以外,还需要删掉calibre文件夹下的失效链接tmp,重新创建一个tmp文件夹

接下来在新建的project01文件夹中运行run_virtuoso,即可启动virtuoso。

© 著作权归作者所有

propagator
粉丝 8
博文 45
码字总数 51690
作品 0
昆明
私信 提问
加载中

评论(0)

基于Cadence Virtuoso 设计平台的单片射频收发集成电路的设计过程

引言 在当前通信市场的带动下,通信技术飞速向前发展,手持无线通信终端成为其中的热门应用之一。因此,单片集成的射频收发系统正受到越来越广泛的关注。典型的射频收发系统包括低噪声放大器...

whoisliang
2019/04/30
33
0
Ubuntu 18 安装MySQL8.0

直接使用apt install mysql-server安装,那么恭喜你踩坑。 sudo apt install mysql-server默认会安装MySQL 5.7,将会出现一些莫名的问题,例如:安装过程没有要求输入root密码,而登录mysql...

LoSingSang
2018/12/28
301
0
Ubuntu 18.04安装 CUDA 10.1 、cuDNN 7.6.5

安装平台及环境 CPU:i9-9900k桌面级 GPU:RTX 2080移动版 系统:Ubuntu 18.04.3 LTS 1、在安装CUDA之前确保环境满足安装条件 2、进入NVIDIA官网下载适合自己机器的CUDA版本,官网下载,如图...

BooTurbo
2019/11/11
0
0
分布式任务编排和调度引擎 - Cadence

Cadence 是 Uber 开发的一个分布式,可扩展,持久且高度可用的编排引擎,以可扩展和弹性的方式执行异步长期运行的业务逻辑。 业务逻辑被建模为工作流和活动。工作流程是协调逻辑的实现。其唯...

匿名
2019/05/12
1.4K
0
Ubuntu18.04+Cuda9.0+Cudnn7.1环境配置Tensorflow-gpu

之前一直用Ubuntu16.04的系统,也写过一篇如何在Ubuntu16.04系统上安装tensorflow-gpu的博客,但是自己前几天手贱把系统更新到了Ubuntu18.04,照常的打开Pycharm,输入,发现没卵用了。估计是...

Edwin_dl
2018/10/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

金三银四——离大厂offer你就只差一张路线图

很多人做Java开发4,5年后,都会感觉自己遇到瓶颈。什么都会又什么都不会,如何改变困境,为什么很多人写了7,8年还是一个码农,工作中太多被动是因为不懂底层原理。公司的工作节奏又比较快,...

Java天天
25分钟前
32
0
用Java递归删除目录

有没有办法用Java递归删除整个目录? 在正常情况下,可以删除一个空目录。 但是,要删除带有目录的整个目录,就不再那么简单了。 如何用Java删除包含目录的整个目录? #1楼 具有堆栈且没有递...

javail
26分钟前
95
0
在hbuilderx中vue-cli脚手架配置router文件夹

配置router文件 新建一个文件夹router,再在新建的router文件夹里新建一个index.js文件 index.js import Vue from 'vue' import Router from 'vue-router' import Home from '../components......

软件开发小白
34分钟前
57
0
高并发软件层面解决思路-从前端到后端

1、页面缓存、前后端分离、CDN、静态页面(减少后台接口请求,需要CMS系统支持)、代码等优化(百度关键词“雅虎前端优化”) 2、nginx或其它配置合理的负载均衡策略,按主机性能设置合理的权...

无名氏的程序员
49分钟前
69
0
Maven项目使用打包时使用本地jar包库

在使用maven管理项目时,有时候我们可能会使用一些第三方的jar包依赖库,但是这些jar包依赖库又没有在共有的maven仓库。 通常只能下来放到本项目的lib目录下。但是我们打包时如果不做处理,那...

上官胡闹
今天
39
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部