Ubuntu18.04 安装配置 Cadence Virtuoso617

时间:2024-02-21 17:45:57

之前的Centos7为了使用spectre提供的matlab toolbox,结果不小心删除了/usr/lib64中的某些动态库(XXXX.so文件),导致重启之后内核崩溃。

这里送上忠告:尽量不要使用rm命令,使用mv命令改名备份最好

于是进入了“漫长”的拯救数据行动,这里只给出主要思路:

由于清楚问题出现的原因,我首先是通过安装盘(U盘)进入拯救模式,然后拷贝了U盘核心中的动态库到原系统的动态库。此时原系统可以进入终端模式,但进入图形界面时登陆账户后就黑屏且重新回到登陆界面,并且终端中不能联网,也无法重新安装系统核心。看来系统应该很难救回来了,于是使用终端将关键数据进行打包,并挂载上移动硬盘将数据拷贝出来,此时数据拯救成功。

Centos系统虽已稳定著称,但同时也是个磨人的小妖精:常常为了解决各种依赖而耗费大量时间。因此决定转向支持更完善的Ubuntu系统,目前的使用证明Ubuntu是个老大哥,不再是小妖精了。Ubuntu的官方库完善,且在国内也能愉快地下载,再加上网络上已有很多Ubuntu安装Virtuoso的教程,因此Ubuntu是个不错的选择。

安装Ubuntu18.04

  1. 在Win下进入官网下载Ubuntu18.04,并制作安装U盘。建议使用UltralSO,点击即可下载。教程较多,不再赘述。

  2. 安装Ubuntu,我的分区如下(双系统)

    挂载点 功能 大小 设置
    swap 内存交换空间 12G 主分区、空间起始位置
    /boot 内核及引导文件位置 1G 逻辑分区、空间起始位置、EXT4
    / 根目录 40G 主分区、空间起始位置、EXT4
    /opt 第三方软件安装目录(自行安装) 100G 逻辑分区、空间起始位置、EXT4
    /usr 官方软件安装目录 100G 逻辑分区、空间起始位置、EXT4
    /home 用户目录,存储数据 800G 逻辑分区、空间起始位置、EXT4
  3. 更新内核、软件、驱动

    # 更新软件库
    sudo apt-get update
    # 更新软件
    sudo apt-get upgrade
    # 更新系统
    sudo apt-get dist-upgrade
    # 自动更新、下载驱动(可以自动安装Nvidia驱动,方便快捷)
    sudo ubuntu-drivers autoinstall
    

安装、配置Cadence Virtuoso

不是真正的安装,是将我Centos系统中的Cadence软件库打包并解压过来的,真正的安装过程其他的博客讲的很清楚啦。

  1. 将软件包解压到/opt下

  2. 安装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
    
  3. 由于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
    
  4. 还需要让Virtuoso“认为”自己在Redhat上运行,在/etc中创建文件,

    sudo gedit /etc/redhat-release
    

    然后写入

    Red Hat Enterprise Linux release 6.12
    

    然后需要更改权限

    sudo chmod 644 /etc/redhat-release
    
  5. 虽然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 &
    
  6. 修改Calibre的liscense.dat,主要是替换物理网卡的mac地址。

    首先找到自己网卡的mac地址

    ifconfig
    

    第一张卡的mac地址复制即可,然后在下面文件中替换mac地址

    sudo gedit /opt/Mentor_Graphics/calibre/aoi_cal_2018.4_34.26/license.dat
    
  7. 重启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.deblibxp6_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.

这个问题困扰我一年有余,期间尝试过各种方法:

  1. 在环境变量中添加:MGC_FDI_OA_VERSION = 22.50
  2. 设置共享文件夹:LD_LIBRARY_PATH
  3. 更换最新版本Calibre

但三种方案都不能解决问题,今日发现新的方案,遂解决,方案如下:

在环境变量中加入一行:

export CALIBRE_ENABLE_SKILL_PEXBA_MODE = 1

重启VIrtuoso发现问题解决。