填坑笔记-linux下安装cadence

在Linux下有很多spice的仿真软件, 我之前用过ngspice, 也还在折腾。 cadence也是一个比较优秀的软件,主要是有Linux版本支持,我于是又来了。
windows之所以那么好用,给人一种无所不能的感觉, 不是因为软件多, 而是因为破解软件多, 安装又方便, 真香~~

先做一个自我介绍,我目前安装的系统信息如下:

$ lsb_release -a
LSB Version:	core-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.1 LTS
Release:	18.04
Codename:	bionic

正常安装Linux版本的cadence可以按照一下的教程按照:
Linux下载 安装cadenceIC617

我走了一遍上面的博客,总的来说还是比较顺利,下面来填坑:

  1. 装好了,运行virtuoso,可以我输入virtuoso没得命令呢。
    估计是没找到路径,于是我盯到一个IC617下有个bin目录,果然在这个目录下,将该目录添加到Linux命令寻找路径PATH下面就好了(如果不知道怎么添加,百度一下PATH路径添加,根据自己安装实际情况,添加就好了,也可以留言交流)。
  2. tcsh, ksh的问题,报错情况如下:
./virtuoso[114]: /cadence/IC617/bin/cds_plat: not found [No such file or directory]
./virtuoso[123]: /cadence/IC617/tools/bin/cds_plat: not found [No such file or directory]
virtuoso: ERROR: Cannot find a proper cds_plat in the hierarchy.
virtuoso:   ERROR: Cannot identify the current platform.
virtuoso:          Check your installation.

我ls了下这两个文件,都在呀,为啥说找不到, 这错误邪门了,没有去看代码,日常百度了下:
找到论坛上http://bbs.eetop.cn/thread-397865-1-1.html, 说你没有安装 tcsh和ksh吧,是有这么回事儿,于是在ubuntu下安装一个:

sudo apt install tcsh ksh

恩恩,这个错误解决了
3. 报错说sysname报错

WARNING: HOST <WG> DOES NOT APPEAR TO BE A CADENCE SUPPORTED LINUX CONFIGURATION.
         For More Info,  Please Run '/tools.lnx86/bin/checkSysConf' <productId>.

virtuoso:   ERROR: The command /cadence/IC617/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.

说sysname返回了一个错误,我看了下sysname是一个sh脚本,只要不是二进制就简单,你报错,我来debug就行了。

check_linux() {
    sysnames=$sysname

    version=`uname -r`
    machine=`uname -m`

    if [ -f "/etc/redhat-release" ]
    then
      longVersion=`cat /etc/redhat-release`
    elif [ -f "/etc/SuSE-release" ]
    then
      longVersion=`cat /etc/SuSE-release`
    elif [ -f "/etc/os-release" ]
    then
      longVersion=`grep PRETTY_NAME /etc/os-release | sed -e 's/.*"\(.*\)"/\1/'`
    else
      longVersion="UNKNOWN Linux"
    fi

    case $machine in
	ia64 )
          sysname="linux_rhas21_ia64$compiler"; sysnames="$sysname $sysnames";;
	*86 | *86_64 )	
	    case $version in
	        2.4.* )
                  # RHEL 2, RHEL 3
                  compiler="_gcc411"
		  sysname="linux_rhel30$compiler"; sysnames="$sysname $sysnames";;
	        2.6.[0-9]-* )
                  # RHEL 4, SLES 9
                  compiler="_gcc44x"
                  sysname="linux_rhel40$compiler"; sysnames="$sysname $sysnames";;
	        2.6.*)
                  # RHEL 5, RHEL 6, SLES 10, SLES 11, SLES 11 SP1
                  if [ "$OA_COMPILER" = "" ] ; then
                      compiler="_gcc48x";
                  fi
                  sysname="linux_rhel50$compiler"; sysnames="$sysname $sysnames";;
	        3.*)
                  # RHEL 7, SLES 11 SP2, SLES 12, Ubuntu 14
                  if [ "$OA_COMPILER" = "" ] ; then
                      compiler="_gcc48x";
                  fi
                  sysname="linux_rhel50$compiler"; sysnames="$sysname $sysnames";;
	        * )
                  check_global;;
	    esac;;
	*)
          check_global;;
    esac

}

看到在做linux发行版检查的时候,没得我们的ubuntu的系统,作为主流系统,居然没有被支持,我就不想说这个脚本了, 我都装好了,叫你运行你就运行,你还做个啥检查,于是我直接将代码中所有exit返回不是零的改为0。有人说我太暴力了,于是让你们解气的连锁错误来了:

WARNING: HOST <WG> DOES NOT APPEAR TO BE A CADENCE SUPPORTED LINUX CONFIGURATION.
         For More Info,  Please Run '/tools.lnx86/bin/checkSysConf' <productId>.

virtuoso:   ERROR: The OA2.2 library directory (/cadence/IC617/share/oa/lib/unknown_64/opt) does not seem to exist.
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.

说没有找到这个文件或者目录, 我跟着这个目录看了下:

$ ls /cadence/IC617/share/oa/lib
linux_rhel50_gcc48x_32  linux_rhel50_gcc48x_64 

因为我的系统是64为的,哪里要找unknown_64,
如果正常,实际上估计是要找linux_rhel50_gcc48x_64。
明显坑我呀, 没得Linux ubuntu版本的目录怎么玩, 哈哈,下面就是Linux神器的地方了, 所有Linux发行版本, 其实二进制上面都是一样的(也就是内核一样)。于是我直接:

$ ln -s  /cadence/IC617/share/oa/lib/linux_rhel50_gcc48x_64 unkown_64

恩恩,这个问题总算告一段落。看到了梦寐以求的运行界面:
填坑笔记-linux下安装cadence_第1张图片
唉,并没有开心的玩耍, 报的那个cds.lib警告阻碍了一切,昨天折腾了一下午,并没有找到切入点,只知道是哪里报错,但是不知道为啥报错。为啥会找不到cds.lib,哪里应该有一个cds.lib。

哈哈,我感觉以后我的博客就弄一个填坑笔记, 当然,有的坑填不平,欢迎大家留言交流。

你可能感兴趣的:(基础编程,工具使用)