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

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

提取码为: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

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

如果出现下面的错误提示,mgc_install: not found,说明安装文件解压有问题。

可在如下网址下载install.ixl.zip文件,解压后和安装文件 aoi_cal_2015.2_36.27_mib.exe 放在同一目录下,更改权限为777(chmod 777 install.ixl),然后重新运行安装文件即可。

至此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。

cadence virtuoso为什么只能在linux下运行,ubuntu18.04安装cadence virtuoso相关推荐

  1. linux下 卸载qt_Ubuntu14.04安装、配置与卸载QT5的步骤详解

    1.之前我下载的是QT5.13版本但是安装结束后Qtcreator出现打不开,这里我推荐Qt5.9版本,下载网址如下: https://download.qt.io/official_releases ...

  2. 【Linux】43.ubuntu18.04安装搜狗输入法不能正常使用

    对于某些电脑,直接下载最新的搜狗输入法,是不能在ubuntu18.04上直接使用的.但是老版本的可以使用,我自己测试使用这个版本的搜狗可以直接使用:sougoupinyin_2.4.0.2732_am ...

  3. linux下运行omnet,Ubuntu安装Omnet++

    1.官网下载Omnet++压缩包(https://omnetpp.org/),解压到安装文件夹 tar -zxvf omnetpp-5.1.1-src-linux.tgz /opt 2.运行./con ...

  4. Linux系列讲解 —— Ubuntu18.04安装gcc 9.1.0(C++17)

    目录 1. 下载gcc 9.1.0源码压缩包 2. 解压缩包 3. 检查并配置源码编译的环境 5. 编译gcc源码 6. 安装gcc 7. 使用update-alternatives管理本地多个版本的 ...

  5. linux如何编译wine,利用winelib编译一个可在linux下运行的程序

    利用winelib编译一个可在linux下运行的程序 只是想既可以使用linux的api,又可以使用windows的api #include #include #include #include in ...

  6. Kali Linux下运行Sniffjoke出错的解决

    Kali Linux下运行Sniffjoke出错的解决 由于Kali Linux版本的更新和Sniffjoke发布时间久远等问题,Sniffjoke在新版本的Kali Linux中运行存在各种问题.下 ...

  7. linux中计算高斯的进程,linux下运行高斯比windows的优势

    转引自GaussianFAQ第一章第四节 (1.4) 难道非要用Linux算高斯吗?Windows算高斯的缺陷是什么? 后续问题:听说Linux很难的.我是电脑小白,在Windows上都不太懂,只会最 ...

  8. Linux下运行纯dos软件,在linux下运行dos软件(转)

    在linux下运行dos软件(转)[@more@]在linux系统上运行的dosemu软件包使你能在linux环境运行许多dos软件. [安装] DOSEMU处于不断进行修改和升级的过程中.它在不断增 ...

  9. linux下能运行python,(转)Linux下运行python

    原文: http://blog.csdn.net/jackywgw/article/details/48847187 在linux命令行下运行python,可以直接输出hello world jack ...

最新文章

  1. 【转】android的startActivityForResult学习心得
  2. C语言中 #pragma pack()
  3. python图标-python实现的简版iconv
  4. 自定义ProgressBar
  5. 大学生如何进化到程序猿
  6. 3211: 花神游历各国
  7. lwip1.4.1需要的文件
  8. 小米手机反复提示“请勿遮挡听筒区域“
  9. routing zuul_尚学堂0131之zuul的相关概念及如何性能调优
  10. pcb结构链表_简单说说链表和一个应用实例
  11. async_memcache for tornado
  12. 语音识别介绍(下篇)
  13. Linux运维 第三阶段 (九)NFS
  14. 服务器安装配置lldp协议
  15. 通过rundll32调用系统对话框
  16. 密西根州立大学副教授汤继良:我的人生总有神奇的GPS
  17. python ttk组件_Python ---(一)Tkinter窗口组件:Label
  18. 三分钟告诉你怎么AI生成绘画图片
  19. python匿名函数Lambda的两种用法
  20. 1000!末尾 有几个0

热门文章

  1. Linux同步网络时间
  2. 使用C#语言来进行json串的接收
  3. sql 查询语句执行顺序
  4. 【百度地图】路书轨迹显示
  5. 设计模式-享元模式(外包真香)
  6. 支付宝“码商成长计划”出炉,3年为小微商家提供1万亿贷款!
  7. 专访网易云:数字企业九层之台,起于“全栈云” 1
  8. java数组字符串常用方法总结
  9. 自动机器学习框架之一_Auto-Sklearn
  10. 关于微信中分享到朋友圈代码