最近做毕设需要用到Modelsim进行Systemc和SystemVerilog的混合仿真,在Ubuntu 11.10下进行了安装和简单的配置。
首先,安装过程摘录如下:
1、下载安装包:
直接在modelsim的官网上下,这里给比较懒的同学给个地址,需要填写一些信息过后就能进FTp下载了。点击这里。这是modelsim se的下载地址。建议不要下载最新版可能破解有问题,我下的是6.5b
对了还要提醒一下,linux需要下载5个文件分别是install.linux modelsim-base.mis modelsim-docs.mis modelsim-gcc-linux_x86_64.mis modelsim-linux_x86_64.mis(后面这两个由于我安装的64位系统,如果不是就下载i386版本),同时还需要下载modelsim-gcc-linux.mis。(再次对modelsim的官网鄙视一下,它每次进入下载的ftp站点都要填写个人信息,太麻烦了,而且那个站点还比较慢,容易掉线,最好一次把所有要下载的东西都弄下来。)
2、安装:
用shell执行 install.linux 就可以了。执行之后全是GUI界面非常简单。到下载文件的目录下执行代码:
cd ~/Download/modelsim
(这是我的下载文件目录)
sudo ./install.linux
3、就是最重要的和谐了:
首先在linux下面要使用破解软件有两个办法一个是安装虚拟机模拟windows,另一个方法是用wine直接在linux下面执行。我建议大家用第二种。首先安装wine
sudo apt-get install wine
然后下载MentorKG.exe 这个破解文件
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2012年资料/2月/27日/Ubuntu 11.10配置Modlesim 6.5/
然后在下载解压后的文件目录下执行
wine /data/Soft_backup/6.5b/ModelSim6_5_KeyGen/MentorKG.exe
(这是我的目录)
可能会出现一些error 但是不管他,只需要生成的LICENSE.TXT 这个文件。放在modelsim的安装目录下面(当然放在哪里都无所谓了)。但是要注意一定要在EXT2分区内进行。不然产生的文件肯定有权限问题。我之前装不上也应该是这个原因了。
最后就是修改环境变量了。
sudo gedit ~/.bashrc
在里面加入
export LM_LICENSE_FILE=(你放LICENSE.TXT的目录)/LICENSE.TXT
export PATH=$PATH:(modelsim的安装目录)/bin
可以参考我的
export LM_LICENSE_FILE=/opt/modeltech/LICENSE.TXT
export PATH=$PATH:/opt/modeltech/bin
保存退出后执行
source ~/.bashrc
最后输入
vsim
没问题的话就能进去了。
按照以上程序安装完毕好,系统能够辨别出vsim系列命令,但是执行出错。
———————-@Ubuntu:~$ vsim
Error: cannot find /host/modelsim/modeltech/bin/../linux_RL4/vsim
经过分析,在安装路径下,bin目录中所有文件均链接到安装路径的一个脚本文件vco,而实际运行的程序实在linux目录下。在vco这个脚本中会对系统进行分析,其中186~192按照内核版本进行了分类,由于Ubuntu的版本过高,结果被分到最低的那个系统版本了。这里修改后以后vsim就可以正常启动了。
modelsim正常启动后,运行一个例子时又出了点小差错,verilog类的语言都可以正确编译,但是systemc的cpp文件编译出错:
modlesim>sccom *.cpp
#
# Model Technology ModelSim SE sccom 6.5 compiler 2009.01 Jan 22 2009
# ** Error: (sccom-94) Unsupported operating system – Ubuntu 11.10 \n \l. Refer to the ModelSim release notes for a list of supported operating systems.
显然,这个还是跟操作系统的版本有关系,查阅资料后,解决方案如下:
在/etc目录下创建名为RedHat-release的文件,在文件中添加一行Red Hat Enterprise Linux ES release 4R,保存好后重新启动vsim编译*.cpp通过。