今年は新しいことに手を付けてみようと考えています。FPGAを使った機器設計がそれなのですが、慣れないツールということもあって、年末から年始に掛けて環境の設定に酷く手間取ってしまいました。
以下に、自分用のメモとしてUbuntu環境上にQuartus Primeをインストールする手順を残しておきます。ModelSim Altera Starter Editionの起動までは確認しています。
なお、Ubuntuのインストールのように情報が豊富なことについては特に記しません。
追記:Ubuntu 16.04にも対応。
作り上げる環境
手元のPC上に組み上げたのは以下のような開発環境です。
- VMware Workstation 8.0.6
- Ubuntu 14.04 LTS 64bit 日本語版
- Altera Quartus Prime Lite Edition 15.1 update 1
UbuntuはVMware上のゲストOSとしてインストールしました。HDDの容量は64GBです。
追記:その後 ubuntu 16.04 LTS 64bit日本語版と Altera Quartus Prime Lite Edition 16.1 でも以下と同様の設定で動作することを確認しています。
Quartus Primeの取得とインストール
AlteraのQuartus Prime Lite Editionのページから、Linux用のインストール・ファイルをダウンロードします。ダウンロードにはアカウントが必要ですので、Alteraのアカウントを作成してください。
私は
- DVD用ISOファイル(7.8GB)
- Update1インストールファイル(1.9GB)
をダウンロードしましたが、HDDに余裕があるのなら
- Quartus Prime 15.1.1 complete ファイル(7.5GB)
をダウンロードするとよいでしょう。前者だと、15.1をインストールした後にupdate1の適用が必要ですが、後者だと一括インストールで済みます(多分)。
インストール場所ですが、デフォルトの ~/Altera_lite/15.1 をお奨めします。
私自身の好みとして、ソフトウェアを ~ 配下にインストールしたくないのですが、/opt 配下にインストールしたところ酷い目に遭いました。素直にデフォルトにインストールすることをお奨めします。
インストーラーがデスクトップに起動用のアイコンを作成してくれますので、素直にそれを使いましょう。デスクトップが汚れるのが嫌だという方は、コマンドラインから以下のコマンドを入力するとQuartus Prime Lite Editionを起動できます。
~/altera_lite/15.1/quartus/bin/quartus
ここまで済めば、VHDLファイルの入力、コンパイルが可能になります。
USB Blaster用ドライバーのための設定
USB BlasterはAlteraのFPGAに接続するデバッグ用のツールです。BeMicro Max10はPCとUSB接続すると、PCからはUSB Blasterとして見えるため、Linux側からUSB Blasterインターフェース・プログラムを使用して書き込みが可能です。
USB Blasterは何もしなくてもUbuntuから認識されますが、パーミッションが特殊なため、設定ファイルを作ってユーザーから自由にアクセスできるように強制します。
具体的には、 /etc/udev/rules.d/51-usbblaster.rules というファイルを作成し、中身を以下のようにします。なお、これは Ubuntu 14.04 用です。
# Altera USB-Blaster for Quartus FPGA Software ( verified with Ubuntu 14.04 64bit LTS ) SUBSYSTEMS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666" SUBSYSTEMS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666" SUBSYSTEMS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666" # USB-Blaster II SUBSYSTEMS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666" SUBSYSTEMS=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666"
Ubuntu 16.04 用はこちらです。
# Intel/Altera USB-Blaster ( verified with Ubuntu 16.04 64bit LTS ) SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666", SYMLINK+="usbblaster/%k" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666", SYMLINK+="usbblaster/%k" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666", SYMLINK+="usbblaster/%k" # Intel/Altera USB-Blaster II SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666", SYMLINK+="usbblaster2/%k" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666", SYMLINK+="usbblaster2/%k"
Ubuntuを再起動するとユーザーからUSB Blasterをアクセス可能になります。
ModelSim Altera Starter Editionの試験
FPGA開発ツールであるAltera Quartus Prime Lite EditionはAltera社の製品です。この製品にはシミュレーション・ツールであるModelSim Altera Starter Edition ( ASE )が同梱されていますが、ModelSimはAlteraのソフトではありません。そのため、ModelSimを動かすには一手間余計に掛かります。
ModelSim ASEを動かすためには、以下のようなコマンドをシェルから実行してください。これは32bit互換ライブラリをインストールするコマンド群です。
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libxft2:i386 libxext6:i386 libncurses5:i386
上のコマンドを実行すれば済むのですが、念のため、何故このようなコマンドが必要と分かるか書いておきます。
Model Sim ASEの実行実体は、~/altera_lite/15.1/modelsim_ase/linuxaloem にある vsimです。そこで、このディレクトリに移動して、コマンドラインから ./vsim を実行してみましょう。クリーン・インストール後のubuntu 14.04 64bitの場合、以下のような結果になります。
そこにファイルがあるのに”No such file or directory”とは妙な話ですが、これは実行ファイルが見つからないのではなく、リンクすべきライブラリが見つからないというエラーメッセージです。
実行ファイルの素性を調べるためにfileコマンドを使うと、vsimが32bitアプリケーションだと知ることができます。
そこで、試しに互換ライブラリであるlibc6:i386をインストールしてみましょう。
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 ./vsim
するとvsimの実行結果はこのようになります。
./vism: error while loading shared libraries: libXft.so.2: cannot open shared object file: No such file or directory
libXft.so.2というライブラリが見つからないというメッセージが現れました。ここから多少手探りで libxft2:i386 をインストールすると、今度はvsim実行後に別のライブラリが見つからないというメッセージになります。このように一つ一つ探ってはインストールを繰り返すことで、
libxft2:i386 libxext6:i386 libncurses5:i386
という三つのライブラリが必要だと分かります。最初にインストールしたlibc6:i386はこれらのライブラリが依存しているため、上の三つのライブラリさえインストールすれば、libc6:i386もインストールされます。
正しくライブラリをインストールすると、./vsim コマンドによってModelSimが立ち上がります。
Modelsim Altera editionのパスを通す
端末ウインドウからModelsimを起動出来るようパスを通します。以下の設定を .bashrc に追加します。
export PATH=$PATH:~/altera_lite/16.0/modelsim_ase/linuxaloem
端末ウィンドウを開き直せば、どこからでもvsim, vcomを使えるようになります。
テストプログラムは後日
以上で、一通りの設定は終わりです。
今回初めてAltera Quartus Primeを使いましたが、何もかもが手探りで思いの外時間が掛かってしまいました。一度動くことが分かっている環境を作り上げてしまえば、あとはQuartusの設定の問題でしか無いので、だいぶ作業が楽になるはずです。
はじめまして
私も貴hpを参考にしながら、Ubuntu16.04-64bitにQuartus16.0をinstallしましたが、modelsim(vsim)のsource window fontが小さすぎて(preferenceのby windowでもby nameでもfont指定が殆ど効かず、source windowのfont(つまりvhdlやverilogソース)が小さすぎてdebugできません。
これはQuartus15.1でも同じ症状で困っています。
尚、windows10-64bitでは問題無いのですが、windowsには何も無くてlinuxにしたいのですが….