在Ubuntu20.04上安装Synopsys SpyGlass

1.下载spyglass2016百度网盘安装包

链接:https://pan.baidu.com/s/1UVHzXyKWQVeW2PD80CWiWw

提取码: rhgm

内含部分安装教程。

2.进入安装包文件夹安装spyglass

cd SpyGlass2016
ls

3.执行安装过程

在当前终端输入命令

./SpyGlass-Install.sh

输入y,y,再之后输入自定义安装目录,此处输入SpyGlass如下图 

 安装完成显示如下图,同时在SpyGlass2016安装包中已新建SpyGlass文件夹。

 4.指定环境变量

 在当前在终端键入命令:

gedit ~/.bashrc

对.bashrc文件进行配置,在文档最后一行添加以下内容,其中SPYGLASS_HOME文件以上图中最后一行为准:

#SPYGLASS

export SPYGLASS_HOME=/home/magizy/SpyGlass2016/SpyGlass/SpyGlass-L2016.06/SPYGLASS_HOME

export PATH=$PATH:$SPYGLASS_HOME/bin

alias sg='spyglass'

5.破解软件 

将SpyGlass2016/SpyGlass_vL_201606_crack中的check.Linux4文件复制到spyglass安装目录中即SpyGlass2016/SpyGlass/SpyGlass-L2016.06/SPYGLASS_HOME/obj中,替换掉原有的check.Linux4文件。之后source一下上面.bashrc文件:

source ~/.bashrc

此时在终端输入sg,会出现下图的报错,原因为Spyglass 2016 只支持linux kernel version 3,而所用Ubuntu20.04的版本是linux kernel version 5,可以通过修改standard-environment.sh 和 perl 两个文件来解决问题。在终端输入以下命令可查看所用ubuntu内核版本

sudo lsb_release -a
sudo uname -r

 6.修改文件

①cd进入SpyGlass2016/SpyGlass/SpyGlass-L2016.06/SPYGLASS_HOME/lib/SpyGlass文件,使用gedit命令进入standard-environment.sh,对其进行修改。

cd SpyGlass2016/SpyGlass/SpyGlass-L2016.06/SPYGLASS_HOME/lib/SpyGlass

gedit standard-environment.sh

打开如下文档,找到如下图所示的位置,可以看见其中只定义的内核版本为2和3,在linux-3*下面添加 linux-4*的内容,加至所用ubuntu的内核版本。如文件只读。可以修改其权限为读写

所添加内容如下: 

Linux-4*)
            if [ X"$switch32bit" = "Xyes" ]; then
                echo "Linux2"
            elif  [ X"$switch64bit" = "Xyes" ]; then
                PROCNAME=`uname -p`
                if [ "X$PROCNAME" = "Xunknown" ]; then
                    PROCNAME=`uname -m`
                fi
                if [ X"$PROCNAME" = "Xx86_64" ]; then
                    echo "Linux4"
                else
                    echo "Linux2"
                fi
            else
                PROCNAME=`uname -p`
                if [ "X$PROCNAME" = "Xunknown" ]; then
                    PROCNAME=`uname -m`
                fi
                if [ X"$PROCNAME" = "Xx86_64" ]; then
                    if [ X"$defExeOn64Bit" = "X32" ]; then
                        echo "Linux2"
                    else
                        echo "Linux4"
                    fi
                else
                    echo "Linux2"
                fi
            fi
            ;;
Linux-5*)
            if [ X"$switch32bit" = "Xyes" ]; then
                echo "Linux2"
            elif  [ X"$switch64bit" = "Xyes" ]; then
                PROCNAME=`uname -p`
                if [ "X$PROCNAME" = "Xunknown" ]; then
                    PROCNAME=`uname -m`
                fi
                if [ X"$PROCNAME" = "Xx86_64" ]; then
                    echo "Linux4"
                else
                    echo "Linux2"
                fi
            else
                PROCNAME=`uname -p`
                if [ "X$PROCNAME" = "Xunknown" ]; then
                    PROCNAME=`uname -m`
                fi
                if [ X"$PROCNAME" = "Xx86_64" ]; then
                    if [ X"$defExeOn64Bit" = "X32" ]; then
                        echo "Linux2"
                    else
                        echo "Linux4"
                    fi
                else
                    echo "Linux2"
                fi
            fi
            ;;
Linux-6*)
            if [ X"$switch32bit" = "Xyes" ]; then
                echo "Linux2"
            elif  [ X"$switch64bit" = "Xyes" ]; then
                PROCNAME=`uname -p`
                if [ "X$PROCNAME" = "Xunknown" ]; then
                    PROCNAME=`uname -m`
                fi
                if [ X"$PROCNAME" = "Xx86_64" ]; then
                    echo "Linux4"
                else
                    echo "Linux2"
                fi
            else
                PROCNAME=`uname -p`
                if [ "X$PROCNAME" = "Xunknown" ]; then
                    PROCNAME=`uname -m`
                fi
                if [ X"$PROCNAME" = "Xx86_64" ]; then
                    if [ X"$defExeOn64Bit" = "X32" ]; then
                        echo "Linux2"
                    else
                        echo "Linux4"
                    fi
                else
                    echo "Linux2"
                fi
            fi
            ;;

修改之后如下,修改完成后关闭窗口。

②cd进入SpyGlass2016/SpyGlass/SpyGlass-L2016.06/perl/bin文件夹,使用gedit命令打开perl文件进行修改,如权限为只读,参考以上。

cd SpyGlass2016/SpyGlass/SpyGlass-L2016.06/perl/bin

gedit perl

找到如图所示位置进行修改

同样,在linux-3*下面添加 linux-4*的内容,加至所用ubuntu的内核版本。,添加内容如下:

Linux-4*)      ##now we have Linux-64 bit also
            PROCNAME=`uname -p`
            if [ "X$PROCNAME" = "Xunknown" ]; then
               PROCNAME=`uname -m`
            fi
            if [ X"$PROCNAME" = "Xx86_64" ]; then
                       species=Linux4
                    else
                       species=Linux2
                    fi
              ;;
Linux-5*)      ##now we have Linux-64 bit also
            PROCNAME=`uname -p`
            if [ "X$PROCNAME" = "Xunknown" ]; then
               PROCNAME=`uname -m`
            fi
            if [ X"$PROCNAME" = "Xx86_64" ]; then
                       species=Linux4
                    else
                       species=Linux2
                    fi
              ;;
Linux-6*)      ##now we have Linux-64 bit also
            PROCNAME=`uname -p`
            if [ "X$PROCNAME" = "Xunknown" ]; then
               PROCNAME=`uname -m`
            fi
            if [ X"$PROCNAME" = "Xx86_64" ]; then
                       species=Linux4
                    else
                       species=Linux2
                    fi
              ;;

修改完成如下图所示:

7.测试 

 在当前终端输入sg,会出现两个warning,但是可以成功打开spyglass。

WARNING : SpyGlass is only tested on Red Hat (Enterprise Linux release 5 and higher), 
          Suse (version 10.0 and higher) and Ubuntu (version 14.04 LTS) flavors for Linux.
          Detected OS kernel version'(5.15.0-86-generic)' seems to be meeting the requirements,
          but detected OS flavor
          'Linux version 5.15.0-86-generic (buildd@lcy02-amd64-062) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 ' is not a tested OS flavor. 
          SpyGlass run may have OS related issues specific to this distribution.
          Please contact Atrenta Support for any further queries in this regard.

Warning: QGtkStyle was unable to detect the current GTK+ theme.

其中出现lmstat:not found标红,在ubuntu中安装lsb即可

sudo apt-get install lsb-core

再次打开spyglass,标红错误消失。

出现第二个warning是因为无法查询到对应的GUI主题。

在终端输入命令,出现libQtGui.so.4 not found。

ldd '/home/magizy/SpyGlass2016/spyglass/SpyGlass-L2016.06/multi-qt/lib/Linux4/libQtGui.so.4'

发现其中缺乏libQtCore.so.4的库,查阅资料找到该库的安装包:Debian -- Package Download Selection -- libqtcore4_4.8.7+dfsg-18+deb10u2_amd64.deb

下载完成,输入命令后报错:

sudo dpkg -i libqtcore4_4.8.7+dfsg-18+deb10u2_amd64.deb

输入命令:

sudo apt-get update

sudo apt install libqtcore4 libqtgui4 libqt4-network libavahi-compat-libdnssd1

此时提示:您也许需要运行“apt --fix-broken install”来修正上面的错误。于是继续输入命令:

sudo apt --fix-broken install

此后再解压安装libqtcore4_4.8.7+dfsg-18+deb10u2_amd64.deb则不会出现报错:

sudo dpkg -i libqtcore4_4.8.7+dfsg-18+deb10u2_amd64.deb

安装完成后再次输入(此处路径自行修改)

ldd '/home/magizy/SpyGlass2016/spyglass/SpyGlass-L2016.06/multi-qt/lib/Linux4/libQtGui.so.4'

此时可以看见libQtGui.so.4不再出现not found字样。

再输入命令:

sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer、

qtconfig-qt4

在打开的如下图形界面中,点击选择GUI风格,将其改成除GTK+之外的选项,保存并退出。再次打开spyglass,发现Warning: QGtkStyle was unable to detect the current GTK+ theme.已不再出现。

目前依旧存在的warning暂时无法解决,并且不清楚会对spyglass的使用是否存在影响,暂且搁置。

8.参考 

 Synopsys IC设计以及其他开发工具需要的ubuntu简单配置

数字IC设计的第一步——Synopsys EDA Tools的安装

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值