MacにIntel (Altera) FPGAの開発環境を構築する

MacBook ProIntel (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) から、

をダウンロードしてインストールします。

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) からインストーラをダウンロードします。

  • バージョン: 16.1
  • オペレーティング・システム: Linux
  • ダウンロード方法: ダイレクト・ダウンロード

アップデートタブの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) コントローラーに変更することで解消します。

参考