questasim2024.1 wsl2 ubuntu22.04 安装
之前一直在 wsl2 上用 vcs 进行开发,但是最近想看一下覆盖率,发现破解有些问题,看不了😅。而且 vcs 老给我报错说系统不兼容,让我很是恼火。开源的 verilator 的验证逻辑又和传统的工具有一些区别,不能完全替代,就想着使用 questasim 来代替vcs。
参考资料
- 2024的版本资源(本人安装的是 2024.1)
- Crack 来源 安装Mentor QuestaSim 2021 Linux 在ubuntu 20 LTS - EDA资源使用讨论 - EETOP 创芯网论坛 (原名:电子顶级开发网) - Powered by Discuz!
- 其他的参考
破解过程
- 找到 Questasim 安装目录下的
linux_x86_64/salt_mgls_asynch文件。 - 将
salt_mgls_asynch单独移到一个文件夹内(为了安全可以新建一个) - 将
pubkey_verify工具也移动到该文件夹内,对该文件执行 patch 操作,命令为pubkey_verify -y <文件名>。 - 操作成功后,将修改过的文件复制回原目录,覆盖原始文件。
[!NOTE] 注意
仅仅只要改动一个文件,和 2021 不一样。不要所有的文件都变动!本人卡在了这里好久
添加路径
# 在~/.bashrc添加以下内容;
export PATH="/path/to/questasim/linux_x86_64":$PATH
export SALT_LICENSE_SERVER="/path/to/license.dat" # 许可证计划放置的位置
生成许可证时
-
生成脚本使用python2操作,先要下载一下 Python 2,命令为
sudo apt install python2。Ubuntu 22.04 暂时还有 python 2 的库,如果是更新版本已经移除了。需要重新编译,可以见附录。 -
这里需要注意,虚拟机的hostid与真实的MAC地址区别;QuestaSim实际使用的是MAC地址格式的hostid,而不是
hostid命令显示的值。可以使用 questasim 自带的工具查看一下地址。
lmhostid # 这是questasim自带的命令,需要设置好linux之后才可以使用
# 下面为输出例子,可能有多个,questasim说选择其中一个即可,具体我没有试,一次就成功了
lmhostid - Copyright (c) 1989-2019 Flexera. All Rights Reserved.
The FlexNet host ID of this machine is ""0012f2121212 0050565a6a9c""
Only use ONE from the list of hostids.
也可以使用
ifconfig获取 hostid,具体方法网上有,不再过多说明。
- 将许可证移动至对应位置。
附录
Python 2 编译安装过程
# 安装依赖
sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev \
libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \
wget curl libbz2-dev libsqlite3-dev tk-dev libc6-dev
# 检查现有 Python 3
python3 --version # 应显示 3.11.x 或 3.12.x
which python3 # 应显示 /usr/bin/python3
cd ~ # 找一个文件夹,放一下下载的库,不影响后续
sudo wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
sudo tar xzf Python-2.7.18.tgz
cd Python-2.7.18
# 安装到 /usr/local(与系统 /usr/bin 隔离)
sudo CFLAGS="-std=c11" ./configure \
--prefix=/usr/local \
--enable-optimizations \
--with-ensurepip=no # 稍后手动安装 pip,避免冲突
sudo make -j$(nproc)
sudo make altinstall # 生成 python2.7,不创建 python 链接
# 添加 python2 命令,也可以不添加,直接使用python2.7,这里为了和python3对应链接了一下
sudo ln -sf /usr/local/bin/python2.7 /usr/local/bin/python2
# 检查版本隔离
python2 --version # Python 2.7.18
python3 --version # Python 3.11.x(系统版本)
# 检查路径隔离
which python2 # /usr/local/bin/python2
which python3 # /usr/bin/python3
路径配置好后无法使用 lmhostid 报错为 command not found: lmutil
# 我这里经过检查是因为缺少解释器,补上就好
[Requesting program interpreter: /lib64/ld-lsb-x86-64.so.3]
# 链接到现有的,先查看一下
ls -l /lib64/ld-lsb-x86-64.so.3
ls -l /lib64/ld-linux-x86-64.so.2
# 链接
sudo mkdir -p /lib64
sudo ln -s /lib64/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
# 验证
ls -l /lib64/ld-lsb-x86-64.so.3

浙公网安备 33010602011771号