Vengineerの妄想

人生を妄想しています。

WSLでModelSim Intel Edition (Starter)を動かす


WSLで32bitなELFが動いた(ただしQEMU)を参考にして、
WSL(Ubuntu 16.04LTS)にて、Intel ModelSim を動かしてみた。

WSLでは、64ビットアプリしか動かない。
ここでは、QEMU を使って、32ビットアプリを動かすというもの。
まずは、QEMU (qemu-user-static) をインストール。
 $ sudo apt-get install qemu-user-static

次に、update-binfmtsでqemu-i386のハンドラを登録する
(qemu-user-static用のbinfmtが自動登録されるけど、これにi386はない*1のでハンドラ手動登録。)
 $ sudo update-binfmts --install qemu-i386 /usr/bin/qemu-i386-static --magic '\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00' --mask '\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'

vsimを起動するために必要な i386 なライブラリを以下のようにしてインストールする
 $ sudo dpkg --add-architecture i386
 $ sudo apt-get update
 $ sudo apt-get install libc6:i386 libc6-dev-i386 libncurses5:i386 libstdc++6:i386

vsimをコンソールベースで使うだけでも、X Windows のライブラリがリンクされているので、
以下のものもインストールする。
 $ sudo apt install libx11-6:i386
 $ sudo apt install libxext6:i386
 $ sudo apt install libxft6:i386
 $ sudo apt install libxft-dev:i386

これで、Ubuntu側に必要なファイルのインストールは終了。

次に、ModelSim Starter をダウンロードして、コマンドラインにてインストール。
 $ chmod +x ModelSimProSetup-18.0.0.219-linux.run

 $ ./ModelSimProSetup-18.0.0.219-linux.run -help
Error: There has been an error.
Expected option but got "-help". Options start with a leading "--" prefix
Use --help to get a list of valid options
 $ ./ModelSimProSetup-18.0.0.219-linux.run --help
ModelSim - Intel FPGA Edition or Starter Edition 10.6c (Quartus Prime Pro 18.0.0.219) (32-bit) 18.0
Usage:

 --help                                    Display the list of valid options

 --version                                 Display product information

 --unattendedmodeui <unattendedmodeui>     Unattended Mode UI
                                           Default: none
                                           Allowed: none minimal minimalWithDialogs

 --mode <mode>                             Installation mode
                                           Default: qt
                                           Allowed: qt gtk xwindow text unattended

 --installdir <installdir>                 Installation Directory
                                           Default: /home/vengineer/intelFPGA_pro/18.0

 --product_copy_name <product_copy_name>   Installation name:
                                           Default:

 --accept_eula <accept_eula>               Specify you accept the End User License Agreement (required when running installation in unattended mode).
                                           Default: 0

 --modelsim_edition <modelsim_edition>
                                           Default: modelsim_ase
                                           Allowed: modelsim_ase modelsim_ae

で、テキストベースでインストールするには、--mode text オプションを付ければいいみたい。

 $./ModelSimProSetup-18.0.0.219-linux.run --mode text
 
 ここで、インストール作業が行われる

 $ cd intelFPGA_pro/18.0/modelsim_ase
 $ bin/vsim -c
Error: cannot find "bin/../linux_rh60/vsim"

 おー、rh60がデフォルトのようなので、linux を linx_rh60 にシンボリックリンク。
 $ ln -s linux linux_rh60

 再度、vsim を実行
 $ bin/vsim -c
Reading pref.tcl

# 10.6c

ModeSim>

 と、ちょっと時間がかかるが、とりあえず、実行することができた。

ちなみに、ModelSim 10.6c でした。