この記事では、SoC FPGA エンベデッド開発スイート(以下、SoC EDS)と異なるバージョンの Quartus® Prime 開発ソフトウェア(以下、Quartus)を組み合わせて使用するための環境設定方法を紹介します。
はじめに
元々、SoC EDS と Quartus は同一バージョンを使用して開発することが推奨となっていますが、バージョン v19.1 以降、Quartus と SoC EDS のリリース周期が異なっています。このため、最新の Quartus と同一バージョンの SoC EDS がリリースされていないケースで、異なるバージョンを組み合わせて使用する必要性が生じることがあります(例:v19.2, v19.4 では SoC EDS がリリースされていません)。
このように、やむを得ず異なるバージョンを組み合わせる必要が出た場合に、この記事の内容を参考にしてください。
1.環境変数の確認
Embedded Command Shell 上で環境変数の確認を行います。確認の結果、使用予定のバージョンと異なる Quartus が選択されている場合に設定変更が必要となります。
Embedded Command Shell を起動して以下のコマンドを実行してください。
$ env | grep ROOT
結果、以下のような情報が表示されます。
QUARTUS_ROOTDIR という変数に、 SoC EDS と組み合わせて使用する Quartus のインストール・ディレクトリーへのパスが設定されていれば問題ありません。上の例では Quartus v19.3 へのパスが指定されていますが、 v19.4 と組み合わせたい場合には、環境変数の変更が必要という事になります。
同様に、以下のコマンドを実行して Nios® II プロセッサー用のツールのパスも確認します。
$ env | grep NIOS
通常は Quartus と同じバージョンのパスが設定されているはずです。
以下の変数は、起動する Embedded Command Shell のバージョンで決まるため変更は不要です。
念の為、意図したバージョンのパスが設定されていることを確認してください。
- SOCEDS_DEST_ROOT
以下の変数は、使用予定のバージョンのパスと一致するように、必要に応じて設定変更を行ってください。
- QUARTUS_ROOTDIR
- SOPC_KIT_NIOS2
- QSYS_ROOTDIR
- INTELFPGAOCLSDKROOT ... インテル® FPGA SDK for OpenCL™ を使う場合のみ
2.環境変数の変更
QUARTUS_ROOTDIR と SOPC_KIT_NIOS2 については、環境変数の上書き用に専用の変数が用意されているので、それぞれ以下のコマンドで環境変数を追加することで対応できます。
(<username> の部分は、ご使用の PC 環境上のユーザー名 をご指定ください)
例:Linux の場合
$ export QUARTUS_ROOTDIR_OVERRIDE=/home/<username>/intelFPGA_pro/19.4/quartus
$ export SOPC_KIT_NIOS2_OVERRIDE=/home/<username>/intelFPGA_pro/19.4/nios2eds
上記の環境変数が登録された状態で、Embedded Command Shell を起動すると、指定したパス情報が QUARTUS_ROOTDIR と SOPC_KIT_NIOS2 に反映されます。
QSYS_ROOTDIR と INTELFPGAOCLSDKROOT については、上書き用の変数は用意されていないため、該当の環境変数を直接変更します。
例:Linux の場合
$ export QSYS_ROOTDIR=$QUARTUS_ROOTDIR_OVERRIDE/sopc_builder/bin
$ export INTELFPGAOCLSDKROOT=/home/<username>/intelFPGA_pro/19.4/hld
メモ:
実際には QSYS_ROOTDIR の変更はツールの動作に影響しないかもしれません。Embedded Command Shell 環境のセットアップ用スクリプト(env.sh)を確認する限りでは、QSYS_ROOTDIR 変数を使用せずに QSYS_ROOTDIR に相当するパス情報を PATH 変数に追加設定しているようです(念のため 、QSYS_ROOTDIR も使用するバージョンに合わせておくことをお勧めします)。
※ Quartus の環境変数の設定については、『Intel® FPGA Software Installation and Licensing』の
「3.5. Intel Quartus Prime Environment Variables」 の項目も参照してください。
以下は「3.5. Intel Quartus Prime Environment Variables」の一部ですが、 QSYS_ROOTDIR は PATH 変数に追加する際に使用する旨の説明があります(その他の用途は不明)。
❝ PATH
You must add $QSYS_ROOTDIR to the PATH variable. The $QSYS_ROOTDIR locates
the directory at QUARTUS_ROOTDIR_OVERRIDE/sopc_builder/bin. ❞
[ Intel® FPGA Software Installation and Licensing より引用]
3.環境変数の変更(おすすめの方法)
Embedded Command Shell 起動時に実行する .sh に環境変数設定を記述しておく方法が便利です。
以下、記述例です(<username> の部分は、ご使用の PC 環境上のユーザー名 をご指定ください)。
対象ファイル:~/intelFPGA_pro/19.3/embedded/embedded_command_shell.sh
#!/bin/bash
############################################################
# #
# Intel FPGA SoC Embedded Command Shell #
# #
# #
# Copyright (c) 2019 Intel Corporation #
# All Rights Reserved. #
# #
############################################################
export QUARTUS_ROOTDIR_OVERRIDE=/home/<username>/intelFPGA_pro/19.4/quartus
export SOPC_KIT_NIOS2_OVERRIDE=/home/<username>/intelFPGA_pro/19.4/nios2eds
export QSYS_ROOTDIR=$QUARTUS_ROOTDIR_OVERRIDE/sopc_builder/bin
export INTELFPGAOCLSDKROOT=/home/<username>/intelFPGA_pro/19.4/hld
############################################################
#
# Get the Root SOCEDS directory
注記:
この方法で対応する場合には、ツールのインストール時に自動設定されている QSYS_ROOTDIR と INTELFPGAOCLSDKROOT を削除しておく必要があります。
Linux 環境(bash)の場合は、ホーム・ディレクトリー直下にある .bashrc という設定ファイルの終端付近に該当の定義が記述されているので、これらの行頭に # を記述してコメントアウトします。(Windows の場合は、システムのプロパティーから環境変数を削除します)
対象ファイル:~/.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
: (途中省略)
# export INTELFPGAOCLSDKROOT="/home/altsoc/intelFPGA/19.1/hld"
# export QSYS_ROOTDIR="/home/altsoc/intelFPGA/19.1/quartus/sopc_builder/bin"
上記の設定が終わったら、Embedded Command Shell を起動して、前述の「1.環境変数の確認」を行ってください。
Quartus の起動は、Embedded Command Shell のプロンプト上で『quartus』と入力する方法で行います。
Quartus のメニュー: Help → About Quartus Prime で表示されるバージョン情報も確認しておくとより確実です。
まとめ
この記事では、SoC EDS と Quartus のバージョンが異なるケースを例に記載しましたが、環境変数については同じバージョン同士で使用している場合でも注意が必要です。特に、開発マシンに複数バージョンの開発ツールをインストールしている場合には、一度、環境変数の設定状態を確認しておくと安心です。
注記:
この記事で紹介している内容は、あらゆる異なるバージョンの組み合わせを容認するものではありません。やむを得ず異なるバージョンを組み合わせるケースであっても、最も近いバージョン同士の組み合わせで使用するようにしてください。