2020年3月31日 星期二

安裝 HSPICE 及模擬

安裝 HSPICE 及模擬

SPICE 是電路模擬程式,在 1970 年代由柏克萊大學開始研發,之後發展出許多分支,其中 HSPICE 是電路模擬的工業標準,在完成電路設計後,必須以 HSPICE 來進行模擬以驗證電路功能是否正確無誤,符合我們的要求。

要安裝 HSPICE,請至 CIC 下載 HSPICE 之檔案,以 2020/3 月為例,目前最新版之 HSPICE 為 2020.03 版,下載完後會出現

hspice_2020.03_linux.tgz
installation_guide_synopsys.txt

這 2 個檔案,其中第一個是 HSPICE 的安裝檔,第二個是安裝說明,我們主要是看 HSPICE 的 License Server 設定埠為

26585@lsncku

HSPICE 的安裝路徑一樣整理到 /opt/EDA/hspice,首先下底下指令來安裝

# tar xfva hspice_2020.03_linux.tgz -C /opt/EDA

此時會自動在 /opt/EDA 底下將 HSPICE 安裝到 /opt/EDA/hspice 目錄下。HSPICE 安裝完畢後進行設定,否則無法對應到正確目錄,之後模擬會出問題。請在

/opt/EDA/hspice/cur/hspice/bin

目錄下執行

/opt/EDA/hspice/cur/hspice/bin # ./config -r /opt/EDA/hspice/cur

其中 /opt/EDA/hspice/cur 是目前安裝目錄,此時 ./config 可以進行設定並退出。完成此步驟後,接下來要設定執行路徑及 License Server。

設定執行路徑

請在 ~/.bashrc 中新增底下設定:

Hspice="/opt/EDA/hspice"
Hspicebin="/opt/EDA/hspice/cur/hspice/bin"

export PATH=$PATH:$Hspice:$Hspicebin

LM_LICENSE_FILE=5280@lsncku:26585@lsncku

作完後,以一般使用者的權限執行

$ hspice

看看能不能正常呼叫這個檔案,沒問題後,可以設定 HSPICE 環境,請將 CIC 的虛擬製程模擬檔 cic018.l 複製至 ~/model 目錄下,再編譯 ~/model/1p6mcic018.include 檔案,其內容只有一行:
.lib '/home/eecs/model/cic018.l' TT

接下來可以在 virtuoso 中測試 HSPICE 是否能執行並跑出模擬波形,請依老師操作測試。

2020年3月25日 星期三

如何安裝 CIC 0.18 Virtual CMOS Process

# mkdir -p /opt/EDA/PROCESS
# tar xfva cic018.tar.xz -C /opt/EDA/PROCESS

解開完畢後請至 /opt/EDA/PROCESS 目錄底下觀察是否有 CIC0181P6M 目錄。


接下來要將製程檔複製回自己家目錄,請先執行:

~$ mkdir -p model lib lklib simulation

建立空目錄,接下來可以進行檔案複製:

~$ cp /opt/EDA/PROCESS/CIC0181P6M/virtuoso/cic18.tf model
~$ cp /opt/EDA/PROCESS/CIC0181P6M/virtuoso/display.drf .
~$ cp /opt/EDA/PROCESS/CIC0181P6M/model/cic018.l model

複製完畢後,請在 ~/model 目錄中新增一個 1p6mcic018.include 檔案,內容如下:

.lib '/home/herman/model/cic018.l' TT


接下來我們即可測試 virtuoso 環境。

Virtuoso 6.1.8 安裝流程

下載、安裝、設定 Cadence Virtuoso EDA 工具


下載及驗證:

Cadence Virtuoso EDA 工具是業界佔有率相當高的 EDA 工具,主要功能在於繪製電路圖 (Schematic Entry)、符號圖 (Symbol)、佈局圖 (Layout)。除此之外,Cadence Virtuoso 亦可以直接呼叫外部工具來進行 Spice Simulation 以及 DRC/LVS驗證。

要安裝 Cadence Virtuoso EDA 工具,首先要下載 CIC 所提供的壓縮檔,以目前 (2020/03/12) 而言,其最新的版本是 IC_06.18.040,總共有五個壓縮檔要下載,如底下所示:

IC_06.18.040_linux_1of5.tgz
IC_06.18.040_linux_2of5.tgz
IC_06.18.040_linux_3of5.tgz
IC_06.18.040_linux_4of5.tgz
IC_06.18.040_linux_5of5.tgz

下載完畢後,請執行 gzip -t xxx.tgz 來測試所下載之壓縮檔是否有誤,如果沒有任何錯誤訊息的話,代表此壓縮檔格式正確,接下來可以進行安裝。


================================================================================

解壓縮及安裝:

建立安裝目錄

# mkdir -p /opt/EDA/cadence

解開壓縮檔

# tar xfva IC_06.18.040_linux_1of5.tgz -C /opt/EDA/cadence
# tar xfva IC_06.18.040_linux_2of5.tgz -C /opt/EDA/cadence
# tar xfva IC_06.18.040_linux_3of5.tgz -C /opt/EDA/cadence
# tar xfva IC_06.18.040_linux_4of5.tgz -C /opt/EDA/cadence
# tar xfva IC_06.18.040_linux_5of5.tgz -C /opt/EDA/cadence

解開之後,會出現

/opt/EDA/cadence/IC 目錄,在此目錄下即是已解開之 Virtuso EDA 工具。

================================================================================

設定 Virtuoso 環境

1. 要設定 Virtuoso,請看原廠設定手冊,其位置在

/opt/EDA/cadence/IC/cur/doc

目錄,我們要看有關 installation 或 setup 或 administrator's guide 之類的文件。以此例來說,在 doc 目錄下有一個名為 install 的子目錄,此目錄存放 Cadence Installation Guide,這是原廠的安裝手冊,任何設定上的問題,以此檔內敘述為主。

2. 設定 Virtuoso 執行路徑

由於我們的 PATH 變數還沒有設定 Virtuoso 的執行環境,如果執行

$ virtuoso

的話,會出現底下錯誤訊息:

bash: virtuoso: command not found

這是由於 virtuoso 目前沒有在 ~/.bashrc 的 PATH 變數中設定,
因此在 ~/.bashrc 中要加上底下設定:

Virtuoso="/opt/EDA/cadence/IC/cur/tools/bin"
icfb="/opt/EDA/cadence/IC/cur/tools/dfII/bin"

export PATH=$PATH:$Virtuoso:$icfb

####ENV for IC60 #####
CDS_LIC_FILE=5280@lsncku
CDS_INST_DIR=/opt/EDA/cadence/IC/cur
CDS_ROOT=/opt/EDA/cadence/IC/cur
CDS_HOME=/opt/EDA/cadence/IC/cur
CDS_Netlisting_Mode=Analog
CDSDIR=$CDS_INST_DIR/tools
#XKEYSYMDB=$CDS_INST_DIR/share/cdssetup/tdmX11/XKeysymDB
XNLSPATH=$CDS_INST_DIR/share/cdssetup/tdmX11/nls
CDS_AUTO_64BIT=ALL

OA_HOME=/opt/EDA/cadence/IC/cur/oa


export LM_LICENSE_FILE=5280@lsncku:1717@lsncku:27000@lsncku:26585@lsncku




設定完畢後,重新打開新的終端機視窗,在此視窗中執行

$ virtuoso
bash: /opt/EDA/cadence/IC/cur/tools/dfII/bin/virtuoso: /bin/ksh: bad interpreter: No such file or directory

上述的錯誤訊息是 virtuoso 找不到 ksh 這個 shell,請安裝 ksh 這個套件,再執行

========================================================================
修改 /opt/EDA/cadence/IC/cur/share/oa/bin/sysname

eecs@120:~$ virtuoso
2020/03/20 10:45:59 System is not a supported distribution
2020/03/20 10:45:59 An error occurred. We don't recognize OS
2020/03/20 10:45:59 WARNING This OS does not appear to be a Cadence supported Linux configuration.
2020/03/20 10:45:59 For more info, please run CheckSysConf in <cdsRoot/tools.lnx86/bin/checkSysConf <productId>
virtuoso:   ERROR: The command /opt/EDA/cadence/IC/cur/share/oa/bin/sysname returned an error status:
                            unknown
virtuoso:    INFO: Note that OpenAccess (OA) requires running the Configure phase.
virtuoso:          See the "OpenAccess Installation and Configuration Guide" before
virtuoso:          you complete the configuration step. This manual is included with
virtuoso:          the Cadence product documentation.

========================================================================
$ virtuoso
2020/03/20 10:49:20 System is not a supported distribution
2020/03/20 10:49:20 An error occurred. We don't recognize OS
2020/03/20 10:49:20 WARNING This OS does not appear to be a Cadence supported Linux configuration.
2020/03/20 10:49:20 For more info, please run CheckSysConf in <cdsRoot/tools.lnx86/bin/checkSysConf <productId>
/opt/EDA/cadence/IC/cur/tools/dfII/bin/64bit/virtuoso: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory

請安裝  libxrender1 套件
========================================================================
$ virtuoso
2020/03/20 11:16:55 System is not a supported distribution
2020/03/20 11:16:55 An error occurred. We don't recognize OS
2020/03/20 11:16:55 WARNING This OS does not appear to be a Cadence supported Linux configuration.
2020/03/20 11:16:55 For more info, please run CheckSysConf in <cdsRoot/tools.lnx86/bin/checkSysConf <productId>
/opt/EDA/cadence/IC/cur/tools/dfII/bin/64bit/virtuoso: error while loading shared libraries: libXt.so.6: cannot open shared object file: No such file or directory

請安裝 libxt6 套件
========================================================================
$ virtuoso
2020/03/20 11:18:25 System is not a supported distribution
2020/03/20 11:18:25 An error occurred. We don't recognize OS
2020/03/20 11:18:25 WARNING This OS does not appear to be a Cadence supported Linux configuration.
2020/03/20 11:18:25 For more info, please run CheckSysConf in <cdsRoot/tools.lnx86/bin/checkSysConf <productId>
/opt/EDA/cadence/IC/cur/tools/dfII/bin/64bit/virtuoso: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory


請安裝 libx11-xcb1 套件
========================================================================
$ virtuoso
2020/03/20 11:19:51 System is not a supported distribution
2020/03/20 11:19:51 An error occurred. We don't recognize OS
2020/03/20 11:19:51 WARNING This OS does not appear to be a Cadence supported Linux configuration.
2020/03/20 11:19:51 For more info, please run CheckSysConf in <cdsRoot/tools.lnx86/bin/checkSysConf <productId>
/opt/EDA/cadence/IC/cur/tools/dfII/bin/64bit/virtuoso: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

請安裝 libxss1 套件
========================================================================

$ virtuoso
2020/03/20 11:21:02 System is not a supported distribution
2020/03/20 11:21:02 An error occurred. We don't recognize OS
2020/03/20 11:21:02 WARNING This OS does not appear to be a Cadence supported Linux configuration.
2020/03/20 11:21:02 For more info, please run CheckSysConf in <cdsRoot/tools.lnx86/bin/checkSysConf <productId>
/opt/EDA/cadence/IC/cur/tools/dfII/bin/64bit/virtuoso: error while loading shared libraries: libXft.so.2: cannot open shared object file: No such file or directory

請安裝 libxft2 套件
========================================================================

$ virtuoso
2020/03/20 11:22:02 System is not a supported distribution
2020/03/20 11:22:02 An error occurred. We don't recognize OS
2020/03/20 11:22:02 WARNING This OS does not appear to be a Cadence supported Linux configuration.
2020/03/20 11:22:02 For more info, please run CheckSysConf in <cdsRoot/tools.lnx86/bin/checkSysConf <productId>
/opt/EDA/cadence/IC/cur/tools/dfII/bin/64bit/virtuoso: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

安裝 nvidia 驅動程式模組再重新開機
========================================================================
$ virtuoso
2020/03/20 11:45:12 System is not a supported distribution
2020/03/20 11:45:12 An error occurred. We don't recognize OS
2020/03/20 11:45:12 WARNING This OS does not appear to be a Cadence supported Linux configuration.
2020/03/20 11:45:12 For more info, please run CheckSysConf in <cdsRoot/tools.lnx86/bin/checkSysConf <productId>
/opt/EDA/cadence/IC/cur/tools/dfII/bin/64bit/virtuoso: error while loading shared libraries: libGLU.so.1: cannot open shared object file: No such file or directory

請安裝 libglu1-mesa 套件
========================================================================
$ virtuoso
2020/03/20 11:46:31 System is not a supported distribution
2020/03/20 11:46:31 An error occurred. We don't recognize OS
2020/03/20 11:46:31 WARNING This OS does not appear to be a Cadence supported Linux configuration.
2020/03/20 11:46:31 For more info, please run CheckSysConf in <cdsRoot/tools.lnx86/bin/checkSysConf <productId>
/opt/EDA/cadence/IC/cur/tools/dfII/bin/64bit/virtuoso: error while loading shared libraries: libdb-4.7.so: cannot open shared object file: No such file or directory

作底下連結
/usr/lib/x86_64-linux-gnu# ln -s libdb-5.3.so libdb-4.7.so
========================================================================
$ virtuoso

此時應該可以看到 virtuoso 視窗

2020年3月5日 星期四

在 Debian 10 上面安裝舊版 nv 驅動程式

在 Debian 10 上面安裝舊版 nv 驅動程式

我們目前機器裡面安裝的 3D 加速卡是 nvidia GT 620,使用底下指令可以看到:

lspci -k

01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 620 OEM] (rev a1)
        Subsystem: ASUSTeK Computer Inc. GF119 [GeForce GT 620 OEM]
        Kernel modules: nvidia

這個顯卡因為已經十分老舊的關係,在 Debian 10 上面的 nvidia-kernel-dkms 套件已經不再支援,因此我們要安裝舊版 (legacy) 的 nv 驅動程式,以支援此顯卡。請先設定 /etc/apt/sources.list 這個檔案,加上 contrib non-free 參數,如底下所示。

deb http://opensource.nchc.org.tw/debian buster main contrib non-free

接下來請安裝 nvidia-legacy-390xx-kernel-dkms 套件,操作如下所示:

# apt-get -y install nvidia-legacy-390xx-kernel-dkms

此時會開始安裝 nvidia-legacy 版的驅動程式,其編號為 390,裝完之後的訊息如下所示:

..(前略)
DKMS: install completed.
設定 nvidia-legacy-390xx-driver (390.116-1) ...
執行 glx-alternative-nvidia (1.0.0) 的觸發程式……
執行 glx-alternative-mesa (1.0.0) 的觸發程式……
執行 libc-bin (2.28-10) 的觸發程式……
執行 update-glx (1.0.0) 的觸發程式……
執行 glx-alternative-nvidia (1.0.0) 的觸發程式……
執行 libc-bin (2.28-10) 的觸發程式……
執行 initramfs-tools (0.133+deb10u1) 的觸發程式……
update-initramfs: Generating /boot/initrd.img-4.19.0-8-amd64


作完之後請檢查 /etc/modprobe.d/nvidia-blacklists-nouveau.conf 檔案是否有底下設定:

blacklist nouveau
blacklist ast

設定完畢後可以重新開機,以便載入 nvidia 驅動程式。重新開機之後可以輸入

lsmod |grep nvidia

以及

lspci -k

來確認 nvidia 驅動程式模組已經載入。確認無故後可以照之前流程來設定

/etc/X11/xorg.conf 檔案:

# X -configure                          -> 產生 /root/xorg.conf.new 檔

# vi xorg.conf.new 把 nouveau 改成 nvidia

# cp /root/xorg.conf.new /etc/X11/xorg.conf -> 將設定檔複製到 /etc/X11 中

接著用一般使用者帳號進入 X 視窗,並打開 chrome 看看能不能以 3D 模式觀看地球