之前的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發現問題解決。