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

» 2007年08月28日 00時00分 公開
[島田順二(アルティマ),@IT MONOist]
前のページへ 1|2       

チューニング:コンパイル時間を早めるには?

 今回は、コンパイル時間を早める「Compilation Time Advisor」機能について見ていきましょう。

 FPGAが大規模化すると相対的にコンパイル時間は長くなります。デバイスが大規模化するにつれて開発ツールの性能も上がっているのですが、今後も規模が大きいデバイスのリリースが予想されますので、コンパイル時間を早めることは普遍的なテクニックになるでしょう。

 では、具体的にチューニングの手順を紹介します。

今回は、基本的なFIRフィルタのデザインを使用します。ファイル名は、Basic_FIRです。圧縮したデザイン「Basic_FIR.lzh」を自由にダウンロードして利用してください。


 Basic_FIR.lzhを解凍すると、図4のようなファイルがあります。

図4 Basic_FIRのファイル・リスト

 Quartus II Ver7.1 Service Pack 1を起動して、[File]−[Open Project]からファイル・リストにある“Basic_FIR.qpf”を選択。Basic_FIRのプロジェクトを開きます。

 まずは何もしない状態でどのくらいのコンパイル時間がかかるか、実際に試してみましょう。

 コンパイルの開始は[Processing]−[Start Compilation]、またはアイコンをクリックします。

 “Full Compilation was successful”とポップアップ・メッセージが出ればコンパイルは終了です(図5-1)

図5-1 コンパイルの終了画面 (画像をクリックすると拡大表示します)

 画面左の「Status」ウィンドウを見ると、コンパイルにかかった時間が分かります。チューニング前は「1分6秒」かかっています(図5-1)(注)

:コンパイルにかかる時間はPCのスペックやほかのアプリケーションの起動状況によって変化します。


 では、この結果を基にコンパイル時間をAdvisorで早めてみましょう。

 [Tools]−[Advisor]−[Compilation Time Advisor]を選択します。すると「Reduce Fitting Time」に(アラートマーク)が付き、「Reduce Fitting Time」の項目に“何か変更の余地あり”とAdvisorが教えてくれています(図5-2)

図5-2 Compilation Time Advisorを開いた画面 (画像をクリックすると拡大表示します)

 それでは「Reduce Fitting Time」を展開してみましょう。そうすると[Stage1]の「Select “Auto Fit” under “Fitter Effort”」に(アラートマーク)が付いています。続けて、この項目を確認してみましょう。

 [Stage1]の「Select “Auto Fit” under “Fitter Effort”」を選択すると「Recommendation」の欄に以下のような記載があります。

 Select "Auto Fit" under the "Fitter Effort" to allow the Fitter to better manage your compilation time.

 つまり「“Fitter Effort”の項目にある設定を“Auto Fit”にすると、よりコンパイル時間のマネジメントがよい」と教えてくれています。

 「Action」の“Current Global Settings”の部分は

 Current Global Settings : Fitter Effort = STANDARD FIT (Recommended: AUTO FIT)

となっています(図6)。現在は“STANDARD FIT”になっており“AUTO FIT”にすることを推奨しています。

図6 Current Global Settingsの確認

 それでは、「Action」の「Correct the Settings」のボタンをクリックしてください。これで、Fitter Effort = AUTO FITに変わり、推奨設定に変更できます(図7)

図7 Correct the Settingsをクリックしたときの画面

 では、コンパイル時間が早くなるか実際に試してみましょう。

 コンパイルの開始は[Processing]−[Start Compilation]、またはアイコンをクリックしてください。

 コンパイル終了後、“Status”“Full Compilation”の時間を見てみると、結果は「52秒」になりました(図8)

図8 AUTO FIT設定後のコンパイル結果

 Advisorの推奨どおりに、Fitter Effortを「STANDARD FIT」から「AUTO FIT」に変更することで、コンパイル時間が早まりました。

 今回の例では、回路規模が小さいので「コンパイル時間が激減した!」とは感じづらいかもしれません。しかし、回路規模が大きかったり、使用効率が高かったりすると、この設定変更がコンパイル時間に大きく影響します。

 ここで、「Fitter Effortとは何の設定なのだろう?」と疑問を持たれる方もいると思いますので、“Open Settings dialog box - Fitter Settings page”をクリックしてみてください(図9)

図9 Open Settings dialog box - Fitter Settings page

 すると、「Setting」のウィンドウが開き、中央にFitter Effortの項目があります(図10)

図10 Fitter Settings の画面

 「Fitter Effort」の項目には、

  • Standard Fit (Highest effort)

  • Fast Fit (up to 50% faster compilation / may reduce fmax)

  • Auto Fit (reduce Fitter effort after meeting timing requirements)

の3項目があり、先ほどの「Correct the Settings」をクリックすることにより、ここの設定を変更したことになります。

 このFitter Effortは、フィッティングに関する効果を変更でき、下記のような異なる結果を得ることができます。

  • Standard Fit → Fmaxを優先

  • Fast Fit → コンパイル時間を優先

  • Auto Fit → Fmaxを優先し、条件を満たしたら終了

 一見、Fast Fitがコンパイル時間を短くするようですが、Fmaxなどのタイミングを満たさなければ意味がありませんのでAuto Fitが「Recommendation」になったということです。

 今回は「Compilation Time Advisor」を例に、Advisor機能の紹介と具体的な手順を紹介しました。

 このようにAdvisor機能を使うと初心者からベテランの方まで、開発ツールが持っているさまざまな設定を迷うことなく選択できるようになります。

 次回は「集積効率のよい結果を引き出すには?」をテーマに、Advisor機能の具体的な手順とその解説を行う予定です。


関連キーワード

FPGA関連 | FPGA | 回路


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.