Vivado Design Suite ユーザー ガイド: デザイン解析およびクロージャ テクニック (UG906)

Size: px
Start display at page:

Download "Vivado Design Suite ユーザー ガイド: デザイン解析およびクロージャ テクニック (UG906)"

Transcription

1 Vivado Design Suite ユーザーガイド デザイン解析およびクロージャテクニック この資料は表記のバージョンの英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください

2 改訂履歴 次の表に この文書の改訂履歴を示します 日付バージョン改訂内容 2016 年 10 月 5 日 Vivado Design Suite リリースに併せてアップデート 変更内容 : 図をアップデート 43 ページの [Clock Pair Classification] を追加 124 ページの クロック使用率レポート を追加 148 ページの クロック位相シフト を追加 2016 年 6 月 8 日 Vivado Design Suite リリースに併せてアップデート 変更内容 : 第 2 章 : [Check Timing] セクション で multiple_clock generated_clocks および latch_loops チェックに情報を追加 第 6 章 : 構成を変更し 章名を変更 次の内容を追加 : エラボレート済みビューを使用した RTL の最適化 ( 第 7 章から移動 ) メモリのワード数が 2 のべき乗でない場合の RAMB 使用率の最適化 出力レジスタが推論されるようにするための RAMB 入力ロジックの最適化 RAMB 出力でのクリティカルロジックの改善 第 7 章 : 構成を変更し 章名を変更 フロアプラン を追加 ( 第 6 章から移動 ) UltraFast 設計手法ガイド (Vivado Design Suite 用 ) (UG949) へのリンクをアップデート 2016 年 5 月 3 日 Vivado Design Suite リリースに併せてアップデート 変更内容 : 第 1 章および第 2 章の図をアップデート DRC レポート および 設計手法 DRC の検証 に report_methodology コマンドの説明を追加 用語 に 安全 危険 および 終点 を用語として追加 バススキューレポート を追加 タイミングサインオフの確認 に report_bus_skew コマンドに関する情報を追加 TIMING-30: Sub-Optimal Master Source Pin Selection for Generated Clock で create_generated_clock コマンドの説明をアップデート デザイン解析およびクロージャテクニック 2

3 目次 第 1 章 : IDE を使用したロジック解析 IDE を使用したデザイン解析 ロジック解析機能 [Netlist] ウィンドウ [Hierarchy] ウィンドウ [Schematic] ウィンドウ [Find] ダイアログボックスを使用したオブジェクトの検索 デバイス使用率統計の解析 DRC レポート 設計手法 DRC の検証 第 2 章 : タイミング解析機能タイミングサマリレポート クロックネットワークレポート クロック関連性レポート パルス幅レポート タイミングレポート データシートレポート 例外レポート クロック乗せ換えレポート バススキューレポート 第 3 章 : インプリメンテーション結果の解析機能 [Design Runs] ウィンドウ 配置解析 配線解析 デザイン解析レポート 第 4 章 : レポートおよびメッセージ概要 IDE でのメッセージの表示および管理 Vivado で生成されるレポートおよびメッセージ デザインに関するレポートの作成 第 5 章 : タイミング解析の実行タイミング解析の概要 タイミング解析の基礎の理解 タイミングパスレポートの解釈 タイミングサインオフの確認 デザイン解析およびクロージャテクニック 3

4 第 6 章 : 合成の解析およびクロージャテクニックエラボレート済みビューを使用した RTL の最適化 メモリのワード数が 2 のべき乗でない場合の RAMB 使用率の最適化 出力レジスタが推論されるようにするための RAMB 入力ロジックの最適化 RAMB 出力でのクリティカルロジックの改善 第 7 章 : インプリメンテーションの解析およびクロージャテクニック report_design_analysis コマンドの使用 デザインの最長ロジック遅延パスを特定 ファンアウトの大きいネットドライバーの特定 ホールド違反の修正がデザインに悪影響を及ぼすかの判断 タイミングが満たされていないパスすべてをすばやく解析 フロアプラン 付録 A: タイミング設計手法チェック TIMING-1: Invalid Clock Waveform on Clock Modifying Block TIMING-2: Invalid Primary Clock on Internal Pin TIMING-3: Invalid Primary Clock on Clock Modifying Block TIMING-4: Invalid Primary Clock Redefinition on a Clock Tree TIMING-5: Invalid Waveform Redefinition on a Clock Tree TIMING-6: No Common Primary Clock Between Related Clocks TIMING-7: No Common Node Between Related Clocks TIMING-8: No Common Period Between Related Clocks TIMING-9: Unknown CDC Logic TIMING-10: Missing Property on Synchronizer TIMING-11: Inappropriate Max Delay with Datapath Only Option TIMING-12: Clock Reconvergence Pessimism Removal Disabled TIMING-13: Timing Paths Ignored Due to Path Segmentation TIMING-14: LUT on the Clock Tree TIMING-15: Large Hold Violation on Inter-Clock Path TIMING-16: Large Setup Violation TIMING-17: Non-Clocked Sequential Cell TIMING-18: Missing Input or Output Delay TIMING-19: Inverted Generated Clock Waveform on ODDR TIMING-20: Non-Clocked Latch TIMING-21: Invalid COMPENSATION Property on MMCM TIMING-22: Missing External Delay on MMCM TIMING-23: Combinatorial Loop Found TIMING-24: Overridden Max Delay Datapath Only TIMING-25: Invalid Clock Waveform on Gigabit Transceiver (GT) TIMING-26: Missing Clock on Gigabit Transceiver (GT) TIMING-27: Invalid Primary Clock on Hierarchical Pin TIMING-28: Auto-Derived Clock Referenced by a Timing Constraint TIMING-29: Inconsistent Pair of Multicycle Paths TIMING-30: Sub-Optimal Master Source Pin Selection for Generated Clock 付録 B: その他のリソースおよび法的通知ザイリンクスリソース ソリューションセンター Documentation Navigator およびデザインハブ デザイン解析およびクロージャテクニック 4

5 参考資料 トレーニングリソース お読みください : 重要な法的通知 デザイン解析およびクロージャテクニック 5

6 第 1 章 IDE を使用したロジック解析 IDE を使用したデザイン解析 次の章では ザイリンクス Vivado 統合設計環境 (IDE) でのデザイン解析の概要を説明します IDE を使用したロジック解析 ( この章 ) 第 2 章 タイミング解析機能 第 3 章 インプリメンテーション結果の解析機能 ロジック解析機能 この章では 次のロジック解析機能について説明します [Netlist] ウィンドウ [Hierarchy] ウィンドウ [Schematic] ウィンドウ [Find] ダイアログボックスを使用したオブジェクトの検索 デバイス使用率統計の解析 DRC レポート 設計手法 DRC の検証 デザイン解析およびクロージャテクニック 6

7 第 1 章 : IDE を使用したロジック解析 [Netlist] ウィンドウ [Netlist] ウィンドウには 合成ツールで処理されたネットリストでのデザイン階層が表示されます X-Ref Target - Figure 1-1 合成設定によって ネットリストの階層が元の RTL と 100% 同じであったり 階層がなかったりします 通常 合成ツールはデフォルトでほとんどのユーザー階層を保持しながらロジックを最適化し 小型で高速のネットリストを作成します 合成ツールのデフォルトを使用すると ネットリストの階層は認識されますが 階層へのインターフェイスが変更される場合があります 一部のピンや階層レベルがない場合もあります 階層の各レベルは その階層ツリーを示します 各レベルに 次のものが表示されます そのレベルのすべてのネットを含む [Nets] フォルダー そのレベルにハードウェアプリミティブインスタンスがある場合は [Leaf Cells] フォルダー そのレベルにインスタンシエートされている階層 図 1-1: [Netlist] ウィンドウ ツリーをたどると 分岐全体を表示できます セルの横に表示されているアイコンは デザインの状態を示します 詳細は Vivado Design Suite ユーザーガイド : Vivado IDE の使用 (UG893) [ 参照 1] のこのセクションを参照してください デザイン解析およびクロージャテクニック 7

8 第 1 章 : IDE を使用したロジック解析 階層の各レベルの [Instance Properties] ウィンドウの [Statistics] ビューには 次のようなリソース使用率統計が表示されます その階層全体のプリミティブの使用状況 階層の境界をまたぐネットの数 階層で使用されるクロック X-Ref Target - Figure 1-2 図 1-2: [Instance Properties] ウィンドウ デザインをフロアプランする場合 Pblock に対して同様のプロパティが表示されます デザイン解析およびクロージャテクニック 8

9 第 1 章 : IDE を使用したロジック解析 [Hierarchy] ウィンドウ このウィンドウでは 階層のリソースの使用量を理解できます [Hierarchy] ウィンドウを開くには [Tools] [Show Hierarchy] をクリックするか [Netlist] ウィンドウで F6 キーを押します [Hierarchy] ウィンドウには 次の図に示すように ネットリストの階層ツリーが表示されます 各行は ネットリスト内の階層レベルを示します 下に行くほど ネットリストの下位階層になります 各階層レベルは そのレベルのほかの階層に相対したサイズで表示されます X-Ref Target - Figure 1-3 図 1-3: [Hierarchy] ウィンドウ 図 1-3 では cpuengine usbengine0 および usbengine1 がデザインの大部分のロジックを占めており おおよそ同じ数のリソースを使用していることが示されています 使用率レポートは デザインをリソースタイプごとに表示します 各リソースタイプ別に階層レベルごとの使用率を表示します リソース使用率レポートを表示するには [Tools] [Report] [Report Utilization] をクリックします 図 1-4 に リソース使用率レポートを示します デザイン解析およびクロージャテクニック 9

10 第 1 章 : IDE を使用したロジック解析 X-Ref Target - Figure 1-4 図 1-4: リソース使用率レポート このデザインでは RAMB36 および FIFO36 ブロックの大部分が 2 つの usbengine ブロックにより消費されています プラス記号 (+) をクリックすると 下位階層でのリソース使用率を表示できます デザイン解析およびクロージャテクニック 10

11 第 1 章 : IDE を使用したロジック解析 [Schematic] ウィンドウ 回路図は ネットリストのグラフィカル表示です 回路図を表示すると 次を実行できます ネットリストをグラフィカルに表示します ゲート 階層 および接続を確認します ロジックコーンをたどったり展開したりします デザインを解析します デザインの内部をより理解しやすくなります エラボレート済みデザインの RTL レベルでは ツールでコードがどのように解釈されたかを確認できます 合成済みデザインおよびインプリメント済みデザインでは 合成ツールで生成されたゲートを確認できます 回路図を表示するには [Tools] [Schematic] をクリックします オブジェクトを選択していない場合は デザインの最上位のゲート 階層 および接続が表示されます ( 図 1-5) デザイン解析およびクロージャテクニック 11

12 第 1 章 : IDE を使用したロジック解析 X-Ref Target - Figure 1-5 図 1-5: 最上位回路図 回路図の拡大 / 縮小および移動方法の詳細は Vivado Design Suite ユーザーガイド : Vivado IDE の使用 (UG893) [ 参照 1] のこのセクションを参照してください ヒント : 1 つの階層レベルを選択すると 回路図がシンプルになります 選択したエレメントが青色でハイライトされ 1 つの階層のポートが表示されます デザイン解析およびクロージャテクニック 12

13 第 1 章 : IDE を使用したロジック解析 X-Ref Target - Figure 1-6 回路図では 次の操作を実行できます 階層の左上にある [+] をクリックしてゲートを表示します ポートまたはエレメントをダブルクリックして展開します ポップアップメニューを使用します 図 1-6: 1 つの階層を選択した場合の回路図 回路図の詳細は Vivado Design Suite ユーザーガイド : Vivado IDE の使用 (UG893) [ 参照 1] のこのセクションを参照してください 前の表示に戻ったり次の表示に進んだりするには ツールバーの [Previous] ( ) および [Next] ( ) ボタンをクリックします ツールバーの [Expand All] ボタンをクリックして ロジックおよび接続をより詳細に表示します ツールバーの [Collapse All] をクリックして 回路図を簡略化します インプリメンテーション後にタイミングパスのゲートを視覚的に確認するには 回路図が最も簡単な方法です パスを選択して回路図を開くと そのパスのゲートとネットが表示されます デザイン解析およびクロージャテクニック 13

14 第 1 章 : IDE を使用したロジック解析 X-Ref Target - Figure 1-7 図 1-7: タイミングパスの回路図 回路図で関連のある階層レベルを特定するには 右クリックして [Select Leaf Cell Parents] をクリックします X-Ref Target - Figure 1-8 図 1-8: タイミングパスの回路図でプリミティブの親を選択 デザイン解析およびクロージャテクニック 14

15 第 1 章 : IDE を使用したロジック解析 [Highlight] および [Mark] コマンドを使用すると 関連のゲートを見つけやすくなります [Highlight] および [Mark] コマンドを使用してプリミティブを色分け表示すると どのロジックが元のパスにあるか どのロジックが追加されたかなどがわかりやすくなります X-Ref Target - Figure 1-9 図 1-9: 回路図でタイミングパスをマーク デザイン解析およびクロージャテクニック 15

16 第 1 章 : IDE を使用したロジック解析 [Find] ダイアログボックスを使用したオブジェクトの検索 Vivado IDE には 優れた検索機能が含まれています 検索機能を使用するには [Edit] [Find] をクリックします 次の図に示す [Find] ダイアログボックスが表示されます 注記 : Ctrl+F キーを押しても [Find] ダイアログボックスを開くことができます X-Ref Target - Figure 1-10 図 1-10: [Find] ダイアログボックス デザイン解析およびクロージャテクニック 16

17 第 1 章 : IDE を使用したロジック解析 検索条件 [Find] ダイアログボックスを使用すると さまざまな条件およびプロパティを設定してネットリストを検索できます X-Ref Target - Figure 1-11 図 1-11: [Find] ダイアログボックスでの検索条件の指定 デザイン解析およびクロージャテクニック 17

18 第 1 章 : IDE を使用したロジック解析 X-Ref Target - Figure 1-12 図 1-12: [Find] ダイアログボックスでのプロパティオプションの指定 検索例 [Edit] [Find] を使用すると たとえば次のものを検索できます 未配置の I/O すべて ツールで配置されたグローバルクロック ファンアウトが 10,000 以上のネット PREG エンベデッドレジスタを使用する DSP 複数の条件を使用した検索 複数の条件を指定して検索を実行するには 次の手順に従います 1. 最初の検索条件を指定します 2. [Properties] セクションの各行の右側にある [+] をクリックします 3. 検索条件を追加します 4. 検索条件の演算子 (AND または OR) を選択します デザイン解析およびクロージャテクニック 18

19 第 1 章 : IDE を使用したロジック解析 Tcl での検索 [Tcl Console] ウィンドウまたはスクリプトで実行している場合 検索には get_* コマンド (get_cells など ) を使用します ヒント : Vivado IDE の下部に [Tcl Console] ウィンドウがあり GUI で実行された操作の Tcl コマンドが示されます [Tcl Console] ウィンドウに Tcl コマンドを入力して実行できます Tcl スクリプト機能の詳細は Vivado Design Suite ユーザーガイド : Tcl スクリプト機能の使用 (UG894) [ 参照 2] を参照してください Tcl コマンドの詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] を参照するか <command> -help と入力してください デバイス使用率統計の解析 インプリメンテーション問題のよくある原因は ピン配置によるロジックおよびデバイスのレイアウトが考慮されていないことです ほとんどのデバイスではスライスロジックは均一ですが 次のような特殊リソースがロジックの配置に影響します I/O HP (High Performance) バンク HR (High Range) バンク MGT DSP48 ブロック RAM MMCM BUFG BUFR 特定の特殊リソースを多数使用するブロックは デバイス全体に分散する必要がある場合があります デザインのほかの部分とのインターフェイスを設計する際 このことを考慮してください 次を組み合わせて使用してブロックリソースを確認します report_utilization ネットリストプロパティ Pblock プロパティ デザイン解析およびクロージャテクニック 19

20 第 1 章 : IDE を使用したロジック解析 DRC レポート デザインルールチェック (DRC) はデザインをチェックし 一般的な問題をレポートします リリースから DRC は 2 つのコマンドに分割されています 設計手法 DRC は report_methodology コマンドに移動され その他の DRC は report_drc コマンドで実行されます 設計手法 DRC 以外の DRC を実行するには report_drc コマンドを使用します インプリメンテーションを実行すると ツールで自動的に DRC が実行されます 配置配線後には より完全で包括的な DRC が実行されます X-Ref Target - Figure 1-13 図 1-13: DRC によるクリティカル警告およびエラー 推奨 : DRC のクリティカル警告およびエラーをフローの早期に確認し フローの後の方で問題が発生しないようにしてください 合成済みデザインで [Report DRC] を実行すると 制約の適用されていない I/O に対してクリティカル警告が表示されます 配線済みデザインでも クリティカル警告がレポートされます レポートを確認してください ビットストリーム生成の段階では 同じ DRC でエラーがレポートされます DRC レポートを早めに確認し デザインで変更が必要な部分を特定するようにしてください デザイン解析およびクロージャテクニック 20

21 第 1 章 : IDE を使用したロジック解析 設計手法 DRC の検証 設計手法の重要性を考慮し Vivado ツールでは設計手法 DRC に従っているかどうかをチェックする report_methodology コマンドが提供されています デザインプロセスの段階によって 異なる DRC があります RTL リントスタイルチェックはエラボレート済み RTL デザインに対して実行され ネットリストベースのロジックおよび制約チェックは合成済みデザインに対して実行され インプリメンテーションおよびタイミングチェックはインプリメント済みデザインに対して実行されます これらのチェックを Tcl プロンプトで実行するには 検証するデザインを開き 次の Tcl コマンドを入力します report_methodology IDE からこれらのチェックを実行するには 検証するデザインを開いて [Report Methodology] コマンドを実行します 図 1-14 に示すダイアログボックスが表示されます X-Ref Target - Figure 1-14 図 1-14: [Report Methodology] ダイアログボックス 違反が検出された場合は [Methodology] ウィンドウに表示されます X-Ref Target - Figure 1-15 図 1-15: DRC 違反 設計手法 DRC の実行に関する詳細は Vivado Design Suite ユーザーガイド : システムレベルデザイン入力 (UG895) [ 参照 4] のこのセクションを参照してください デザイン解析およびクロージャテクニック 21

22 第 2 章 タイミング解析機能 タイミングサマリレポート タイミング解析は 合成後であればどの時点でも実行できます 合成およびインプリメンテーション run で自動的に生成されるタイミングサマリレポートを確認できます 合成済みデザインまたはインプリメント済みデザインをメモリに読み込むと 次の方法でインタラクティブなタイミングサマリレポートを生成できます Flow Navigator の [Synthesis] [Synthesized Design] [Report Timing Summary] をクリック Flow Navigator の [Implementation] [Implemented Design] [Report Timing Summary] をクリック [Tools] [Timing] [Report Timing Summary] をクリック 同等 Tcl コマンド : report_timing_summary report_timing_summary の詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] のこのセクションを参照してください 合成済みデザインでは 接続およびファンアウトに基づいてネット遅延が見積もられます セルがユーザーにより配置されていれば そのセル間のネット遅延はより正確になります I/O や GT などの一部のセルが事前に配置されているパスでは クロックスキューが大きい可能性があります インプリメント済みデザインでは ネット遅延は実際の配線情報に基づきます タイミングサインオフには 完全に配線されたデザインを使用してください デザインが完全に配線されているかどうかは 配線ステータスレポートで確認できます [Report Timing Summary] ダイアログボックス [Report Timing Summary] ダイアログボックスには 次のタブがあります [Options] タブ [Advanced] タブ [Timer Settings] タブ [Results name] は [Timing] ウィンドウに表示される結果のグラフィカルレポートの名前を指定します グラフィカルレポートには レポートのネットおよびセルから [Device] および [Schematic] ウィンドウ デザインソースファイルにクロスプローブできるリンクがあります [Results name] に名前を入力しない場合 レポートは Tcl コンソールに表示され グラフィカルレポートは表示されません 同等 Tcl オプション : -name デザイン解析およびクロージャテクニック 22

23 第 2 章 : タイミング解析機能 [Options] タブ [Report Timing Summary] ダイアログボックスの [Options] タブには 次のセクションがあります X-Ref Target - Figure 2-1 [Report] セクション [Options] タブの [Report] セクションには 次のオプションがあります [Path delay type] 図 2-1: [Report Timing Summary] ダイアログボックス : [Options] タブ 実行する解析のタイプを設定します 合成済みデザインの場合 デフォルトでは最大遅延解析 ( セットアップ / リカバリ ) のみが実行されます インプリメント済みデザインの場合 デフォルトでは最小 / 最大遅延解析 ( セットアップ / ホールド リカバリ / リムーバル ) の両方が実行されます 最小遅延解析 ( ホールドおよびリムーバル ) のみを実行する場合は [min] を選択します 同等 Tcl オプション : -delay_type デザイン解析およびクロージャテクニック 23

24 第 2 章 : タイミング解析機能 [Report unconstrained paths] タイミング要件のないパスに関する情報を生成します このオプションは Vivado IDE ではデフォルトでオンになっていますが 同等の Tcl コマンド report_timing_summary ではデフォルトでは使用されません 同等 Tcl オプション : -report_unconstrained [Report datasheet] データシートレポート で説明されているデザインデータシートを生成します 同等 Tcl オプション : -datasheet [Path Limits] セクション [Options] タブの [Path Limits] セクションには 次のオプションがあります [Maximum number of paths per clock or path group]: クロックペアまたはパスグループごとにレポートするパスの最大数を指定します 同等 Tcl オプション : -max_paths [Maximum number of worst paths per endpoint]: パスの終点ごとにレポートするワーストパスの最大数を指定します これはクロックペアまたはパスグループごとのパスの最大数に制限されるので レポートされるパスの総数は -max_paths で指定した数が上限となります 同等 Tcl オプション : -nworst [Path Display] セクション [Options] タブの [Path Display] セクションには 次のオプションがあります [Display paths with slack less than]: スラックが指定した値未満のパスをレポートします このオプションは サマリ表には影響しません 同等 Tcl オプション : -slack_lesser_than [Significant digits]: レポートに表示される値の精度を指定します 同等 Tcl オプション : -significant_digits [Report Timing Summary] ダイアログボックスのすべてのタブに共通のセクション 次のオプションは [Report Timing Summary] ダイアログボックスのすべてのタブに共通です [Command]: [Report Timing Summary] ダイアログボックスで指定されているオプションと同等の Tcl コマンドラインを表示します [Open in a New Tab]: 結果を新しいビューに表示するか 最後に開いたビューを上書きするかを指定します [Open in Timing Analysis layout]: [Timing Analysis] レイアウトを開きます このレイアウトの詳細は Vivado Design Suite ユーザーガイド : Vivado IDE の使用 (UG893) [ 参照 1] のこのセクションを参照してください デザイン解析およびクロージャテクニック 24

25 第 2 章 : タイミング解析機能 [Advanced] タブ [Report Timing Summary] ダイアログボックスの [Advanced] タブには 次のセクションがあります X-Ref Target - Figure 2-2 図 2-2: [Report Timing Summary] ダイアログボックス : [Advanced] タブ [Report] セクション [Report from cell]: デザインの特定のセルのタイミングのみをレポートします 指定したセルで開始または終了するパス およびセルに完全に含まれるパスのみがレポートされます 同等 Tcl オプション : -cell [Show input pins in path]: パスに使用されるセルの入力ピンを表示します 同等 Tcl オプション : -input_pins 推奨 : パスで使用されるすべてのピンに関してより詳細な情報を得るため このオプションはオンにしてください [Report unique pins]: ピンの各セットに対して 1 つのタイミングパスのみを表示します 同等 Tcl オプション : -unique_pins デザイン解析およびクロージャテクニック 25

26 第 2 章 : タイミング解析機能 [File Output] セクション [Write results to file]: 結果を指定したファイルに記述します デフォルトでは レポートは Vivado IDE の [Timing] ウィンドウに表示されます 同等 Tcl オプション : -file [Overwrite]/[Append]: レポートをファイルに記述する際に 指定のファイルを上書きするか 新しい情報を既存のレポートの最後に追加するかを指定します 同等 Tcl オプション : -append [Miscellaneous] セクション [Ignore command errors]: コマンドをメッセージを表示せずに実行します コマンドラインエラーは無視され エラーメッセージは表示されません 実行中にエラーが発生してもしなくても TCL_OK が返されます 同等 Tcl オプション : -quiet [Suspend message limits during command execution]: メッセージの非表示設定を一時的に解除し コマンドからのすべてのメッセージを返します 同等 Tcl オプション : -verbose デザイン解析およびクロージャテクニック 26

27 第 2 章 : タイミング解析機能 [Timer Settings] タブ タイマー設定を指定するには Vivado IDE のタイミング解析ダイアログボックス またはこのセクションにリストされている Tcl コマンドのいずれかを使用します これらの設定は 同じ Vivado IDE セッションで実行する合成およびインプリメンテーション以外のタイミング関連のコマンドに影響します タイマー設定はツールプリファレンスとしては保存されず 新しいセッションごとにデフォルト値に戻ります デフォルト値を変更しないでください デフォルト値では 最も正確な遅延値が使用され タイミング解析の適用範囲が最大限になります [Report Timing Summary] ダイアログボックスの [Timer Settings] タブには 次のセクションがあります X-Ref Target - Figure 2-3 図 2-3: [Report Timing Summary] ダイアログボックス : [Timer Settings] タブ [Interconnect] ネット遅延を最下位セルピン間の見積もり配線距離に基づいて算出するか 実際に配線されたネットを使用して算出するか またはタイミング解析から除外するかを指定します デフォルトでは 合成済みデザインの解析では [estimated] に インプリメント済みデザインの解析では [actual] に設定されます [estimated]: 未配置のセルの場合 ネット遅延値はドライバーとロードの特性およびファンアウトに基づく最適な配置における遅延値になります 未配線の最下位セルピン間のネットは タイミングパスレポートでは unplaced と示されます 配置済みセルの場合 ネット遅延はドライバーとロード間の距離およびファンアウトにより決まります このネットは タイミングパスレポートでは estimated と示されます デザイン解析およびクロージャテクニック 27

28 第 2 章 : タイミング解析機能 [actual]: 配線済みネットの場合 ネット遅延は配線されたインターコネクトの実際のハードウェア遅延になります このネットは タイミングパスレポートでは routed と示されます [none]: タイミングレポートでインターコネクト遅延は考慮されず ネット遅延は 0 になります 同等 Tcl コマンド : set_delay_model [Speed grade] デバイスのスピードグレードを設定します デフォルトでは プロジェクトを作成する際やデザインチェックポイントを開く際に選択したデバイスに基づいて設定されます このオプションを使用すると インプリメンテーションフローをすべて再実行しなくても 別のスピードグレードで同じデザインデータベースのタイミングをレポートできます 同等 Tcl コマンド : set_speed_grade [Multi-Corner Configuration] 指定したタイミングコーナーを解析するパス遅延のタイプを指定します 有効な値は [none] [max] [min] および [min_max] です [none] に設定すると そのコーナーのタイミング解析は実行されません 推奨 : 両方のコーナーでセットアップ ( 最大 ) およびホールド ( 最小 ) 解析の両方を実行してください 同等 Tcl コマンド : config_timing_corners [Disable flight delays] I/O 遅延の算出にパッケージ遅延を追加しません 同等 Tcl コマンド : config_timing_analysis タイミングサマリレポートの詳細 タイミングサマリレポートには 次のセクションが含まれます [General Information] セクション [Timer Settings] セクション [Design Timing Summary] セクション [Clock Summary] セクション [Check Timing] セクション [Intra-Clock Paths] セクション [Inter-Clock Paths] セクション [Path Groups] セクション [User-Ignored Paths] セクション [Unconstrained Paths] セクション デザイン解析およびクロージャテクニック 28

29 第 2 章 : タイミング解析機能 タイミングサマリレポートには Vivado IDE で生成可能な複数のレポート ([Report Clock Interaction] [Report Pulse Width] [Report Timing] [Check Timing]) の情報 および report_clocks などの Tcl のみで生成可能なレポートと同様の情報が含まれますが 制約の適用されていないパス (Unconstrained Paths) など このレポートにしか含まれない情報もあります [General Information] セクション タイミングサマリレポートの [General Information] セクションには 次の情報が含まれます デザイン名 選択されたデバイス パッケージ スピードグレード ( スピードファイルバージョン ) Vivado Design Suite のバージョン 日付 レポートを生成するために実行された同等の Tcl コマンド [Timer Settings] セクション レポートのタイミング情報を生成するのに使用された Vivado IDE タイミング解析エンジン設定の詳細を示します 図 2-4 に [Timer Settings] セクションのデフォルトオプションを示します [Enable Multi Corner Analysis]: マルチコーナー解析がイネーブルかどうかを示します 各コーナーの解析でどの解析が実行されたかは [Multi-Corner Configuration] に示されます [Enable Pessimism Removal] および [Pessimism Removal Resolution]: 各パスのソースクロックおよびデスティネーションクロックで 共通ノードでのスキューが削除されているかどうかを示します 注記 : これらの設定は 常にイネーブルにする必要があります [Enable Input Delay Default Clock]: ユーザー制約のない入力ポートにデフォルトのヌル入力遅延制約を作成しているかどうかを示します このオプションは デフォルトではオフになっています [Enable Preset / Clear Arcs]: 非同期ピンを介したタイミングパスの伝搬がイネーブルかどうかを示します リカバリ / リムーバルチェックには影響しません デフォルトではオフになっています [Disable Flight Delays]: I/O 遅延の算出でパッケージ遅延がディスエーブルかどうかを示します X-Ref Target - Figure 2-4 図 2-4: タイミングサマリレポート : [Timer Settings] セクション [Timer Settings] セクションのデフォルト設定とその変更方法は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] の config_timing_analysis を参照してください デザイン解析およびクロージャテクニック 29

30 第 2 章 : タイミング解析機能 [Design Timing Summary] セクション タイミングサマリレポートの [Design Timing Summary] セクション ( 図 2-5) は デザインのタイミングのサマリを示します ほかのセクションの結果が統合されています 推奨 : [Design Timing Summary] セクションで 配線後にすべてのタイミング制約が満たされたか デザインの現在のステータスを確認します X-Ref Target - Figure 2-5 [Design Timing Summary] セクションには 次のセクションがあります [Setup] ( 最大遅延解析 ) [Hold] ( 最小遅延解析 ) [Pulse Width] ( ピンスイッチ制限 ) [Setup] ( 最大遅延解析 ) 最大遅延解析 ( セットアップ リカバリ およびデータチェック ) の結果を示します [Worst Negative Slack (WNS)]: 最大遅延解析におけるすべてのタイミングパスのワーストスラックを示します この値は 正の場合と負の場合があります [Total Negative Slack (TNS)]: 各タイミングパスの終点におけるワースト違反を考慮した場合の WNS 違反の合計を示します この値は 次のようになります 最大遅延解析ですべてのタイミング制約が満たされている場合は 0 ns になります 違反がある場合は負の値になります [Number of Failing Endpoints]: 違反が発生している (WNS < 0 ns) 終点の総数を示します [Total Number of Endpoints]: 解析された終点の総数を示します [Hold] ( 最小遅延解析 ) 図 2-5: タイミングサマリレポート : [Design Timing Summary] セクション 最小遅延解析 ( ホールド リムーバル およびデータチェック ) の結果を示します [Worst Hold Slack (WHS)]: 最小遅延解析におけるすべてのタイミングパスのワーストスラックを示します この値は 正の場合と負の場合があります [Total Hold Slack (THS)]: 各タイミングパスの終点におけるワースト違反を考慮した場合の WHS 違反の合計を示します この値は 次のようになります 最小遅延解析ですべてのタイミング制約が満たされている場合は 0 ns になります 違反がある場合は負の値になります [Number of Failing Endpoints]: 違反が発生している (WHS < 0 ns) 終点の総数を示します [Total Number of Endpoints]: 解析された終点の総数を示します デザイン解析およびクロージャテクニック 30

31 第 2 章 : タイミング解析機能 [Pulse Width] ( ピンスイッチ制限 ) ピンのスイッチ制限に関する次のチェックの結果を示します 最小 Low パルス幅 最小 High パルス幅 最小周期 最大周期 最大スキュー (PCIE や GT (UltraScale デバイスのみ ) などの同じ最下位セルの 2 つのクロックピン間 ) 次の値がレポートされます [Worst Pulse Width Slack (WPWS)]: 最小遅延および最大遅延を使用した上記のすべてのチェックにおけるワーストパルス幅スラックを示します [Total Pulse Width Slack (TPWS)]: 各タイミングパスの終点におけるワースト違反を考慮した場合の WPWS 違反の合計を示します この値は 次のようになります すべてのタイミング制約が満たされている場合は 0 ns になります 違反がある場合は負の値になります [Number of Failing Endpoints]: 違反が発生している (WPWS< 0 ns) ピンの総数を示します [Total Number of Endpoints]: 解析された終点の総数を示します [Clock Summary] セクション report_clocks コマンドを実行した場合と同様の情報が含まれます create_clock コマンド create_generated_clock コマンド またはツールで自動的に生成されたクロックすべてが表示されます 名前 周期 波形 周波数要件などの各クロックのプロパティも示されます ヒント : 名前のインデントは マスタークロックと生成クロックの関係を表します X-Ref Target - Figure 2-6 図 2-6: タイミングサマリレポート : [Clock Summary] セクション デザイン解析およびクロージャテクニック 31

32 第 2 章 : タイミング解析機能 [Check Timing] セクション 不足しているタイミング制約や 制約に問題のあるパスに関する情報を示します タイミングサインオフには すべてのパスの終点に制約が設定されている必要があります 制約定義の詳細は Vivado Design Suite ユーザーガイド : 制約の使用 (UG903) [ 参照 6] を参照してください X-Ref Target - Figure 2-7 図 2-7: タイミングサマリレポート : [Check Timing] セクション [Check Timing] セクションをスタンドアロンのレポートとして生成するには 次のいずれかを実行します [Tools] [Timing] [Check Timing] をクリックします Tcl の check_timing コマンドを実行します デフォルトで実行されるチェックは 次のとおりです ( 図 2-7) no_input_delay: 入力遅延制約が設定されていないクロック以外の入力ポート数を示します no_output_delay: 出力遅延制約が設定されていないクロック以外の出力ポート数を示します unconstrained_internal_endpoints: 出力ポートを除く タイミング要件のないパスの終点数を示します これは no_clock チェックでもレポートされる不足しているクロック定義にも直接関係しています no_clock: 定義されたタイミングクロックが供給されていないクロックピンの数を示します 定数クロックピンもレポートされます multiple_clock: 複数のタイミングクロックが到達するクロックピンの数を示します この状況は クロックツリーにクロックマルチプレクサーがある場合に発生することがあります 同じクロックツリーを共有するクロックは デフォルトではタイミング関係があるものとしてタイミング解析が実行されますが これは現実的なタイミング状況を表していません クロックツリーに一度に存在させることができるクロックは 1 つのみです クロックツリーにマルチプレクサーが存在するべきでない場合は 複数のクロックがどのように特定のクロックピンに到達しているか それはなぜかを理解するため クロックツリーを調べてください generated_clocks: 同じクロックツリーにないマスタークロックソースを基準とする生成クロックの数を示します この状況は マスタークロックの起点と生成クロックの起点の間の論理パスでタイミングアークがディスエーブルになっている場合に発生することがあります このチェックは -edges オプションで指定されている場合 生成クロックの個々のエッジにも適用されます 論理パスのユネイト性 ( 反転 / 非反転 ) は マスタークロックと生成クロック間のエッジ関係に一致している必要があります デザイン解析およびクロージャテクニック 32

33 第 2 章 : タイミング解析機能 loops: デザインで検出された組み合わせループの数を示します ループは タイミングをレポートするため Vivado IDE タイミングエンジンにより自動的に分解されます partial_input_delay: 最小入力遅延制約または最大入力遅延制約のどちらかしか設定されていない クロック以外の入力ポートの数を示します これらのポートは セットアップ解析とホールド解析の両方にはレポートされません partial_output_delay: 最小出力遅延制約または最大出力遅延制約のどちらかしか設定されていない クロック以外の出力ポートの数を示します これらのポートは セットアップ解析とホールド解析の両方にはレポートされません latch_loops: デザインにラッチを通過するループがあるかどうかをチェックします これらのループは組み合わせループとしてはレポートされず 同じパス上の借りることのできるラッチ時間の算出に影響します [Intra-Clock Paths] セクション ソースクロックとデスティネーションクロックが同じパスのタイミング値 ( ワーストスラックおよび合計違反 ) を示します X-Ref Target - Figure 2-8 図 2-8: タイミングサマリレポート : [Intra-Clock Paths] セクション 詳細情報を表示するには 左側のペインで [Intra-Clock Paths] の下の名前をクリックします 各クロックのスラックおよび違反のサマリ および [Setup] [Hold] [Pulse Width] をクリックしてセットアップ ホールド パルス幅チェックの N 個のワーストパスに関する詳細を表示できます N の値は コマンドラインで -max_paths オプションを使用するか GUI の [Maximum number of paths per clock or path group] で指定します ワーストスラック値およびレポートされたパスの数は 各解析タイプの右に表示されます ( 次の図を参照 ) デザイン解析およびクロージャテクニック 33

34 第 2 章 : タイミング解析機能 X-Ref Target - Figure 2-9 図 2-9: タイミングサマリレポート : [Intra-Clock Paths] セクションの詳細 [Inter-Clock Paths] セクション ソースクロックとデスティネーションクロックが異なるパスのタイミング値 ( ワーストスラックおよび合計違反 ) を示します X-Ref Target - Figure 2-10 図 2-10: タイミングサマリレポート : [Inter-Clock Paths] セクションの詳細 詳細情報を表示するには 左側のペインで [Inter-Clock Paths] の下の名前をクリックします 各クロックのスラックおよび違反のサマリ および [Setup] [Hold] [Pulse Width] をクリックしてセットアップ ホールド パルス幅チェックの N 個のワーストパスに関する詳細を表示できます N の値は コマンドラインで -max_paths オプションを使用するか GUI の [Maximum number of paths per clock or path group] で指定します デザイン解析およびクロージャテクニック 34

35 第 2 章 : タイミング解析機能 [Path Groups] セクション デフォルトのパスグループおよびユーザー定義のパスグループを表示します 次の図に [Path Groups] セクションのサマリ表の例を示します この表を表示するには 左側のペインで [Path Groups] をクリックします X-Ref Target - Figure 2-11 図 2-11: タイミングサマリレポート : [Path Groups] セクション ヒント : **async_default** は Vivado IDE タイミングエンジンで自動的に作成されたパスグループで リカバリ / リムーバルのような非同期タイミングチェックで終了するすべてのパスが含まれます これらのチェックは [Setup] ( 最大遅延解析 ) および [Hold] ( 最小遅延解析 ) に個別にレポートされます group_path コマンドで作成したグループもすべてこのセクションに表示されます ソースクロックおよびデスティネーションクロックのどの組み合わせでもパスグループを構成できます [User-Ignored Paths] セクション set_clock_groups および set_false_path 制約により タイミング解析で無視されたパスを表示します レポートされるスラックは無限大です X-Ref Target - Figure 2-12 図 2-12: タイミングサマリレポート : [User-Ignored Paths] セクション デザイン解析およびクロージャテクニック 35

36 第 2 章 : タイミング解析機能 [Unconstrained Paths] セクション タイミング制約がないために タイミング解析が実行されない論理パスを示します これらのパスは ソースおよびデスティネーションクロックペアごとに分類されます パスの始点または終点に関連付けられているクロックがない場合 クロック名情報は空 (NONE) になります X-Ref Target - Figure 2-13 タイミングパスの詳細の確認 ほとんどのセクションは 展開してクロックペアごとのパスの情報を表示できます [Setup] [Hold] [Pulse Width] サブセクションには N 個のワーストパスが表示されます これらのパスのいずれかを選択すると その詳細が [Path Properties] ウィンドウの [Report] ビューに表示されます パスをダブルクリックすると 同じ詳細情報が新しいウィンドウに表示されます タイミングパスの詳細は 第 5 章 タイミング解析の実行 を参照してください 各パスをさらに解析するには 次の手順に従います 1. 右側のペインでパスを右クリックします 図 2-13: タイミングサマリレポート : [Unconstrained Paths] セクション 2. ポップアップメニューから次のいずれかをクリックします [Schematic]: パスの回路図を表示します [Report Timing on Source to Destination]: パスのタイミング解析を再実行します [Highlight]: [Device] および [Schematic] ウィンドウでパスをハイライトします デザイン解析およびクロージャテクニック 36

37 第 2 章 : タイミング解析機能 違反のあるパスのみを表示 タイミングが満たされていないパスのスラック値は レポートで赤で表示されます ツールバーの [Show only failing paths] ボタンをクリックしてオンにすると これらの違反のみを表示できます 次の図に タイミング違反のあるパスのみを表示したタイミングサマリレポートの例を示します X-Ref Target - Figure 2-14 図 2-14: タイミングサマリレポート : 違反のあるパスのみをフィルターして表示 デザイン解析およびクロージャテクニック 37

38 第 2 章 : タイミング解析機能 クロックネットワークレポート [Report Clock Network] コマンドは 次の方法で実行できます Vivado IDE の Flow Navigator から 次の Tcl コマンドを実行 report_clock_networks -name {network_1} [Report Clock Networks] を実行すると デザインのクロックがツリー形式で表示されます ( 図 2-15) 各クロックツリーにはソースから終点までのクロックネットワークが示され 終点のタイプ別に並べられます X-Ref Target - Figure 2-15 図 2-15: クロックネットワークレポート デザイン解析およびクロージャテクニック 38

39 第 2 章 : タイミング解析機能 クロックツリーには 次の特徴があります ユーザー定義またはツールで自動的に生成されたクロックを表示 I/O ポートからロードまでのクロックをレポート 注記 : 完全なツリーの詳細は GUI のレポートでのみ表示されます このレポートのテキスト版には クロックルートの名前のみが表示されます BUFG を駆動する BUFG の検索に使用可能 クロックでないロードを駆動するクロックを表示 デザインで定義されている各プライマリクロックおよび生成クロックを含むフォルダーが表示されます 制約が適用されていないクロックルートは 別のフォルダーに表示されます ツールバーの [Filter Ports] [Filter Net] [Filter Cell] [Filter Input Pins] [Filter Output Pins] ボタンを使用して クロックツリーに表示される情報を限定できます クロックパスの回路図を表示するには 次の手順に従います 1. ツリーでオブジェクトを右クリックします 2. [Trace to Source] をクリックします クロック関連性レポート クロック関連性レポートを表示するには 次のいずれかをクリックします メインメニューから [Tools] [Timing] [Report Clock Interaction] Flow Navigator の [Synthesis] [Synthesized Design] [Report Clock Interaction] Flow Navigator の [Implementation] [Implemented Design] [Report Clock Interaction] 同等 Tcl コマンド : report_clock_interaction -name clocks_1 [Report Clock Interaction] ダイアログボックス [Report Clock Interaction] ダイアログボックスには 次のフィールド チェックボックス およびタブがあります [Results name] フィールド [Command] フィールド [Open in a new tab] チェックボックス [Options] タブ [Timer Settings] タブ [Results name] フィールド グラフィカルレポートの名前を指定します 同等 Tcl オプション : -name デザイン解析およびクロージャテクニック 39

40 第 2 章 : タイミング解析機能 [Command] フィールド [Report Clock Interaction] ダイアログボックスで指定されているオプションと同等の Tcl コマンドラインを表示します [Open in a new tab] チェックボックス 結果を新しいビューに表示するか 最後に開いたビューを上書きするかを指定します [Options] タブ X-Ref Target - Figure 2-16 [Report Clock Interaction] ダイアログボックスの [Options] タブには 次のフィールドがあります [Delay type] [Significant digits] [File Output] セクション [Delay type] 実行する解析のタイプを設定します 合成済みデザインの場合 デフォルトでは最大遅延解析 ( セットアップ / リカバリ ) のみが実行されます インプリメント済みデザインの場合 デフォルトでは最小 / 最大遅延解析 ( セットアップ / ホールド リカバリ / リムーバル ) の両方が実行されます 最小遅延解析 ( ホールドおよびリムーバル ) のみを実行する場合は [min] を選択します 同等 Tcl オプション : -delay_type 図 2-16: [Report Clock Interaction] ダイアログボックス : [Options] タブ デザイン解析およびクロージャテクニック 40

41 第 2 章 : タイミング解析機能 [Significant digits] レポートされる値の有効桁数を指定します デフォルト値は 3 です 同等 Tcl オプション : -significant_digits [File Output] セクション [File Output] セクションには 次のオプションがあります [Write results to file]: 結果を指定したファイルに記述します Vivado IDE では レポートは [Clock Interaction] ウィンドウに表示されます 同等 Tcl オプション : -file [Overwrite]/[Append]: レポートをファイルに記述する場合に 指定のファイルを上書きするか 新しい情報を既存のレポートの最後に追加するかを指定します 同等 Tcl オプション : -append [Timer Settings] タブ このタブの詳細は 27 ページの [Timer Settings] タブ を参照してください クロック関連性レポートの詳細 クロック関連性レポートは あるクロックドメイン ( ソースクロック ) から別のクロックドメイン ( デスティネーションクロック ) へのタイミングパスを解析します データ損失やメタステーブル状態などの問題を特定するのに役立ちます [Report Clock Interaction] コマンドを実行すると 結果が [Clock Interaction] ウィンドウに表示されます クロック関連性レポートには 次の図に示すように 信号のソースクロックドメインを縦軸 デスティネーションクロックドメインを横軸に クロックドメインのマトリックスが表示されます デザイン解析およびクロージャテクニック 41

42 第 2 章 : タイミング解析機能 X-Ref Target - Figure 2-17 図 2-17: クロック関連性レポート マトリックスセルの色分け マトリックスのセルは 色分け表示されます セルの色は [Tools] [Options] をクリックして表示される [Vivado Options] ダイアログボックスの [Colors] ページの [Graphical Editors] の下で指定されている背景色によって異なります 詳細は Vivado Design Suite ユーザーガイド : Vivado IDE の使用 (UG893) [ 参照 1] のこのセクションを参照してください 色の凡例を非表示にするには [Clock Interaction] ウィンドウのツールバーで [Show/Hide Legend] (?) をクリックします [No Path] ( 黒 ): ソースクロックからデスティネーションクロックにまたがるタイミングパスが存在しないことを示します クロックに関連性はなく 何もレポートされません [Timed] ( 緑 ): ソースクロックとデスティネーションクロックに同期関係があり タイミング解析が安全に実行されることを示します 2 つのクロックのプライマリクロックが共通しており クロック周期が単純な比である場合にこのステートになります [User Ignored Paths] ( 紺色 ): ソースクロックからデスティネーションクロックにまたがるパスすべてに ユーザー定義のフォルスパスまたはクロックグループ制約が適用されていることを示します [Partial False Path] ( 水色 ): ソースクロックからデスティネーションクロックにまたがるパスの一部にユーザー定義のフォルスパスが適用されており ソースクロックとデスティネーションクロックに同期関係があることを示します デザイン解析およびクロージャテクニック 42

43 第 2 章 : タイミング解析機能 [Timed (unsafe)] ( 赤 ): ソースクロックとデスティネーションクロックが非同期であることを示します プライマリクロックが共通でないか 共通周期がありません ( 周期の公倍数を見つけることができない ) 非同期クロックおよび共通周期なしのクロックの詳細は Vivado Design Suite ユーザーガイド : 制約の使用 (UG903) [ 参照 6] のこのセクションを参照してください [Partial False Path (unsafe)] ( オレンジ色 ): [Timed (unsafe)] と同じですが ソースクロックからデスティネーションクロックへの少なくとも 1 つのパスがフォルスパス例外のため無視されていることを示します [Max Delay Datapath Only] ( 灰色 ): ソースクロックからデスティネーションクロックにまたがるパスすべてに set_max_delay -datapath_only が適用されていることを示します 重要 : マトリックスのセルの色は クロックドメイン間の制約の状態を表しており クロックドメイン間のタイミングパスのワーストスラックの状態を表すものではありません 緑色のセルはタイミングが満たされていることを示しているのではなく クロックドメイン間のタイミングパスで適切にタイミング解析が実行され クロック間に既知の位相関係があることを示します [Clock Pair Classification] [Clock Pair Classification] 列には 2 つのクロック間に不足している共通プライマリクロック 不足している共通ノード 不足している共通周期に関する情報 および仮想クロックの有無が表示されます 次に この列に表示される可能性のある値を優先順にリストします 条件が検出されると レポートコマンドで残りのチェックは実行されません [Ignored]: クロックペア全体にクロックグループ制約 フォルスパス制約 または set_max_delay -datapath_only が設定されており 解析が実行されないことを示します [Virtual Clock]: 少なくとも 1 つのクロックが仮想クロックであり 共通プライマリクロックまたは共通ノードのチェックは適用されないことを示します [No Common Clock]: 2 つのクロックに共通プライマリクロックがないことを示します [No Common Period]: 2 つのクロックに共通周期がない ( 周期の公倍数を見つけることができない ) ことを示します [Partial Common Node]: 2 つのクロックは同期しているように見えるが クロック乗せ換えパスの一部に共通ノードがなく タイミング解析を安全に実行できないことを示します [No Common Node]: 2 つのクロックは同期しているように見えるが クロック乗せ換えパスに共通ノードがないことを示します [Clean]: 上記のどの条件にも該当しないことを示します 表示されるクロックの選択 [Clock Interaction] ウィンドウに表示されるクロックを選択するには 次の手順に従います 1. ツールバーの [Clock Interaction Options] をクリックします 2. 表示するクロックをオンにします これにより 表示されるクロック数は減りますが マトリックスの下の表にレポートされるクロック関連性の数は減りません また ツールバーの [Hide unused clocks] ボタンをクリックすると 論理パスでタイミング解析が実行されないクロックの表示 / 非表示を切り替えることができます これらのクロックは WNS/TNS/WHS/THS の算出には使用されないので デフォルトでは非表示になっています デザイン解析およびクロージャテクニック 43

44 第 2 章 : タイミング解析機能 X-Ref Target - Figure 2-18 図 2-18: [Clock Interaction] ウィンドウに表示されるクロックの選択 クロックペアのスラックを示す表 マトリックスの下の表には ソース / デスティネーションクロックペアに対するセットアップ / リカバリまたはホールド / リムーバルのタイミングスラックの概要が示されます ワーストパスのパス要件 共通プライマリクロック および制約の状態に関する有益な情報も表示されます 図 2-17 を参照してください この表には マトリックスには示されない詳細な情報が表示されます データの並べ替え 表のデータは 列ヘッダーを 1 回クリックすると昇順に もう 1 回クリックすると降順に並べ替えられます セルおよび行の選択 マトリックスでセルを選択すると 下の表で対応する行が選択されます 表で行を選択すると 上のマトリックスで対応するセルがハイライトされます 表の列 表には 次の列があります [ID]: 表示されているソース / デスティネーションクロックペアの識別番号を示します [Source Clock]: パスが開始するクロックドメインを示します [Destination Clock]: パスが終了するクロックドメインを示します [Edges (WNS)]: 最大遅延解析 ( セットアップ / リカバリ ) のワーストネガティブスラックの算出に使用されたクロックエッジを示します [WNS (Worst Negative Slack)]: クロックドメイン間のさまざまなパスのワーストケースのスラックを示します 負のスラック値は パスでセットアップまたはリカバリタイム違反が発生していることを示します デザイン解析およびクロージャテクニック 44

45 第 2 章 : タイミング解析機能 [TNS (Total Negative Slack)]: クロックドメイン間のパスに属するすべての終点におけるワーストスラック違反の合計を示します [Failing Endpoints (TNS)]: クロックドメイン間のパスのタイミングが満たされていない終点の数を示します 違反の合計は TNS に対応します [Total Endpoints (TNS)]: クロックドメイン間のパスの終点の総数を示します [Path Req (WNS)]: [WNS] 列にレポートされているパスのタイミングパス要件を示します 2 つのクロックの少なくともどちらかで立ち上がりエッジおよび立下りエッジの両方がアクティブである場合はクロックペア間に複数のパス要件がある可能性があり また 2 つのクロック間のパスにタイミング例外が適用されている場合もあります この列にレポートされる値が 最も厳しい要件であるとは限りません 詳細は 147 ページの パス要件 を参照してください [Clock Pair Classification]: クロックペアの共通ノードおよび共通周期に関する情報を示します 表示される値は 優先順位の高いものから順に [Ignored] [Virtual Clock] [No Common Clock] [No Common Period] [Partial Common Node] [No Common Node] および [Clean] です [Inter-Clock Constraints]: ソースクロックとデスティネーションクロック間のすべてのパスの制約サマリを示します 可能な値は 42 ページの マトリックスセルの色分け にリストされています 次は これらの制約の定義例です set_clock_groups -async -group wbclk -group usbclk set_false_path -from [get_clocks wbclk] -to [get_clocks cpuclk] 最小遅延解析も選択されている場合 ( ホールド / リムーバル ) 次の列も表示されます [Edges (WHS)]: ワーストホールドスラックの算出に使用されたクロックエッジを示します [WHS] ( ワーストホールドスラック ): クロックドメイン間のさまざまなパスのワーストケースのスラックを示します 負のスラック値は パスでホールドまたはリムーバルタイム違反が発生していることを示します [THS] ( 負のホールドスラックの合計 ): 最小遅延解析 ( ホールド / リムーバル ) 用に クロックドメイン間のパスに属するすべての終点におけるワーストスラック違反の合計を示します [Failing Endpoints (THS)]: タイミングが満たされていないクロックドメイン間のパスの終点の数を示します 違反の合計は THS に対応します [Total Endpoints (THS)]: 最小遅延解析 ( ホールド / リムーバル ) 用に クロックドメイン間のパスの終点の総数を示します [Path Req (WHS)]: [WHS] 列にレポートされているパスのタイミングパス要件を示します WNS と同様 2 つのクロック間の最小遅延解析用に複数のパス要件がある場合があり この列にレポートされる値が最も厳しい要件であるとは限りません 詳細は 第 5 章 タイミング解析の実行 を参照してください 表で 1 つまたは複数のクロックペアを選択できます 選択したソース / デスティネーションクロックペアを右クリックすると [Report Timing] を実行できます 表のエクスポート [Export to Spreadsheet] を実行すると 表を XLS ファイルに出力し スプレッドシートで使用できます デザイン解析およびクロージャテクニック 45

46 第 2 章 : タイミング解析機能 パルス幅レポート [Report Pulse Width] コマンドは 各インスタンスクロックピンで最小周期 最大周期 High パルス時間 Low パルス時間の要件が満たされているかどうかをチェックします また PCIe クロックなど インプリメント済みデザインの同じインスタンスの 2 つのクロックピン間で最大スキュー要件が満たされているかもチェックします パルス幅スラックの式には ジッターまたはクロックのばらつきは含まれません 同等 Tcl コマンド : report_pulse_width 注記 : ISE では このチェックはコンポーネントスイッチ制限と呼ばれています X-Ref Target - Figure 2-19 図 2-19: パルス幅レポート タイミングレポート [Report Timing] を使用すると 合成後の任意の段階で 特定のタイミングパスを解析できます タイミングサマリレポートでレポートされたタイミング問題を調査する場合や 特定のタイミング制約の有効性および適用範囲を確認する場合に使用できます [Report Timing] にはパルス幅レポートは含まれません [Report Timing] の実行 デザインがメモリに読み込まれていれば メニュー クロック関連性レポート タイミングレポート またはタイミングサマリレポートのパスリストから [Report Timing] を実行できます メニューからの [Report Timing] の実行 メニューから [Report Timing] を実行するには [Tools] [Timing] [Report Timing] をクリックします クロック関連性レポートからの [Report Timing] の実行 クロック関連性レポートから [Report Timing] を実行するには 次の手順に従います 1. ソースクロックとデスティネーションクロックのペアを選択します 2. 右クリックして [Report Timing] をクリックし 選択したクロック間のレポートを生成します デザイン解析およびクロージャテクニック 46

47 第 2 章 : タイミング解析機能 パスリストからの [Report Timing] の実行 パスリストから [Report Timing] を実行するには 次の手順に従います 1. パスを選択します 2. 右クリックして [Report Timing] をクリックし 選択したパスのレポートを生成します 同等 Tcl コマンド : report_timing [Report Timing] ダイアログボックスでオプションを設定すると 次の場所に同等の report_timing コマンド構文が表示されます [Report Timing] ダイアログボックスの [Command] フィールド 実行後に [Tcl Console] ウィンドウ 次のセクションで ダイアログボックスの各オプションについて説明し 同等の report_timing コマンドのオプションを示します [Report Timing] ダイアログボックスのオプションは [Report Timing Summary] ダイアログボックスのオプションとほぼ同じですが 追加のフィルターオプションがいくつかあります デザイン解析およびクロージャテクニック 47

48 第 2 章 : タイミング解析機能 [Report Timing] ダイアログボックス [Targets] タブ X-Ref Target - Figure 2-20 図 2-20: [Report Timing] ダイアログボックス : [Targets] タブ 特定のパスまたはパスのグループのレポートを生成するため いくつかのフィルターオプションがあります これらのフィルターは タイミングパスの構造に基づきます [Startpoints] ([From]): シーケンシャルセルクロックピン シーケンシャルセル 入力ポート 双方向ポート ソースクロックなどの始点をリストします 複数の始点をリストした場合 それらのネットリストオブジェクトのいずれかから開始するすべてのパスがレポートされます [Transition] では 特定のソースクロックエッジ ( 立ち上がり / 立ち下がり ) を選択します 同等 Tcl オプション : -from -rise_from -fall_from デザイン解析およびクロージャテクニック 48

49 第 2 章 : タイミング解析機能 [Through Points] ([Through]): パスが通過するピン ポート 組み合わせセル またはネットのリストを指定します 複数のネットリストオブジェクトをリストすると そのいずれかを通過するパスがレポートされます [+] ボタンをクリックして複数の [Through] オプションを指定すると それらすべての通過点を指定した順に通過するパスをレポートできます [Transition] では 特定のデータエッジ ( 立ち上がり / 立ち下がり ) を選択します 推奨 : [Transition] はデフォルトのままにします 同等 Tcl オプション : -through -rise_through -fall_through [Endpoints] ([To]): シーケンシャルセルの入力データピン シーケンシャルセル 出力ポート 双方向ポート デスティネーションクロックなどの終点をリストします 複数の終点をリストした場合 それらのネットリストオブジェクトのいずれかで終了するすべてのパスがレポートされます [Transition] では 通常特定のデータエッジ ( 立ち上がり / 立ち下がり ) を選択しますが デスティネーションクロックを指定した場合は 特定のクロックエッジを選択します 同等 Tcl オプション : -to -rise_to -fall_to 図 2-20 に示す [Report Timing] ダイアログボックスの [Targets] タブでは usbclk の立ち上がりクロックエッジから cpuengine/or1200_cpu/sprs_dataout[*] ネットのいずれかを通過し cpuclk または sysclk のいずれかのエッジで終了するパスを指定しています [Options] タブ [Options] タブには 次のオプションがあります [Report] [Path Limits] [Path Display] [Report] [Path delay type]: 23 ページの [Path delay type] を参照してください [Do not report unconstrained paths]: デフォルトでは [Targets] タブで指定されたパスに制約されているものがない場合 制約されていないパスがレポートされます 制約されていないパスをレポートに含めないようにする場合は このオプションをオンにします 同等 Tcl オプション : -no_report_unconstrained デザイン解析およびクロージャテクニック 49

50 第 2 章 : タイミング解析機能 [Path Limits] [Number of paths per group]: 22 ページの タイミングサマリレポート を参照してください [Number of paths per endpoint]: 22 ページの タイミングサマリレポート を参照してください [Limit paths to group]: [Targets] タブで指定した条件に一致するパスで 指定したタイミングパスグループに属するもののみをレポートします 各クロックは グループに関連付けられています Vivado IDE タイミングエンジンでは デフォルトでグループが作成されます たとえば **async_default** はリカバリまたはリムーバルタイミングチェックで終了するすべてのパスのグループです 同等 Tcl オプション : -group [Path Display] [Display paths with slack greater than]: スラックが指定した値より大きいパスをレポートします 同等 Tcl オプション : -slack_greater_than [Display paths with slack less than]: 22 ページの タイミングサマリレポート を参照してください [Number of significant digits]: 22 ページの タイミングサマリレポート を参照してください [Sort paths by]: レポートされたパスをグループごとに表示するか ( デフォルト ) スラック順に表示するかを選択します [group] を選択すると 各グループおよび各解析タイプ (-delay_type min/max/min_max) に対して N 個のワーストパスがレポートされます グループは ワーストパス順に並べられ 違反が最悪のグループがリストの一番上に表示されます [slack] を選択すると 各解析タイプに対して N 個のワーストパスがレポートされ ( すべてのグループを統合 ) スラック順に並べられます 同等 Tcl オプション : -sort_by [Advanced] タブ [Advanced] タブには 22 ページの タイミングサマリレポート と同じオプションがあります [Timer Settings] タブ [Timer Settings] タブには 22 ページの タイミングサマリレポート と同じオプションがあります デザイン解析およびクロージャテクニック 50

51 第 2 章 : タイミング解析機能 タイミングパスの詳細の確認 [OK] をクリックするとコマンドが実行され [Timing] ウィンドウの新しいビューに結果が表示されます 選択した各解析 (min/max/min_max) に対して N 個のワーストパスがレポートされます 次の図に 最大遅延解析および最小遅延解析の両方 (SETUP および HOLD) を選択し N = 4 に設定した場合のタイミングレポートを示します X-Ref Target - Figure 2-21 図 2-21: タイミングレポートのパスリスト これらのパスのいずれかを選択すると その詳細が [Path Properties] ウィンドウの [Report] ビューに表示されます X-Ref Target - Figure 2-22 図 2-22: [Path Properties] ウィンドウ デザイン解析およびクロージャテクニック 51

52 第 2 章 : タイミング解析機能 パスをダブルクリックすると 同じ詳細情報が新しいウィンドウに表示されます タイミングパスの詳細は 第 5 章 タイミング解析の実行 を参照してください パスを右クリックして次のコマンドをクリックすると パスの解析に有益です [Schematic]: タイミングパスを回路図で表示します [Report Timing on Source to Destination]: パスのタイミング解析を再実行します [Highlight]: [Device] および [Schematic] ウィンドウでパスをハイライトします 違反のあるパスのみを表示 タイミングが満たされていないパスのスラック値は レポートで赤で表示されます ツールバーの [Show only failing paths] をクリックしてオンにすると これらの違反のみを表示できます デザイン解析およびクロージャテクニック 52

53 第 2 章 : タイミング解析機能 データシートレポート [Report Datasheet] コマンドを使用すると システムレベルの統合で使用する FPGA デバイスの動作パラメーターがレポートされます [Report Datasheet] ダイアログボックス Vivado IDE で [Tools] [Timing] [Report Datasheet] をクリックし [Report Datasheet] ダイアログボックス ( 図 2-23) を開きます [Report Datasheet] ダイアログボックス : [Options] タブ X-Ref Target - Figure 2-23 [Report Datasheet] ダイアログボックスの [Options] タブには 次のオプションがあります [Results name]: 表示される結果の名前を指定します レポートは [Timing] ウィンドウに指定の名前で表示されます 同等 Tcl オプション : -name 図 2-23: [Report Datasheet] ダイアログボックス : [Options] タブ デザイン解析およびクロージャテクニック 53

54 第 2 章 : タイミング解析機能 [Sort by]: 結果をポート名またはクロック名順に並べ替えます 同等 Tcl オプション : -sort_by [Report all process corners separately]: 現在のデザインで定義されているすべてのプロセスコーナーのデータをレポートします 同等 Tcl オプション : -show_all_corners [Significant digits]: レポートされる値の有効桁数を指定します デフォルト値は 3 です 同等 Tcl オプション : -significant_digits [Write results to file]: 結果を指定したファイルに記述します デフォルトでは レポートは Vivado IDE の [Timing] ウィンドウに表示されます 同等 Tcl オプション : -file [Overwrite]/[Append]: レポートをファイルに記述する際に 指定のファイルを上書きするか 新しい情報を既存のレポートの最後に追加するかを指定します 同等 Tcl オプション : -append [Ignore command errors]: コマンドをメッセージを表示せずに実行します コマンドラインエラーは無視され エラーメッセージは表示されません 実行中にエラーが発生してもしなくても TCL_OK が返されます 同等 Tcl オプション : -quiet [Suspend message limits]: メッセージの非表示設定を一時的に解除し コマンドからのすべての出力を返します 同等 Tcl オプション : -verbose [Command]: [Report Datasheet] ダイアログボックスで指定されているオプションと同等の Tcl コマンドラインを表示します [Open in a new tab]: 結果を新しいビューに表示するか 最後に開いたビューを上書きするかを指定します [Open in Timing Analysis layout]: [Timing Analysis] レイアウトを開きます デザイン解析およびクロージャテクニック 54

55 第 2 章 : タイミング解析機能 [Report Datasheet] ダイアログボックス : [Groups] タブ X-Ref Target - Figure 2-24 [Report Datasheet] ダイアログボックスの [Groups] タブで基準ポートおよびレポートする追加のポートを指定することにより 解析用にポートをグループ化できます グループを指定しない場合は ソースクロックに基づいて出力ポートのグループが自動的に検出され そのクロックに基づくスキューがレポートされます [Report Datasheet] ダイアログボックスの [Groups] タブには 次のオプションがあります [Reference]: スキュー算出用の基準ポートを指定します ほとんどの場合 これはソース同期出力インターフェイスのクロックポートです 同等 Tcl オプション : -group [Ports]: レポートする追加のポートを指定します 図 2-24: [Report Datasheet] ダイアログボックス : [Groups] タブ [Ports] フィールドの右側に [+] および [-] ボタンがあります - [+]: それぞれ基準クロックポートを持つ複数のグループを指定し 新しい基準ポートを含む新しいグループを定義します - [-]: ポートのグループを削除します [Report Datasheet] ダイアログボックス : [Timer Settings] タブ このタブの詳細は 27 ページの [Timer Settings] タブ を参照してください デザイン解析およびクロージャテクニック 55

56 第 2 章 : タイミング解析機能 データシートレポートの詳細 [General Information] デザインおよびザイリンクスデバイスの詳細 レポート生成時のツール環境を示します [Design Name]: デザイン名 [Part]: ターゲットザイリンクスパーツとスピードファイル情報 [Version]: レポートの生成に使用された Vivado ツールのバージョン [Date]: レポートが生成された日時 [Command]: レポートの生成に使用されたコマンドラインオプション [Input Ports Setup/Hold] 各入力ポートの基準クロックに対するワーストケースのセットアップおよびホールド要件を示します 入力データのキャプチャに使用された内部クロックもレポートされます [Max/Min Delays for Output Ports] 各出力ポートの基準クロックに対するワーストケースの最大および最小遅延を示します 出力データの送信に使用された内部クロックもレポートされます [Setup between Clocks] 各クロックペアに対し クロックエッジのすべての組み合わせのワーストケースのセットアップ要件を示します [Setup/Hold for Input Buses] 自動的に推論された入力バスのワーストケースのセットアップおよびホールド要件を示します バス全体のワーストケースデータウィンドウは 最大のセットアップおよびホールド値の合計です 入力ポートが制約されている場合は スラックもレポートされます IDELAY が定義されている入力クロックに対しては 最適なタップポイントがレポートされます 最適なタップポイントは バランスのとれたセットアップおよびホールドスラックを得るために IDELAY を設定するのに使用できます ソースオフセットは 2 つのウィンドウの差です 最初のウィンドウは 入力ポートのクロックに対すセットアップおよびホールドタイムで定義されます 2 つ目のウィンドウは 入力遅延およびクロック周期から算出されます 入力クロックがこの値でオフセットされると ウィンドウの中央になります 次の図に DDR 入力バス vsf_data[0:9] のワーストケースのデータウィンドウが ns であるデザインのレポートを示します 理想的なクロックオフセットは ns です デザイン解析およびクロージャテクニック 56

57 第 2 章 : タイミング解析機能 X-Ref Target - Figure 2-25 注記 : 最適なタップポイントは 次の Tcl コマンドを使用して適用できます set_property IDELAY_VALUE 13 [get_cells idelay_clk] [Max/Min Delays for Output Buses] 自動的に推論された出力バスのワーストケースの最大および最小遅延を示します バススキューもレポートされます バススキューの算出では 1 ビットを基準とし そのビットに対してほかのビットのオフセットが算出されます ワーストオフセットがバス全体のスキューとなります [Max/Min Delays for Groups] 図 2-25: データシートレポートの [Setup/Hold for Input Buses] セクション ソース同期出力インターフェイスでは 出力スキューはフォワードクロックに対して必要です カスタムグループレポートは 基準ポートをフォワードクロックポートとして指定すると生成できます この表は [Max/Min Delays for Output Buses] セクションと似ていますが ソースオフセットおよびバスキューの算出に基準ポートが基準ビットとして使用されます 注記 : このセクションは 空の場合は非表示になっていることがあります たとえば DDR 出力スキューの算出では 複数のビット (rldii_a[0-19] rldii_ba[0-3] rldii_ref_n rldii_we_n) をフォワードクロックポート (rldii_ck_n[0]) に対してグループ化する場合 次のコマンドを使用します report_datasheet -group [get_ports {rldii_ck_n[0] rldii_a[*] rldii_ba[*] rldii_ref_n rldii_we_n}] -name timing_1 グループリストの最初のポートが基準ピンです これらすべてのセクションで ワーストケースのデータはマルチコーナー解析から算出されます -show_all_corners を使用すると ワーストケースのデータは各コーナーに対して個別にレポートされます 次の図に この例のデータシートレポートを示します デザイン解析およびクロージャテクニック 57

58 第 2 章 : タイミング解析機能 X-Ref Target - Figure 2-26 図 2-26: データシートレポートの最大 / 最小遅延の例 デザイン解析およびクロージャテクニック 58

59 第 2 章 : タイミング解析機能 例外レポート 例外レポートは 合成後のフローのどの段階でも生成できます 例外レポートには 次の情報が含まれます デザインで設定され タイミング解析に影響するタイミング例外すべて デザインで設定されているが ほかのタイミング例外が優先されるために無視されるタイミング例外すべて 例外レポートの生成時に解析されるタイミング例外は 次のとおりです ( 優先順 ) フォルスパス 最大 / 最小遅延 マルチサイクルパス 例外レポートは タイミング例外に関する問題をデバッグするのに役立ちます デザインによっては 複雑なタイミング例外を使用したタイミング制約を含むものがあります タイミング例外の優先度は異なるので どのタイミング例外がほかの例外のために一部または完全に無視されるのかを理解するのは困難です 例外レポートには 一部が無視されるタイミング例外および完全に無視されるタイミング例外がレポートされます また 優先される制約に関するヒントも表示されます クロックグループ制約 (set_clock_groups) は厳密にはタイミング例外ではないので デザインに影響するタイミング例外のサマリ表には含まれませんが あるタイミング例外がクロックグループ制約のために無視される場合は 優先されるクロックグループ制約が表の [Status] 列にレポートされます 例外レポートは Tcl コマンドラインで report_exceptions コマンドを使用してのみ生成可能です report_exceptions のコマンドラインオプションの詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] のこのセクションを参照してください タイミング例外の優先順位に関する詳細は Vivado Design Suite ユーザーガイド : 制約の使用 (UG903) [ 参照 6] のこのセクションを参照してください report_exception コマンドには 次の 3 つの操作モードがあります タイミング解析に影響するタイミング例外のレポート 無視されるタイミング例外のレポート タイミング例外の適用範囲のレポート デザイン解析およびクロージャテクニック 59

60 第 2 章 : タイミング解析機能 例 : タイミング解析に影響するタイミング例外のレポート この例では 次の図に示すデザインにタイミング例外を適用する方法を示します デザインには 完全に制約されています (clk と入力 / 出力遅延を clk に対して設定 ) X-Ref Target - Figure 2-27 図 2-27: タイミング例外の例で使用する完全に制約されたデザイン report_exception コマンドの 1 つ目の操作モードは report_exception です 1. [Window] [Timing Constraints] をクリックします 2. [Timing Constraints] ウィンドウで次のタイミング例外をデザインに追加します set_multicycle_path 3 -from [get_cell int10_reg] -to [get_cell int20_reg] set_multicycle_path 4 -to [get_cell int20_reg] set_false_path -from [get_ports in6] -to [get_cell int20_reg] set_false_path -to [get_ports out5] set_false_path -to [get_cell int21_reg] set_false_path -from [get_ports in6] -to [get_ports out6] set_max_delay 5 -to [get_ports out6] set_min_delay 3 -from [get_cells int10_reg] -to [get_cell int20_reg] [Timing Constraints] ウィンドウに デザインに適用されたタイミング制約が表示されます X-Ref Target - Figure 2-28 図 2-28: タイミング制約の変更を表示する [Timing Constraints] ウィンドウ デザイン解析およびクロージャテクニック 60

61 第 2 章 : タイミング解析機能 実際の例外レポート (report_exception) を次の図に示します X-Ref Target - Figure 2-29 例外レポートには 次の情報が表示されます 図 2-29: 例外レポート [Position] 列 : 制約の位置番号を示します これは [Timing Constraint] ウィンドウ ( 図 2-28) でレポートされる番号と同じです [From] [Through] [To] 列 : -*from/-*through/-*to コマンドラインオプションで指定したパターンまたはオブジェクトを示します ( これらのオプションの rise/fall バージョンもすべて含む ) 関連するオプションが指定されていない場合は アスタリスク (*) が表示されます [Setup] [Hold] 列 : 制約がセットアップチェックまたはホールドチェックのいずれかまたは両方に適用されるかどうかを示します [Setup] [Hold] 列の命名規則は 次のとおりです 表 2-1: [Setup]/[Hold] 列の命名規則 cycles= false max= max_dpo= min= 省略名 タイミング例外 set_multicycle_path set_false_path set_max_delay set_max_delay -datapath_only set_min_delay [Status] 列 : 制約が別のタイミング例外により一部無視されている場合にメッセージを表示します [Status] 列の命名規則は 次のとおりです 表 2-2: [Status] 列の命名規則 MCP FP MXD MND CG 省略名 マルチサイクルパスフォルスパス最大遅延最小遅延クロックグループ タイミング例外 注記 : クロックグループは report_timing -ignored コマンドを実行したときに クロックグループに制約により別のタイミング例外が無視される場合に [Status] 列にレポートされます デザイン解析およびクロージャテクニック 61

62 第 2 章 : タイミング解析機能 この例では 一部無視される制約に関するメッセージが 2 つ表示されます タイミング制約位置番号 5 ([Timing Constraints] ウィンドウの set_multicycle_path 4 -to [get_cell int20_reg]) は マルチサイクル制約位置番号 4 (set_multicycle_path 3 -from [get_cell int10_reg] -to [get_cell int20_reg]) とフォルスパス制約位置番号 6 (set_false_path -from [get_ports in6] -to [get_cell int20_reg]) により一部が無視されます タイミング制約位置番号 10 (set_max_delay 5 -to [get_ports out6]) は フォルスパス位置番号 9 (set_false_path -from [get_ports in6] -to [get_ports out6]) により一部が無視されます 無視されるタイミング例外のレポート report_exception コマンドの 2 つ目の操作モードは report_exception -ignored です これを示すため 次のタイミング例外を前の例外の上に追加してみます set_max_delay 5 -to [get_ports out5] set_multicycle_path 1 -hold -to [get_cell int21_reg] set_multicycle_path 2 -setup -to [get_ports out6] set_false_path -from [get_cell int11_reg] -to [get_cell int20_reg] これらすべての例外は 前のセクションからのタイミング例外が既に適用されているか 存在しないパスをターゲットにしています ( レジスタ int11_reg と int20_reg の間には物理的な接続なし ) これらの 4 つの制約を追加すると [Timing Constraints] ウィンドウは図 2-30 のようになります X-Ref Target - Figure 2-30 図 2-30: [Timing Constraints] ウィンドウ 例外レポート (report_exception -ignored) は次のようになります X-Ref Target - Figure 2-31 図 2-31: 例外レポート 注記 : [Status] 列に タイミング例外が無視された理由が説明されます デザイン解析およびクロージャテクニック 62

63 第 2 章 : タイミング解析機能 タイミング例外の適用範囲のレポート Vivado ツールでは デザインに適用された有効な各タイミング例外の詳細な適用範囲を生成できます 完全に無効になっているもの 始点と終点の間にパスがないものを含め すべてのタイミング例外がレポートされます 適用範囲レポートは タイミング例外およびデザインの複雑性によって サイズが大きくなる可能性があります 適用範囲レポートを生成するには -coverage コマンドラインオプションを使用します report_exceptions -coverage レポートには 有効な各タイミング例外に対して 次の情報が含まれます 制約の位置番号 -from -through -to コマンドラインオプションで選択されたオブジェクトの数 タイミング例外に関連するすべてのクロックドメインと 各終点クロックドメインの終点の数 始点および終点に関連するセルのサマリリスト 次に 異なるデザインからの適用範囲レポートからの抜粋を示します Exception: set_false_path -from [get_pins {SW_FPGA_CORE/U_RST/st_asrst[0]/C}] + Position: 74 + Objects: -from: 1 pins + Clock Domains Details: +Domain : CLK_OUT2_PLL3 -> CLK_OUT1_PLL3 -Source Clock: CLK_OUT2_PLL3 -Destination Clock: CLK_OUT1_PLL3 -Endpoints: Domain : CLK_OUT2_PLL3 -> CLK_OUT2_PLL3 -Source Clock: CLK_OUT2_PLL3 -Destination Clock: CLK_OUT2_PLL3 -Endpoints: Domain : CLK_OUT2_PLL3 -> CLK_OUT4_PLL3 -Source Clock: CLK_OUT2_PLL3 -Destination Clock: CLK_OUT4_PLL3 -Endpoints: 434 +Domain : CLK_OUT2_PLL3 -> clk_pll_i -Source Clock: CLK_OUT2_PLL3 -Destination Clock: clk_pll_i -Endpoints: Startpoint Details: FDPE/C=1 + Endpoint Details: FDCE/CLR= FDCE/D=7 FDPE/PRE=2038 タイミング例外の始点と終点の間にパスがない場合は 適用範囲レポートのフィールドは空になります 次に例を示します Exception: set_false_path -from [get_cells int11_reg] -to [get_cells int20_reg] + Position: 15 + Objects: -from: 1 cells -to: 1 cells + Clock Domains Details: + Startpoint Details: + Endpoint Details: 適用範囲レポートは タイミング例外をより効率的に記述するために使用できます デザイン解析およびクロージャテクニック 63

64 第 2 章 : タイミング解析機能 次に set_multicycle_path 制約の適用範囲レポートの別の例を示します Exception: set_multicycle_path -start -from [get_pins {sr_b*_rd_dat[*]/c}] -to [get_pins {ar_b*_rd_dat[*]/d}] 4 + Position: 75 + Objects: -from: 486 pins -to: 486 pins + Clock Domains Details: +Domain : CLK_OUT1_PLL3 -> CLK_OUT2_PLL3 -Source Clock: CLK_OUT1_PLL3 -Destination Clock: CLK_OUT2_PLL3 -Endpoints: 24 + Startpoint Details: FDCE/C=4 + Endpoint Details: FDCE/D=24 上記の例では -from および -to コマンドラインオプションでのピンの指定に get_pins コマンドを使用しており それぞれ 486 ピンが指定されていますが 4 つの始点と 24 個の終点の間のパスのみに制約が適用されています これは ほかの始点と終点の組み合わせの間には 物理的なパスがないということです クロック乗せ換えレポート クロック乗せ換え (CDC) レポートは デザインのクロック乗せ換えの構造解析を実行します この情報を使用して メタステーブル状態またはデータコヒーレンシの問題が発生する可能性のある危険な CDC を特定できます CDC レポートはクロック関連性レポートと似ていますが 構造および関連するタイミング制約に焦点が置かれ タイミングスラックに関する情報は示されません 概要 CDC レポートを生成する前に デザインが適切に制約され 不足しているクロック定義がないことを確認してください CDC レポートでは ソースクロックとデスティネーションクロックの両方が定義されたパスのみが解析およびレポートされます CDC レポートは 次のものの構造解析を実行します 非同期クロック間のすべてのパス 次のタイミング例外が設定されている同期クロック間のパス クロックグループ フォルスパス データパス遅延制約 (Max Delay Datapath Only) これらのタイミング例外が設定されていない同期クロックパスは タイミング解析を安全に実行されると想定され CDC エンジンで解析されません CDC レポートでは ネット遅延またはセル遅延は考慮されません デザイン解析およびクロージャテクニック 64

65 第 2 章 : タイミング解析機能 用語 クロック乗せ換え (CDC) とクロック間のタイミング解析では 安全 危険 および 終点 の意味が異なります CDC では 非同期乗せ換えは メタステーブル状態を回避するために適切な同期回路が使用されていれば安全です たとえば 同じクロックおよび制御信号を使用するレジスタをチェーン接続したシンクロナイザーを使用すると 安全な 1 ビット CDC をインプリメントできます マルチプレクサーホールド回路またはクロックイネーブル制御回路を使用すると 安全な複数ビット CDC をインプリメントできます CDC 解析エンジンにより非同期 CDC パスに既知の安全な同期回路が検出されない場合は 危険な CDC となります 2 つのクロックドメイン間の CDC にレポートされる終点の数は タイミング解析コマンドでレポートされる終点の数と異なります たとえば 非同期リセットシンクロナイザーには複数のタイミングパス終点がありますが 同期回路は 1 つのエレメントとして つまり 1 つの CDC 終点としてレポートされます 同様に 複数ビット CDC には複数の 1 ビット乗せ換えが含まれますが 1 つの CDC 終点としてレポートされます 同じバスは ほかのタイミングレポートでは複数のタイミング終点としてレポートされます 重要 : report_clock_interaction および report_cdc は異なる目的で使用されるので 各コマンドでレポートされる終点の数を比較しないでください 安全 および 危険 は report_clock_interaction ではタイミング解析エンジンでハードウェアでのワーストケースのスラックを提供できるかどうかを意味しますが report_cdc ではデザインにインプリメントされている CDC 回路のタイプを意味します クロック乗せ換えレポートの実行 Vivado IDE から CDC レポートを実行すると デフォルトで指定されたクロック間の CDC パスの詳細がすべて表示されます [Tcl Console] ウィンドウから CDC レポートを実行すると クロックペアごとのサマリの表のみが表示されます GUI モードと同様の詳細をすべてレポートするには -details オプションを使用する必要があります 詳細をレポートすると 非常に長いファイルが作成されることがあります Vivado IDE から CDC レポートを実行するには [Tools] [Timing] [Report CDC] をクリックします 同等 Tcl コマンド : report_cdc -name cdc_1 [Report CDC] ダイアログボックス ( 図 2-32) には 次のフィールドがあります [Results name] フィールド [Clocks] セクション ([From]/[To]) [File Output] セクション [Options] セクション デザイン解析およびクロージャテクニック 65

66 第 2 章 : タイミング解析機能 X-Ref Target - Figure 2-32 図 2-32: [Report CDC] ダイアログボックス [Results name] フィールド レポートのグラフィカルウィンドウの名前を指定します 同等 Tcl オプション : -name <windowname> [Clocks] セクション ([From]/[To]) CDC 解析を実行するソースクロックまたはデスティネーションクロックを指定します ( オプション ) CDC 解析を特定のクロックのみに限定し レポートを解読しやすくするために使用できます 参照ボタン クリックすると検索ダイアログボックスが表示され クロックオブジェクトを検索できます 同等 Tcl オプション : -from <clocknames> -to <clocknames> [File Output] セクション 結果を書き込むファイルを指定します ( オプション ) 既存のファイルに上書きするか または追加できます 同等 Tcl オプション : -file <filename> -append デザイン解析およびクロージャテクニック 66

67 第 2 章 : タイミング解析機能 [Options] セクション [Options] セクションでは 次を指定します [Suspend message limits during command execution]: メッセージの非表示設定を一時的に解除し コマンドからのすべての出力を返します 同等 Tcl オプション : -verbose [Ignore command errors]: コマンドエラーを表示しません 同等 Tcl オプション : -quiet クロック乗せ換えレポートのルールの理解 CDC レポートでは 各 CDC パスが既知の CDC トポロジと比較されます 各 CDC トポロジは 表 2-3 に示す 1 つまたは複数の CDC ルールに関連付けられています これらのルールの重要度は DRC およびメッセージのように変更することはできません CDC トポロジの回路図と説明は 73 ページの CDC トポロジの回路図 に示されています 表 2-3: CDC ルールおよび説明 CDC トポロジ CDC ルール重要度説明 1 ビット CDC CDCH-1 クリティカル 1 ビット CDC パスが 同期化されていないか または不明の CDC 回路を含みます CDCH-2 警告 1 ビット CDC パスが 2 段以上のシンクロナイザーで同期化されていますが ASYNC_REG プロパティがすべてまたは一部のシンクロナイザーフリップフロップに設定されてません CDCH-3 情報 1 ビット CDC パスが 2 段以上のシンクロナイザーで同期化されており ASYNC_REG プロパティが設定されています 複数ビット CDC CDCH-4 クリティカル 複数ビットバス CDC パスが 同期化されていないか または不明の CDC 回路を含みます CDCH-5 警告 複数ビットバス CDC パスが 2 段以上のシンクロナイザーで同期化されていますが ASYNC_REG プロパティがすべてまたは一部のシンクロナイザーフリップフロップに設定されてません CDCH-6 警告 複数ビットバス CDC パスが 2 段以上のシンクロナイザーで同期化されており ASYNC_REG プロパティが設定されています 非同期リセット CDCH-7 クリティカル 非同期信号 ( クリアまたはプリセット ) が 同期化されていないか または不明の CDC 回路を含みます CDCH-8 警告 非同期信号 ( クリアまたはプリセット ) が同期化されていますが ASYNC_REG プロパティがすべてまたは一部のシンクロナイザーフリップフロップに設定されていません CDCH-9 情報 非同期信号 ( クリアまたはプリセット ) が同期化されており ASYNC_REG プロパティが設定されています デザイン解析およびクロージャテクニック 67

68 第 2 章 : タイミング解析機能 表 2-3: CDC ルールおよび説明 ( 続き ) CDC トポロジ CDC ルール重要度説明 組み合わせロジック CDCH-10 クリティカル 同期回路のファンインで組み合わせロジックが検出さ れました ファンアウト CDCH-11 クリティカル 同期回路のファンアウトで組み合わせロジックが検出 されました 複数クロックのファンイン CDCH-12 クリティカル 非同期回路のファンインで複数クロックからのデータ が検出されました FD 以外のプリミティブ CDCH-13 クリティカル FD 以外のプリミティブで CDC が検出されました CE 制御の CDC CDCM-1 警告クロックイネーブルで制御された CDC マルチプレクサー制御の CDC マルチプレクサーデータホールド CDC CDCM-2 警告マルチプレクサーで制御された CDC CDCM-3 警告マルチプレクサーデータホールド CDC HARD_SYNC プリミティブ CDCH-18 情報信号は HARD_SYNC プリミティブに同期されています クロック乗せ換えレポートのセクションの確認 GUI モードでは デフォルトで次の 3 つのセクションが生成されます [Summary (by clock pair)] セクション [Summary (by type)] セクション [CDC Details] セクション サマリセクションは デザインで見直し 場合によっては変更が必要な問題の概要を示します これらのセクションから 最も重要度の高い違反に関する追加情報を表示する詳細レポートセクションにナビゲートできます 注記 : レポートをテキストモードで実行した場合 デフォルトではクロックペアごとのサマリのみが生成されます デザイン解析およびクロージャテクニック 68

69 第 2 章 : タイミング解析機能 [Summary (by clock pair)] セクション [Summary (by clock pair)] セクションには 2 つのクロック間の CDC パスの数 それらのパスで検出された最もクリティカルな問題に関する有益な情報が示されます この表には 次の列があります [Severity]: リストされているソースクロックからデスティネーションクロックまでのすべての CDC パスの中で最も高い重要度を示します 重要度は [Info] [Warning] または [Critical] のいずれかです [Source Clock]: CDC ソースクロックの名前を示します [Destination Clock]: CDC デスティネーションクロックの名前を示します [CDC Type]: 2 つのクロックの関係と 主なタイミング例外を示します 次の CDC タイプがあります [Safely Timed]: クロック同士は同期しており 正確なタイミングの妨げとなるタイミング例外は設定されていないので すべての DCD パスでタイミング解析が安全に実行されます [User Ignored]: すべての CDC パスに set_false_path または set_clock_groups が設定されています [No Common Primary Clock]: CDC クロック同士は非同期であり 共通プライマリクロックを持たない 2 つのクロック間の少なくとも 1 つの CDC パスで通常どおりタイミング解析が実行されます [No Common Period]: CDC クロック同士は非同期であり 共通周期なしの 2 つのクロック間にある少なくとも 1 つの CDC パスで通常どおりタイミング解析が実行されます 共通周期なしのクロックの定義は 144 ページの タイミング解析の基礎の理解 を参照してください [Exceptions]: CDC に適用されているタイミング例外を示します 可能な値は次のとおりです [None]: CDC パスにタイミング例外は適用されていません [Asynch Clock Groups]: CDC クロックに set_clock_groups -asynchronous 例外が適用されています [Exclusive Clock Groups]: CDC クロックに set_clock_groups -exclusive 例外が適用されています [False Path]: ソース / デスティネーション CDC クロックまたはすべての CDC パスに set_false_path 例外が適用されています [Max Delay Datapath Only]: すべての CDC パスに set_max_delay -datapath_only 例外が適用されています [Max Delay Datapath Only] は 少なくとも 1 つの CDC パスに set_max_delay -datapath_only が適用されており ほかのすべての CDC パスが set_false_path 制約のために無視される場合にレポートされます [Partial Exceptions]: 一部の CDC パスに set_false_path および set_max_delay -datapath_only 制約が設定されており 少なくとも 1 つの CDC パスで通常どおりタイミング解析が実行されます [Endpoints]: CDC パスの終点の総数を示します 安全な終点 危険な終点 および不明な終点の合計です この場合の終点とは シーケンシャルセルの入力データピンです D CE および SET/RESET/CLEAR/PRESET の接続によっては FD セルは複数回カウントされます 一部の CDC トポロジでは 1 つの終点のみがカウントされますが CDC 構造に到達するのにクロックドメインの境界をまたぐパスは実際には複数あります たとえば非同期リセットシンクロナイザーでは 複数の CLEAR ピンがクロックドメインをまたぐネットに接続されていますが シンクロナイザーチェーンの最初のピンのみがカウントされます [Safe]: 安全な CDC パスの終点の数を示します 安全な終点とは 次のように特定された CDC パスの終点です 既知の安全な CDC 構造を持つ非同期クロック 例外および既知の安全な CDC 構造を持つ同期クロック CDC 構造にかかわらず安全にタイミング解析が実行される例外なしの同期クロック CDC は HARD_SYNC マクロに同期されている デザイン解析およびクロージャテクニック 69

70 第 2 章 : タイミング解析機能 [Unsafe]: 危険な構造を持つと特定された CDC パスの終点の数を示します 危険な終点は CDCH-10 CDCH-11 CDCH-12 および CDCH-13 です 組み合わせロジックトポロジ ファンアウトトポロジ 複数クロックのファンイントポロジ FD 以外のプリミティブのトポロジ [Unknown]: 不明な CDC パスの終点の数を示します これらの終点に一致する安全な CDC 構造がないか 不明な CDC 回路が検出されています (CDCH1 CDCH4 および CDCH-7) [No ASYNC_REG]: チェーンの最初 2 つの FD セルの少なくとも 1 つに ASYNC_REG プロパティが設定されていないシンクロナイザーの数を示します 次の図に [Summary (by clock pair)] セクションの例を示します X-Ref Target - Figure 2-33 図 2-33: [Summary (by clock pair)] セクション デザイン解析およびクロージャテクニック 70

71 第 2 章 : タイミング解析機能 [Summary (by type)] セクション [Summary (by type)] セクションの表には 現在のレポートに含まれる CDC 構造の特性をすばやく確認するのに便利です 図 2-34 に例を示します X-Ref Target - Figure 2-34 [Summary (by type)] セクションの表には 次の列があります [Severity]: CDC ルールの重要度を示します 可能な値は [Info] ( 情報 ) [Warning] ( 警告 ) または [Critical] ( クリティカル ) です [ID]: 表 2-3 にリストされている CDC ルールの ID 番号を示します [Count]: レポート全体での CDC ルールの出現回数を示します [Description]: CDC ルールの簡単な説明を示します 図 2-34: [Summary (by type)] セクション サマリ表を解析する際は 重要度の高いものから開始するのが重要です 重要度は次のとおりです [Critical]: 不明または危険な CDC 構造を持つ CDC パスに対する重要度です これらの各パスを見直し RTL を変更して構造を修正するか 問題が除外されるようにする必要があります パスの詳細は Vivado IDE を使用する場合はデフォルトで生成され コマンドラインで report_cdc を使用する場合は -details オプションを使用すると生成されます クロックドメインの境界をまたぐネットに組み合わせロジックがあるか クロックドメインの境界をまたぐネットのファンインに複数のソースクロックがある これにより 平均故障間隔 (MTBF) 特性が悪化する可能性があります クロックドメインの境界をまたぐネットに同じデスティネーションクロックドメインへのファンアウトがある これにより データコヒーレンシの問題が発生する可能性があります デザイン解析およびクロージャテクニック 71

72 第 2 章 : タイミング解析機能 [Warning]: 安全な既知の CDC 構造ですが 次のいずれかの理由のために理想的とはいえない CDC パスに対する重要度です 最初 2 つのシンクロナイザーフリップフロップの少なくとも 1 つで ASYNC_REG プロパティが 1 ( または true) に設定されていない CDC 構造に CDC エンジンで検証できない機能の正確さが必要 これらの構造には クロックイネーブル制御 マルチプレクサーデータホールド制御のトポロジがあります [Info]: CDC 構造が安全で適切に制約されていることを示します [CDC Details] セクション CDC レポートの詳細は [CDC Details] セクションに示されます このセクションから 選択したパスの回路図を表示したり (F4 キーを押す ) パスを右クリックしてタイミングレポートを表示または新しいタイミングレポートを生成できます タイミングレポートと回路図を使用して デザインの予期しない CDC パスを確認したり 不正または不足しているタイミング例外を特定したり ASYNC_REG プロパティが足りない部分を見つけることができます 次の図に [CDC Details] セクションの例を示します X-Ref Target - Figure 2-35 図 2-35: [CDC Details] セクション [Clock to Clock Details] セクションの表には 次の列があります [Severity]: CDC ルールの重要度を示します 可能な値は [Info] ( 情報 ) [Warning] ( 警告 ) または [Critical] ( クリティカル ) です [ID]: 67 ページの表 2-3 にリストされている CDC ルールの ID 番号を示します [Description]: CDC ルールの簡単な説明を示します [Depth]: シンクロナイザーの段数を示します ( シンクロナイザートポロジのみ ) [Exception]: CDC パスに適用されているタイミング例外を示します [Source (From)]: CDC タイミングパスの始点を示します [Destination (To)]: CDC タイミングパスの終点を示します [Category]: [Safe] [Unsafe] [Unknown] など CDC のカテゴリを示します [Source Clock (From)]: ソースクロックの名前 注記 : この列は 左側のペインで [CDC Details] をクリックした場合にのみ表示されます [Destination Clock (To)]: デスティネーションクロックの名前 注記 : この列は 左側のペインで [CDC Details] をクリックした場合にのみ表示されます デザイン解析およびクロージャテクニック 72

73 第 2 章 : タイミング解析機能 重要 : CDC レポートに一部のザイリンクス IP 内の問題が示されることがありますが これは CDC エンジンで可能なすべての CDC トポロジを認識できず ビルトインの除外メカニズムがないからです 詳細は 各ザイリンクス IP 製品ガイドを参照してください CDC トポロジの回路図 次に CDC トポロジの簡略化された回路図とその簡単な説明を示します すべての回路図で ソースクロックネット ( 通常は clk_a) は青色でハイライトされ デスティネーションクロックネット ( 通常は clk_b) はオレンジ色でハイライトされています 1 ビットシンクロナイザー 図 2-36 に 1 ビットシンクロナイザーのトポロジを示します 同期チェーンの少なくとも最初の 2 つのフリップフロップに ASYNC_REG プロパティを設定する必要があります シンクロナイザーの段数は 制御信号を共有するチェーン接続されているフリップフロップの数です X-Ref Target - Figure 2-36 図 2-36: 1 ビットシンクロナイザーのトポロジ フリップフロップの CLEAR または PRESET ピンも非同期ソースに接続されている場合は シンクロナイザーは 1 ビットシンクロナイザーとしてのみレポートされ 非同期リセットシンクロナイザーとしてはレポートされません デザイン解析およびクロージャテクニック 73

74 第 2 章 : タイミング解析機能 複数ビットシンクロナイザー 検出される複数ビットシンクロナイザーのトポロジは 始点 / 終点の名前および一致する CDC ルールに基づいてグループ化された複数の 1 ビットシンクロナイザーと同等です この場合 バスはネット名ではなく始点と終点のセル名で定義されます バス名のフォーマットは basename[index] です また 始点と終点のインデックスも一致している必要があります 次の図に 2 ビット幅の複数ビットシンクロナイザーの例を示します X-Ref Target - Figure 2-37 図 2-37: ビット幅の複数ビットシンクロナイザー CDC バスのすべてのビットが同じ CDC ルールに一致しない場合は バスは 1 ビットまたは CDC ルールが一致している連続インデックスのバスセグメントとしてレポートされます バスにレジスタベースのシンクロナイザーを付けても そのバスのクロック乗せ換えが安全になるわけではないということを理解しておくことが重要です このようなトポロジがデザインに適切であるかどうかをツールでは判断できないので CDC ルール CDC-6 は警告となります CDC が安全であるかどうかを確認するのは設計者の責任です バスがグレイコードで記述されている場合は 受信ドメインで一度に複数のデータが受信されないようにタイミング制約が適切に設定されてれば バスのすべてのビットにレジスタベースのシンクロナイザーを安全に使用できます バスがグレイコードで記述されていない場合は CE 制御 CDC やマルチプレクサー制御 CDC などの別のシンクロナイザートポロジを使用する必要があります デザイン解析およびクロージャテクニック 74

75 第 2 章 : タイミング解析機能 非同期リセットシンクロナイザー 次の図にクリアベース同期の非同期リセットシンクロナイザー 図 2-39 にプリセットベース同期の非同期リセットシンクロナイザーを示します FF1 セルはそれぞれ同期クリア信号または同期プリセット信号に接続されており これらの信号のディアサートには clk_a に対して安全にタイミング解析が実行されます CLEAR および PRESET を持つフリップフロップを 1 つの非同期リセットシンクロナイザー内に混合することはできません X-Ref Target - Figure 2-38 図 2-38: クリアベースの非同期リセットシンクロナイザー X-Ref Target - Figure 2-39 図 2-39: プリセットベースの非同期リセットシンクロナイザー デザイン解析およびクロージャテクニック 75

76 第 2 章 : タイミング解析機能 組み合わせロジック 次の図に示す組み合わせロジックの例では LUT3 で示されるロジックファンクションが clk_a からの CDC と clk_b シンクロナイザーの間に配置されています X-Ref Target - Figure 2-40 図 2-40: 組み合わせロジックの例 この構造は 組み合わせロジックの出力でグリッチが発生する可能性があり このグリッチはシンクロナイザーに取り込まれてデザインの残りの部分に伝搬されるので 通常推奨されません デザイン解析およびクロージャテクニック 76

77 第 2 章 : タイミング解析機能 ファンアウト 次の図に示すファンアウトの例では ソースフリップフロップで駆動されるネットが赤でハイライトされている clk_b ドメインで 3 回同期化されています この構造は シンクロナイザーを介するレイテンシは限定されますがサイクル精度ではなく デスティネーションクロックドメインでデータコヒーレンシの問題が発生することがあるため お勧めしません X-Ref Target - Figure 2-41 図 2-41: ファンアウトの例 注記 : N 個の異なるクロックドメインへの N ファンアウトは CDC 問題ではなく CDCH-11 違反とはなりません デザイン解析およびクロージャテクニック 77

78 第 2 章 : タイミング解析機能 複数クロックのファンイン 次の図に示す複数クロックのファンインの例では clk_a と clk_x の両方がデータを組み合わせロジック (LUT2) を介して clk_b ドメインのシンクロナイザー回路に転送しています clk_a と clk_x からのソースデータをグルーロジックを介して結合する前に 個別に同期することをお勧めします これにより CDC 構造全体の MTBF 特性が向上し グリッチがデスティネーションクロックドメインに伝搬されるのが回避されます X-Ref Target - Figure 2-42 図 2-42: 複数クロックのファンインの例 デザイン解析およびクロージャテクニック 78

79 第 2 章 : タイミング解析機能 FD 以外のプリミティブ 次の図に示す FD 以外のプリミティブの例では CDC は FDRE と RAMB の間で発生しており RAMB プリミティブ内に同期ロジックは存在しません clk_b に接続されている 1 段のフリップフロップを RAMB の前に挿入しても FDRE セルと RAMB セルの配線距離のため十分なシンクロナイザーとはいえません X-Ref Target - Figure 2-43 図 2-43: FD 以外のプリミティブの例 注記 : この規則には HARD_SYNC マクロは含まれません HARD_SYNC マクロは CDCH-18 で検出されます デザイン解析およびクロージャテクニック 79

80 第 2 章 : タイミング解析機能 CE 制御の CDC 次の図に示す CE 制御の CDC では クロックイネーブル信号はクロック乗せ換えフリップフロップを制御するために使用される前に デスティネーション clk_b ドメインで同期されます X-Ref Target - Figure 2-44 図 2-44: CE 制御の CDC の例 CDC エンジンでは FF3/CE に接続されている信号のソースクロックが clk_b であることのみがチェックされます クロックイネーブル信号が別に安全な CDC パスとしてレポートされていれば その同期方法に制限はありません また clk_a ドメインから FF3 へのレイテンシはユーザーが制約する必要があり これには通常 set_max_delay -datapath_only 制約を使用します デザイン解析およびクロージャテクニック 80

81 第 2 章 : タイミング解析機能 マルチプレクサー制御の CDC 次の図に示すマルチプレクサー制御の CDC の例では マルチプレクサーセレクト信号はデスティネーションクロックドメイン clk_b に同期されています X-Ref Target - Figure 2-45 図 2-45: マルチプレクサー制御の CDC の例 CE 制御の CDC と同様に セレクト信号が個別に安全とレポートされていれば その同期方法に制限はありません また FF2_c 上のクロック乗せ換え遅延はユーザーが制約する必要があります デザイン解析およびクロージャテクニック 81

82 第 2 章 : タイミング解析機能 マルチプレクサーデータホールド CDC 次の図に示すマルチプレクサーデータホールド CDC の例では マルチプレクサーセレクト信号はデスティネーションクロックドメイン clk_b に同期されており data_out がマルチプレクサーにフィードバックされています X-Ref Target - Figure 2-46 図 2-46: マルチプレクサーデータホールド CDC の例 CE 制御の CDC と同様に マルチプレクサーのセレクト信号が個別に安全とレポートされていれば その同期方法に制限はありません また FF2_c 上のクロック乗せ換え遅延はユーザーが制約する必要があります デザイン解析およびクロージャテクニック 82

83 第 2 章 : タイミング解析機能 バススキューレポート バススキューレポートは set_bus_skew を使用してデザインに設定されたバススキュー制約をレポートします 現在のところ バススキューレポートはタイミングサマリレポートには含まれていないので 完全なタイミングサインオフのためには タイミングサマリレポートに加えて手動でバススキューレポートを手動で生成する必要があります バススキューレポートの生成 バススキューレポートは コマンドラインから report_bus_skew Tcl コマンドを実行することによってのみ生成可能です このコマンドでは report_timing コマンドのフィルターおよび出力レポートのフォーマットに関する多くのオプションと同じオプションを使用できます バススキューパスの詳細の確認 バススキューレポートには 次の 2 つのセクションが含まれます 1. [Bus Skew Report Summary] ( バススキューレポートサマリ ) 2. [Bus Skew Report Per Constraint] ( 制約ごとのバススキューレポート ) [Bus Skew Report Summary] セクション [Bus Skew Report Summary] セクションには デザインで定義されている set_bus_skew 制約がすべてレポートされます 各制約に関して次の情報が示されます [Id]: レポートの後の方で使用される制約 ID これを使用すると その制約をレポート内で簡単に検索できます [From]: set_bus_skew -from オプションで指定されたパターン [To]: set_bus_skew -to オプションで指定されたパターン [Corner]: ワーストバススキューが算出に使用されたコーナー (Slow または Fast) [Requirement]: バススキューのターゲット値 [Actual]: この制約が適用されるすべてのパスで算出されたワーストバススキュー [Slack]: ワーストバススキューと制約要件との差 次の例では デザインに要件が 1ns のバススキュー制約が 1 つだけ設定されています この制約が適用されているすべてのパスのワーストスキューは 1.107ns です X-Ref Target - Figure 2-47 デザイン解析およびクロージャテクニック 83

84 第 2 章 : タイミング解析機能 [Bus Skew Report Per Constraint] セクション [Bus Skew Report Per Constraint] セクションには 各 set_bus_skew 制約の詳細が示されます レポートされる各制約には 次の 2 つのセクションがあります 1. 制約が適用されるパスの詳細なサマリ 2. サマリにレポートされたタイミングパスの詳細 詳細なサマリの表には 次の情報が含まれます [From Clock]: クロックドメインの始点 [To Clock]: クロックドメインの終点 [Endpoint Pin]: レポートされたパス関連する終点ピン [Reference Pin]: スキューを算出するのに使用された基準ピン この表の各行で 異なる基準ピンが参照されている可能性があります [Corner]: この終点へのワーストスキューを算出するのに使用されたコーナー (Fast/Slow) [Actual]: 算出されたスキュー スキューは 終点ピンの相対遅延から基準ピンの相対遅延と相対 CRPR を引いた値です [Slack]: 実際のパスのスキューと要件との差 注記 : バススキュー制約を設定する際は -from および -to オプションの両方を指定する必要があります デフォルトでは ワーストバススキューの終点のみがレポートされます 複数の終点をレポートするには -max_paths および -nworst オプションを使用できます これらは report_timing コマンドの同じオプションと同様に機能します たとえば -nworst 1 -max_path 16 を使用すると 各制約に対して 16 個までの終点 終点ごとに 1 つのパスをレポートできます X-Ref Target - Figure 2-48 タイミングパスの詳細セクションには サマリの表にレポートされた各ピンペアのタイミングパスの詳細が示されます レポートされるパスの数は サマリの表にレポートされている終点の数と同じで -max_paths/-nworst オプションで制御できます バススキュータイミングパスの詳細のフォーマットは デスティネーションクロックのソース時間が常に 0 であることを除き ほかのタイミングパスと同様です 各スラックに対し 終点へのタイミングパスと基準ピンへのタイミングパスが示されます 次のパスの詳細例は -path_type short オプションを使用して生成されており クロックネットワークの詳細は省略されています 終点ピンへのパスが基準ピンへのパスの前に表示されています パスヘッダーには 2 つの詳細パスからの情報 要件 相対 CRPR が示されます デザイン解析およびクロージャテクニック 84

85 第 2 章 : タイミング解析機能 X-Ref Target - Figure 2-49 デザイン解析およびクロージャテクニック 85

86 第 3 章 インプリメンテーション結果の解析機能 [Design Runs] ウィンドウ [Design Runs] ウィンドウには run の状態が表示されます 詳細は Vivado Design Suite ユーザーガイド : Vivado IDE の使用 (UG893) [ 参照 1] のこのセクションを参照してください run が終了すると [Design Runs] ウィンドウがに run が問題なく完了したか エラーが発生したかが示されます ヒント : run が最新でない場合は ポップアップメニューから [Force Up-to-Date] をクリックして ステータスを強制的に最新の状態にすることができます X-Ref Target - Figure 3-1 図 3-1: [Design Runs] ウィンドウ [Design Runs] ウィンドウには 次の情報が表示されます [Name]: run の名前 [Part]: ターゲットデバイス [Constraints]: run に関連付けられている制約セット [Strategy]: run のストラテジ [Status]: run で最後に完了した段階のステータス [Progress]: run の進捗状況 [Start]: run の開始時間 [Elapsed]: 実行中の run に対しては経過時間 完了している run に対しては最終的な実行時間 [WNS] [TNS] [WHS] [THS] [TPWS]: run のタイミング値 ( 第 2 章の タイミングサマリレポート を参照 ) これらの値から run がタイミングを満たしているかどうかをすばやく判断できます タイミングが満たされていない場合は タイミングサマリレポートを使用して解析する必要があります [Failed Nets]: 配線できなかったネットの数 [Description]: run ストラテジの簡単な説明 デザイン解析およびクロージャテクニック 86

87 第 3 章 : インプリメンテーション結果の解析機能 Vivado IDE プロジェクトフローを使用している場合は [Messages] ウィンドウでアクティブなインプリメンテーションの結果を確認します メッセージは フローの段階別にグループ化されています run のログファイルに保存される情報およびメインの Vivado セッションのログファイルの情報は すべてこのウィンドウに表示されます X-Ref Target - Figure 3-2 図 3-2: 段階ごとにグループ化されたメッセージ メッセージによっては ファイル名をクリックすることにより ソースファイルまたはメッセージに関係するデザインオブジェクトにクロスプローブできるものもあります メッセージからオブジェクトにクロスプローブするには 解析しているフローの段階によって 合成済みデザインまたはインプリメント済みデザインを開いておく必要があります 配置解析 このセクションでは 配置解析について説明します 次の内容が含まれます 配置のハイライト 接続の表示 メトリクスの表示 配置のハイライト デザインの配置を確認する別の方法として セル配置の解析があります この解析には [Highlight Leaf Cells] コマンドを使用します 1. [Netlist] ウィンドウで解析する階層レベルを選択します 2. 右クリックして [Highlight Leaf Cells] をクリックし 色を選択します 3. 複数の階層レベルを選択している場合は [Cycle Colors] をクリックします [Device] ウィンドウで階層セルを構成する最下位セルが色表示されます デザイン解析およびクロージャテクニック 87

88 第 3 章 : インプリメンテーション結果の解析機能 X-Ref Target - Figure 3-3 図 3-3: 階層のハイライト 色分け表示により UsbEngine0 ( 黄色 ) は次のようなものであることがわかります ブロック RAM および DSP48 セルを使用しています DSP 以外は チップの上部のクロック領域内にあります デザインのその他のロジック ( セル ) とそれほど混じり合っていません fftengine ( 赤色 ) と cpuengine ( 茶色 ) が混じり合っているのがわかります この 2 つのブロックは基本的に異なるリソースを使用します ( 一方は DSP48 もう一方はスライス ) これらが混じり合っていることで デバイスが最適に使用されます 接続の表示 接続に基づいてデザインを解析すると有益な場合があります ある入力 ブロック RAM または DSP のバンクで駆動されるすべてのロジックの配置を確認するには [Show Connectivity] を実行します このコマンドは 複数のセルまたはネットをシードとして 別のタイプのオブジェクトを選択します ヒント : この機能を使用して デザイン内のロジックのコーンを表示できます 図 3-4 では デバイス内の OBUF を含むロジックを駆動するブロック RAM が表示されています 合成プラグマにより メモリの推論でブロック RAM 内に出力フリップフロップが配置されないようになっています デザイン解析およびクロージャテクニック 88

89 第 3 章 : インプリメンテーション結果の解析機能 X-Ref Target - Figure 3-4 図 3-4: 接続の表示 デザイン解析およびクロージャテクニック 89

90 第 3 章 : インプリメンテーション結果の解析機能 固定および未固定のロジック Vivado には 次の 2 種類の配置があります ユーザーが配置したエレメント ( オレンジ色 ) は固定されます 固定ロジックは XDC に保存されます 固定ロジックには 通常 LOC 制約が設定されています BEL 制約が設定されている場合もあります ツールで配置されたエレメント ( 青色 ) は固定されません 図 3-5 では I/O およびブロック RAM の配置が固定されています スライスロジックは固定されていません X-Ref Target - Figure 3-5 図 3-5: 固定および未固定のロジック デザイン解析およびクロージャテクニック 90

91 第 3 章 : インプリメンテーション結果の解析機能 クロスプローブ Vivado 合成を使用して合成されたデザインでは ネットリストデザインがメモリに読み込まれていればソースファイルにクロスプローブできます クロスプローブするには 次の手順に従います 1. ゲートを選択します 2. 右クリックして [Go To Source] をクリックします X-Ref Target - Figure 3-6 図 3-6: ソースへのクロスプローブ クロスプローブ機能を使用して ネットリストゲートに関連するソースを特定します 合成での変換により デザインのすべてのゲートをソースにクロスプローブできるとは限りません デザイン解析およびクロージャテクニック 91

92 第 3 章 : インプリメンテーション結果の解析機能 メトリクスの表示 インプリメンテーションが終了したら デザインがデバイスでどのように動作するかを確認できます Vivado IDE では デバイス内のロジックおよび配線リソースの使用状況を調べるためのメトリクスが複数あります メトリクスは [Device] ウィンドウに指定した規則に従って色分け表示されます メトリクスを表示するには [Device] ウィンドウを右クリックして [Metric] をクリックし 表示するメトリクスを選択します ( 次の図を参照 ) X-Ref Target - Figure 3-7 図 3-7: メトリクス デザイン解析およびクロージャテクニック 92

93 第 3 章 : インプリメンテーション結果の解析機能 配置済みデザインが必要なメトリクス 次の 4 つのメトリクスには 配置済みデザインが必要です 完全に配線されたデザインは必要ありません [LUT Utilization per CLB]: 配置された LUT の使用率に基づいて スライスを色分け表示します [FF Utilization per CLB]: 配置されたフリップフロップの使用率に基づいて スライスを色分け表示します [Vertical Routing Congestion per CLB]: 垂直方向の配線の使用状況をベストケースで見積もった結果に基づいて デバイスを色分け表示します [Horizontal Routing Congestion per CLB]: 水平方向の配線の使用状況をベストケースで見積もった結果に基づいて デバイスを色分け表示します 配置なしのネットリストデザインでのメトリクス Pblock がある場合は 次の 2 つのメトリクスが適用されます これらは配置に依存しません [LUT Utilization per Pblock]: Pblock に含まれる LUT がスライスにどのように配置されるかの予測に基づいて Pblock を色分け表示します [FF Utilization per Pblock]: Pblock に含まれるフリップフロップがスライスにどのように配置されるかの予測に基づいて Pblock を色分け表示します 図 3-7 に示すように 複数のルールを同時に使用できます この図では [LUT Utilization per CLB] および [FF Utilization per CLB] の両方がオンになっています ヒント : デザインに使用率の高い部分や配線の密集度が高くなることが予測される部分がある場合は RTL または配置制約を変更して その部分でのロジックおよび配線の使用率を削減してください デザイン解析およびクロージャテクニック 93

94 第 3 章 : インプリメンテーション結果の解析機能 配線解析 [Device] ウィンドウのツールバーの [Routing Resources] ボタンをオンにすると 配線リソースが表示されます X-Ref Target - Figure 3-8 配線配置の表示 配置配線は ズームレベルによって表示が異なります 縮小表示した場合 拡大表示した場合 図 3-8: 配線の表示 ヒント : 2 種類の表示を使用することにより ランタイムとメモリの使用量を最小限に抑えながら すべてのサイズでデザインの詳細が表示されるようになっています 縮小した場合の配線配置の表示 縮小すると 表示は簡略化されたものになります この表示には 次のような特徴があります 配線が凝縮されたものになります 特定の領域を通過する配線の数によって線の太さが変わります 配置も同様に 各タイルを表すブロックに 配置されているロジックが表示されます タイルに含まれるロジックが多いほど タイルを表すブロックが大きくなります デザイン解析およびクロージャテクニック 94

95 第 3 章 : インプリメンテーション結果の解析機能 X-Ref Target - Figure 3-9 図 3-9: 簡略表示 拡大した場合の配線配置の表示 拡大すると 実際のロジックセルおよび配線が表示されます X-Ref Target - Figure 3-10 図 3-10: 詳細表示 デザイン解析およびクロージャテクニック 95

96 第 3 章 : インプリメンテーション結果の解析機能 表示オプション [Device] ウィンドウをカスタマイズして デバイスおよびデザインをさまざまな方法で表示できます これらは ツールバーの [Options] ボタンをクリックして [Device Options] スライドアウトで設定します X-Ref Target - Figure 3-11 図 3-11: [Device Options] スライドアウトの [Layers] ビュー デザインおよびデバイスの異なるリソースの表示 / 非表示を切り替えたり 表示色を変更したりできます [Device] ウィンドウのナビゲーション X-Ref Target - Figure 3-12 図 3-12: [Device] ウィンドウのナビゲーション デザイン解析およびクロージャテクニック 96

97 第 3 章 : インプリメンテーション結果の解析機能 [Device] ウィンドウは 次の機能を使用してナビゲートできます ズーム操作 : 標準的な拡大 ([Zoom In]) 縮小 ([Zoom Out]) および全体表示 ([Zoom Fit]) [Auto-fit Selection]: [Device] 以外のウィンドウで選択されたオブジェクトを自動的に拡大表示します クロスプローブに便利です [World] ビュー : [Device] ウィンドウに現在表示されている部分がデバイス全体のどこかを表示します [World] ビューに表示される黄色のボックスをドラッグまたはサイズ変更すると [Device] ウィンドウの表示を移動したりサイズ変更したりできます Ctrl キー : Ctrl キーを押しながらドラッグすると 表示箇所を移動できます デザイン解析レポート デザイン解析レポートには タイミングパスの特性 デザインのインターコネクトの複雑性 および密集に関する情報が示されます この情報を使用してデザインおよび制約を変更することにより QoR ( 結果の品質 ) を向上し 配線の密集を緩和できます デザイン解析レポートの生成 デザイン解析レポートは [Tcl Console] コンソールまたは Vivado IDE から生成できます 次の 3 つのカテゴリのレポートを生成できます タイミング : タイミングパスのタイミングおよび物理的な特性をレポートします 複雑性 : デザインの配線の複雑性および LUT の分布を解析します 密集度 : デザインの配線の密集度を解析します Vivado IDE からデザイン解析レポートを実行するには [Tools] [Report] [Report Design Analysis] をクリックします 同等 Tcl コマンド : report_design_analysis -name design_analysis_1 注記 : デザイン解析レポートのオプションには report_design_analysis Tcl コマンドを実行する場合にのみ使用可能なオプションがいくつかあります この Tcl コマンドの結果を GUI で表示するには -name オプションを使用します Vivado IDE の [Report Design Analysis] ダイアログボックス ( 図 3-13) には 次のフィールドおよびタブがあります [Results name] フィールド [Options] タブ [Advanced] タブ [Timer Settings] タブ デザイン解析およびクロージャテクニック 97

98 第 3 章 : インプリメンテーション結果の解析機能 X-Ref Target - Figure 3-13 [Results name] フィールド レポートのグラフィカルウィンドウの名前を指定します 同等 Tcl オプション : -name <windowname> [Options] タブ 図 3-13: [Report Design Analysis] ダイアログボックス [Options] タブ ( 図 3-13) には 次のセクションがあります [Timing] [Complexity] [Congestion] デザイン解析およびクロージャテクニック 98

99 第 3 章 : インプリメンテーション結果の解析機能 [Timing] タイミングパスのタイミングおよび物理的な特性をレポートするよう設定します 同等 Tcl オプション : -timing すべてのパスのレポートを生成するか 特定のタイミングパスのレポートを生成するかを選択できます [All Paths] をオンにした場合は [Path delay type] ( パス遅延タイプ ) をセットアップに対しては [max] ホールドに対しては [min] セットアップおよびホールドの両方に対しては [min_max] に設定できます 同等 Tcl オプション : -setup/-hold また [Maximum number of paths per clock group] ( クロックグループごとのパスの最大数 ) も指定できます 同等 Tcl オプション : -max_paths <arg> [Specific Paths] をオンにした場合 解析は指定したパスオブジェクトに対して実行されます フィールドの右側にある参照ボタンをクリックすると [Find Timing Paths] ダイアログボックスが表示され パスオブジェクトを検索できます get_timing_paths コマンドの詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] のこのセクションを参照してください 同等 Tcl オプション : -of_timing_paths <args> [Extend analysis] をオンにすると 指定した各パスに対して拡張解析が実行され 始点へのワーストパスおよび終点からのワーストパスもレポートされます 同等 Tcl オプション : -extend 注記 : ホールドパス解析を [Extend analysis] オプション (Tcl オプション -extend) をオンにして実行すると パスのセットアップおよびホールドの特性と ホールド違反の修正がセットアップタイミングに影響している場合は同じ始点と終点が表示されます [Include logic level distribution] をオンにすると [Number of paths] で指定した数のパスのロジックレベル分布がデザイン解析レポートに含まれます [All paths] をオンにしている場合は ここで指定したパスの数が [Maximum number of paths per clock group] の代わりに使用されます [Specific paths] をオンにしている場合は 特定のパスのみに対してロジックレベル分布が生成されます 同等 Tcl オプション : -logic_level_distribution -logic_level_dist_paths <arg> [Complexity] デザインネットリストの複雑性をレポートするよう設定します 同等 Tcl オプション : -complexity [Cells to analyze] をオンにすると 複雑性の解析に使用する階層セルを指定できます フィールドの右側にある参照ボタンをクリックすると [Specify Top level Cell] ダイアログボックスが表示され セルオブジェクトを検索できます 同等 Tcl オプション : -cells <args> [Hierarchical depths] をオンにすると 最上位 ( デフォルト ) または -cells オプションで指定したセルで解析するレベル数を指定できます 同等 Tcl オプション : -hierarchical_depth <arg> デザイン解析およびクロージャテクニック 99

100 第 3 章 : インプリメンテーション結果の解析機能 [Congestion] -congestion Tcl オプションをオンまたはオフにします [Advanced] タブ [Advanced] タブ ( 図 3-14) には 次のセクションがあります [File Output] [Miscellaneous] [File Output] セクション [Write results to file] をオンにし その右側のフィールドでファイル名を指定することにより 結果を GUI に表示するだけでなく ファイルに保存できます ファイル名を指定するフィールドの右側にある参照ボタンをクリックすると 異なるディレクトリを指定できます 同等 Tcl オプション : -file <arg> [Overwrite] をオンにすると 既存のファイルが上書きされます [Append] をオンにすると 新しい結果がファイルの最後に追加されます 同等 Tcl オプション : -append [Miscellaneous] [Ignore command errors (quiet mode)] をオンにするとコマンドエラーは表示されなくなり [Suspend message limits during command execution] をオンにするとプログラム実行中メッセージの非表示設定が解除され すべてのメッセージが表示されます 同等 Tcl オプション : -quiet/-verbose デザイン解析およびクロージャテクニック 100

101 第 3 章 : インプリメンテーション結果の解析機能 X-Ref Target - Figure 3-14 図 3-14: [Report Design Analysis] ダイアログボックス : [Advanced] タブ デザイン解析およびクロージャテクニック 101

102 第 3 章 : インプリメンテーション結果の解析機能 [Timer Settings] タブ [Timer Settings] タブ ( 図 3-15) には 次のオプションおよびセクションがあります [Interconnect] [Speed grade] [Multi-Corner Configuration] [Disable flight delays] [Interconnect] タイミングパスの解析に使用するインターコネクトモデルを選択します [actual]: 配線済みデザインの最も正確な遅延が使用されます [estimated]: インプリメンテーション前のデバイス上のデザインの配置および接続に基づく見積もりインターコネクト遅延が使用されます デザインが完全に配線されている場合でも 見積もり遅延を指定できます [none]: タイミング解析にインターコネクト遅延は含まれず ロジック遅延のみが使用されます 同等 Tcl コマンド : set_delay_model -interconnect <arg> set_delay_model コマンドの詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] を参照してください [Speed grade] 解析用のスピードグレードを指定します 同等 Tcl コマンド : set_speed_grade <arg> set_speed_grade コマンドの詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] を参照してください [Multi-Corner Configuration] 実行するコーナー解析を指定します デフォルトでは 4 コーナー解析が実行されます 同等 Tcl コマンド : config_timing_corners -corner <arg> -delay_type <arg> config_timing_corners コマンドの詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] を参照してください [Disable flight delays] I/O タイミングの算出にパッケージ遅延が含まれないようにします 同等 Tcl コマンド : config_timing_analysis -disable_flight_delays <arg> onfig_timing_analysis コマンドの詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] を参照してください デザイン解析およびクロージャテクニック 102

103 第 3 章 : インプリメンテーション結果の解析機能 X-Ref Target - Figure 3-15 コマンドラインのみのオプション タイミングに関する次のオプションは Tcl コマンドラインから実行する場合にのみ使用可能です GUI レポートを生成するには -name オプションを使用します -routed_vs_estimated 同じパスの見積もり配線遅延と実際の配線遅延を並べて表示します レポートのタイミングカテゴリに含まれる一部のフィールドには 比較のため [Estimated] または [Routed] と示されます -return_timing_paths -end_point_clock -logic_levels 複雑性に関する次のオプションは Tcl コマンドラインから実行する場合にのみ使用可能です GUI レポートを生成するには -name オプションを使用します -bounding_boxes <arg> 図 3-15: [Report Design Analysis] ダイアログボックス : [Timer Settings] タブ このオプションは 指定した範囲内の複雑性解析を実行します 次に例を示します -bounding_boxes { "CLE_M_X21Y239:CLEL_R_X28Y254" "CLEL_R_X18Y171:CLE_M_X26Y186" } 注記 : この例に示すように 開始波かっこ ({) と範囲指定の間にスペースが必要です デザイン解析およびクロージャテクニック 103

104 第 3 章 : インプリメンテーション結果の解析機能 タイミングパス特性レポート 次の図に デザイン解析レポートを タイミングモードで デザインの 10 個のワーストセットアップパス特性がレポートされるように指定して生成した例を示します このレポートは GUI で [Tools] [Report] [Report Design Analysis] をクリックするか 次の Tcl コマンドを使用して生成できます report_design_analysis -name <arg> ヒント : ホールドパス特性をレポートするには [Report Design Analysis] ダイアログボックスの [Options] タブで [Path delay type] を [min] に設定します Tcl コマンド構文の詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] を参照してください X-Ref Target - Figure 3-16 図 3-16: セットアップパス特性レポートの例 デザイン解析レポートには ワーストタイミングパスのロジックレベル分布 (Logic Level Distribution) の表を含めることもできます ロジックレベル分布用に解析されるパスのデフォルト数は 1,000 ですが この数は [Report Design Analysis] ダイアログボックスで変更できます ロジックレベル分布の表はデフォルトでは生成されません 生成するには [Report Design Analysis] ダイアログボックスの [Options] タブで [Include logic level distribution] をオンにします 次の図に ロジックレベル分布の表の例を示します X-Ref Target - Figure 3-17 図 3-17: ロジックレベル分布の表の例 デザイン解析およびクロージャテクニック 104

105 第 3 章 : インプリメンテーション結果の解析機能 特定のパスの解析 図 3-18 に 特定のパスを指定してタイミングモードで生成したデザイン解析レポートの例を示します X-Ref Target - Figure 3-18 図 3-18: 特定のタイミングパスのデザイン解析レポート例 この場合 特定のパスのみに対してパス特性およびロジックレベル分布の表 ( 選択されている場合 ) が生成されます パスを指定するには [Report Design Analysis] ダイアログボックスの [Specific paths] をオンにし フィールドの右側にある参照ボタンをクリックします 図 3-19 に示す [Find Timing Paths] ダイアログボックスが表示されます X-Ref Target - Figure 3-19 図 3-19: [Find Timing Paths] ダイアログボックス デザイン解析およびクロージャテクニック 105

106 第 3 章 : インプリメンテーション結果の解析機能 ワーストパスとその前後のパスの解析 次の図に [Extend analysis] をオンにしてタイミングモードで生成したデザイン解析レポートの例を示します 注記 : [Extend analysis] オプションは 現在のところセットアップパス解析のみで設定可能です ワーストセットアップパスに加え 始点セルへのワーストセットアップパス (PrePath) および終点セルからのワーストセットアップパス (PostPath) のパス特性がレポートされます -extend オプションを使用すると レポートされるパスのすべての特性を収集するためタイミング解析を複数回実行する必要があるので 実行時間が長くなります 同等 Tcl コマンド : report_design_analysis -extend X-Ref Target - Figure 3-20 タイミングパス特性レポートの解読および解釈 パス特性は 主にタイミング ロジック 物理 およびプロパティの 4 つのカテゴリに分類されます 各特性の定義は 次のコマンドを使用してヘルプ情報を参照してください Tcl コマンド : report_design_analysis -help または 同じ情報を Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] でも確認できます カテゴリ 1: タイミング 図 3-20: ワーストセットアップパスの拡張パス特性レポートの例 タイミング解析 : [Path Type] はタイミング解析タイプ ([SETUP] ( セットアップ ) または [HOLD] ( ホールド )) [Requirement] はタイミングパス要件を示します [Slack] は タイミング制約によるタイミング解析に基づいてタイミングパス要件が満たされているかどうかを示します [Timing Exception] は マルチサイクルパスや最大遅延などのタイミング例外がタイミングパスに適用されているかを示します パス要件のチェックは通常 不足しているタイミング制約や不正なタイミング制約をデバッグする際の最初の手順です セットアップ要件が 4 ns 未満のパスは 特にクロック乗せ換えパスの場合は デザインでそれが正しいかどうかを確認する必要があります セットアップ要件が 2 ns 未満のパスは要件を満たすことが困難であり 特に従来のアーキテクチャでは回避する必要があります 通常セットアップ要件が小さい場合 タイミング例外制約が不足していないかどうかと ソースおよびデスティネーションクロックエッジを確認してください タイミング解析では タイミング例外制約が設定されていない場合は ソースクロックエッジとデスティネーションクロックエッジの正の最小差が使用されます デザイン解析およびクロージャテクニック 106

107 第 3 章 : インプリメンテーション結果の解析機能 正のホールドパス要件がある場合 マルチサイクルパス制約をセットアップ解析用にのみ設定してホールド解析用には設定し忘れていないかどうかを確認してください また ソースクロックとデスティネーションクロックの関係が正しいことも確認してください データパス : [Path Delay] はデータパス遅延の合計 [Logic Delay] はロジックセル遅延 [Net Delay] はネット遅延を示します [Logic Delay] が合計データパス遅延に占める割合が高い場合は (50% 以上など ) データパスロジックのレベル数およびロジックパス上のセルのタイプを確認し RTL または合成オプションを変更してパスのロジックレベル数を削減するか遅延の小さいセルを使用することをお勧めします [Requirement] が妥当であるセットアップパスで [Net Delay] の合計パス遅延に占める割合が高い場合は このセクションにリストされているパスの物理特性およびプロパティ特性を解析することをお勧めします [High Fanout] および [Cumulative Fanout] 特性を見ると パスの一部のネットのファンアウトが大きいために配置の問題が発生している可能性があるかを確認できます [Hold Fix Detour] 特性を見ると パスに対してホールド違反の修正が実行されているかを確認できます この特性は report_design_analysis コマンドを route_design コマンドと同じセッションで実行した場合にのみアップデートされ 配線後のチェックポイントを読み込んだ後にはアップデートされません 重要 : LUT 入力ピンの遅延特性は異なります インデックス番号の大きい物理ピン ( サイトピン ) の方が インデックス番号が小さい物理ピンよりも高速です 7 シリーズデバイスと UltraScale デバイスの LUT 遅延のレポートは異なるので注意してください 7 シリーズデバイスでは LUT 遅延の変数部分は LUT 前のネット遅延の一部としてレポートされます UltraScale デバイスでは LUT 遅延の変数部分はロジック遅延としてレポートされます そのため 7 シリーズデバイスの [Net Delay]/[Logic Delay] の比は UltraScale デバイスの比よりも大きくなります クロック : [Start Point Clock] [End Point Clock] [Clock Relationship] および [Clock Skew] は タイミングパスクロックに関する情報を示します [Start Point Clock] はタイミングパスのソースクロック [Endpoint Clock] はデスティネーションクロックを示します [Clock Relationship] が正しいことを確認してください クロック内パスまたは同期クロック乗せ換えパスに対しては Safely Timed と示されます [Requirement] および [Clock Skew] が妥当なものであることを確認する必要があります 非同期クロックに対しては No Common Primary Clock または No Common Period と示されます 非同期クロック乗せ換えパスには タイミング例外を適用する必要があります ([Timing Exception] の値を確認 ) [Clock Skew] が妥当であることを確認します クロックスキューを解析する際は カスケード接続されたクロックバッファーのクロックツリー構造を確認します 7 シリーズデバイスでは ソースクロックおよびデスティネーションクロックの異なるクロックバッファータイプを確認します UltraScale デバイスでは クロックネットの配置および配線はロジックロードの配置によって異なるので クロックネットの配置および配線を調べる必要がある場合があります クロック領域の境界または I/O 列をまたぐと クロックスキューが大きくなることがありますが これは予測されることです report_design_analysis コマンドで生成されるタイミング特性のほとんどは タイミングレポートに示されます デザイン解析およびクロージャテクニック 107

108 第 3 章 : インプリメンテーション結果の解析機能 カテゴリ 2: ロジック パス : [Start Point Pin Primitive] [End Point Pin Primitive] [Start Point Pin] [End Point Pin] [Logic Levels] [Logical Path] および [Comb DSP] ロジック特性は タイミングパスの基本的な情報を示します [Start Point Pin Primitive] はタイミングパスの始点 [End Point Pin Primitive] は終点を示します [Start Point Pin Primitive] と [End Point Pin Primitive] がタイミングパスの正しい始点および終点であることを確認します [Start Point Pin] および [End Point Pin] は 典型的なタイミングレポートのヘッダーに示される実際のタイミングパスピンの始点と終点を示します CLR PRE RST CE などの終点ピンは 非同期リセットやクロックイネーブル信号などの制御信号のファンアウトの大きいネットの一部である可能性があるので 確認します また ブロック RAM や DSP などの一部のプリミティブは Clock-to-Q 遅延およびセットアップ / ホールド要件がほかのセルよりも大きいので セルのタイプも確認してください これらがパスに存在すると パスタイミングバジェットのかなりの部分が消費される可能性があります [Logic Levels] はロジックレベル数 [Logical Path] はデータパスに含まれるプリミティブのタイプを示します この情報を使用すると ロジックレベル数が大きい原因が LUT であるのか LUT/CARRY/MUXF セルの組み合わせであるのかをすばやく確認できます 通常 CARRY および MUXF セルは遅延がゼロまたは非常に小さい専用配線を使用するネットに接続されますが LUT 入力は常にファブリックを介して配線する必要があります パスに含まれるのがほとんど LUT である場合は そのサイズを確認することも重要です 小型の LUT (LUT6 でないもの ) が複数チェーン接続されている理由と 合成でロジックレベル数を削減可能な LUT6 が使用されない原因を把握するようにしてください KEEP DONT_TOUCH MARK_DEBUG などのプロパティが使用されていたり マップ効率に影響するパスにファンアウトが中から大のネットがある可能性があります 解析の結果に基づいて RTL ソースを変更するか RTL の属性を追加または変更するか 異なる合成設定を使用して パス上の LUT の数を削減します また opt_design コマンドの -remap オプションを使用すると LUT を再度最適化して小型の LUT の一部を削除できる可能性があります [COMB DSP] は データパスの一部である組み合わせロジックとして使用されている DSP の数を示します セル : DOA_REG DOB_REG MREG PREG は ブロック RAM および DSP のオプションのレジスタプロパティを示します RAMB または DSP からのパスに出力レジスタがなく ロジックレベルが数レベルの場合 タイミングを満たすのが困難になります これらのパスのタイミング要件を満たすのが困難な場合は デザインを変更して RAMB または DSP の出力レジスタを使用することを考慮してください カテゴリ 3: 物理 アーキテクチャ境界をまたぐ : [BRAM Crossings] [DSP Crossings] [IO Crossings] [Config Crossings] および [SLR Crossings] は パスが BRAM 列 DSP 列 I/O 列 CONFIG ブロック列 および SLR アーキテクチャリソースの境界をまたぐかどうかを示します 多数のアーキテクチャ列をまたぐ場合でも 必ずしも問題が発生するわけではありません 多数のアーキテクチャ列をまたいでいて さらにネット遅延またはスキューが大きいかどうかを確認します 特定のモジュールの複数のインプリメンテーション run で多数のアーキテクチャ列をまたいでいることがタイミング問題の原因である場合は Pblock を使用して最小限のフロアプランを実行し アーキテクチャ列または SLR 境界をまたぐ状況を削減します デザイン解析およびクロージャテクニック 108

109 第 3 章 : インプリメンテーション結果の解析機能 パス配置制限 : Pblock 過剰なフロアプランにより ツールで最適な結果を達成できないことがあります 複数の Pblock をまたぐパスでは タイミング問題が発生することがあります パスが複数の Pblock をまたぐ場合は Pblock の位置とタイミングパスの配置に与える影響を調べます Pblock が隣接している場合は それらの Pblock を 1 つにまとめた Pblock を作成することを考慮してください これにより 配置の制限が緩和され タイミングが向上する可能性があります 物理要件により Pblock が離れている場合は タイミング要件が満たすため Pblock 間をパイプライン処理することを考慮します 配置ボックス : [Bounding Box Size] [Clock Region Distance] [Combined LUT Pairs] タイミングパスの [Combined LUT Pairs] または [Clock Region Distance] が大きすぎる場合は place_design コマンドの -directive オプションを使用してみます UltraScale デバイスでは [Clock Region Distance] とタイミングパスの [Clock Skew] への影響に特に注意してください ネットのファンアウトおよび迂回 : [High Fanout] はデータパスのすべてのネットで最大のファンアウトを示し [Cumulative Fanout] はデータパスネットすべてのファンアウトの合計を示します [High Fanout] および [Cumulative Fanout] が大きい場合は タイミング違反はファンアウトが配線およびネット遅延に影響しているためだと考えられます 物理最適化を実行してもファンアウトが削減されない場合は MARK_DEBUG および DONT_TOUCH 制約により複製が阻止されていないかを確認します インプリメンテーションの前にネットを複製が必要な場合は RTL または XDC ファイル内で合成に MAX_FANOUT 制約を使用します ファンアウトの大きいネットで良いタイミングを得ることができるかどうかは配置に依存するので 合成で複製を実行するのは通常はお勧めしません 配置後の物理最適化 (phys_opt_design) で複製を実行することをお勧めします -directive オプションを Explore AggressiveExplore AggressiveFanoutOpt などに設定すると 正のスラックが小さいパスも最適化できます インプリメンテーション中に特定のネットでファンアウトの削減が必要な場合は 次のコマンドを使用して複製を強制できます phy_opt_design -force_replication_on_nets <netname> [Hold Fix Detour] が 1 の場合 パスホールドタイム要件を満たすためデータパス上の配線が遅延されています パスのセットアップ要件が満たされていない場合は ソースクロックとデスティネーションクロックの間に過剰なスキューがないかどうかを確認します ホールドパス要件が正の場合は ソースクロックとデスティネーションクロックの間に適切なタイミング制約が設定されているかどうかも確認します ホールドパス要件は ほとんどの場合 0 または負です デザイン解析およびクロージャテクニック 109

110 第 3 章 : インプリメンテーション結果の解析機能 カテゴリ 4: プロパティ LUT の組み合わせ : [Combined LUT Pairs] は パスに組み合わされた LUT ペアが存在するかどうかを示します LUT ペアを組み合わせると ロジックの使用率が低減される可能性はありますが 配置ソリューションが制限されることもあり ピンが集中するために配線の密集が発生することもあります LUT の組み合わせがデザインで問題となっていると思われる場合は 合成で -no_lc オプションを使用して LUT の組み合わせをディスエーブルにしてみてください 最適化の阻止 : [Mark Debug] および [Dont Touch] は パスにツールで最適化できないネットまたはセルがあるかどうかを示します MARK_DEBUG プロパティを設定すると デフォルトで DONT_TOUCH プロパティも設定されます DONT_TOUCH を FALSE に設定し 最適化が実行されるようにします DONT_TOUCH を設定すると セルまたはネットの複製などの最適化がディスエーブルになります DONT_TOUCH 制約が必要であるかを評価し 可能であれば削除します 階層セルに入力するネットに DONT_TOUCH が設定されていると 階層セル内のネットの一部を複製できません ロジックが最適化で削除されないようにするため DONT_TOUCH を使用している場合は デザインが正しいことを確認します 出力が接続されていないためにロジックが削除されるのが 1 つの例です 配置配線の固定 : [Fixed Loc] および [Fixed Route] は タイミングパスのスラックに影響する可能性のある固定配置制約または固定配線制約があるかどうかを示します セルロケーション制約を使用すると 困難なデザインで一貫した QoR が得られるようになります デザインを変更した後にタイミングが満たされなくなった場合は 配置制約を削除してより柔軟な配置が実行されるかどうかを試してください 配線を固定すると タイミングを満たすためにネット遅延が最適化されなくなります 配線が固定されたタイミングパスは この制約により悪影響を受けるほかのパスとネットを共有しているのが一般的です 配線の固定は 必要な場合にのみ ほかのパスに影響しないことを確認して使用します Pblock などのほかの物理制約に変更を加えた場合 固定されたセルロケーションまたは固定された配線もアップデートする必要がある場合があるので 注意してください 複雑性レポート 複雑性レポートには Rent 指数 平均ファンアウト 最上位デザインの最下位セルタイプの分布 1000 以上の最下位セルを含む階層セルが示されます Rent 指数は 最小カットアルゴリズムを使用してデザインを再帰的に分割した場合のネットリストパーティションのポート数とセル数の関係を示します グローバル配置中に配置プログラムにより使用されるアルゴリズムと同様のアルゴリズムにより算出されます そのため デザインの階層がグローバル配置中に検出される物理パーティションとよく一致している場合に特に 配置の課題を示す指標として使用できます Rent 指数は Rent の規則により定義されます ports = constant x cells Rent log(ports) = Rent x log(cells) + constant Rent 指数が大きいデザインは 密に接続されたロジックのグループがほかのグループとも密に接続されていることを示します これは グローバル配線リソースの使用率が高く 配線の複雑性が高いことを意味します このレポートに示される Rent 指数は 未配置および未配線のネットリストに対して算出されます 配置後の Rent 指数は論理パーティションではなく物理パーティションに基づくので 同じデザインでも配置後の Rent 指数は異なる場合があります 配置後の Rent 指数は report_design_analysis コマンドではレポートされないので デザインが配置された後に密集を解析することをお勧めします デザイン解析およびクロージャテクニック 110

111 第 3 章 : インプリメンテーション結果の解析機能 次のオプションを使用すると デザイン解析レポートは複雑性モードで生成されます [Report Design Analysis] ダイアログボックスの [Options] タブで [Complexity] をオンにする report_design_analysis Tcl コマンドを次の表に示すオプションを使用して実行する 表 3-1: デザイン解析レポートを複雑性モードで生成するオプション Tcl オプション -complexity -cells <arg> -hierarchical_depth <arg> 説明 デザイン解析レポートを複雑性モードで生成する場合に指定する必要があります 複雑性を解析する際に使用する階層セルを指定します 最上位 ( デフォルト ) または -cells オプションで指定したセルで解析する階層レベル数を指定します 最上位でのデザイン複雑性の解析 次の図に デザイン解析レポートを複雑性モードで実行し 最上位モジュールから 1 階層の解析をレポートした例を示します Tcl コマンド : report_design_analysis -complexity -hierarchical_depth 1 X-Ref Target - Figure 3-21 図 3-21: 最上位と 1 階層の複雑性解析 複雑性レポートの解読と解釈 上記の例の [Complexity Characteristics] ( 複雑性特性 ) 表には 最上位の下の各階層レベルに対して Rent 指数および平均ファンアウトが示されています これらのメトリクスの典型的な範囲を次に示します Rent 指数 (Rent): 0.0 ~ 0.65: 複雑性は低から通常で 問題が発生することは予測されません 0.65 ~ 0.85: 複雑性は高いとみなされます ( 特にインスタンス総数が 個を超える場合 ) > 0.85: 複雑性は非常に高く インスタンス数も多い場合は インプリメンテーションでデザインにエラーが発生する可能性があります デザイン解析およびクロージャテクニック 111

112 第 3 章 : インプリメンテーション結果の解析機能 平均ファンアウト (Average Fanout): < 4: 通常であると考えられます 4 ~ 5: 密集を発生させずにデザインを配置することは困難です SSI デバイスでインスタンス数の合計が 10 個を超える場合は 1 つの SLR に収まる配置ソリューション または 2 つの SLR にまたがる配置ソリューションを見つけるのが困難になります > 5: インプリメンテーション中にデザインでエラーが発生する可能性があります 大型で重要度の高いモジュールで Rent 指数または平均ファンアウトが大きい場合は 対処が必要です 小型のモジュール 特に合計インスタンス数が 10,000 個未満のモジュールの場合は Rent 指数および平均ファンアウトが大きくても問題なく配置配線できます そのため Rent 指数および平均ファンアウトと共に [Total Instances] 列も確認する必要があります 複雑性の特性から常に配線の密集を予測できるわけではありません I/O ロケーション制約 フロアプラン ターゲットデバイスでのマクロプリミティブの位置などほかの要因により 配置ソリューションが制限されて密集が発生する可能性があります これらの制約の影響は 配置後の密集レポートを使用して解析するのが適しています [Complexity Characteristics] 表を解釈するには 次の項目にも注意します モジュールの LUT6 の割合が大きいと 通常平均ファンアウトが大きくなり Rent 指数が大きくなる可能性もあります RAMB および DSP のプリミティブは接続量が多いので これらのプリミティブの数が多いと Rent 指数が大きくなる可能性があります Rent 指数または平均ファンアウトが大きい階層インスタンスが必ずしも問題を引き起こすとは限りません 配置はフラットネットリストに対して実行され これらのインスタンスが配置しやすいロジックグループに分割されます このレポートは あるモジュールが明らかに際立っている場合にネットリストの問題が存在する可能性のある場所を示します 大型のモジュールの Rent 指数または平均ファンアウトが大きくそれが原因で密集およびタイミング問題が発生している場合は 次を実行することを考慮します モジュールの接続を削減します 合成での境界をまたぐ最適化が実行されないよう階層を保持すると LUT6 の使用量が削減され さらにネットリストの集積度も低減されます 合成での LUT の組み合わせをディスエーブルにしてみます インプリメンテーション中に密集ストラテジを使用するか 配置の -directive オプションに SpreadLogic モードを使用して 密集を緩和します デザインが SSI デバイスをターゲットとしている場合は 配置で異なる SSI モードを試してみます SSI デバイスの場合は SLR レベルで それ以外の場合はクロック領域レベルで単純なフロアプランを使用して 密集したロジックのグループを分けるか 前の実行で得られた良い配置に似たソリューションを目指してグローバル配置をガイドします デザイン解析およびクロージャテクニック 112

113 第 3 章 : インプリメンテーション結果の解析機能 密集レポート 密集レポートは デバイスの密集したエリアとそれらのエリアにあるデザインモジュールの名前を示します クリティカルパスが密集したエリアの中または近くにある場合 タイミングクロージャの問題が発生する可能性があります デザインの密集の解析 デザイン解析レポートを密集モードで生成するには [Report Design Analysis] ダイアログボックスの [Options] タブで [Congestion] をオンにします デザインが配置または配線されていることが必要です 配置が実行されていないデザインに対してデザイン解析レポートを密集モードで実行しても 何もレポートされません 密集モードのデザイン解析レポートには 次の 6 つの表が含まれます [Placed Maximum] ( 配置後の最大レベル密集レポート ) [Average Initial Router Maximum] ( 平均初期配線最大密集レポート ) [Router Maximum] ( 配線最大密集レポート ) [SLR Net Crossing] (SLR をまたぐネットのレポート ) [Placed Tile Based (V)] [Placed Tile Based (H)] 最大密集レポート これらの表には 特定の方向で見られる最大密集レベル (Window Size) と同じすべてのウィンドウがレポートされます 次の列があります [Direction]: 密集した配線リソースの方向 (North South West または East) を示します [Window Size]: CLB タイルの密集のウィンドウサイズを示します [Congestion in Window (%)]: 定義されたウィンドウでの配線リソースの見積もり使用率を示します この値は 100% 以上になることがあります [Rent]: ウィンドウの Rent 指数を示します [Congestion Window]: 特定された方向の密集が存在する境界 CLB タイルを示します CLB 座標は ウィンドウの左下と右上に対応します ヒント : [Congestion Window] 列は テキストレポートのみに含まれます GUI レポートでは 密集ウィンドウを選択すると [Device] ウィンドウで密集エリアがハイライトされます [Cell Names]: 密集ウィンドウに関連する階層セルを含む親インスタンスを 割合の大きいものから 3 つまで示します ヒント : GUI レポートでは ハイパーリンクになっているセル名をクリックすると 密集ウィンドウの対応する再開セルがハイライトされます [LUT usage %]: ウィンドウ内での LUT の使用率を示します [Flop usage %]: ウィンドウ内での FD (LD を含む ) の使用率を示します [MUX usage %]: ウィンドウ内での MUXF の使用率を示します デザイン解析およびクロージャテクニック 113

114 第 3 章 : インプリメンテーション結果の解析機能 [RAMB18 usage %]: ウィンドウ内での RAMB18 の使用率を示します [RAMB36 usage %]: ウィンドウ内での RAMB36 の使用率を示します [DSP usage %]: ウィンドウ内での DSP の使用率を示します [Placed Maximum] ( 配置後の最大レベル密集レポート ) [Placed Maximum] 表でデザインの密集およびタイミング QoR を解析する際は 次を確認します LUT の使用率が高い場合は 複雑性レポートで LUT6 の割合が大きいインスタンスを調べます 密集エリアで RAMB または DSP の使用率が高い場合は 該当するモジュールの配置エリアが Pblock 制約により制限されていないかを確認します 配置の -directive オプションで BlockPlacement や SpreadLogic などのモード指定して 密集を緩和します 前の実行で密集が低く良いタイミング QoR が得られている場合は その RAMB または DSP の配置を再利用すると効果的であることがあります 次の図に [Placed Maximum] の表の例を示します このレポートを使用すると 密集ウィンドウにより定義されたデバイスのエリアとそのウィンドウ内にあるモジュールを調べることができます リソース使用率から密集エリアに配置されているリソースのタイプがわかります X-Ref Target - Figure 3-22 [Average Initial Router Maximum] ( 平均初期配線最大密集レポート ) [Average Initial Router Maximum] は 配線が実行されている場合にのみ生成され route_design ログファイルの Congestion Report と似ており 配線の初期段階で直面する配線の密集を示します [Router Maximum] ( 配線最大密集レポート ) 図 3-22: [Placed Maximum] 表の例 [Router Maximum] は 配線が実行されている場合にのみ生成され route_design ログファイルの Congestion Report と似ています [Router Maximum] 表を解析する際は 次を確認します ウィンドウサイズが 64x64 を超える場合は デザインでタイミングが満たされる可能性は低く 配線でエラーが発生することがあります ウィンドウサイズが 16x16 または 32x32 で 配線でレポートされる密集と配置でレポートされる密集が一致している場合は [Placed Maximum] 表で密集エリアに配置されているモジュールを特定する必要があります それらのモジュールに対して密集を緩和する手法を適用するか 配置を -directive オプションで SpreadLogic* などの異なるモードを使用して再実行します ウィンドウサイズが 8x8 以下の場合は タイミングバジェットが非常に厳しい場合以外は 密集が問題となることはありません デザイン解析およびクロージャテクニック 114

115 第 3 章 : インプリメンテーション結果の解析機能 X-Ref Target - Figure 3-23 図 3-23: [Router Maximum] の表の例 [SLR Net Crossing] (SLR をまたぐネットのレポート ) [SLR Net Crossing] は SSI デバイスに対してのみ生成され SLR の境界をまたぐモジュールに含まれるネットの数をレポートします 各モジュールに対し ネットがまたぐ SLR の詳細情報が示されます 次の図に [SLR Net Crossing] 表の例を示します 注記 : 1 つのネットの複数の SLR に含まれる複数のロードを駆動する場合 最も遠いもののみがカウントされます たとえば SLR0 のネットが SLR1 SLR2 および SLR3 のロードを駆動する場合 SLR3 が SLR0 から最も遠いファンアウトなので このネットは [0-3 Cuts] でのみカウントされます このカウント方法により 各列 ([0-1 Cuts] [1-2 Cuts] など ) のネット数を合計した値が SLR をまたぐネットの総数と一致します X-Ref Target - Figure 3-24 図 3-24: [SLR Net Crossing] の表の例 SLR Net Crossing Reporting の表でデザインの密集およびタイミング QoR を解析する際は 次を確認します SSI デバイスを使用している場合は 配置の -directive オプションで SSI 用のモードを使用すると タイミングおよび密集に両方において有益です 配置の -directive オプションのさまざまなモードを使用した複数のインプリメンテーション run で SLR をまたぐ特定のモジュールに対してタイミング問題が発生する場合は 単純な Pblock を作成してモジュールを 1 つの SLR に制約してみてください デザイン解析およびクロージャテクニック 115

116 第 3 章 : インプリメンテーション結果の解析機能 [Placed Tile Based] ( 配置後のタイルベースの密集メトリクス ) [Placed Tile Based] は 密集が最大のものから 10 個の CLB タイルと それらの CLB タイルに配置されているセルを含むモジュールを示します 図 3-25 および図 3-26 に [Placed Tile Based (V)] ( 垂直 ) と [Placed Tile Based (H)] ( 水平 ) の例を示します [Tile Name]: 密集が発生している CLB タイルを示します [RPM Grid Column/Row]: デバイスの CLB の RPM ロケーションを示します [Congestion in Window (%)]: CLB タイルを解する配線リソースの見積もり使用率を示します この値は 100% 以上になることがあります [Cell Names]: 密集ウィンドウに関連するセルを含む親インスタンスを 割合の大きいものから 3 つまで示します [Placer Max Overlap?]: タイルが Placed Maximum 領域とオーバーラップしているかを示します このデータは [Window] [Metrics] をクリックして [CLB Metrics] の下にある [Vertical/Horizontal routing congestion per CLB] をクリックしてグラフィカルに表示できます [Placed Tile Based (V)] X-Ref Target - Figure 3-25 図 3-25: [Placed Tile Based (V)] の例 [Placed Tile Based (H)] X-Ref Target - Figure 3-26 図 3-26: [Placed Tile Based (H)] の例 デザイン解析およびクロージャテクニック 116

117 第 4 章 レポートおよびメッセージ 概要 Vivado 統合設計環境 (IDE) では さまざまな処理の実行中のデザインまたはデザインプロセスのステートに関する情報がレポートおよびメッセージとして表示されます レポートは デザインフローの主要な段階でユーザーまたはツールにより生成され デザインに関する特定の情報を示します メッセージは デザインプロセスの各段階または多くのユーザー操作に対して ツールにより自動的に生成されます メッセージおよびレポートは Vivado IDE の下部の [Messages] ウィンドウおよび [Reports] ウィンドウに表示されます 次のいずれかのコマンドを実行すると 新しいプロセスが開始します [Run Synthesis] [Run Implementation] launch_runs (Tcl) Tcl コマンドの詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] を参照するか <command> -help と入力してください プロセスによりメッセージおよびレポートが生成され run をリセットするまでディスクに保持されます プロジェクトが開いている場合 run に関連するメッセージが表示されます [Messages] ウィンドウには アクティブ run に関するメッセージのみが表示されます レポートは Vivado IDE でのさまざまな操作により生成されます デザインを読み込むと [Tools] メニューのコマンドを使用して異なるレポートを生成できるようになります 合成またはインプリメンテーションを実行すると 合成レポートまたはインプリメンテーションレポートが生成されます デザイン解析およびクロージャテクニック 117

118 第 4 章 : レポートおよびメッセージ IDE でのメッセージの表示および管理 メッセージは デザインの特定のエレメントに関するステータス情報 またはツール処理中に発生したエラーを示します ヒント : メッセージを確認し デザインに困難な部分や問題が発生している箇所がないかどうかを判断します [Reports] ウィンドウ [Reports] ウィンドウには アクティブな合成またはインプリメンテーション run に関するレポートが表示されます レポートをダブルクリックすると テキストエディターで開きます [Run Properties] ウィンドウの [Reports] ビューから [Design Runs] ウィンドウで選択している run のレポートを表示できます X-Ref Target - Figure 4-1 [Messages] ウィンドウ メッセージには 次の 2 種類があります ディスクに保存されるメッセージ メモリに保存されるメッセージ 図 4-1: [Reports] ウィンドウ [Messages] ウィンドウでは メッセージが生成された操作ごとにメッセージがグループ化されます このウィンドウのツールバーのコマンドボタンを使用して メッセージ ID またはファイルでメッセージをグループ化できます X-Ref Target - Figure 4-2 図 4-2: [Messages] ウィンドウ 一部のメッセージにはファイルまたはデザインエレメントへのハイパーリンクが含まれており デバッグに役立ちます リンクをクリックしてソースを表示します デザイン解析およびクロージャテクニック 118

119 第 4 章 : レポートおよびメッセージ ヒント : ポップアップメニューから [Copy Message] をクリックすると メッセージ全体をコピーして別のウィンドウまたはファイルに貼り付けることができます 各メッセージには メッセージ ID とメッセージの重要度が付けられています メッセージ ID メッセージ ID は異なるメッセージを識別するもので メッセージをグループ化または並べ替えできるようになっています メッセージの重要度 メッセージの重要度は 示されている情報の特性を示します デザインをエラボレート 合成 またはインプリメントする前に解決しておく必要があるメッセージもありますが 情報のみのメッセージもあります 情報メッセージは デザインまたはプロセスの詳細を示しますが それに対処する必要はありません 表 4-1: メッセージの重要度 アイコン 重要度 ステータス 情報 警告 クリティカル警告 エラー メッセージ デザインプロセスに関する一般的なステータスを示します デザインプロセスに関する一般的なステータスおよびフィードバックを示します 制約または仕様が意図どおりに適用されていないために 最適なデザイン結果にならない可能性を示します ユーザー入力または制約に 適用されなかったり 適切な方法に従っていないものがあり フローの後の方でエラーが発生する可能性が高いことを示します ソースおよび制約を確認して 変更を加えることを強くお勧めします デザイン結果が使用できない状態になり ユーザーが対処しないと回避されない問題を示します デザインフローは停止します 推奨 : アクティブ合成およびインプリメンテーション run からデザインをメモリに読み込んだときに すべてのエラーおよびクリティカル警告を確認してください メッセージには 注意が必要な問題に関する情報が示されます メッセージには解決策を示す長い説明が含まれているものもあり メッセージ ID をクリックすると表示できます 図 4-3 の例を参照してください この例では プライマリクロック制約がデザインにないポートを参照しているため ( 最初の警告 ) 作成されず ( 最初のクリティカル警告 ) このクロックを参照する制約も作成されないことを示しています デザイン解析およびクロージャテクニック 119

120 第 4 章 : レポートおよびメッセージ X-Ref Target - Figure 4-3 メッセージのフィルター処理 メッセージを重要度でフィルターできます 特定のメッセージタイプを表示または非表示にするには 次の手順に従います 1. [Messages] ウィンドウに移動します 図 4-3: エラーおよびクリティカル警告の確認 2. ウィンドウの上部にあるメッセージの重要度のチェックボックスをオン ( 表示 ) またはオフ ( 非表示 ) にします 特定のメッセージ ID の重要度を変更できます クリティカルでないと思われるメッセージの重要度を下げたり より注意が必要と思われるメッセージの重要度を上げたりすることができます メッセージの重要度を変更するには set_msg_config Tcl コマンドを使用します 次に例を示します set_msg_config -id "[Common 17-81]" -new_severity "CRITICAL WARNING" set_msg_config の詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] のこのセクションを参照してください デザイン解析およびクロージャテクニック 120

121 第 4 章 : レポートおよびメッセージ Vivado で生成されるレポートおよびメッセージ このセクションでは Vivado で生成されるレポートおよびメッセージについて説明します 次の内容が含まれます 合成のレポートおよびメッセージ インプリメンテーションログ WebTalk レポート 合成のレポートおよびメッセージ Vivado 合成レポートは Vivado 合成の主な出力で 次の情報を含みます 処理されたファイル VHDL Verilog SystemVerilog XDC セルごとのパラメーター設定 ドライバーが複数あるネット 駆動されていない階層ピン 最適化情報 ブラックボックス 最終的なプリミティブ数 階層ごとのセルの使用量 ランタイムおよびメモリ使用量 重要 : このレポートまたは [Messages] ウィンドウでエラー クリティカル警告 および警告を確認してください 合成では フローの後の方で深刻となる可能性のある問題に対して クリティカル警告または警告が生成されることがあります インプリメンテーションログ Vivado インプリメンテーションログには 次の情報が含まれます 場所 ネットリスト および使用された制約に関する情報 ロジック最適化タスク 小型で高速なネットリストが生成するため デフォルトでロジック最適化ルーチンが実行されます 配置フェーズおよび配置後のタイミング見積もり (WNS および TNS のみ ) 配線フェーズおよび複数のタイミング見積もりと配線後の見積もりタイミングサマリ (WNS TNS WHS および THS のみ ) 各インプリメンテーションコマンドおよびフェーズの経過時間とメモリ デザイン解析およびクロージャテクニック 121

122 第 4 章 : レポートおよびメッセージ このレポートまたは [Messages] ウィンドウでエラー クリティカル警告 および警告を確認してください 配置で生成された警告が フローの後の方でエラーとなる場合があります 個々の段階をそれぞれ実行した場合は 最後に実行した段階の結果のみが含まれます 重要 : タイミングサマリレポートで パルス幅タイミングサマリおよびタイミング違反や不足している制約に関する情報を確認してください WebTalk レポート WebTalk レポートは ビットストリーム生成中に生成されます このレポートは ユーザーのザイリンクスデバイスの使用に関する情報を収集します この情報は ザイリンクスでよりよいツールを提供するために使用させていただきます 機密情報は収集されません 詳細は 次のウェブサイトを参照してください デザインに関するレポートの作成 このセクションでは デザインに関するレポートの作成について説明します 次の内容が含まれます リソース使用率レポート I/O レポート クロック使用率レポート 制御セットレポート DRC レポート 配線ステータスレポート ノイズレポート 消費電力レポート リソース使用率レポート リソース使用率レポート (Utilization Report) は フローのさまざまな段階で report_utilization コマンドを使用して生成できます この Tcl コマンドの詳細は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] を参照してください 7 シリーズデザインでは このレポートに run に使用されたデバイスと 次のエレメントの使用率が表示されます ( 各カテゴリに追加の項目が表示される場合もあり ) スライスロジック LUT MuxFx レジスタ メモリ ブロック RAM FIFO DSP I/O リソース デザイン解析およびクロージャテクニック 122

123 第 4 章 : レポートおよびメッセージ クロックリソース BUFGCTRL BUFR BUFHCE MMCME2_ADV PLLE2_ADV 特定のデバイスリソース STARTUPE2 XADC 使用数順に並べられたプリミティブタイプの数 ブラックボックス インスタンシエートされたネットリスト Tcl コンソールから実行する場合 -cells オプションを使用して特定の階層セルの使用率をレポートできます Vivado IDE GUI から実行した場合 この情報は表で示されます ロジック最適化コマンドでネットリストが変更されることがあるので これらの値はフローの段階によって異なる場合があります I/O レポート I/O レポート (IO Report) は ISE Design Suite の PAD レポートに置き換わるものです I/O レポートには 次の情報がリストされます [Pin Number]: デバイスに含まれるすべてのピンの番号 [Signal Name]: ピンに割り当てられたユーザー I/O 名 [Bank Type]: I/O が配置されているバンクのタイプ (High Range High Performance Dedicated など ) [Pin Name]: ピンの名前 [Use]: I/O の使用タイプ ( 入力 出力 電源 / グランド 未接続など ) [IO Standard]: ユーザー I/O の I/O 規格 アスタリスク (*) はデフォルトを示します これは Vivado IDE の [I/O Ports] ウィンドウとは異なります [IO Bank]: ピンが配置されている I/O バンク [Drive (ma)]: 駆動電流 (ma) [Slew]: バッファーのスルーレート設定 (Fast または Slow) [On-Chip Termination]/[Off-Chip Termination]: オンチップおよびオフチップの終端設定 [Voltage]: VCCO VCCAUX および関連のピンの値 [Constraint]: ピンがユーザーにより制約されている場合は FIXED と表示 [Signal Integrity]: ピンのシグナルインテグリティ デザイン解析およびクロージャテクニック 123

124 第 4 章 : レポートおよびメッセージ クロック使用率レポート クロック使用率レポートは デバイス内のクロックプリミティブおよび配線リソースの使用率をクロック領域レベルまたはクロックネットレベルで解析するのに有益です クロック配置に関する問題をデバッグするのに便利で リソース使用率を最大限にするための配置制約を特定できます クロック使用率レポートには 次の情報が含まれます 使用可能なクロックプリミティブの数 その使用数 および物理制約 各クロックネットに関連付けられているタイミングクロック名および周期 各クロック領域のクロッキングおよびデバイスロードの使用率 各クロック領域の各クロックネットのロード さらに Vivado IDE のクロック使用率レポートでネットリストおよびデバイスオブジェクトを選択すると 配置情報をハイライトし 回路図を作成できます クロック使用率レポートの実行 クロック使用率レポートを生成するには Vivado IDE で [Tools] [Report] [Report Clock Utilization] をクリックします X-Ref Target - Figure 4-4 図 4-4: [Report Clock Utilization] ダイアログボックス 同等 Tcl コマンド : report_clock_utilization -name clock_utilization_1 [Results name] レポートのグラフィカルウィンドウの名前を指定します 同等 Tcl オプション : -name <windowname> デザイン解析およびクロージャテクニック 124

125 第 4 章 : レポートおよびメッセージ [Show clock roots only] [Global Clock Resources] の表に 完全なソース ロード タイミングクロックの詳細ではなく 各クロックネットのクロックルートロケーションのみを表示します 同等 Tcl オプション : -clock_roots_only [Write clock constraints to file] メモリ内のデザインの配置情報に対応するクロックソースおよびロード物理制約を 右側のフィールドで指定した新しい制約ファイルにエクスポートします 同等 Tcl オプション : -write_xdc <filename> [Export to file] GUI レポートの生成に加え 結果を右側のフィールドで指定したファイルに記述します ファイル名を指定するフィールドの右側にある参照ボタンをクリックすると 異なるディレクトリを指定できます 同等 Tcl オプション : -file <arg> [Overwrite] をオンにすると 既存のファイルが上書きされます [Append] をオンにすると 新しい結果がファイルの最後に追加されます 同等 Tcl オプション : -append クロック使用率レポートの表 クロック使用率レポートには クロッキングトポロジおよび配置に関する情報が次のカテゴリ別に示されます クロックプリミティブの使用率 グローバルクロックリソース グローバルクロックソースの詳細 ローカルクロックリソース クロック領域の使用率の詳細 グローバルクロックの配置の詳細 一般的なデザインでは ネットリストのオブジェクト名は長く クロックネットおよびクロックプリミティブの数が非常に多いため クロックリソースに短い ID が割り当てられます グローバル ID g<n> はクロックバッファーで駆動される各ネットに割り当てられます ソース ID src<n> は MMCM や入力バッファーなどのクロックジェネレーターに割り当てられます ローカル ID <n> は グローバルネットリソースで配線されていないクロックネットに割り当てられます グローバルソース ID およびローカル ID により レポート内でクロックネットが検索しやすくなります 元のネットリストオブジェクト名は 各表の最後の 2 列で確認できます デザイン解析およびクロージャテクニック 125

126 第 4 章 : レポートおよびメッセージ [Clock Primitive Utilization] 表 [Clock Primitive Utilization] 表には 各クロックプリミティブタイプの使用率サマリおよびその物理制約がレポートされます X-Ref Target - Figure 4-5 図 4-5: クロック使用率レポート : [Clock Primitive Utilization] 表 注記 : クロック領域制約は 7 シリーズデバイスには適用されません [Global Clock Resources] 表 [Global Clock Resources] 表には 次の図に示すように 各クロックネットの重要な制約および配置情報のサマリがレポートされます X-Ref Target - Figure 4-6 図 4-6: クロック使用率レポート : [Global Clock Resources] 表 デザイン解析およびクロージャテクニック 126

127 第 4 章 : レポートおよびメッセージ 次の表に [Global Clock Resources] の各列の説明を示します 表 4-2: [Global Clock Resources] 表の詳細 列 [Global Id] [Source Id] [Driver Type/Pin] [Constraint] グローバルクロックネット ID 説明 クロックバッファーに接続されているクロック生成プリミティブの ID クロックネットに接続されているプリミティブピン クロックバッファーに適用されている最優先のユーザー物理制約 優先ルールは次のとおりです 1. LOC 2. CLOCK_REGION* 3. PBLOCK [Site] [Clock Region] [Root] [Clock Delay Group] [Load Clock Region] [Clock Loads] [Non-Clock Loads] [Clock Period] [Clock] [Driver Pin] [Net] * 7 シリーズには適用されません ユーザーまたは Vivado インプリメンテーションツールにより設定されたクロックバッファーのロケーション バッファーが配置されているデバイスクロック領域 7 シリーズには適用されません クロックネット CLOCK_ROOT のあるクロック領域 7 シリーズには適用されません Vivado インプリメンテーションツールによる配線一致を強制するため ユーザーが指定したクロックネットのグループ名 7 シリーズには適用されません クロックネットロードのあるクロック領域の数 クロックピンロードの数 FDCE/CE など クロックピン以外のロードの数 クロックネットで伝搬されるタイミングクロックの周期 (ns) 同じクロックネットで複数のクロックが伝搬される場合は 最小のクロック周波数がレポートされます クロックネットで伝搬されるタイミングクロック名 同じクロックネットで複数のクロックが伝搬される場合は [Multiple] とレポートされます クロックネットドライバーネットの論理名 クロックドライバーピンに接続されているクロックネットセグメントの論理名 デザイン解析およびクロージャテクニック 127

128 第 4 章 : レポートおよびメッセージ [Global Clock Source Details] 表 [Global Clock Source Details] 表には 各クロックジェネレーター出力のグローバルクロックの接続およびタイミングクロック情報がレポートされます 次の図は MMCM (src0) の各出力がクロックバッファーにどのように接続されているかを示しています 出力 CLKOUT0 は g3 g4 g5 の 3 つのグローバルクロックを駆動します X-Ref Target - Figure 4-7 図 4-7: クロック使用率レポート : [Global Clock Source Details] 表 次の表に [Global Clock Source Details] の各列の説明を示します 列 [Source Id] クロック生成プリミティブの ID 説明 [Global Id] グローバルクロックソースピンで駆動されるグローバルクロック ID [Driver Type/Pin] [Constraint] クロックを生成する出力プリミティブピン クロックバッファーに適用されている最優先のユーザー物理制約 優先ルールは次のとおりです 1. LOC 2. PBLOCK [Site] [Clock Region] [Clock Loads] [Non-Clock Loads] [Source Clock Period] [Clock] [Driver Pin] [Net] ユーザーまたは Vivado インプリメンテーションツールにより設定されたグローバルクロックソースのロケーション クロックソースのあるデバイスクロック領域 グローバルクロックソースピンに接続されているクロックピンロードの数 FDCE/CE など クロックピン以外のロードの数 グローバルクロックソースピンにより生成されるタイミングクロックの周期 (ns) 同じクロックネットで複数のクロックが伝搬される場合は 最小のクロック周波数がレポートされます グローバルクロックソースピンにより生成されるタイミングクロックの名前 同じクロックネットで複数のクロックが伝搬される場合は [Multiple] とレポートされます グローバスクロックソースピンの論理名 グローバルクロックソースピンに接続されているクロックネットセグメントの論理名 デザイン解析およびクロージャテクニック 128

129 第 4 章 : レポートおよびメッセージ [Local Clock Details] 表 [Local Clock Details] 表は ローカルクロックがデザインにある場合にのみレポートされます ローカルクロックは グローバルクロックリソースではなく 通常のデバイス配線リソースを使用して配線されたクロックネットです この状態は 通常クロックネットがクロックバッファーで駆動されない場合に発生します この表に示される情報は [Global Clock Resources] 表のものと似ています 次の図に レジスタクロックピン (FDRE/C) を直接駆動する 7 シリーズの MMCM によって駆動されるローカルクロックネットを示します X-Ref Target - Figure 4-8 図 4-8: クロック使用率レポート : ローカルクロックの例 デザイン解析およびクロージャテクニック 129

130 第 4 章 : レポートおよびメッセージ [Clock Regions] 表 [Clock Regions] 表は UltraScale デバイスファミリに対してのみ表示され クロック領域ごとのプリミティブおよび配線リソース使用率をレポートします Vivado IDE で [Show Metrics In Device Window] ボタンをクリックすると [Device] ウィンドウで各クロック領域に表示するリソースタイプを選択できます X-Ref Target - Figure 4-9 図 4-9: クロック使用率レポート : [Device] ウィンドウでのクロック領域リソース使用率メトリクス [Clock Regions] 表には 次の情報がレポートされます [Clock Primitives]: 各クロック領域の各クロックプリミティブタイプの使用率 [Load Primitives]: 各クロック領域のクロック以外のシーケンシャルプリミティブの使用率 デザイン解析およびクロージャテクニック 130

131 第 4 章 : レポートおよびメッセージ [Clock Primitives] および [Load Primitives] の両方の [Global Clock] 列に レポートされたクロック領域のロードあり / ロードなし水平分配レイヤーに配線されているグローバルクロックネットの数が表示されます レポートされたクロック領域の水平レイヤーへの分岐がない垂直分配レイヤーに配線されたクロックネットはカウントされません 配線レイヤーに配線されたクロックネットはカウントされません [Global Clock Summary]: 次の図に示すように クロック領域ごとのグローバルクロック使用率を表で示します これは デバイスクロック領域のフロアプランに対応しています この表は テキストレポートにのみ含まれます X-Ref Target - Figure 4-10 図 4-10: クロック使用率レポート : [Global Clock Summary] の例 [Routing Resource Utilization]: タイプごとおよびクロック領域ごとに グローバル配線リソースの使用率を示します [Key Resource Utilization] 表 [Key Resource Utilization] 表は 7 シリーズデバイスに対してのみ生成され UltraScale デバイスのクロック領域の表をすべてまとめたものと同等です テキストレポートには [Global Clock Summary] 表も含まれます [Global Clocks] 表 [Global Clocks] 表には 各グローバルクロックネットの各クロック領域にあるロードのタイプ タイミングクロック情報 およびクロックネットを配線するのに使用されたクロックトラック ID がレポートされます Vivado IDE で表をグローバル ID で並べ替えると 各グローバルクロックネットが配線されるクロック領域を 対応する行を選択するだけで [Device] ウィンドウでハイライトし 簡単に特定できます 列の説明は [Clock Primitive Utilization] [Global Clock Resources] [Global Clock Source Details] 表と同じです デザイン解析およびクロージャテクニック 131

132 第 4 章 : レポートおよびメッセージ UltraScale デバイスの場合は ロードを駆動していないクロック領域に配線されているクロックネットのグローバル ID に 次の図に示すようにプラス記号 (+) が付きます X-Ref Target - Figure 4-11 制御セットレポート 制御セットとは クロック信号 クロックイネーブル信号 およびセット / リセット信号の組み合わせです 各スライスでは 1 つの制御セットがサポートされ スライス内のすべてのフリップフロップで使用できます 異なる制御セットのフリップフロップを同じスライスに配置することはできません 制御セットレポート (Control Sets Report) には デザインに含まれる固有の制御セット数 (Number of unique control sets) と デザインの配置に基づく制御セットの配置制限により使用できなくなったレジスタサイトの最小数 (Minimum Number of register sites lost to control set restrictions) が表示されます [Clock Signal]: 論理クロック信号名 [Enable Signal]: 論理クロックイネーブル信号名 [Set/Reset Signal]: 論理セット / リセット信号名 [Slice Load Count]: 制御セットに接続されているセルに含まれるスライス数 [BEL Load Count]: 制御セットに接続されているセルの数 DRC レポート 図 4-11: クロック使用率レポート : [Global Clock] - [Cell Types Counts] 表の例 DRC レポート (DRC Report) は配線により生成されます 配線実行の前に 一般的なデザインの問題がチェックされます レポートには run で使用されたチェックがリストされます 重要 : クリティカル警告メッセージを確認してください 特定のチェックの重要度が フローの後の方で上がる可能性があります [Report DRC] を使用すると 一般的なデザインの問題およびエラーを確認するデザインルールチェックが実行されます デザイン解析およびクロージャテクニック 132

133 第 4 章 : レポートおよびメッセージ エラボレート済みデザイン I/O クロック配置 HDL コードの問題 XDC 制約に関する DRC が実行されます RTL ネットリストには I/O バッファー クロックバッファー および合成済みデザインには含まれるその他のプリミティブがすべて含まれているわけではありません エラボレート済みデザインの DRC では その後の DRC ほど多くのエラーはチェックされません 合成済みデザインおよびインプリメント済みデザイン 合成済みネットリストに関する DRC が実行されます I/O BUFG およびその他の配置がチェックされます MGT IODELAY などのプリミティブの配線に関する属性の基本的なチェックが実行されます 同じ DRC が使用可能な配置配線を考慮して実行されます DRC では 情報 警告 クリティカル警告 およびエラーの 4 つの重要度が使用されます この時点では クリティカル警告およびエラーでデザインフローが停止することはありません インプリメンテーションの段階でも DRC が実行されますが クリティカルなポイントでフローが停止することがあります 配置配線で配置の妨げとなる問題がチェックされます 特定のメッセージの重要度がフローの段階によって低い場合があります 重要度が低い場合 opt_design place_design route_design が停止することはありませんが ボード上で問題が発生する可能性があります たとえば ユーザーによりすべてのデザインポートのパッケージピンロケーションおよび I/O 規格が手動で指定されているかをチェックする DRC があります 不足している制約がある場合 place_design および route_design ではクリティカル警告が表示されますが これらの DRC 違反は write_bitstream ではエラーとなります これらの制約がない状態ではデバイスはプログラムできません フローの初期段階で重要度を低くしているのは 最終的なピン配置が決定される前にデザインをインプリメンテーションまで実行できるようにするためです 包括的な DRC サインオフを実行するには ビットストリームを生成する必要があります 図 4-12 に DRC レポートを表示する [DRC] ウィンドウを示します X-Ref Target - Figure 4-12 図 4-12: DRC レポート デザイン解析およびクロージャテクニック 133

134 第 4 章 : レポートおよびメッセージ DRC をクリックすると [Violation Properties] ウィンドウにメッセージの詳細が表示されます [Detailed] ビューをクリックして詳細を確認してください 多くのメッセージには ネット セル およびポートへのハイパーリンクが含まれています X-Ref Target - Figure 4-13 図 4-13: [Violation Properties] ウィンドウ DRC レポートは デザインを変更したときにダイナミックに変化しません デザインを変更したら [Rerpot DRC] を再実行する必要があります オブジェクトを削除または移動した場合などの操作によりリンクが無効になる場合 ツールでそれが判断されリンクが使用できなくなります リンクをクリックするとオブジェクトが選択されますが [Properties] ウィンドウは更新されません オブジェクトのプロパティを表示するには オブジェクトの選択を一度解除してから選択し直してください Tcl で DRC レポートを作成するには report_drc コマンドを実行します 結果をファイルに記述するには report_drc -file mydrcs.txt コマンドを実行します ヒント : report_drc コマンドの詳細は report_drc -help と入力してください デザイン解析およびクロージャテクニック 134

135 第 4 章 : レポートおよびメッセージ 配線ステータスレポート 配線ステータスレポート (Route Status Report) は インプリメンテーション中に生成され report_route_status Tcl コマンドを使用して生成できます 配線ステータスレポートには デザインのネットに関する次の情報が含まれます デザインに含まれる論理ネットの総数 配線リソースが不要なネットの数 - タイル外の配線リソースを使用しないネットの数 (CLB ブロック RAM I/O パッドなど ) - ロードのないネットの数 配線リソースを不要とする配線可能なネットの数 - 未配線ネットの数 - 完全に配線されたネットの数 配線エラーのあるネットの数 - 未配線のピンがあるネットの数 - アンテナ / アイランドがあるネットの数 - リソースの競合があるネットの数 次に 配線済みデザインの配線ステータスレポートの例を示します Design Route Status : # nets : : : # of logical nets...: 6137 : # of nets not needing routing...: 993 : # of internally routed nets...: 993 : # of routable nets...: 5144 : # of fully routed nets...: 5144 : # of nets with routing errors...: 0 : : : デザイン解析およびクロージャテクニック 135

136 第 4 章 : レポートおよびメッセージ ノイズレポート [Report Noise] コマンドは 7 シリーズデバイスの同時スイッチノイズ (SSN) 解析を実行します デフォルトでは ノイズレポートは Vivado IDE の下部の [Noise] ウィンドウに表示されます 結果は CSV または HTML ファイルにエクスポートできます X-Ref Target - Figure 4-14 図 4-14: [Report Noise] ダイアログボックスノイズレポートには 次の 4 つのセクションがあります [Summary] セクション [Messages] セクション [I/O Bank Details] セクション [Links] セクション [Summary] セクション 次の情報を示します レポートが生成された日時 解析されたポート数とその割合 ステータス ( 問題が検出されたかどうか ) クリティカル警告 警告 および情報メッセージの数 [Messages] セクション レポートの作成中に生成されたメッセージを示します [I/O Bank Details] セクション ピン I/O 規格 ノイズマージン値の残りなどの情報を示します デザイン解析およびクロージャテクニック 136

137 第 4 章 : レポートおよびメッセージ [Links] セクション 上の関連資料へのリンクを示します X-Ref Target - Figure 4-15 HTML 形式のレポートを生成するには [Report Noise] ダイアログボックスでオプションを選択するか 次の Tcl コマンドを使用します report_ssn -format html -file myimplementeddesignssn.html 消費電力レポート 消費電力レポート (Power Report) は配線後に生成され デバイスの現在の動作条件とデザインのスイッチングレートに基づく消費電力の詳細をレポートします 消費電力解析には 合成済みネットリストまたは配置配線済みデザインが必要です 動作条件を設定するには set_operating_conditions コマンドを使用します スイッチングアクティビティを設定するには set_switching_activity コマンドを使用します [Report Power] コマンドは 合成済みデザインまたはインプリメント済みデザインを開いているときに実行できます このレポートでは 次のようなデザイン入力に基づいて消費電力が見積もられます ジャンクション温度 周囲温度などの温度値 注記 : set_operating_condition コマンドの -junction_temp オプションを使用すると ジャンクション温度を設定できます 温度を指定しない場合は ツールによりデザイン入力に基づいて算出されます ボード層の数 ボードの温度など 選択したボードに関するデータ デザインで使用されるエアフローおよびヒートシンクプロファイルのデータ 各種電源の FPGA デバイス電流要件のレポート 図 4-15: ノイズレポート 消費電力の分配を詳細に解析することにより ダイナミック消費電力 温度による消費電力の変動 またはオフチップ消費電力を削減する消費電力節約ストラテジを特定 デザイン解析およびクロージャテクニック 137

138 第 4 章 : レポートおよびメッセージ シミュレーションアクティビティファイルを使用してより正確な消費電力見積もりが可能 X-Ref Target - Figure 4-16 図 4-16: [Report Power] ダイアログボックス デザイン解析およびクロージャテクニック 138

139 第 4 章 : レポートおよびメッセージ 消費電力レポートの解析 [Report Power] ダイアログボックス ( 図 4-16) を使用し 次のものに基づいて消費電力を解析します 設定 消費電力の合計 階層 電圧レール ブロックタイプ X-Ref Target - Figure 4-17 図 4-17: 消費電力レポート 消費電力レポートと結果の解析の詳細は Vivado Design Suite ユーザーガイド : 消費電力解析および最適化 (UG907) [ 参照 8] を参照してください デフォルトでは インプリメンテーションプロセスの配線後にテキスト形式の消費電力レポートが生成されます 非プロジェクトモードでの消費電力レポートの生成 非プロジェクトモードでは link_design または synth_design コマンドを実行した後に report_power コマンドを使用して消費電力レポートを生成できます 使用可能な配置配線情報を使用して より正確な消費電力見積もり値が示されます Tcl コンソールまたはスクリプトでこのレポートを生成するには report_power コマンドを使用します デザイン解析およびクロージャテクニック 139

140 第 5 章 タイミング解析の実行 タイミング解析の概要 Vivado 統合設計環境 (IDE) には レポートを生成するコマンドが複数あり デザインがタイミング制約を満たしており アプリケーションボードに読み込む準備ができたかを確認できます タイミングサマリレポートはタイミングサインオフレポートであり ISE Design Suite の TRCE レポートに相当します すべてのタイミングチェックの概要が示され タイミング問題の解析およびデバッグを開始するのに十分な情報が提供されます 詳細は 第 1 章 IDE を使用したロジック解析 を参照してください このレポートは ウィンドウに表示するか ファイルに保存するか ログファイルに出力できます タイミングサマリレポートでタイミングが満たされていない 不足している制約があるなどの結果が示された場合 レポートのさまざまなセクションに示される詳細を確認して より詳細な解析を実行します ほかのタイミングレポートでは 特定の状況または特定のロジックに対するより詳細な情報が提供されます デザインにタイミング制約を追加する前に タイミング解析の基本と用語を理解しておく必要があります この章では Vivado 統合設計環境 (IDE) のタイミングエンジンで使用される主要な概念を説明します 用語 ソースエッジ : データを送信するソースクロックのアクティブエッジ デスティネーションエッジ : データを受信するデスティネーションクロックのアクティブエッジ セットアップ要件 : 最も厳しいセットアップ制約を定義するソースエッジとデスティネーションエッジの関係 セットアップ関係 : タイミング解析ツールで検証されるセットアップチェック ホールド要件 : 最も厳しいホールド制約を定義するソースエッジとデスティネーションエッジの関係 ホールド関係 : タイミング解析ツールで検証されるホールドチェック デザイン解析およびクロージャテクニック 140

141 第 5 章 : タイミング解析の実行 タイミングパス タイミングパスは デザインのインスタンス間の接続に基づいて定義されます デジタルデザインでは タイミングパスは同じクロックまたは異なるクロックで制御される順次エレメントのペアで形成されます 一般的なタイミングパス デザインに含まれる最も一般的なパスは 次のとおりです 入力ポートから内部シーケンシャルセルまでのパス シーケンシャルセル間の内部パス 内部シーケンシャルセルから出力ポートまでのパス 入力ポートから出力ポートまでのパス 入力ポートから内部シーケンシャルセルまでのパス 入力ポートから内部シーケンシャルセルまでのパスでは データが次のように伝搬されます デバイスの外部からボード上のクロックにより入力されます 入力遅延 (SDC 定義 ) 後にデバイスポートに到達します デバイスの内部ロジックを介して デスティネーションクロックが供給されるシーケンシャルセルに到達します シーケンシャルセル間の内部パス シーケンシャルセル間の内部パスでは データが次のように伝搬されます デバイス内でソースクロックが供給されるシーケンシャルセルから駆動されます 内部ロジックを介して デスティネーションクロックが供給されるシーケンシャルセルに到達します 内部シーケンシャルセルから出力ポートまでのパス 内部シーケンシャルセルから出力ポートまでのパスでは データが次のように伝搬されます デバイス内でソースクロックが供給されるシーケンシャルセルから駆動されます 内部ロジックを介して出力ポートに到達します 出力遅延 (SDC 定義 ) 後にボード上のクロックにより受信されます 入力ポートから出力ポートまでのパス 入力ポートから出力ポートまでのパスでは データはデバイス上をラッチされずに伝搬されます これらのパスは in-to-out パスとも呼ばれます 入力および出力遅延基準クロックとしては 仮想クロックまたはデザインクロックを使用できます デザイン解析およびクロージャテクニック 141

142 第 5 章 : タイミング解析の実行 タイミングパスの例 図 5-1 に 前述のパスを示します この例では デザインクロック CLK0 を DIN および DOUT 遅延制約のボードクロックとして使用できます X-Ref Target - Figure 5-1 FPGA DEVICE Board Device Internal Delay REGA Data Path Delay REGB Internal Delay Board Device DIN DOUT D Q D Q D Q D Q Board Clock Input Delay CLK0 BUFG Tsetup Thold Tclk-Q Tsetup Thold Tclk-Q Output Delay Board Clock In-2-Out Data Path タイミングパスのセクション 各タイミングパスは 次の 3 つのセクションから構成されます ソースクロックパス データパス デスティネーションクロックパス ソースクロックパス ソースクロックパスは ソースクロックがソースポイント ( 通常は入力ポート ) からソースシーケンシャルセルのクロックピンまで伝搬されるパスです 入力ポートから開始するタイミングパスには ソースクロックパスはありません データパス 図 5-1: タイミングパスの例 データパスは パスの始点とパスの終点の間で データが伝搬されるタイミングパスの部分です パスの始点はシーケンシャルセルのクロックピンまたはデータ入力ポートで パスの終点はシーケンシャルセルのデータ入力ピンまたはデータ出力ポートです デザイン解析およびクロージャテクニック 142

143 第 5 章 : タイミング解析の実行 デスティネーションクロックパス デスティネーションクロックパスは デスティネーションクロックがソースポイント ( 通常は入力ポート ) からデスティネーションシーケンシャルセルのクロックピンまで伝搬されるパスです 出力ポートで終了するタイミングパスには デスティネーションクロックパスはありません 図 5-2 に 典型的なタイミングパスのこれら 3 つのセクションを示します X-Ref Target - Figure 5-2 D REGA Q Data Path D REGB Q Source Clock Path Startpoint Endpoint Destination Clock Path 図 5-2: 典型的なタイミングパス ソースエッジおよびデスティネーションエッジ データは シーケンシャルセルまたはポート間を次のように転送されます ソースクロックのエッジの 1 つ ( ソースエッジ ) で送信されます デスティネーションクロックのエッジの 1 つ ( デスティネーションエッジ ) で受信されます 典型的なタイミングパスでは データは 1 クロック周期の間に 2 つのシーケンシャルセル間を転送されます その場合 ソースエッジは 0 ns デスティネーションエッジは 1 周期後になります 次のセクションに ソースエッジおよびデスティネーションエッジによりタイミング解析用にセットアップ関係とホールド関係を定義する方法を説明します デザイン解析およびクロージャテクニック 143

144 第 5 章 : タイミング解析の実行 タイミング解析の基礎の理解 最大および最小遅延解析 タイミング解析は デザインがハードウェアに読み込まれ 実行されたときにタイミング動作が予測可能なものになることをスタティックに検証します さまざまな製造および環境の変動が考慮され それらがタイミングコーナーおよびコーナー変動でグループ化された遅延モデルにまとめられています 推奨されるすべてのコーナーに対してタイミングを解析し 各コーナーに対して最悪の見積もり条件ですべてのチェックを実行すれば十分です たとえば ザイリンクス FPGA デバイスをターゲットとするデザインでは 次の 4 つの解析を実行する必要があります スローコーナーでの最大遅延解析 スローコーナーでの最小遅延解析 ファーストコーナーでの最大遅延解析 ファーストコーナーでの最小遅延解析 実行したチェックによって 最悪の見積もり条件を表す遅延が使用されます この理由から 次のチェックと遅延タイプは常に関連付けられています セットアップおよびリカバリチェックと最大遅延 ホールドおよびリムーバルチェックと最小遅延 セットアップおよびリカバリチェックと最大遅延 ソースクロックパスとデータ / リセットパスの累積遅延には 指定のコーナーの最低速遅延が使用されます デスティネーションクロックパスの累積遅延には 同じコーナーの最高速遅延が使用されます ホールドおよびリムーバルチェックと最小遅延 ソースクロックパスとデータ / リセットパスの累積遅延には 指定のコーナーの最高速遅延が使用されます デスティネーションクロックパスの累積遅延には 同じコーナーの最低速遅延が使用されます マップするコーナーによって これらのチェックは次のものになります セットアップ / リカバリ ( 最大遅延解析 ) ホールド / リムーバル ( 最小遅延解析 ) セットアップ / リカバリ ( 最大遅延解析 ) ソースクロック (Slow_max) データパス (Slow_max) デスティネーションクロック (Slow_min) ソースクロック (Fast_max) データパス (Fast_max) デスティネーションクロック (Fast_min) デザイン解析およびクロージャテクニック 144

145 第 5 章 : タイミング解析の実行 ホールド / リムーバル ( 最小遅延解析 ) ソースクロック (Slow_min) データパス (Slow_min) デスティネーションクロック (Slow_max) ソースクロック (Fast_min) データパス (Fast_min) デスティネーションクロック (Fast_max) スラックの算出では 同じパス上で異なるコーナーからの遅延が混合されることはありません 多くの場合 セットアップまたはリカバリ違反はスローコーナー遅延で発生し ホールドまたはリムーバル違反はファーストコーナー遅延で発生します ただし 特に I/O タイミングでは常にこのようになるとは限らないので 両方のコーナーで両方の解析を実行することをお勧めします セットアップ / リカバリ関係 セットアップチェックは 2 つのクロック間における最悪の見積もりのセットアップ関係に対してのみ実行されます デフォルトでは これはソースエッジとデスティネーションエッジの最小の正の差に対応します たとえば 異なるクロックの立ち上がりエッジで動作する 2 つのフリップフロップの間のパスを考えてみます このパスのソースエッジとデスティネーションエッジは クロックの立ち上がりエッジのみです クロックは次のように定義されます clk0: 周期 6 ns 最初の立ち上がりエッジ 0 ns 最初の立下りエッジ 3 ns clk1: 周期 4 ns 最初の立ち上がりエッジ 0 ns 最初の立下りエッジ 2 ns 図 5-3 に示すように 2 つのセットアップ関係 Setup(1) と Setup(2) があります X-Ref Target - Figure 5-3 Common period clk0 launch edges (source clock) clk1 capture edges (destination clock) Setup(1) Setup(2) 0ns 2ns 4ns 6ns 8ns 10ns 12ns X13434 図 5-3: セットアップ関係 clk0 から clk1 までの最小の正の差は 2 ns で これは Setup(2) に対応します 共通周期は 12 ns で 2 つのクロックの 2 つの同時アライメント間の時間に対応します ヒント : クロック関係は クロックルートからフリップフロップのクロックピンまでの挿入遅延を適用する前の理想的なクロック波形を使用して確立されます 重要 : 両方のクロックの 1000 サイクル間で共通周期が見つからない場合は この 1000 サイクルでのワーストセットアップ関係がタイミング解析に使用されます これら 2 つのクロックは 共通周期なしのクロックと呼ばれます 解析は 最悪の見積もり条件には対応していないと考えられます これらのクロック間のパスを確認し その有効性を評価し 非同期パスとして処理できるかどうかを判断する必要があります デザイン解析およびクロージャテクニック 145

146 第 5 章 : タイミング解析の実行 パス要件がわかったら スラックの算出にパス遅延 クロックのばらつき およびセットアップタイムが追加されます 一般的なスラックの式は 次のとおりです データ所要時間 ( セットアップ ) = デスティネーションエッジ時間 + デスティネーションクロックパス遅延 - クロックのばらつき - セットアップタイム データ到着時間 ( セットアップ ) = ソースエッジ時間 + ソースクロックパス遅延 + データパス遅延 スラック ( セットアップ ) = データ所要時間 データ到着時間 これらの式が示すように 所要時間の前にデータが到着すると セットアップスラックが正になります リカバリチェックはセットアップチェックと似ていますが プリセットやクリアなどの非同期ピンに適用されます 関係はセットアップと同様に確立され スラックの式もセットアップタイムの代わりにリカバリタイムが使用されることを除けば同じです ホールド / リムーバル関係 ホールドチェック ( ホールド関係 ) は セットアップ関係と直接関連しています セットアップ解析は 最悪の見積もり条件でもデータが正しく受信されるかどうかを検証しますが ホールド関係では次を検証します セットアップソースエッジで送信されたデータが セットアップデスティネーションエッジの前のアクティブエッジでキャプチャされない ( 図 5-4 で H1a および H2a はセットアップエッジ S1 および S2 に対応 ) セットアップソースエッジの後の次のアクティブソースクロックエッジで送信されたデータが セットアップデスティネーションエッジでキャプチャされない ( 図 5-4 で H2a および H2b はセットアップエッジ S1 および S2 に対応 ) ホールド解析では 2 つのクロック間における最悪の見積もりのホールド関係のみがレポートされます 最悪の見積もりのホールド関係が ワーストセットアップ関係に関連付けられているとは限りません タイミングエンジンでは 可能なすべてのセットアップ関係とそれに対応するホールド関係を評価し 最悪の見積もりのホールド関係を特定する必要があります セットアップ関係の例と同じパスを例にとってみます 2 つのセットアップ関係があります 次の図に セットアップ関係ごとに 2 つのホールド関係があることを示します X-Ref Target - Figure 5-4 clk0 launch edges (source clock) H1a S1 H1b H2a S2 H2b clk1 capture edges (destination clock) 0ns 2ns 4ns 6ns 8ns 10ns 12ns X13435 図 5-4: セットアップ関係ごとのホールド関係 デザイン解析およびクロージャテクニック 146

147 第 5 章 : タイミング解析の実行 最大ホールド要件は 0 ns で ソースクロックとデスティネーションクロック両方の最初の立ち上がりエッジに対応します パス要件がわかったら スラックの算出にパス遅延 クロックのばらつき およびホールドタイムが追加されます 一般的なスラックの式は 次のとおりです データ所要時間 ( ホールド ) = デスティネーションエッジ時間 + デスティネーションクロックパス遅延 - クロックのばらつき + ホールドタイム データ到着時間 ( ホールド ) = ソースエッジ時間 + ソースクロックパス遅延 + データパス遅延 スラック ( ホールド ) = データ到着時間 データ所要時間 これらの式が示すように 所要時間の後に新しいデータが到着すると ホールドスラックが正になります リムーバルチェックはホールドチェックと似ていますが プリセットやクリアなどの非同期ピンに適用されます 関係はホールドと同様に確立され スラックの式もホールドタイムの代わりにリムーバルタイムが使用されることを除けば同じです パス要件 パス要件は タイミングパスのデスティネーションエッジとソースエッジの時間差を表します たとえば 前のセクションと同じパスとクロックを考えると 次のパス要件が存在します セットアップパス要件 (S1) = 1*T(clk1) - 0*T(clk0) = 4 ns セットアップパス要件 (S2) = 2*T(clk1) - 1*T(clk0) = 2 ns 対応するホールド関係は次のとおりです セットアップ S1 に対応するホールド関係 ホールドパス要件 (H1a) = (1-1)*T(clk1) - 0*T(clk0) = 0 ns ホールドパス要件 (H1b) = 1*T(clk1) - (0+1)*T(clk0) = -2 ns セットアップ S2 に対応するホールド関係 ホールドパス要件 (H2a) = (2-1)*T(clk1) - 1*T(clk0) = -2 ns ホールドパス要件 (H2b) = 2*T(clk1) - (1+1)*T(clk0) = -4 ns タイミング解析は 最悪のものから 2 つの見積もり要件でのみ実行されます 上記の例では 次の 2 つです セットアップ要件 S2 ホールド要件 H1a デザイン解析およびクロージャテクニック 147

148 第 5 章 : タイミング解析の実行 クロック位相シフト クロック位相シフトは クロックパスのハードウェアのため 基準クロックに対して遅延されたクロック波形に対応しています ザイリンクス FPGA では MMCM または PLL の出力プロパティ CLKOUT*_PHASE がゼロ以外の値のとき MMCM または PLL のプリミティブによりクロック位相シフトが挿入されます MMCM/PLL の位相シフトモード タイミング解析では MMCM/PLL PHASESHIFT_MODE プロパティを設定することにより クロック位相シフトを 2 つの方法でモデル化できます : 表 5-1: MMCM/PLL の PHASESHIFT_MODE プロパティ PHASESHIFT_MODE プロパティ 位相シフトのモデリング 注記 WAVEFORM クロック波形の変更 位相シフトされたクロックをソースまたはデスティネーションとするクロック乗せ換えパスのタイミングパスを調整するため 通常 set_multicycle_path -setup 制約が必要です LATENCY MMCM/PLL 挿入遅延 追加のマルチサイクルパス制約は不要です デフォルトの MMCM/PLL クロック位相シフトモードは ザイリンクス FPGA ファミリによって異なります クロック位相シフトモードは PLL/MMCM ごとにユーザーが設定できます 表 5-2: デフォルトの MMCM/PLL クロック位相シフト処理 テクノロジ 7 シリーズ クロック波形の変更 (WAVEFORM) UltraScale クロック波形の変更 (WAVEFORM) UltraScale+ MMCM/PLL 挿入遅延 (LATENCY) デフォルトの MMCM/PLL クロック位相シフト処理 重要 : MMCM/PLL PHASESHIFT_MODE プロパティはデバイスコンフィギュレーションには影響しません タイミングを満たすために 2 つのクロック間にスキューを追加する際 PHASESHIFT_MODE=LATENCY を使用すると特に便利です クロック位相シフトを負の値 ヌル または正の値に設定する際 タイミングパス要件を調整するためにマルチサイクルパス制約を追加する必要はありません 7 シリーズまたは UltraScale から UltraScale+ に移行したレガシデザインの場合 PHASESHIFT_MODE プロパティが MMCM/PLL に設定されていないと デフォルトビヘイビアーが適用され MMCM/PLL クロック位相シフトはクロックエッジシフトではなく 遅延レイテンシとしてモデル化されます この場合 クロック位相シフト用にレガシデザインで指定されていたすべてのマルチサイクルパス制約を見直し 通常は削除する必要があります そのような制約は 設計手法チェック (report_methodology) を実行すると簡単に特定できます TIMING-31 は 1 つのクロックの位相がシフトされ PHASESHIFT_MODE を LATENCY に設定して MMCM/PLL で生成されているクロック間のパスに対して マルチサイクルパスをチェックします Clocking Wizard および High SpeedIO Wizard にはどちらも 各 MMCM/PLL でクロック位相シフトのモデル化を強制するオプションがあります PHASESHIFT_MODE プロパティは自動的に IP XDC に保存されます デザイン解析およびクロージャテクニック 148

149 第 5 章 : タイミング解析の実行 タイミングレポートでの位相シフト 正の位相シフトは ソースクロックエッジを前方に移動し クロックエッジを遅延させます 負の位相シフトは ソースクロックエッジを後方に移動します クロック波形を変更すると スタティックタイミング解析で ソースおよびデスティネーションクロックに対して異なるクロックエッジが使用される可能性があります 次の例では クロック clkout0 ( 周期 10 ns) は MMCM で自動派生されます 位相シフトなし vivado% set_property CLKOUT0_PHASE [get_cells qpll/plle2_adv_inst] vivado% report_timing... (clock clkout0 rise edge) r... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) r mmcm_inst/mmcm_adv_inst/clkout0... ソースクロックエッジは 0.0 ns です 位相シフト 12.0 PHASESHIFT_MODE=WAVEFORM vivado% set_property CLKOUT0_PHASE [get_cells qpll/plle2_adv_inst] vivado% report_timing... (clock clkout0 rise edge) r... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) r mmcm_inst/mmcm_adv_inst/clkout0... ソースクロックエッジは ns (10 ns / 360 * 12.0) 遅延されます 位相シフト 12.0 PHASESHIFT_MODE=LATENCY vivado% set_property CLKOUT0_PHASE [get_cells qpll/plle2_adv_inst] vivado% report_timing... (clock clkout0 rise edge) r... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) r mmcm_inst/mmcm_adv_inst/clkout0... MMCM の挿入遅延は ns (10 ns / 360 * 12.0) 増加されます ソースクロックエッジは 0.0 ns です 位相シフト PHASESHIFT_MODE=WAVEFORM vivado% set_property CLKOUT0_PHASE [get_cells qpll/plle2_adv_inst] vivado% report_timing... (clock clkout0 rise edge) r... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) r mmcm_inst/mmcm_adv_inst/clkout0... ソースクロックエッジは ns 後方に移動されます (10 ns / 360 * -15.0) デザイン解析およびクロージャテクニック 149

150 第 5 章 : タイミング解析の実行 位相シフト PHASESHIFT_MODE=LATENCY vivado% set_property CLKOUT0_PHASE [get_cells qpll/plle2_adv_inst] vivado% report_timing... (clock clkout0 rise edge) r... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) r mmcm_inst/mmcm_adv_inst/clkout0... MMCM の挿入遅延は ns 減少されます ソースクロックエッジは 0.0 ns です (10 ns / 360 * -15.0) クロックのスキューとばらつき スキューとばらつきは どちらもセットアップとホールドの算出およびスラックに影響します スキューの定義 クロックスキューは デザインの共通点から終点および始点のセルクロックピンまでの デスティネーションクロックパスとソースクロックパスの挿入遅延の差です 次の式で Tcj および Tci は次のように定義されます Tcj: 共通ノードから終点クロックピンまでの遅延 Tci: 共通ノードから始点クロックピンまでの遅延 Tskewi,j = Tci- Tcj Clock Pessimism Removal (CPR) 一般的なタイミングパスレポートには ルートからシーケンシャルセルのクロックピンまでの ソースおよびデスティネーションクロックパスの遅延の詳細が示されます 次に説明するように ソースおよびデスティネーションクロックは 共通回路上であっても 異なる遅延で解析されます X-Ref Target - Figure 5-5 REGA Data Path Delay REGB D Q D Q Max Delay Min Delay T CKQ T SETUP Clock Source Point Source Clock Destination Clock Common Clock Tree Section X13436 図 5-5: クロックツリーの共通部分 デザイン解析およびクロージャテクニック 150

151 第 5 章 : タイミング解析の実行 共通部分のこの遅延差により スキュー算出における見積もりがさらに悪くなります 非現実的なスラックが算出されないようにするため この不必要に悪い見積もり部分が Clock Pessimism Removal (CPR) 値と呼ばれる遅延により補正されます Clock Pessimism Removal (CPR) = 共通クロック回路 ( 最大遅延 最小遅延 ) CPR は 実行する解析のタイプによって スキューに足されるか スキューから引かれます 最大遅延解析 ( セットアップ / リカバリ ) CPR はデスティネーションクロックパス遅延に足されます 最小遅延解析 ( ホールド / リムーバル ) CPR はデスティネーションクロックパス遅延から引かれます Vivado Design Suite では 各タイミングパスのクロックスキューが次のようにレポートされます ( この場合はホールド解析 ) DCD: デスティネーションクロック遅延 SCD: ソースクロック遅延 CPR: Clock Pessimism Removal Clock Path Skew: 0.301ns (DCD - SCD - CPR) Destination Clock Delay (DCD): 2.581ns Source Clock Delay (SCD): 2.133ns Clock Pessimism Removal (CPR): 0.147ns 多くの場合 CPR の精度は配線の前後で変わります たとえば ソースクロックとデスティネーションクロックが同じで 始点クロックピンと終点クロックピンが同じクロックバッファーで駆動されるタイミングパスがあるとします 配線前は 共通点はクロックネットドライバー ( クロックバッファーの出力ピン ) です CPR は クロックルートからクロックバッファーの出力ピンまでの不必要に悪い見積もり部分のみを補正します 配線後は 共通点はデバイスアーキテクチャのソースクロックパスとデスティネーションクロックパスで共有される最後の配線リソースです この共通点はネットリストには表されないので タイミングレポートから共通クロック回路の遅延差を減算することにより対応する CPR を直接求めることはできません タイミングエンジンは ユーザーが直接アクセスできないデバイス情報に基づいて CPR 値を算出します 見積もりの良いスキュー ザイリンクス FPGA デバイスには 専用クロック配線ツリーやクロック調整ブロック (CMB) などのアドバンスクロックリソースが含まれます 一部の CMB では 位相ロックループ回路 (PLL または MMCM プリミティブに含まれる ) を使用することにより クロックツリーの挿入遅延を補正できます 補正量は PLL のフィードバックループに存在する挿入遅延に基づきます 多くの場合 フィードバックループを含め 同じタイプのバッファーの複数のクロックツリーが PLL ( または MMCM) で駆動されます 大型のデバイスでは すべてのクロックツリー分岐の挿入遅延がフィードバックループ遅延に一致するとは限りません フィードバックループの遅延がソースまたはデスティネーションクロック遅延よりも大きい場合 PLL で駆動されるクロックが過剰に補正されることになります この場合 CPR の符号が変わり スラック値からスキューの見積もりの良い部分が効果的に削除されます これは 解析中にタイミングパスクロックの共通ノードに誤ったスキューがないようにするために必要です 推奨 : タイミング解析では CPR 補正を常に使用し スラックを正確なものにし サインオフ用のタイミングのクオリティを保持してください デザイン解析およびクロージャテクニック 151

152 第 5 章 : タイミング解析の実行 クロックのばらつき クロックのばらつきは クロックエッジのペア間での時間の変動量の合計です ばらつきは 算出されるクロックジッター ( システム 入力 および個別 ) 一部のハードウェアプリミティブにより発生する位相エラー デザイン制約でユーザーにより指定されるクロックのばらつき (set_clock_uncertainty) で構成されます プライマリクロックのジッターは set_input_jitter および set_system_jitter により定義されます MMCM や PLL などのクロック生成ブロックに対しては ソースクロックに指定されたジッターとコンフィギュレーションに基づいて ジッターが自動的に算出されます フリップフロップベースのクロック分周器などその他の生成クロックのジッターは ソースクロックと同じになります ユーザーが指定するクロックのばらつきは Vivado Design Suite タイミングエンジンで算出されるばらつきに加算されます ソースクロックにユーザーが指定したばらつきは MMCM PLL フリップフロップベースのクロック分周器などを介して生成クロックに伝搬されません ジッターおよび位相エラーの定義の詳細は Vivado Design Suite ユーザーガイド : 制約の使用 (UG903) [ 参照 6] を参照してください クロックのばらつきの指定には 次の 2 つ目的があります ハードウェアの機能に影響するクロックのノイズを表すため スラック値にある程度のマージンを持たせます 遅延値およびジッター値は大きめに見積もられるので 通常はハードウェアが正しく機能するようばらつきを追加することはお勧めしません 一部のインプリメンテーション手順でクロックまたはクロックペアに関連するパスの制約を厳しくします これにより使用可能な QoR マージンが増加し 次の手順でこれらのパスのタイミングクロージャを達成するのに役立ちます クロックのばらつきを使用することにより クロック波形およびその関係が変更されることはないので 残りのタイミング制約は正しく適用されます パルス幅チェック パルス幅チェックは 信号がデバイス内で伝搬され ハードウェアプリミティブに到達したときの波形に対して実行されるルールチェックです これらは通常 プリミティブ内の回路により決定される機能制限に対応します たとえば DSP クロックピンに対する最小周期チェックは DSP インスタンスを駆動するクロックが内部 DSP で許容される周波数を超える周波数で動作していないことを確認します パルス幅チェックは 合成またはインプリメンテーションには影響しません これらのチェックは Vivado Design Suite で提供されるその他のデザインルールチェックと同様 ビットストリームの生成前に一度実行する必要があります パルス幅違反が発生した場合は クロック定義が不適切であるか ( パルス幅および周期チェック ) 大きなスキューを発生させるクロックトポロジ (max_skew チェック ) が原因です ターゲットデバイスのザイリンクス FPGA データシートを参照して 違反が発生したプリミティブの動作範囲を理解する必要があります スキュー違反が発生した場合は クロックツリーを簡略化するか クロックリソースを違反の発生したピンの近くに配置します デザイン解析およびクロージャテクニック 152

153 第 5 章 : タイミング解析の実行 タイミングパスレポートの解釈 タイミングサマリレポートでパスをダブルクリックしたときに表示されるタイミングパスレポートには タイミング違反の原因を理解するのに必要な情報が含まれています 次のセクションで タイミングパスレポートについて説明します タイミングパスに関する重要な情報を示します タイミングパスの詳細を解析せずに 違反の原因を知ることができます スラック パスの要件 データパス遅延 セル遅延 配線遅延 クロックスキュー およびクロックのばらつきが示されます セルの配置に関する情報は含まれません タイミング制約およびタイミング解析で使用される用語 およびスラックおよびパスの要件の決定方法は 144 ページの タイミング解析の基礎の理解 を参照してください タイミングパスサマリのヘッダーの例 図 5-6 に テキスト形式のレポートのタイミングパスサマリヘッダーを示します X-Ref Target - Figure 5-6 図 5-6: テキスト形式のタイミングパスサマリヘッダー 図 5-7 に Vivado IDE でのタイミングパスサマリヘッダーを示します X-Ref Target - Figure 5-7 図 5-7: Vivado IDE のタイミングパスサマリヘッダー デザイン解析およびクロージャテクニック 153

154 第 5 章 : タイミング解析の実行 タイミングパスサマリのヘッダー情報 タイミングパスサマリヘッダーには 次の情報が含まれます [Slack] 正のスラック値は パスがタイミング制約から算出されたパスの要件を満たしていることを示します スラックを求める式は 解析によって異なります 最大遅延解析 ( セットアップ / リカバリ ) スラック = データ所要時間 データ到着時間 最小遅延解析 ( ホールド / リムーバル ) スラック = データ到着時間 - データ所要時間 データ所要時間とデータ到着時間は タイミングパスレポートの別のセクションに表示されます [Source] パスの始点およびデータを送信するソースクロックを示します 始点は通常 シーケンシャルセルのクロックポートまたは入力ポートです 2 行目がある場合は プリミティブおよびクロックピンの認識されるエッジが示されます クロック名とクロックエッジの定義 ( 波形および周期 ) も示されます [Destination] パスの終点およびデータを受信するデスティネーションクロックを示します 終点は通常 デスティネーションシーケンシャルセルの入力データピンまたは出力ポートです 2 行目がある場合は プリミティブおよびクロックピンの認識されるエッジが示されます クロック名とクロックエッジの定義 ( 波形および周期 ) も示されます [Path Group] パスの終点が属するタイミンググループを示します これは通常デスティネーションクロックにより定義されるグループですが 非同期タイミングチェック ( リカバリ / リムーバル ) では **async_default** タイミンググループにまとめられます ユーザー定義のグループもここに表示されます これらは レポート生成で便利です [Path Type] このパスで実行された解析のタイプを示します Max: データパス遅延の算出に最大遅延値が使用されたことを示します セットアップ解析およびリカバリ解析に対応します Min: データパス遅延の算出に最小遅延値が使用されたことを示します ホールド解析およびリムーバル解析に対応します 使用されたコーナー (Slow または Fast) も示されます [Requirement] タイミングパス要件を示します 始点と終点が同じクロックで制御されている場合 タイミングパス要件は通常次のようになります セットアップ / リカバリ解析では 1 クロック周期 ホールド / リムーバル解析では 0 ns パスが 2 つのクロックの間にある場合 要件はソースクロックエッジとデスティネーションクロックエッジの最小の正の差に対応します この値は マルチサイクル 最大遅延 最小遅延などのタイミング例外制約に置き換えられます デザイン解析およびクロージャテクニック 154

155 第 5 章 : タイミング解析の実行 タイミング制約からタイミングパス要件を求める方法の詳細は 141 ページの タイミングパス を参照してください [Data Path Delay] パスのロジックセクション間で累積された遅延を示します クロックがデータとして使用されている場合を除き クロック遅延は含まれません 遅延のタイプは [Path Type] と同じです [Logic Levels] パスのデータセクションに含まれている 開始セルと終了セルを除く各種プリミティブの段数を示します [Clock Path Skew] ソースクロックの送信エッジとデスティネーションクロックの受信エッジ間の挿入遅延差およびクロックの不必要に悪い見積もり部分の削除を示します [Destination Clock Delay (DCD)] デスティネーションクロックのソースポイントからパスの終点までに累積される遅延を示します 最大遅延解析 ( セットアップ / リカバリ ) では最小セルおよびネット遅延値が使用されます 最小遅延解析 ( ホールド / リムーバル ) では最大遅延値が使用されます [Source Clock Delay (SCD)] クロックのソースポイントからパスの始点までに累積される遅延を示します 最大遅延解析 ( セットアップ / リカバリ ) では 最大セルおよびネット遅延値が使用されます 最小遅延解析 ( ホールド / リムーバル ) では 最小遅延値が使用されます [Clock Pessimism Removal (CPR)] ソースおよびデスティネーションクロックが共通回路上であっても異なる遅延でレポートされることにより発生する 追加のクロックスキューの絶対値を示します この不必要に悪い見積もり部分の削除すると 共通回路上にあるソースクロックとデスティネーションクロックの間にスキューは発生しません 配線済みのデザインでは 最後の共通クロックツリーノードは通常クロックネットで使用される配線リソースにあり パスの詳細にはレポートされません [Clock Uncertainty] クロックエッジのペア間での時間の変動量の合計を示します ばらつきは 算出されるクロックジッター ( システムおよび個別 ) 一部のハードウェアプリミティブにより発生する位相エラー デザイン制約でユーザーにより指定されるクロックのばらつき (set_clock_uncertainty) で構成されます ユーザーが指定するクロックのばらつきは Vivado IDE タイミングエンジンで算出されるばらつきに加算されます [Total System Jitter (TSJ)] ソースクロックおよびデスティネーションクロックの両方に適用されるシステムジッターを示します システムジッターは set_system_jitter 制約を使用してグローバルに変更できます 仮想クロックは理想的なクロックなので システムジッターはありません デザイン解析およびクロージャテクニック 155

156 第 5 章 : タイミング解析の実行 [Total Input Jitter (TIJ)] ソースクロックおよびデスティネーションクロックの両方に適用される入力ジッターを示します set_input_jitter 制約を使用すると 各プライマリクロックの入力ジッターを個別に指定できます 生成クロックの入力ジッターは マスタークロックジッターおよび伝搬されるクロックリソースに基づいて Vivado IDE タイミングエンジンで算出されます デフォルトでは 仮想クロックは理想的なクロックであり ジッターはありません クロックのばらつきおよびジッターの詳細は Vivado Design Suite ユーザーガイド : 制約の使用 (UG903) [ 参照 6] のこのセクションを参照してください [Discrete Jitter (DJ)] MMCM や PLL などのハードウェアプリミティブにより追加されるジッター量を示します この値は これらのセルのコンフィギュレーションに基づいて Vivado IDE タイミングエンジンにより算出されます [Phase Error (PE)] MMCM や PLL などのハードウェアプリミティブにより追加される 2 つのクロック信号間の位相の変動量を示します この値は これらのセルのコンフィギュレーションに基づいて Vivado IDE タイミングエンジンにより算出されます [User Uncertainty (UU)] set_clock_uncertainty 制約で指定された追加のばらつきを示します このコマンドの使用方法は Vivado Design Suite Tcl コマンドリファレンスガイド (UG835) [ 参照 3] のこのセクションを参照してください タイミングパスサマリには タイミング制約 レポートされるパス およびターゲットデバイスによって 次の 3 つの行が表示されることもあります [Inter-SLR Compensation] 7 シリーズ SSI デバイスのみで SLR の境界をまたぐパスを確実にレポートするために必要な追加マージンを示します [Input Delay] set_input_delay 制約により入力ポートに指定された入力遅延値を示します 入力ポートから開始しないパスは含まれません [Output Delay] set_output_delay 制約により出力ポートに指定された出力遅延値を示します 出力ポートで終了しないパスは含まれません [Timing Exception] パスに適用されるタイミング例外を示します 優先順位の最も高い例外のみがタイミングパス要件に影響するので 優先順位の最も高い例外のみが示されます タイミング例外およびその優先順位の詳細は タイミングパス を参照してください デザイン解析およびクロージャテクニック 156

157 第 5 章 : タイミング解析の実行 タイミングパスの詳細 レポートの後半には パスが伝搬されるセル ピン ポート およびネットの詳細が表示されます 3 つのセクションに分かれています [Source Clock Path] ソースクロックがソースポイントからデータパスの始点まで伝搬されるパスを示します このセクションは 入力ポートから開始するパスには含まれません [Data Path] データが始点から終点まで伝搬されるパスを示します [Destination Clock Path] デスティネーションクロックがソースポイントからデータパスの終点のクロックピンまで伝搬されるパスを示します [Source Clock Path] および [Data Path] セクションには これらでは 常に同じタイプの遅延がレポートされます セットアップ / リカバリ解析では最大遅延 ホールド / リムーバル解析では最小遅延 データの送信エッジ時間から開始し ソースクロックおよびデータパスを介して累積される遅延も同じです 最終的な累積遅延値は データ到着時間と呼ばれます デスティネーションクロックパスは 常にソースクロックおよびデータパスと逆の遅延でレポートされます 初期の累積遅延値は データ受信エッジがデスティネーションクロックのソースポイントから出発した時間です 最終的な累積遅延値は データ所要時間と呼ばれます レポートの最後の行は スラックの算出方法を示します 最大遅延解析 ( セットアップ / リカバリ ) スラック = データ所要時間 データ到着時間 最小遅延解析 ( ホールド / リムーバル ) スラック = データ到着時間 - データ所要時間 デザイン解析およびクロージャテクニック 157

158 第 5 章 : タイミング解析の実行 テキスト形式レポートのタイミングパスの詳細 図 5-8 に テキスト形式のレポートのソースクロック データ およびデスティネーションクロックパスの部分を示します パスには 5 ns の周期制約が適用されているので ソースクロックの送信エッジは 0 ns で開始し デスティネーションクロックの受信エッジは 5 ns で開始します X-Ref Target - Figure 5-8 図 5-8: テキスト形式レポートのタイミングパスの詳細 デザイン解析およびクロージャテクニック 158

159 第 5 章 : タイミング解析の実行 Vivado IDE のタイミングパスの詳細 図 5-9 に 図 5-8 のテキスト形式レポートと同じ例の IDE レポートを示します X-Ref Target - Figure 5-9 パスの情報は 5 つの列で示されます [Location] デバイス上でセルまたはポートが配置されている位置を示します [Delay Type] 図 5-9: Vivado IDE のタイミングパスの詳細 UNISIM プリミティブとパスが通過するタイミングアークを示します ネットの場合 ファンアウト (fo) およびそのステータスを示します ネットのステータスは 次のとおりです [Unplaced]: ドライバーおよびロードは配置されていません [Estimated]: ドライバーまたはロード あるいはその両方が配置されています 部分的に配線されているネットも [Estimated] と示されます [Routed]: ドライバーおよびロードの両方が配置され ネットが完全に配線されています デザイン解析およびクロージャテクニック 159

160 第 5 章 : タイミング解析の実行 [Incr(ns)] ( テキストレポート )/[Delay] (IDE レポート ) Unisim プリミティブのタイミングアークまたはネットに関連するインクリメンタル遅延値を示します 入力 / 出力遅延 クロックのばらつきなどの制約を示すこともあります [Path(ns)] ( テキストレポート )/[Cumulative] (IDE レポート ) パスの各セグメントまでの累積遅延を示します 値は 前の行までの累積値と その行のインクリメント遅延を加算したものです [Netlist Resource(s)] ( テキストレポート ) / [Logical Resource] (IDE レポート ) 通過したネットリストオブジェクトの名前を示します 各インクリメンタル遅延は 次のいずれかのエッジに関連付けられています r ( 立ち上がりエッジ ) f ( 立ち下がりエッジ ) 初期のエッジは 解析に使用される送信エッジまたは受信エッジにより決定されますが タイミングアークの特性によって パス上のセルで反転されることがあります たとえば インバーターの入力の立ち上がりエッジは 出力では立ち下がりエッジになります 必要以上に厳しいタイミングパス要件が ソースクロックツリーまたはデスティネーションクロックツリーによるクロックエッジの反転によるものである場合があります タイミングサインオフの確認 タイミング解析の詳細を説明する前に デザインがハードウェアで実行する準備ができたことが タイミングレポートのどの部分に示されるかを知っておくことが重要です 重要 : デザインが完全に配置配線されたら タイミングサインオフはインプリメンテーション結果の解析における必須の手順です デフォルトでは Vivado Design Suite でプロジェクトを使用する場合 テキスト形式のタイミングサマリレポートが自動的に生成されます このレポートは インプリメンテーション後にメモリにデザインチェックポイントを読み込んで インタラクティブなバージョンを生成することもできます 重要 : タイミングサマリレポートにはバススキュー制約は含まれません バススキュー制約をレポートするには コマンドラインで report_bus_skew コマンドを実行する必要があります このコマンドは GUI ではサポートされていません タイミングサインオフ検証手法の詳細は UltraFast 設計手法ガイド (Vivado Design Suite 用 ) (UG949) [ 参照 5] のこのリンクを参照してください デザイン解析およびクロージャテクニック 160

161 第 6 章 合成の解析およびクロージャテクニック エラボレート済みビューを使用した RTL の最適化 インプリメンテーションのいずれかの手順の後に report_timing report_timing_summary または report_design_analysis を使用してタイミング結果を解析する際は クリティカルパスの構造を確認して RTL を変更 合成属性を使用 または異なる合成オプションを使用することにより これらのパスをより効率的にロジックプリミティブにマップできるかどうかを調べる必要があります ロジックレベル数の多いパスの場合は インプリメンテーションツールに負荷がかかり 全体的なデザインパフォーマンスが制限されるので これは特に重要です ロジックレベル数の多いクリティカルパスがある場合は そのパスの機能にそれほど多くのロジックレベルが必要なのかを見直します 最適なロジックレベル数を判断するには デザインに対する知識と RTL 最適化に関する知識が必要なため 簡単ではありません 合成後の最適化済みネットリストを見て 問題の原因となっている RTL の部分を特定して改善するのは 複雑な作業です プロジェクトモードでは Vivado IDE で提供されている合成済みまたはインプリメント済みデザインと エラボレート済みデザインの間のクロスプローブ機能を使用すると 解析しやすくなります 合成済み / インプリメント済みデザインとエラボレート済みデザインの間でクロスプローブするには 次を実行します 1. 合成済み / インプリメント済みデザインとエラボレート済みデザインの両方をメモリで開きます 2. 合成済み / インプリメント済みデザインでタイミングパスを選択し F4 キーを押して回路図を表示します 3. Flow Navigator で [Elaborated Design] をクリックします タイミングパスに対応する RTL セルも選択されているので F4 キーを押して RTL 回路図を開き 同じパスをエラボレート済みビューで表示して 終点のピンから始点のセルにたどることができます 4. パス上にある RTL ロジック 特にその演算子またはベクターのサイズを確認します デザイン解析およびクロージャテクニック 161

162 第 6 章 : 合成の解析およびクロージャテクニック 例 次のように記述されたカウンターがあるとします X-Ref Target - Figure 6-1 図 6-1: 単純なカウンターの VHDL 例 cnt 信号は 0 ~ 16 をカウントするので エンコードするのに 5 ビットのベクターが必要です 図 6-2 に 配線後のクリティカルパスの回路図を示します 終点は cnt 信号のビット 30 です X-Ref Target - Figure 6-2 図 6-2: cnt カウンターの配線後のクリティカルパスの回路図 クリティカルパスの始点セルと終点セルを選択し 選択したセルの回路図を開いて 終点のピンから始点にロジックを展開していくと エラボレート済みビューで同等のパスを表示できます ( 図 6-3) X-Ref Target - Figure 6-3 図 6-3: cnt カウンターのエラボレート済みビュー デザイン解析およびクロージャテクニック 162

163 第 6 章 : 合成の解析およびクロージャテクニック エラボレート済みビューに示される加算器の入力は 32 ビットですが これは cnt が整数として宣言されているからです この例では 合成最適化中 32 ビットの演算子が保持されます エラボレート済みビューは 何が起きているかを理解するのに役立ちます これに基づいて次のように RTL を変更し 最適化されたネットリストおよびタイミングの QoR を改善できます カウンターは 0 から 16 までインクリメントするので cnt 信号の範囲を定義し 加算器の入力を 32 ビット幅ではなく 5 ビット幅に強制できます X-Ref Target - Figure 6-4 図 6-4: 単純なカウンターの整数範囲を設定した VHDL 例 RTL コードに加えた変更は合成最適化にも影響します これは コンパイルフロー全体を実行せずに エラボレート済みビューを使用して確認できます X-Ref Target - Figure 6-5 図 6-5: RTL 変更後の cnt カウンターのエラボレート済みビュー デザイン解析およびクロージャテクニック 163

164 第 6 章 : 合成の解析およびクロージャテクニック メモリのワード数が 2 のべき乗でない場合の RAMB 使用率の最適化 次のテストケースは 合成ツールで生成されたログファイルを見て ツールをより良い方法でガイドするために RTL に改善を加えることができるかどうかを確認するために使用できます 次の VHDL コードの抜粋は ワード数 40K 幅 36 ビットのメモリを記述したものです アドレスバスには 16 ビット必要です X-Ref Target - Figure 6-6 図 6-6: 40K x 36 ビットのメモリ : RTL の例 合成後に report_utilization コマンドを使用すると 次の図に示すように 合成ツールで 72 個のブロック RAM (BRAM) が生成されたことがわかります X-Ref Target - Figure 6-7 図 6-7: 使用率レポートに記載された合成で生成されたブロック RAM の数 デザイン解析およびクロージャテクニック 164

165 第 6 章 : 合成の解析およびクロージャテクニック 40K x 36 メモリに推論されるはずのブロック RAM の数を計算すると ブロック RAM の数は合成ツールで生成された数よりも少なくなります このメモリ構成に必要なブロック RAM の数を手動で計算すると 次のようになります 40K x 36 は (32K x 36) と (8K x 36) の 2 つのメモリに分けることができます 読み出しおよび書き込み操作のためにいずれかのメモリをイネーブルにし 適切な出力データを選択するため MSB アドレスビットに基づくアドレスデコーダーが必要です 32K x 36 メモリは 32 個の RAMB を使用してインプリメントできます (4 * 8 * (4K x 9)) 8K x 36 メモリは 8 個の RAMB を使用してインプリメントできます (8 * (1K x 36)) 40K x 36 メモリを最適にインプリメントするには 合計 40 個の RAMB が必要です 最適な数の RAMB が推論されたかどうかを確認するには 合成ログファイルを開き 各メモリがどのように構成されているか どのように FPGA プリミティブにマップされているかを示すセクションを確認します 次の図に示すように メモリのワード数は 64K として処理されています これは ワード数が 2 のべき乗でない場合は最適な方法で処理されないことを示しています X-Ref Target - Figure 6-8 図 6-8: 合成ログファイルの RAM の構成とマップに関するセクション デザイン解析およびクロージャテクニック 165

166 第 6 章 : 合成の解析およびクロージャテクニック 合成ツールでは 64K x 1 ( カスケード機能を使用した 2 個のブロック RAM) が使用され 36 ビットデータであるためその構造が 36 個があります つまり ブロック RAM の数は合計で 36 x 2 = 72 個になります 次の図に 合成で最適な数の RAMB が推論されるよう強制するコードの抜粋を示します X-Ref Target - Figure 6-9 図 6-9: 40K x 36 ビットのメモリ : 最適化された RTL の例 デザイン解析およびクロージャテクニック 166

167 第 6 章 : 合成の解析およびクロージャテクニック 出力レジスタが推論されるようにするための RAMB 入力ロジックの最適化 次の RTL コードは ブロック RAM ( 実際には ROM) から複数のロジックレベルを介してフリップフロップで終了するクリティカルパスを生成します この RAMB セルはオプションの出力レジスタ (DOA-0) を使用せず推論されており RAMB 出力パスに 1ns を超える遅延が追加されます X-Ref Target - Figure 6-10 図 6-10: メモリ RTL コード (RAMB 出力レジスタなし ) デザイン解析およびクロージャテクニック 167

168 第 6 章 : 合成の解析およびクロージャテクニック 上記の RTL コードのクリティカルパスは ツールで次の図のように表示されます X-Ref Target - Figure 6-11 図 6-11: RAMB からのクリティカルパス ( 出力レジスタはディスエーブル ) 合成後およびインプリメンテーションの各段階後にクリティカルパスを確認し 改善が必要なロジックグループを特定することをお勧めします 長いパスや FPGA のハードウェア機能を最適に利用していないパスがある場合は RTL コードに戻り 合成されたロジックが最適でない理由を把握し 合成ツールでネットリストが改善されるようにコードを変更します Vivado には 長いパスや FPGA のハードウェア機能を最適に利用して エラボレート済みビューから使用できます RTL コードを手動で検索するのではなく エラボレート済みビューを使用すると 問題箇所を特定しやすくなります 次の図に 上記の RTL コードのエラボレート済みビューを示します X-Ref Target - Figure 6-12 図 6-12: RTL コードのエラボレート済みビュー エラボレート済みビューでは このテストケースの非効率な構造に関するヒントを得ることができます このケースでは メモリアドレスと青くハイライトされたグルーロジックを駆動するアドレスレジスタのファンアウト (addr_reg3_reg) が問題の原因です デザイン解析およびクロージャテクニック 168

169 第 6 章 : 合成の解析およびクロージャテクニック 合成ツールで RAMB が推論されるようにするには RTL コードに専用アドレスレジスタが必要ですが 現在のアドレスレジスタファンアウトとは互換性がありません そのため 出力レジスタが RAMB のオプションの出力レジスタをイネーブルにするために使用されるのではなく RAMB を推論するためにリタイミングされます メモリアドレスとグルーロジックが別々のレジスタで駆動されるように RTL コードでアドレスレジスタを複製すると RAMB が出力レジスタをイネーブルにした状態で推論されます 次の図に 手動でレジスタを複製した後の RTL コードとそのエラボレート済みビューを示します X-Ref Target - Figure 6-13 図 6-13: アドレスレジスタを複製した後の RTL コード X-Ref Target - Figure 6-14 図 6-14: アドレスレジスタを複製した後のエラボレート済みビュー デザイン解析およびクロージャテクニック 169

170 第 6 章 : 合成の解析およびクロージャテクニック 変更された RTL コードのクリティカルパスは 次の図のようになります addr_reg2_reg レジスタはブロック RAM のアドレスピンに接続されています addr_reg3_reg レジスタはブロック RAM に吸収されています RAMB 出力レジスタがイネーブルになっており RAMB 出力のデータパス遅延が大幅に削減されます X-Ref Target - Figure 6-15 図 6-15: 変更された RTL コードのクリティカルパス デザイン解析およびクロージャテクニック 170

171 第 6 章 : 合成の解析およびクロージャテクニック RAMB 出力でのクリティカルロジックの改善 次のテストケースでは マクロ (BRAM) をデスティネーションレジスタの近くに配置するなど 再構成することによりクリティカルパスを改善しています 次の図に 16:1 マルチプレクサーを示します マルチプレクサーの 1 つの入力はブロック RAM から供給され 残りの入力はレジスタから供給されます クリティカルパス : ブロック RAM -> 2 ロジックレベル -> フリップフロップ X-Ref Target - Figure 6-16 図 6-16: ブロック RAM の出力に接続されているマルチプレクサー デザイン解析およびクロージャテクニック 171

172 第 6 章 : 合成の解析およびクロージャテクニック 次の図では ブロック RAM からフリップフロップまでのクリティカルパスを赤色でハイライトしています ロジックレベル数は ブロック RAM からフリップフロップ フリップフロップからフリップフロップのどちらも 2 つです ブロック RAM のクロックから Q までの遅延の方が大きいため ブロック RAM からフリップフロップまでがクリティカルパスになります X-Ref Target - Figure 6-17 図 6-17: RAMB-LUT-FF のクリティカルパス デザイン解析およびクロージャテクニック 172

173 第 6 章 : 合成の解析およびクロージャテクニック 次に 次の図の RTL コードを見て ロジックを再構成できないかを考えます X-Ref Target - Figure 6-18 図 6-18: RTL コードの抜粋 上記のコードで 16:1 マルチプレクサーを 2 つのマルチプレクサーに分割するのが このロジックを再構成する最適な方法です 図 6-19 に示すように 値 4'd5 を選択する条件をコメントアウトして 2:1 マルチプレクサーのイネーブル条件として使用します このカスケードマルチプレクサー構造を作成することにより フリップフロップからフリップフロップのパスのロジックレベルが 3 になりますが ブロック RAM からフリップフロップのパスのロジックレベルは 1 に減ります RAMB の配置は LUT およびフリップフロップの配置よりも困難であるため このようにブロック RAM からフリップフロップのパスを改善することで ダウンストリームツールでより良い配置を達成しやすくなります 一般的には RAMB FIFO DSP などのマクロプリミティブ周辺に長いパスが少ないほうが デザインの QoR は向上します デザイン解析およびクロージャテクニック 173

174 第 6 章 : 合成の解析およびクロージャテクニック X-Ref Target - Figure 6-19 図 6-19: RAMB 出力のロジックレベルを低減するためのカスケードマルチプレクサー構造 デザイン解析およびクロージャテクニック 174

175 第 7 章 インプリメンテーションの解析およびクロージャテクニック report_design_analysis コマンドの使用 タイミングクロージャを達成するのが困難な場合 またはアプリケーションの全体的なパフォーマンスを向上しようとしている場合は 合成の実行後 およびインプリメンテーションフローの各段階の後に デザインの特性を確認する必要があります タイミングサマリの値 (WNS TNS WHS THS) (report_timing_summary) やさまざまなリソース使用率の値 (report_utilization report_clock_utilization report_high_fanout_nets および report_control_sets) などの全体的なメトリクスを取得するのは簡単ですが 特定のタイミングパスにデザインのどの部分が影響しており 全体的な QoR ( 結果の品質 ) に影響を与えているのかを解析および特定するのは困難です QoR 解析では グローバルおよびローカルの複数の特性を同時に見て デザインおよび制約に最適でないものがあるか ターゲットデバイスおよびインプリメンテーションツールに適切でないロジック構造があるかを確認します report_design_analysis コマンドを実行すると 論理特性 タイミング特性 物理特性が表示され QoR の根本的な原因を簡単に解析できます 注記 : report_design_analysis コマンドでは タイミング制約が完全であるか正確であるかはレポートされません タイミング制約を検証するには check_timing および report_exceptions コマンドと XDC およびタイミング設計手法 DRC を使用する必要があります これらのコマンドの実行方法は 該当するセクションを参照してください 22 ページの タイミングサマリレポート 59 ページの 例外レポート よく発生する QoR の問題には 次の 2 つのカテゴリがあります タイミング違反 密集 デザイン解析およびクロージャテクニック 175

176 第 7 章 : インプリメンテーションの解析およびクロージャテクニック タイミング違反 最悪のタイミング違反を解析して修正すると通常全体的な QoR が向上しますが ほかのクリティカルパスもタイミングクロージャの課題となることがよくあるので ほかのクリティカルパスも解析する必要があります 次のコマンドを使用すると ワーストセットアップタイミングパスを 50 個レポートできます report_design_analysis -max_paths 50 -setup 図 7-1 に このコマンドで生成される [Setup Path Characteristics] ( セットアップパス特性 ) 表の例を示します X-Ref Target - Figure 7-1 この表から 各パスでどの特性がタイミング違反の原因となっているかを特定できます ロジック遅延の割合 ([Logic Delay]) が大きい 図 7-1: [Setup Path Characteristics] 表の例 ロジックレベル数は多いですか ([Logic Levels]) ロジック最適化を妨げる制約または属性が設定されていますか ([Dont Touch] [Mark Debug]) パスに RAMB や DSP などのロジック遅延の大きいセルが含まれていますか パスの要件が現在のパストポロジには厳しすぎませんか ([Requirement]) ネット遅延の割合 ([Net Delay]) が大きい パスのファンアウトの大きいネットがありますか ([High Fanout] [Cumulative Fanout]) セルが離して配置可能な複数の Pblock に割り当てられていますか ([Pblocks]) セルが離れて配置されていますか ([Bounding Box Size] [Clock Region Distance]) SSI デバイスで SLR の境界をまたぐネットがありますか ([SLR Crossings]) 配置は正しいようなのにもかかわらず 予測よりもかなり大きいネット遅延がありますか 178 ページの 密集 を参照してください RAMB または DSP セルにパイプラインレジスタがない ( パスには存在する ) [Comb DSP] [MREG] [PREG] [DOA_REG] および[DOA_REG] の値を確認してください スキューが大きい ( セットアップで <-0.5ns ホールドで >0.5ns) ([Clock Skew]) そのパスはクロック乗せ換えパスですか ([Start Point Clock] [End Point Clock]) クロックは同期ですか 非同期ですか ([Clock Relationship]) パスは I/O 列をまたいでいますか ([IO Crossings]) デザイン解析およびクロージャテクニック 176

177 第 7 章 : インプリメンテーションの解析およびクロージャテクニック タイミングパスとその配置配線の詳細を Vivado IDE で表示するには 次のコマンドを使用します report_timing -max_paths 50 -setup -input_pins -name worstsetuppaths パスは スラック順に [Setup Path Characteristics] 表 ( 図 7-1) と同じ順で表示されます report_design_analysis コマンドでは ワーストパス 1000 個の [Logic Level Distribution] ( ロジックレベル分布 ) 表も生成され デザインの長いパスを特定するのに使用できます 通常 配置の段階でタイミングを満たすために最長のパスが最初に最適化されるので 短いパスの配置の質が低下する可能性があります 全体的な QoR を向上するため 長いパスをなるべくなくすようにしてください 図 7-2 に 1 つのクロックのみを含むデザインの [Logic Level Distribution] 表の例を示します X-Ref Target - Figure 7-2 図 7-2: [Logic Level Distribution] 表の例 解析結果に基づいて RTL を変更 異なる合成オプションを使用 またはタイミング制約および物理制約を変更してネットリストを向上できます デザイン解析およびクロージャテクニック 177

178 第 7 章 : インプリメンテーションの解析およびクロージャテクニック 密集 report_design_analysis コマンドは 配置および配線アルゴリズムにより特定された密集エリアと予測密集を示す複数の密集に関する表を示します これらの表を生成するには 配置および配線を実行したのと同じ Vivado ツールセッションで次のコマンドを使用します report_design_analysis -congestion 図 7-3 に Vivado IDE に表示される CLB メトリクスごとの垂直方向および水平方向の配線密集と同等の予測される密集の表の例を示します この例では 密集は低くなっています X-Ref Target - Figure 7-3 [Module Names] に示される名前は レポートされている各タイルにある階層セルに対応しています 完全な名前は 次のコマンドを使用すると取得できます get_cells -hier <modulename> 図 7-3: 予測される密集の表 密集エリアに存在する階層セルを特定したら 密集を緩和する手法を使用してデザインの全体的な密集を削減します デザイン解析およびクロージャテクニック 178

179 第 7 章 : インプリメンテーションの解析およびクロージャテクニック デザインの最長ロジック遅延パスを特定 タイミングパスは デザインの論理パスに対応します パスの遅延は セル遅延とネット遅延を累積したものです Vivado 合成およびインプリメンテーションはタイミングドリブンであり コンパイルフローを通してデザインでタイミング違反が最悪のパスを最適化するよう実行されます パスの累積セル遅延がタイミング要件 ( パスのクロック周期など ) 以上である場合 インプリメンテーション後にデザインでタイミングが満たされる可能性は低くなります ロジック遅延を解析すると 見積もりネット遅延または配線ネット遅延を含む前のワーストパスが示されるので 単にロジックレベルを数えるよりも有益です この解析の結果には ネット遅延を含まない配置配線前のワーストタイミングパスがリストされます 必ずしもロジックレベル数ではなく タイミングが最悪のパスを特定することが重要です たとえば レジスタのないブロック RAM の clock-to-out 遅延は非常に大きくなる一方 複数のロジックレベルを持つ一連のキャリーチェーンでは各ロジックレベルの遅延が小さいことがあります これらのパスをインプリメンテーション前に注意深く解析してください 遅延の大きいパスには 通常次の 3 つがあります 組み込まれている出力レジスタを利用していないブロック RAM パイプライン処理されていない DSP48 長いロジックパス これらのパスを特定するには 合成後にタイミングレポートを配線遅延なしで生成するのが最も効率的な方法です これには Vivado IDE の [Report Timing] ダイアログボックスの [Timer Settings] タブで [Interconnect] を [none] に設定するか [Tcl Console] ビューまたはシェルで次の Tcl コマンドを実行します set_delay_model -interconnect none タイミング結果を確認し タイミングが満たされていないパスを特定します 配線遅延なしでタイミングを満たしていないパスがある場合 実際の配線遅延を含めたときにタイミングを満たすことは不可能です これらのパスは すぐに修正する必要があります 通常 これらのパスは RTL で修正する必要がありますが タイミングが満たされない原因が合成属性が不足していることや タイミング制約が不適切であることもあります 変更を加えると 図 7-4 に示すようにデザインのスラックが十分になります X-Ref Target - Figure 7-4 図 7-4: 配線遅延なしのタイミングレポート デザイン解析およびクロージャテクニック 179

180 第 7 章 : インプリメンテーションの解析およびクロージャテクニック ファンアウトの大きいネットドライバーの特定 ファンアウトの大きいネットは インプリメンテーションの問題の原因となることがよくあります FPGA ファミリのダイサイズが大きくなると ファンアウトの問題も増加します 終点が数千個あるネットでは 特にパス上に追加のロジックがあったり LUT や分散 RAM などのシーケンシャルでないセルで駆動される場合 タイミングを満たすことは困難です 多くの場合 ファンアウトの大きいネットは通常グローバルファンアウト制限または特定ネットに MAX_FANOUT 属性を使用することで RTL および合成で修正します 物理最適化 (phys_opt_design) を使用すると スラックおよび配置情報に基づいてファンアウトの大きいネットドライバーが自動的に複製され 通常はタイミングが大幅に改善されます ザイリンクスでは ファンアウトの大きいネットはファブリックレジスタで駆動することをお勧めしています そうすると 物理最適化中に複製および移動しやすくなります 合成後および物理最適化後に ファンアウトの大きい信号のリストを確認することが重要です これらのネットを特定するコマンドは report_high_fanout_nets です レポートを生成したら ファンアウトの大きいネットを介するタイミングおよび対応する回路図を確認できます このレポートでは クロックはファンアウトの大きいドライバーとしてリストされません [Driver Type] 列に BUFG がリストされている場合は この BUFG はロジックを駆動し クロックピンも駆動している可能性があります ### Report the high fanout net report_high_fanout_nets -load_types -max_nets 100 ### Report timing through specific high fanout net report_timing -through [get_nets I_GLOBAL_RST_N_i] -name high_fanout_1 次に phys_opt_design でファンアウトが削減されたデザイン例を示します 配置後のチェックポイント : report_high_fanout_nets ヒント : report_high_fanout_nets コマンドで -timing および -load_types オプションを使用すると ファンアウトの大きいネットの遅延およびさまざまなロードが表示されます このネットの物理最適化後のタイミングレポートは 次のとおりです デザイン解析およびクロージャテクニック 180

181 第 7 章 : インプリメンテーションの解析およびクロージャテクニック X-Ref Target - Figure 7-5 図 7-5: タイミングレポートの例 このネットのファンアウトは 2945 から 464 に削減されていますが より重要なのは ファンアウトの削減によりこのパスのタイミングが 1ns 以上向上したということです 各ネットの FLAT_PIN_COUNT プロパティは デザイン階層全体でこのネットに接続されている最下位セルの数を示します FLAT_PIN_COUNT プロパティを確認するには get_property コマンドを使用します get_property FLAT_PIN_COUNT [get_nets my_hfn] ヒント : Tcl スクリプトを使用することにより ファンアウトの大きい特定のネットを介して伝搬されるパスに関する追加レポートを作成できます デザイン解析およびクロージャテクニック 181

182 第 7 章 : インプリメンテーションの解析およびクロージャテクニック ホールド違反の修正がデザインに悪影響を及ぼすかの判断 Vivado 配線では セットアップよりもホールドの修正が優先されます これは セットアップが少しの差で満たされていない場合でも デザインはラボ環境では機能することがあるからです クロック周波数を下げることはいつでもできます ホールド違反があると 通常デザインは機能しません ほとんどの場合は配線でセットアップに影響を与えずにホールドタイミングを満たすことができますが デザインや制約にエラーがあるために ホールドタイミングを満たすことによりセットアップタイムに大きく影響するがことがあります -hold が指定されていない不適切な set_multicycle_path 制約により 不適切なホールドチェックが実行されたり 過剰なクロックスキューによりホールド要件が大きくなることがあります この場合 該当する回路でクロックアーキテクチャを確認することをお勧めします 詳細は UltraFast 設計手法ガイド (Vivado Design Suite 用 ) (UG949) [ 参照 5] のこのセクションを参照してください これは デザインのセットアップタイミングが配置後には満たされたが 配線後に満たされなかった場合に発生することがあります ヒント : 配置後に見積もりホールドタイミングを解析し ホールド違反が異常に大きい (500ps 以上 ) のものを特定します ホールド違反の修正がタイミングクロージャに影響していると考えられる場合は 次のいずれかの方法を使用してそうであるかを確認できます 方法 1: ホールド違反の修正なしで配線を実行 方法 2: タイミングが満たされていないワーストセットアップパスに対して report_timing -min を実行 方法 1: ホールド違反の修正なしで配線を実行 1. Vivado Design Suite で配置後のチェックポイントを開きます 2. すべてのホールドチェックをディスエーブルにする制約を追加します set_false_path -hold -to [all_clocks] 注意 : この制約は テスト目的でのみ使用してください 製品にするデザインや別の設計者に配布するデザインには使用しないでください 製品デザインの前にこの制約を削除する必要があります 3. route_design および report_timing_summary を実行します ホールドチェックを実行した場合と実行しなかった場合で WNS が大きく異なる場合は ホールド違反が大きすぎ セットアップパスが影響を受けていることを示します デザイン解析およびクロージャテクニック 182

183 第 7 章 : インプリメンテーションの解析およびクロージャテクニック 方法 2: タイミングが満たされていないワーストセットアップパスに対して report_timing -min を実行 タイミングが満たされていない最悪のセットアップがホールド違反の修正によるものであるかを判断するには そのパスのホールドタイミングを調べます Vivado IDE で パスを右クリックして [Report Timing on Source to Destination] をクリックします セットアップタイミング解析とは異なり ホールドタイミングを確認することは重要です ホールドレポートで 要件を確認し ホールド要件を満たすためにパスに遅延が追加されていないかどうかを調べてください X-Ref Target - Figure 7-6 図 7-6: 特定のパスに対してタイミングレポートを生成 デザイン解析およびクロージャテクニック 183

184 第 7 章 : インプリメンテーションの解析およびクロージャテクニック タイミングが満たされていないパスすべてをすばやく解析 report_timing_summary コマンドは すべてのデザインのタイミング情報を確認するのに非常に優れたツールです タイミングが満たされていないすべてのパスを 1 つのレポートで見るだけでも有益である場合があります コマンドラインまたは IDE 内で次のコマンドを実行します report_timing -max_paths 100 -slack_less_than 0 -name worse_100_setup ヒント : IDE を使用すると タイミング結果をスプレッドシートにエクスポートして タイミングが満たされていないパスを包括的に解析できます 上記のコマンドは タイミングが満たされていないパスを最悪のものから 100 個レポートします タイミングが満たされていないパスが 100 個未満の場合は slack_less_than 0 オプションが使用されているので タイミングが満たされていないパスのみがレポートされます 1 つのリストでタイミングが満たされていないパスを確認すると タイミングの満たされていないパス間の違反量の差をすばやく特定できます たとえば -3ns の WNS が数個のパスに影響していても その次の WNS が -300ps であるような場合もあります デフォルトでは 終点ごとに最悪のタイミングパスが 1 つ表示されます 通常 同じ終点に対して同様のパスが多数あります 1 つの終点に対してタイミングが満たされていないパスをすべて表示するには report_timing コマンドで -nworst オプションを使用します たとえば タイミングが満たされていないワーストケースの終点を通過するすべてのパスを表示するには 次のコマンドを実行します (100 個以下である場合 ) report_timing -max_paths 100 -nworst 100 ワーストパスをすべて取得すると 膨大なデータ量になります 解析するデータ量を最小限に抑えるには report_timing コマンドの unique_pins オプションを使用してパスの固有の部分のみをレポートできます このオプションを使用すると 固有のピンの組み合わせそれぞれに対して 1 つのパスがリストされます 次に例を示します report_timing -max_paths 100 -nworst 100 -unique_pins デザイン解析およびクロージャテクニック 184

185 第 7 章 : インプリメンテーションの解析およびクロージャテクニック フロアプラン このセクションでは フロアプランについて説明します 次の内容が含まれます フロアプランについて フロアプランの基礎 Pblock ベースのフロアプラン 特定のロジックをデバイスサイトに固定 スタックドシリコンインターコネクト (SSI) デバイスでのフロアプラン フロアプランについて フロアプランがデザインのタイミングを満たすのに役立つ場合があります タイミングが満たされるときと満たされないときがある場合や タイミングが満たされたことがない場合にフロアプランを実行することをお勧めします フロアプランは 複数の設計者と作業する場合や 一貫性が重要な場合にも有益です フロアプランでは 平均配線遅延を削減することにより セットアップスラック (TNS WNS) を向上できます インプリメンテーションでは ワーストセットアップ違反およびすべてのホールド違反を解決するように処理されます フロアプランで向上できるのはセットアップスラックのみです 手動フロアプランは ネットリストが階層がある方が簡単です 合成でネットリスト全体がフラット化されると デザイン解析に時間がかかります 階層ネットリストが生成されるように 合成オプションを設定します Vivado 合成で次を使用します synth_design -flatten_hierarchy rebuilt または Vivado Synthesis Defaults ストラテジ 論理パスが複雑な大型の階層ブロックは 解析が困難です 異なる論理構造が別の下位階層に含まれているデザインの方が解析は簡単です 階層モジュールのすべての出力にレジスタを付けることを考慮してください 複数の階層ブロックを通過するパスの配置を解析するのは困難です デザイン解析およびクロージャテクニック 185

186 第 7 章 : インプリメンテーションの解析およびクロージャテクニック フロアプランの基礎 すべてのデザインでタイミングが満たされるとは限りません ツールがソリューションを見つけられるよう 指示する必要がある場合があります フロアプランを使用すると 高レベルの階層レイアウトや詳細なゲート配置を指定できます 最悪の問題または最も一般的な問題を修正すると 最も大きく改善します たとえば スラックが大幅に悪いパス またはロジックレベル数が多いパスがある場合 まずそれらのパスを修正します [Tools] [Timing] [Create Slack Histogram] をクリックすると スラックの悪いパスを表示できます また 終点が同じ複数のパスのスラックが負である場合 1 つのパスを改善すると 同じ終点のその他のパスも改善することがあります 配線遅延を削減したり クリティカルでないブロックのロジック集積度を増加するなどしてパフォーマンスを向上するため フロアプランすることを考慮してみてください ロジック集積度は チップ上にロジックがどれだけ密にパックされるかを示します フロアプランを実行すると クロック周波数および結果の一貫性を向上できます フロアプランには複数の取り組み方があり それぞれに利点と欠点があります 詳細なゲートレベルのフロアプラン 詳細なゲートレベルのフロアプランでは 個々の最下位セルをデバイスの特定のサイトに配置します 詳細なゲートレベルのフロアプランの利点 ネットを手動で配線します デバイスの最大限のパフォーマンスを引き出せる可能性があります 詳細なゲートレベルのフロアプランの欠点 時間がかかります デバイスおよびデザインに関する豊富な知識が必要です ネットリストが変更された場合 フロアプランを実行し直すことが必要な場合があります 推奨 : 詳細なゲートレベルのフロアプランは 最終的な手段としてください 情報の再利用 タイミングが満たされたデザインの情報を再利用します この手法は デザインのタイミングが満たされたり満たされなかったりする場合に使用します 情報を再利用するには 次の手順に従います 1. 2 つのインプリメンテーション run を開きます a. タイミングが満たされている run b. タイミングが満たされていない run ヒント : 複数のモニターを使用している場合 [Open Implementation in New Window] コマンドを使用してデザインを別のウィンドウで開きます デザイン解析およびクロージャテクニック 186

187 第 7 章 : インプリメンテーションの解析およびクロージャテクニック 2. 2 つのデザインの違いを見つけます a. report_timing_summary で タイミングが満たされていないパスを特定します b. タイミングが満たされているデザインで report_timing を min_max モードで使用して 同じパスのタイミング解析を実行します 3. タイミング結果を比較します a. クロックスキュー b. データパス遅延 c. 配置 d. 配線遅延 4. パスの終点間のロジック遅延に差がある場合は 合成 run に戻ります I/O およびセルの配置の確認 デザインのセルの配置を確認します 2 つの I/O レポートを比較して I/O の配置と I/O 規格を確認します すべての I/O が配置されていることを確認します 次の図に示すように検索を実行すると 配置が固定されていない I/O を検索できます X-Ref Target - Figure 7-7 図 7-7: 配置が固定されていない I/O の検索 run の間でクロックスキューを変更した場合 タイミングが満たされた run からのクロックプリミティブの配置を再利用することを考慮します 次の図に示すように クロック使用量レポートにクロックツリードライバーの配置がリストされます デザイン解析およびクロージャテクニック 187

188 第 7 章 : インプリメンテーションの解析およびクロージャテクニック X-Ref Target - Figure 7-8 LOC 制約は XDC 制約ファイルにコピーできます 図 7-8: クロックのロケーション 多くのデザインでは ブロック RAM および DSP の配置を再利用することにより タイミングを満たすことができます [Edit] [Find] を使用して インスタンスをリストします X-Ref Target - Figure 7-9 図 7-9: ブロック RAM または DSP を検索 デザイン解析およびクロージャテクニック 188

189 第 7 章 : インプリメンテーションの解析およびクロージャテクニック 配置制約の追加 XDC に配置制約を追加して ロジックを固定します 1. [Find Results] ウィンドウでマクロを選択します 2. 右クリックして [Fix Cells] をクリックします X-Ref Target - Figure 7-10 図 7-10: 選択したロジックの固定 推奨 : 配置を固定する前に 階層名に基づいて配置を解析し ハイライトしてください 配置の再利用 I/O グローバルクロックリソース ブロック RAM マクロ DSP マクロの配置を再利用するのは比較的簡単です 配置を再利用すると ネットリストのリビジョン間での結果がより一貫したものになります これらのプリミティブの名前は通常変化しないので 配置を保持するのは簡単です ヒント : 汎用スライスロジックの配置を再利用しないでください デザインの変更する予定の部分は 配置を再利用しないでください フロアプランのテクニック タイミングが満たされておらず ネットリストまたは制約の変更が好ましくないデザインでは ゲートレベルのフロアプランを考慮します 推奨 : ゲートレベルのフロアプランの前に 階層フロアプランを試してみてください デザイン解析およびクロージャテクニック 189

190 第 7 章 : インプリメンテーションの解析およびクロージャテクニック 階層フロアプラン 階層フロアプランでは デバイス上の領域に階層レベルを配置できます この領域が配置でのガイドラインとなり 詳細な配置が決定されます 階層フロアプランは ゲートレベルフロアプランと比較して 次のような利点があります ゲートレベルフロアプランよりも短時間で実行できます 適切なフロアプランにより タイミングを改善できます フロアプランは デザインが変更されても保持されます 階層レベルが ゲートのコンテナーとなります 通常 ネットリストが変更されても機能します 階層フロアプランは 次のようになります クリティカルパスを含む下位階層を特定します 最上位フロアプランを使用して どこに配置するかを判断します 個々のセルは インプリメンテーションにより配置されます セルおよびタイミングパスに関する包括的な知識があります 通常 適切な詳細配置が実行されます セルの手動配置 セルの手動配置では デバイスの最大限のパフォーマンスを引き出せる可能性があります この手法は通常 デザインの小さい部分でのみ使用されます たとえば 高速 I/O インターフェイス周辺のロジックや ブロック RAM および DSP を配置する場合などです 手動での配置には時間がかかります すべてのフロアプラン手法には 多大なエンジニアリング時間がかかります 作業を繰り返して調整する必要がある場合もあります セル名が変更された場合 フロアプラン制約もアップデートする必要があります フロアプランの際は 最終的なピン配置を念頭においてください I/O が固定されていると有益です I/O はフロアプランを開始する際のアンカーポイントとなります I/O に接続されているロジックは 固定されているピンの近くに移動されます ヒント : I/O と通信するブロックは I/O の近くに配置してください ピン配置によりブロックの I/O への接続が分散されてしまっている場合は ピン配置または RTL を変更することを考慮してください デザイン解析およびクロージャテクニック 190

191 第 7 章 : インプリメンテーションの解析およびクロージャテクニック X-Ref Target - Figure 7-11 図 7-11: I/O コンポーネントの配置によりブロックの接続が分散されてしまっている例 図 7-11 のようなフロアプランは タイミングには有益ではありません ブロックを分離するか ソースコードを変更するか ブロック RAM および DSP のみを制約することを考慮してください また 外部タイミング要件で許容される場合 I/O レジスタの配置を解除してみてください 上記の Pblock は 次の XDC 制約で表されます create_pblock Pblock_usbEngine add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list usbengine1]] resize_pblock [get_pblocks Pblock_usbEngine] -add {SLICE_X8Y105:SLICE_X23Y149} resize_pblock [get_pblocks Pblock_usbEngine] -add {DSP48_X0Y42:DSP48_X1Y59} resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB18_X0Y42:RAMB18_X1Y59} resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB36_X0Y21:RAMB36_X1Y29} デザイン解析およびクロージャテクニック 191

192 第 7 章 : インプリメンテーションの解析およびクロージャテクニック 1 行目で Pblock が作成されます 2 行目 (add_cells_to_pblock) で Pblock の階層レベルが指定されます 4 つのリソースタイプ (SLICE DSP48 RAMB18 RAMB36) があり それぞれグリッドがあります グリッドで制約されていないロジックは デバイスのどこにでも配置できます 階層レベルのブロック RAM のみを制約するには ほかの Pblock グリッドをディスエーブルにします X-Ref Target - Figure 7-12 結果の XDC コマンドでは Pblock が簡略化されます 図 7-12: Pblock グリッド create_pblock Pblock_usbEngine add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list usbengine1]] resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB18_X0Y42:RAMB18_X1Y59} resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB36_X0Y21:RAMB36_X1Y29} ブロック RAM がデバイスに制約されますが スライスロジックはデバイス上のどこにでも配置できます ヒント : Pblock を配置する際は 階層を中央の Config ブロックをまたがるように配置しないでください デザイン解析およびクロージャテクニック 192

193 第 7 章 : インプリメンテーションの解析およびクロージャテクニック X-Ref Target - Figure 7-13 Pblock ベースのフロアプラン 図 7-13: Config ブロックをまたがるように配置しない RTL をデザインに統合する際 デバイス内のデザインをグラフィカル表示すると便利です 合成後のブロック間の接続や I/O ピン配置をグラフィカル表示で確認すると デザインの理解に役立ちます インターコネクトを表示するには 階層の上位に Pblock を使用して最上位フロアプランを生成します 最上位 RTL を Pblock に分割するには [Tools] [Floorplanning] [Auto Create Pblocks] をクリックします Pblock をデバイスに配置するには [Tools] [Floorplanning] [Place Pblocks] をクリックします スライス数および使用率に基づいて Pblock のサイズが特定されます Pblock の使用率は 解析中は 100% を超えていてもかまいませんが インプリメンテーションでは 100% 以下にする必要があります Pblock の使用率を高くすると デバイス上でのサイズが小さくなります これは デザインの最上位ブロックの相対的なサイズおよびデバイスの配置を把握するために有効な手法です デザイン解析およびクロージャテクニック 193

194 第 7 章 : インプリメンテーションの解析およびクロージャテクニック X-Ref Target - Figure 7-14 図 7-14: [Place Pblocks] ダイアログボックス 最上位フロアプラン 最上位フロアプランには ブロックと I/O の接続表示されます ( 緑色の線 ) 2 つの Pblock を接続するネットは まとめられます 線の太さおよび色は 共有されるネットの数により異なります 図 7-15 および図 7-16 に 2 つの最上位フロアプランを示します 次の図は デザインの最上位ブロック間のデータフローを示しています 各ブロックは 隣接する 2 つのブロックのみに接続されています 緑色の線は 1 つのブロックのみが I/O に接続されていることを示しています デザイン解析およびクロージャテクニック 194

195 第 7 章 : インプリメンテーションの解析およびクロージャテクニック X-Ref Target - Figure 7-15 図 7-15: データパスを示す最上位フロアプラン 次の図は すべてのブロックが中央のブロックと接続されているデザインを示しています 接続は 中央のブロックと右下のブロックの間が最も多くなっています この中央のブロックを分散させて その他のロードと通信するようにする必要があります デザイン解析およびクロージャテクニック 195

196 第 7 章 : インプリメンテーションの解析およびクロージャテクニック X-Ref Target - Figure 7-16 図 7-16: 制御パスを含むフロアプラン フロアプランの確認 フロアプランを確認する際は デバイスリソースを考慮してください Pblock のサイズ調整では 次のような特殊なデバイスリソースは考慮されません ブロック RAM DSP48 MGT クロックバッファー ヒント : フロアプランおよびリソース使用量を考慮してブロックを確認してください デザイン解析およびクロージャテクニック 196

197 第 7 章 : インプリメンテーションの解析およびクロージャテクニック 特定のロジックをデバイスサイトに固定 すべての I/O ポートをザイリンクス 7 シリーズ FPGA デザインに配置するなど セルを FPGA デバイスの特定のロケーションに配置できます タイミングクロージャを試みる前に I/O を配置することをお勧めします I/O の配置は FPGA ファブリックでのセルの配置に影響します ほかのセルをファブリックに手動で配置すると クロックロジックおよびマクロの配置がより一貫したものになります 表 7-1: ロジックの配置に使用する制約 LOC BEL 制約使用法注記 ゲートまたはマクロを特定のサイトに配置します スライスのサブサイトを基本エレメントに使用するよう指定します SLICE サイトには BEL サイトと呼ばれるサブサイトがあります 固定および未固定のセル 固定および未固定は 配置されたセルに適用されます これらは Vivado ツールでデザインの配置されたセルがどのように認識されるかを示します 固定および未固定のセルに関する詳細は Vivado Design Suite ユーザーガイド : インプリメンテーション (UG904) [ 参照 7] のこのセクションを参照してください 推奨 : I/O を配置した後 階層 Pblock のフロアプランをユーザー制御配置の開始点として使用します 手動配置は Pblock でうまく制御できない場合にのみ使用するようにしてください デザイン解析およびクロージャテクニック 197

198 第 7 章 : インプリメンテーションの解析およびクロージャテクニック スタックドシリコンインターコネクト (SSI) デバイスでのフロアプラン スタックドシリコンインターコネクト (SSI) パーツでは 追加の考慮事項があります SSI パーツは複数の SLR (Super Logic Region) で構成されており インターポーザーにより接続されています インターポーザー接続は SLL (Super Long Line) と呼ばれます 1 つの SLR から別の SLR への移動には多少の遅延があります デザインの設計 ピン配置 フロアプランの際には SLR を考慮してください クリティカルタイミングパスのロジックセルは 1 つの SLR 内に収め SLL をまたぐ接続を最小限に抑えてください X-Ref Target - Figure 7-17 図 7-17: SLL を介する接続を最小限に抑える I/O は 関連する I/O インターフェイス回路と同じ SLR に配置されます SSI パーツのロジックを配置する場合は クロックの配置も考慮する必要があります 推奨 : 分割を実行する前に ロジックの配置を自動で実行してみてください 自動配置を解析することにより 考慮していなかったフロアプラン方法が見つかることがあります デザイン解析およびクロージャテクニック 198

199 付録 A タイミング設計手法チェック TIMING-1: Invalid Clock Waveform on Clock Modifying Block Invalid clock waveform for clock <CLOCK_NAME> specified at a <CELL_TYPE> output <PIN_NAME> that does not match the Clock Modifying Block (CMB) settings. The waveform of the clock is <VALUE>. The expected waveform is <VALUE>. 日本語訳 : <CELL_TYPE> 出力 <PIN_NAME> に指定されたクロック <CLOCK_NAME> のクロック波形は クロック調整ブロック (CMB) の設定と一致しないため無効です クロックの波形は <VALUE> ですが 予測される波形は <VALUE> です 説明 ザイリンクス Vivado Design Suite では CMB ( クロック調整ブロック ) の設定と入力マスタークロックの特性に基づいて CMB の出力にクロックが自動派生されます ユーザーが CMB 出力で生成クロックを定義すると Vivado で同じ定義ポイント ( ネットまたはピン ) で生成クロックが自動派生されなくなります この DRC 警告は ユーザー定義の生成クロックが Vivado で自動派生されるクロックと一致しないことをレポートします デザインのタイミング制約がデバイスの実際の動作と一致しないため ハードウェアエラーが発生する可能性があります 回避策 ユーザー定義の生成クロックが不要な場合は 制約を削除し 自動派生されたクロックを使用してください 制約が必要な場合は 生成クロック制約が自動派生クロックの波形と一致するようにするか CMB プロパティを予測されるクロック波形と一致するように変更します 自動派生クロックの名前を変更することが目的である場合は create_generated_clock 制約で -name オプションのみを指定して そのクロックが定義されたオブジェクト ( 通常 CMB の出力ピン ) の名前を指定することをお勧めします 生成クロックの作成方法と自動派生クロックの名前変更制約の制限に関する情報は Vivado Design Suite ユーザーガイド : 制約の使用 (UG903) [ 参照 6] を参照してください デザイン解析およびクロージャテクニック 199

200 付録 A: タイミング設計手法チェック 例 次の図では create_generated_clock 制約が MMCM インスタンスピン CLKOUT0 に定義されていますが MMCM 属性設定を基に Vivado で生成された自動派生波形とは一致しません 自動派生クロックの名前を変更するだけの場合は 制約ファイルのマスタークロック定義の直後に次の制約を使用します create_generated_clock -name clkname [get_pins clk_gen_i0/clk_core_i0/inst/mmcme3_adv_inst/clkout0] X-Ref Target - Figure A-1 図 A-1: クロック調整ブロックの無効なクロック波形 デザイン解析およびクロージャテクニック 200

201 付録 A: タイミング設計手法チェック TIMING-2: Invalid Primary Clock on Internal Pin A primary clock <CLOCK_NAME> is created on an inappropriate pin <PIN_NAME>. It is recommended to create a primary clock only on a proper clock root (input port or primitive output pin with no timing arc). 日本語訳 : プライマリクロック <CLOCK_NAME> が不適切なピン <PIN_NAME> に作成されています プライマリクロックは正しいクロックルート ( タイミングアークのない入力ポートまたはプリミティブの出力ピン ) にのみ作成することをお勧めします 説明 プライマリクロックはクロックツリーのソースに定義する必要があります たとえば これはデザインの入力ポートであることもあります プライマリクロックがロジックパスの真ん中で定義されると プライマリクロックの起点より前の挿入遅延が無視されるので タイミングが正確でなくなる可能性があり スキューが正しく算出されません このため 内部ドライバーピンにプライマリクロックを作成するとハードウェアでエラーになることがあるので お勧めしません 回避策 実際のクロックツリーソースを使用するように create_clock 制約を変更します 例 次の図では プライマリクロックを定義する create_clock 制約が IBUFCTRL インスタンスの出力ピンに配置されています clk_pin_p クロックが入力ポートパスまたは出力ポートパスのタイミング制約に使用される場合 クロックツリーの挿入遅延の一部が含まれないため スラックが不正確になります 差動入力バッファーのプライマリクロック定義は最上位ポート clk_pin_p に配置する必要があります X-Ref Target - Figure A-2 図 A-2: 内部ピンに設定された無効なプライマリクロック デザイン解析およびクロージャテクニック 201

202 付録 A: タイミング設計手法チェック TIMING-3: Invalid Primary Clock on Clock Modifying Block A primary clock <CLOCK_NAME> is created on the output pin or net <PIN/NET_NAME> of a Clock Modifying Block. 日本語訳 : プライマリクロック <CLOCK_NAME> がクロック調整ブロック (CMB) の出力ピンまたはネット <PIN/NET_NAME> に作成されています 説明 Vivado では CMB ( クロック調整ブロック ) の設定と入力マスタークロックの特性に基づいて CMB の出力にクロックが自動派生されます ユーザーが CMB 出力でプライマリクロックを定義すると Vivado で同じ出力にクロックが自動派生されなくなります この DRC は プライマリクロックが CMB の出力で作成されているために入力クロックとの関連性がなくなり クロック挿入遅延が正しく算出されないことをレポートします これによりタイミング解析が不正確なものになり ハードウェアが正しく動作しなくなる可能性があるので 推奨されません 回避策 CMB の出力の create_clock 制約を削除します 自動派生クロックの名前を変更することが目的である場合は create_generated_clock 制約で -name オプションと CMP 出力ピンのみを指定することをお勧めします 生成クロックの作成に関する追加情報は Vivado Design Suite ユーザーガイド : 制約の使用 (UG903) [ 参照 6] を参照してください 例 次の図では create_clock 制約が MMCM インスタンスピン CLKOUT0 に定義されています このため Vivado で作成された自動派生クロックが無効になり 入力クロックとの関連性が失われます 自動派生クロックの名前を変更するだけの場合は 制約ファイルのマスタークロック定義の直後に次の制約を使用します create_generated_clock -name clkname [get_pins clk_gen_i0/clk_core_i0/inst/mmcme3_adv_inst/clkout0] デザイン解析およびクロージャテクニック 202

203 付録 A: タイミング設計手法チェック X-Ref Target - Figure A-3 図 A-3: クロック調整ブロックの無効なプライマリクロック デザイン解析およびクロージャテクニック 203

204 付録 A: タイミング設計手法チェック TIMING-4: Invalid Primary Clock Redefinition on a Clock Tree Invalid clock redefinition on a clock tree. The primary clock <CLOCK_NAME> is defined downstream of clock <CLOCK_NAME> and overrides its insertion delay and/or waveform definition. 日本語訳 : クロックツリーのクロック再定義が無効です プライマリクロック <CLOCK_NAME> はクロック <CLOCK_NAME> のダウンストリームを定義しており その挿入遅延または波形定義 あるいはその両方が無効になっています 説明 プライマリクロックは クロックツリーのソースに定義する必要があります たとえば デザインの入力ポートなどです プライマリクロックがダウンストリームで定義されているために入力クロック定義が無効になっている場合 再定義されたプライマリクロックの起点よりも前の挿入遅延が無視されるので タイミング解析が不正確になり スキューが正しく算出されなくなる可能性があります タイミング解析が不正確なものとなり ハードウェアでエラーが発生する可能性があるので これは推奨されません 回避策 ダウンストリームオブジェクトの create_clock 制約を削除して アップストリームクロックが伝搬されるようにするか アップストリームのプライマリクロックを基準とする生成クロックを作成します 例 次の図では プライマリクロックが最上位ポート clk_pin_p に正しく定義されていますが IBUFCTRL 出力に create_clock 制約が使用され プライマリクロックが再定義されています この新しいクロックは IBUFCTRL より前の遅延をすべて無視します X-Ref Target - Figure A-4 図 A-4: クロックツリーの無効なプライマリクロック再定義 デザイン解析およびクロージャテクニック 204

205 付録 A: タイミング設計手法チェック TIMING-5: Invalid Waveform Redefinition on a Clock Tree Invalid inverted waveform on a clock tree. The generated clock <CLOCK_NAME> is defined downstream of clock <CLOCK_NAME> and has an inverted waveform definition compare to the incoming clock. 日本語訳 : クロックツリーに無効な反転波形があります 生成クロック <CLOCK_NAME> がクロック <CLOCK_NAME> のダウンストリームで定義されており 入力クロックを反転する波形定義が含まれます 説明 生成クロックは 入力クロックに対して定義する必要があります この DRC 警告は 生成クロックに入力クロックとは周期 位相シフト または反転が異なる無効な定義が含まれることをレポートします 回避策 create_generated_clock 制約を 入力クロック定義と一致する正しい波形を定義するように変更します 適切な生成クロック制約の作成の詳細は Vivado Design Suite ユーザーガイド : 制約の使用 (UG903) [ 参照 6] を参照してください 例 次の図では create_generated_clock が LUT1 インバーターの出力で作成されていますが -invert オプションが適用されていません X-Ref Target - Figure A-5 図 A-5: クロックツリーの無効な波形再定義 デザイン解析およびクロージャテクニック 205

206 付録 A: タイミング設計手法チェック TIMING-6: No Common Primary Clock Between Related Clocks The clocks <CLOCK_NAME1> and <CLOCK_NAME2> are related (timed together) but they have no common primary clock. The design could fail in hardware even if timing is met. To find a timing path between these clocks, run the following command: report_timing -from [get_clocks <CLOCK_NAME1>] -to [get_clocks <CLOCK_NAME2>]. 日本語訳 : クロック <CLOCK_NAME1> と <CLOCK_NAME2> には関連性があり その間でタイミング解析が実行されますが 共通プライマリクロックがありません タイミングが満たされても デザインがハードウェアでエラーになる可能性があります これらのクロック間のタイミングパスを検索するには report_timing -from [get_clocks <CLOCK_NAME1>] -to [get_clocks <CLOCK_NAME2>] を実行します 説明 デフォルトでは 2 つのクロックは 共通のプライマリクロックから派生しておらず 既知の位相関係がない場合でも 関連性があると考慮され 同期しているとしてタイミング解析が実行されます この DRC 警告は タイミングエンジンでこれらのクロックが同期することを確実にできないことをレポートします 回避策 回避策は 2 つのクロックドメインが非同期であるか 同期であるかによって異なります クロックが非同期の場合 2 つのドメイン間のパスにタイミング例外 (set_max_delay -datapath_only set_clock_groups set_false_path など ) を使用する必要があります これら 2 つのドメイン間のパスすべてに完全に例外が適用されると この DRC 警告は表示されなくなります 例 クロックが同期の場合 2 つのクロックがもともと同じ波形であれば 両方のクロックソースオブジェクトに 1 つのタイミングクロックを定義できます ( 次の例 1 を参照 ) 例 1: create_clock -period 10 -name clk1 [get_ports <clock-1-source> <clock-2-source>] 2 つのクロックの波形が異なる場合は 1 つ目のクロックをプライマリクロックとして定義し 2 つ目のクロックを 1 つ目のクロックをマスタークロックとする生成クロックとして定義します ( 次の例 2 を参照 ) 例 2: create_clock -period 10 -name clk1 [get_ports <clock-1-source>] クロックに関連性があり クロック周期の比が 2 の場合は 1 つのソースにプライマリクロックを作成して 2 つ目のソースに生成クロックを作成すると問題を解決できます create_generated_clock -source [get_ports <clock-1-source>] -name clk2 -divide_by 2 [get_ports <clock-2-source>] デザイン解析およびクロージャテクニック 206

207 付録 A: タイミング設計手法チェック TIMING-7: No Common Node Between Related Clocks The clocks <CLOCK_NAME1> and <CLOCK_NAME2> are related (timed together) but they have no common node. The design could fail in hardware. To find a timing path between these clocks, run the following command: report_timing -from [get_clocks <CLOCK_NAME1>] -to [get_clocks <CLOCK_NAME2>]. 日本語訳 : クロック <CLOCK_NAME1> と <CLOCK_NAME2> には関連性があり その間でタイミング解析が実行されますが 共通ノードがありません タイミングが満たされても デザインがハードウェアでエラーになる可能性があります これらのクロック間のタイミングパスを検索するには report_timing -from [get_clocks <CLOCK_NAME1>] -to [get_clocks <CLOCK_NAME2>] を実行します 説明 レポートされている 2 つのクロックは デフォルトでは関連性があると考慮され 同期しているものとしてタイミング解析が実行されます この DRC 警告は 2 つのクロックツリー間の共通ノードを判断できないため タイミングエンジンでこれらのクロックがハードウェアで同期することを確実にできないことをレポートします 回避策 回避策は 2 つのクロックドメインが非同期であるか 同期であるかによって異なります クロックが非同期の場合 2 つのドメイン間のパスにタイミング例外 (set_max_delay -datapath_only set_clock_groups set_false_path など ) を使用する必要があります クロックが同期の場合は この DRC 警告は表示されません 例 次の図では clk1 ドメインと clk2 ドメインの間に同期クロック乗せ換え (CDC) があります デフォルトでは Vivado で clk1 と clk2 が同期であると判断されますが clk1 と clk2 は入力ポートなので 2 つのクロック間に共通ノードはありません この場合 Vivado で 2 つのクロックが同期することを確実にできません X-Ref Target - Figure A-6 図 A-6: 関連クロック間に共通ノードなし デザイン解析およびクロージャテクニック 207

208 付録 A: タイミング設計手法チェック TIMING-8: No Common Period Between Related Clocks The clocks <CLOCK_NAME1> and <CLOCK_NAME2> are found related (timed together) but have no common (expandable) period. 日本語訳 : クロック <CLOCK_NAME1> と <CLOCK_NAME2> には関連性があり その間でタイミング解析が実行されますが 共通周期がありません ( 周期の公倍数を見つけることができない ) 説明 レポートされている 2 つのクロックは デフォルトでは関連性があると考慮され 同期しているものとしてタイミング解析が実行されます ただし タイミングエンジンで 両方のクロックの波形を 1000 サイクル以上拡張しても 共通周期を見つけることができません この場合 これらの 1000 サイクル以上でのワーストセットアップ関係がタイミング解析に使用されますが タイミングエンジンでこれが最悪の見積もりであることを確実にできません これは通常 2 つのクロックの周期比が半端な分数になる場合に発生します 回避策 このような波形ではこの 2 つのクロック間で安全なタイミング解析を実行できないので これらのクロックは非同期として処理することをお勧めします 2 つのドメイン間のパスにタイミング例外 (set_max_delay -datapath_only set_false_path set_clock_groups など ) を設定する必要があります デザイン解析およびクロージャテクニック 208

209 付録 A: タイミング設計手法チェック TIMING-9: Unknown CDC Logic An asynchronous Clock Domain Crossing has been detected between clock <CLOCK_NAME1> and clock <CLOCK_NAME2> through a set_false_path or a set_clock_groups or a set_max_delay -datapath_only constraint but no safe CDC logic has been identified (crossing pin <PIN_NAME>). 日本語訳 : クロック <CLOCK_NAME1> とクロック <CLOCK_NAME2> の間に非同期クロック乗せ換え (CDC) が検出され set_false_path set_clock_groups または set_max_delay -datapath_only 制約が設定されていますが 安全な CDC ロジックが特定されません ( 乗せ換えピン <PIN_NAME>) 説明 この DRC は タイミング例外制約が設定されたクロックドメイン間に安全な非同期クロック乗せ換え回路が使用されていることを確認します 認識されている安全なトポロジの詳細は 64 ページの クロック乗せ換えレポート を参照してください 回避策 クロック間のパスが適切に同期化されるようにすることをお勧めします これには 最低でもダブルレジスタロジックシンクロナイザーを追加する必要があります FIFO またはよりハイレベルなプロトコルが既にパスに定義されている場合は この DRC は無視しても問題ありません 例 次の図では clk1 と clk2 ドメイン間に非同期クロック乗せ換え (CDC) がありますが clk2 デスティネーションドメインにデータを同期化するためのダブルレジスタロジックシンクロナイザーが含まれません X-Ref Target - Figure A-7 図 A-7: シンクロナイザーが存在しない デザイン解析およびクロージャテクニック 209

210 付録 A: タイミング設計手法チェック TIMING-10: Missing Property on Synchronizer A logic synchronizer with <CELL_NAME1> and <CELL_NAME2> has been detected between clock <CLOCK_NAME1> and clock <CLOCK_NAME2> but the synchronizer does not have the property ASYNC_REG=TRUE on both registers. 日本語訳 : クロック <CLOCK_NAME1> とクロック <CLOCK_NAME2> 間に <CELL_NAME1> および <CELL_NAME2> を使用したロジックシンクロナイザーが検出されましたが シンクロナイザーの両方のレジスタに ASYNC_REG=TRUE プロパティが設定されていません 説明 シンクロナイザーレジスタでは 合成およびインプリメンテーション中のロジック最適化でセルが削除されないようにし 最適な平均故障間隔 (MTBF) 統計が得られるよう配置を最適化するため ASYNC_REG プロパティを TRUE に設定する必要があります 回避策 ロジックシンクロナイザーの各段に ASYNC_REG 制約を追加します ASYNC_REG 制約の詳細は Vivado Design Suite プロパティリファレンスガイド (UG912) [ 参照 10] を参照してください 例 次の図では clk1 と clk2 の間に非同期クロックドメインがあり ダブルレジスタロジックシンクロナイザーを使用して正しく同期されていますが タイミングスラックを増加して MTBF を小さくするため シンクロナイザーの各レジスタに ASYNC_REG プロパティを設定する必要があります X-Ref Target - Figure A-8 図 A-8: シンクロナイザーに ASYNC_REG プロパティが設定されていない デザイン解析およびクロージャテクニック 210

Vivado Design Suite ユーザー ガイド : デザイン解析およびクロージャ テクニック (UG906)

Vivado Design Suite ユーザー ガイド : デザイン解析およびクロージャ テクニック (UG906) Vivado Design Suite ユーザーガイド デザイン解析およびクロージャテクニック Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products.to the maximum

More information

UltraFast 設計手法タイミング クロージャ クイック リファレンス ガイド (UG1292)

UltraFast 設計手法タイミング クロージャ クイック リファレンス ガイド (UG1292) このクイックリファレンスガイドでは UltraFast 設計手法ガイド (Vivado Design Suite 用 ) (UG949) の推奨事項に基づいて タイミングクロージャをすばやく 簡単に実行する手順を説明します 初期デザインチェック : デザインのインプリメンテーション前に使用量 ロ ジックレベル タイミング制約を確認 タイミングベースラインの作成 : 配線後にタイミングクロージャを達成しや

More information

Quartus II - TimeQuest クイック・ガイド

Quartus II - TimeQuest クイック・ガイド Quartus II TimeQuest クイック ガイド ver. 9.1 2010 年 6 月 1. はじめに この資料は Quartus II のタイミング解析エンジン TimeQuest の基本的な操作方法をご紹介しています TimeQuest は 独立したツールとして高性能なタイミング解析を行えるだけでなく Quartus II に対して TimeQuest の解析結果に基づいた配置配線を実行させることもできます

More information

Symantec AntiVirus の設定

Symantec AntiVirus の設定 CHAPTER 29 Symantec AntiVirus エージェントを MARS でレポートデバイスとしてイネーブルにするためには Symantec System Center コンソールをレポートデバイスとして指定する必要があります Symantec System Center コンソールはモニタ対象の AV エージェントからアラートを受信し このアラートを SNMP 通知として MARS に転送します

More information

Vivado Design Suite ユーザー ガイド : 制約の使用 (UG903)

Vivado Design Suite ユーザー ガイド : 制約の使用  (UG903) Vivado Design Suite ユーザーガイド 制約の使用 Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products.to the maximum extent

More information

Quartus II はじめてガイド - TimeQuest によるタイミング制約の方法

Quartus II はじめてガイド - TimeQuest によるタイミング制約の方法 ALTIMA Corp. Quartus II はじめてガイド TimeQuest によるタイミング制約の方法 ver.15 2015 年 9 月 Rev.1 ELSENA,Inc. Quartus II はじめてガイド TimeQuest によるタイミング制約の方法 目次 1. 2. はじめに...3 SDC ファイルの作成方法...5 2-1. 2-2. Analysis & Synthesis(

More information

Vivado Design Suite チュートリアル : デザイン解析およびクロージャ テクニック (UG938)

Vivado Design Suite チュートリアル : デザイン解析およびクロージャ テクニック  (UG938) Vivado Design Suite チュートリアル デザイン解析およびクロージャテクニック Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.to the

More information

Vivado Design Suite チュートリアル : 制約の使用

Vivado Design Suite チュートリアル : 制約の使用 Vivado Design Suite チュートリアル 制約の使用 Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.to the maximum extent

More information

ゲートウェイ ファイル形式

ゲートウェイ ファイル形式 ゲートウェイ ファイル形式 この章では Cisco Unified Communications Manager 一括管理 BAT を使用して Cisco Unified Communications Manager データベース内の Cisco ゲートウェイのファイル形式を一括して設定す る方法について説明します ゲートウェイ ファイル形式の検索, 1 ページ ゲートウェイ ファイル形式の設定,

More information

インテル(R) Visual Fortran コンパイラ 10.0

インテル(R) Visual Fortran コンパイラ 10.0 インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行

More information

レポートでのデータのフィルタ

レポートでのデータのフィルタ フィルタのタイプ, 1 ページ 日付の範囲フィルタの設定, 2 ページ 値リストまたはコレクション フィルタの設定, 3 ページ 詳細フィルタの設定, 5 ページ フィルタのタイプ フィルタのタイプは [基本フィルタ Basic Filters ] と [詳細フィルタ Advanced Filters ] の 2 種類から選択できます [基本フィルタ Basic Filters ] [基本フィルタ

More information

ゲートウェイのファイル形式

ゲートウェイのファイル形式 この章では Cisco Unified Communications Manager 一括管理 BAT を使用して シスコのゲー トウェイのファイル形式を Cisco Unified Communications Manager データベースに一括して設定す る方法について説明します の検索, 1 ページ の設定, 2 ページ ファイル形式と CSV データ ファイルの関連付け, 5 ページ の検索

More information

アラートの使用

アラートの使用 CHAPTER 7 この章は 次の項で構成されています (P.7-2) アラートプロパティの設定 (P.7-4) アラートの一時停止 (P.7-6) アラート通知用電子メールの設定 (P.7-7) アラートアクションの設定 (P.7-7) 7-1 次のを実行して [Alert Central] へのアクセス アラート情報のソート アラートの有効化 無効化 削除 アラートのクリア アラートの詳細の表示などのタスクを実行できます

More information

IBM Proventia Management/ISS SiteProtector 2.0

IBM Proventia Management/ISS  SiteProtector 2.0 CHAPTER 10 IBM Proventia Management/ISS SiteProtector 2.0 この章は 次の内容で構成されています グローバルイベントポリシーを定義する IBM Proventia Management/ISS SiteProtector (P.10-1) (P.10-5) グローバルイベントポリシーを定義する IBM Proventia Management/ISS

More information

TimeCardView と Cisco Unified Communications Express Historical Reporting Client

TimeCardView と  Cisco Unified Communications Express  Historical Reporting Client TimeCardView と Cisco Unified Communications Express Historical Reporting Client を使用すると 次の 2 種類のレポート生成タスクを実行できます 履歴レポートの生成と表示 (P.27) (P.29) 上記以外の種類のタスクとしては 既存のレポート設定のロード がありますが これは TimeCardView の機能に関連しません

More information

Virtex-6 Clocking

Virtex-6 Clocking Spartan-6 クロックリソース Proprietary to PALTEK CORPORATION 1 AGENDA はじめに クロックネットワーク クロックマネージメントタイル (CMT) 使用例 2 AGENDA はじめに クロックネットワーク クロックマネージメントタイル (CMT) 使用例 3 高速なクロッキング 新型アプリケーションには複雑なクロック要件が必要 : 高速クロック信号

More information

電話機のファイル形式

電話機のファイル形式 この章では テキスト エディタを使用して作成する CSV データ ファイルのファイル形式を設定 する方法について説明します 電話機 CSV データ ファイルを作成するためのテキスト エディタ, 1 ページ の検索, 2 ページ CSV データ ファイルの電話機ファイル形式の設定, 3 ページ テキストベースのファイル形式と CSV データ ファイルの関連付け, 7 ページ 電話機 CSV データ ファイルを作成するためのテキスト

More information

Report Template

Report Template 日本語マニュアル 第 11 章 フロアプランニングと リソース配置指定 ( 本 日本語マニュアルは 日本語による理解のため一助として提供しています その作成にあたっては各トピックについて それぞれ可能な限り正確を期しておりますが 必ずしも網羅的ではなく 或いは最新でない可能性があります また 意図せずオリジナル英語版オンラインヘルプやリリースノートなどと不一致がある場合もあり得ます 疑義が生じた場合は

More information

ModelSim-Altera - RTL シミュレーションの方法

ModelSim-Altera - RTL シミュレーションの方法 ALTIMA Corp. ModelSim-Altera RTL シミュレーションの方法 ver.15.1 2016 年 5 月 Rev.1 ELSENA,Inc. 目次 1. 2. 3. はじめに...3 RTL シミュレーションの手順...4 RTL シミュレーションの実施...5 3-1. 3-2. 新規プロジェクトの作成... 5 ファイルの作成と登録... 7 3-2-1. 新規ファイルの作成...

More information

Microsoft Word - editage_trackchange_word2007.doc

Microsoft Word - editage_trackchange_word2007.doc 変更履歴とコメントを確認する 適用対象 適用対象 : Microsoft Office Word 2007 変更履歴とコメントが含まれた文書が不注意により配布されないように Word では 変更履歴とコメントを既定で表示します [ 最終版 ( 変更箇所 / コメントの表示 )] は ( 変更の表示方法の切り替え ) の既定のオプションです Microsoft Office Word では すべての挿入

More information

McAfee SaaS Protection 統合ガイド Microsoft Office 365 と Exchange Online の保護

McAfee SaaS  Protection 統合ガイド Microsoft Office 365 と Exchange Online の保護 統合ガイド改訂 G McAfee SaaS Email Protection Microsoft Office 365 と Exchange Online の保護 Microsoft Office 365 の設定 このガイドの説明に従って McAfee SaaS Email Protection を使用するように Microsoft Office 365 と Microsoft Exchange Online

More information

ユーザ デバイス プロファイル エクス ポートの使用方法

ユーザ デバイス プロファイル エクス ポートの使用方法 CHAPTER 41 ユーザデバイスプロファイルレコードをエクスポートする場合 次の 2 つのファイル形式名から選択できます All User Device Profile Details(All Phone Details ファイル形式 ): ユーザデバイスプロファイルに関連付けられた回線アトリビュート サービス およびユーザ ID をすべてエクスポートします Specific User Device

More information

ユーザ デバイス プロファイルの ファイル形式

ユーザ デバイス プロファイルの ファイル形式 CHAPTER 34 CSV データファイルの作成にテキストエディタを使用する場合 デバイスフィールドと回線フィールドを CSV データファイル内で識別するファイル形式を使用する必要があります このファイル形式には次のオプションがあります Default User Device Profile: ユーザデバイスプロファイルのデバイスフィールドと回線フィールドの事前決定済みの組み合せを含む Simple

More information

ゲートウェイのファイル形式

ゲートウェイのファイル形式 CHAPTER 47 Cisco Unified Communications Manager 一括管理 (BAT) を使用すると シスコのを Cisco Unified Communications Manager データベースに一括して設定できます 次のトピックでは これらのタスクの情報とについて説明します の検索 の設定 の検索 を検索するは 次のとおりです ステップ 1 [ 一括管理 ]>[

More information

C1Live

C1Live C1Live 2014.01.30 更新 グレープシティ株式会社 Copyright GrapeCity, Inc. All rights reserved. C1Live 目次 i 目次 ComponentOne Studio Live 更新ユーティリティの概要 1 Studio Live について 2 Studio Live 製品グリッド... 3 Studio Live メニュー... 4 Studio

More information

Eschartマニュアル

Eschartマニュアル Eschart マニュアル 株式会社スマートエナジー研究所 Version 1.0.0, 2018-09-26 目次 1. 概要........................................................ 1 2. 各部名称 概要................................................. 2 3. 基本操作.....................................................

More information

デザイン解析およびフロアプラン チュートリアル : PlanAhead ツール (UG676)

デザイン解析およびフロアプラン チュートリアル : PlanAhead ツール (UG676) デザイン解析およびフロアプラン PlanAhead デザインツール Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you solely for use in the development of designs to operate with

More information

Quartus II クイック・スタートガイド

Quartus II クイック・スタートガイド ALTIMA Corp. Quartus II クイック スタートガイド ver.3.0 2010 年 8 月 ELSENA,Inc. 目次 1. はじめに... 3 2. Quartus II の基本操作フロー... 3 3. Quartus II の基本操作... 4 ステップ 1. プロジェクトの作成... 4 ステップ 2. デザインの作成... 4 ステップ 3. ファンクション シミュレーション...

More information

概要 ABAP 開発者が SAP システム内の SAP ソースまたは SAP ディクショナリーオブジェクトを変更しようとすると 2 つのアクセスキーを入力するよう求められます 1 特定のユーザーを開発者として登録する開発者キー このキーは一度だけ入力します 2 SAP ソースまたは SAP ディクシ

概要 ABAP 開発者が SAP システム内の SAP ソースまたは SAP ディクショナリーオブジェクトを変更しようとすると 2 つのアクセスキーを入力するよう求められます 1 特定のユーザーを開発者として登録する開発者キー このキーは一度だけ入力します 2 SAP ソースまたは SAP ディクシ オンラインヘルプ :SAP ソフトウェア変更登録 (SSCR) キーの登録 目次 概要... 2 参考リンク... 3 アプリケーションの起動... 4 アプリケーションとメインコントロールの概要... 5 キーリストのカスタマイズ... 7 リストのフィルタリング... 7 表のレイアウトのカスタマイズ... 8 新しい開発者の登録... 10 新しいオブジェクトの登録... 12 特定のインストレーションから別のインストレーションに個々の

More information

IBIS

IBIS IBISBuilder IBISIndicator R1.2 リリースノート Dec. 2009 IBISBuilder IBISIndicator 1 IBISBuilder IBISIndicator は サイバネットシステム株式会社の登録商標です その他 本書に記載の会社名 商品名は当該各社に帰属する商標または登録商標です 発行者 : サイバネットシステム株式会社 東京本社 : 101-0022

More information

障害およびログの表示

障害およびログの表示 この章の内容は 次のとおりです 障害サマリー, 1 ページ 障害履歴, 4 ページ Cisco IMC ログ, 7 ページ システム イベント ログ, 9 ページ ロギング制御, 12 ページ 障害サマリー 障害サマリーの表示 手順 ステップ 1 [ナビゲーション Navigation ] ペインの [シャーシ Chassis ] メニューをクリックします ステップ 2 [シャーシ Chassis

More information

AN 477: Designing RGMII Interface with HardCopy

AN 477: Designing RGMII Interface with HardCopy FPGA および HardCopy デバイスとの RGMII インタフェースの設計 ver. 1.0 Application Note 477 はじめに RGMII(Reduced Gigabit Media Independent Interface) は IEEE 802.3z GMII に代わるもので ピン数の削減が図られています ピン数の削減は クロックの立ち上がりと立ち下がりの両エッジでデータをやりとりし

More information

ファイル メニューのコマンド

ファイル メニューのコマンド CHAPTER43 次のオプションは Cisco Configuration Professional(Cisco CP) の [ ファイル ] メニューから利用できます 実行コンフィギュレーションを PC に保存 ルータの実行コンフィギュレーションファイルを PC 上のテキストファイルに保存します 43-1 設定をルータに配信する 第 43 章 設定をルータに配信する このウィンドウでは Cisco

More information

WBS_Ch0.indd

WBS_Ch0.indd ガントチャート 利用ガイド ver.7.0.0 RSRicksoft リックソフト株式会社 www.ricksoft.jp 目次 Chapter 1 はじめに... 2 1. 1 用語と概念...2 1. 1. 1 チケット...2 1. 1. 2 工程 チケット...2 1. 1. 3 チケットの親子関係...3 1. 1. 4 現在の計画とベースライン ( 基準計画 )...3 1. 2 推奨環境...4

More information

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O) ALTIMA Corp. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) ver.1.0 2010 年 8 月 ELSENA,Inc. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) 目次 1. はじめに... 3 2. PIO 概要... 3 2-1. PIO 概要... 3 2-2. PIO

More information

Maser - User Operation Manual

Maser - User Operation Manual Maser 3 Cell Innovation User Operation Manual 2013.4.1 1 目次 1. はじめに... 3 1.1. 推奨動作環境... 3 2. データの登録... 4 2.1. プロジェクトの作成... 4 2.2. Projectへのデータのアップロード... 8 2.2.1. HTTPSでのアップロード... 8 2.2.2. SFTPでのアップロード...

More information

HardCopy IIデバイスのタイミング制約

HardCopy IIデバイスのタイミング制約 7. HardCopy II H51028-2.1 Stratix II FPGA FPGA ASIC HardCopy II ASIC NRE Quartus II HardCopy Design Center HCDC Quartus II TimeQuest HardCopy II 2 DR2 TimeQuest TimeQuest FPGA ASIC FPGA ASIC Quartus II

More information

レポートのデータへのフィルタの適用

レポートのデータへのフィルタの適用 レポート内のフィルタ, 1 ページ フィルタのタイプ, 2 ページ 日時範囲フィルタの設定, 2 ページ キー基準フィールドの設定, 3 ページ フィールド フィルタの設定, 3 ページ レポート内のフィルタ Unified Intelligence Center のレポート フィルタを使用して 表示するデータを選択します [フィ ルタ Filter ] ページを使用してフィルタを定義し レポートに表示するデータをフィルタ処理

More information

新しくシンボルを作成することもできるが ここでは シンボル :opamp2.asy ファイル を回路と同じフォルダにコピーする コピーしたシンボルファイルをダブルクリックで 開く Fig.4 opamp2 のシンボル 変更する前に 内容を確認する メニュー中の Edit の Attributes の

新しくシンボルを作成することもできるが ここでは シンボル :opamp2.asy ファイル を回路と同じフォルダにコピーする コピーしたシンボルファイルをダブルクリックで 開く Fig.4 opamp2 のシンボル 変更する前に 内容を確認する メニュー中の Edit の Attributes の 付録 A. OP アンプ内部回路の subckt 化について [ 目的 ] 実験で使用した LM741 の内部回路を subckt 化して使用する [ 手順と結果 ] LTspice には sample として LM741 の内部回路がある この内部回路は LM741.pdf[1] を参照している 参考サイト : [1]http://www.ti.com/lit/ds/symlink/lm741.pdf

More information

図 1 アドインに登録する メニューバーに [BAYONET] が追加されます 登録 : Excel 2007, 2010, 2013 の場合 1 Excel ブックを開きます Excel2007 の場合 左上の Office マークをクリックします 図 2 Office マーク (Excel 20

図 1 アドインに登録する メニューバーに [BAYONET] が追加されます 登録 : Excel 2007, 2010, 2013 の場合 1 Excel ブックを開きます Excel2007 の場合 左上の Office マークをクリックします 図 2 Office マーク (Excel 20 BayoLink Excel アドイン使用方法 1. はじめに BayoLink Excel アドインは MS Office Excel のアドインツールです BayoLink Excel アドインは Excel から API を利用して BayoLink と通信し モデルのインポートや推論の実行を行います BayoLink 本体ではできない 複数のデータを一度に推論することができます なお現状ではソフトエビデンスを指定して推論を行うことはできません

More information

APEX Spreadsheet ATP HOL JA - Read-Only

APEX Spreadsheet ATP HOL JA  -  Read-Only Oracle APEX ハンズオン ラボ スプレッドシートからアプリケーションを作成 Oracle Autonomous Cloud Service 用 2019 年 7 月 (v19.1.3) Copyright 2018, Oracle and/or its affiliates. All rights reserved. 2 概要 このラボでは スプレッドシートを Oracle データベース表にアップロードし

More information

TDK Equivalent Circuit Model Library

TDK Equivalent Circuit Model Library TDK SPICE Netlist Library を OrCAD Capture,PSpice で使用する方法 TDK 株式会社アプリケーションセンター江畑克史 Oct. 01, 2008 AN-NL08B002_ja はじめに TDK では, 各種受動電子部品の SPICE モデル集 TDK SPICE Netlist Library を公開しております. TDK SPICE Netlist Library

More information

Rhino Importer for ARCHICAD ユーザーガイド

Rhino Importer for ARCHICAD ユーザーガイド Rhino Importer for ARCHICAD ユーザーガイド ARCHICAD 18 用バージョン 18.0.0.7509.18 および ARCHICAD 19 用バージョン 19.0.0.4517.8 ユーザーガイドの更新日 :2015 年 9 月 28 日 本ツールの無償提供は GRAPHISOFT のみがおこないます 他のいずれのチャンネルからも本ツールを提供することは禁止されています

More information

Design with themes — Part 1: The Basics

Design with themes — Part 1: The Basics PowerPoint 入門 PowerPoint はプレゼンテーションのための効果的なアプリケーションです 最も効果的に使用するためには 最初にその基礎を理解する必要があります このチュートリアルでは すべてのプレゼンテーションで使用する作業と機能をいくつか紹介します 開始する前に... 1 1. 新しい空白のプレゼンテーションを作成する... 2 2. PowerPoint ユーザーインターフェイスについて...

More information

for (int x = 0; x < X_MAX; x++) { /* これらの 3 つの行は外部ループの自己データと * 合計データの両方にカウントされます */ bar[x * 2] = x * ; bar[(x * 2) - 1] = (x - 1.0) *

for (int x = 0; x < X_MAX; x++) { /* これらの 3 つの行は外部ループの自己データと * 合計データの両方にカウントされます */ bar[x * 2] = x * ; bar[(x * 2) - 1] = (x - 1.0) * コールスタックを利用したルーフライン Alexandra S. (Intel) 2017 年 12 月 1 日公開 この記事は 2017 年 12 月 18 日時点の インテル デベロッパー ゾーンに公開されている Roofline with Callstacks の日本語訳です 注 : この記事の一部のスクリーンショットにはオレンジ色の点が表示されています デフォルト設定では これらの点は赤または黄色になります

More information

HP Primeバーチャル電卓

HP Primeバーチャル電卓 HP Prime バーチャル電卓 Windows は 米国 Microsoft Corporation およびその関連会社の米国およびその他の国における商標または登録商標です 本書の内容は 将来予告なしに変更されることがあります HP 製品およびサービスに関する保証は 当該製品およびサービスに付属の保証規定に明示的に記載されているものに限られます 本書のいかなる内容も 当該保証に新たに保証を追加するものではありません

More information

Section1_入力用テンプレートの作成

Section1_入力用テンプレートの作成 入力用テンプレートの作成 1 Excel には 効率よく かつ正確にデータを入力するための機能が用意されています このセクションでは ユーザー設定リストや入力規則 関数を利用した入力用テンプレートの作成やワークシート操作について学習します STEP 1 ユーザー設定リスト 支店名や商品名など 頻繁に利用するユーザー独自の連続データがある場合には ユーザー設定リスト に登録しておけば オートフィル機能で入力することができ便利です

More information

SAC (Jap).indd

SAC (Jap).indd 取扱説明書 機器を使用する前に本マニュアルを十分にお読みください また 以後も参照できるよう保管してください バージョン 1.7 目次 目次 について...3 ご使用になる前に...3 インストール手順...4 ログイン...6 マネージメントソフトウェアプログラムの初期画面... 7 プロジェクタの検索...9 グループの設定... 11 グループ情報画面... 12 グループの削除... 13

More information

(Microsoft Word - \214\264\215e B_\217\221\202\253\215\236\202\335\225\224.docx)

(Microsoft Word - \214\264\215e B_\217\221\202\253\215\236\202\335\225\224.docx) トランジスタ技術 2009 年 3 月号特集気軽にはじめる FPGA 第 5 章マルチチャネル信号発生器信号発生器の製作 ~はんだ付け不要ロジックの自在さを生かす~ ISE WebPACK を使って FPGA にソースを書き込むまでの手順 坂本三直 プロジェクトプロジェクトの新規生成 / 読み込み : CQ 出版社の HP より本スタータキット用のプロジェクトをダウンロードしてください. パソコン上にコピーできたら,Xilinx

More information

(Veritas\231 System Recovery 16 Monitor Readme)

(Veritas\231 System Recovery 16 Monitor Readme) Veritas System Recovery 16 Monitor Readme この README について Veritas System Recovery 16 Monitor でサポートされなくなった機能 Veritas System Recovery 16 Monitor について システムの必要条件 ホストコンピュータの前提条件 クライアントコンピュータの前提条件 Veritas System

More information

Agileイベント・フレームワークとOracle BPELを使用したPLMワークフローの拡張

Agileイベント・フレームワークとOracle BPELを使用したPLMワークフローの拡張 Agile イベント フレームワークと Oracle BPEL を使用した PLM ワークフローの拡張 チュートリアル Jun Gao Agile PLM Development 共著 2009 年 10 月 目次 概要... 4 このチュートリアルについて... 4 目的および範囲... 4 使用ソフトウェア... 4 はじめに... 5 必要な環境の準備... 5 Agile PLM ワークフロー機能の拡張...

More information

8021.X 認証を使用した Web リダイレクトの設定

8021.X 認証を使用した Web リダイレクトの設定 8021.X 認証を使用した Web リダイレクトの 設定 802.1X 認証を使用した Web リダイレクトについて, 1 ページ RADIUS サーバの設定 GUI, 3 ページ Web リダイレクトの設定, 4 ページ WLAN ごとのアカウンティング サーバの無効化 GUI, 5 ページ WLAN ごとのカバレッジ ホールの検出の無効化, 5 ページ 802.1X 認証を使用した Web リダイレクトについて

More information

Format text with styles

Format text with styles Word 入門 Word はワープロおよびレイアウトのための効果的なアプリケーションです 最も効果的に使用するには 最初にその基礎を理解する必要があります このチュートリアルでは すべての文書で使用する作業と機能をいくつか紹介します 開始する前に... 1 1. 新しい空白の文書を作成する... 2 2. Word のユーザーインターフェイスについて... 4 3. 文書内を移動する... 5 4.

More information

1. WebShare(HTML5 版 ) 編 1.1. ログイン / ログアウト ログイン 1 WebShare の URL にアクセスします xxxxx 部分は会社様によって異なります xxxxx 2 ユーザー名 パ

1. WebShare(HTML5 版 ) 編 1.1. ログイン / ログアウト ログイン 1 WebShare の URL にアクセスします   xxxxx 部分は会社様によって異なります xxxxx 2 ユーザー名 パ 操作ガイド Ver.2.3.1 目次 1. WebShare(HTML5 版 ) 編... - 2-1.1. ログイン / ログアウト... - 2-1.2. 表示更新... - 4-1.3. ファイル フォルダ一覧... - 5-1.3.1. フォルダ参照方法... - 5-1.3.2. フォルダ作成... - 8-1.3.3. アップロード... - 10-1.3.4. 名称変更... - 14-1.3.5.

More information

Windows8.1基礎 ファイル管理

Windows8.1基礎 ファイル管理 OA ベーシック Windows8.1 基礎ファイル管理 1 / 8 Windows8.1 基礎ファイル管理 ファイル管理前編 ファイルとフォルダーの概要 ファイル Excel や Word などのアプリで作成したデータを ファイル といいます ファイルは 作成元のアプリの種類により Word では 文書 Excel では ブック PowerPoint では プレゼンテーション と呼ばれています ファイルの種類はアイコンのデザインで確認できます

More information

生存確認調査ツール

生存確認調査ツール Hos-CanR.0 独自項目アップグレードマニュアル FileMaker pro を使用 システム管理者用 Ver. バージョン改訂日付改訂内容 Ver. 00//5 初版 Ver. 0// FileMaker Pro の動作確認の追加 はじめに 本マニュアルについて Hos-CanR.0 院内がん登録システム ( 以降は Hos-CanR.0 と記述します ) では 独自項目の作成 登録 サポートはなくなり

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション FLEXSCHE Excel 帳票 入門ガイド 1 目次 2 EXCEL 帳票とは EDIF を用いて出力された一時データを元に それを EXCEL 形式の帳票として出力する機能です 利用するには FLEXSCHE EDIF の他 Microsoft Excel 2003 以降が必要です レイアウトデザインも EXCEL で行うので 多くの方に操作に抵抗なく編集していただけます この入門ガイドでは

More information

Windows Server 2012 および Windows Server 2008 のインストール

Windows Server 2012 および Windows Server 2008 のインストール Windows Server 2012 および Windows Server 2008 のインストール この章は 次の内容で構成されています 内部ドライブへの Windows Server 2012 または Windows Server 2008 のインストール, 1 ペー ジ ブート可能 SAN LUN への Windows Server 2012 または Windows Server 2008

More information

ソフトウェアの更新ユーザーガイド

ソフトウェアの更新ユーザーガイド ソフトウェアの更新ユーザーガイド Copyright 2009 Hewlett-Packard Development Company, L.P. Windows および Windows Vista は 米国 Microsoft Corporation の米国およびその他の国における登録商標です 製品についての注意事項 このユーザーガイドでは ほとんどのモデルに共通の機能について説明します 一部の機能は

More information

Microsoft iSCSI Software Targetを使用したクラスタへの共有ディスク・リソースの提供

Microsoft iSCSI Software Targetを使用したクラスタへの共有ディスク・リソースの提供 Microsoft iscsi Software Target を使用したクラスタへの共有ディスク リソースの提供 はじめに... 2 クラスタ ホスト エントリの作成... 3 イニシエータの設定... 7 クラスタ ノード 1 のイニシエータ... 7 クラスタ ノード 2 のイニシエータ... 7 iscsi 仮想ディスクのエクスポート... 8 iscsi デバイスの初期化... 11 Microsoft

More information

Shareresearchオンラインマニュアル

Shareresearchオンラインマニュアル Chrome の初期設定 以下の手順で設定してください 1. ポップアップブロックの設定 2. 推奨する文字サイズの設定 3. 規定のブラウザに設定 4. ダウンロードファイルの保存先の設定 5.PDFレイアウトの印刷設定 6. ランキングやハイライトの印刷設定 7. 注意事項 なお 本マニュアルの内容は バージョン 61.0.3163.79 の Chrome を基に説明しています Chrome の設定手順や画面については

More information

Web ブラウザー編 ログイン フォルダーの作成 文書のアップロード 文書のダウンロード フォルダー / 文書の削除 文書公開 文書受け取り チェックアウト チェックイン ( ロック解除 ) ログアウト STEP 1 : ログイン 1 ご利用開始のお知らせ メールに記載されている URL から オン

Web ブラウザー編 ログイン フォルダーの作成 文書のアップロード 文書のダウンロード フォルダー / 文書の削除 文書公開 文書受け取り チェックアウト チェックイン ( ロック解除 ) ログアウト STEP 1 : ログイン 1 ご利用開始のお知らせ メールに記載されている URL から オン STEP : ご利用開始のお知らせ メールに記載されている URL から オンラインサービス 画面にアクセス https://workingfolder.fujixerox.co.jp/web/xxxxxxx/ XXXXXXX にはお客様のキャビネット ID が入ります 事前に設定しているお客様のユーザー ID/ パスワードを入力 ボタンをクリック 5 回入力を間違えるとロックされできなくなります

More information

Microsoft Word A08

Microsoft Word A08 1 / 12 ページ キャリアアップコンピューティング 第 8 講 [ 全 15 講 ] 2018 年度 2 / 12 ページ 第 8 講関数とデータベース処理 8-1 旧バージョンのデータとの互換性 Office2007 以降のファイル形式は 旧バージョンと異なる新しい形式となっています Excel の場合 旧バージョンの拡張子は.xls Excel2007 以降では.xlsx となっています ネット上のブック

More information

ServerView Resource Orchestrator V3.0 ネットワーク構成情報ファイルツール(Excel形式)の利用方法

ServerView Resource Orchestrator V3.0 ネットワーク構成情報ファイルツール(Excel形式)の利用方法 ServerView Resource Orchestrator V3.0 ネットワーク構成情報ファイル作成ツール mknetdevconf-tool-0300-1 本ファイルでは ServerView Resource Orchestrator V3.0 で使用する ネットワーク構成情報ファイル作成ツール の動作条件 使用方法 およびその他の重要な情報について説明しています 本ツールを使用する前に必ず最後まで目を通すようお願いします

More information

2. 設定画面から 下記の項目について入力を行って下さい Report Type - 閲覧したい利用統計の種類を選択 Database Usage Report: ご契約データベース毎の利用統計 Interface Usage Report: 使用しているインターフェイス * 毎の利用統計 * 専用

2. 設定画面から 下記の項目について入力を行って下さい Report Type - 閲覧したい利用統計の種類を選択 Database Usage Report: ご契約データベース毎の利用統計 Interface Usage Report: 使用しているインターフェイス * 毎の利用統計 * 専用 EBSCOadmin 利用統計設定方法 EBSCOadmin 内の Report & Statistics 機能をご利用頂くことで セッション別 発信元の IP アドレス別 デー タベース別 最も多く検索された雑誌タイトルなどに限定して ユーザーのデータベース利用頻度を把握すること ができます ここでは 基本的なデータベースの利用統計レポートの作成方法をご説明します 利用統計を設定する (=Standard

More information

FileExplorer for ASP.NET Web Forms

FileExplorer for ASP.NET Web Forms FileExplorer for ASP.NET Web Forms 2018.04.12 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for ASP.NET Web Formsのヘルプ 2 ビジュアル要素 3 クイックスタート : フォルダパスの追加 4-5 エクスプローラーの機能 6 複数ファイルの選択 6-7 フォルダの作成と管理 7 ファイル操作の無効化 7

More information

TF Series with Tio1608-D System Setup Guide

TF Series with Tio1608-D System Setup Guide システムセットアップガイド 第 1 版 : 2016 年 6 月 このガイドでは ヤマハデジタルミキシングコンソール TF シリーズ と I/O ラック Tio1608-D を使用したミキシングシステムのセットアップ手順や Tio1608-D の台数に応じたシステム例を紹介します TF シリーズは単体でも使用することができますが Tio1608-D を併用することで簡単にシステムを拡張することができ

More information

RTL Technology Viewer/Schematic Viewer チュートリアル (UG685)

RTL Technology Viewer/Schematic Viewer チュートリアル (UG685) RTL Viewer/Technology Viewer チュートリアル The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied.xilinx does not assume any liability

More information

Linux のインストール

Linux のインストール この章は 次の項で構成されています 内部ドライブへの, 1 ページ ブート可能 SAN LUN への, 3 ページ PXE ネットワーク環境を使用した, 4 ページ 内部ドライブへの この手順では CIMC GUI と KVM コンソールを使用して Red Hat Enterprise Linux RHEL また は SUSE Linux Enterprise Server SLES を 内蔵ドライブにインストールする方法について説明

More information

Vivado Design Suite チュートリアル : デザイン フローの概要 (UG888)

Vivado Design Suite チュートリアル : デザイン フローの概要 (UG888) Vivado Design Suite チュートリアル デザインフローの概要 Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.to the maximum extent

More information

Microsoft PowerPoint - Tutorial_2_upd.ppt

Microsoft PowerPoint - Tutorial_2_upd.ppt 2 Eclipse を使った Bluemix アプリケーション開発 1 ハンズオン手順 ハンズオンの概要 Eclipse から Java アプリをデプロイする 公開されているプロジェクトをインポートする インポートしたプロジェクトをBluemixにデプロイする ここでは PostgreSQL サービスを提供する ElephantSQL というサービスを使用します デプロイしたアプリケーションを確認する

More information

プレゼンタイトルを入力してください

プレゼンタイトルを入力してください VoIP ゲートウェイと TELstaff の設定方法 株式会社日立ソリューションズ TELstaff サポートグループ 目次 1.VoIP ゲートウェイの設定 2.TELstaff の設定 VoIP ゲートウェイ側の詳細な設定は 機器付属のマニュアルをご参照ください 1 1.VoIP ゲートウェイの設定 1-1. メイン画面表示 1-1. メイン画面表示 メイン画面表示方法メイン画面の表示には 2

More information

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページにアクセスする 1.Web ブラウザを起動します FW v6.50 以下の場合は Internet Explorer を FW v7.10 以降の場合は

More information

第 13 講データ管理 2 2 / 14 ページ 13-1 ファイルを開く 第 12 講で保存したデータベースファイル サークル名簿.accdb を開きましょう 1. Access を起動します 2. Microsoft Office Access - 作業の開始 が表示されていることを確認します

第 13 講データ管理 2 2 / 14 ページ 13-1 ファイルを開く 第 12 講で保存したデータベースファイル サークル名簿.accdb を開きましょう 1. Access を起動します 2. Microsoft Office Access - 作業の開始 が表示されていることを確認します B コース 1 / 14 ページ コンピュータリテラシー B コース 第 13 講 [ 全 15 講 ] 2011 年度春学期 基礎ゼミナール ( コンピューティングクラス ) 第 13 講データ管理 2 2 / 14 ページ 13-1 ファイルを開く 第 12 講で保存したデータベースファイル サークル名簿.accdb を開きましょう 1. Access を起動します 2. Microsoft Office

More information

InstallShiled FAQ デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 Instal

InstallShiled FAQ デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 Instal デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 InstallShield のインストーラは DIFX(Microsoft Windows Driver Install Framework) に準拠したデバイスドライバーのインストールをサポートしています

More information

モデム コマンドに関するガイドライン

モデム コマンドに関するガイドライン HP Tablet PC シリーズ 製品番号 : 335883-291 2003 年 10 月 このガイドでは お使いの Tablet PC のモデムでサポートされている AT コマンドセットを選択 アクセス および使用する方法について説明します 2003 Hewlett-Packard Development Company, L.P. MicrosoftおよびWindowsは 米国 Microsoft

More information

Sharing the Development Database

Sharing the Development Database 開発データベースを共有する 目次 1 Prerequisites 準備... 2 2 Type of database データベースのタイプ... 2 3 Select the preferred database 希望のデータベースを選択する... 2 4 Start the database viewer データベース ビューワーを起動する... 3 5 Execute queries クエリを実行する...

More information

DS099-E09: XC3S5000 FPGA エラッタおよび Spartan-3 データシートの確認

DS099-E09: XC3S5000 FPGA エラッタおよび Spartan-3 データシートの確認 DS099-E09 (v2.5) 2006 年 12 月 14 日 XC3S5000 FPGA エラッタと Spartan-3 データシートの確認 エラッタ このエラッタは Spartan-3 XC3S5000 FPGA の量産デバイスおよびエンジニアリングサンプルの両方に適用されます その他の Spartan-3 FPGA では ここに記載したエラッタは該当しません 記載されている以外のデバイスをご使用の場合は

More information

デザインの保持チュートリアル : PlanAhead デザイン ツール (UG747)

デザインの保持チュートリアル : PlanAhead デザイン ツール (UG747) デザインの保持チュートリアル PlanAhead ソフトウェア Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you solely for use in the development of designs to operate with

More information

ヤマハDante機器と他社AES67機器の接続ガイド

ヤマハDante機器と他社AES67機器の接続ガイド はじめに AES67 は 高性能なデジタル IP ネットワークの相互接続を実現するための標準規格です AES67 は や Ravenna Q-LAN Livewire WheatNet などの異なるネットワーク規格で構築されたシステム間で オーディオ信号を送受信する手段を提供します ヤマハも 機器のアップデートにより順次 AES67 への対応を開始し 第一弾としてデジタルミキシングコンソール CL/QL

More information

Hik-Connect アカウントにデバイスを追加する方法ユーザーは Hik-Connect APP ウェブポータル ivms4500 アプリまたは ivms クライアント経由で Hik-Connect 機能を有効にすることができます 注 : iv

Hik-Connect アカウントにデバイスを追加する方法ユーザーは Hik-Connect APP   ウェブポータル ivms4500 アプリまたは ivms クライアント経由で Hik-Connect 機能を有効にすることができます 注 : iv 概要 Hik-Connect は 動的ドメイン名サービスとアラームプッシュ通知サービスを統合した Hikvision によって導入された新しいサービスです これは デバイスがインターネットに接続するための簡単な方法を提供します このマニュアルは Hik-Connect サービスを追加する方法をユーザーに示すためのガイドです 注 :: ユーザーエクスペリエンスを向上させるために ルーターとデバイスの両方で

More information

<4D F736F F D208BD98B7D D B838B835A DD92E8834B C52E646F63>

<4D F736F F D208BD98B7D D B838B835A DD92E8834B C52E646F63> 緊急連絡メール設定ガイド 緊急連絡網用.xls ファイルの概要このファイルは 小学校での利用を想定して 1 年から6 年までの6 学年 各学年 1 組から8 組まで登録できるようになっています ワークシートには BitMailPRO BitplusPRO BitSearch との連携を考えて列名が設定され 操作する為のボタンも配置されています 各ボタンをクリックした時に必要な処理を行う為のプログラムとの関係がありますので

More information

VPN 接続の設定

VPN 接続の設定 VPN 接続の設定 AnyConnect 設定の概要, 1 ページ AnyConnect 接続エントリについて, 2 ページ ハイパーリンクによる接続エントリの追加, 2 ページ 手動での接続エントリの追加, 3 ページ ユーザ証明書について, 4 ページ ハイパーリンクによる証明書のインポート, 5 ページ 手動での証明書のインポート, 5 ページ セキュアゲートウェイから提供される証明書のインポート,

More information

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl NUCLEO-F401RE の TrueSTUDIO プロジェクト構築方法 V001 2014/09/24 Atollic TrueSTUDIO for ARM Lite を使用して NUCLEO-F401RE のプロジェクトを新規に作成する方法について説明します また ビルドとデバッグについても説明しています 目次 1. 新規プロジェクト作成の準備... 2 2. 新規プロジェクトの作成... 3

More information

目次 ページ 1. 本マニュアルについて 3 2. 動作環境 4 3. ( 前準備 ) ライブラリの解凍と保存 5 4. モデルのインポート 6 5. インポートしたモデルのインピーダンス計算例 8 6. 補足 単シリーズ 単モデルのインポート お問い合わせ先 21 2

目次 ページ 1. 本マニュアルについて 3 2. 動作環境 4 3. ( 前準備 ) ライブラリの解凍と保存 5 4. モデルのインポート 6 5. インポートしたモデルのインピーダンス計算例 8 6. 補足 単シリーズ 単モデルのインポート お問い合わせ先 21 2 SIMetrix/SIMPLIS ライブラリ ユーザーマニュアル 2018 年 8 月 株式会社村田製作所 Ver1.0 1 22 August 2018 目次 ページ 1. 本マニュアルについて 3 2. 動作環境 4 3. ( 前準備 ) ライブラリの解凍と保存 5 4. モデルのインポート 6 5. インポートしたモデルのインピーダンス計算例 8 6. 補足 単シリーズ 単モデルのインポート

More information

生存確認調査ツール

生存確認調査ツール Hos-CanR.0 独自項目運用マニュアル FileMaker pro を使用 登録作業者用 Ver. バージョン改訂日付改訂内容 Ver. 00//5 初版 Ver. 0// FileMaker Pro の動作確認の追加 はじめに 本マニュアルについて Hos-CanR.0 院内がん登録システム ( 以降は Hos-CanR.0 と記述します ) では 独自項目の作成 登録 サポートはなくなり

More information

使用する前に

使用する前に この章では Cisco Secure ACS リリース 5.5 以降から Cisco ISE リリース 2.4 システムへのデー タ移行に使用される Cisco Secure ACS to Cisco ISE Migration Tool について説明します 移行の概要 1 ページ Cisco Secure ACS から データ移行 1 ページ Cisco Secure ACS to Cisco ISE

More information

Report Template

Report Template 日本語マニュアル 第 16 章 ( 本 日本語マニュアルは 日本語による理解のため一助として提供しています その作成にあたっては各トピックについて それぞれ可能な限り正確を期しておりますが 必ずしも網羅的ではなく 或いは最新でない可能性があります また 意図せずオリジナル英語版オンラインヘルプやリリースノートなどと不一致がある場合もあり得ます 不明箇所について又は疑義が生じた場合は ラティスセミコンダクター正規代理店の技術サポート担当にお問い合わせ頂くか

More information

スケジューリングおよび通知フォーム のカスタマイズ

スケジューリングおよび通知フォーム のカスタマイズ CHAPTER 6 この章では Outlook 予定表から会議をスケジュールまたは会議に参加するために [MeetingPlace] タブをクリックしたときに表示される項目の最も簡単なカスタマイズ方法について説明します 次の項を参照してください スケジューリングフォームと会議通知 (P.6-1) スケジューリングフォームおよび会議通知のカスタマイズ (P.6-2) MeetingPlace タブのフォームのデフォルト情報とオプション

More information

データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編

データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編 手順 4 Excel データを活用する ( リスト / グラフ 色分け ) 外部の表データ (CSV 形式 ) を読み込み リスト表示やカード表示 その値によって簡単なグラフ ( 円 正方形 棒の 3 種類 ) や色分け表示することができます この機能を使って地図太郎の属性情報に無い項目も Excel で作成し CSV 形式で保存することにより 自由に作成することができます (Excel でデータを保存するとき

More information

Quartus II はじめてガイド - プロジェクトの作成方法

Quartus II はじめてガイド - プロジェクトの作成方法 ALTIMA Corp. Quartus II はじめてガイド プロジェクトの作成方法 ver.10.0 2010 年 7 月 ELSENA,Inc. Quartus II はじめてガイド プロジェクトの作成方法 目次 1. はじめに... 3 2. Quartus II の起動... 3 3. 操作手順... 4 4. 既存プロジェクトの起動... 10 5. プロジェクト作成後の変更...11

More information

monologue Sound Librarian 取扱説明書

monologue Sound Librarian 取扱説明書 J 3 目次 はじめに... 2 monologue Sound Librarian とは?... 2 使用上のご注意... 2 動作環境... 2 インストール... 3 Mac へのインストール... 3 Windows へのインストール... 3 クイック スタート... 4 monologue Sound Librarian を起動する... 4 monologue Sound Librarian

More information

インストール後のアプリケーション実行

インストール後のアプリケーション実行 < スイートインストーラーの基本的な作成方法 > 注 ) このドキュメントは InstallShield 2012 Spring Premier Edition を基に作成しています InstallShield 2012Spring 以外のバージョンでは設定名などが異なる場合もあります 概要 InstallShield 2012 以降のバージョンより Premier Edition において 複数のインストーラーやアップデートを単一のイ

More information

MIB サポートの設定

MIB サポートの設定 CHAPTER 2 この章では Cisco 10000 シリーズに SNMP および MIB のサポートを設定する手順について説明します 具体的な内容は次のとおりです Cisco IOS リリースに対応する MIB サポートの判別 (p.2-1) MIB のダウンロードおよびコンパイル (p.2-2) シスコの SNMP サポート (p.2-4) Cisco IOS リリースに対応する MIB サポートの判別

More information

Mindjet MindManager Version 9 for Windows サービスパック 2 リリースノート : 2011 年 4 月 20 日

Mindjet MindManager Version 9 for Windows サービスパック 2 リリースノート : 2011 年 4 月 20 日 Mindjet MindManager Version 9 for Windows サービスパック 2 : 2011 年 4 月 20 日 MindManager Version 9 for Windows で修正された問題 MindManager 9 ビルド 9.2.545 合計期間が 1 日未満の仕事間の依存関係が 強制的に別の日に開始された 依存する仕事の合計期間が一作業日未満である場合は それらの仕事を同じ日に開始できるようになりました

More information

誓約書の同意 4 初回のみ 下記画面が表示されるので内容を確認後 同意する ボタンをクリック 同意していただけない場合はネット調達システムを使うことができません 参照条件設定 5 案件の絞り込み画面が表示されます 5-1 施工地域を選択して 施工地域選択完了 ボタンをクリック - 2 -

誓約書の同意 4 初回のみ 下記画面が表示されるので内容を確認後 同意する ボタンをクリック 同意していただけない場合はネット調達システムを使うことができません 参照条件設定 5 案件の絞り込み画面が表示されます 5-1 施工地域を選択して 施工地域選択完了 ボタンをクリック - 2 - ネット調達システム簡易マニュアル 協力会社編 システムの起動 ~ 案件参照 ~ 見積提出 ログイン 1OC-COMET にログインします 2 左側のメニューより 関連システム連携 ( 見積回答 S 他 ) をクリック 3 ネット調達システム をクリック - 1 - 誓約書の同意 4 初回のみ 下記画面が表示されるので内容を確認後 同意する ボタンをクリック 同意していただけない場合はネット調達システムを使うことができません

More information

サイボウズ Office 10「個人フォルダ」

サイボウズ Office 10「個人フォルダ」 サイボウズ Office 10 バージョン 10.4 個人フォルダ Copyright (C) 2013-2016 Cybozu 商標について 記載された商品名 各製品名は各社の登録商標または商標です また 当社製品には他社の著作物が含まれていることがあります 個別の商標 著作物に関する注記については 弊社の Web サイトを参照してください http://cybozu.co.jp/company/copyright/other_companies_trademark.html

More information

TeamViewer マニュアル – Wake-on-LAN

TeamViewer マニュアル – Wake-on-LAN TeamViewer マニュアル Wake-on-LAN Rev 11.1-201601 TeamViewer GmbH Jahnstraße 30 D-73037 Göppingen www.teamviewer.com 目次 1 Wake-on-LANのバージョン情報 3 2 要件 5 3 Windowsのセットアップ 6 3 1 BIOSの設定 6 3 2 ネットワークカードの設定 7 3 3

More information

電話機のリセットと再起動

電話機のリセットと再起動 この章では 属性を更新せずにデバイスをリセットまたは再起動する方法について説明します 問題が発生したために 複数の電話機をバルク トランザクションによってリセットまたは再起 動する必要が生じた場合に この手順を使用します リセットする電話機は クエリーまたは カスタム ファイルを使用して検索できます クエリーを使用した電話機のリセットまたは再起動, 1 ページ カスタム ファイルを使用した電話機のリセットまたは再起動,

More information