MacにIntel (Altera) FPGAの開発環境を構築する
MacBook ProにIntel (Altera) FPGAの開発環境を構築したときのメモです。
Intel (Altera) FPGAの開発環境であるQuartus Prime Lite EditionはmacOS版がありません。Linux版ならあるのでVirtualBox上のLubuntuにQuartus Primeをインストールします。
構成
- MacBook Pro (macOS Sierra)
- VirtualBox 5.1.14 (2017/01/31時点の最新)
- Lubuntu 16.04 LTS
- Quartus Prime Lite Edition 16.1 upadate 1 (2017/01/31時点の最新)
VirtualBoxのインストールと仮想マシンの作成
VirtualBoxのサイト (Oracle VM VirtualBox) から、
- VirtualBox 5.1.14 platform packages (OS X host用)
- VirtualBox 5.1.14 Oracle VM VirtualBox Extension Pack
をダウンロードしてインストールします。
Lubuntuをインストールする仮想マシンを作成します。以下は自分の仮想マシン設定です。
- CPU: 2コア
- RAM: 8GB
- HDD: 80GB
Quartus Primeのインストールには17GBほど必要なのでHDDは多めに確保します。
Lubuntu 16.04 LTSのインストール
Lubuntu/GetLubuntu/LTS - Community Help Wiki からISOイメージをダウンロードします。
ダウンロードしたISOを作成した仮想マシンの光学ドライブに指定して仮想マシンを起動、Lubuntuをインストールします。
Lubuntuにしている理由は、UbuntuだとQuartus PrimeのIP Catalogからモジュールを生成するMegaWizard Plug-In ManagerでUnity関係のプロセスのCPU使用率が100%になる現象が発生するためです。
VirtualBox Guest Additionsのインストール
Guest Additionsをインストールするために必要なパッケージをインストールします。
sudo apt-get update sudo apt-get install build-essential
Guest Additionsをインストールします。
VirtualBoxのメニューバーの デバイス→Guest Additions CD イメージの挿入 を選択します。
自動実行のダイアログが出たらそのまま実行します。出なければターミナルから以下を実行します。
cd /media/xxx/VBOXADDITIONS_5.1.14_112924
sudo ./VBoxLinuxAdditions.run
Quartus Primeのインストール
Quartus Prime Lite Editionのサイト (Download Center) からインストーラをダウンロードします。
アップデートタブのComplete Downloadからダウンロードするとアップデート込みで一括ダウンロードできます。ファイル名は、Quartus-lite-16.1.1.200-linux.tar (2017/01/31時点の最新) です。
ダウンロードしたファイルを展開してsetup.shを実行します。パスはデフォルト (~/intelFPGA_lite/16.1) で良いです。
インストール後、.bashrcに以下を追記してPATHを通しておきます。
export PATH=~/intelFPGA_lite/16.1/quartus/bin:$PATH
quartusコマンドでQuartus Primeが起動します。
libstdc++.so.6: version `GLIBCXX_3.4.20' not foundエラー
動作は問題なさそうなのですが起動時にエラーが出ます。
これはQuartus Primeに含まれるlibstdc++.soのバージョンが古いことが問題なので、システムのlibstdc++.so.6を使うように変更します。
cd intelFPGA_lite/16.1/quartus/linux64/ mv libstdc++.so.6 libstdc++.so.6.bak ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./libstdc++.so.6
ModelSim Intel FPGA Starter Editionを使えるようにする
ModelSimを実行するには32bitのライブラリが必要です。次のコマンドでインストールします。
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libxft2:i386 libxext6:i386 libncurses5:i386 libstdc++6:i386
コマンドラインからもModelSimを起動できるように、スクリプトの修正と.bashrcへのPATH追加を行います。
~/intelFPGA_lite/16.1/modelsim_ase/vcoの210行目付近に以下の1行を追加します。
4.[0-9]*) vco="linux" ;;
.bashrcにPATHを追加します。
export PATH=~/intelFPGA_lite/16.1/modelsim_ase/bin:$PATH
これでvsimコマンドでModelSimが起動できます。
USB Blasterの設定
USB BlasterはFPGAの書き込み、デバッグに使用します。
/etc/udev/rules.d/99-alterablaster.rulesを下記の内容で作成して、デバイスへのパーミッションを設定します。
# USB-Blaster SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6002", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6003", MODE="0666" # USB-Blaster II SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6010", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6810", MODE="0666"
Nios II EDSでNios II Consoleに文字が出力されない
仮想マシンのUSBをUSB 3.0 (xHCI) コントローラーに変更することで解消します。