タイミングを改善し、動作速度を向上させるには?FPGA開発テクニック、チューニングの心得(5)(2/2 ページ)

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

動作スピード改善テクニック:「Stage3」

 さらに「Stage3」に進んでみましょう。「Starge3」にはマーク(アラートマーク)が5つあります。

 ここでは以下の3つについて紹介します(図13)

  • Duplicate logic for fan-out control
  • Set maximum router effort
  • Avoid unrelated register packing


図13 「Stage3」の表示画面 (画像をクリックすると拡大します)

1.Duplicate logic for fan-out control

 レジスタから出力する数(ファンアウト)の最大値を設定できます。設定したファンアウト数よりも多く出力する必要がある場合は、レジスタを複製することで、レジスタが遠くに配置され配線遅延が増えることを防ぎます(図14)

図14 “Duplicate logic for fan-out control”の設定画面 (画像をクリックすると拡大します)

 デバイスの規模やデザインにより、最適なファンアウト数は異なります。筆者の経験上からいうと、ファンアウト数は“30〜100”くらいで設定し、結果を確認するとよいでしょう。

2.Set maximum router effort

 配置配線を行うときに、タイミングの改善をどの程度優先させるかを設定できます。通常設定の「Normal」は、回路の容量とタイミング改善の両方のバランスを考慮して配置を行います。一方、推奨する「MAXIMUM」に設定するとタイミングの改善を最優先にします(図15)

図15 “Set maximum router effort”の設定画面 (画像をクリックすると拡大します)

 ちなみに、推奨する「MAXIMUM」設定により回路の容量が増えたり、コンパイル時間が長くなる場合がありますので注意してください。

3.Avoid unrelated register packing

 デバイスのLE(Logic Element)には、組み合わせ論理を構成できるLUT(Look Up Table)とレジスタで構成されています。LUTとレジスタを一緒に使用する場合もありますが、LUTしか使用しないLEやレジスタしか使用しないLEも存在します。このようなLEに対して、LUTとレジスタを個別に使用してLEの使用個数を削減する設定を「Register Packing」といいます(図16)

図16 “Register Packing”の概念図

 このRegister Packingの設定については「集積効率のよい結果を引き出すには?」ですでに紹介しました。この設定が「AUTO」の場合は集積効率を優先した設定で、「Normal」の場合はタイミング改善を優先した設定になります。デバイスの使用率を考慮してRegister Packingの設定を行うようにしてください(図17)

図17 “Avoid unrelated register packing”の設定画面 (画像をクリックすると拡大します)

 今回は、“Timing Optimization Advisor”の機能をStageごとに紹介しました。特に「Stage1」で紹介した“Use netlist optimizations”や「Stage2」で紹介した“Use physical synthesis optimizations”は強力なタイミング改善の設定項目ですので、ご自分のデザインでぜひ試してみてください。

 次回は「より低消費電力にするには?」をテーマにAdvisor機能の解説を行います。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.