搭建在虚拟机CentOS 7上的Cadence IC617套件

就我个人是拒绝cadence的,主要是因为其反人类的人机交互操作和复杂的安装过程,这世上应该没有比cadence更难用的软件了吧。然而老大毕竟是老大,逃了两年如今还是被抓回来了。

这是一个很麻烦的过程,需要一定的耐心。为了加上过程的截图又重新搭了一次环境。整个过程中对linux系统的操作也做了介绍,因为我本人也是因为cadence才使用linux的,所以对linux平台也是逐渐的熟悉过程。

除了CentOS还可以用RHEL等,具体支持的平台可以看cadence官网的说明。

https://www.cadence.com/content/cadence-www/global/en_US/home/support/computing-platform-support.html

首先安装CentOS7,我用的VMWare,如果有这个虚拟机的可以直接跳过这一段

https://www.centos.org/download/我习惯Windows的图形用户界面,所以安装的DVD ISO标准版,如果习惯直接使用命令行终端的可以直接装Minimal最小系统

接着用VMWare创建一个虚拟机

搭载镜像文件

接着确定虚拟机安装路径并命名虚拟机。

分配磁盘大小,至少60GB!这里是虚拟空间,并不是直接占用60G,而是随着使用的需要而扩大,60G是空间上限。

如果长期用的话建议是80G以上。并建议存储为单个文件。

我这里先设定60GB,后面介绍如何扩容。

取消创建后开启虚拟机的配置。可以单击自定义硬件修改设置,这样设置完就可以直接开启虚拟机了。

或者先单击完成,在创建后修改。

编辑虚拟机设置修改内存(尽量大一些,后仿真的时候还是比较吃内存的。我给了4G,注意不要超过最大建议内存)

设置处理器数量

我直接设置为了我的物理机的线程数和核心数,如果不知道的话可以下载一个CPUZ软件查看或者打开任务管理器,查看性能,纵列表示核心数,横列表示线程数,如下图即为单线程4核。

设置硬盘容量,如果后面不够用了可以扩容(过程很麻烦,后面会介绍)

打印机不使用,可以直接移除。

设置完成后开启虚拟机,选择第二个Test & Install(默认就是这个选项)

开始运行后,如果需要将鼠标移出界面的需要按Ctrl+Alt,需要移回的则在页面里单击鼠标左键即可。

选择语言,有的人说中文容易导致Calibre的输入框无法输入的bug,我这里暂时先设定中文,后面安装完成后再介绍修改语言的方法。

等待软件选择按钮被激活后,进入软件选择,选择带GNOME的套件。

右侧的附加功能根据个人需要勾选,我就不勾选了。

进入安装位置,直接点完成即可

网络配置

主机名我暂时不修改,后面再做修改。

点击开始安装

需要分别创建root用户和一个普通用户。(密码如果使用的是简单密码需要按两次完成才能确认)

等待漫长的安装完成后点击重启

接受许可认证。

登录即可。

一路确定。

接着需要先添加一下常用的yum源

Yellow dog UpdaterYum)是CentOS所有版本的默认包管理器,yum主要功能是更方便的添加/删除/更新RPM包,自动解决包的依赖性问题,便于管理大量系统的更新问题,其理念是使用一个中心仓库(repository)管理一部分甚至一个distribution的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等操作,减少了Linux用户一直头痛的dependencies的问题。可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm包时遇到的依赖性问题,保持与RPM数据库的一致性。

首先在桌面右上角单击图标连接网络。

接着在桌面鼠标右键打开终端

先说一下终端的复制粘贴为Ctrl+Shift+C和Ctrl+Shift+V,而Windows是没有Shift的,Linux除了终端外的情况同Windows,两个平台之间复制粘贴时请注意区分。

方向键上下可以调用历史命令操作

TAB键可以自动补全,如果TAB键没有反应可以按两下TAB键查看可用命令。

首先进入Root模式

su root

输入root密码,输入过程不会显示在终端上,输入完成直接敲回车即可。

注:默认的root提示符为#,一般身份用户提示符为$,~表示用户主文件夹,只有当提示符出现时才说明上一步命令执行完成,否则不要随便乱操作。

我们安装的Centos系统,默认都是系统自带的yum源,国内用户用yum安装软件的时候,是比较慢的,为了提高效率,一般我们会配置国内的yum源。现在介绍下怎么配置网易163yum源:

首先做一下备份,mv命令为移动文件或文件夹

我们先打开主文件夹,打开etc文件夹,找到yum.repos.d文件夹并进入

接着我们在终端执行命令(root模式下)

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

可以看到文件被重命名了,相当于从/etc/yum.repos.d/路径下的CentOS-Base.repo文件移动到/etc/yum.repos.d/并命名为CentOS-Base.repo.backup,即达到了备份的效果

将163的yum源下载到对应目录

wget -O /etc/yum.repos.d/CentOS7-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

或者我们可以通过终端进入yum源配置文件所在文件夹(cd命令即切换路径)

cd /etc/yum.repos.d/


可以看到路径已经切换过去了

接着我们在当前目录下载163的yum源配置文件,注意源需要搭配系统版本,可以用cat /etc/redhat-release查看系统版本

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

注:如果在yum下载过程中出现could not resolve host的报错,可以将网络关闭再重新开启尝试。

接着运行yum makecache生成缓存

yum clean all

yum makecache

接着更新系统,量较大,会比较慢

yum -y update

注:如果在进行完这一步后没有时间进行后面内容,需要暂时关机的话,请先在终端中输入exit退出root账户后再按Ctrl+D关闭终端,可以避免终端警告,下一次开机继续时,注意要先进入root模式,或者使用sudo命令临时提升权限至root。

接着我们安装以下三个第三方源

EPEL:包含 6500 多个软件,科研必备,Extra Packages for Enterprise Linux CentOS 提供了额外的 10000 多个软件包,而且在不替换系统组件方面下了很多功夫,因而可以放心使用。

ELRepo:包含几十个各种硬件的驱动程序,The Community Enterprise Linux Repository (ELRepo)提供一些硬件驱动,包括显卡、声卡、网卡等。其homepage上有安装指南。

Nux Dextop:多媒体相关的软件包(与 EPEL 的个别软件相冲突,可忽略)Nux Dextop 中包含了一些与多媒体相关的软件包。官方说明中说该源依赖于EPEL

安装EPEL

sudo yum install epel-release


输入y确认操作

执行完该命令后,在 /etc/yum.repos.d目录下会多一个 epel.repo文件

安装ELRepo

sudo rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

sudo rpm –Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

完成该命令后,在/etc/yum.repos.d目录下会多一个elrepo.repo文件。

安装Nux Dextop:由于需要依赖EPEL库,所以要先安装EPEL

sudo yum -y install epel-release && rpm –Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

因为我们已经安装过EPEL,所以只需要执行

sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

完成该命令后,在/etc/yum.repos.d目录下会多一个nux-dextop.repo文件。

安装yum-axelget插件

yum-axelget EPEL 提供的一个 yum 插件。使用该插件后用 yum 安装软件时可以并行下载,大大提高了软件的下载速度,减少了下载的等待时间:

sudo yum install yum-axelget

安装该插件的同时会安装另一个软件 axelaxel 是一个并行下载工具,在下载 httpftp 等简单协议的文件时非常好用。

进行全面更新

sudo yum -y update

最后检查已安装的源

yum repolist

可以看到这些源已经安装上了


如果安装软件的时候网络得不到保障的话,可以进行以下的配置。

转自https://blog.csdn.net/kangvcar/article/details/73477730

我这里就用只163源了,不做本地源配置,不需要的也可以跳过这一段。

——————————————————————————————————————————————————-

一、用Centos镜像搭建本地yum

由于安装centos后的默认yum源为centos的官方地址,所以在国内使用很慢甚至无法访问,所以一般的做法都是把默认的yum源替换成aliyunyum源或者163等国内的yum(下文介绍如何配置)

但是以上的方法都是需要网络的,当没有网络的时候就无法使用了,所以还有一个常用的方法就是用Centosiso镜像搭建本地yum源,这样安装软件的速度就会飞快,缺点是可能有些包没有。

1.安装Centos后默认的yum源可以用该命令查看

ll /etc/yum.repos.d/

2.把默认yum源备份(先创建一个新文件夹,随后用*通配符将原有路径下的所有文件移动至新文件夹下)

mkdir /opt/centos-yum.bak

mv /etc/yum.repos.d/* /opt/centos-yum.bak/

3.在虚拟机上挂载CentOS镜像文件


mount -t iso9660 /dev/sr0 /opt/centos

4.编写repo文件并指向镜像的挂载目录(按Insert键可以切换输入模式为替换或插入,写完后按Esc键回到命令模式,输入wq保存并退出)

vi /etc/yum.repos.d/local.repo

[local]

name=local

baseurl=file:///opt/centos

enabled=1

gpgcheck=0

5.清除缓存,把yum源缓存到本地,加快软件的搜索好安装速度

yum clean all

yum makecache

yum list

二、修改yum源的优先级

ps:当既有本地yum源又有163源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装,本地找不到可用的包时再使用163源去安装软件,这里就涉及到了优先级的问题,yum提供的插件yum-plugin-priorities.noarch可以解决这个问题

1.查看系统是否安装了优先级的插件

rpm -qa | grep yum-plugin-


可以看到没有安装yum-plugin-priorities.noarch这个插件

search检查是否有此插件可用

yum search yum-plugin-priorities

2.安装yum-plugin-priorities.noarch插件

yum -y install yum-plugin-priorities.noarch

3.查看插件是否启用

cat /etc/yum/pluginconf.d/priorities.conf

[main]

enabled = 1

//1为启用;0为禁用

4.修改本地yum源优先使用

vi /etc/yum.repos.d/local.repo

[local]

name=local

baseurl=file:///opt/centos

enabled=1

gpgcheck=0

priority=1

//在原基础上加入priority=1 ;数字越小优先级越高

//可以继续修改其他源的priority值,经测试仅配置本地源的优先级为priority=1就会优先使用本地源了

——————————————————————————————————————————————————-

以上是安装常用的yum

接着还需要安装cadence需要的环境配置,比较多,如果忘了安装到哪一行了,可以按方向键UP 查看上一次的命令

yum install ksh -y

yum install libXext.so.6 -y

yum install libXtst.so.6 -y

yum install libXt.so.6 -y

yum install libGLU.so.1 –setopt=protected_multilib=false

yum install mesa-libGLU -y

yum install libelf.so.1 -y

yum install libXrender.so.1 -y

yum install libXp.so.6 -y

yum install libXrandr.so.2 -y

yum install *xorg* -y

yum install libXp -y

yum install ld-linux.so.2 -y

yum install openmotif -y

yum install libstdc++.so.5 -y

yum install -y xterm

以下是安装MMSIM需要的,这里提高一下效率,一条命令安装多个包

yum install -y gcc gcc-c++ ksh csh libXp *xorg-X11-fonts* compat-libstdc++-33.i686

yum install -y alliance-libs alliance glibc-2.12-1.107.el6.i686 glibc-devel.i686 glibc

yum install -y compat-readline5-5.2-17.1.el6.i686

yum install -y xterm-253-1

其中alliance后的有几个会提示No package available,忽略该提示。

建立链接

ln -s /usr/bin/awk /bin/awk

ln -s /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so /usr/lib/libstdc++-libc6.1-1.so.2

ln -s /bin/gunzip /bin/uncompress

cd /lib64

ln -s libreadline.so.6 libreadline.so.5

cd /usr/lib64

ln -s libhistory.so.6 libhistory.so.5

中间如果说无法创建符号链接文件已存在就忽略提示。

tmp文件权限修改

chmod 755 /usr/tmp

chmod设置/usr/tmp的属性,此行意思为设置/usr/tmp为文件拥有者可读可写可执行,同用户组的权限为可读可执行,其他用户权限为可读可执行

加入回还地址,让自己主机做cadence服务器

/etc/hosts文件中的最后添加一行:

127.0.0.1 主机名

配置文件格式说明

/etc/hosts 的内容一般有如下类似内容:

格式:网络IP地址+主机名或域名+主机别名

127.0.0.1 localhost.localdomain localhost

IC617不支持默认的localhost,如果在安装系统时已经修改了主机名可以忽略,以下说明如何修改主机名:

CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。静态主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。瞬态主机名是在系统运行时临时分配的主机名,例如,通过DHCPmDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,灵活主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户

CentOS 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。

查看主机名相关的设置

hostnamectl

或者使用

hostnamectl status

只查看静态、瞬态或灵活主机名,分别使用“–static”“–transient”“–pretty”选项。

hostnamectl –static

hostnamectl –transient

hostnamectl –pretty

同时修改所有三个主机名:静态、瞬态和灵活主机名:

hostnamectl set-hostname 主机名


hostnamectl set-hostname Jiangxh

再用上面的命令查看主机名时可以看到已经修改了。

在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你每次在修改主机名后一定要手动更新/etc/hosts,之后再重启CentOS 7。否则系统再启动时会很慢。

————————————————————————————————————————————————————————————

手动更新/etc/hosts

vim /etc/hosts

Insert键切换到插入模式,将文件修改为:

127.0.0.1 主机名 主机别名

#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6


Esc键返回命令行,输入:wq保存并退出


用命令行重启,使修改生效

reboot –f

更新yum

yum update

到这一步就先关机吧,顺便提一下终端关机命令

shutdown(模式)(时间)(警告信息)命令,可选择关机模式-r(重启)-h(关机)

指定现在关机

shutdown -h now

指定5分钟后关机,同时送出警告信息给登入用户:

shutdown +5 “System will shutdown after 5 minutes”

接下来需要安装cadence的安装包了

以前cadence官网可以下载软件,现在没有购买的均不能下载了。因此只能通过云盘下载了。

链接:https://pan.baidu.com/s/1b4T8Ul6X2S9jZ5LnN21pYg 密码:gdg8

下面说明一下base版本和hotfix版本的关系。

Base版是完整的软件最初版本,它具有所有软件运行功能;

Update版是Base版后加进了各种改进的增强版,它可以完全取代Base版;

Hotfix版是Base版或Update版的定时出版(分为月度或季度版)的各种补丁,并不具有软件的完整功能,而且最新的Hotfix通常都包含了以前出版的Hotfix内容。

Cadence的软件有Update版的话, 只需下载Update版而不用下载Base版安装;

Hotfix版只需下载最新版而不用浪费时间去下载每一个以前的 Hotfix ;

安装顺序为先安装Base或者Update(若有 Update 的话), 再在Base( Update)上面安装 Hotfix(单个安装 Hotfix是无法工作的)Hotfix 安装时会先移除 Base 版或 Update 版中各个需要替换的子程序后再安装对应的新子程序。

文件来自https://blog.csdn.net/maxwell2ic/article/details/52162827

把所有文件都下载下来,下载过程中我们做一下虚拟机和本地物理机的共享文件夹配置。

在虚拟机关机状态下切换至物理驱动器。(必须要取消之前的ISO,否则会出现客户机操作系统已将 CD-ROM 门锁定,并且可能正在使用 CD-ROM,这可能会导致客户机无法识别介质的更改的警告)


开机。

下面安装一下VMware Tools的库

yum update kernel -y

yum install kernel-headers -y

yum install kernel-devel -y

yum install make -y

点击虚拟机里的重新安装WMware tools


可以看到桌面多了一个镜像文件


进入终端,root模式下,创建光驱的挂载点目录

mkdir /mnt/cdrom

把光驱挂载至该目录下

mount /dev/cdrom /mnt/cdrom/

进入/mnt/cdrom即可看到vmware tools安装包

cd /mnt/cdrom

列表查看当前目录所有文件

ls


将这个文件复制到个人目录下,我这里创建一个VM_Tools的文件夹

mkdir /VM_Tools

cp /mnt/cdrom/VMwareTools-10.1.6-5214329.tar.gz /VM_Tools/

进入个人目录后解压

cd /VM_Tools

tar -xzvf VMwareTools-10.1.6-5214329.tar.gz

解压后查看文件目录

ls


可以看到多了一个文件夹,进入该文件夹

cd vmware-tools-distrib/

安装

./vmware-install.pl


安装过程中有默认选项的均用回车按默认选项配置,需要选择yes or no 的均按yes


如果提示enter the path to the kernel header


我们按Ctrl+Z停止安装,上面的库可能没有安装成功。

yum install kernel*

重新安装VMware Tools

./vmware-install.pl

完成安装后,我们可以看到多了一个hgfs目录

cd /mnt

ls


说明VMware Tools已经安装完成

我们将之前下载的安装包分批解压,分卷压缩的注意各个part不能缺少。


我们将解压完的IC617MMSIMCalibre2015文件放在一个文件夹内,并放入InstallScape压缩包(不解压),为了兼容Linux平台文件夹名不能有空格,我们命名为IC_Design

注意:Calibre安装文件仅为一个可执行文件exe,不要带文件夹。


打开虚拟机设置


将该文件夹作为共享文件夹


回到命令行,进入hgfs目录,可以看到该文件夹已经共享到虚拟机里了


对于大型软件,建议安装在/opt目录下

我们先建立安装目录

mkdir -p /opt/cadence/installscape

mkdir -p /opt/mentor/Calibre2015

Calibre安装包复制到/opt/mentor/Calibre2015

cp /mnt/hgfs/IC_Design/aoi_cal_2015.2_36.27_mib.exe /opt/mentor/Calibre2015/

installscape的压缩包复制到/opt/cadence/installscape

cp /mnt/hgfs/IC_Design/IScape04.23-s010lnx86.t.Z /opt/cadence/installscape

IC617MMSIM151可以不用动。

进入installscape的压缩包路径,生成安装好的installscape,然后启动installscape

cd /opt/cadence/installscape

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

sh /opt/cadence/installscape/iscape/bin/iscape.sh

注:如果这一步说什么javaVM什么的问题就是操作系统的环境没有配置好,请回到之前的步骤确认所有yum配置。

设置默认安装目录


按下图配置,其中临时文件目录我放在了桌面上,桌面的目录形式是/home/用户名/,这里注意安装目录最后最好不要有/,否则后面安装路径上默认会有两条//,但是加上也没有影响。


配置的确定键需要全屏虚拟机,将这个选项框往下拉才能看到。

开始安装IC617


勾选要安装的IC617


确认安装默认的路径就可以开始安装了


安装完成后会有配置选项,各种y


输入2退出


让设置oa的时候,输入n选默认的oa路径。


各种enteric617就安装完了


选择cancel继续安装mmsim,过程类似



本段可执行可忽略,我直接用的默认目录目前还没出现问题。

不同的地方在于,在这里OA目录要设置为之前IC617OA目录。


IC617安装过程类似,如果过程中不小心把oa的路径修改了可以在这里重新配置


退出installscape,去安装Calibre

因为发现Mentor的软件都是默认安装在源文件所在的目录的,所以想装到那儿就拷到哪儿。之前已经把aoi_cal_2015.2_36.27_mib.exe这个文件解压到了/opt/mentor/Calibre2015目录下,然后进入该目录,在terminal中执行命令

cd /opt/mentor/Calibre2015

./aoi_cal_2015.2_36.27_mib.exe

如遇到权限问题,直接用chmod 777命令,如果遇到uudecode的问题,就装sharutils-4.6.1-2.i386.rpm


输入D,再输入yes开始安装

安装完后我们需要打补丁

补丁在这里下载,同样把这两个文件夹放在共享文件夹里

链接:https://pan.baidu.com/s/1WmqjUa4ZPQ0EZkx48m1J_g 密码:pdo3

先给cadence打补丁,进入补丁文件夹

cd /mnt/hgfs/IC_Design/cadence_patch/

./cadence_patch.sh /opt/cadence/IC617

./cadence_patch.sh /opt/cadence/MMSIM151

中间会有一些error,可以忽略。

接着给calibre打补丁

patch_calibresfk这两个文件放在/opt/mentor/Calibre2015/aoi_cal_2015.2_36.27目录下(这里直接将calibre_patch文件夹内的文件全部复制过去了),进入该目录执行命令

cp /mnt/hgfs/IC_Design/calibre_patch/* /opt/mentor/Calibre2015/aoi_cal_2015.2_36.27

cd /opt/mentor/Calibre2015/aoi_cal_2015.2_36.27/

chmod a+x patch_calibre sfk

./patch_calibre aoi_cal_2015.2_36.27

接着安装license,下载

链接:https://pan.baidu.com/s/1Qups3TiJ9bfAmyE_jmgV0g 密码:wa5m

先打开cadence_license文件夹Windows平台下,双击licgen.bat文件,会在目录下生成一个license.dat

将这个license.dat复制到我们的共享文件夹里,切换到linux虚拟机

将这个文件移动到/opt/cadence/IC617/share/license/目录下

mv /mnt/hgfs/IC_Design/license.dat /opt/cadence/IC617/share/license/

接着我们查看虚拟机的mac地址,复制下来,并将其中的冒号去掉,当然也可以自己重新给定一个mac地址。如下图即为000C29106BEA


或者在终端页面,用ifconfig命令查看


我们回到windows打开calibre_license文件夹,右键编辑licgen.bat,将HOSTID替换为上面的mac地址


以管理员身份双击运行licgen.bat,会生成一个license.dat文件

再将这个license.dat复制到共享文件夹里,切换到linux平台

mkdir /opt/mentor/Calibre2015/aoi_cal_2015.2_36.27/share/

mkdir /opt/mentor/Calibre2015/aoi_cal_2015.2_36.27/share/license/

mv /mnt/hgfs/IC_Design/license.dat /opt/mentor/Calibre2015/aoi_cal_2015.2_36.27/share/license/

最后做bashrc环境变量的配置

链接:https://pan.baidu.com/s/1zbH_J2ADKLxDxDkklaqvkg 密码:do1n

windows下编辑

export MGC_CALIBRE_SCHEMATIC_SERVER=主机名:9199

export MGC_CALIBRE_LAYOUT_SERVER=主机名:9189

注:终端命令开头的格式即为用户名@主机名

将这个文件放入共享文件夹里,切换至linux

将这个bashrc放在你的$HOME路径里,然后改名为.bashrc(前面加.为隐藏文件),比如我的用户名为JXH放在/home/JXH,然后在该目录中用terminal执行命令(普通用户的默认$HOME/home/用户名,root用户为/root~即为$HOME

mv /mnt/hgfs/IC_Design/bashrc ~/.bashrc

我们再下载集成Calibre配置文件

链接:https://pan.baidu.com/s/1ELCCa83DFzCnfGR2zaElTw 密码:iu4k

cdsinit文件移动到共享文件夹内,然后放在刚才放.bashrc的目录下。

mkdir -p ~/CMOSedu

mv /mnt/hgfs/IC_Design/cdsinit ~/CMOSedu/.cdsinit

cd ~/

. .bashrc

cd CMOSedu/

virtuoso &

virtuoso后的&为后台运行命令,这样我们在运行cadence时还能使用终端命令行进行其他操作。我们可以发现cadence基本已经可以运行了(这次运行用于做系统初始化,不然安装工艺库时会出错),关闭virtuoso,再终端上按Ctrl+C结束后台运行。

如果发现终端上一直在报错lsb_release: command not found

我们在终端上查看这个命令属于哪个安装包

yum provides */lsb_release


可以看出,属于redhat-lsb这个包,使用yum安装这个包:

yum install -y redhat-lsb

下面要安装工艺库文件

文件是开源的,详情可以看https://www.eda.ncsu.edu/wiki/NCSU_CDK

下载NCSU Cadence Design Kit (CDK) version 1.6.0 beta,链接里放了全部的版本,只需要用到cdk1.6.0beta

链接:https://pan.baidu.com/s/1NPpgUNmAfap5ZYBz-YEAnA 密码:z8gc

cdk1.6.0beta文件在windows下解压,将解压后的文件夹内的tar.gz文件复制到linux中,从共享文件夹移动到/opt/PDKs

mkdir -p /opt/PDKs

mv /mnt/hgfs/IC_Design/ncsu-cdk-1.6.0.beta.tar.gz /opt/PDKs

cd /opt/PDKs

tar -xzvf ncsu-cdk-1.6.0.beta.tar.gz

ls

可以看到目录下多了一个名为ncsu-cdk-1.6.0.beta的文件夹,将文件夹复制到桌面上

cp -r /opt/PDKs/ncsu-cdk-1.6.0.beta ~/

opt/PDKs/ncsu-cdk-1.6.0.beta/cdssetup目录下所有文件复制到最开始建立的工程目录$HOME/CMOSedu

cp -r /opt/PDKs/ncsu-cdk-1.6.0.beta/cdssetup/* ~/CMOSedu/

cdsinitsimrccdsenv这几个文件改成.cdsinit.simrc.cdsenv。就是在前面加了一个点,变成隐藏文件

cd ~/CMOSedu

mv cdsinit .cdsinit

mv simrc .simrc

mv cdsenv .cdsenv

cds.lib这个文件中底部加入下面三行

vim cds.lib

DEFINE analogLib /opt/cadence/IC617/tools.lnx86/dfII/etc/cdslib/artist/analogLib

DEFINE functional /opt/cadence/IC617/tools.lnx86/dfII/etc/cdslib/artist/functional

DEFINE sbaLib /opt/cadence/IC617/tools.lnx86/dfII/etc/cdslib/artist/sbaLib

重新下载一个改进后的cdsinit,替换之前的那个

链接:https://pan.baidu.com/s/12Ei0L-aQaCFgl94e8ttg0w 密码:t3h9

mv /mnt/hgfs/IC_Design/cdsinit ~/CMOSedu/.cdsinit

下载diva_rul_files.zip

链接:https://pan.baidu.com/s/1OVgZiduNboh2_ECZeS19vA 密码:at01

windows下解压,将diva_rul_files文件夹复制到共享文件夹内,切换到linux系统

将该文件夹内的文件复制到$HOME/ncsu-cdk-1.6.0.beta/lib/NCSU_TechLib_ami06下,替换原有文件。(NCSU1.6.0betabug

cp /mnt/hgfs/IC_Design/diva_rul_files/* ~/ncsu-cdk-1.6.0.beta/lib/NCSU_TechLib_ami06

选择文件替换。

重新运行即可,以后每次运行都按照这样的步骤即可。如果没有修改环境变量,就可以不用重新加载.bashrc。即直接进入工程目录运行virtuoso即可。

cd ~/CMOSedu/

virtuoso &

1:如何查看隐藏文件


用命令行查看目录下的文件可以用ls;如果要查看隐藏文件可以用ls -a;如果要查看文件的详细信息可以用ls -l或者ll


文件的权限也可以看到,格式为文件所有者(属主),(属主)同组用户,其他用户。而chmod就是修改文件权限的命令,其后接的三个数字分别为这三组用户的权限的二进制表示,rwx的权值分别为421,如果想要rw-属性即为4+2=6,如果想要r-x属性即为4+1=5,如777即为所有用户可读写。

2:如何修改系统语言?

首先查看当前语言

echo $LANG

在终端输入 locale命令查看语言包

locale

Centos 7已经不采用/etc/sysconfig/i18n这一个文件来做配置,而改为使用/etc/locale.conf这个来进行语言配置。

vim /etc/locale.conf

如果需要改为英文则修改为

LANG=”en_US.UTF-8″

改为中文则修改为

LANG=”zh_CN.UTF-8″

完成后重启即可。

3:如何解决bash-4.2

昨天不小心把虚拟机挂起了之后强制关机了,第二天启动后终端提示符显示的是bash-4.2$ 而不是 [用户名@主机名 路径]$ 的显示方式

解决办法:

vi ~/.bash_profile

在文件末尾追加:export PS1='[\u@\h \W]$ ‘

使更改生效

source ~/.bash_profile

但是重启之后,还是变成了bash-4.2$

vi ~/.bashrc

在文件开头加入如下内容:

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

完成后重启即可恢复

注:如果用户目录下没有.bash_profile.bashrc这几个文件,则先复制/etc/skel这个目录的这2个文件到$HOME下。

4su用户名和su – 用户名的区别?

su命令和su –命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su –命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下susu –以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su –命令。

注:用户名省略时默认为root用户。

5:给其他用户复制工艺库

如果某个用户需要这个工艺库的话,只用把整个工作目录复制给他就行了,比如

cp -R ~/CMOSedu /home/someuser/

chown -R someuser /home/someuser/CMOSedu

6:如何扩展虚拟磁盘大小?

如果我们最初分配的磁盘大小不足,可能会出现磁盘空间不够用的情况,这时就需要进行扩容了。点击扩展,可以选择要扩展的容量,然后要等待很长很长的时间。


完成后启动虚拟机,进入root。首先查看系统版本

cat /etc/redhat-release

查看当前系统容量使用情况。

df

可以发现好像扩容没有生效,使用fdisk可以看到磁盘空间容量其实已经扩容了

fdisk -l

下面要扩展分区,期间需要输入指令,按照我下面给出的输入即可。

[root@jiangxh ~]# fdisk /dev/sda

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Command (m for help): n

Partition type:

p primary (2 primary, 0 extended, 2 free)

e extended

Select (default p): p

Partition number (3,4, default 3):

First sector (41943040-62914559, default 41943040):

Using default value 41943040

Last sector, +sectors or +size{K,M,G} (41943040-62914559, default 62914559):

Using default value 62914559

Partition 3 of type Linux and of size 10 GiB is set

Command (m for help): t

Partition number (1-3, default 3): 3

Hex code (type L to list all codes): L

0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris

1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-

2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-

3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-

4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx

5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data

6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .

7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility

8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt

9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access

a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O

b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor

c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs

e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT

f W95 Ext’d (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/

10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b

11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor

12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor

14 Hidden FAT16 ❤ 61 SpeedStor ab Darwin boot f2 DOS secondary

16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS

17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE

18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto

1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep

1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT

1e Hidden W95 FAT1 80 Old Minix

Hex code (type L to list all codes): 8e

Changed type of partition ‘Linux’ to ‘Linux LVM’

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[root@jiangxh ~]#

执行 partprobe命令用于将磁盘分区表变化信息通知内核,并请求操作系统重新加载分区表,可以避免必须重新启动的问题,这里我们reboot一下。

partprobe

reboot

重启后使用fdisk命令可以看到分区已经添加到sda3了。

fdisk -l

基本LVM,进行vg扩展,这里我忘了截图了,从网上找了一段来做参考,包括了命令和返回值,在vgs命令后会返回一个名字,在第三个vgextend后用那个返回的组名替换cl_angular

[root@mail ~]# pvcreate /dev/sda3

Physical volume “/dev/sda3” successfully created.

[root@mail ~]# vgs

VG #PV #LV #SN Attr VSize VFree

cl_angular 1 2 0 wz–n- 19.00g 0

[root@mail ~]# vgextend cl_angular /dev/sda3

Volume group “cl_angular” successfully extended

[root@mail ~]# vgs

VG #PV #LV #SN Attr VSize VFree

cl_angular 2 2 0 wz–n- 28.99g 10.00g

[root@mail ~]#

扩展lv,可以将此lv全部添加或者部分添加,我们这里全部添加。同上,注意替换为自己的组名。

[root@mail ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

root cl_angular -wi-ao—- 17.00g

swap cl_angular -wi-ao—- 2.00g

[root@mail ~]# lvextend /dev/cl_angular/root /dev/sda3

Size of logical volume cl_angular/root changed from 17.00 GiB (4351 extents) to 26.99 GiB (6910 extents).

Logical volume cl_angular/root successfully resized.

[root@mail ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

root cl_angular -wi-ao—- 26.99g

swap cl_angular -wi-ao—- 2.00g

[root@mail ~]#

此时使用df命令可以发现状态还没有变化

df

使用xfs_growfs可以将xfs文件系统进行online方式的扩展,它会将data block进行调整。

xfs_growfs /dev/mapper/cl_angular-root

再次使用df命令确认df状态。可以发现容量已经扩容,容量占用率也下降了。

df

7:推荐baker的网站

http://cmosedu.com/

http://cmosedu.com/videos/cadence/cadence_videos.htm

留下评论