Tuesday, November 11, 2008

c@dence610安装指南

c@dence_i_c610和mm$im61,昨天花了三个小时把它安装在我的archlinux上了,并且调通可以运行仿真了,根据网上的i_c610安装手册安装并做了必要的修改,做了个笔记省得以后忘了,顺便也在论坛上发一下。(replace i_c610 with ic610 and c@dence with cadence and mm_sim with mmsim in the following content)

系统的考虑,按照道理来说应该是所有的linux系统都能安装运行i_c610的,只不过因为各个linux组件实现不完全统一,所以在安装i_c610的时候会出现各种问题,但是只要你有相关linux系统的知识,对于linux一些基本设计理念比较熟悉的话,应该都是可以通过调整系统来安装运行i_c610的。安装i_c610的过程实际上就是一个根据c@dence给出的错误信息进行debug的过程,你把所有的bug都解决了,软件也就自然能运行了。

现在已知可以运行i_c610的系统rehl,centos,suse,ubuntu还有archlinux(我作证,呵呵)。推荐使用的系统是rehl或是centos,这两个应该是兼容性最好的,当然下面的安装过程还是以archlinux为例来讲解的。

1 确认所用linux系统的tar版本在1.14以下,否则不能正常解压安装包。
----这一步基本废话,因为现在找的包应该是重新用高版本的tar打包过的,所以直接进行下面的就行了。

2 下载安装包,包括:Base_i_c610_lnx86_1of5.tar- Base_i_c610_lnx86_5of5.tar 五个tar包,Base_mm_sim61_lnx86_1of2.tar和Base_mm_sim61_lnx86_2of2.tar两个tar包,全部解压缩,将得到的i_c610 cd1-cd5放在一个文件夹内,如/install/i_c610,将mm_sim的cd1和cd2放在另一个文件夹内,如/install/mm_sim。
----注意当然还要有i_c610的license了。

3 查看系统剩余空间,应大于6GB。
----安装前的软件准备:
c@dence的installscape是需要调用java runtime的,所以确认你的系统已经安装了java。注意下面所以的命令都是针对archlinux的版本,其它版本请自己调整。
sudo pacman -S jre
安装了gnome,qt什么情况我不知道。
不要打开3d特效,compiz之类的东西。
c@dence用到的脚本解释器众多,所以把该装上的解释器都装上吧。
sudo pacman -S tcsh
这个把tcsh和csh都安装了,同时路径都指到了/bin,所以不用再调整。
sudo pacman -S pdksh
ksh的开放版本,路径在/usr/bin,所以需要做个软链接,sudo ln -s /usr/bin/ksh/ /bin/ksh。
要找到相应命令的启动路径,可以用which xxx来查询,比如which csh,当你不确定某个程序是否已经安装时,先用这个命令来查询,有的时候只需要做一个软链接就可以了。
不记得下面哪一步会用到tr命令,不过这次需要的tr启动路径是/usr/bin/tr,用which tr定位到tr是安装在/bin的,所以仍然sudo ln -s /bin/tr /usr/bin/tr。
c@dence默认的查阅文档的浏览器是netscape,现在的系统早没有了,还是要做一个链接。比如archlinux上的自带浏览器是epiphany,sudo ln -s /usr/bin/epiphany /usr/bin/netscape。
其它可以还有什么组件需要安装我记不请了,不过只要根据它的提示信息,按上面的方法的解决,就能搞定了。^-^

4 安装i_c610

切换到超级用户,保证对所有目录的读写权限。archlinux下的命令是su root。

cd /

mkdir c@dence

cd c@dence

mkdir i_c610

mkdir installscape

mkdir mm_sim

chmod 777 -R /c@dence,保证其它普通帐户可以访问这个文件夹。

cd /install/i_c610/cd1

./SETUP.SH

系统询问是否需要安装installscape,回答是(y),.输入要将installscape安装到哪个目录:/c@dence/installscape,安装完成后,弹出一个图形化的安装向导。

选择你的安装文件的存放位置,即/install/i_c610/cd1

继续

询问是否有自动安装控制文件,应选择第一项,手动选择。

询问你要将i_c610安装到哪个目录,选择:/c@dence/i_c610

全选需要安装的软件包,点最上面那个方框就可以。

开始安装,需要75min左右(我的大概30多分钟)。

安装完成后,在安装目录下新建一个名为OA的目录:

cd /c@dence/i_c610

mkdir OA

cd /c@dence/installscape/iscape/bin

./iscape.sh

在弹出的图形界面中点击config,仍然勾选所有已安装的组件,在出现要你配置OpenAccess(版本是2.2)之前,全部默认或选(n),ctrl+c可以关闭窗口,不用等它读秒,根据提示来就行了。直至配置OpenAccess,根据提示输入OpenAccess安装到哪个目录:/c@dence/i_c610/OA,看一下OA下是否已经有文件了,以确认OA是否安装成功。

5 安装mm_sim

cd /c@dence/installscape/iscape/bin

./iscape.sh

选择install from archive,找到mm_sim的cd1所在目录,安装方法与i_c610雷同。完成后,终端输入:

cd /c@dence/mm_sim/

ln -s tools.lnx86 tools

为配置环境变量需要而建立连接。

6 修改license

gedit license.dat

修改为:

SERVER (主机名) ANY 5280

USE_SERVER

DAEMON cdslmd $CDS_ROOT/tools/bin/cdslmd

主机名终端输入uname -a即可得到。

cp license.dat /c@dence/i_c610/share/license/

7 配置快捷键,将/c@dence/i_c610/tools/dfII/samples目录下的local文件夹拷贝至/c@dence/i_c610/tools/dfII目录,并把local目录里的cdsinit文件名修改为.cdsinit

8 配置环境变量

先转换到该用户的家目录,cd ~

gedit .bashrc

在.bashrc加入如下语句:

export OA_HOME=/c@dence/i_c610/OA

export CDS_ROOT=/c@dence/i_c610

export mm_sim_ROOT=/c@dence/mm_sim

export CDS_LIC_FILE=5280@(主机名)

export LM_LICENSE_FILE=$CDS_ROOT/share/license/license.dat

export CDS_Netlisting_Mode=Analog

export PATH=$mm_sim_ROOT/tools/bin:$mm_sim_ROOT/tools/spectre/bin:$CDS_ROOT/tools/bin:$CDS_ROOT/tools/dfII/bin:$PATH

export MOZILLA_HOME=/usr/bin/netscape

alias lmstart='/c@dence/i_c610/tools/bin/lmgrd -c /c@dence/i_c610/share/license/license.dat'
这一句的意思是用lmstart代替后面一长串的命令,这样以后启动license的时候就只要输入lmstart即可,并且这个办法可以避免i_c610的启动程序lmgrd与mm_sim61的启动程序lmgrd冲突。
保存后退出。

终端输入source .bashrc使其生效。

9 启动c@dence i_c610

打开终端,输入:lmstart

打开另一个终端输入:icfb

发现出现一堆错误,启动不了,别灰心,你已经走到最后一公里了,千万别放弃。

查看给出的错误信息,有一条是cannot load libelf.so.1,在/usr/lib下搜索,找的libelf.so libelf.so.0 and libelf-0.8.10.so,做一个链接吧,sudo /usr/lib/libelf-0.8.10.so /usr/lib/libelf.so.1。

另外还会有Bad window之类的提示,是X的问题,尝试:

gedit /etc/X11/xorg.conf

在文件末尾加入:
Section "Extensions"
Option "Composite" "Disable"
EndSection

重启X即可。ctrl+alt+backspace,之前有什么先保存一下啊,系统不会跟你确认的。

在启动icfb&,应该软件界面出现了,虽然还会有/usr/lib/libelf.so.1: no version information available这样的警告,但是这只是因为/usr/lib/libelf.so.1版本问题造成的,影响应该不大。

'Libelf' lets you read, modify or create ELF files in an architecture-independent way. The library takes care of size and endian issues, e.g. you can process a file for SPARC processors on an Intel-based system.

This library is a clean-room rewrite of the System V Release 4 library and is supposed to be source code compatible with it. It was meant primarily for porting SVR4 applications to other operating systems but can also be used as the basis for new applications (and as a light-weight alternative to libbfd).

(点击help可以看帮组文档,如果在终端直接输入cdsdoc,那么打开的是mm_sim61的帮组文档,因为在PATH变量中,mm_sim的路径是在前面的,而mm_sim61的帮组文档是在$mm_sim_ROOT/tools/bin目录下的,所以是启动了mm_sim61的文档,解决办法是在.bashrc中加入这一句:alias openbook='$CDS_ROOT/tools/dfII/bin/cdsdoc',应该是在这个位置,当然,如果你不打算看c@dence的自带帮组文档,这一步就没必要了)

现在启动cdsdoc还是启动不了,会有一些库load不进来,等后续解决

附找到的在rehl下安装i_c610的一些错误信息处理,如果还有别的问题,可以先在这里面找找。如果你其它的启动问题,可以在这补充,做成一个比较全的FAQ

export LM_LICENSE_FILE= (put here where your license server or file is located)
export CDS_LIC_FILE = (put here where your license server or file is located)
export LD_LIBRARY_PATH = (library paths of ic and ldv ic/tools/lib, ldv/tools/lib, spr/tools/lib, soc/tools/lib)
export OA_HOME = (OA installed directory)
export CDS_SITE = (location of NCSU design kit installation directory - …/NCSU/local)
export CDS_Netlisting_Mode=Analog
export USE_NCSU_CDK
export CDS = (NCSU design kit directory …/NCSU/local/cdssetup)
export PATH=$PATHall c@dence tool directories that are required are listed below)

* …/ic/tools/bin
* …/ic/tools/dfII/bin
* …/ic/tools/concice/bin
* …/ic/tools/dracula/bin
* …/ic/tools/plot/bin
* …/ldv/tools/bin
* …/spr/tools/bin
* …/soc/tools/bin
* …/icc/tools/iccraft/bin


The problems I’ve met when I tried to run icfb:
1.
Code:
Qt Warning: X Error: BadWindow (invalid Window parameter) 3
Major opcode: 2 (X_ChangeWindowAttributes)
Resource id: 0×2e00011

and
Code:
Display :0.0 Error “BadWindow (invalid Window parameter)”
\e request 18 error 3 serial 1392
It will not be appeared when using ssh connection from windows client, so it seems to be the linux display problems. You could simply solve this promblem by adding following scripts in the /etc/X11/Xorg.conf file:
Code:
Section “Extensions”
Option “Composite” “Disable”
EndSection
2.
Quote:
/usr/local/c@dence/i_c610/tools/dfII/bin/icfb: 97: cds_plat: not found
/usr/local/c@dence/i_c610/share/oa/bin/sysname: 328: /bin/awk: not found
/usr/local/c@dence/i_c610/tools/dfII/bin/32bit/icfb.exe: error while loading shared libraries: libelf.so.1: cannot open shared object file: No such file or directory

Ignored the first problem first.
The sencond problem could be solved easily: make a awk link in /bin using this command
Quote:
sudo ln -s /usr/bin/awk /bin/awk
apt-cache search libelf and apt-get install libelf**
If the error still existed, make a link libelf.so.1, first find available libelf useing
Quote:
ls -l libelf*
some file name will show up, then make a link to it using
Quote:
ln -s /use/lib/ /usr/lib/libelf.so.1
In AMD64 system require liblbss.so* rather than libelf.so.1. Haven’t solved this problem yet.
Then the icfb could be started up now, but the first problem will still exist. I dont know how to solve but just adding a comment at the begin of the sentence where calling for cds_plat.
3. The other problem met: cant open online help document.
export MOZILLA_HOME=/usr/bin/netscape , but it seems not working on my machine.

1 comment:

不安的地瓜 said...

你好,请问你的cadence 和mmsim在哪下的,我找了好久都没找到,谢谢