Linux: ISE WebPack 13.1 + ModelSim PE Student Edition 10.0a

2,314 views
Skip to first unread message

michoo

unread,
Mar 16, 2011, 9:23:05 PM3/16/11
to ModelSim PE Student Edition
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.

Luana Freitas

unread,
Mar 16, 2011, 10:13:59 PM3/16/11
to ModelSim PE Student Edition
its very good initiative. I use source command to load the environment variables in linux.
L.L.F
[]'s



2011/3/16 michoo <ele...@prowizorka.da.ru>

--
You received this message because you are subscribed to the Google Groups "ModelSim PE Student Edition" group.
To post to this group, send email to modelsim-pe-s...@googlegroups.com.
To unsubscribe from this group, send email to modelsim-pe-student...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/modelsim-pe-student-edition?hl=en.


michoo

unread,
Mar 28, 2011, 10:15:08 AM3/28/11
to ModelSim PE Student Edition
HOWTO Part 2: Compiling libraries

1. Create script which will configure enviroment:

#!/bin/bash
export WINEPREFIX=/ise/prefix
export PATH=$PATH:/ise/modelsim/win32pe_edu
export MODELSIM=/ise/modelsim.ini
export MODEL_TECH=/ise/modelsim/vhdl_src/
cd /ise
. /ise/Xilinx13.1/ISE_DS/settings32.sh
bash

make it executable and execute

$ chmod a+x ~/ise.sh
$ ~/ise.sh

2. Update /ise/modelsim/win32pe_edu/vsim

#!/usr/bin/perl
use strict;
my $CMD = "$0.exe";

foreach my $i (0 .. $#ARGV){
$ARGV[$i]=~s/[\{\}]//g;
}
#system "echo $CMD @ARGV >/tmp/log";
if($ARGV[0]=~"-version"){
print "Model Technology ModelSim PE vsim 10.0a Simulator
2011.02 Feb 20 2011\n";
}else{
exec $CMD, @ARGV;
}


3. Create symlinks to all modelsim executables:
$ cd /ise/modelsim/win32pe_edu
$ for i in *exe; do ln -s $i ` echo $i|sed 's/\.exe//'`;done

4. Compile libraries.

$ cd /ise
$ compxlibgui

Choose directory /ise/modelsim/win32pe_edu and select whatever
libraries you need.

After compilation finishes you should see all libraries when you start
vsim from /ise directory

$ vsim

michoo

unread,
Mar 28, 2011, 5:34:28 PM3/28/11
to ModelSim PE Student Edition
> $ cd /ise/modelsim/win32pe_edu
> $ for i in *exe; do  ln -s $i ` echo $i|sed 's/\.exe//'`;done
should be:
$ cd /ise/modelsim/win32pe_edu
$ for i in *exe; do ln -s vsim ` echo $i|sed 's/\.exe//'`;done

michoo

unread,
Mar 29, 2011, 10:03:55 AM3/29/11
to ModelSim PE Student Edition
Another script update:
- compxlib will autodetect modelsim version
- I was able to run full Post-place & route simulation from ise


#!/usr/bin/perl
use strict;
my $CMD = "$0.exe";

foreach my $i (0 .. $#ARGV){
$ARGV[$i]=~s/[\{\}]//g;
}
if($ARGV[0]=~"-version"){
my $ver = `$CMD -version`;
$ver =~ s/Student Edition //;
print $ver;
}else{
exec $CMD, @ARGV;
}
Reply all
Reply to author
Forward
0 new messages