さらに「Stage3」に進んでみましょう。「Starge3」にはマーク(アラートマーク)が5つあります。
ここでは以下の3つについて紹介します(図13)。
レジスタから出力する数(ファンアウト)の最大値を設定できます。設定したファンアウト数よりも多く出力する必要がある場合は、レジスタを複製することで、レジスタが遠くに配置され配線遅延が増えることを防ぎます(図14)。
デバイスの規模やデザインにより、最適なファンアウト数は異なります。筆者の経験上からいうと、ファンアウト数は“30〜100”くらいで設定し、結果を確認するとよいでしょう。
配置配線を行うときに、タイミングの改善をどの程度優先させるかを設定できます。通常設定の「Normal」は、回路の容量とタイミング改善の両方のバランスを考慮して配置を行います。一方、推奨する「MAXIMUM」に設定するとタイミングの改善を最優先にします(図15)。
ちなみに、推奨する「MAXIMUM」設定により回路の容量が増えたり、コンパイル時間が長くなる場合がありますので注意してください。
デバイスの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)。
◇
今回は、“Timing Optimization Advisor”の機能をStageごとに紹介しました。特に「Stage1」で紹介した“Use netlist optimizations”や「Stage2」で紹介した“Use physical synthesis optimizations”は強力なタイミング改善の設定項目ですので、ご自分のデザインでぜひ試してみてください。
次回は「より低消費電力にするには?」をテーマにAdvisor機能の解説を行います。
Copyright © ITmedia, Inc. All Rights Reserved.