Skip to content

Instantly share code, notes, and snippets.

@strezh
Last active June 30, 2024 06:44
Show Gist options
  • Save strezh/464c117fa8e9495ea9be to your computer and use it in GitHub Desktop.
Save strezh/464c117fa8e9495ea9be to your computer and use it in GitHub Desktop.
QuestaSim notes

Установка под Linux

При установке под линукс (проверено на Ubuntu 16):

  1. Устанавливаем wine
  2. Из папки crack копируем файл MentorKG.exe в <install_dir>/linux (или /linux_x86_64)
  3. Выполняем
sudo chown root:root ~/.wine
  1. Переходим в <install_dir>/linux и выполняем
sudo chmod +x ./MentorKG.exe
./MentorKG.exe -patch . -hn -o license.dat
  1. Проверяем, появился ли в папке файл licence.dat , выполняем
sudo chown <user>:<user>./license.dat
  1. Выполняем
sudo chmod +x ./mgls/lib/mgls_asynch
sudo chown <имя_пользователя>:<имя_пользователя> ~/.wine
  1. Открывем в текстовом редакторе файл ~/.bashrc (например так:
sudo gedit ~/.bashrc

и в конец дописывем:

export LM_LICENSE_FILE=/путь/до/license.dat

PATH=$PATH:<install_path>/<platform>

где <platform> linux или linux_x86_64. Не забывайте что .bashrc должен быть исполняемым(если таковым не является, выполните chmod +x ~/.bashrc) 8) Делаем ребут. После ребута в терминале прописывем

echo $PATH && echo LM_LICENSE_FILE

Если все правильно, мы должны увидеть установленные пути. Если нет, добавьте .bashrc на автозапуск при включении 9) Выполняем

vsim
  1. PROFIT!!!

timotystar писал(а): После выполнения описанной процедуры все равно отказывается запускаться:

$ ./vsim
Unable to checkout a license. Make sure your license file environment variable (e.g., LM_LICENSE_FILE)
is set correctly and then run 'lmutil lmdiag' to diagnose the problem.
Unable to checkout a license. Vsim is closing.
** Fatal: Invalid license environment. Application closing.

Файл лицензии на месте.

'lmutil lmdiag' выдает много текста следующего вида:

"xese" v2024.050, vendor: mgcld

uncounted nodelocked license, locked to ethernet address "e8039a0c04cd" starts: 9-jun-2013, expires: 09-jun-2024

This is the correct node for this node-locked license

В чем может быть причина?

P.S. Проблема решилась. Надо было дополнительно к написанному выше из каталога .../modeltech/linux выполнить:

$ chmod a+x mgls/lib/mgls_asynch
$ ./mgls/bin/mgls_admin -v

Установка в Linux с учётом вышеизложенных инструкций и возможных проблем с freetype библиотекой:

<install_dir> = директория с установленным modelsim, например, /opt/modelsim
<platform> = директория "linux" либо "linux_x86_64"

cd <install_dir>/modeltech/<platform>
sudo wine /path/to/MentorKG.exe -patch . -hn -o /path/to/license.dat
ls -l /path/to/license.dat
sudo chmod a+x ./mgls/lib/mgls_asynch
export LM_LICENSE_FILE=/path/to/license.dat
PATH=$PATH:<install_path>/modeltech/bin
vsim

Если программа не запускается со следующей ошибкой, то проблема в "неправильной" системной библиотеке libfreetype.

Error in startup script: 
Initialization problem, exiting.
    while executing
"EnvHistory::Reset"
    (procedure "PropertiesInit" line 3)
    invoked from within
"PropertiesInit"
    invoked from within
"ncFyP12 -+"
    (file "/mtitcl/vsim/vsim" line 1)
** Fatal: Read failure in vlm process (0,0)

Скачайте и скомпилируйте версию, с которой заведомо работает modelsim:

wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.bz2
tar xf freetype-2.4.12.tar.bz2
cd freetype-2.4.12
./configure
make
cp ./objs/.libs/libfreetype.so.6.10.1 /path/to/lib_for_modelsim  # любое подходящее место, например /opt/modelsim/lib

Теперь можно запустить modelsim командой:

LD_PRELOAD=/path/to/lib_for_modelsim/libfreetype.so.6.10.1 vsim

Проще, конечно создать скрипт с этой строкой в стандартном пути, например /usr/local/bin/modelsim.

Ссылки на материалы