TimeQuestによるタイミング解析を学ぶ必修! FPGAタイミング解析の基礎(5)(3/3 ページ)

» 2009年03月13日 00時00分 公開
[小原成介(日本アルテラ),@IT MONOist]
前のページへ 1|2|3       

確認しなくてはならないレポートは?

 以下に示したセットアップ解析やホールド解析結果のレポートの確認をしない人はいないと思いますが、これら以外にも必ず確認が必要なレポートがいくつかあります。

  • Report Setup Summary
  • Report Hold Summary
  • Report Recovery Summary
  • Report Removal Summary

Report Minimum Pulse Width

 まず、「Report All Summaries」コマンドを実行したときにできる「Minimum Pulse Width」レポートを確認してください。このレポートでは、クロックのHighとLowの幅が十分かどうかを確認します。クロックの幅が十分でないと、フリップ・フロップやRAMは、クロック・パルスとして正しく認識できないため、このチェックが必要になります。図15に「Minimum Pulse Width」レポートの例を示します。

Report Minimum Pulse Width 図15 Report Minimum Pulse Width

 上に挙げたレポートは、回路が要求を満たしているかどうかの確認のためのものでした。これ以外に制約の妥当性を確認するためのレポートがあります。連載第1回で説明したとおり、制約の間違いは、設計の間違いと同じくらい気を付ける必要があります。以下に示すレポートを使って、制約が漏れなく、正しく設計要求を反映していることを確認します。

Report Clocks

 定義したクロックの名前、種類、周波数などが表示されます(図16)。特に分周やPLL出力など、派生クロックが思いどおりに定義されていることを確認してください。

Report Clocks 図16 Report Clocks

Report Clock Transfers

 クロックの組み合わせごとに、データ・パス数を表示します(図17)。セットアップ、ホールド、リカバリー、リムーバルの4種類のレポートがあります。クロック間の関係を非同期または、排他として定義している場合はフォルス・パスとして表示されます。

Report Clock Transfers (Setup) 図17 Report Clock Transfers (Setup)

Report Unconstrained Paths

 制約されていないパスを表示するレポートです(図18)。すべてのパスは漏れなく、制約されている必要があるため、このレポートにエラーがないことを確認する必要があります。レポートされたパスが考慮不要な場合には、フォルス・パスの指定をしてください。

Report Unconstrained Paths 図18 Report Unconstrained Paths

Report Ignored Constraints

 “SDCコマンドに指定するノード名が間違っている”などの理由で、TimeQuestが無視した制約を表示します。

Check Timing

 回路と制約の潜在的な問題点をレポートします(図19)。回路の問題点は、例えば、論理ループやラッチ、クロックのつながっていないフリップ・フロップが含まれる、などの内容です。制約の問題点は、例えば、入出力遅延を設定していないポートがある、定義したが使われていない仮想クロックがある、などの内容です。

Check Timing 図19 Check Timing

別の動作条件での解析方法は?

 タイミング解析には、異なる動作条件を考える必要がありました。復習になりますが(連載第1回を参照)、プロセスのばらつき、電圧と温度変動を考慮して、どの場合であってもタイミング制約を満足することを確認するためには、少なくとも「Slow corner」と「Fast corner」の2つの条件での解析が必要でした。

 TimeQuestは、Stratix IIICyclone IIIなど、65nmプロセス以降のデバイスに対しては、3つの条件で解析を行います。例えば、商用のスピード・グレードのStratix IIIでは、以下の3つが動作条件となります(表2)。

No. プロセス 電圧 温度
1 Slow 1100mV 85℃ Slow corner
2 Slow 1100mV 0℃
3 Fast 1100mV 0℃ Fast corner
表2 Stratix IIIの動作条件

 ここまで説明してきた方法では、すべて初期設定の「Slow corner」で解析が行われます。別の動作条件で解析をするためには、「set_operating_conditions」コマンドを使います。TimeQuestのGUIから図20のように、メニュー[Netllist]−[Set Operating Conditions]を選択します。

動作条件の変更 図20 動作条件の変更

 実行後はこれまでの説明と同じように、レポートを作成してタイミングを確認します。図21は同じセットアップ・パスに対して、「Slow corner」と「Fast corner」のレポートを示しています。ゲートや配線の遅延が変化していることが分かると思います。

動作条件によるタイミングの違い 図21 動作条件によるタイミングの違い


 今回はアルテラ社のタイミング解析ツール「TimeQuest」を使った、タイミングの解析方法を紹介しました。ここまでの内容をもって本連載は終了となります。最後までお付き合いいただきありがとうございました。本連載が皆さんのFPGA開発の手助けになれば幸いです。(連載完)


関連キーワード

FPGA関連 | 回路 | FPGA | 設計 | ASIC | 半導体


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.