Quartus Prime ライト・エディションは 無償で使えるIntel FPGAの開発ソフトウェアです.これはWindows 版とLinux版がありますが,Mac版はありません.MacでQuartus Primeを使うにはMacに仮想環境を構築してWindows なり,Linuxなりをインストールして使うことが手っ取り早いかと思います.今回は,Mac上の仮想環境にUbuntu 20.04LTSをインストールして,Linux版のQuartus Prime 20.1とModelSimを使って VHDLのソースをコンパイル,シミュレーションそして論理合成ができるようにしたいと思います.
仮想環境は既に Macbook Pro にインストール済みのParallels Desktopを使ってまたUbuntu 20.04LTSもインストール済みなのでこれらのインストールについては省きます.
Quartus Prime 20.1のインストール
Linux版のQuartus Prime ライト・エディション20.1.1をインテルのダンロード・センターから落とします.ダウンロードするにはアカウントが必要になりますので事前に登録しておきましょう.
ダウンロードしたQuartus-lite-20.1.1.720-linux.tarを適当なディレクトリに展開するとsetup.sh,readme.txtそしてcomponentsフォルダができているので,setup.shを実行します.
~/Downloads/components$ ./setup.sh
インストール・ウィザードが起動するので,その画面に従ってインストールしていきますが,インストールするコンポーネントの選択画面でQuartus Prime HelpとModelSim – Intel FPGA Starter Edition(Free)のチェックを外しておきます.これをしないと途中で強制終了してしまいます.この2つは後でインストール可能です.尚,インストール先のフォルダは /home/USERNAME/Intel_FPGA_lite/20.1 としています.
インストール後,コマンドラインから起動できるように ~/.profile にPATHの設定を追加します.
PATH=$PATH:$HOME/intelFPGA_lite/20.1/quartus/bin
これでコマンドラインから quartus と入力すると起動します.
ModelSim-Intel FPGA Edition のインストール
先のインストール・ウィザードでModelSimをインストールの対象外としていたので,別途インストールします.Quartus-lite-20.1.1.720-linux.tarを展開してできたcomponentsフォルダにあるModelSimSetup-20.1.1.720-linux.runを実行します.
~/Downloads/components$ ./ModelSimSetup-20.1.1.720-linux.run
Ubuntu 20.04LTSでModelSimを動かす。を見るとlibXft.so.2の32bit版が無いというエラーが出るらしいということですが,同じようにコマンドラインから ./vsim とModelSimを起動すると
~/intelFPGA_lite/20.1/modelsim_ase/bin$ ./vsim ./vsim: 182: exec: ./../linux/vsim: not found
というエラーが出て,エラー・メッセージが違っていました.エラー・メッセージが違っているということはエラーの内容が異なるのだろうと,このエラー・メッセージでググって検索された Arch Linux に Quartrus / ModelSim をインストールする を見ると,この記事の前半に同じようなエラーの対策をした後に再度 ./vsim を実行したらlibXtf.so.2の32bit版が無いという同様のエラー・メッセージが出たというので,結局Ubuntu 20.04LTSでModelSimを動かす。に書かれているようにlibXft2の32bit版をインストールしました.
~$ sudo apt-get install libxft2:i386
これで正常に起動するだろうと ./vsim を実行すると以下のエラー・メッセージが出ました.
./../linux/vish: error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory
で libXext6 の32bit版をインストールします.
~$ sudo apt-get install libxext6:i386
これで ./vsim でModeleSimが起動しました,やれやれ.
しかし,まだ続きがあります.File -> New -> Source -> VHDLとすると Transcript ウィンドウに以下のようなエラー・メッセージが出ました.
Couldn't load file "/home/USERNAME/intelFPGA_lite/20.1/modelsim_ase/linux/ScintillaTk/libScintillaTk1.12.so": libstdc++.so.6: cannot open shared object file: No such file or directory
さらに libstdc++6 の32bit版をインストールします.
~$ sudo apt-get install libstdc++6:i386
これでようやく ModelSim 単独でプロジェクトの作成, VHDL のソース・ファイルのコンパイルからシミュレーションができるようになりました.また,NativeLink(Quartus Prime からEDAツール,この場合ModelSimですが,を実行すること)も確認できました.
USB Blasterの設定
デバイスへの書き込みを可能にするUSB Blaster の設定です./etc/udev/rules.d/に 51-usbblaster.rules というファイルを作成し以下のように記述します.これはこちらの記事を参考にしました.
# Intel/Altera USB-Blaste 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"
これで ALTERA USB Blaster互換品-Terasic USB Blaster で書き込みができています.
今回は,MacでQuartus Prime ライト・エディションを使ってVHDLのコンパイル,シミュレーションそして論理合成までできるようにすることが目的だったのでひとまずここまでとします.
さて
Ubuntu 20.04LTS でQuartus PrimeとModelSim – Intel FPGA Editionを動かすことができましたが components フォルダのreadme.txtを見るとModelSim – Intel FAGA EditionがサポートするのはWindows 10 と Red Hat Enterprise Linux operating systemsだけだよと書かれていてかつRed Hat Enterprise Linux operating systemsは32-bit ライブラリ・ファイルが必要になる,とあります.
ここでは対処療法的に必要となったライブラリを追加してModelSimでのプロジェクトの作成,ソース・ファイルのコンパイル,シミュレーション(波形表示)までできていますが,それ以外の事をやるとまた他のライブラリの追加が必要になるかも知れません.