Ubuntu18.04安装配置CadenceVirtuoso617
之前的Centos7为了使⽤spectre提供的matlab toolbox,结果不⼩⼼删除了/usr/lib64中的某些动态库(XXXX.so⽂件),导致重启之后内核崩溃。
这⾥送上忠告:尽量不要使⽤rm命令,使⽤mv命令改名备份最好。
于是进⼊了“漫长”的拯救数据⾏动,这⾥只给出主要思路:
由于清楚问题出现的原因,我⾸先是通过安装盘(U盘)进⼊拯救模式,然后拷贝了U盘核⼼中的动态库到原系统的动态库。此时原系统可以进⼊终端模式,但进⼊图形界⾯时登陆账户后就⿊屏且重新回到登陆界⾯,并且终端中不能联⽹,也⽆法重新安装系统核⼼。看来系统应该很难救回来了,于是使⽤终端将关键数据进⾏打包,并挂载上移动硬盘将数据拷贝出来,此时数据拯救成功。
Centos系统虽已稳定著称,但同时也是个磨⼈的⼩妖精:常常为了解决各种依赖⽽耗费⼤量时间。因此决定转向⽀持更完善的Ubuntu系统,⽬前的使⽤证明Ubuntu是个⽼⼤哥,不再是⼩妖精了。Ubuntu的官⽅库完善,且在国内也能愉快地下载,再加上⽹络上已有很多Ubuntu安装Virtuoso的教程,因此Ubuntu是个不错的选择。
安装Ubuntu18.04
在Win下进⼊官⽹下载,并制作安装U盘。建议使⽤,点击即可下载。教程较多,不再赘述。
安装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
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ expo
rt 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库,执⾏下⾯命令安装
ubuntu安装教程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安装时发现不能定位到该软件包。于是选择⼿动安装。该库的名字为和。下载好使⽤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发现问题解决。