尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Ubuntu上安装QuestaSim 2021完整指南:依赖库、License与环境变量配置

Ubuntu上安装QuestaSim 2021完整指南:依赖库、License与环境变量配置 简介面向数字IC验证、仿真与后端设计工程师以及需要在Linux环境搭建EDA工具链的初学者这份PDF资料提供了一套从零完成QuestaSim 2021Linux版安装的实测方案。内容基于VMware Workstation 17 Pro Ubuntu 20.04.5 LTS环境详细梳理了创建安装目录、启动安装程序、选择产品组件、生成并配置license.dat、安装系统依赖库、运行补丁、修改.bashrc环境变量、通过vsim命令启动软件的全部环节文档内还包含安装包的百度网盘链接与解压密码并针对安装中常见的hostid读取、python2缺失、依赖库报错等典型问题给出了明确的解决方法。整个资源打包为1个约945KB的PDF文档内容紧凑、步骤编号清晰便于读者在安装过程中随时对照查阅。目前已累计6661人学习下载说明该教程经受住了实际使用检验适合作为数字IC入门或环境迁移时的参考手册。 很多同学第一次接触 QuestaSim 的场景几乎是同一个模板实验室的服务器是 Ubuntu老师直接甩过来一个 Linux 版的 QuestaSim 2021 安装包丢下一句“自己装一下”然后就忙自己的事去了。如果你是第一次在 Ubuntu 上碰 EDA 工具大概率会在依赖库、License 环境变量这些地方卡上大半天。这篇文章就按我实际踩坑的顺序把从解压安装包到跑通第一个仿真工程的完整过程写清楚每一步都解释为什么这么做遇到报错也好照着排查。先纠正一个细节标题里的“Ubantu”其实是 Ubuntu 的常见拼写笔误正文统一用 Ubuntu。另外提醒一句QuestaSim 在 Linux 下的安装逻辑和 Windows 差别很大不是双击 next 就完事关键在环境变量和 License 配置上。这篇文章适合要在本地 Ubuntu 或服务器上装 QuestaSim 2021 的验证工程师、FPGA 开发者以及正在做数字 IC 相关课程设计的同学参考照着操作基本能一次跑通。1. 装 QuestaSim 2021 之前先把这几件事想清楚1.1 确认你手里安装包的形态QuestaSim 2021 的 Linux 版安装包通常有两种呈现形式一种是打包好的.tar.gz压缩包里面直接是安装器和完整的产品目录另一种是分卷压缩的.tar.gz分包需要全部下载后合并解压。绝大多数情况下你拿到的会是一个类似questa_sim-2021.3_2.tar.gz的文件大小在 1GB 到 3GB 之间。解压后你会看到install.linux64这样的安装脚本以及questasim主目录。这里有两种安装思路一是直接运行安装脚本装到系统目录二是把解压后的 questasim 目录当作绿色版直接配置环境变量就能用。我个人的建议是仍然走一遍安装脚本因为安装器会顺带帮你处理一部分路径映射减少后续手动配置时出现的低级错误。还要注意2021 版对 Ubuntu 18.04 和 20.04 的支持比较成熟如果你用的是 Ubuntu 22.04 或更新版本依赖库缺失的概率会明显增大这个在第 2 节会重点展开。1.2 先搞清楚 License 从哪里来QuestaSim 属于 Siemens EDA原 Mentor Graphics工具链它的许可证机制用的是 FlexNet / FlexLM。启动 vsim 时工具会去读取一个环境变量指定的 license 文件或者 license 服务器地址取不到合法授权就会直接退出。License 常见有两种形态一种是单机节点锁定node-locked的.dat文件文件内会绑定网卡 MAC 地址另一种是局域网 license 服务器模式环境变量里需要填27000server_hostname这样的服务器地址。很多人在虚拟机里装 QuestaSim 后 License 突然失效就是因为在 VMware 或 VirtualBox 里把网卡 MAC 地址改过导致 node-locked license 对不上号。在开始安装之前第一件事就是向导师、同事或原厂确认你手里 license 的类型拿到对应的.dat文件或者服务器地址。没有可用 license后面装得再顺利也是白搭。1.3 评估系统版本和磁盘空间QuestaSim 2021 官方支持版本主要覆盖 Ubuntu 16.04、18.04 和 20.04在更新版本上可以通过补装依赖库强行跑起来但遇到的坑更多。安装前先检查一下系统信息cat /etc/os-release df -h /home free -h安装本身占用约 2GB 到 4GB但仿真过程可能产生大量编译缓存和工作文件建议预留 15GB 以上磁盘空间内存方面 8GB 起低于 4GB 跑稍微大一点的仿真会非常吃力。如果你是在虚拟机里安装 Ubuntu我给一个明确建议磁盘至少 40GB内存至少 8GB开启 3D 加速并且在安装 QuestaSim 之前先拍一个快照。这样就算后续配置搞乱了也能一键回滚重来。2. 系统环境准备先把 Ubuntu 收拾到能装 EDA 的状态2.1 root 权限与普通用户的选择Linux 下安装 EDA 工具有个普遍的一个坑很多人习惯先sudo su -切到 root 再操作觉得 root 权限大、省事。Quest 上装好、后面跑仿真的时候用普通用户启动两者用的 Home 路径不同就容易出现配置生效但工具读不到的诡异情况。推荐的做法是安装时用 sudo 提权安装完把安装目录的所有权改给普通用户日常启动全部用普通用户操作。具体命令后面会给出。这不仅是权限规范问题也避免后续因为写权限不足导致工具无法生成编译库。2.2 依赖库补齐90% 的安装失败都卡在这里QuestaSim 2021 的 Linux 版依赖一批 64 位和 32 位的共享库Ubuntu 18.04 之后很多默认不再预装。最常见的报错长这样vsim: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory原因很简单Ubuntu 18.04 起系统默认的 libpng 是 16 版本而 QuestaSim 的某些组件编译时依赖的是 libpng12 这个老版本。解决办法有两条路我个人更推荐第一条sudo apt update sudo apt install libxft2 libxrender1 libfontconfig1 libfreetype6 libxi6 libxtst6 libxext6 libpng-dev装完这些后再试。如果还提示libpng12.so.0缺失你可以从老版本 Ubuntu 仓库下载libpng12-0的 deb 包手动安装然后在/usr/lib/x86_64-linux-gnu/下做软链接指过去。注意不要直接把 libpng16 软链成 libpng12两者 API 不兼容硬链会让工具在仿真中途崩溃。另外QuestaSim 内部还有一小部分 32 位辅助工具。为了稳妥起见建议先把 32 位架构支持加上sudo dpkg --add-architecture i386 sudo apt update sudo apt install libc6:i386 libncurses5:i386 libstdc6:i386这一步不是必须的但加了能避免很多莫名其妙的动态库报错。整体来看依赖库是 QuestaSim 2021 安装翻车率最高的一环花二十分钟补齐下面要用的这些包比逐个报错再搜索高效得多。2.3 处理自动更新和网络环境装 EDA 工具最怕的就是系统自动更新把依赖库突然升级某天早上来发现 vsim 再也启动不了。所以建议在系统设置里把自动更新关掉或者用命令方式禁用sudo apt-mark hold libpng12-0 sudo sed -i s/^Prompt.*/Promptnever/ /etc/update-manager/release-upgrades另外 FlexNet License 客户端对主机名解析非常敏感。你需要确保/etc/hosts文件里本机 hostname 能解析到本机 IP不能只留空白127.0.0.1 localhost 127.0.1.1 your-hostname如果你的服务器 hostname 里带下划线或其他特殊字符建议先改成纯英文小写字母和数字组合否则 License 客户端可能在解析阶段就直接报错这个坑排查起来极其隐蔽。3. 安装实操从解压到环境变量一条龙3.1 解压安装介质并规划安装目录把安装包上传到 Ubuntu 后先规划安装路径。我的习惯是统一放在/opt/mentor/下因为/opt是 Linux 约定俗成放第三方大型软件的目录团队协作时大家也容易找到。sudo mkdir -p /opt/mentor cd /opt/mentor sudo tar -xzf ~/downloads/questa_sim-2021.3_2.tar.gz解压完成后你会看到install.linux64文件和questasim目录。这里有个细节安装路径不要带中文字符不要带空格整个团队最好统一路径规范。有的同学喜欢把工具装到自己家目录下~/eda/questa这在单机自用场景完全没问题但如果是多人共用的服务器放/opt/mentor下并设置好用户组权限管理起来会舒服很多。3.2 运行 installer 完成安装在/opt/mentor目录下直接运行安装脚本sudo ./install.linux64这个脚本会弹出图形化安装界面安装器基于 Java如果界面加载慢或卡住一般是缺少 X11 相关字体库回到第 2.2 节补包。安装器会依次询问安装路径默认就是当前目录直接确认是否安装 QuestaSim 组件全选License 类型如果是 node-locked 就选“license file”如果是服务器选“license server”并填入地址整个安装过程大概 10 到 20 分钟取决于磁盘速度。装完后把安装目录权限下放给普通用户sudo chown -R $USER:$USER /opt/mentor注意这里用你平时工作的普通用户去 chown不要用 root 继续操作。后续启动 vsim 都用普通用户省去一堆权限导致的写库失败。3.3 环境变量配置这决定了你能不能启动 vsim安装完成后最关键的一步是配置环境变量。QuestaSim 官方文档里很多配置示例是用 C Shell 语法写的.cshrc但 Ubuntu 默认是 Bash两者语法不兼容。这里给一套 Bash 直接能用的配置写到/home/你的用户名/.bashrc末尾export QUESTA_HOME/opt/mentor/questasim export PATH$QUESTA_HOME/bin:$PATH export MGLS_LICENSE_FILE/opt/mentor/license.dat export LM_LICENSE_FILE$MGLS_LICENSE_FILE如果你用的是 license 服务器模式MGLS_LICENSE_FILE要写成export MGLS_LICENSE_FILE27000license-server-hostname保存后执行source ~/.bashrc然后验证路径是否生效which vsim vsim -version这里解释一个很多人困惑的点为什么用的是MGLS_LICENSE_FILE而不是LM_LICENSE_FILEQuestaSim 的 license 客户端是 Mentor 自研组件它优先读取MGLS_LICENSE_FILE设成LM_LICENSE_FILE是为了兼容部分第三方工具链对 FlexLM 的调用。两个都设上是最稳妥的不影响任何功能。4. 验收跑一个最小 Verilog 工程验证安装成功4.1 图形界面启动检查环境变量配好后先在命令行直接键入vsim观察图形界面能否正常弹出。如果你的 Ubuntu 是虚拟机弹出窗口可能需要十几秒这是正常现象。如果闪退或者黑屏大概率是图形环境问题可以先检查常见缺失库ldd $QUESTA_HOME/bin/vsim | grep not found这个命令会把 vsim 依赖但系统缺失的共享库全部列出来哪缺补哪。图形界面能打开后在 Transcript 窗口里看看有没有 License 相关的红色报错。如果一切正常会打印出 QuestaSim 2021.3 的版本标识并进入命令行交互状态。4.2 命令行验证编译一个最小仿真图形界面打开不代表验证流程能跑通强烈建议再走一遍命令行编译仿真流程。新建一个工作目录写一个最简单的模块// hello.v module top; initial begin $display(QuestaSim 2021 install OK); #10; $finish; end endmodule然后在终端里执行mkdir work vlib work vlog hello.v vsim -c top -do run -all; quit如果能看到QuestaSim 2021 install OK这行输出说明编译、仿真、License 全链路都正常。vlib work会创建当前目录的 work 库这是 QuestaSim 的工程管理机制每个仿真工程都要先建库再编译。4.3 License 状态的快速确认有时候仿真跑到一半报 License 问题这时候不看详细日志根本不知道原因。可以单独检查 License 是否可用vsim -c -do quit 21 | grep -i license或者直接看启动时是否出现Unable to checkout字样。Quest 的 License 校验是在启动时完成的只要 vsim 能进入交互界面基本说明 License 服务是通的。如果你用的是 node-locked license还可以检查.dat文件首行的 HOSTID 是否和你网卡 MAC 一致cat /sys/class/net/eth0/address cat /sys/class/net/enp0s3/address对比 license 文件里HOSTIDxxx字段不一致的话只能找管理员申请重新生成。5. 实际踩坑记录与排查速查表5.1 共享库报错最典型的一类QuestaSim 安装和启动过程中error while loading shared libraries是出现频率最高的报错。我把最常见的几个缺库场景和对应解法整理成一张速查表报错关键字缺失库安装命令libpng12.so.0libpng12老版本 deb 包手动安装 软链接libXft.so.2libxftsudo apt install libxft2libXrender.so.1libxrendersudo apt install libxrender1libstdc.so.5libstdc5sudo apt install libstdc5 或从老仓库获取libXt.so.6libxtsudo apt install libxt6GLIBC_2.34 not found系统 libc 过老升级系统到 Ubuntu 20.04排查技巧是先跑ldd $QUESTA_HOME/bin/vsim一次性把所有缺失库列出来再批量安装满足依赖的 deb 包。不要单个报错单个搜效率极低。5.2 License 相关报错与网络诊断License 报错有三类常见形态第一类Cannot checkout feature。多数情况是节点锁定 license 的 HOSTID 与当前网卡 MAC 不匹配按 4.3 节的方法对比即可。第二类Server host not found说明环境变量里填的服务器主机名解析不了先 ping 一下服务器 IP再检查/etc/hosts和 DNS 配置。第三类Connect to server failedLicense 服务器端口不通用常规网络命令检查即可注意确认服务器端防火墙是否放行了 27000 端口。还有一个很容易被忽略的坑如果你改了 hostname旧的 license 服务缓存可能还在运行重启系统能解决很多莫名奇妙的 License 连接问题。5.3 图形界面闪退与卡顿QuestaSim 的 GUI 弹出黑屏、闪退、花屏在虚拟机上出现概率比物理机高一截。这时候先别怀疑软件本身检查一下虚拟机设置显示内存给到 128MB 以上勾选 3D 加速。如果远程用 X11 转发启动 GUI直接放弃吧X11 转发跑 EDA 工具体验极差网络稍不稳定就黑屏。远程场景建议用vsim -c纯命令行模式配合-do脚本批量跑仿真这也是服务器上验证的日常姿势。5.4 路径、权限与 hostname 的隐蔽坑最后说几个容易忽略的小问题。安装路径里有中文或空格会导致脚本运行直接失败普通用户没有安装目录写权限时vlib work会报Error: cannot open worklib所以安装完务必 chownhostname 带下划线、大写字母可能让 License 识别异常建议改成ub-eda-server这种纯短横线英文形式。再分享一个我自己的习惯在.bashrc里把常用的 QuestaSim 相关命令做成 alias比如高级调试常用alias qsvsim -c -do run.do配合写好的run.do文件编译仿真一条命令就能完成效率比每次手动敲命令高得多。这个习惯在跑回归测试时尤其有用。Quest 用久了你会发现真正省时间的不是 GUI 操作而是把这些命令行流程脚本化、流程化。本文还有配套的精品资源点击获取
返回列表