Mac OSX上にCentOS7の仮想マシンを建ててQuartus Prime Lite 17.0をインストールしよう

FPGAを触ってみたいと思ったときに最初の障壁になるのは、「どのFPGAを買えばいいのかわからない!」だと思うのですが、次の大きな障壁といえば、開発環境の構築ではないでしょうか。

というのも、大抵のFPGA開発環境は、WindowsLinuxには対応しているのですが、Macには対応していません。これはつらい!

ということで、今回はVM上に建てたCentOSにQuartus Primeを入れることで、MacでもなんとかFPGAの開発環境を手に入れることを目標としました。

検証環境

この記事の内容は、以下の環境で検証しました。

  • ホストPC

    • macOS Sierra (10.12.4)
    • 8GB メモリ
  • ゲストOS

ちなみに、Quartus Primeのインストールで14GB程度の領域を消費しましたので、VMのイメージ等も含めると、30GB程度の空き容量は確保しておいた方がよさそうです。

楽をしたい人向けの情報

このページの一番下を読んでください。

手順

以下の手順は、

  • 時間が十分にあるときに
  • 高速で安定したインターネット接続がある場所

で行ってください。特に、Quartus Primeのダウンロードは長丁場になることが予想されるため、十分に注意してください。

ノートPCの方は、電源の確保も忘れずに!

まずはVagrantCentOS 7の仮想マシンを建てる

とりあえず、Vagrantの設定ファイルを保存するフォルダ centos-quartus を作成して移動しましょう。

mkdir centos-quartus
cd centos-quartus

このフォルダで、Vagrantを使用して仮想マシンを建てます。 今回はCentOS 7を使用しますので、以下のコマンドを実行してください。

vagrant init centos/7

そして、仮想マシンを起動します。 はじめてこのコマンドを実行する際は、仮想マシンのイメージをインターネットから取得してくるため、ネットワーク接続の安定したところで、時間のあるときにやりましょう。

vagrant up

そこそこ時間がかかるのでのんびり待ちます。

うまくいったら、とりあえず仮想マシンssh接続してみましょう。

vagrant ssh

プロンプトが[vagrant@localhost ~]$となれば、成功です!

Quartus Primeをインストールするために必要なパッケージを入れる

sudo yum groupinstall "GNOME Desktop"

途中で2回くらいIs this ok?と聞かれますので、内容を確認してyと答えてEnterを押してあげてください。 これまた少し時間がかかります。

インストールが終わったら、OSの起動時にGUIが立ち上がるように設定します。

sudo systemctl set-default graphical.target

あと、Quartusの動作に必要なので、libpng12も入れましょう。

sudo yum install libpng12

最後に、32bitのバイナリを実行できるようにi686glibcを入れます。(これがないとQuartusのインストールが走らない。)

sudo yum install glibc.i686

ここまでできたら、いったんVMの電源を切ります。一度exitしてホストに戻ってから、haltします。

exit
vagrant halt

電源が切れたら、Vagrantfileの設定を変更します。以下にdiffを示します。

@@ -49,13 +49,13 @@ Vagrant.configure("2") do |config|
   # backing providers for Vagrant. These expose provider-specific options.
   # Example for VirtualBox:
   #
-  # config.vm.provider "virtualbox" do |vb|
+  config.vm.provider "virtualbox" do |vb|
   #   # Display the VirtualBox GUI when booting the machine
-  #   vb.gui = true
+     vb.gui = true
   #
   #   # Customize the amount of memory on the VM:
-  #   vb.memory = "1024"
-  # end
+     vb.memory = "2048"
+  end
   #
   # View the documentation for the provider you are using for more
   # information on available options.

変更しているところは、vagrant upをした際に、VirtualBoxGUIを表示するか否かと、仮想マシンのメモリ容量の部分です。

メモリ容量については、各自のマシンに合わせて適宜増やしてください。

変更が終わったら、再度VMを起動します。

vagrant up

任意:Virtual Box Guest Addonsを入れる

以下の記事が参考になります。

qiita.com

Quartus Prime Liteをダウンロードする

以下のURLからダウンロードしてください。

http://dl.altera.com/?edition=lite

可能であれば、VM内に直接ダウンロードした方が楽です。firefoxVMにはインストールされているので、それを使いましょう。

もし難しいようであれば、ホスト側でダウンロードしたのち、ゲスト側にコピーしてください。scpなどを使うとよいでしょう。

この際、myAlteraへのユーザー登録が必須となっているので、アカウントを持っていない方は作成してください。

すごく時間がかかりますが、がんばって耐えましょう。

インストー

VMsshして、ダウンロードしたファイルのある階層に移動してください。

ダウンロードしたファイルがQuartus-lite-17.0.0.595-linux.tarであると仮定して以下の説明を行います。

まず、tarを展開します。

tar -xvf Quartus-lite-17.0.0.595-linux.tar

展開されたファイルに含まれているsetup.shを実行します。(このとき、sudoをつけてはいけない!rootのホームディレクトリにインストールされてしまう。)

./setup.sh

すると、インストールがconsole modeで開始します。

とりあえずEnterを連打してください。

Licenseの文面が表示されるので最後まで目を通してあげると、Do you accept this license? [y/n]:と聞かれます。 問題がなければ、yと答えてあげてください。

この後の選択肢は全て、デフォルトのままで問題ありません。ですから、ひたすらEnterを連打してください。

すべて選択し終えると、インストールが始まります。 ゆっくり待ちましょう。

インストールが終わると、最後にいくつか選択肢が表示されますが、 Launch Quartus Prime Lite Edition [Y/n]: だけはnと回答し、それ以外はデフォルトで(Enterを押せば)OKです。

これでインストールが完了しました!GUIの方をみてみると、たしかにQuartus Primeのアイコンが追加されてますね!

f:id:hikalium:20170522100355p:plain

お疲れ様です…でも面倒だよね。

ということで、Quartus Primeをインストールする直前までの手順を実行した仮想マシンイメージをvagrant経由で配布しております!

Virtual Box Guest Addonsも入れてあるので、クリップボード共有とかもされていて便利です。

https://atlas.hashicorp.com/hikalium/boxes/centos7-quartus

これを使うためのVagrantfileも用意しました!

github.com

というわけで、

git clone https://github.com/hikalium/centos-quartus.git
cd centos-quartus
vagrant up

とすれば、必要なライブラリ等がインストールされたCentOSが立ち上がります。

あとは「ダウンロード」と「インストール」の項にしたがって、Quartusをインストールしてください。

Macユーザーのみなさんも、これで一緒にバリバリFPGAを使いたおしましょう!