问题现象
在使用 ModelSim 进行仿真时,点击 Simulate 按钮后,仿真器无任何反应,或者状态栏一直显示 Loading...,无法启动仿真进程。
根本原因
此问题通常与计算机的网络适配器(网卡)配置有关。ModelSim 的许可证管理服务(LMTools)在启动时需要绑定到一个有效的网络接口。如果当前激活的网卡与许可证文件(license.dat)中记录的 Host ID(通常是 MAC 地址)不匹配,或者网卡驱动异常,就会导致仿真进程无法正常启动。
解决方案
核心思路是确保 ModelSim 使用的网卡与生成许可证时使用的网卡一致。
方法一:切换回原来的网卡
如果你最近更换、禁用或更新了网卡驱动,可以尝试恢复原来的网卡设置。
- 重新启用旧网卡 :在 Windows 的"网络连接"设置中,找到之前能正常使用的网卡(如有线网卡、无线网卡),确保其处于启用状态。
- 禁用新网卡:临时禁用新增的或可能导致冲突的虚拟网卡(如 VMware Virtual Ethernet Adapter、Hyper-V Virtual Ethernet Adapter 等)。
- 设置旧网卡为默认:在"网络连接"中,调整网卡绑定的顺序,确保目标网卡的"跃点数"较低,或通过"高级设置"将其设为默认连接。
方法二:更新许可证文件中的 Host ID
如果必须使用新的网卡,则需要更新许可证文件。
- 获取新网卡的 MAC 地址 :
- 打开命令提示符(CMD),输入
ipconfig /all。 - 找到你希望 ModelSim 使用的物理网卡,记录其"物理地址"(格式如:00-1A-2B-3C-4D-5E)。
- 打开命令提示符(CMD),输入
- 修改 license.dat 文件 :
- 用文本编辑器(如记事本)打开 ModelSim 安装目录下的
license.dat文件。 - 找到以
SERVER开头的一行,将其后的 Host ID 修改为新的 MAC 地址(去掉横线,例如:001A2B3C4D5E)。 - 保存文件。
- 用文本编辑器(如记事本)打开 ModelSim 安装目录下的
- 重启许可证服务 :
- 打开 LMTools,切换到 Start/Stop/Reread 标签页。
- 点击 Stop Server ,然后点击 Start Server。
- 最后点击 Re-read License File。
方法三:强制指定网卡
在环境变量或 LMTools 中指定使用的网卡。
- 设置环境变量 (Windows):
- 新建系统环境变量
MGLS_LICENSE_FILE。 - 变量值设置为:
1717@你的计算机名(端口和计算机名根据你的 license.dat 设置)。 - 这可以绕过自动检测,直接指向本地服务。
- 新建系统环境变量
- 在 LMTools 中配置 :
- 打开 LMTools,进入 Config Services 标签页。
- 在 Service Name 下拉菜单中选择你的 ModelSim 服务。
- 确保 Path to the license file 指向正确的、已更新 Host ID 的 license.dat。
验证与后续步骤
- 完成上述任一操作后,重启 ModelSim。
- 在 ModelSim 命令行中输入
vsim -version,查看是否能正常显示版本信息。 - 尝试重新加载一个简单的测试工程,点击 Simulate,观察是否能正常启动仿真。
总结
ModelSim 仿真卡在 Loading 或无反应,多数情况下是网卡变动导致许可证验证失败 。最直接的解决方法是恢复使用许可证生成时对应的物理网卡。如果无法恢复,则需更新许可证文件中的 Host ID。保持网络接口的稳定是避免此类问题的关键。