之前的Centos7为了使用spectre提供的matlab toolbox,结果不小心删除了/usr/lib64
中的某些动态库(XXXX.so文件),导致重启之后内核崩溃。
这里送上忠告:尽量不要使用rm命令,使用mv命令改名备份最好。
于是进入了“漫长”的拯救数据行动,这里只给出主要思路:
由于清楚问题出现的原因,我首先是通过安装盘(U盘)进入拯救模式,然后拷贝了U盘核心中的动态库到原系统的动态库。此时原系统可以进入终端模式,但进入图形界面时登陆账户后就黑屏且重新回到登陆界面,并且终端中不能联网,也无法重新安装系统核心。看来系统应该很难救回来了,于是使用终端将关键数据进行打包,并挂载上移动硬盘将数据拷贝出来,此时数据拯救成功。
Centos系统虽已稳定著称,但同时也是个磨人的小妖精:常常为了解决各种依赖而耗费大量时间。因此决定转向支持更完善的Ubuntu系统,目前的使用证明Ubuntu是个老大哥,不再是小妖精了。Ubuntu的官方库完善,且在国内也能愉快地下载,再加上网络上已有很多Ubuntu安装Virtuoso的教程,因此Ubuntu是个不错的选择。
安装Ubuntu18.04
-
在Win下进入官网下载Ubuntu18.04,并制作安装U盘。建议使用UltralSO,点击即可下载。教程较多,不再赘述。
-
安装Ubuntu,我的分区如下(双系统)
挂载点 功能 大小 设置 swap 内存交换空间 12G 主分区、空间起始位置 /boot 内核及引导文件位置 1G 逻辑分区、空间起始位置、EXT4 / 根目录 40G 主分区、空间起始位置、EXT4 /opt 第三方软件安装目录(自行安装) 100G 逻辑分区、空间起始位置、EXT4 /usr 官方软件安装目录 100G 逻辑分区、空间起始位置、EXT4 /home 用户目录,存储数据 800G 逻辑分区、空间起始位置、EXT4 -
更新内核、软件、驱动
# 更新软件库 sudo apt-get update # 更新软件 sudo apt-get upgrade # 更新系统 sudo apt-get dist-upgrade # 自动更新、下载驱动(可以自动安装Nvidia驱动,方便快捷) sudo ubuntu-drivers autoinstall
安装、配置Cadence Virtuoso
不是真正的安装,是将我Centos系统中的Cadence软件库打包并解压过来的,真正的安装过程其他的博客讲的很清楚啦。
-
将软件包解压到/opt下
-
安装Virtuoso所需依赖
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 sudo apt-get install lib32ncurses5 sudo apt-get install lib32stdc++6 sudo apt-get install libstdc++5:i386
-
由于Virtuoso是基于Redhat系设计的,因此需要更改一些环境变量。
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
-
还需要让Virtuoso“认为”自己在Redhat上运行,在
/etc
中创建文件,sudo gedit /etc/redhat-release
然后写入
Red Hat Enterprise Linux release 6.12
然后需要更改权限
sudo chmod 644 /etc/redhat-release
-
虽然Virtuoso官方文档建议使用csh配置变量和使用Virtuoso,但Ubuntu的csh使用并不方便,同时我使用csh+.cshrc的配置不能启动Virtuoso,因此我使用的是.bashrc+bash的配置。我的bashrc文件设置如下,请按需修改。
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # For proper distributed processing execution using Cadence PVS software, it requires # that the following is set as the first line in .bashrc # Note: the space between the ! and $prompt is required! #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ if (! $prompt); then exit fi ###################################################################### # #####globe environmental setups###### # ###################################################################### export OA_UNSUPPORTED_PLAT="linux_rhel50_gcc48x" export W3264_NO_HOST_CHECK=1 export CADHOME=/opt/cadence/installs export LANG=C export CDS_Netlisting_Mode=Analog export CDS_LOAD_ENV=CSF export MOZILLA_HOME=/usr/bin/firefox export CDS=$CADHOME/IC617 export PATH=$PATH:$CDSDIR/tools/dfII/bin:$CDSDIR/tools/plot/bin:$CDSDIR/bin export CDS_ENABLE_VMS=1 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Some of these variables are used by various other tools, e.g. foundry\'s PDK. # Set them to be safe #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ export CDSDIR=$CDS export CDSHOME=$CDS export CADENCE_DIR=$CDS export CDS_INST_DIR=$CDS export CDS_ROOT=$CDS export CDSROOT=$CDS #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # #####license setups###### # #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ export CDS_LIC_FILE=$CADHOME/license.dat export CDS_LIC_ONLY=1 export CDS_AUTO_64BIT=ALL #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Cadence Analog Simulators (MMSIM) - Spectre, SpectreRF, & # RelXpert (Reliability Simulator) # #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ export MMSIMHOME=$CADHOME/SPECTRE181 export PATH=$PATH:$MMSIMHOME/bin:$MMSIMHOME/tools/relxpert/bin #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Mentor Graphics Calibre #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ export MGC_HOME=/opt/Mentor_Graphics export CALIBRE_HOME=$MGC_HOME/calibre/aoi_cal_2018.4_34.26 export MGLS_LICENSE_FILE=$CALIBRE_HOME/license.dat export PATH=$PATH:$CALIBRE_HOME/bin export MGC_LIB_PATH=$CALIBRE_HOME/lib export CALIBRE_OS_MSG_LEVEL=1 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # For 3-step (ncvlog, ncelab, and ncsim) flow to run Virtuoso AMS Designer simulator, # the following library path environment variable has to be set. # For single-step (irun) running AMS simulator, LD_LIBRARY_PATH is not required. #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Enable noise analysis in AMS designer export AMS_ENABLE_NOISE=YES #*********************************************************************** # Enable Calibre RealTime with Cadence Virtuoso #*********************************************************************** export MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED=1 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # This variable enables Calibre Interactive to save all GUI settings including default # values to a runset file for future re-run #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ export MGC_CALIBRE_SAVE_ALL_RUNSET_VALUES=1 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Set up socket connection with Virtuoso schematic or layout viewer (using default ports # 9199 for schematic and 9189 for layout) in the form of host:port #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ export MGC_CALIBRE_SCHEMATIC_SERVER=harroy:9199 export MGC_CALIBRE_LAYOUT_SERVER=harroy:9189 #*********************************************************************** # Set the name of the executable for displaying PDF documentation from Calibre Help #*********************************************************************** export MGC_PDF_READER=evince export MGC_FDI_OA_VERSION=22.50 export W3264_NO_HOST_CHECK=1 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Command on terminal to launch Cadence Virtuoso tools #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # virtuoso &
-
修改Calibre的liscense.dat,主要是替换物理网卡的mac地址。
首先找到自己网卡的mac地址
ifconfig
第一张卡的mac地址复制即可,然后在下面文件中替换mac地址
sudo gedit /opt/Mentor_Graphics/calibre/aoi_cal_2018.4_34.26/license.dat
-
重启bash终端输入virtuoso即可运行。
遇到的问题和解决方案
该板块会记录使用过程中遇到的问题和解决办法,如有新问题会及时更新。
-
电路中包含ahdlLib中的模块时,仿真失败。错误提示:
ERROR (VACOMP-1008): Cannot compile ahdlcmi module library. Check the log file input.ahdlSimDB/db40e45393110a6b15173cf850657951.diffamp.ahdlcmi/../ahdlcmi.out for details. If the reason for the failure was a syntax error, contact your Cadence Customer Support representative
观察ahdlcmi.out,其中报告的错误是
from diffamp.c:20: /usr/include/math.h:27:36: fatal error: bits/libc-header-start.h: No such file or directory #include <bits/libc-header-start.h>
查询后发现是由于该项目是在32位机器上生成的项目,若希望在64位机器运行需要安装gcc的multilib库,执行下面命令安装
sudo apt install gcc-multilib
然后即可完成包含ahdlLib库的仿真
-
运行Calibre时出现以下提示(2020.11.20)
error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory
搜索后发现是libXp.so.6库没有安装,使用apt安装时发现不能定位到该软件包。于是选择手动安装。该库的名字为libxp-dev_1.0.1-2_amd64.deb和libxp6_1.0.1-2_amd64.deb。下载好使用dpkg -i 命令安装即可,若遇到依赖问题可使用以下命令解决,然后重新安装。
sudo apt-get install -f
安装完成后Calibre正常工作。
运行Calibre后仿PEX时,无法生成原理图,有以下提示(2021.05.08)
Calibre View generation encountered a fatal Error. Please consult the logfile for messages.
这个问题困扰我一年有余,期间尝试过各种方法:
- 在环境变量中添加:MGC_FDI_OA_VERSION = 22.50
- 设置共享文件夹:LD_LIBRARY_PATH
- 更换最新版本Calibre
但三种方案都不能解决问题,今日发现新的方案,遂解决,方案如下:
在环境变量中加入一行:
export CALIBRE_ENABLE_SKILL_PEXBA_MODE = 1
重启VIrtuoso发现问题解决。