• 検索結果がありません。

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
62
0
0

読み込み中.... (全文を見る)

全文

(1)

Vivado Design Suite

ユーザー

ガ イ ド

制約の使用

(2)

制約の使用 japan.xilinx.com 2 UG903 (v2012.3) 2012 年 10 月 16 日

AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,

NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical

Applications:http://www.xilinx.com/warranty.htm#critapps.

© Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.

本資料は英語版 (v2012.3) を翻訳し た も ので、 内容に相違が生じ る 場合には原文を優先し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。 こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、[email protected] までお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付け てお り ません。 あ ら か じ めご了承 く だ さ い。

(3)

日付 バージ ョ ン 改訂内容 2012 年 10 月 16 日 2012.3 • マ イ ナーな レ イ ア ウ ト 、 フ ォーマ ッ ト 、 テ キ ス ト の変更 • 一部の図を ア ッ プデー ト • 第3 章の図3-3 • 第4 章の図4-1 • 新し い図を追加 • 第4 章の図4-4 • 第4 章の図4-5 • 第4 章の図4-6 • 第3 章の 「ホール ド チ ェ ッ ク 」 を更新 • 第3 章の 「ホール ド パス要件の例」 のホール ド 要件を更新 • 第4 章の 「生成 ク ロ ッ ク について」 を更新 • 第4 章の 「ユーザー定義の生成 ク ロ ッ ク 」 の コ ー ド 例を更新 • 第4 章の 「自動的に派生し た ク ロ ッ ク 」 の コ ー ド 例を更新

• 第4 章の 「 ク ロ ッ ク グループ」 に 「ま た、[Report Clock Interaction] コ マン ド を使用 し て、」 で始ま る 文を追加 • 第4 章の 「ユーザー定義の生成 ク ロ ッ ク 」に 「-source オプシ ョ ンではピ ン ま たはポー ト ネ ッ ト リ ス ト オブジ ェ ク ト のみを指定で き ます。ク ロ ッ ク オブジ ェ ク ト は指定で き ません」 と い う 重要な注記を追加 2012 年 9 月 4 日 2012.2 次を含むマ イ ナーな ア ッ プデー ト • 文章のマ イ ナーな ア ッ プデー ト • 図を ア ッ プデー ト • 30 ページの 「セ ッ ト ア ッ プ パス要件の例」 を編集 • 32 ページの 「ホール ド パス要件の例」 を編集

(4)

制約の使用 japan.xilinx.com 4 UG903 (v2012.3) 2012 年 10 月 16 日

第 1 章 : 概要

UCF 制約か ら XDC 制約への変換 . . . 6 XDC 制約について . . . 6 XDC 制約の入力. . . 7

第 2 章 : 制約の入力方法

制約の管理 . . . 8 制約の順序 . . . 11 制約の入力 . . . 14 合成制約の作成 . . . 21 イ ンプ リ メ ン テーシ ョ ン制約の作成 . . . 26

第 3 章 : タ イ ミ ング解析

タ イ ミ ン グ パス . . . 28 セ ッ ト ア ッ プお よ びホール ド 解析 . . . 30 リ カバ リ お よ び リ ムーバル解析 . . . 34

第 4 章 : ク ロ ッ クの定義

ク ロ ッ ク について . . . 35 プ ラ イ マ リ ク ロ ッ ク . . . 36 仮想 ク ロ ッ ク . . . 38 生成 ク ロ ッ ク . . . 39 ク ロ ッ ク グループ . . . 43 ク ロ ッ ク レ イ テ ンシ、 ジ ッ ター、 ばら つき . . . 45 I/O 遅延 . . . 46

第 5 章 : タ イ ミ ング例外

最小/最大遅延制約 . . . 50

第 6 章 : XDC の優先順位

XDC 制約の順序. . . 52 例外の優先順位 . . . 52

第 7 章 : 物理制約

制約の適用 . . . 54 ネ ッ ト リ ス ト 制約 . . . 55 I/O 制約 . . . 55 配置制約 . . . 57 配線制約 . . . 59 コ ン フ ィ ギ ュ レーシ ョ ン制約 . . . 61

(5)

ソ リ ュ ーシ ョ ン セン ター . . . 62 リ フ ァ レ ン ス . . . 62

(6)

制約の使用 japan.xilinx.com 6 UG903 (v2012.3) 2012 年 10 月 16 日

概要

Vivado™ 統合設計環境 (IDE) では、 ザ イ リ ン ク ス デザ イ ン制約 (XDC) を使用し ます。

UCF 制約か ら XDC 制約への変換

ザ イ リ ン ク ス デザ イ ン制約 (XDC) と ユーザー制約フ ァ イ ル (UCF) の制約には、 重要な違いがあ り ます。 XDC は、 業

界標準の Synopsys Design Constraints (SDC) フ ォーマ ッ ト に基づいてい ます。 SDC は 20 年以上 も 使用 さ れ、 向上し て

き てお り 、 デザ イ ン制約を記述する のに最 も よ く 使用 さ れ る 確立 し た フ ォーマ ッ ト です。UCF に慣れていて XDC を

初めて使用する 場合は、付録A 「その他の リ ソ ース」の リ ン ク か ら 『Vivado Design Suite 移行手法ガ イ ド 』 (UG911) の

「UCF 制約を XDC に移行」 の章にあ る 「XDC と UCF 制約の違い」 を参照し て く だ さ い。 こ の章には、 XDC 制約を 作成する 開始点 と し て既存の UCF フ ァ イ ルを XDC に変換する方法が説明 さ れてい ます。 重要: デザ イ ン を適切に制約するには、 XDC と UCF の基本的な違いを理解する必要があ り ます。 UCF か ら XDC へ の変換ユーテ ィ リ テ ィ では限界があ り 、XDC を正し く 理解し て作成する のが確実な方法です。 こ のユーザー ガ イ ド では、 各 XDC 制約について説明し ます。

XDC 制約について

XDC 制約は、 次を組み合わせた も のです。 • 業界標準の Synopsys Design Constraints (SDC)

• ザ イ リ ン ク ス独自の物理制約

XDC には、 次の特徴があ り ます。

• 単純な文字列ではな く 、Tcl のフ ォーマ ッ ト に従っ た コ マン ド です。

• Vivado Tcl イ ン タープ リ ターに よ り 、 ほかの Tcl コ マン ド と 同様に解釈 さ れます。

(7)

XDC 制約の入力

XDC 制約は、 フ ローの異な る段階でい く つかの方法で入力で き ます。 • 制約を 1 つま たは複数のフ ァ イ ルに保存 し、 プ ロ ジ ェ ク ト の制約セ ッ ト に追加で き ます。 • フ ァ イ ルを読み込むには、 read_xdc コ マン ド を使用し ます。 • デザ イ ンが メ モ リ に読み込まれた ら 、Tcl コ ン ソ ールに制約を直接入力し ます。 こ れは、 新 し い制約を個別に入力、 検証、 デバ ッ グする のに有益な方法です。

(8)

制約の使用 japan.xilinx.com 8 UG903 (v2012.3) 2012 年 10 月 16 日

制約の入力方法

こ の章では、 推奨 さ れ る 制約入力フ ロ ーを示 し ます。 デザ イ ン制約は、 デザ イ ンがボー ド 上で正 し く 機能す る よ う にす る ために、 コ ンパ イ ル フ ローで満たす必要のあ る要 件を定義 し ます。 すべての制約が コ ンパ イ ル フ ローのすべての段階で使用 さ れる わけではあ り ません。 た と えば、 物 理制約は イ ンプ リ メ ン テーシ ョ ン段階 (配置および配線) でのみ使用 さ れます。 Vivado™ 統合設計環境 (IDE) の合成お よび イ ンプ リ メ ンテーシ ョ ン アルゴ リ ズ ムは タ イ ミ ン グ ド リ ブン なので、 適 切な タ イ ミ ン グ制約を作成する 必要があ り ます。 デザ イ ンの制約を厳 し く し すぎ た り 緩 く し すぎ た り す る と 、 タ イ ミ ン グ ク ロージ ャ を達成する のが困難にな り ます。アプ リ ケーシ ョ ンの要件に対応する適度な制約を使用する必要があ り ます。

制約の管理

Vivado IDE では、 1 つま たは多数の制約フ ァ イ ルを使用で き ます。 コ ンパ イ ル フ ロー全体に 1 つの制約フ ァ イ ルを使 用する 方が便利な よ う に思え ますが、 デザ イ ンが複雑になればすべての制約を管理す る のは簡単ではあ り ません。 こ れは、 異な る チームが開発 し た複数の IP や大型のブ ロ ッ ク を使用する デザ イ ンに特に言え ます。 推奨: タ イ ミ ン グ制約 と 物理制約を別のフ ァ イルに保存する こ と をお勧め し ます。 ま た、 特定のモジ ュール用の制約 を別の フ ァ イ ルに保存する こ と も で き ます。 図2-1 「1 つの XDC フ ァ イ ルま たは複数の XDC フ ァ イ ル」 に、 プ ロ ジ ェ ク ト に制約セ ッ ト が 2 つ含まれてい る例を 示 し ます。 • 1 つ目の制約セ ッ ト には、 2 つの XDC フ ァ イ ルが含まれます。 • 2 つ目の制約セ ッ ト では、 すべての制約を含む XDC フ ァ イ ルを 1 つ使用 し ます。

(9)

非プ ロ ジ ェ ク ト フ ロー

非プ ロ ジ ェ ク ト フ ローで同 じ 結果を得る には、 コ ンパ イ ル コ マン ド を実行する 前に各フ ァ イ ルをそれぞれ読み込み ます。 次に、 合成お よ び イ ンプ リ メ ン テーシ ョ ンで複数の XDC フ ァ イ ルを使用する ス ク リ プ ト 例を示 し ます。

ス ク リ プ ト 例

read_verilog [glob src/*.v] read_xdc wave_gen_timing.xdc read_xdc wave_gen_pins.xdc synth_design –top wave_gen opt_design place_design route_design

合成ま たはイ ン プ リ メ ン テーシ ョ ン での制約フ ァ イルの使用

制約フ ァ イ ルは、 次の よ う に使用で き ます。 • 合成のみ • イ ンプ リ メ ン テーシ ョ ンのみ • 合成お よ び イ ンプ リ メ ン テーシ ョ ンの両方

X-Ref Target - Figure 2-1

(10)

制約の使用 japan.xilinx.com 10 UG903 (v2012.3) 2012 年 10 月 16 日 制約フ ァ イ ルのプ ロ パテ ィ を変更 し て、 その制約フ ァ イ ルを合成のみに使用す る か、 イ ンプ リ メ ン テーシ ョ ンのみに 使用する か、 両方に使用する かを指定 し ます。 制約フ ァ イ ルを イ ンプ リ メ ン テーシ ョ ンのみに使用する 場合は、 次の手順に従い ます。 1. [Sources] ビ ューで制約フ ァ イ ルを選択 し ます。

2. [Source File Properties] ビ ューで、 オプシ ョ ン を次の よ う に設定し ます。 a. [Synthesis] をオ フ

b. [Implementation] をオン 3. [Apply] を ク リ ッ ク し ます。

同等の Tcl コ マン ド は、 次の と お り です。

set_property used_in_synthesis false [get_files wave_gen_pins.xdc] set_property used_in_implementation true [get_files wave_gen_pins.xdc]

プ ロ ジ ェ ク ト な し で Vivado IDE を実行する 場合、 フ ローのどの段階の間で も 制約を直接読み込む こ と がで き ます。

X-Ref Target - Figure 2-2

(11)

次に、2 つの XDC フ ァ イ ルを読み込む Tcl ス ク リ プ ト 例を示 し ます。 read_verilog [glob src/*.v]

read_xdc wave_gen_timing.xdc

synth_design –top wave_gen –part xc7k325tffg900-2 read_xdc wave_gen_pins.xdc opt_design place_design route_design

制約の順序

XDC 制約は順に適用 さ れ、 規則に従っ て優先順位が付け ら れ る ので、 制約の順序を注意深 く 確認す る 必要があ り ま す。 詳細は、第6 章 「XDC の優先順位」 を参照 し て く だ さ い。 Vivado IDE では、 デザ イ ンの内部を詳細に確認で き ます。 制約を検証する には、 次の手順に従います。 1. 適切な レ ポー ト コ マン ド を実行 し ます。 2. [Tcl Console] ま たは [Messages] ビ ュ ー メ ッ セージ を確認し ます。

推奨 さ れる制約の順序

推奨: デザイ ンで XDC フ ァ イルを 1 つま たは複数使用する場合のどち ら で も、 制約を次の順序で指定し ます。 ## タ イ ミ ン グ アサーシ ョ ン セ ク シ ョ ン # プ ラ イ マ リ ク ロ ッ ク # 仮想 ク ロ ッ ク # 生成 ク ロ ッ ク # ク ロ ッ ク グループ # 入力お よ び出力遅延制約 ## タ イ ミ ン グ例外セ ク シ ョ ン # フ ォ ル ス パ ス # 最大遅延/最小遅延 # 複数サ イ ク ル パ ス # ケー ス 解析 # タ イ ミ ン グのデ ィ ス エーブル ## 物理制約セ ク シ ョ ン # フ ァ イ ルの ど こ に配置 し て も 可、 タ イ ミ ン グ解析の前か後が理想的 # ま たは別の XDC フ ァ イ ルに保存 まず ク ロ ッ ク 定義か ら 開始 し ます。 ク ロ ッ ク を作成 し ない と 、 ほかの制約で使用で き ません。 ク ロ ッ ク 定義の前に ク ロ ッ ク を参照す る と 、 エ ラ ーが発生 し 、 その制約は無視 さ れ ます。 こ れは、1 つの XDC フ ァ イ ル内であ っ て も 、 デ ザ イ ン内の複数の XDC フ ァ イ ルであ っ て も 同様です。 表 2-1 : 2 つの XDC フ ァ イルの読み込み フ ァ イル名 フ ァ イルを読み込む段階 制約が使用 さ れる段階 wave_gen_timing.xdc 合成前 • 合成 • イ ンプ リ メ ン テーシ ョ ン wave_gen_pins.xdc 合成後 • イ ンプ リ メ ン テーシ ョ ン

(12)

制約の使用 japan.xilinx.com 12 UG903 (v2012.3) 2012 年 10 月 16 日

XDC フ ァ イルの順序

XDC フ ァ イ ルの順序は重要です。 各フ ァ イ ル内の制約が、 ほかの フ ァ イ ル内の制約に依存 し ない よ う にす る 必要が あ り ます。 あ る フ ァ イ ル内の制約がほかの フ ァ イ ル内の制約に依存 し てい る 場合は、 依存す る 制約を含むフ ァ イ ルを 最後に読み込む必要があ り ます。2 つの制約フ ァ イ ルにお互いのフ ァ イ ル内にあ る制約に依存する制約が含まれてい る 場合は、 次のいずれかを実行 し ます。 • 2 つのフ ァ イ ルを 1 つにま と め、 制約を適切な順序に並べ替え ます。 • フ ァ イ ルを複数の フ ァ イ ルに分割 し 、 正 し い順序で読み込みます。

制約フ ァ イルの順序

プ ロ ジ ェ ク ト フ ローでは、制約は制約セ ッ ト に含まれます。 エ ラ ボ レー ト さ れたネ ッ ト リ ス ト ま たは合成済みネ ッ ト リ ス ト を開 く と 、 制約フ ァ イ ルは制約セ ッ ト に リ ス ト さ れた順序で読み込まれます。 こ れは、Vivado IDE の表示では 上か ら 下への順序にな り ます。 た と えば、9 ページの図 2-1 「1 つの XDC フ ァ イ ルま たは複数の XDC フ ァ イ ル」 で constr_1 に含まれる 2 つの XDC フ ァ イ ルは、 次の順序で読み込まれます。

読み込み順の変更

読み込み順を変更する には、 次の手順に従い ます。 1. 移動する XDC フ ァ イ ルを選択し ます。 2. XDC フ ァ イ ルを ド ラ ッ グ し て、 適切な位置に移動 し ます。 9 ページの図 2-1 「1 つの XDC フ ァ イ ルま たは複数の XDC フ ァ イ ル」 に示す例では、Tcl コ マン ド は次の よ う にな り ます。

reorder_files -fileset constrs_1 -before [get_files wave_gen_timing.xdc] \ [get_files wave_gen_pins.xdc] 非プ ロ ジ ェ ク ト フ ローでは、 read_xdc コ マン ド で呼び出す順序に よ り 制約フ ァ イ ルの順序が決定し ます。 制約フ ァ イ ルを含むネ イ テ ィ ブ IP を使用する 場合は、IP の XDC フ ァ イ ルはデザ イ ンのほかの XDC フ ァ イ ルの後に、 [IP Sources] タ ブに リ ス ト さ れる IP の順に読み込まれます。 た と えば、図2-3 「IP ソ ース の XDC フ ァ イ ル」 ではプ ロ ジ ェ ク ト IP の 1 つに XDC フ ァ イ ルが付属し てい ます。 表 2-2 : 制約フ ァ イルの順序 フ ァ イルの順序 フ ァ イル名 読み込み順 1 番目 wave_gen_timing.xdc 1 番目 2 番目 wave_gen_pins.xdc 2 番目

(13)

デザ イ ン を開 く と 、 ロ グ フ ァ イ ルに IP の XDC フ ァ イ ルが最後に読み込まれてい る こ と が示 さ れます。 Parsing XDC File [C:/project_wave_gen.srcs/constrs_2/wave_gen_all.xdc] INFO: [Timing 38-35] Done setting XDC timing

constraints.[C:/project_wave_gen.srcs/constrs_2/wave_gen_all.xdc:9] INFO: [Timing 38-2] Deriving generated clocks

[C:/project_wave_gen.srcs/constrs_2/wave_gen_all.xdc:9]

Finished Parsing XDC File [C:/project_wave_gen.srcs/constrs_2/wave_gen_all.xdc] Parsing XDC File [c:/project_wave_gen.srcs/sources_1/ip/clk_core/clk_core.xdc] for cell 'clk_gen_i0/clk_core_i0/inst'

Finished Parsing XDC File

[c:/project_wave_gen.srcs/sources_1/ip/clk_core/clk_core.xdc] for cell 'clk_gen_i0/clk_core_i0/inst' IP の XDC フ ァ イ ルの順序を直接変更する こ と はで き ません。 変更が必要な場合は、 次を実行 し ます。 1. IP の XDC フ ァ イ ルをデ ィ ス エーブルに し ます ([Properties] ビ ューで [Enabled] をオ フ)。 2. その フ ァ イ ルの内容を コ ピー し ます。 3. 制約セ ッ ト に含まれ る XDC フ ァ イ ルのいずれかに コ ピーし た内容を貼 り 付け ます。 4. コ ピー し た IP の XDC 制約で名前を完全な階層パス を含む も のに変更 し ます。

X-Ref Target - Figure 2-3

(14)

制約の使用 japan.xilinx.com 14 UG903 (v2012.3) 2012 年 10 月 16 日

制約の順序の編集

Vivado IDE では、 編集し た制約は XDC フ ァ イ ルの元の位置に保存 さ れます。 新 し い制約は、 ターゲ ッ ト と マー ク さ れた制約フ ァ イ ルの最後に追加 さ れます。 制約セ ッ ト に複数の XDC フ ァ イ ルが含まれてい る 場合、 通常ターゲ ッ ト 制約フ ァ イ ルは リ ス ト の最後の フ ァ イ ルではないので、 デザ イ ン を開いた と き ま たは読み込み直 し た と き に最後に読 み込まれ る わけではあ り ません。 そのため、 デ ィ ス ク に保存 さ れた制約の順序が メ モ リ 内での順序 と 異な っ て し ま う 可能性があ り ます。 重要: 制約フ ァ イルに保存さ れている最終的な順序が正しい こ と を確認する必要があ り ます。 順序を変更する必要が あ る 場合は、XDC フ ァ イ ルを直接編集 し ます。 こ れは、 特に タ イ ミ ン グ制約で重要です。

制約の入力

Vivado IDE では、 い く つかの方法で制約を入力で き ます。 テ キ ス ト エデ ィ ターで直接 XDC フ ァ イ ルを編集する場合 以外は、Vivado IDE の制約入力機能にア ク セ スする にはデザ イ ン データベース (エ ラ ボ レー ト 済み、 合成済み、 ま た は イ ンプ リ メ ン ト 済み) を開 く 必要があ り ます。

メ モ リ 内の制約の保存

編集中の制約を検証す る には、 メ モ リ 内にデザ イ ン が読み込ま れてい る こ と が必要です。Vivado IDE ユーザー イ ン タ ーフ ェ イ ス を使用 し て制約を編集する 場合は、Tcl コ ン ソ ールで同等の XDC コ マン ド が実行 さ れ、 メ モ リ 内に も 適 用 さ れます ([Timing Constraints] ビ ュ ーを除 く )。 合成ま たは イ ンプ リ メ ン テーシ ョ ン を実行す る 前に、 メ モ リ 内の制約を プ ロ ジ ェ ク ト の XDC フ ァ イ ルに保存する必 要があ り ます。Vivado IDE では、 制約の保存が必要な場合は メ ッ セージが表示 さ れます。 制約を手動で保存する には、 次のいずれかを実行 し ます。 • [Save Constraints] ボ タ ン を ク リ ッ ク し ます。

• [File] → [Save Constraints] を ク リ ッ ク し ます。

制約編集フ ロー

図2-4 「制約編集フ ロ ー」 に、 推奨 さ れ る制約編集フ ローを示し ます。 こ れ ら の フ ローを混合し ないで く だ さ い。 混 合する と 、 制約が失われ る 可能性があ り ます。 推奨 さ れ る フ ロ ーは、 次の と お り です。 • ユーザー イ ン ターフ ェ イ ス を使用 • 手動で編集

ユーザー イ ン タ ー フ ェ イ ス を使用

制約は Vivado IDE で管理 さ れる ので、 XDC フ ァ イ ルを同時に編集し ないで く だ さ い。 Vivado IDE で メ モ リ の内容を 保存する と 、 制約は次の よ う に保存 さ れます。

• 変更 さ れた制約は、 元の フ ァ イ ルの元の制約に上書き さ れます。

• 新 し い制約は、 タ ーゲ ッ ト と マー ク さ れた制約フ ァ イ ルの最後に追加 さ れます。

(15)

手動で編集

制約を手動で編集する 場合、 ユーザーが XDC フ ァ イ ルを変更および管理 し ます。 Tcl コ ン ソ ールを使用し て制約の構 文を確認する こ と はで き ますが、 デザ イ ン を閉 じ た り 読み込み直 し た り する と 、 メ モ リ 内の変更は破棄 さ れます。 制約を保存する と き に競合があ る 場合は、 次のいずれかを選択する よ う メ ッ セージが表示 さ れます。 • メ モ リ 内の変更を破棄 • 変更を新 し い フ ァ イ ルに保存 • XDC フ ァ イ ルを上書き 制約の作成は反復作業にな り ます。 一部に イ ン タ ーフ ェ イ ス機能を使用 し 、 ほかの部分は制約フ ァ イ ルを手動で変更 する こ と も 可能です。 図2-4 「制約編集フ ロ ー」 に示すフ ロ ーを実行す る と き に、 同時に両方の フ ロ ーを使用 し ないで く だ さ い。 2 つのフ ローを切 り 替えて使用する 場合は、 まず制約を保存する かデザ イ ン を読み込み直 し、 メ モ リ 内の制約が XDC フ ァ イ ル と 一致する よ う に し ます。

X-Ref Target - Figure 2-4

図 2-4 : 制約編集フ ロー 䝕䝄䜲䞁䜢䝯䝰䝸䛻ㄞ䜏㎸䜐 9LYDGR 䝕䞊䝍䝧䞊䝇 䝕䝄䜲䞁䜢ゎᯒ >6FKHPDWLFV@>'HYLFH@ >5HSRUWV@䝡䝳䞊 ไ⣙䛾ኚ᭦㻌 䛜ᚲせ䛛" 9LYDGR,'( >'HYLFH@>3K\VLFDO &RQVWUDLQWV@>7LPLQJ&RQVWUDLQWV@ 䝡䝳䞊䛺䛹 䜎䛯䛿7FO 䝁䞁䝋䞊䝹䜢 ౑⏝  䝔䜻䝇䝖㻌䜶䝕䜱䝍䞊䛷 ;'&䝣䜯䜲䝹䜢⦅㞟 ;'&䝣䜯䜲䝹䜢ಖᏑ 䝕䝄䜲䞁䜢෌ㄞ䜏㎸䜏 䝕䝄䜲䞁䜢㛢䛨䜛䝁䞁䝟䜲䝹䜢ᐇ⾜ *8,ኚ᭦䜢;'&䝣䜯䜲䝹 ᪂つ䜎䛯䛿᪤Ꮡ 䛻ಖᏑ ᡭືఱ䜒䛧䛺䛔㻌 䜎䛯䛿ኚ᭦䜢◚Რ 12 <(6 *8,䜢౑⏝ <(6 ᡭື䛷⦅㞟 ;

(16)

制約の使用 japan.xilinx.com 16 UG903 (v2012.3) 2012 年 10 月 16 日

ピ ン割 り 当て

最上位ポー ト を作成お よ び既存の配置を変更する には、 次の手順に従い ます。 1. [I/O Planning] レ イ ア ウ ト を選択し ます。 2. 次の表に示すビ ュ ーを使用 し て、 ポー ト を作成ま たは変更 し ます。

ピ ン割 り 当ての詳細は、付録A 「その他の リ ソ ース」 の リ ス ト か ら 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) を参照 し て く だ さ い。

ク ロ ッ ク リ ソ ースの割 り 当て

ク ロ ッ ク ツ リ ーの配置を表示および変更する には、 次の手順に従い ます。 1. [Clock Planning] レ イ ア ウ ト を選択し ます。

2. 次の表に示すビ ュ ーを使用 し て、 ク ロ ッ ク リ ソ ース を表示ま たは変更 し ます。

ク ロ ッ ク リ ソ ース割 り 当ての詳細は、付録A 「その他の リ ソ ース」 の リ ス ト か ら 『Vivado Design Suite ユーザー ガ イ ド : I/O および ク ロ ッ ク の配置』 (UG899) を参照し て く だ さ い。

表 2-3 : 最上位ポー ト を作成および既存の配置を変更するのに使用する ビ ュ ー

ビ ュ ー 機能

Device デバ イ ス フ ロ アプ ラ ンでポー ト の位置を表示および変更し ます。

Package デバ イ ス パ ッ ケージでポー ト の位置を表示および変更し ます。

I/O Ports ポー ト を選択 し て [Device] ま たは [Package] ビ ューに ド ラ ッ グ ア ン ド ド ロ ッ プ し て配置 し た り 、 各ポー ト の現在の割 り 当て を表示 し ます。

Package Pins 各 I/O バン ク の リ ソ ース の使用状況を表示し ます。

表 2-4 : ク ロ ッ ク ツ リ ーの配置を表示および変更するのに使用する ビ ュ ー

ビ ュ ー 機能

Clock Resources • アーキテ ク チ ャ で ク ロ ッ ク リ ソ ース間の接続を表示 し ます。

• ク ロ ッ ク ツ リ ー セルの現在の位置を表示 し ます。

Netlist • [Netlist] ビ ューで ク ロ ッ ク リ ソ ース を選択 し、[Clock Resources] ま たは [Device] ビ ュー に ド ラ ッ グ ア ン ド ド ロ ッ プ し ます。

(17)

フ ロ ア プ ラ ン

Pblock を作成および変更する には、 次の手順に従い ます。 1. [Floorplanning] レ イ ア ウ ト を選択し ます。 2. 次の表に示すビ ュ ーを使用 し て、Pblock を作成ま たは変更 し ます。 特定の BEL ま たはサ イ ト にセル配置制約を作成する には、 次の手順に従い ます。 1. [Netlist] ビ ューでセルを選択し ます。 2. セルを ド ラ ッ グ し て [Device] ビ ューの適切な位置に配置し ます。

フ ロ アプ ラ ンの詳細は、付録A 「その他の リ ソ ース」 の リ ス ト か ら 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン 解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) を参照し て く だ さ い。

タ イ ミ ング制約

[Timing Constraints] ビ ューは、合成済みデザ イ ンお よび イ ンプ リ メ ン ト 済みデザ イ ンでのみ使用可能です。エ ラ ボ レー

ト さ れたデザ イ ンの制約については、「合成制約の作成」 を参照 し て く だ さ い。

[Timing Constraints] ビ ューを開 く には、図2-5 に示す 3 つのオプシ ョ ンのいずれかを使用 し ます。 • [Window] → [Timing Constraints] を ク リ ッ ク し ます。

• Flow Navigator で [Synthesis] → [Synthesized Design] → [Edit Timing Constraints] を ク リ ッ ク し ます。 • Flow Navigator で [Implementation] → [Implemented Design] → [Edit Timing Constraints] を ク リ ッ ク し ます。 表 2-5 : Pblock を作成および変更するのに使用する ビ ュー

ビ ュ ー 機能

Netlist Pblock に割 り 当て る セルを選択 し ます。

Physical Constraints 既存の Pblock と そのプ ロ パテ ィ を確認し ます。

Device デバ イ ス上の Pblock の形状 と 場所を作成および変更し ます。

X-Ref Target - Figure 2-5

(18)

制約の使用 japan.xilinx.com 18 UG903 (v2012.3) 2012 年 10 月 16 日 [Timing Constraints] ビ ューには、 メ モ リ 内の タ イ ミ ン グ制約が次のいずれかの順に表示 さ れます。 • XDC フ ァ イ ルで記述 さ れてい る の と 同 じ順序 • [Tcl Console] ビ ューで入力し たの と 同じ 順序

制約の表

[Timing Constraint] ビ ューには、 既存の制約の詳細が表形式で示 さ れます。 こ の表を利用 し て、 制約オプシ ョ ン を確認 お よ び変更 し ます。 制約の作成にはダ イ ア ロ グ ボ ッ ク ス を使用する こ と をお勧め し ますが、 表の右側にあ る [+] ボ タ ン を ク リ ッ ク し て、 表に表示 さ れてい る 制約 と 同 じ タ イ プの制約を作成で き ます。 表に新 し い行が追加 さ れ、 各オプシ ョ ンの値を入力で き る よ う にな り ます。 新 し く 追加 し た制約が制約の最後に追加 さ れてい る かど う かは、[Position] 列の番号で確認で き ます。 新 し く 追加 し た制約は [Apply] を ク リ ッ ク する と 検証 さ れ、 メ モ リ 内のデザ イ ンに適用 さ れます。 [Apply] を ク リ ッ ク する と 、 次の よ う にな り ます。 • 適用する 前に メ モ リ 内の タ イ ミ ン グ制約が リ セ ッ ト さ れます。 • 制約は XDC フ ァ イ ルには保存 さ れません。

制約の作成 (カ テ ゴ リ 別)

[Timing Constraints] ビ ューの左上のペ イ ンで制約のカ テ ゴ リ を選択する と 、 右側のペ イ ンにそのカテ ゴ リ の制約の表 が表示 さ れます。 制約を作成す る には、 カ テ ゴ リ 名を ダブル ク リ ッ ク し ます。 各オプシ ョ ンの値を指定す る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 ダ イ ア ロ グ ボ ッ ク ス で [OK] を ク リ ッ ク する と 、 次の よ う にな り ます。 1. 構文が検証 さ れます。 2. 制約が メ モ リ に適用 さ れます。 3. 新 し い制約が表の最後に追加 さ れます。 4. 新 し い制約が全制約の リ ス ト の最後に追加 さ れます。

(19)

すべての制約

[Timing Constraints] ビ ューの下部には、 メ モ リ に読み込まれている全制約の リ ス ト が適用さ れてい る順に表示さ れます。

• 制約を削除する には、 その制約を選択 し て [X] を ク リ ッ ク し ます。

• 表で制約を変更 し 、 再適用 し ます。

[Tcl Console] ビ ュ ーで有効な タ イ ミ ン グ制約を入力す る と 、 [Timing Constraints] ビ ュ ーの全制約の リ ス ト の最後にす ぐ に追加 さ れます。

[Timing Constraints] ビ ュ ーの表で新 し い制約を追加 し た り 変更 し た り す る と 、 その制約は [Apply] を ク リ ッ ク す る ま で メ モ リ に適用 さ れません。

注意: [Timing Constraints] ビ ューの表に適用されていない制約があ る と き に、[Tcl Console] ビ ューで新し い制約を入力

し ないで く だ さ い。[Timing Constraints] ビ ュ ーの リ ス ト での制約の順序 と メ モ リ での制約の順序が異な る も のにな る 可能性があ り ます。 混乱を避け る ため、 制約を追加 し た り 変更 し た ら 、 必ずすべての制約を適用 し 直す よ う に し て く だ さ い。

制約は頻繁に保存 し て く だ さ い。 制約を保存す る には、 ツールバーの [Save Constraints] を ク リ ッ ク す る か、 ま たは

[File] → [Save Constraints] を ク リ ッ ク し ます。 X-Ref Target - Figure 2-6

(20)

制約の使用 japan.xilinx.com 20 UG903 (v2012.3) 2012 年 10 月 16 日

XDC テ ン プ レー ト

XDC テ ンプ レー ト には、 [Language Templates] ビ ューか ら ア ク セ ス で き ます。

XDC テ ン プ レ ー ト の内容

XDC テ ンプ レー ト には、 次が含まれます。 • 次の よ う な よ く 使用 さ れ る タ イ ミ ン グ制約 ° ク ロ ッ ク 定義 ° ジ ッ タ ー ° 入力/出力遅延 ° 例外 • 物理制約 • コ ン フ ィ ギ ュ レーシ ョ ン制約

XDC テ ン プ レ ー ト の使用

XDC テ ンプ レー ト を使用する には、 次の手順に従い ます。 1. 使用する テ ンプ レー ト を選択 し ます。 2. [Preview] セ ク シ ョ ンに表示 さ れる テ キ ス ト を コ ピーし ます。 3. XDC フ ァ イ ルにテ キ ス ト を貼 り 付け ます。 4. 汎用文字列をデザ イ ンの実際の名前ま たは値に置き 換え ます。

ア ド バン ス XDC テ ン プ レー ト

シ ス テ ム同期お よ び ソ ース同期 I/O 遅延制約な どのア ド バン ス制約では、 Tcl 変数を使用 し てデザ イ ン要件を取得 し、 set_input_delay および set_output_delay 制約で使用し ます。 デフ ォル ト 値ではな く 必要な値が代入 さ れてい る こ と を確認 し て く だ さ い。

(21)

合成制約の作成

Vivado IDE 合成エ ン ジ ンでは、 デザ イ ンの RTL 記述がテ ク ノ ロ ジにマ ッ プ さ れたネ ッ ト リ ス ト に変換 さ れます。 こ のプ ロ セ ス は複数の段階で実行 さ れ、 多数の タ イ ミ ン グ ド リ ブン最適化が含まれます。 ザ イ リ ン ク ス FPGA デバ イ ス には、 さ ま ざ ま な方法で使用可能な ロ ジ ッ ク 機能が多数含まれてい ます。 イ ンプ リ メ ン テーシ ョ ンの最後にすべてのデザ イ ン要件が満た さ れ る よ う にする ため、 制約を使用 し て合成エン ジ ンに指示を与え る 必要があ り ます。 Vivado IDE 合成の制約には、 次の 3 種類があ り ます。 • RTL 属性 • タ イ ミ ン グ制約 • 物理制約お よ びコ ン フ ィ ギ ュ レーシ ョ ン制約

X-Ref Target - Figure 2-7

(22)

制約の使用 japan.xilinx.com 22 UG903 (v2012.3) 2012 年 10 月 16 日

RTL 属性

RTL 属性は RTL フ ァ イ ルに記述する 必要があ り ます。RTL 属性では通常、 ロ ジ ッ ク の特定の部分のマ ッ プ ス タ イ ル、 レ ジ ス タ やネ ッ ト な ど の保持、 最終的なネ ッ ト リ ス ト のデザ イ ン階層の制御な ど を指定 し ます。

詳細は、付録A 「その他の リ ソ ース」 の リ ス ト か ら 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) を参照し て く だ さ い。

ネ ッ ト リ ス ト オブジ ェ ク ト のプ ロ パテ ィ と し て XDC フ ァ イ ルで設定で き る のは、 DONT_TOUCH 属性のみです。

DONT_TOUCH 属性の例

set_property DONT_TOUCH true [get_cells fsm_reg]

タ イ ミ ング制約

タ イ ミ ン グ制約は、XDC フ ァ イ ルで合成エ ン ジ ンに渡す必要があ り ます。 セ ッ ト ア ッ プ解析に関す る 次の制約のみ が、 合成結果に影響 し ます。 • create_clock • create_generated_clock • set_input_delay • set_output_delay • set_clock_groups • set_false_path • set_max_delay • set_multicycle_path

物理制約および コ ン フ ィ ギ ュ レーシ ョ ン制約

物理制約お よ びコ ン フ ィ ギ ュ レーシ ョ ン制約は、 合成アルゴ リ ズ ムでは無視 さ れます。

RTL ベースの XDC

推奨: 合成 XDC の最初のバージ ョ ン を作成する と きは、 高レベルのデザ イ ン要件を記述する単純な タ イ ミ ン グ制約 を使用 し て く だ さ い。 フ ロ ーの こ の段階では、 ネ ッ ト 遅延のモデ リ ン グは正確ではあ り ま せん。 こ の時点での主な目的は、 イ ン プ リ メ ン テーシ ョ ン を開始する 前に、 タ イ ミ ン グ を満たすか、 タ イ ミ ン グが少 し の差で満た さ れていない合成済みネ ッ ト リ ス ト を得る こ と です。 多 く の場合、 こ の状態を達成する には XDC および RTL を何回か修正する 必要があ り ます。 図2-8 「エ ラ ボ レー ト さ れたデザ イ ンでの制約の作成」 に、RTL ベース の XDC の作成手順を示 し ます。 エ ラ ボ レー ト さ れたデザ イ ン を使用 し て、 合成用に制約する デザ イ ンのオブジ ェ ク ト 名を見つけ ます。 XDC フ ァ イ ルを保存する前に、[Tcl Console] ビ ュ ーを使用し て XDC コ マン ド の構文を確認 し て く だ さ い。エ ラ ボ レー ト さ れたネ ッ ト リ ス ト では、 タ イ ミ ン グ レ ポー ト はサポー ト さ れてい ません。

(23)

合成用の制約を記述する 際に確実に使用で き る デザ イ ン オブジ ェ ク ト は、 次の と お り です。 • 最上位ポー ト • 手動で イ ン ス タ ン シエー ト さ れたプ リ ミ テ ィ ブ (セルおよびピ ン) エ ラ ボ レー ト さ れたデザ イ ンの作成時に、 一部の RTL 名が変更 さ れた り 失われた り し ます。 こ れが よ く 発生する の は、 次の名前です。 • 1 ビ ッ ト レ ジ ス タ の名前 • 複数ビ ッ ト レ ジ ス タ の名前 • 吸収 さ れ る レ ジ ス タ お よ びネ ッ ト • 階層名

X-Ref Target - Figure 2-8

図 2-8 : エ ラ ボレー ト さ れたデザイ ンでの制約の作成 57/䝋䞊䝇㻌䝣䜯䜲䝹 9LYDGR 䝕䞊䝍䝧䞊䝇 䜶䝷䝪䝺䞊䝖῭䜏 䝕䝄䜲䞁ෆ䛾ྡ๓䜢䜽䜶䝸 7FO 䝁䞁䝋䞊䝹䛷;'&ᵓᩥ䜢᳨ド ᵓᩥ䛜㐺ษ䛛" 㐺ษ䛺;'&䝁䝬䞁䝗䜢㻌7FO 䝁䞁䝋䞊䝹 䛛䜙;'&䝣䜯䜲䝹䛻䝁䝢䞊 䜶䝷䝪䝺䞊䝖䛥䜜䛯䝕䝄䜲䞁䜢 㛤䛟䜎䛯䛿෌ㄞ䜏㎸䜏 ;'&䝣䜯䜲䝹 <(6 12 ;

(24)

制約の使用 japan.xilinx.com 24 UG903 (v2012.3) 2012 年 10 月 16 日

1 ビ ッ ト レ ジ ス タ の名前

デフ ォル ト では、RTL 名の後に _reg が付いた名前にな り ます。

VHDL での 1 ビ ッ ト レ ジ ス タ 名の例

signal wbDataForInputReg : std_logic;

Verilog での 1 ビ ッ ト レ ジ ス タ 名の例

reg wbDataForInputReg;

エ ラ ボ レ ー ト さ れたデザイ ン での 1 ビ ッ ト レ ジ ス タ 名の例

wbDataForInputReg_reg 図2-9 「エ ラ ボ レー ト さ れたデザ イ ン での 1 ビ ッ ト レ ジ ス タ」 に、 ピ ン を含むレ ジ ス タ の回路図を示し ます。 必要で あれば、XDC コ マン ド で レ ジ ス タ のピ ン を参照する こ と も 可能です。

複数ビ ッ ト レ ジス タ の名前

デフ ォル ト では、RTL 名の後に _reg が付いた名前にな り ます。 エ ラ ボ レー ト さ れたデザ イ ンで ク エ リ で き ない場合 で も 、XDC 制約で個々のビ ッ ト 参照で き ます。

VHDL での複数ビ ッ ト レ ジ ス タ 名の例

signal validForEgressFifo : std_logic_vector(13 downto 0);

Verilog での複数ビ ッ ト レ ジ ス タ 名の例

reg [13:0] validForEgressFifo;

エ ラ ボ レ ー ト さ れたデザイ ン での複数ビ ッ ト レ ジス タ 名の例

validForEgressFifo_reg 図2-10 「エ ラ ボ レー ト さ れたデザ イ ンでの複数ビ ッ ト レ ジ ス タ」 に、 レ ジ ス タ の回路図を示 し ます。 ピ ンは、 見や す く する ためベ ク タ ー と し て表示 さ れます。 X-Ref Target - Figure 2-9

(25)

各レ ジ ス タ を個別に制約する か、 次の名前を使用 し て グループ と し て制約で き ます。 • レ ジ ス タ ビ ッ ト 0 のみ validForEgressFifo[0] • すべての レ ジ ス タ ビ ッ ト validForEgressFifo[*] 上記の名前は合成後のネ ッ ト リ ス ト での名前 と も 一致する ので、 こ れ ら に対 し て設定 さ れた制約は通常 イ ンプ リ メ ン テーシ ョ ンで も 機能 し ます。

吸収 さ れる レ ジ ス タ およ びネ ッ ト

RTL ソ ース にあ る レ ジ ス タやネ ッ ト の一部が、 さ ま ざ ま な理由に よ り RTL デザ イ ン (ま たは合成済みデザ イ ン) か ら な く な っ て し ま う こ と があ り ます。 た と えば、 メ モ リ ブ ロ ッ ク 、 DSP、 シ フ ト レ ジ ス タ の推論では、 複数のデザ イ ン オブジ ェ ク ト を 1 つの リ ソ ース に配置する こ と が必要 と な り ます。こ れ ら のオブジ ェ ク ト を使用し て制約を定義す る 場合は、 接続 さ れてい る 別の レ ジ ス タ やネ ッ ト を使用で き る か検討 し てみて く だ さ い。

階層名

Vivado 合成でデザ イ ンの階層を完全に保持する よ う 指定 し ない場合、合成中に一部ま たはすべての階層がフ ラ ッ ト 化 さ れます。 詳細は、付録A 「その他の リ ソ ース」 の リ ス ト か ら 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) を参照 し て く だ さ い。 推奨: 合成制約には、 完全に解決 さ れた階層名を使用し て く だ さ い。 その よ う にする と 、 階層の変換にかかわ らず、 最終的なネ ッ ト リ ス ト 名 と 一致する 可能性が高 く な り ます。 た と えば、 デザ イ ンのサブ レベルに次の よ う な レ ジ ス タ があ る と し ます。

RTL のデザイ ン例

inst_A/inst_B/control_reg 合成中、 こ の レ ジ ス タ に特別な最適化は実行 さ れない と す る と 、 ツール オプシ ョ ンで フ ラ ッ ト ネ ッ ト リ ス ト ま たは 階層ネ ッ ト リ ス ト の ど ち ら が指定 さ れてい る かに よ っ て、 フ ラ ッ ト 名ま たは階層名が得 ら れます。

フ ラ ッ ト ネ ッ ト リ ス ト の例

inst_A/inst_B/control_reg (F)

階層ネ ッ ト リ ス ト の例

inst_A/inst_B/control_reg (H) X-Ref Target - Figure 2-10

(26)

制約の使用 japan.xilinx.com 26 UG903 (v2012.3) 2012 年 10 月 16 日

フ ラ ッ ト 化 さ れた階層レベルを示すのに も ス ラ ッ シ ュ (/) が使用 さ れる ので、 明 ら かな違いはあ り ません。 メ モ リ 内 のオブジ ェ ク ト を ク エ リ する 際に、 違いがはっ き り し ます。 次の コ マ ン ド では、F のネ ッ ト リ ス ト オブジ ェ ク ト が返 さ れ、H のネ ッ ト リ ス ト オブジ ェ ク ト は返 さ れません。

% get_cells –hierarchical *inst_B/control_reg % get_cells inst_A*control_reg 階層名の問題を回避する ため、 次の よ う にする こ と をお勧め し ます。 • get_* コ マン ド を -hierarchical オプシ ョ ンな し で使用し ます。 • RTL デザ イ ンに表示 さ れるすべての階層レベルを / を使用し て示し ます。

階層オプ シ ョ ン を使用 し ない例

次の コ マ ン ド は、 フ ラ ッ ト ネ ッ ト リ ス ト と 階層ネ ッ ト リ ス ト のど ち ら で も 機能し ます。 % get_cells inst_A/inst_B/*_reg % get_cells inst_*/inst_B/control_reg 注意: 階層セルで も同様に、合成を実行する と きに階層ピ ンに制約を設定し ないで く だ さ い。ま た、組み合わせロ ジ ッ ク の演算子を接続す る ネ ッ ト に制約を設定 し ないで く だ さ い。 こ れ ら は LUT に結合 さ れ、 ネ ッ ト リ ス ト か ら な く な る 可能性があ り ます。 推奨: 制約を変更し た ら XDC フ ァ イルを保存し、 エ ラ ボ レー ト されたデザ イ ン を読み込み直し て、 メ モ リ 内の制約 と XDC フ ァ イ ルの制約が一致する よ う に し て く だ さ い。 合成後に、 メ モ リ 内の同 じ合成 XDC を使用し て合成済みデ

ザ イ ン を読み込み、[Report Timing Summary] を使用し て タ イ ミ ン グ解析を実行し ます。

詳細は、付録A 「その他の リ ソ ース 」 の リ ス ト か ら 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) を参照し て く だ さ い。 合成に よ り デザ イ ンが変換 さ れてい る ため、 合成前の制約の一部は正 し く 適用 さ れない可能性があ り ます。 こ の問題 を解決する には、 次を実行 し ます。 1. 合成済みネ ッ ト リ ス ト に適用する 新 し い XDC 構文を見つけ ます。 2. イ ンプ リ メ ン テーシ ョ ンのみに使用する 制約を新 し い XDC フ ァ イ ルに保存 し ます。 3. 合成のみに使用する 合成制約を別の XDC フ ァ イ ルに移動し ます。

イ ン プ リ メ ン テーシ ョ ン制約の作成

合成済みネ ッ ト リ ス ト が生成 さ れた ら 、 イ ンプ リ メ ン テーシ ョ ンに適用す る XDC フ ァ イ ル と 共に メ モ リ に読み込み ます。 次の目的で タ イ ミ ン グ解析を実行で き ます。 • タ イ ミ ン グ制約を ネ ッ ト リ ス ト の名前で修正 し 、 イ ンプ リ メ ン テーシ ョ ンのみの XDC フ ァ イ ルに保存 • 非同期お よ び排他的な ク ロ ッ ク グループな どの欠けてい る制約を追加 • 複数サ イ ク ル パスや最大遅延制約な どの タ イ ミ ン グの例外を追加 • パ ス が長いために違反が大き く な っ てい る も の を特定 し 、RTL 記述を修正 合成に使用 し たの と 同 じ 基本制約を 使用 し 、 イ ン プ リ メ ン テーシ ョ ン特定の新 し い制約 を 保存す る 2 つ目の XDC フ ァ イ ルを作成で き ます。 物理制約お よ び コ ン フ ィ ギ ュ レーシ ョ ン制約を別の XDC フ ァ イ ルに保存する こ と も 可能 です。

(27)

図2-11 に、 ネ ッ ト リ ス ト ベース の XDC の作成手順を示し ます。 イ ン プ リ メ ン テーシ ョ ン に進む前に、 大 き な タ イ ミ ン グ違反がない こ と を確認す る 必要が あ り ま す。 イ ン プ リ メ ン テーシ ョ ンでは、最 も ク リ テ ィ カルなパ ス のセルがお互いに近 く に配置 さ れ、最速の配線 リ ソ ース が使用 さ れますが、 大き い違反は解決で き ません。 推奨: RTL を再確認し て、 違反のあ るパスの ロ ジ ッ ク レベル数を削減し た り 、 ク ロ ッ ク ツ リ ーを簡潔に し て専用 ク ロ ッ ク リ ソ ース が使用 さ れる よ う に し て、関連する ク ロ ッ ク 間のス キ ュ ーを最小限に抑え る よ う に し て く だ さ い。合 成属性を追加 し た り 、 異な る 合成オプシ ョ ン を使用する こ と も 可能です。

詳細は、付録A 「その他の リ ソ ース」 の リ ス ト か ら 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) を参照し て く だ さ い

X-Ref Target - Figure 2-11

図 2-11 : 合成済みデザイ ン での制約の作成 ྜᡂ῭䜏䝛䝑䝖䝸䝇䝖 9LYDGR 䝕䞊䝍䝧䞊䝇 9LYDGR,'(䜎䛯䛿7FO 䝁䞁䝋䞊䝹䜢 ౑⏝䛧䛶᪂䛧䛔ไ⣙䜢ධຊ  䝍䜲䝭䞁䜾䛜 㐺ษ䛛" ྜᡂ῭䜏䝕䝄䜲䞁䜢 㛤䛟䜎䛯䛿෌ㄞ䜏㎸䜏 䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁;'&䝣䜯䜲䝹 12 㐺ษ䛺ไ⣙ 12 ไ⣙䛾㏣ຍ䛜ᚲせ 57/䝕䝄䜲䞁䜢ಟṇ ྜᡂᒓᛶ䜢㏣ຍ ␗䛺䜛ྜᡂ䜸䝥䝅䝵䞁䜢౑⏝  ไ⣙䜢ಖᏑ 䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁䜢ᐇ⾜ <(6 9

(28)

制約の使用 japan.xilinx.com 28 UG903 (v2012.3) 2012 年 10 月 16 日

タ イ ミ ング解析

デザ イ ンに タ イ ミ ン グ制約を追加する 前に、 タ イ ミ ン グ解析の基本 と 用語を理解 し てお く 必要があ り ます。 こ の章で は、Vivado™ 統合設計環境 (IDE) の タ イ ミ ン グ エンジ ンで使用 さ れる 主要な概念を説明し ます。

タ イ ミ ン グ パス

タ イ ミ ン グ パス は、 デザ イ ンの イ ン ス タ ン ス間の接続に基づいて定義 さ れます。 デジ タ ル デザ イ ンでは、 タ イ ミ ン グ パスは同 じ ク ロ ッ ク ま たは異な る ク ロ ッ ク で制御 さ れる順次エ レ メ ン ト のペアで形成 さ れます。

一般的な タ イ ミ ング パス

デザ イ ンに含まれ る 最 も 一般的なパ ス は、 次の と お り です。 • 入力ポー ト か ら 内部シーケ ン シ ャ ル セルまでのパス • シーケ ン シ ャ ル セル間の内部パス • 内部シーケ ン シ ャ ル セルか ら 出力ポー ト までのパス • 入力ポー ト か ら 出力ポー ト ま でのパ ス

入力ポー ト か ら 内部シーケ ン シ ャ ル セルまでのパス

入力ポー ト か ら 内部シーケ ン シ ャ ル セルまでのパス では、 データ が次の よ う に伝搬 さ れます。 • デバ イ ス の外部か ら ポー ト ク ロ ッ ク に よ り 入力 さ れます。 • 入力遅延 (SDC 定義) 後にデバ イ ス ポー ト に到達し ます。 • デバ イ スの内部ロ ジ ッ ク を介し て、 デス テ ィ ネーシ ョ ン ク ロ ッ ク が供給さ れる シーケ ンシ ャル セルに到達し ます。

シーケ ン シ ャ ル セル間の内部パス

シーケ ン シ ャ ル セル間の内部パス では、 データ が次の よ う に伝搬 さ れます。 • デバ イ ス内で ソ ース ク ロ ッ ク が供給 さ れる シーケ ン シ ャ ル セルか ら 駆動 さ れます。 • 内部 ロ ジ ッ ク を介 し て、 デス テ ィ ネーシ ョ ン ク ロ ッ ク が供給 さ れる シーケ ン シ ャ ル セルに到達し ます。

内部シーケ ン シ ャ ル セルから出力ポー ト までのパス

内部シーケ ン シ ャ ル セルか ら 出力ポー ト までのパス では、 データ が次の よ う に伝搬 さ れます。 • デバ イ ス内で ソ ース ク ロ ッ ク が供給 さ れる シーケ ン シ ャ ル セルか ら 駆動 さ れます。 • 内部 ロ ジ ッ ク を介 し て出力ポー ト に到達 し ます。 • 出力遅延 (SDC 定義) 後にポー ト ク ロ ッ ク に よ り 受信 さ れます。

(29)

入力ポー ト か ら 出力ポー ト ま でのパス

入力ポー ト か ら 出力ポー ト ま でのパ ス では、 デー タ が入力ポー ト か ら デバ イ ス内で ラ ッ チ さ れ る こ と な く 出力ポー ト に伝搬 さ れます。 こ れ ら のパ ス は、 通常 in-to-out デー タ パス と 呼ばれます。 ポー ト ク ロ ッ ク と し ては、 仮想 ク ロ ッ ク ま たはデザ イ ン ク ロ ッ ク を使用で き ます。

パスの例

図3-1 に、こ の例では、デザ イ ン ク ロ ッ ク CLK0 を DIN および DOUT 遅延制約のポー ト ク ロ ッ ク と し て使用で き ます。

タ イ ミ ング パスのセ ク シ ョ ン

各 タ イ ミ ン グ パスは、 次の 3 つのセ ク シ ョ ンか ら 構成 さ れます。 • ソ ース ク ロ ッ ク パス • デー タ パス • デス テ ィ ネーシ ョ ン ク ロ ッ ク パス

ソ ース ク ロ ッ ク パス

ソ ース ク ロ ッ ク パスは、 ソ ース ク ロ ッ ク が ソ ース ポ イ ン ト (通常は入力ポー ト ) か ら ソ ース シーケ ン シ ャ ル セルの ク ロ ッ ク ピ ン まで伝搬 さ れる パス です。 入力ポー ト か ら 開始する タ イ ミ ン グ パス には、 ソ ース ク ロ ッ ク パスはあ り ません。

デー タ パス

内部回路では、デー タ パスは ソ ース シーケ ンシ ャル セル と デス テ ィ ネーシ ョ ン シーケ ンシ ャル セルの間のパス です。 • ソ ース シーケ ン シ ャ ル セルのア ク テ ィ ブ ク ロ ッ ク ピ ンは、 パス の開始点 と 呼ばれます。 • デス テ ィ ネーシ ョ ン シーケ ン シ ャ ル セルのデータ入力ピ ンは、 パス の終点 と 呼ばれます。 入力ポー ト パス では、 データ パスは入力ポー ト か ら 開始し ます。 入力ポー ト がパス の開始点 と な り ます。 出力ポー ト パス では、 データ パスは出力ポー ト で終了し ます。 出力ポー ト がパス の終点 と な り ます。

X-Ref Target - Figure 3-1

図 3-1 : パスの例 Z'  Y Z'  Y dƐĞƚƵƉ dŚŽůĚ ><Ϭ ŽĂƌĚ ĞǀŝĐĞ  Y /E Khd  Y WŽƌƚůŽĐŬ

&W's/

h&' /ŶƉƵƚ ĞůĂLJ KƵƚƉƵƚ ĞůĂLJ ĂƚĂWĂƚŚĞůĂLJ /ŶƚĞƌŶĂůĞůĂLJ /ŶƚĞƌŶĂůĞůĂLJ dĐůŬͲY dƐĞƚƵƉ dŚŽůĚ WŽƌƚůŽĐŬ dĐůŬͲY /ŶͲϮͲKƵƚĂƚĂWĂƚŚ ŽĂƌĚ ĞǀŝĐĞ

(30)

制約の使用 japan.xilinx.com 30 UG903 (v2012.3) 2012 年 10 月 16 日

デス テ ィ ネーシ ョ ン ク ロ ッ ク パス

デス テ ィ ネーシ ョ ン ク ロ ッ ク パスは、デス テ ィ ネーシ ョ ン ク ロ ッ ク が ソ ース ポ イ ン ト (通常は入力ポー ト ) か ら デス テ ィ ネーシ ョ ン シーケ ン シ ャ ル セルの ク ロ ッ ク ピ ン ま で伝搬 さ れ る パス です。 出力ポー ト で終了する タ イ ミ ン グ パス には、 デス テ ィ ネーシ ョ ン ク ロ ッ ク パスはあ り ません。 図3-2 に、 典型的な タ イ ミ ン グ パス の こ れ ら 3 つのセ ク シ ョ ン を示し ます。

セ ッ ト ア ッ プお よびホール ド 解析

Vivado IDE では、 タ イ ミ ン グ パ ス の終点の ス ラ ッ ク が解析およ びレ ポー ト さ れます。 ス ラ ッ ク と は、 デー タ所要時 間 と デー タ がパ ス の終点に到着する 時間の差です。 ス ラ ッ ク が正の場合、 パ スは タ イ ミ ン グの面では正 し く 機能す る と 考え ら れます。

セ ッ ト ア ッ プ チ ェ ッ ク

セ ッ ト ア ッ プ解析で使用する デー タ 所要時間を算出する ため、 タ イ ミ ン グ エン ジ ンは次を実行 し ます。 1. ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク の共通周期を検出し ます。共通周期が見つか ら ない場合は、1,000 ク ロ ッ ク サ イ ク ルまでが解析に使用 さ れます。 2. 開始点 ク ロ ッ ク と 終点 ク ロ ッ ク のすべての立ち上が り エ ッ ジ と 立ち下が り エ ッ ジ を、 共通周期の間調べます。 3. 2 つのア ク テ ィ ブ エ ッ ジの最小の正の差を特定 し ます。 こ の差が、 セ ッ ト ア ッ プ解析の タ イ ミ ン グ パス要件にな り ます。

セ ッ ト ア ッ プ パス要件の例

異な る ク ロ ッ ク の立ち上が り エ ッ ジで動作する 2 つの レ ジ ス タ の間のパス を考えてみます。こ のパス のア ク テ ィ ブ ク ロ ッ ク エ ッ ジは、 立ち上が り エ ッ ジのみです。 ク ロ ッ ク は次の よ う に定義 さ れます。 • clk0 の周期は 6ns です。 • clk1 の周期は 4ns です。

X-Ref Target - Figure 3-2

図 3-2 : 典型的な タ イ ミ ング パス Z'  Y Z'  Y ĂƚĂWĂƚŚ ĞƐƚŝŶĂƚŝŽŶůŽĐŬWĂƚŚ ^ŽƵƌĐĞůŽĐŬWĂƚŚ ^ƚĂƌƚƉŽŝŶƚ ŶĚƉŽŝŶƚ

(31)

図3-3 では、 セ ッ ト ア ッ プ解析の基準 と な る ソ ース ク ロ ッ ク エ ッ ジおよびデス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジが 2 つあ り ます (setup(1) および setup(2))。 clk0 か ら clk1 ま での最小の正の差は 2ns で、 こ れは setup(2) に対応し ます。 ソ ース ク ロ ッ ク エ ッ ジ時間 : 0ns + 1 * T(clk0) = 6ns デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジ時間 : 0ns + 2 * T(clk1) = 8ns セ ッ ト ア ッ プ パ ス要件 = デス テ ィ ネーシ ョ ン エ ッ ジ時間 – ソ ース エ ッ ジ時間 = 2ns パ ス要件を算出する 際、 次の 2 つの重要な考慮事項があ り ます。 1. ク ロ ッ ク エ ッ ジは理想的な も のであ り 、 ク ロ ッ ク ツ リ ーの挿入遅延は考慮 さ れてい ません。 2. デフ ォル ト では、 位相シ フ ト が設定 さ れていなければ、 ク ロ ッ ク は時間 0 で位相が揃え ら れます。 非同期 ク ロ ッ ク には、 既知の位相関係があ り ません。 非同期 ク ロ ッ ク 間のパ ス の解析には、 デフ ォ ル ト の推定値が使用 さ れま す。 非同期 ク ロ ッ ク の詳細は、 次のセ ク シ ョ ン を参照 し て く だ さ い。

セ ッ ト ア ッ プ解析でのデー タ 所要時間

セ ッ ト ア ッ プ解析でのデー タ 所要時間は、デス テ ィ ネーシ ョ ン セルでデータ を正し く キ ャ プチ ャ で き る よ う にする た めに、 デー タ が安定 し た状態にな っ ていなければな ら ない時間です。 こ の値は、 次の要素に基づ き ます。 • デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジ時間 • デス テ ィ ネーシ ョ ン ク ロ ッ ク 遅延 • ソ ースお よ びデス テ ィ ネーシ ョ ン ク ロ ッ ク のば ら つき • デス テ ィ ネーシ ョ ン セルのセ ッ ト ア ッ プ タ イ ム

セ ッ ト ア ッ プ解析でのデー タ 到着時間

セ ッ ト ア ッ プ解析でのデー タ 到着時間は、デー タ が ソ ース ク ロ ッ ク に よ り 送信 さ れてか ら 、パス の終点で安定し た状 態にな る ま でにかか る 時間です。 こ の値は、 次の要素に基づき ます。 • ソ ース ク ロ ッ ク エ ッ ジ時間 • ソ ース ク ロ ッ ク 遅延 • デー タ パ ス遅延 デー タ パ ス遅延には、 開始点か ら 終点ま での、 すべてのセルお よ びネ ッ ト 遅延が含まれます。 X-Ref Target - Figure 3-3

図 3-3 : セ ッ ト ア ッ プ パス要件の例 ϬŶƐ ϮŶƐ ϰŶƐ ϲŶƐ ϴŶƐ ϭϬŶƐ ϭϮŶƐ ŽŵŵŽŶƉĞƌŝŽĚ ^ĞƚƵƉ;ϭͿ ^ĞƚƵƉ;ϮͿ ĐůŬϬůĂƵŶĐŚĞĚŐĞƐ ;ƐŽƵƌĐĞĐůŽĐŬͿ ĐůŬϭĐĂƉƚƵƌĞĞĚŐĞƐ ;ĚĞƐƚŝŶĂƚŝŽŶĐůŽĐŬͿ

(32)

制約の使用 japan.xilinx.com 32 UG903 (v2012.3) 2012 年 10 月 16 日 Vivado IDE の タ イ ミ ン グ レ ポー ト では、 セ ッ ト ア ッ プ タ イ ムがデー タ パ ス の一部 と し て報告 さ れます。 そのため、 デー タ 到着時間お よ びデー タ 所要時間は、 次の式で算出 さ れます。 デー タ 所要時間 (セ ッ ト ア ッ プ) = デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジ時間 + デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス 遅延 - ク ロ ッ ク のば ら つ き デー タ 到着時間 (セ ッ ト ア ッ プ) = ソ ース ク ロ ッ ク エ ッ ジ時間 + ソ ー ス ク ロ ッ ク パ ス 遅延 + デー タ パ ス 遅延 + セ ッ ト ア ッ プ タ イ ム セ ッ ト ア ッ プ ス ラ ッ ク は、 所要時間 と 到着時間の差です。 ス ラ ッ ク (セ ッ ト ア ッ プ) = デー タ 所要時間 – デー タ 到着時間 レ ジ ス タ の入力デー タ ピ ンのセ ッ ト ア ッ プ ス ラ ッ ク が負の場合、 レ ジ ス タ に不明な値が取 り 込まれ、 メ タ ス テーブ ル状態にな る 可能性があ り ます。

ホール ド チ ェ ッ ク

ホール ド ス ラ ッ ク の算出は、 セ ッ ト ア ッ プ ス ラ ッ ク の算出 と 直接関連し てい ます。 セ ッ ト ア ッ プ解析は、 最悪の条 件で も デー タ が正 し く 受信 さ れ る かど う かを検証 し ますが、 ホール ド 解析では次を検証 し ます。 • 前のデス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジで同じ データ が間違っ て受信 さ れない。 • 次の ソ ース ク ロ ッ ク エ ッ ジで送信 さ れたデー タ がセ ッ ト ア ッ プ解析に使用 さ れる デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジで受信 さ れない。 ホール ド 解析用の タ イ ミ ン グ パス要件を算出する ため、 タ イ ミ ン グ エンジ ンでセ ッ ト ア ッ プ解析の ソ ース ク ロ ッ ク エ ッ ジお よ びデス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジの可能な組み合わせすべてが考慮 さ れます。 可能なセ ッ ト ア ッ プ ク ロ ッ ク エ ッ ジの組み合わせに対 し て、 タ イ ミ ン グ エン ジ ンで対応する ホール ド 解析エ ッ ジが 検証 さ れます。 • delta(a) : 前のデス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジか ら 元の ソ ース ク ロ ッ ク エ ッ ジ を引いた差 • delta(b) : 元のデス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジか ら 次の ソ ース ク ロ ッ ク エ ッ ジ を引いた差 すべての delta(a) お よび delta(b) 値の う ち最大の も のがホール ド 要件 と な り 、 対応する ク ロ ッ ク エ ッ ジがホー ル ド 解析に使用 さ れます。

ホール ド パス要件の例

30 ページの 「セ ッ ト ア ッ プ パス要件の例」 と 同 じ ク ロ ッ ク を考え ます。 セ ッ ト ア ッ プ解析では、 可能なエ ッ ジの組 み合わせは 2 つのみです。 セ ッ ト ア ッ プ パ ス要件 (S1) = 1*T(clk1) – 0*T(clk0) = 4ns セ ッ ト ア ッ プ パ ス要件 (S2) = 2*T(clk1) – 1*T(clk0) = 2ns 対応する ホール ド 要件は次の と お り です。 セ ッ ト ア ッ プ S1 : ホール ド パ ス要件 (H1a) = (1-1)*T(clk1) - 0*T(clk0) = 0ns ホール ド パ ス要件 (H1b) = 1*T(clk1) - (0+1)*T(clk0) = -2ns セ ッ ト ア ッ プ S2 : ホール ド パ ス要件 (H2a) = (2-1)*T(clk1) - 1*T(clk0) = -2ns ホール ド パ ス要件 (H2b) = 2*T(clk1) - (1+1)*T(clk0) = -4ns 最大ホール ド 要件は 0ns で、 ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク 両方の最初の立ち上が り エ ッ ジに対応 し ます。

(33)

図3-4 に、 セ ッ ト ア ッ プ チ ェ ッ ク エ ッ ジ と 関連する ホール ド チ ェ ッ ク を示 し ます。 こ の例では、 最終的なホール ド 要件は最 も 厳 し いセ ッ ト ア ッ プ要件か ら 導かれた も のではあ り ません。 こ れは、 最 も 困難な ホール ド 要件を見つけ る ために、 すべての可能なセ ッ ト ア ッ プ エ ッ ジが考慮 さ れたか ら です。 セ ッ ト ア ッ プ解析 と 同様、 デー タ 所要時間 と デー タ 到着時間は、 次の要素に基づいて算出 さ れます。 • ソ ース ク ロ ッ ク エ ッ ジ時間 • デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジ時間 • ソ ースお よ びデス テ ィ ネーシ ョ ン ク ロ ッ ク 遅延 • ク ロ ッ ク のば ら つき • デー タ パ ス遅延 • デス テ ィ ネーシ ョ ン レ ジ ス タ のホール ド タ イ ム デー タ 所要時間 (ホール ド ) = デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジ時間 + デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス 遅延 + ク ロ ッ ク のば ら つ き デー タ 到着時間 (ホール ド ) = ソ ース ク ロ ッ ク エ ッ ジ時間 + ソ ー ス ク ロ ッ ク パ ス 遅延 + デー タ パ ス 遅延 - ホール ド タ イ ム ホール ド ス ラ ッ ク は、 所要時間 と 到着時間の差です。 ス ラ ッ ク (ホール ド ) = デー タ 到着時間 – デー タ 所要時間 ホール ド ス ラ ッ ク が正の場合、 最悪の条件で も デー タ が間違っ た ク ロ ッ ク エ ッ ジに よ り 受信 さ れる こ と はあ り ませ ん。 ホール ド ス ラ ッ ク が負の場合、 間違っ たデータ が受信 さ れた り 、 レ ジ ス タ が メ タ ス テーブル状態にな る可能性が あ り ます。 X-Ref Target - Figure 3-4

図 3-4 : ホール ド パス要件の例 ϬŶƐ ϮŶƐ ϰŶƐ ϲŶƐ ϴŶƐ ϭϬŶƐ ϭϮŶƐ ^ϭ ^Ϯ ĐůŬϬůĂƵŶĐŚĞĚŐĞƐ ĐůŬϭĐĂƉƚƵƌĞĞĚŐĞƐ ,Ϯď ,ϮĂ ,ϭď ,ϭĂ

(34)

制約の使用 japan.xilinx.com 34 UG903 (v2012.3) 2012 年 10 月 16 日

リ カバ リ および リ ムーバル解析

リ カバ リ お よ び リ ムーバル タ イ ミ ン グ チ ェ ッ ク はセ ッ ト ア ッ プお よびホール ド チ ェ ッ ク と 似てい ますが、 セ ッ ト や ク リ アな ど の非同期デー タ ピ ンに適用 さ れます。 非同期 リ セ ッ ト を持つレ ジ ス タ の場合、 次の よ う にな り ます。 • リ カバ リ 時間は、 新 し いデー タ を安全に取 り 込むために必要な、非同期 リ セ ッ ト 信号が非ア ク テ ィ ブ ス テー ト に ト グル さ れてか ら 次のア ク テ ィ ブ ク ロ ッ ク エ ッ ジ までの最小時間です。 • リ ムーバル時間は、 非同期 リ セ ッ ト 信号を問題な く 非ア ク テ ィ ブ ス テー ト に ト グルで き る、 ア ク テ ィ ブ ク ロ ッ ク エ ッ ジか ら の最小時間です。 次に、 こ れ ら のチ ェ ッ ク での ス ラ ッ ク を算出する 式を示 し ます。

リ カバ リ チ ェ ッ ク

次の も のの算出方法を式で示 し ます。 デー タ 所要時間 ( リ カバ リ ) = デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジ時間 + デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス 遅延 - ク ロ ッ ク のば ら つ き デー タ 到着時間 ( リ カバ リ ) = ソ ース ク ロ ッ ク エ ッ ジ時間 + ソ ー ス ク ロ ッ ク パ ス 遅延 + デー タ パ ス 遅延 + リ カバ リ 時間 ス ラ ッ ク ( リ カバ リ ) = デー タ 所要時間 – デー タ 到着時間

リ ムーバル チ ェ ッ ク

次の も のの算出方法を式で示 し ます。 デー タ 所要時間 ( リ ムーバル) = デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジ時間 + デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス 遅延 + ク ロ ッ ク のば ら つ き デー タ 到着時間 ( リ ムーバル) = ソ ース ク ロ ッ ク エ ッ ジ時間 + ソ ー ス ク ロ ッ ク パ ス 遅延 + デー タ パ ス 遅延 - リ ムーバル時間 ス ラ ッ ク ( リ ムーバル) = デー タ 到着時間 – デー タ 所要時間 セ ッ ト ア ッ プお よ びホール ド チ ェ ッ ク と 同様に、 負の リ カバ リ ス ラ ッ ク ま たは リ ムーバル ス ラ ッ ク は、 レ ジ ス タ が メ タ ス テーブル状態にな り 、 デザ イ ンに不明な電気レベルが伝搬 さ れ る 可能性があ る こ と を示 し ます。

(35)

ク ロ ッ ク の定義

ク ロ ッ ク について

デ ジ タ ル デザ イ ン で は、 ク ロ ッ ク が レ ジ ス タ か ら レ ジ ス タ にデー タ を 転送す る た め の時間の基準 と な り ま す。 Vivado™ 統合設計環境 (IDE) では、 タ イ ミ ン グ エンジ ンは ク ロ ッ ク の特性を使用し て次を実行し ます。 • タ イ ミ ン グ パス要件を算出 • ス ラ ッ ク を算出 し てデザ イ ンの タ イ ミ ン グ マージ ン を レ ポー ト 詳細は、第3 章 「 タ イ ミ ン グ解析」 を参照 し て く だ さ い。 タ イ ミ ン グ パス を正確に最大限に網羅する ため、 ク ロ ッ ク を正し く 定義する 必要があ り ます。 ク ロ ッ ク は次の特性に よ り 定義 さ れます。 • ク ロ ッ ク は、 その ツ リ ー ルー ト の ド ラ イ バー ピ ン ま たはポー ト ( ソ ース ポ イ ン ト ) で定義 さ れます。 • ク ロ ッ ク エ ッ ジは、 周期 と 波形の特性で表現 さ れます。 • 周期はナ ノ 秒 (ns) で定義 し、 波形が繰 り 返す間隔に対応 し ます。 • 波形は、 ク ロ ッ ク 周期内の立ち上が り エ ッ ジお よ び立ち下が り エ ッ ジの絶対時間 (ns) の リ ス ト です。 波形の リ ス ト には偶数個の値を含め る 必要があ り 、最初の値は最初の立ち上が り エ ッ ジ を示 し ます。指定 し ない限 り 、デ ュ ー テ ィ ー サ イ ク ルはデフ ォ ル ト で 50% にな り 、 位相シ フ ト は 0ns にな り ます。 図4-1 の例では、 ク ロ ッ ク Clk0 は周期が 10ns、デューテ ィ サ イ ク ルが 50%、位相シ フ ト が 0ns にな り 、 ク ロ ッ ク Clk1 は周期が 8ns、 デューテ ィ サ イ ク ルが 75%、 位相シ フ ト が 2ns にな り ます。 Clk0: period = 10, waveform = {0 5} Clk1: period = 8, waveform = {2 8} X-Ref Target - Figure 4-1

図 4-1 : ク ロ ッ ク波形の例 ϬŶƐ ϮŶƐ ϴŶƐ ϭϲŶƐ ϱŶƐ ϭϬŶƐ ůŬϬ ůŬϭ ϬŶƐ ϭϬŶƐ ϭϱŶƐ ϱϬй ϱϬй ϳϱй Ϯϱй

図 2-1 : 1 つの XDC フ ァ イルまたは複数の XDC フ ァ イル
図 2-2 : [Source File Properties] ビ ュ ー
図 2-3 : IP ソ ースの XDC フ ァ イル
図 2-4 : 制約編集フ ロー䝕䝄䜲䞁䜢䝯䝰䝸䛻ㄞ䜏㎸䜐9LYDGR䝕䞊䝍䝧䞊䝇䝕䝄䜲䞁䜢ゎᯒ&gt;6FKHPDWLFV@&gt;'HYLFH@&gt;5HSRUWV@䝡䝳䞊ไ⣙䛾ኚ᭦㻌䛜ᚲせ䛛&#34;9LYDGR,'(&gt;'HYLFH@&gt;3K\VLFDO&amp;RQVWUDLQWV@&gt;7LPLQJ&amp;RQVWUDLQWV@䝡䝳䞊䛺䛹䜎䛯䛿7FO 䝁䞁䝋䞊䝹䜢౑⏝ 䝔䜻䝇䝖㻌䜶䝕䜱䝍䞊䛷;'&amp;䝣䜯䜲䝹䜢⦅㞟
+7

参照

関連したドキュメント

NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE MADE REGARDING PRODUCTS DESCRIBED OR

information, product features, availability, functionality, or suitability of its products for any particular purpose, nor does onsemi assume any liability arising out of

The Customs Administration wishing to obtain the prior written consent of the Customs Administration of the other Contracting Party pursuant to paragraph 2 of this Article may,

information, product features, availability, functionality, or suitability of its products for any particular purpose, nor does onsemi assume any liability arising out of

ON Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does ON Semiconductor assume any

ON Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does ON Semiconductor assume any

European corn borer 1 1/2 to 2 For best results on chinch bug, use ground equipment to apply at least 20 gallons of water per acre and direct spray toward stalk to provide

European corn borer 1 1/2 to 2 For best results on chinch bug, use ground equipment to apply at least 20 gallons of water per acre and direct spray toward stalk to provide