マ ッ ピ ング後の タ イ ミ ング解析 Lattice Diamond 日本語ユーザガ イ ド 2015 年 3 月 第 13 章 マ ッ ピ ン グ後の タ イ ミ ング解析 マ ッ ピ ン グ (Map Design) プ ロ セ ス完了後 (配置配線実行前) には、 仮配線遅延での静的 タ イ ミ ン グ解析 (Map Trace) と 、 ネ ッ ト リ ス ト に よ る シ ミ ュ レーシ ョ ンでの機能検証を行 う こ と がで き ます。 本章では タ イ ミ ン グ解析の実行方法 と オプシ ョ ン設定の詳細、 それにシ ミ ュ レーシ ョ ン用のネ ッ ト リ ス ト 生成方法等につ いて説明 し ます。 13.1 Map Trace タ イ ミ ン グ解析 (ま たは Map Trace) は Map Design 完了後のネ ッ ト リ ス ト を使っ た、 静的 タ イ ミ ン グ検証 (STA) です。 Place & Route プ ロ セ ス実行前に検証を行 う こ と に よ り 、 事前に ク リ テ ィ カルパ ス にな り そ う な パ ス に対 し て対策を行 う こ と がで き ます。 13.1.1 Map Trace におけ る 配線遅延 タ イ ミ ン グ解析は LUT やレ ジ ス タ 等のゲー ト 遅延、 デー タ パ ス の配線遅延、 お よ び ク ロ ッ ク 配線の遅延を 使用 し て行われます。 LUT やレ ジ ス タ 等のゲー ト 遅延は配置配線前で も 分か っ てい る ので適当な値で解析が 行われますが、 配置配線前ではデー タ パ スお よ び ク ロ ッ ク の配線遅延を正確に知 る こ と がで き ません。 こ の ため Map Trace では、 配線遅延は見積 も っ た値 (見積 も り 方法は後述) を使用 し て解析を行い ます。 13.1.2 Map Trace の実行 仮配線遅延での タ イ ミ ン グ解析プ ロ セ ス は、 Process ウ イ ン ド ウ の Map Design プ ロ セ ス ツ リ ーの下にあ る [Map Trace] です (図 13-1)。 図 13-1. タ イ ミ ン グ検証の実行 プ ロ セ ス名の左側にあ る チ ェ ッ ク ボ ッ ク ス にチ ェ ッ ク が入っ てい る と 、 Map Design プ ロ セ ス完了後に自動 的に実行 さ れます。 チ ェ ッ ク が入っ ていない場合で も 、 プ ロ セ ス名を ダブル ク リ ッ ク すれば実行 さ れます。 13.1.3 タ イ ミ ン グ検証の ス ト ラ テ ジ設定 仮配線遅延での タ イ ミ ン グ検証では、 ス ト ラ テジ設定に よ る 検証条件やレ ポー ト ス タ イ ル等を変更す る こ と がで き ます。 © 2014 Lattice Semiconductor Corp. (註 : 本 Lattice Diamond 日本語マニ ュ アルは、 日本語に よ る理解のため一助 と し て提供 し てい ます。 その作成にあ た っ ては各 ト ピ ッ ク について、 それぞれ可能な限 り 正確を期 し てお り ますが、 必ず し も 網羅的ではな く 、 或いは最新でない可能性があ り ます。 ま た、 意図せずオ リ ジナル英語版 オン ラ イ ンヘルプや リ リ ース ノ ー ト な ど と 不一致があ る 場合 も あ り 得ます。 疑義が生 じ た場合は、 ラ テ ィ ス セ ミ コ ン ダ ク タ ー正規代理店の技術サポー ト 担当にお問 い合わせ頂 く か、 ま たは極力最新の英語オ リ ジナル ・ ソ ース ド キ ュ メ ン ト を併せて参照する よ う にお願い致 し ます。) www.latticesemi.com 13-1 JUG_D3.3MapTrace_v1.0 Lattice Diamond 日本語ユーザガ イ ド 図 13-2. Map Trace の ス ト ラ テジ 仮配線遅延での タ イ ミ ン グ検証は、 ス ト ラ テジ設定ウ イ ン ド ウ 左側の一覧か ら [Map Trace] を選択 し ます (図 13-2)。 以下に各オプシ ョ ンの詳細を説明 し ます。 Analysis Option パ ラ メ ー タ : Standard Setup and Hold Analysis / Standard Setup Analysis / Hold Analysis / Standard Setup with Hold Analysis on IO デフ ォ ル ト 値 : Standard Setup and Hold Analysis 実行す る 解析内容の選択です。 解析内容は表 13-1 の よ う にな り ます。 表 13-1. 解析オプシ ョ ン と 内容 解析内容選択 内部レジスタ間タイミング 入力信号タイミング 出力信号タイミング 最大動作速度 内部レジスタ間 Setup-time Hold-time 最大遅延 最小遅延 (周期 or 周波数) Hold-time Standard Setup and Hold Analysis ○ ○ △ △ △ △ Standard SetupAnalysis ○ × △ × △ × Hold Analysis × ○ × △ × △ Standard Setup with Hold Analysis on IO ○ × △ △ △ △ ○ : 解析が実行 さ れ る (基本的には制約が設定 さ れてい る 場合のみ) △ : 解析は実行 さ れ る が、 (特に ク ロ ッ ク が) 仮配線遅延では参考にな ら ない × : 解析は実行 さ れない Auto Timing パ ラ メ ー タ : True / False デフ ォ ル ト 値 : True 制約フ ァ イ ル (lpf) 内に タ イ ミ ン グ制約が全 く 設定 さ れていない場合の処理に関す る 設定です。 True (デフ ォ ル ト ) では、 lpf フ ァ イ ル内に全 く 制約が設定 さ れていない と 、 自動的に制約が設定 さ れてそ れが prf ( タ イ ミ ン グ検証で使用す る 制約フ ァ イ ル) に記述 さ れます。 False を選択 し た場合は、 prf には タ イ ミ ン グ制約が記述 さ れません。 ただ し 、 こ の場合で も 解析は行 われ、 パ ス遅延の大 き なパ ス か ら 順に レ ポー ト さ れます。 JUG_D3.3MapTrace_v1.0 13-2 マ ッ ピ ング後の タ イ ミ ング検証 Check Unconstrained Connections (Diamond 2.x 以降) パ ラ メ ー タ : True / False デフ ォ ル ト 値 : False タ イ ミ ン グ制約の対象外 (制約がない、 或いは BLOCK 制約) と な る コ ネ ク シ ョ ンの レ ポー ト に関す る 設定です。 デフ ォ ル ト (False) では何 も レ ポー ト さ れません。 True を選択 し た場合は、 解析対象外 と な っ た コ ネ ク シ ョ ンの リ ス ト が レ ポー ト さ れます。 Check Unconstrained Paths パ ラ メ ー タ : True / False デフ ォ ル ト 値 : False タ イ ミ ン グ制約の対象外 (制約がない、 或いは BLOCK 制約) と な る パ ス の レ ポー ト に関す る 設定で す。 False (デフ ォ ル ト ) では何 も レ ポー ト さ れません。 True の場合は、 解析対象外 と な っ たパス の リ ス ト が レ ポー ト さ れます。 Full Name パ ラ メ ー タ : True / False デフ ォ ル ト 値 : False レ ポー ト 内の長い リ ソ ー ス名の表示に関す る 設定です。 False (デフ ォ ル ト ) では、 リ ソ ー ス名が長 い と (問題ない範囲で) 省略 し て表示 さ れます。 True を選択す る と 、 常に省略 さ れずに全て表示 さ れます。 Number of Unconstrained Paths (0 to 4096) (Diamond 2.x 以降) パ ラ メ ー タ : [0 - 4096] デフ ォ ル ト 値 : な し (無効) レ ポー ト す る 未制約パ ス数に関す る 設定です。 「Check Unconstrained Paths] を [True] に し た場合に、 レ ポー ト すべ き パ ス数を数値で入力 し ます。 Check Unconstrained Paths を True に し た場合にのみ入 力が可能にな り ます。 Report Asynchronous Timing Loops パ ラ メ ー タ : True / False デフ ォ ル ト 値 : False 非同期で信号がループす る パ ス の レ ポー ト に関す る 設定です。 False (デフ ォ ル ト ) の場合は、 何 も レ ポー ト さ れません。 True を選択す る と 、 図 13-3 の よ う な レ ジ ス タ を解 さ ないループや非同期 リ セ ッ ト 等を解 し た非同期 のループ等、単純な遅延の加算では正 し く 解析がで き ない可能性のあ る パ ス について レ ポー ト さ せ る こ と がで き ます。 図 13-3. 非同期ループパス の例 13-3 JUG_D3.3MapTrace_v1.0 Lattice Diamond 日本語ユーザガ イ ド Report Style パ ラ メ ー タ : Verbose Timing Report / Error Timing Report デフ ォ ル ト 値 : Verbose Timing Report レ ポー ト す る 内容についての設定です。 デフ ォ ル ト (Verbose Timing Report) の場合は タ イ ミ ン グエ ラ ーの有無に関わ ら ず、 制約に対 し てマージ ンの小 さ いパス か ら レ ポー ト さ れます。 従っ て タ イ ミ ン グエ ラ ーが無 く て も ワース ト ケースパ ス を知 る こ と がで き ます。 Error Timing Report を選択 し た場合は、 タ イ ミ ン グエ ラ ーをお こ し たパス だけが レ ポー ト さ れます。 従っ て、 タ イ ミ ン グ エ ラ ーが無か っ た場合、 最大動作周波数は レ ポー ト さ れ ま すがパ ス の情報は レ ポー ト さ れません ( 図 13-4)。 図 13-4. Error Timing Report を選択 し た場合の レ ポー ト の例 Route Estimate Algorithm (%) パ ラ メ ー タ : 0 ま たは 1 ~ 100 デフ ォ ル ト 値 : 0 解析の際の仮配線遅延の見積 も り に関す る 設定です。 0 (デフ ォ ル ト 値) の場合は、 デフ ォ ル ト で設 定 さ れてい る 配線遅延が使用 さ れます。 1 ~ 100 ま での場合は、 選択 し た値がパ ス全体に占め る ゲー ト 遅延の割合 (%) にな る よ う 計算 さ れ た配線遅延が使用 さ れます。 例えば [30] を設定 し た場合、 ゲー ト 遅延の合計が 6ns だ と す る と 配線 遅延の合計が 14ns にな る よ う な値が適用 さ れます。 設定値は 「配線遅延の割合」 ではないので注意 し て く だ さ い。 図 13-5. Route Estimate Algorithm を 30 に設定 し た場合の レ ポー ト Worst Case Paths (0-4096) パ ラ メ ー タ : 1 ~ 4096 ま たは 0 デフ ォ ル ト 値 : 1 JUG_D3.3MapTrace_v1.0 13-4 マ ッ ピ ング後の タ イ ミ ング検証 詳細が レ ポー ト さ れ る パ ス数の設定です。 1 ~ 4096 の場合は、 制約ご と にその値 と 同 じ だけのパ ス の詳細 (経路や各 リ ソ ース の遅延等) が レ ポー ト さ れます。 0 の場合は、 全てのパス の詳細が レ ポー ト さ れます。 大 き なデザ イ ンだ と フ ァ イ ルサ イ ズが大 き 過ぎ て開けな く な る こ と も あ る ので注意 し て く だ さ い。 13.2 Map Trace レ ポー ト 13.2.1 出力 さ れ る レ ポー ト フ ァ イ ル Map Trace プ ロ セ ス実行時には、 イ ンプ リ メ ン テーシ ョ ン ・ フ ォ ルダに html と テ キ ス ト 形式の レ ポー ト が 出力 さ れ ま す。 内容は ど ち ら も 同 じ ですが、 フ ァ イ ル名はそれぞれ以下の よ う にな り ま す。 html 形式の レ ポー ト は、 Lattice Diamond の Report ウ イ ン ド ウ で見 る こ と がで き ます。 html 形式 テ キ ス ト 形式 : プ ロ ジ ェ ク ト 名 _ イ ンプ リ メ ン テーシ ョ ン名 _tw1.html : プ ロ ジ ェ ク ト 名 _ イ ンプ リ メ ン テーシ ョ ン名 .tw1 図 13-6. Map Trace レ ポー ト 例 解析内容の表示 (Setup or Hold) 対象デバイス/スピードグレードや解析対象のネ ットリスト/制約ファイルの情報 13.2.2 レ ポー ト 内容の概要 レ ポー ト には、 解析の結果 と し て主に以下の よ う な内容について レ ポー ト さ れます (レ ポー ト 順)。 • • • • • • • 解析実行環境の レ ポー ト 各制約に対す る 解析の詳細レ ポー ト 解析結果のサマ リ ク リ テ ィ カルネ ッ ト 情報 ク ロ ッ ク ド メ イ ン解析情報 解析対象外 コ ネ ク シ ョ ンやパ ス の レ ポー ト 総パ ス数や解析カバレ ッ ジの レ ポー ト 13-5 JUG_D3.3MapTrace_v1.0 Lattice Diamond 日本語ユーザガ イ ド 13.2.2.1 解析実行環境のレポー ト 図 13-6 の よ う に レ ポー ト フ ァ イ ルの先頭には、ヘ ッ ダ と し て解析を行っ た ツールや ラ イ ブ ラ リ のバージ ョ ン、 解析対象のネ ッ ト リ ス ト お よ び制約フ ァ イ ル等の情報が レ ポー ト さ れます。 「Report Information」 の後に は 「Preference Summary」 と し て 各周波数制約 に 対す る サ マ リ 部 が 続 き 、 そ の 後 Diamond 2.x 以降 で は 「Unconstrained:」 と し て未制約パ ス に関す る サマ リ 部が設け ら れてい ます (図 13-7 左)。 こ れは ス ト ラ テジ設定で 「Check Unconstrained Paths」 を [True] に し た場合に レ ポー ト さ れます。 制約 タ イ プ と し て CLOCK_DOMAIN、 INPUT_SETUP、 CLOCK_TO_OUTPUT、 お よ び MAXDELAY の 4 つが リ ス ト さ れます。 それぞれ ク リ ッ ク す る と ジ ャ ンプす る 詳細レ ポー ト ・ セ ク シ ョ ン をチ ェ ッ ク す る こ と に よ り (図 137 右)、 本来制約 さ れ る べ き 箇所が漏れていないかの把握がで き ます。 図 13-7. 未制約パス のサマ リ 部 と 詳細例 未制約パスのサマリ クリックで詳細へ 13.2.2.2 各制約に対する解析の詳細レポー ト 設定 し た制約毎に詳細な解析情報が レ ポー ト さ れます。 先頭には、 制約記述、 その制約の対象 と な っ たパ ス数お よ びエ ラ ーの数が レ ポー ト さ れます。なお、解析対象パ ス数の表示は、ス ト ラ テジの [Worst Case Paths] の設定値に依存 し ます。 [0] 以外が設定 さ れてい る 場合には、 対象パ ス が [4096] を超え ていて も 表示 さ れ る 最大値は [4096] です。 [0] を設定 し た場合は、 [4096] を超えた値 も 表示 さ れます。 *****-----------------• レ ポー ト の解析パ ス数の表示が [4096] であ っ て も 、 解析は 4096 を超え る 全てのパ ス を対象に行われ てい ます *****----------------- その後に、 タ イ ミ ン グマージ ンの少ないパ ス か ら 順に、 詳細情報が レ ポー ト さ れます。 パ ス ご と の レ ポー ト の 1 行目には タ イ ミ ン グ制約に対す る 合否判定 と 、 タ イ ミ ン グマージ ン (エ ラ ーの場 合は不足分) が表示 さ れます。 行頭に [Passed] と 書かれていれば、 タ イ ミ ン グ要求を満た し てい る こ と を表 し ます。 行末に書かれてい る 数値は タ イ ミ ン グマージ ンです。 タ イ ミ ン グ要求が満た さ れていない場合は行頭に [Error] と 表示 さ れます。 こ の場合、 行末に記載 さ れてい る 数値は、 要求値に対す る 不足/超過分にな り ます。 JUG_D3.3MapTrace_v1.0 13-6 マ ッ ピ ング後の タ イ ミ ング検証 図 13-8. 詳細レ ポー ト 例 エラーパス数 解析の対象パス数 タイミング要求に対する合否 判定と、タイミングマージン 解析対象パスの始点と終点 パスの経路と遅延情報 次に レ ポー ト さ れ る のはパ ス の始点お よ び終点のオブジ ェ ク ト 名の情報です。 ク ロ ッ ク エ ッ ジで動作す る オブジ ェ ク ト (FF やブ ロ ッ ク メ モ リ 等) は、 オブジ ェ ク ト 名の右側括弧内に使用 さ れてい る ク ロ ッ ク 名 と エ ッ ジ (+: 立ち上が り 、 - : 立下 り ) が表示 さ れます。 個別パ ス レ ポー ト の最後は、 パ ス の経路 と 遅延情報です。 Map Trace では配線遅延に見積 も り 値が使用 さ れてお り 、 レ ポー ト 内にそれを表すため遅延値の左側に [e] の文字が表示 さ れてい ます。 パ ス の経路 と 遅延情報は、 制約の種類や回路構成に応 じ て必要 と さ れ る デー タ パ スや ク ロ ッ ク 遅延等が レ ポー ト さ れます。 13.2.2.3 解析結果のサマ リ 制約 と 検証結果のサマ リ が レ ポー ト さ れます (図 13-9)。 [Preference] は制約記述、 [Constraint] はその解析 で適用 さ れた制約の要求値、 [Actual] は解析結果、 [Levels] は ク リ テ ィ カルパ ス の論理回路段数です。 制約を 満たせてない項目については、 論理回路段数の右側に [*] 印が表示 さ れます。 図 13-9. Map Trace の Report Summary の例 要求値を満たせて いない場合に表示 される印 13-7 JUG_D3.3MapTrace_v1.0 Lattice Diamond 日本語ユーザガ イ ド 13.2.2.4 ク リ テ ィ カルネ ッ ト 情報 タ イ ミ ン グエ ラ ーがあ る 場合、 解析結果のサマ リ に続 き タ イ ミ ン グ要求を満た し ていないパ ス に共通 し て 含まれてい る ネ ッ ト 名が レ ポー ト さ れます (図 13-10)。 全ての タ イ ミ ン グ要求を満た し てい る 場合は、 こ の 項目はレ ポー ト さ れません。 [Critical Nets] は該当す る ネ ッ ト 名、 [% of total] はそのネ ッ ト を含む タ イ ミ ン グ エ ラ ーパ ス の割合を表 し ます。 図 13-10. ク リ テ ィ カルネ ッ ト の レ ポー ト 例 13.2.2.5 ク ロ ッ ク ド メ イ ン解析情報 図 13-11. ク ロ ッ ク ド メ イ ン解析レ ポー ト 例 抽出ドメインと制約 各ドメインを終点とする別 ドメイン始点のパスと制約 タ イ ミ ン グ解析ツールがネ ッ ト リ ス ト か ら 抽出 し た ク ロ ッ ク ネ ッ ト と 、 それに適用 さ れた タ イ ミ ン グ制約 の リ ス ト が レ ポー ト さ れます。 ク ロ ッ ク ド メ イ ン を ま た ぐ パ ス があ っ た場合は、ネ ス ト さ れてパス の始点側レ ジ ス タ の ク ロ ッ ク の情報 と 、 そのパ ス に適用 さ れた制約や、 その制約の対象 と な っ たパ ス数が レ ポー ト さ れます。 こ の レ ポー ト で、 必要 な制約が全て設定 さ れてい る こ と を確認 し て く だ さ い。 JUG_D3.3MapTrace_v1.0 13-8 マ ッ ピ ング後の タ イ ミ ング検証 13.2.2.6 未制約コ ネ ク シ ョ ン ・ レポー ト ス ト ラ テジで 「Check Unconstrained Connections」 を [True] に設定 し た場合、 タ イ ミ ン グ制約解析の対象 と な ら なか っ た コ ネ ク シ ョ ン の情報が レ ポー ト さ れ ま す。 従来の タ イ ミ ン グ詳細レ ポー ト と 同様の形式です。 本来は制約が与え ら れ る べ き コ ネ ク シ ョ ンが含まれていない こ と の確認を推奨 し ます。 図 13-12. 未制約 コ ネ ク シ ョ ン ・ レ ポー ト 例 13.2.2.7 総コ ネ ク シ ョ ン数 と 解析カバレ ッ ジのレポー ト レ ポー ト の最後には、 コ ネ ク シ ョ ンに対す る 解析のカバレ ッ ジが レ ポー ト さ れます。 カバレ ッ ジが 100% で あ る 必要はあ り ませんが、 必ず詳細レ ポー ト で解析 さ れていないパ ス の確認を行っ て く だ。 図 13-13. 解析カバレ ッ ジの レ ポー ト 例 13.3 シ ミ ュ レーシ ョ ン用ネ ッ ト リ ス ト の作成 シ ミ ュ レーシ ョ ン用のネ ッ ト リ ス ト を作成は、 Process ウ イ ン ド ウ の Map Design プ ロ セ ス ツ リ ーの下にあ る [VHDL Simulation File] お よ び [Verilog Simulation File] プ ロ セ ス です (図 13-14)。 図 13-14. シ ミ ュ レーシ ョ ン用ネ ッ ト リ ス ト 出力 13-9 JUG_D3.3MapTrace_v1.0 Lattice Diamond 日本語ユーザガ イ ド プ ロ セ ス名の左側にあ る チ ェ ッ ク ボ ッ ク ス にチ ェ ッ ク が入っ てい る と 、 Map Design プ ロ セ ス完了後に自動 的に実行 さ れます。 チ ェ ッ ク が入っ ていない場合で も 、 プ ロ セ ス名を ダブル ク リ ッ ク すれば実行 さ れます。 こ れ ら のプ ロ セ ス を実行す る と シ ミ ュ レーシ ョ ン用のネ ッ ト リ ス ト フ ァ イ ル と sdf フ ァ イ ルが、 イ ンプ リ メ ン テーシ ョ ン ・ フ ォ ルダに出力 さ れます。 作成 さ れ る フ ァ イ ル名は、 それぞれ以下の よ う にな り ます。 ネッ SDF ネッ SDF ト リ ス ト (VHDL) (VHDL) ト リ ス ト (Verilog HDL) (Verilog HDL) : : : : [ プロジェ ク [ プロジェ ク [ プロジェ ク [ プロジェ ク ト 名 ]_[ ト 名 ]_[ ト 名 ]_[ ト 名 ]_[ イ ンプ リ イ ンプ リ イ ンプ リ イ ンプ リ メ ン テーシ ョ ン名 ]_mapvho.vho メ ン テーシ ョ ン名 ]_mapvho.sdf メ ン テーシ ョ ン名 ]_mapvo.vo メ ン テーシ ョ ン名 ]_mapvo.sdf なお、 sdf 内は LUT やレ ジ ス タ 等の遅延は適当な も のが入っ てい ますが、 配線遅延は全て 0ps です。 タ イ ミ ン グ検証 と 違い値を入れ る こ と はで き ません。 13.4 改訂履歴 Ver. Date page 内 容 13-2, 3 Strategy: 図 13-2 差 し 替え、 項目記述追加 (Check Unconstrained Connections, Number of Unconstrained Paths) 2.3F June 30 2014 13-5, 6 未制約レ ポー ト に関す る 図 13-8 と 記述を追加 13-5, 9 図 13-6、 図 13-7、 図 13-12 更新 13-10 3.3 旧 リ ス ト 2-1 「Unconstrained path レ ポー ト の例」 削除 Mar. 2015 1 図 13-13 「解析対象外パ ス の レ ポー ト 」 を 「未制約 コ ネ ク シ ョ ン ・ レ ポー ト 」 と し て更新 旧図 13-1 削除 --- *** --- JUG_D3.3MapTrace_v1.0 13-10
© Copyright 2024 ExpyDoc