コンパイル時間を早めるには?FPGA開発テクニック、チューニングの心得(1)(1/2 ページ)

皆さんは本当にFPGAを使いこなせていますか? 今回はコンパイル時間を早める“チューニング・テクニック”を紹介します。

» 2007年08月28日 00時00分 公開
[島田順二(アルティマ),@IT MONOist]

FPGAを使いこなせていますか?

 FPGAを開発する環境は、ここ数年で大きく変化しています。FPGA自体の機能や能力の向上、開発ツールの各種設定やコンパイル性能の向上など目を見張るものがあります。

 ここで質問です。

 「これほど多機能・高性能なFPGAを皆さんは使いこなせていますか?」

 せっかくFPGAが多機能&高性能になっても、これらを確実に引き出せないとただの“宝の持ち腐れ”になってしまいます。本連載では、FPGAの機能を引き出す“チューニング・テクニック”“ノウハウ”について解説していきます。

編注:本連載では、アルテラの開発ツールQuartus® IIを使用したチューニングのポイントについて解説します。

開発環境を取り巻く環境は?

 FPGAが多機能&高性能になると、それに伴い開発ツールも多機能になっていきます。

 本連載で使用する、アルテラの開発ツールQuartus IIは「ワンプッシュ・コンパイル」をコンセプトにした開発ツールです。つまり、コンパイル開始ボタンをクリックすれば、特に細かな設定をしなくても開発ツールが最適化を行い、プログラミング・ファイルの生成までを一気に行ってくれます。

 しかし、実際の設計現場では、ワンプッシュ・コンパイルですべてが解決できず「もっと動作スピードが速くならないか」「もっと使用リソースを小さくしたいのに……」など、開発ツールを試行錯誤して使うケースが多いようです。

「仮想FAE」というコンセプト

 では、どのようにして細かなチューニングを行ったらよいのでしょうか?

 Quartus IIには、現状の設定に対して「この設定をこのように変更した方がよい」と画面上にアドバイスを表示してくれる「Advisor機能」が標準で備わっています。つまり、このAdvisor機能はFAE(Field Application Engineer)が手取り足取り設定を教えてくれる「仮想FAE」のようなものです。

 本連載では、設計者が常に直面する以下の4つのテーマを題材にAdvisor機能を使ったチューニング・テクニックとノウハウについて紹介していきます。

  1. コンパイル時間を早めるには?
  2. 集積効率のよい結果を引き出すには?
  3. 動作スピードを改善するには?
  4. より低消費電力にするには?

Advisor機能とは?

 Advisor機能はQuartus IIの[Tools]−[Advisors]で、各種のAdvisor機能を選択できます。

図2 Advisor機能を開いたQuartus IIの画面(画像をクリックすると拡大表示します)

本連載で使用するQuartus IIは、無償のWeb Editionです。最新のQuartus II Web Editionソフトウェアバージョン 7.1サービス・パック1は、アルテラのWebサイトから入手できます。

ダウンロードした後のインストール方法やライセンスの設定は、Quartus II Web Editionのポータルサイトを参考にしてください。

また、初心者向けのQuartus II使用方法もアルティマの技術サイト「EDISON(エジソン)」に公開されています。アルティマFPGA/CPLD関連情報サイト「Alt-vista」から事前登録すれば、無料で閲覧できます。

 例えば「Compilation Time Advisor」を開くと、図3のようなウィンドウが開きます。

図3 Compilation Time Advisor機能を開いたウィンドウ (画像をクリックすると拡大表示します)

 左側に各種設定項目が一覧で表示されています。また、右側の画面に一覧で選択した設定の詳細が表示されます。

 左側のウィンドウの(アラートマーク)が出ている項目は、Advisorが「この設定は変更した方がよい」と教えてくれているものです。また、(チェックマーク)になっている項目は、Advisorが推奨する設定になっていることを示します。(アラートマーク)の項目をクリックすると、右側のウィンドウに詳細が表示されます。

 ウィンドウを見ると「Recommendation」「Description」「Summary」「Action」と記載されています。頑張って英文を読んで内容を確認するのが望ましいのですが、「Action」のCurrent Global Settingsを[Recommendation]にすれば問題ありません。

 次に、左側の項目に注目してください。「Stage1」「Stage2」「Stage3」と表示されているのにお気付きでしょうか。これは、設定変更の「第1段階」「第2段階」「第3段階」といった意味です。

 まずは「Stage1」の項目を設定して、コンパイルしてください。もし、それでも要求を満たさなかった場合は、「Stage2」の項目を設定してみる(なければ「Stage3」へ)。このように徐々に設定項目を増やす方が効率よくチューニングできます。

 「アラートマークをすべてRecommendにしよう!」と、最初からあれもこれも設定することは必ずしもよい結果を導き出せるとは限りません。


関連キーワード

FPGA関連 | FPGA | 回路


       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.