FPGAを触ってみたいと思ったときに最初の障壁になるのは、「どのFPGAを買えばいいのかわからない!」だと思うのですが、次の大きな障壁といえば、開発環境の構築ではないでしょうか。
というのも、大抵のFPGA開発環境は、WindowsとLinuxには対応しているのですが、Macには対応していません。これはつらい!
ということで、今回はVM上に建てたCentOSにQuartus Primeを入れることで、MacでもなんとかFPGAの開発環境を手に入れることを目標としました。
検証環境
この記事の内容は、以下の環境で検証しました。
ちなみに、Quartus Primeのインストールで14GB程度の領域を消費しましたので、VMのイメージ等も含めると、30GB程度の空き容量は確保しておいた方がよさそうです。
楽をしたい人向けの情報
このページの一番下を読んでください。
手順
以下の手順は、
- 時間が十分にあるときに
- 高速で安定したインターネット接続がある場所
で行ってください。特に、Quartus Primeのダウンロードは長丁場になることが予想されるため、十分に注意してください。
ノートPCの方は、電源の確保も忘れずに!
まずはVagrant でCentOS 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のバイナリを実行できるようにi686のglibcを入れます。(これがないと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
をした際に、VirtualBoxのGUIを表示するか否かと、仮想マシンのメモリ容量の部分です。
メモリ容量については、各自のマシンに合わせて適宜増やしてください。
変更が終わったら、再度VMを起動します。
vagrant up
任意:Virtual Box Guest Addonsを入れる
以下の記事が参考になります。
Quartus Prime Liteをダウンロードする
以下のURLからダウンロードしてください。
http://dl.altera.com/?edition=lite
可能であれば、VM内に直接ダウンロードした方が楽です。firefoxがVMにはインストールされているので、それを使いましょう。
もし難しいようであれば、ホスト側でダウンロードしたのち、ゲスト側にコピーしてください。scpなどを使うとよいでしょう。
この際、myAlteraへのユーザー登録が必須となっているので、アカウントを持っていない方は作成してください。
すごく時間がかかりますが、がんばって耐えましょう。
インストール
VMにsshして、ダウンロードしたファイルのある階層に移動してください。
ダウンロードしたファイルが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のアイコンが追加されてますね!
お疲れ様です…でも面倒だよね。
ということで、Quartus Primeをインストールする直前までの手順を実行した仮想マシンイメージをvagrant経由で配布しております!
Virtual Box Guest Addonsも入れてあるので、クリップボード共有とかもされていて便利です。
https://atlas.hashicorp.com/hikalium/boxes/centos7-quartus
これを使うためのVagrantfileも用意しました!
というわけで、
git clone https://github.com/hikalium/centos-quartus.git cd centos-quartus vagrant up
とすれば、必要なライブラリ等がインストールされたCentOSが立ち上がります。