I couldn't find any HOWTO on the web, so I decided to write one. I
hope someone will find it usefull.
You will need:
- wine (1.3.14 works for me)
- perl
- few GB of free space
- ISE linux installer
- ModelSim PE Student Edition (windows only)
note:
- I've installed both applications in the same directory (/ise) - it's
not necessary, but IMO it makes management simpler.
- i have binfmt-support installed, however it shouldn't affect
anything
1. Install ISE (i.e. to /ise/Xilinx13.1).
If it fails with "segmentation fault" error - remove ~/.config/
Trolltech.conf and try again.
2. Open console. Don't close it until whole configuration is finished.
Execute in it all lines marked with $ using appropriate paths.
3. Create new wine prefix:
$ cd /ise
$ export WINEPREFIX=/ise/prefix
$ winecfg
and configure virtual drives so at least one will allow you to access
directory where you want to save your ISE projects and ISE
installation path.
(Personally, I don't like when windows programs have access to whole
filesystem, so I modified drive 'z' to point to '/ise' and created '/
ise/Projects' directory.)
4. Download modelsim installation package to wine accessible directory
(/ise) and start installation:
$ wine modelsim-pe_student_edition.exe
(I’ve installed to z:\modelsim)
note: Wine should open link in your default browser. If not - search
for url starting with "
http://portal.model.com/" in console and open
it manually.
save license file and test it:
$ /ise/modelsim/win32pe_edu/vsim.exe -version
Model Technology ModelSim PE Student Edition vsim 10.0a Simulator
2011.02 Feb 20 2011
$ /ise/modelsim/win32pe_edu/vsim.exe
Fully-functional modelsim window should show after a while.
5. Now there are have few issues to deal with:
- linux version of ISE search for modelsim in PATH under tha name vsim
- vsim.exe don't work when it's renamed or simlinked (it checks
argv[0])
- ISE executes vsim with script name in brackets, and for some reason
it doesn't work
So you'll need simple loader:
#!/usr/bin/perl
use strict;
my $CMD = "$0.exe";
foreach my $i (0 .. $#ARGV){
$ARGV[$i]=~s/[\{\}]//g;
}
exec 'wine',$CMD, @ARGV;
save it as "/ise/modelsim/win32pe_edu/vsim" and make executable
$ chmod +x /ise/modelsim/win32pe_edu/vsim
and it should work as before:
$ /ise/modelsim/win32pe_edu/vsim -version
6. The last thing is ISE startup script (i.e. ise.sh) which will
setup all required environment variables:
#!/bin/bash
WINEPREFIX=/ise/prefix
PATH=$PATH:/ise/modelsim/win32pe_edu
cd /ise
. /ise/Xilinx13.1/ISE_DS/settings32.sh
ise
$ chmod +x ise.sh
7. Now after executing from clean shell "/ise/ise.sh" you should get
ISE window. Setup ModelSim PE as simulator and launch any simple
simulation. When warning about missing precompiled libraries shows
choose "no" and modelsim should start.