linux matlab r2025a以及questasim 2024.1资源以及安装

matlab R2025a linux: 石头干货箱

questasim 2024.1 linux (questasim + visualizer) 下载:
链接: https://pan.baidu.com/s/1KQBf6h0oBy1GMVtvNPEnWg 提取码: v4xe

crack文件:eetop.cn_mentor2021_crack.zip - 蓝奏云

2024版本的questasim的crack问题 - EDA资源使用讨论 - EETOP 创芯网论坛 (原名:电子顶级开发网) - Powered by Discuz!

安装Mentor QuestaSim 2021 Linux 在ubuntu 20 LTS - EDA资源使用讨论 - EETOP 创芯网论坛 (原名:电子顶级开发网) - Powered by Discuz!

下载资源汇总,(包含修改过的脚本): 

通过网盘分享的文件:等3个文件
链接: https://pan.baidu.com/s/1jfyZ1zlndrFmBhdaTf_aQg?pwd=sdmh 提取码: sdmh 复制这段内容后打开百度网盘手机App,操作更方便哦


 

硬件环境: vmware ubuntu2024.2 虚拟机,内存分配10G,硬盘350G, python3.


 

1.matlab的安装自不必说,资源里遵循readme即可,只不过需要ubuntu版本对应,r2025a兼容ubuntu2024.2,但是r2020b无法兼容ubuntu2024.2; 总的来看,高版本的ubuntu缺少低版本的matlab必要的库文件,不推荐高低搭配;


 

2.questasim2024.1的破解安装和modelsim差不多,遵循eetop的步骤即可,只不过需要注意的是:

在破解过程中:

  • 找到Questasim安装目录下的 linux_x86_64/salt_mgls_asynch 文件。

  • 建议:为了安全起见,先将此文件单独复制到一个新建的临时目录。

  • 在临时目录中,使用 pubkey_verify 工具对该文件执行patch操作,命令可能类似于 pubkey_verify -y <文件名>

  • 操作成功后,将修改过的文件复制回原目录,覆盖原始文件。

在生成许可证时:

  • 生成脚本使用python2操作,修改一下,适用于python3;功能很简单就是用本机的hostid替换文本里的hostid;
  • 这里需要注意,虚拟机的hostid与真实的MAC地址区别;QuestaSim实际使用的是MAC地址格式的hostid,而不是hostid命令显示的值;
  • ip link show | grep ether | awk '{print $2}' | tr -d ':' 通过该指令获取MAC地址,而非hostid指令;
  • 远程或者虚拟机许可证可能需要添加TS_OK选项;

在添加环境变量时:

  • 在~/.bashrc添加以下内容;
  • export PATH="/path/to/questasim/linux_x86_64":$PATH
  • export PATH="/path/to/questasim/RUVM_2021.2":$PATH   这个路径设置的UVM相关的路径,但是2024.2没有对应大的文件夹,可以先不设置;或者设置到:
  • export PATH="/path/to/questasim/uvm-1.2":$PATH
  • export SALT_LICENSE_SERVER="/path/to/license.dat":$SALT_LICENSE_SERVER

 

#python3 mgclicgen.py <macaddr>
#
mgclicgen.py
#xxxx是许可证对应的IP专利,从文件夹对用内容拷贝过来;
import os,sys
if len(sys.argv) != 2:
    print('''Error:Insufficent avriable,Please add host ID for input.
      To get host ID ,run "ifconfig" in terminal, copy the string after "ether".''')
else:
    HOSTID=sys.argv[1].replace(':','')
    LICSTR=f'''xxxx'''
    with open('license.dat', 'w', encoding='utf-8') as fout:
        fout.write(LICSTR)
    print('Successfully generate mgccal license file, license will timeout at 21-Mar 2049')

 

# python3 ts_ok_add.py license.dat
#
ts_ok_add.py
# 在每个IP专利下添加TS_OK,支持远程或者虚拟机;

import
sys def process_line(line): """处理单行文本,在SIGN2前添加TS_OK""" if 'SIGN2=' in line and 'TS_OK' not in line: # 在当前行的SIGN2前添加TS_OK modified_line = line.replace('SIGN2=', 'TS_OK SIGN2=') return modified_line return line # 从命令行参数或标准输入读取 if len(sys.argv) > 1: # 如果提供了文件路径参数 try: with open(sys.argv[1], 'r', encoding='utf-8') as f: lines = f.readlines() # 逐行处理 modified_lines = [] modified_count = 0 for line in lines: modified_line = process_line(line) modified_lines.append(modified_line) if modified_line != line: modified_count += 1 # 写回文件 with open(sys.argv[1], 'w', encoding='utf-8') as f: f.writelines(modified_lines) print(f"成功修改文件: {sys.argv[1]}") print(f"修改了 {modified_count} 行") except FileNotFoundError: print(f"错误: 找不到文件 {sys.argv[1]}") except Exception as e: print(f"错误: {e}") else: # 从标准输入读取 print("请输入文本 (逐行处理,按 Ctrl+D 或 Ctrl+Z 结束输入):") try: modified_count = 0 line_number = 0 for line in sys.stdin: line_number += 1 original_line = line.rstrip('\n') modified_line = process_line(original_line) if modified_line != original_line: modified_count += 1 print(f"行 {line_number}: 已添加 TS_OK") print(modified_line) print(f"\n处理完成,共修改 {modified_count} 行") except KeyboardInterrupt: print("\n操作取消")

 

posted @ 2026-03-18 11:17  Heyeger  阅读(176)  评论(0)    收藏  举报