さらに詳しい解析をするには、“タイミングを満たさなかったパスがどのように構成されているのか”の詳細をレポートにして確認します。
「Summary (Setup)」レポートで、詳細を確認したいクロックを選択して、右クリックしてください。表示されたショートカットメニューから[Report Timing]を選択します(図7)。
すると、「Report Timing」ダイアログが表示されます(図8)。このまま、[Report Timing]ボタンをクリックしても、詳細なレポートが作成されますが、下の項目を追加することで、表示するパスを絞り込むことができます。
[Report Timing]ボタンをクリックすると、レポートが表示されます(図9)。
まず、「Data Path」タブを詳しく見てみましょう(図10)。この画面は、「Data Arrival Path」と「Data Required Path」に分かれています。これは「データ到着時間」と「データ所要時間」のパスを表示しています(「データ到着時間」や「データ所要時間」の意味については、連載第1回「なぜいま、正しいタイミング解析が重要なのか?」を参照してください)。
この画面には、以下の情報が示されています(表1)。
Total | ・ノードまでの遅延時間の合計 | |
---|---|---|
Incr | ・ノードの遅延時間 | |
RF | ・信号の立ち上がり(Rise)、立ち下がり(Fall)のどちらを解析したパスかを示します | |
Type | ・ノードのタイプを示します | |
CELL | ・論理セル | |
IC | ・配線(Inter Connect) | |
COMP | ・PLLの位相補正値 | |
uTco/uTsu/uTh | ・フリップ・フロップの出力遅延、セットアップ時間、ホールド時間 | |
iExt/oExt | ・入出力の制約設定値 | |
Fanout | ・ノードのファンアウト数 | |
Location | ・ノードの配置された位置 | |
Element | ・ノードの名前 | |
表1 「Data Path」タブ内の項目 |
次に、「Waveform」タブを見てください(図11)。この画面には、選択したパスの「データ到達時間」「データ所要時間」「スラック」の関係が波形で表示されています。特に入出力タイミングの解析では、設計者が与えた制約と、解析した結果得られるスラックなどの数値の関係が分かりにくいことがあるので、この波形は非常に重宝します。
タイミングを満たさない原因はさまざまですが、「回路の実現方法の問題」と「配置の問題」から調べるのが一般的です。
TimeQuestでは、詳細なレポートからさらに進んで、回路の中身と位置を確認できます。図12に示すように、詳細レポートの適当な行を選んで、右クリックで現れるショートカットメニューから[Locate Path]を選びます。すると、「Locate」ダイアログが表示されるので、「Locate in」の項目から「Chip Planner」、または「Technology Map Viewer」を選んで[OK]ボタンをクリックします。
「Chip Planner」は、詳細レポートのパスがFPGA内でどのような位置にあるのかを表示します。図13に「Chip Planner」に「Locate」したときの画面を示します。詳細レポートに表示されていたパスがFPGA内でどのように配置されているかを各ステップの遅延情報とともに表示します。
「Technology Map Viewer」は、パスがどのような回路として実現されているかを表示します。図14に「Technology Map Viewer」に「Locate」したときの画面を示します。詳細レポートに表示されていたパスがどのような回路で実現されているかを表示します。
タイミング制約を満たしていない場合には、ツールの設定変更や、場合によっては設計変更により、改善する必要があります。タイミングを改善するためのツールの設定変更によるさまざまなチューニング・テクニックについては、連載「FPGA開発テクニック、チューニングの心得」に分かりやすくまとめられていますので、ぜひ参考にしてください。
Copyright © ITmedia, Inc. All Rights Reserved.