为了学习IC设计,我要用到synopsys,这套软件需要在linux环境下运行,因此我用一台电脑单独装了ubuntu22.04系统。而ubuntu的配置加上Synopsys安装过程十分曲折,因此在此简单记录一下,以便有人遇到类似问题可以借鉴解决方法。
搜狗输入法
原系统的输入法不好用,打字还得是搜狗。
参看这里https://pinyin.sogou.com/linux/help.php
安装百度网盘
安装百度网盘http://w7.dnxtc.net/zixun/linux/2023-01-18/11558.html
vim安装及简易教程
编辑系统环境变量等需要用到vim。
参看这里https://blog.csdn.net/u014361280/article/details/128097938
vim使用教程
下载安装wine
安装了wine之后,可以直接在ubuntu系统上运行.exe文件,而不需要去windows系统上了。比如后面生成license要用的keygen.exe文件可以直接在ubuntu上运行。
wine安装https://blog.csdn.net/plokm789456/article/details/130210571
wine使用https://blog.csdn.net/ymz641/article/details/129110605
安装synopsys
主要参考教程https://blog.csdn.net/qq_59529218/article/details/130762709
除此之外,还需要安装其他的Synopsys eda工具,例如icc:
Ubuntu20.04下安装IC Compiler II 2019_icc2安装教程_雪天鱼的博客-CSDN博客文章浏览阅读4.3k次,点赞3次,收藏19次。转载请注明出处!作者:雪天鱼笔记同步发布在我的文章目录一、软硬件版本二、安装 Synopsys IC Compiler II三、安装SCL2018一、软硬件版本系统:Ubuntu 20.04 64位Synopsys官方安装工具SynopsysInstaller_v5.0.runICC II安装包:icc2_vP-2019.03-SP1_common.spficc2_vP-2019.03-SP1_linux64.spfSCL安装包:scl_v2018.06_common.spf_icc2安装教程https://blog.csdn.net/qq_44447544/article/details/122537301?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-122537301-blog-128768936.235%5Ev38%5Epc_relevant_sort_base2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-122537301-blog-128768936.235%5Ev38%5Epc_relevant_sort_base2&utm_relevant_index=1安装IC Complier 2(安装synposys的其他工具也可以来看看,因为殊途同归)_icc2安装_hjt66666的博客-CSDN博客文章浏览阅读1.2k次。安装ICC2_icc2安装https://blog.csdn.net/hjt66666/article/details/128768936
icc等eda资源附上:
安装过程中还遇到了许多问题,主要问题列举如下:
1.SynopsysInstaller_v3.2.run文件运行不了,错误信息如下:
sudo: ./SynopsysInstaller_v3.2.run:找不到命令
解决方法:先运行chmod +x SynopsysInstaller_v3.2.run,再运行./SynopsysInstaller_v3.2.run
chmod +x SynopsysInstaller_v3.2.run
./SynopsysInstaller_v3.2.run
在安装primetime的时候,出现以下界面:(未解决)
2.按教程生成license时,用sssverify Synopsys.dat命令总提示license无效,我的电脑只有无线网卡,并没有无线网卡,而license是利用flexlm hostid进行认证的,lmhostid默认读取有线连接网卡,因此不能用无线网卡的mac地址。
解决方法: 网购type-c转接有线网卡,再用lmhostid命令读取外接网卡的mac地址,用该mac地址作为生成license的host id。
3.按照教程生成license文件的时候,命令行输入 sssverify Synopsys.dat 总是提示license invalid,错误信息如Valid SSS feature found. INVALID license file fingerprint. You have added 1 new features to this file.查阅资料发现解决方法如下:打开EFA LicGen 0.4b文件夹,再打开其中的packs文件夹,找到synopsys.src文件,打开将31-dec-2020关键词替换成31-dec-2030,保存后复制该文件到scl_keygen中,替换掉原来的文件,然后再按照原教程继续执行即可。
4.关于Synopsys的“design compiler is not enabled”问题 - 知乎,可以参看这里。
5.安装spyglass出现了类似如下错误信息:
spyglass: INTERNAL-ERROR, the VALUE OF `$SPYGLASS_HOME' (an internal variable) was not intuited correctly.
spyglass: The value guessed was: `SPYGLASS_HOME=/usr/synopsys/spyglass/SPYGLASS2017.12-SP2/SPYGLASS_HOME'
spyglass: INTERNAL-ERROR, the Perl 5 installation within `$SPYGLASS_HOME' could not be validated.
spyglass: A perl installation was expected at: `/usr/synopsys/spyglass/SPYGLASS2017.12-SP2/SPYGLASS_HOME/lib/multi-perl'
spyglass: either `$SPYGLASS_HOME' was guessed incorrectly or the installation is corrupted.
spyglass: NOTE, the caller's environment variable `$SPYGLASS_HOME' was ignored in this process.
查阅如下资料:(原创)Ubuntu18+ 解决SpyGlass使用报错的问题 路径设置问题、证书、报错等问题 - Linux - 我的FPGA
依旧没有解决,查询发现ubuntu22.04内核已经是6.x的版本,于是依葫芦画瓢,在原来基础上再添加
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
;;
standard-environment.sh
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
;;
perl
6.安装好spyglass后,终端输入sg, 显示如下错误信息:
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'(6.2.0-34-generic)' seems to be meeting the requirements,
but detected OS flavor
'Linux version 6.2.0-34-generic (buildd@bos03-amd64-059) (x86_64-linux-gnu-gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #34~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 7 13:12:03 UTC 2 ' 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.
FATAL : Missing executable `check.Linux4' at `/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/SPYGLASS_HOME/obj'
打开/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/SPYGLASS_HOME/obj目录,发现check.Linux4已经按照教程替换,于是双击check.Linux4文件,窗口弹出提示:没有可执行权限,是否添加权限并运行,点击是,然后发现问题解决。
7.再次运行sg,发现报以下错误:(我重装系统后再次安装synopsys,并未出现该问题)
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'(6.2.0-34-generic)' seems to be meeting the requirements,
but detected OS flavor
'Linux version 6.2.0-34-generic (buildd@bos03-amd64-059) (x86_64-linux-gnu-gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #34~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 7 13:12:03 UTC 2 ' 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.
/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/SPYGLASS_HOME/obj/check.Linux4: symbol lookup error: libQtGui.so.4: undefined symbol: FT_GlyphSlot_Embolden
注意到其中:
Warning: QGtkStyle was unable to detect the current GTK+ theme.
/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/SPYGLASS_HOME/obj/check.Linux4: symbol lookup error: libQtGui.so.4: undefined symbol: FT_GlyphSlot_Embolden
到网上查阅资料, 发现QT4的框架在20.04及以后版本的主存储库已经删除了,也就是已经不能通过正常的apt-get安装。但是我现在又必须使用此软件,那就只能解决软件在当前系统上的依赖问题。根结在于,老软件在新系统安装运行,缺失必要的依赖库,而依赖过时了,新系统不再支持安装,导致老软件运行不起。
参考:【linux】ubuntu20.04 运行软件 提示找不到过时的库 libQtCore.so.4、libQtGui.so.4、libpng12.so.0-CSDN博客 spyglass问题:check.Linux4: symbol lookup error: libQtGui.so.t: undefined symbol: FT_GlyphSlot_Embolen - EDA资源使用讨论 - EETOP 创芯网论坛 (原名:电子顶级开发网) -
然后终端输入以下指令:
ldd '/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/multi-qt/lib/Linux4/libQtGui.so.4'
运行结果如下:
linux-vdso.so.1 (0x00007ffc90964000)
libQtCore.so.4 => not found
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f970c42c000)
libgthread-2.0.so.0 => /lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f970c427000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f970b4c6000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f970c40b000)
libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f970b3fe000)
libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f970b39e000)
libSM.so.6 => /lib/x86_64-linux-gnu/libSM.so.6 (0x00007f970c3fe000)
libICE.so.6 => /lib/x86_64-linux-gnu/libICE.so.6 (0x00007f970c3e1000)
libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f970c3d4000)
libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f970b354000)
libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007f970c3bd000)
libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f970b214000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f970ae00000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f970b12d000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f970b10d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f970aa00000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f970b097000)
libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f970b05c000)
libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f970b04e000)
libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f970b041000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f970c3b2000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f970ade8000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f970adb7000)
libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f970ad8d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f970c44d000)
libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f970ad6a000)
libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007f970b032000)
libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f970b02c000)
libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f970ad60000)
发现其中缺乏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,然后再输入指令
ldd '/home/sungjoeng/Synopsys/spyglass2016/SpyGlass-L2016.06/multi-qt/lib/Linux4/libQtGui.so.4' 发现该库已经被安装成功。
而其中Warning: QGtkStyle was unable to detect the current GTK+ theme.
这是因为在 Linux 系统中运行 Qt 应用程序时缺少相关的 GTK+ 库导致的。可以尝试执行以下命令来安装相关的 GTK+ 库:
sudo apt-get install gtk2-engines-pixbuf
安装simics+solaris 9 sparc并运行memory complier
使用wine安装
其中memory compiler可以使用ftp协议进行传输,linux下ftp使用方法如下:
美化桌面环境
我安装的是KDE桌面环境。
kdehttps://blog.csdn.net/qq_46530073/article/details/130563526
安装quartus
我安装的是18.1Lite版本
quartus入门级使用方法:
安装星火应用商店
星火应用商店中有很多windows中的app,例如微信网易云wps等,直接下载完后就可以使用,非常方便。 参看这里https://blog.csdn.net/Steven_Start/article/details/124559913
安装matlab
matlab安装以及简单配置
系统备份与恢复
timeshift备份https://blog.51cto.com/u_13157605/6039282 关于以下问题
mkfs.ext4 /dev/sda1
mke2fs 1.46.5 (30-Dec-2021)
/dev/sda1 已经挂载; 将不会在此创建文件系统!
可以先将这个分区取消挂载后再重新格式化,输入:
umount /dev/sdb1
然后再进行以上步骤,这样就可以成功格式化了,然后再重新挂载分区即可。
Linux脚本学习
linux桌面启动器.desktop文件编写
创建并使用Linux桌面启动器(.Desktop文件) - firefox样例_51CTO博客_Linux启动桌面创建并使用Linux桌面启动器(.Desktop文件) - firefox样例,语法简介以Firefox为例,文件内容如下:[DesktopEntry]Name=firefoxName[zh_CN]=火狐浏览器Comment=火狐浏览器Exec=/home/jimmy/Soft/firefox/firefoxIcon=/home/jimmy/Soft/firefhttps://blog.51cto.com/u_11103019/3765616
Linux系统创建程序启动器(桌面快捷方式图标)_linux创建启动器_码力巨能编的博客-CSDN博客文章浏览阅读1.5k次。目标执行程序可以在任意目录,但是启动器必须在该目录下。在该目录下操作文件需要管理员权限,建议创建好启动器文件后再使用管理员权限拷贝到该目录。以.desktop后缀的文件。管理员权限拷贝文件。........._linux创建启动器https://blog.csdn.net/qq_30386941/article/details/126277438
安装keil5
参看这里https://blog.csdn.net/q544344318/article/details/129014030
安装vscode开发STM3
安装matlab
可以参考一下这篇文章:
Ubuntu 16.04 安装Matlab R2015b-CSDN博客
途中遇到一些问题,参考一下这篇文章:
Linux下安装MATLAB教程_archive is not a zip archive matlab-CSDN博客
其余参考文章:
ubuntu18.04安装Synopsys系列软件 | 易学教程
WIN10和Ubuntu双系统安装以及Synopsys工具环境的搭建_synopsys安装_小靴子是社牛的博客-CSDN博客
Synopsys EDA Tools安装和使用过程中出现的问题及解决方法 - 知乎
ubuntu18.04安装VCS+verdi错误集锦_error-[debug-prcwdbg] dve/verdi debug flag error d-CSDN博客
数字IC设计的第一步——Synopsys EDA Tools的安装_csdn 数字ic设计的第一步 wellcj-CSDN博客