0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Intel Arria10 SoC : 初期性能評価(環境構築編2)- Ubuntu 18.04 での詰まりどころ

0
Last updated at Posted at 2026-06-24

Intel Arria10 SoC : 初期性能評価(環境構築編2)- Ubuntu 18.04 での詰まりどころ

はじめに

前の記事では、ツールチェーン(Quartus Prime Pro / SoC EDS / ModelSim)を選定する理由を整理しました。
しかし実際に Ubuntu 環境で動かしてみると、Windows とは異なる詰まりどころが次々と出てきます。

本記事は、Ubuntu 18.04 上で評価環境を構築する際に実際に遭遇した問題を、解決手順とともに整理したものです。

  • 対象は Ubuntu 18.04 LTS です。
  • ここでは環境構築の実装段階で起きやすい問題を扱います。
  • Yocto や複雑なカスタムカーネルの話題は、本記事では扱いません。
  • 位置づけとしては、後続で HPS 側の CPU0 / CPU1 役割分担を試す前の土台づくりです。

先に結論

評価環境を整えるために実施した主要な操作は、次のとおりです。

# 基本的な依存ライブラリのインストール
sudo apt-get update
sudo apt-get install -y build-essential lib32z1 lib32ncurses5 libc6-i386

# USB-Blaster II の udev ルール設定
sudo cp /path/to/Quartus/drivers/usb-blaster/51-usbblaster.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules

# ModelSim の 32bit 対応
sudo apt-get install -y libc6:i386 libncurses5:i386 libstdc++6:i386

# Quartus 起動時の追加ライブラリ
sudo apt-get install -y libxrender1 libxrandr2 libxcb1

ただし、実際には「なぜこの手順が必要か」を理解してから進めた方が、トラブル時の切り分けがしやすくなります。

なぜ Ubuntu で詰まりやすいのか

Windows では Quartus をインストールすれば大体動きますが、Ubuntu では以下の理由で手作業が増えます。

  • 32bit ライブラリの欠落(Quartus の内部ツールの多くが 32bit)
  • udev ルール設定(USB デバイス認識の権限設定)
  • 古いバージョンの依存ライブラリが暗黙の前提(X11 周辺など)
  • ModelSim の 32bit 依存が強い

これらは「Ubuntu の標準インストールには含まれない」ものばかりです。

Ubuntu 18.04 上の依存関係解決

最初にぶつかる問題

Quartus をインストール後、起動を試みると、次のようなエラーが出ることがあります。

error while loading shared libraries: libxcb.so.1: cannot open shared object file: No such file or directory

または:

/opt/intelFPGA/18.1/quartus/bin/quartus: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

これは「64bit Ubuntu に 32bit ライブラリが入っていない」という典型的な状況です。

解決方法

以下のパッケージをインストールします。

# まず 32bit アーキテクチャを有効化
sudo dpkg --add-architecture i386

# 基本的なビルドツール
sudo apt-get install -y build-essential

# 32bit 互換ライブラリ(重要)
sudo apt-get install -y lib32z1 lib32ncurses5 libc6-i386

# X11 関連ライブラリ
sudo apt-get install -y libxrender1 libxrandr2 libxcb1 libxkbcommon0
sudo apt-get install -y libxrender1:i386 libxrandr2:i386 libxcb1:i386

重要ポイントlib32ncurses5 は ModelSim が特に必要とします。これがないと ModelSim は起動しません。

動作確認

インストール後、Quartus が起動するか確認します。

/opt/intelFPGA/18.1/quartus/bin/quartus --version

バージョン情報が表示されれば OK です。

USB-Blaster II の認識問題

問題の現れ方

Quartus Programmer で「No hardware has been detected.」と表示される場合、USB-Blaster II がシステムに認識されていません。

Windows では自動的に認識されることが多いですが、Ubuntu では手動設定が必要です。

udev ルール設定

以下を実施します。

# Quartus 付属の udev ルールをコピー
sudo cp /opt/intelFPGA/18.1/quartus/drivers/usb-blaster/51-usbblaster.rules /etc/udev/rules.d/

# udev ルールをリロード
sudo udevadm control --reload-rules

# USB デバイスをリセット
sudo udevadm trigger --subsystem-match=usb

その後、USB-Blaster II を接続し直すか、以下で確認します。

# USB デバイス一覧を確認
lsusb | grep -i altera

# または
lsusb | grep -i blaster

Bus XXX Device YYY: ID 09fb:XXXX Altera のような行が表示されれば認識されています。

権限設定

USB デバイスへのアクセス権限がない場合、以下で設定します。

# 現在のユーザーをグループに追加
sudo usermod -a -G uucp $USER
sudo usermod -a -G dialout $USER

# グループ変更を反映させるため、ログイン/ログアウト

ログイン後、再度接続を試みます。

Quartus 起動時の不足ライブラリ

典型的なエラーメッセージ

Quartus GUI を起動するときに、次のようなエラーが出ることがあります。

error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

または、GUI は起動するが、デザインを開こうとするとクラッシュする場合も、ライブラリ不足が原因です。

追加ライブラリの導入

# C++ ランタイムライブラリ
sudo apt-get install -y libstdc++6:i386

# 完全を期すため、他のランタイムも
sudo apt-get install -y libgcc1:i386 libgomp1:i386

# GUI サポートライブラリ(Motif 関連)
sudo apt-get install -y libmotif-common libmotif4

これらをインストールしておくと、Quartus GUI が安定して動くようになります。

ModelSim 周りの追加対応

ModelSim の 32bit 依存

ModelSim は極めて 32bit 依存が強いです。以下のライブラリが特に重要です。

# 32bit libc と基本ライブラリ
sudo apt-get install -y libc6:i386 libncurses5:i386

# C++ 関連
sudo apt-get install -y libstdc++6:i386

# X11(GUI を使う場合)
sudo apt-get install -y libxext6:i386 libxrender1:i386

ModelSim 起動の確認

インストール後、ModelSim が起動するか確認します。

/opt/intelFPGA/18.1/modelsim_ase/bin/vsim -version

バージョン情報が表示されれば OK です。GUI を起動する場合は、X11 フォワーディングの設定も確認してください。

ModelSim ライセンスエラー

ModelSim を起動しても「License file does not exist.」というエラーが出る場合があります。
この場合は、前の記事のライセンス設定を確認してください。

ここでは環境固有の問題ではなく、ライセンス周りの話題なので割愛します。

動作確認チェックリスト

ここまでの設定後、以下を確認してください。

  • Quartus がコマンドラインで起動する
  • Quartus GUI が起動する
  • ModelSim(vsim)がコマンドラインで起動する
  • USB-Blaster II が lsusb で認識される
  • Quartus Programmer で「Hardware Setup」に USB-Blaster II が表示される

すべて ✓ であれば、環境構築は成功です。

ここからの詰まりどころ

環境が整った後、実際の評価を進める段階では、さらに異なる問題が出てくることがあります。

  • SoC EDS のクロスコンパイラの設定
  • ARM バイナリの実行権限設定
  • 端末通信(シリアル接続)の設定
  • カーネルモジュールのロード

これらは「環境構築」というより「評価実装」の領域なので、本記事では扱いません。
特に、CPU0 側のベアメタル演算と CPU1 側 Linux 運用をどう共存させるかは、次段階の実行基盤側で詰めるテーマです。

まとめ

  • Ubuntu 18.04 で Quartus や ModelSim を動かすには、32bit ライブラリと udev 設定が必須です。
  • 「ビルドツール → 32bit ライブラリ → USB デバイス設定」の順で進めると、問題を切り分けやすくなります。
  • 最初は「インストールが完了→実際に起動してみる→エラーに応じて追加インストール」という段階的な進め方が安全です。
  • この段階は、後続で HPS の 2 コアを役割分担させる構成を試すための準備でもあります。

これらの詰まりどころは、実は Arria10 SoC 特有ではなく、FPGA 開発全般で出会うものばかりです。
同じ環境で他のボードを評価する場合も、参考になれば幸いです。

関連記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?