感谢以下人员的互联网贡献精神:
佳乐
TonyStark8
我新颖的点
不但包含了所有需要操作的点,
同时最重要的!!!
我会告诉你每个点操作到什么程序才是正确的,
有哪些错误是可以忽略的
最后哪怕你不会操作,那么直接使用我做的虚拟机也是可以的
系统设置
我自己喜欢用的bashrc设置
#修改权限
modc() {
if [ -z "$1" ]; then
echo "❗ 请输入路径,比如 modc . 或 modc /path/to/dir"
return 1
fi
sudo chmod -R 777 "$1" && sudo ls -l "$1"
}
#查找文件
fd() {
if [ -z "$1" ]; then
echo "❗ 请输入要搜索的关键词,例如:fd lmgrd"
return 1
fi
find "$(pwd)" -type f -iname "*$1*" 2>/dev/null
}
#新建文件夹
new_f() {
if [ -z "$1" ]; then
echo "❗ 请输入文件夹名称,例如:new_f my_folder"
return 1
fi
sudo mkdir "$1"
sudo chmod 777 -R "$1"
echo "✅ 文件夹 '$1' 创建完成,并已设置权限为 777"
}
#复制路径
fp() {
local abs
echo "👉 输入参数:$1"
abs=$(realpath "$1")
echo "👉 解析路径:$abs"
if [ -z "$abs" ]; then
echo "❌ 错误:无法解析路径"
return 1
fi
if [ -n "$DISPLAY" ]; then
echo -n "$abs" | xclip -selection clipboard
echo "✅ Copied: $abs"
else
local b64
b64=$(echo -n "$abs" | base64 | tr -d '\n')
printf "\e]52;c;%s\a" "$b64"
echo "✅ Copied via OSC52: $abs"
fi
}
#快速查看当前的文件夹大小
space() {
if [[ "$1" =~ ^-[0-9]+$ ]]; then
depth="${1#-}"
du --max-depth="$depth" -h .
else
echo "❌ 用法错误:请使用格式 space -<数字>,例如 space -1"
fi
}
#快速复制
alias cpp='sudo rsync -a --progress'
国内软件下载源
注意!对应的是AlamaLinux8.10,其他系统版本的操作类似(问AI你想要的库叫什么名字,再问他国内有哪些镜像站)
大部分使用上海交大的软件源,速度非常可以
#删掉所有的镜像源
sudo rm -rf /etc/yum.repos.d/*
#编辑我们自己的镜像设置
sudo nano /etc/yum.repos.d/almalinux.repo
[baseos]
name=AlmaLinux 8.10 - BaseOS - SJTUG
baseurl=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/BaseOS/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/BaseOS/x86_64/os/RPM-GPG-KEY-AlmaLinux
[appstream]
name=AlmaLinux 8.10 - AppStream - SJTUG
baseurl=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/AppStream/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/AppStream/x86_64/os/RPM-GPG-KEY-AlmaLinux
[extras]
name=AlmaLinux 8.10 - Extras - SJTUG
baseurl=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/extras/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/extras/x86_64/os/RPM-GPG-KEY-AlmaLinux
[powertools]
name=AlmaLinux 8.10 - PowerTools - SJTUG
baseurl=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/PowerTools/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/PowerTools/x86_64/os/RPM-GPG-KEY-AlmaLinux
[highavailability]
name=AlmaLinux 8.10 - HighAvailability - SJTUG
baseurl=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/HighAvailability/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/HighAvailability/x86_64/os/RPM-GPG-KEY-AlmaLinux
[resilientstorage]
name=AlmaLinux 8.10 - ResilientStorage - SJTUG
baseurl=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/ResilientStorage/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/ResilientStorage/x86_64/os/RPM-GPG-KEY-AlmaLinux
[rt]
name=AlmaLinux 8.10 - RT (Real Time) - SJTUG
baseurl=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/RT/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/RT/x86_64/os/RPM-GPG-KEY-AlmaLinux
[plus]
name=AlmaLinux 8.10 - Plus - SJTUG
baseurl=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/plus/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/plus/x86_64/os/RPM-GPG-KEY-AlmaLinux
[devel]
name=AlmaLinux 8.10 - Devel - SJTUG
baseurl=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/devel/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.sjtug.sjtu.edu.cn/almalinux/8.10/devel/x86_64/os/RPM-GPG-KEY-AlmaLinux
[epel]
name=Extra Packages for Enterprise Linux 8 - Aliyun
baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-8
安装我们想要的软件
#使用当前的设置更新所有的源
sudo dnf clean all
sudo dnf makecache
sudo dnf update -y
#安装全套的构建编译软件
sudo dnf install make -y
sudo dnf groupinstall "Development Tools" -y
#一个可以看速度的解压软件
sudo dnf install pv -y
安装EDA
将安装数据传输到系统里
这里我使用的是Vmware共享文件夹
大家只要将我给出的安装包文件都放到这个路径即可:/home/test/synopsys_2024
#我自己用的传输脚本
new_f /home/test/VM_Share
sudo mount -t fuse.vmhgfs-fuse .host:/Synopsys2024 /home/test/VM_Share -o allow_other
new_f /home/test/synopsys_2024
pv /home/test/VM_Share/Synopsys2024.tar.gz | tar -xzvf - -C /home/test/
modc /home/test/Synopsys2024
补充依赖库
将所有需要的软件合并安装
安装脚本:
#!/bin/bash
echo "🔧 正在安装 Verdi 和图形安装器依赖..."
sudo dnf groupinstall "Development Tools" -y
sudo dnf install libXScrnSaver.x86_64 -y
sudo dnf install -y \
libXScrnSaver \
xcb-util \
xcb-util-wm \
xcb-util-image \
xcb-util-keysyms \
xcb-util-renderutil \
libXext \
libXrender \
libXtst \
libXi \
libXrandr
echo "✅ 所有依赖安装完成!"
开始安装SCL、Verdi、VCS
安装Synopsys的安装器
选路径的时候回车即可,在当前目录建立
cd Synopsys2024/Installer_5.8/
sudo ./SynopsysInstaller_v5.8.run
建立好我们的安装目录
安装的目标路径不能有东西
new_f /home/test/synopsys_2024
启动安装脚本:
/home/test/Synopsys2024/Installer_5.8/setup.sh
需要输入的源路径:
安装scl:
/home/test/Synopsys2024/scl_24.06/
安装vcs:
/home/test/Synopsys2024/vcs_all_vW-2024.09-SP1/
安装verdi:
/home/test/Synopsys2024/verdi_vW-2024.09-SP1/
检查是否安装完成
clear
clear
echo "✅scl的情况"
cat /home/test/installer.log | grep succes | grep scl
echo "✅vcs的情况"
cat /home/test/installer.log | grep succes | grep vcs
echo "✅verdi的情况"
cat /home/test/installer.log | grep succes | grep verdi
echo "❌错误情况"
cat /home/test/installer.log | grep error
环境变量设置
###Synopsys
#这个写自己的主机名字
export SNPSLMD_LICENSE_FILE=27000@localhost.localdomain
#vcs
export VCS_HOME=/home/test/synopsys_2024/vcs/W-2024.09-SP1
export PATH=$PATH:$VCS_HOME/bin
#verdi
export LD_LIBRARY_PATH=/home/test/synopsys_2024/verdi/W-2024.09-SP1/share/PLI/VCS/linux64
export VERDI_HOME=/home/test/synopsys_2024/verdi/W-2024.09-SP1
export PATH=$PATH:$VERDI_HOME/bin
#scl
export SCL_HOME=/home/test/synopsys_2024/scl/2024.06
export PATH=$PATH:$SCL_HOME/linux64/bin
export VCS_ARCH_OVERRIDE=linux
#LICENCE
export LM_LICENSE_FILE=/home/test/synopsys_2024/scl/2024.06/admin/license/Synopsys.dat
alias lmg="lmgrd -c /home/test/synopsys_2024/scl/2024.06/admin/license/Synopsys.dat"
Patch/Crack
目前crack工具有多种:
SynopsysMonoSlayer、pubkey_v1.6(里面包含了pubkey_verify、synopsys_checksum)
我们就全部用一遍,每个工具对所有软件的安装目录进行一遍Patch
将以下文件分别拷贝到程序的目录下
复制命令
clear
clear
cpp /home/test/Synopsys2024/Patch_tools/* /home/test/synopsys_2024/scl/2024.06/
ls -l /home/test/synopsys_2024/scl/2024.06/ | grep pubkey_verify
ls -l /home/test/synopsys_2024/scl/2024.06/ | grep synopsys_checksum
ls -l /home/test/synopsys_2024/scl/2024.06/ | grep SynopsysMonoSlayer
cpp /home/test/Synopsys2024/Patch_tools/* /home/test/synopsys_2024/verdi/W-2024.09-SP1/
ls -l /home/test/synopsys_2024/verdi/W-2024.09-SP1/ | grep pubkey_verify
ls -l /home/test/synopsys_2024/verdi/W-2024.09-SP1/ | grep synopsys_checksum
ls -l /home/test/synopsys_2024/verdi/W-2024.09-SP1/ | grep SynopsysMonoSlayer
cpp /home/test/Synopsys2024/Patch_tools/* /home/test/synopsys_2024/vcs/W-2024.09-SP1/
ls -l /home/test/synopsys_2024/vcs/W-2024.09-SP1/ | grep pubkey_verify
ls -l /home/test/synopsys_2024/vcs/W-2024.09-SP1/ | grep synopsys_checksum
ls -l /home/test/synopsys_2024/vcs/W-2024.09-SP1/ | grep SynopsysMonoSlayer
SCL部分的Patch
cd /home/test/synopsys_2024/scl/2024.06
./pubkey_verify -y
./synopsys_checksum -y
./SynopsysMonoSlayer -a
标准正确的Patch结果
VCS部分的Patch
cd /home/test/synopsys_2024/vcs/W-2024.09-SP1
./pubkey_verify -y
./synopsys_checksum -y
./SynopsysMonoSlayer -a
标准正确的Patch结果
Verdi部分的Patch
cd /home/test/synopsys_2024/verdi/W-2024.09-SP1/
./pubkey_verify -y
./synopsys_checksum -y
./SynopsysMonoSlayer -a
标准正确的Patch结果
Patch完成后,关机拍摄快照。
生成证书
背景知识:
1.2019版本之后,license的.dat文件需要额外补充一些信息
2.2018及之前的synopsys 只需要生成license.dat,不需要进行Crack
3.sssverify只能测试2018及之前版本的license.daty有效性
4.开启证书服务器的时候,最好断网(不断网的影响我正在测试中)
证书操作步骤:
1.使用scl_keygen.exe生成证书文件Synopsys.dat
绿色填mac地址(当前我使用的是
d8bbc1149a68)
黄色填
hostname
其他没必要进行修改
2.使用fix.bat对Synopsys.dat进行补充
我的建议是用cmd,然后进入到fix.bat所在的目录
然后输入下面命令即可,相信我,fix.bat修改得没问题
fix.bat Synopsys.dat
3.添加snpslmd的路径
修改证书第二行的内容(后面添加到路径就是SCL软件实际的snpslmd路径)
从
DAEMON snpslmd
修改为
DAEMON snpslmd /home/test/synopsys_2024/scl/2024.06/linux64/bin/snpslmd
4.将证书放到服务器上
我的环境里是这个路径:
/home/test/synopsys_2024/scl/2024.06/admin/license/
最终的证书路径
/home/test/synopsys_2024/scl/2024.06/admin/license/Synopsys.dat
5.关机,断网
6.开机,开启证书服务器
lmg
可能会出现的问题:
没有这个feature
这个问题我也没弄清楚是什么原因,但是有一点可以肯定,
只要Patch的时候三个软件回显的东西,跟我的截图一样,那么肯定是能过这个feature的
22:50:53 (snpslmd) Feature Formality-FuSa is not enabled yet
22:50:53 (snpslmd) Feature PrimeTime-C-Interface is not enabled yet
22:50:53 (snpslmd) Feature checker is not enabled yet
22:50:53 (snpslmd) Feature oemunlock is not enabled yet
22:50:53 (snpslmd) Feature BasePolicySO is not enabled yet
22:50:53 (snpslmd) Feature gui is not enabled yet
22:50:53 (snpslmd) Feature SYNOPSYS_ANOMALY is not enabled yet
22:50:53 (snpslmd) Feature PrimeTime-New-Technology10 is not enabled yet
22:50:53 (snpslmd) License server system started on localhost.localdomain
22:50:53 (snpslmd) No features to serve, exiting
22:50:53 (snpslmd) EXITING DUE TO SIGNAL 36 Exit reason 4
22:50:53 (lmgrd) snpslmd exited with status 36 (No features to serve)
22:50:53 (lmgrd) snpslmd daemon found no features. Please correct
22:50:53 (lmgrd) license file and re-start daemons.
22:50:53 (lmgrd)
22:50:53 (lmgrd) This may be due to the fact that you are using
22:50:53 (lmgrd) a different license file from the one you expect.
22:50:53 (lmgrd) Check to make sure that:
22:50:53 (lmgrd) /home/test/synopsys_2024/scl/2024.06/admin/license/Synopsys.dat
22:50:53 (lmgrd) is the license file you want to use.
22:50:53 (lmgrd)
证书无效
我也遇到过,但是只能重新生成证书(实际很可能不行)
所以建议从零开始,重新搭建一个虚拟机
成功的标志
Verdi测试
能正常打开软件,等圈圈转完后,能正常点击界面就成功了
虚拟机的网络设置为,仅主机,就连接主机,跟外网断绝联系。这样是可以正常打开verdi的,就是要等一会而已。
VCS测试
进入下面这个目录,输入make
/home/test/synopsys_2024/vcs/W-2024.09-SP1/doc/examples/FGP/Multi_Socket_Mode
能正常跑完编译就是ok
如果失败了?
来吧,少年,Remake命令也准备好给你了
sudo rm -rf /home/test/synopsys_2024/
sudo rm -rf /home/test/installer.log
一些踩过的坑
安装包数据放在Windows上,Installer程序解压的时候没弄好,将Part解压错误,安装程序一直用错误的安装文件。
获取相应资源
关注我的公众号破风AZ
回复:Synopsys 获取相应资源
技术解答
关注我的公众号破风AZ
回复:技术解答