Comments
Transcript
Vivado Design Suite ユーザー ガイド : 階層デザイン (UG905)
Vivado Design Suite ユーザー ガ イ ド 階層デザイ ン UG905(v2015.3) (v2016.4) 2016 月 (v2016.3) 10 UG905 2015 年 9年 月 11 30 日 30 5 日日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資 料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情 報につきましては、必ず最新英語版をご参照ください。 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 2016/10/05 2016/11/30 : Vivado® Vivado Design DesignSuite Suite 2016.3 2016.4リリース。内容の変更なし。 リリース。2015.3 から内容の変更なし。 日付 バージ ョ ン 2015 年 9 月 30 日 2015.3 改訂内容 リ リ ース番号を ア ッ プデー ト 「 コ ン ポーネ ン ト 間の専用接続」 に双方向ポー ト を回避す る ための推奨事項を追加 関連す る チ ュ ー ト リ アルへの参照 リ ン ク を削除。チ ュ ー ト リ アルはザ イ リ ン ク ス サポー ト に連絡 し て入手可能にな り ま し た。 2015 年 4 月 1 日 2015.1 リ リ ース番号を ア ッ プデー ト 15 ページの 「合成」 で BUFFER_TYPE プ ロ パテ ィ 名を IO_BUFFER_TYPE に変更. 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 2 目次 改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Vivado 階層デザイ ン 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 設計に関す る 考慮事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 チェ ッ ク ポ イ ン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 ア ウ ト オブ コ ン テ キ ス ト コ マ ン ド お よ び制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 最上位再利用 コ マ ン ド お よ び制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Tcl ス ク リ プ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 既知の問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 付録 A : その他の リ ソ ースおよび法的通知 ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . お読み く だ さ い : 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 18 18 18 18 19 3 Vivado 階層デザイ ン 概要 階層デザ イ ン (HD) フ ロ ーを使用す る と 、 デザ イ ン を小 さ い管理可能なブ ロ ッ ク にパーテ ィ シ ョ ン し て個別に処理す る こ と がで き ます。 Vivado® Design Suite では、 パーテ ィ シ ョ ン さ れたモジ ュ ールを残 り のデザ イ ンか ら 独立 し た箇所 (ア ウ ト オブ コ ン テ キ ス ト (OOC)) に イ ンプ リ メ ン ト で き ます。 次は、 Vivado Design Suite での手法です。 • モジ ュ ール解析 : こ の フ ロ ーでは、 モジ ュ ールを残 り のデザ イ ン と は別に解析 し て、 リ ソ ース使用量を決定 し 、 タ イ ミ ン グ解析を実行 し ます。 ラ ッ パーま たはダ ミ ー ロ ジ ッ ク は必要あ り ません。 単にモジ ュ ールだけ を合成、 最適化、 配置配線 し ます。 フル デザ イ ンの場合 と 同様に、 リ ソ ース使用量解析を実行 し 、 タ イ ミ ン グ レ ポー ト を検証 し て、 配置結果を確認 し ます。 こ の フ ロ ーでは、 パーテ ィ シ ョ ン さ れたモジ ュ ールま たは IP コ アがデザ イ ンの最上位か ら 独立 し て (OOC で) イ ンプ リ メ ン ト さ れます。モジ ュ ールは特定のパーツ/パ ッ ケージの組み合わせでデバ イ ス の決ま っ た位置に イ ンプ リ メ ン ト さ れます。 I/O バ ッ フ ァ ー、 グ ロ ーバル ク ロ ッ ク お よ びその他のチ ッ プ レベルの リ ソ ース は挿入 さ れま せんが、 モジ ュ ール内に イ ン ス タ ン シエー ト す る こ と はで き ます。 こ の OOC イ ンプ リ メ ン テーシ ョ ンの結果は、 デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ル と し て保存で き ます。 • モジ ュ ール再利用 : こ の フ ロ ーでは、 最上位デザ イ ン内のモジ ュ ール解析フ ロ ーか ら の配置配線 さ れたモジ ュ ー ル を 使用 し て、 検証結果 を ロ ッ ク し ま す。 デザ イ ン の特定のセ ク シ ョ ン を 繰 り 返す こ と で タ イ ミ ン グ ク ロ ー ジ ャ ーお よ びその他の特定の目標を達成 し た後、 結果を その ま ま再利用で き ます。 こ の OOC モジ ュ ールを再利用す る 場合、モジ ュ ール ピ ン と イ ン タ ーフ ェ イ ス ロ ジ ッ ク が配置 さ れた箇所を把握 し ておかない と 、 接続 ロ ジ ッ ク が正 し く フ ロ アプ ラ ンで き ません。 イ ン ポー ト さ れた OOC モジ ュ ールの保持レ ベルは選択で き る ので、 必要であれば配置配線を少 し 変更す る こ と がで き ます。 こ の フ ロ ーでは、 デバ イ ス のほ かのエ リ アや別のデバ イ スへの OOC イ ンプ リ メ ン テーシ ョ ン結果の移動ま たは複製は ま だサポー ト さ れてい ま せん。 モジ ュ ール再利用フ ロ ーには、 2 つのパ タ ーンがあ り ます。 こ の 2 つの違いはモジ ュ ール制約を構築す る メ カ ニ ズ ムにあ り ます。 最上位デザ イ ン を 1 つま たは複数の再利用モジ ュ ール と 問題な く 組み合わせる には、 コ ン テ キ ス ト 制約 (フル デザ イ ン でモジ ュ ールを ど の よ う に接続す る か定義) お よ び タ イ ミ ン グ制約が重要 と な り ます。 モジ ュ ール再利用には、 次の よ う な方法があ り ます。 ° ° ボ ト ム ア ッ プ再利用 : こ の方法を使用する と 、 最上位デザ イ ンについて何 も 知 ら な く て も OOC イ ンプ リ メ ン テーシ ョ ン が実行 さ れ、 再利用で き る よ う にな り ます。 こ の OOC 結果を使用 し て、 最上位 イ ン プ リ メ ン テーシ ョ ンが実行 さ れます。 配置配線を介 し て IP の一部の よ う な検証済みのモジ ュ ールを構築で き 、 1 つま たは複数の最上位デザ イ ンで再利用で き ます。 こ の フ ロ ーの場合、最上位デザ イ ンの詳細はわか ら ないので、 コ ン テ キ ス ト 制約はユーザーが指定す る 必要があ り ます。 こ れ ら は、 モジ ュ ールの物理的な位置、 モジ ュ ー ル I/O の配置の詳細、 ク ロ ッ ク ソ ース の定義、 モジ ュ ールを出入 り す る パ ス の タ イ ミ ン グ要件、 お よ び未使 用 I/O に関す る 情報な ど を定義 し ます。 ト ッ プ ダ ウ ン再利用 : こ の方法を使用する と 、 最上位デザ イ ンお よ びフ ロ アプ ラ ンが使用 さ れ、 OOC イ ン プ リ メ ン テーシ ョ ン制約が作成 さ れ ます。 OOC イ ン プ リ メ ン テーシ ョ ンは最上位デザ イ ン に よ り 駆動 さ れ ます。 こ れに よ り 、 チーム デザ イ ンで、 デザ イ ン内の 1 つま たは複数モジ ュ ールの合成お よ び イ ンプ リ メ ン テーシ ョ ン を並行 し て実行で き ます。 チーム メ ンバーは、 アセ ンブル さ れたデザ イ ン でその結果を再利用 し て、 それぞれの担当部分を イ ンプ リ メ ン ト で き ます。 こ の フ ロ ーの場合、 最上位デザ イ ンの詳細 (ピ ン配置、 フ ロ アプ ラ ン、 タ イ ミ ン グ要件) は既知の状態で、 OOC イ ンプ リ メ ン テーシ ョ ン を ガ イ ド す る ために使用 さ 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 4 設計に関する考慮事項 れ ます。 こ れに よ り 、 OOC モジ ュ ールの ピ ン制約、 最上位の入力/出力 タ イ ミ ン グ要件、 バ ウ ン ダ リ 最適化 制約すべてが最上位デザ イ ンか ら 作成で き る よ う にな り ます。 こ れ ら ど の フ ロ ーを使用 し て も 、 デザ イ ン全体ではな く 、 デザ イ ンに含まれ る モジ ュ ールの 1 つのみを イ ンプ リ メ ン ト す る こ と で、 イ ンプ リ メ ン テーシ ョ ン実行時間を削減で き ます。 こ れに よ り 、 よ り 多 く コ ンパ イ ルで き る ので、 設 計時間を削減で き 、 モジ ュ ール ベース で タ イ ミ ン グ を検証 し て満たす こ と がで き ます。 ま た、 残 り のデザ イ ンが完成 し ていなか っ た り 、 使用可能でない場合で も 、 モジ ュ ールの作業を進め る こ と がで き ます。 設計に関する考慮事項 階層デザ イ ン手法で最適な結果にす る ためには、 特別な考慮が必要です。 次のセ ク シ ョ ンでは、 Vivado 階層デザ イ ン フ ロ ーのアーキ テ ク チ ャ プ ラ ン ニ ン グ、 設計、 制約に関 し て考慮すべき 点について説明 し ます。 パ フ ォ ーマ ン ス目的のデザイ ン デザ イ ンの残 り の部分か ら 独立 し た (OOC) モジ ュ ールを イ ンプ リ メ ン ト す る と 、 通常 ト ッ プ ダ ウ ン フ ロ ーで実行 さ れ る モジ ュ ール間の最適化は実行 さ れません。 こ う い っ た制限のためのパフ ォーマ ン ス劣化を防ぐ には、 次のガ イ ド ラ イ ンに従っ て く だ さ い。 • イ ンプ リ メ ン ト さ れ る OOC モジ ュ ールを注意 し て選択 し ます。 デザ イ ンのほかのモジ ュ ールか ら 論理的に独立 し 、 デバ イ ス の連続 し たエ リ アに物理的に制約が付け ら れたブ ロ ッ ク を選択 し て く だ さ い。 • 選択 し たモジ ュ ールを使用 し て効率的な階層を構築 し ます。 各 イ ンプ リ メ ン テーシ ョ ン用に階層の構造を作成 し ます。 デザ イ ン階層は、 重要な考慮事項です。 デザ イ ンがパーテ ィ シ ョ ン さ れ る 箇所に よ っ ては、 結果の質に多 大な影響があ る こ と があ り ま す。 OOC イ ン プ リ メ ン テーシ ョ ン用に適切なモジ ュ ールを グループ分けす る ため に、 階層を追加ま たは変更す る 必要のあ る こ と も あ り ます。 • モジ ュ ール内に完全に含まれ る ク リ テ ィ カル パ スは下位モジ ュ ールま たは最上位モジ ュ ールのいずれかに保持 し ます。 • モジ ュ ール間の入力お よ び出力に レ ジ ス タ を付けて、 モジ ュ ール内の最適化が最大限に実行 さ れ る よ う に し 、 最 も 柔軟な配置配線が実行で き る よ う に し ます。 • コ ン テ キ ス ト 制約を定義 し て、 モジ ュ ールの使用方法に関す る 情報を提供 し ます。 コ ン テ キ ス ト 制約では、 最上 位でモジ ュ ールを ど の よ う に接続 さ れ る かが定義 さ れ る ので、 さ ら に多 く の最適化お よ び正確な タ イ ミ ン グ解析 が実行で き ます。 詳細は、 「 コ マ ン ド お よ び制約」 セ ク シ ョ ン の10 ページの 「ア ウ ト オブ コ ン テ キ ス ト デザ イ ン制約」 を参照 し て く だ さ い。 • 専用接続は、 常に OOC モジ ュ ール バ ウ ン ダ リ を ま たがっ て適切に処理 さ れ る わけではあ り ません。 関連す る デ ザ イ ン エ レ メ ン ト はすべ て 一緒にパー テ ィ シ ョ ン す る 必要が あ り ま す。 た と え ば、 ト ラ ン シ ーバー ま た は IOLOGIC コ ン ポーネ ン ト な ど の専用接続が付いた I/O コ ン ポーネ ン ト がその例です。 詳細は、 「コ ン ポーネ ン ト 間の専用接続」 を参照 し て く だ さ い。 効率的な フ ロ ア プ ラ ンの構築 OOC モジ ュ ールを イ ンプ リ メ ン ト す る には、 次の要件に従 う 必要があ り ます。 • 各モジ ュ ールの イ ンプ リ メ ン テーシ ョ ンに Pblock 制約を含めて、 配置を制御する 必要があ り ます。 Pblock が使 用 さ れない場合、 アセ ンブ リ 段階で配置が競合す る 可能性があ り ます。 • CONTAIN_ROUTING プ ロ パテ ィ をすべての OOC Pblock に追加 し ます。 こ のプ ロ パテ ィ を付けない と 、 配線に競 合が発生す る 可能性があ る ので、 lock_design で イ ン ポー ト さ れたモジ ュ ールの配線を ロ ッ ク で き な く な り ま す。 • 各 OOC モジ ュ ールの Pblock 範囲は重複 し ない よ う に し ます。 最上位デザ イ ンに複数の OOC モジ ュ ールを イ ン ポー ト す る 場合は、 モジ ュ ールがそれぞれデバ イ ス の別の領域を使用 し てい る 必要があ り ます。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 5 設計に関する考慮事項 • 入れ子状態にな っ た Pblock (子 Pblock) の場合は、 その Pblock の範囲が親 Pblock の範囲に完全に含まれていて、 PARENT プ ロ パテ ィ が正 し く 設定 さ れてい る 限 り 、 OOC イ ンプ リ メ ン テーシ ョ ン でサポー ト さ れます。 詳細は、 表 5 の 「Pblock 制約」 を参照 し て く だ さ い。 • すべての ク ロ ッ ク バ ッ フ ァ ー (最上位 と OOC モジ ュ ールの両方) は ロ ッ ク さ れ る 必要があ り ます。OOC モジ ュ ー ルの中のバ ッ フ ァ ーには LOC 制約を付け る 必要があ り 、 最上位のバ ッ フ ァ ーの位置は HD.CLK_SRC 制約で識別 さ れ る 必要があ り ます。 HD.CLK_SRC 制約の詳細については、 10 ページの 「ア ウ ト オブ コ ン テ キ ス ト デザ イ ン 制約」 を参照 し て く だ さ い。 • OOC イ ンプ リ メ ン テーシ ョ ン結果が使用 さ れ る 場合は、 HD.PARTPIN_RANGE ま たは HD.PARTPIN_LOCS 制約 を使用 し て OOC イ ンプ リ メ ン テーシ ョ ン中に OOC モジ ュ ール ピ ン を ロ ッ ク し てお く 必要があ り ます。 OOC イ ンプ リ メ ン テーシ ョ ンでは、 パーテ ィ シ ョ ン ピ ンに主に 2 つの役割があ り ます。 ° ° 1 つ目は、 関連す る イ ン タ ーフ ェ イ ス ロ ジ ッ ク の配置を ガ イ ド す る ための物理 ロ ケーシ ョ ン を作成す る 役割 です。配置に影響を与え る には、PartPin へ向かっ て ま たは PartPin か ら の タ イ ミ ン グ制約 (set_max_delay) が必要です。 2 つ目のパーテ ィ シ ョ ン ピ ンの役割は、配線ツールに対 し て イ ン タ ーフ ェ イ ス サブネ ッ ト を配線す る ポ イ ン ト を示す こ と にあ り ます。 PartPin がない場合、 イ ン タ ーフ ェ イ ス ネ ッ ト は配線で き ません。 作成 し た OOC 結果は、 再利用中に イ ン タ ーフ ェ イ ス ネ ッ ト で必要 と さ れ る 内部か ら モジ ュ ール ブ ロ ッ ク 配線 リ ソ ースへ 配線で き ます。 こ れに よ り 、配線不可能なデザ イ ンにな ら ずに、OOC ネ ッ ト すべてが保持 さ れな く な り ます。 HD.PARTPIN_RANGE お よ び HD.PARTPIN_LOCS 制約の詳細は表 6 の 「コ ン テ キ ス ト 制約」、 set_max_delay 詳細については、 表 4 の 「 タ イ ミ ン グ制約」 を参照 し て く だ さ い。 コ ンポーネ ン ト 間の専用接続 専用接続のあ る コ ン ポーネ ン ト をデザ イ ンの同 じ パーテ ィ シ ョ ンに保持す る こ と が推奨 さ れた り 、 必要 と さ れ る こ と があ り ます。 OOC モジ ュ ールのバ ウ ン ダ リ に ま たが る 専用接続があ る と 、 パ フ ォ ーマ ン ス が落ち た り 、 イ ン プ リ メ ン テーシ ョ ン エ ラ ーが発生す る こ と があ り ます。 次は、 専用接続を含むコ ン ポーネ ン ト の リ ス ト です。 • IOLOGIC お よ び IOBUF : ILOGIC ま たは OLOGIC、 IDDR、 ODDR、 ISERDES、 お よ び OSERDES に配置 さ れた レ ジ ス タ か ら IBUF、 OBUF、 IBUFDS、 OBUFDS、 IOBUF、 お よ び IOBUFDS を含む I/O コ ン ポーネ ン ト への接続 が含まれます。 • GT ト ラ ン シーバー コ ン ポーネ ン ト : GTX お よ び GTP ト ラ ン シーバーお よ びそれ ら の専用 I/O 接続です。 • 双方向ポー ト は、 で き る だけ使用 し ない よ う に し て く だ さ い。 双方向ポー ト は PP_LOCS を受信で き ないので、 双方向ポー ト の PP_RANGE ま たは PP_LOCS 制約は OOC モジ ュ ールで自動的に削除 さ れます。 双方向ポー ト が 必要な場合は、 関連す る イ ン タ ーフ ェ イ ス ロ ジ ッ ク を フ ロ アプ ラ ン し て、 再利用フ ロ ー中に OOC モジ ュ ールが イ ン ポー ト さ れ る 際の タ イ ミ ン グ問題を回避す る よ う に し て く だ さ い。 デザ イ ンの異な る パーテ ィ シ ョ ンに相互接続す る I/O コ ン ポーネ ン ト は配置 し ない よ う に し て く だ さ い。 lDELAYCTRL グループの使用 OOC モジ ュ ール内の IDELAYCTRL グループの使用はサポー ト さ れてい ます。 OOC イ ンプ リ メ ン テーシ ョ ンに よ り 、 IDELAYCTRL が挿入 さ れて、 その結果が Top に イ ン ポー ト さ れます。 IDELAYCTRL グループ を使用する 場合は、 次 の規則が適用 さ れます。 • 複数の OOC モジ ュ ール (それぞれに独自の IDELAYCTRL が含まれ る 場合) は、 同 じ ク ロ ッ ク 領域を共有で き ま せん。 • IDELAYCTRL の付いた OOC モジ ュ ールは、 100% 保持 さ れません。 こ れは、 こ のバージ ョ ンの Vivado におけ る 既知の制限であ り 、 今後の Vivado Design Suite リ リ ース で修正 さ れ る 予定です。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 6 設計に関する考慮事項 I/O および ク ロ ッ ク バ ッ フ ァ ー I/O お よ び ク ロ ッ ク バ ッ フ ァ ーは OOC モジ ュ ール内でサポー ト さ れ ますが、 使用方法に よ っ ては特別な注意が必要 な こ と も あ り ます。 • I/O バ ッ フ ァ ー : OOC ポー ト が最上位の I/O バ ッ フ ァ ーに直接接続 さ れ る 場合は、 こ のバ ッ フ ァ ーを OOC モ ジ ュ ール内に移動 し た方が結果が改善す る こ と があ り ます。 ただ し 、 すべての状況のおいて こ れが実行で き る わ けではあ り ません (た と えば、 OOC ポー ト が最上位の IBUF に直接接続 さ れてい る のに、 IBUF が OOC モジ ュ ー ル 以 外 の そ の 他 の ロ ジ ッ ク も 駆 動す る 場 合)。 こ の よ う な 場合、 OOC モ ジ ュ ール内の ロ ジ ッ ク は HD.PARTPIN_LOCS 制約で制御す る 必要があ り ます。 詳細は、 「ア ウ ト オブ コ ン テ キ ス ト コ マ ン ド お よ び制約」 を参照 し て く だ さ い。 • リ ージ ョ ナル ク ロ ッ ク バ ッ フ ァ ー : BUFR ま たは BUFHCE が OOC モジ ュ ール内にあ る 場合、特定の位置に ロ ッ ク す る 必要があ り ます。 こ れに よ り 、 バ ッ フ ァ ーで駆動 さ れ る ロ ジ ッ ク が適切に配置 さ れ る よ う にな り ますが、 BUFR ま たは BUFHCE が最上位デザ イ ンに含まれ る 場合、 OOC Pblock がバ ッ フ ァ ーのア ク セ ス よ り も 多 く の ク ロ ッ ク 領域に ま た が る ので、 さ ら に多 く の情報 を 提供す る 必要が あ り ま す。 入れ子に な っ た Pblock は、 OOC Pblock で定義 さ れた範囲のサブセ ッ ト であ る 範囲で作成 さ れ る 必要があ り ます。 こ の よ う な Pblock には、 BUFR ま たは BUFHCE で駆動 さ れ る すべてのセルが含まれます。 こ の Pblock は次の コ マ ン ド で作成で き ます。 create_pblock -parent <parent_pblock_name> <nested_pblock_name> add_cells_to_pblock <nested_pblock_name> -cells [get_cells -of [get_nets -segments -of [get_ports [list <clock_port> <clock_port>]]] -filter "(IS_PRIMITIVE)"] resize_pblock <nested_pblock_name> -add {SLICE_Xx1Yy1:SLICE_Xx2Yy2} こ れは、 最上位の BUFR ま たは BUFHCE で駆動 さ れ る 各モジ ュ ール ポー ト に対 し て実行す る 必要があ り ます。 複数の OOC ク ロ ッ ク ポー ト に同 じ ク ロ ッ ク 領域の ロ ー ド が含まれ る 場合、 すべての適用可能なポー ト は上記の add_cells_to_pblock コ マ ン ド で リ ス ト で き ま す。 入れ子にな っ た Pblock の範囲は、 最上位 イ ン プ リ メ ン テーシ ョ ンの BUFR ま たは BUFHCE 位置に対応す る 必要があ り ます。 最上位のバ ッ フ ァ ー位置 と 対応する OOC モジ ュ ールの Pblock 範囲間が一致 し ない と 、最上位 イ ンプ リ メ ン テーシ ョ ン中に配線不可能な状態にな る こ と が あ り ます。 • グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー : グ ロ ーバル バ ッ フ ァ ーは OOC モジ ュ ール内でサポー ト さ れます。 BUFR が OOC イ ン ス タ ン ス内にあ る と 、ク ロ ッ ク ネ ッ ト は OOC イ ンプ リ メ ン テーシ ョ ン でグ ロ ーバル配線に配線 さ れま す。 OOC ポー ト が最上位の ク ロ ッ ク ネ ッ ト で駆動 さ れ る 場合、 ク ロ ッ ク ネ ッ ト は OOC イ ンプ リ メ ン テーシ ョ ン中には配線 さ れません。ク ロ ッ ク 遅延/ス キ ュ ーは タ イ ミ ン グ概算に よ り 判断 さ れます。こ の場合、HD.CLK_SRC 制約を使用す る と タ イ ミ ン グ概算が改善で き ます。 こ の制約に よ り 、 ド ラ イ バーの位置お よ び タ イ プが ツールに 伝わ り 、 CPR (Clock Pessimism Removal) が計算 さ れ て タ イ ミ ン グ 概算が改善 し ま す。 CPR の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 1] を参照 し て く だ さ い。 アウ ト オブ コ ン テキス ト デザイ ンのデザイ ン ルール 表 1 は、 OOC デザ イ ン を イ ンプ リ メ ン ト する 際に実行 さ れ る デザ イ ン ルール チ ェ ッ ク (DRC) と その DRC を テ ス ト す る ためのデザ イ ン ルールについて示 し てい ます。 表 1 : 階層デザイ ンのデザイ ン ルール DRC 番号 重要度 デザイ ン ルール HDOOC-1 エラー リ コ ン フ ィ ギ ャ ブル モジ ュ ールには、 定義済みの Pblock が含 ま れ る 必要が あ り ます。 HDOOC-2 エラー HD モジ ュ ールでは、 一部の Pblock プ ロ パテ ィ が定義 さ れてい る 必要があ り ます。 HDOOC-3 エラー OOC モジ ュ ールの場合、 ビ ッ ト ス ト リ ームは生成で き ません。 HDOOC-4 エラー セルに対す る Pblock 範囲ま たは LOC があ り ません。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 7 チ ェ ッ クポイ ン ト チ ェ ッ クポイ ン ト 階層デザ イ ン フ ロ ーでは、 モジ ュ ール イ ン プ リ メ ン テーシ ョ ンの結果を エ ク ス ポー ト お よ び イ ン ポー ト す る ために チ ェ ッ ク ポ イ ン ト が使用 さ れます。 チ ェ ッ ク ポ イ ン ト は、 論理デザ イ ン、 物理デザ イ ン、 モジ ュ ール制約を アーカ イ ブ し た も ので、 デザ イ ン を完全に復元す る のに必要な唯一の フ ァ イ ルです。 保存 さ れたチ ェ ッ ク ポ イ ン ト は、 元々生成 さ れていたの と 同 じ パーツ/パ ッ ケージ/ス ピー ド グ レー ド の組み合わせに のみ読み込む こ と がで き ます。 推奨 : 階層デザ イ ン フ ロ ーで読み込 ま れ る すべてのデー タ がモジ ュ ール イ ン タ ーフ ェ イ ス で完全に一致す る よ う に す る には、 read_checkpoint コ マ ン ド に -strict オプシ ョ ン を使用する こ と をお勧め し ます。 チ ェ ッ ク ポ イ ン ト の詳 細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 2] の 「デザ イ ン チ ェ ッ ク ポ イ ン ト を使用 し たデザ イ ンの スナ ッ プシ ョ ッ ト の保存お よ び復元」 を参照 し て く だ さ い。 アウ ト オブ コ ン テキス ト コ マ ン ド および制約 階層デザ イ ン フ ロ ーは、 現在の と こ ろ、 非プ ロ ジ ェ ク ト モー ド のバ ッ チ/Tcl イ ン タ ーフ ェ イ ス (Vivado IDE (GUI) ま たはプ ロ ジ ェ ク ト ベース の コ マ ン ド な し ) でのみサポー ト さ れてい ます。サンプル デザ イ ンお よ び関連ス ク リ プ ト も ご要望に応 じ て用意 し てお り ます。 詳細は、 ザ イ リ ン ク ス サポー ト にお問い合わせ く だ さ い。 次のセ ク シ ョ ンでは、階層デザ イ ン フ ロ ーで使用 さ れ る 特定のア ウ ト オブ コ ン テ キ ス ト コ マ ン ド お よ び制約につい て説明 し ます。 階層デザ イ ン フ ロ ーを実行する ための こ れ ら の コ マ ン ド の使用例を示 し ます。 各 コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 3] を参照 し て く だ さ い。 アウ ト オブ コ ン テキス ト コ マ ン ド 残 り のデザ イ ン か ら 独立 し た ア ウ ト オブ コ ン テ キ ス ト (OOC) モ ジ ュ ール を 合成 ま たは イ ン プ リ メ ン ト す る には、 ツールがア ウ ト オブ コ ン テ キ ス ト モー ド で実行 さ れ る 必要があ り ます。 こ れ以外の場合、 ア ウ ト オブ コ ン テ キ ス ト フ ロ ーを実行す る ために使用 さ れ る コ マ ン ド はほかの フ ロ ー と 同 じ にな り ます。 現在の と こ ろ、 合成、 最適化、 ま た は イ ンプ リ メ ン テーシ ョ ンでサポー ト さ れない コ マ ン ド はあ り ません。 合成 こ の フ ロ ーでは、 複数の合成ツールお よ び手法がサポー ト さ れます。 次は、 サポー ト さ れ る ツールの リ ス ト です。 • [XST] : パーテ ィ シ ョ ン (PMXL フ ァ イ ル) を使用 し たボ ト ム ア ッ プ合成ま たは イ ン ク リ メ ン タ ル合成。 こ れは 7 シ リ ーズのみでサポー ト さ れてい ます。 注記 : XST は新 し い Vivado デザ イ ンや、7 シ リ ーズ よ り も 新 し いアーキテ ク チ ャ を タ ーゲ ッ ト に し たデザ イ ンに は推奨 さ れません。 • [Synplify] : ボ ト ム ア ッ プ合成ま たは コ ンパ イ ル ポ イ ン ト (階層プ ロ ジ ェ ク ト を使用 し て各ネ ッ ト リ ス ト を生成) • [Vivado synthesis] : ア ウ ト オブ コ ン テ キ ス ト (OOC) 合成のみ。 重要 : OOC 合成 (ボ ト ム ア ッ プ合成) は、 各モジ ュ ールにそれぞれ合成 run があ る 合成フ ロ ーです。 通常は、 下位モ ジ ュ ールの自動 I/O バ ッ フ ァ ー挿入をオ フ に し ます。 こ の文書では、 Vivado 合成フ ロ ーのみについて説明 し ます。 Synplify フ ロ ーに関す る 詳細は、 Synopsys 社の Synplify の資料を参照 し て く だ さ い。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 8 アウ ト オブ コ ン テキス ト コ マ ン ド および制約 こ の フ ロ ーの Vivado 合成は、 synth_design コ マ ン ド を使用 し てバ ッ チ モー ド で実行 さ れます。 synth_design -mode out_of_context -flatten_hierarchy rebuilt -top <top_module_name> -part <part> 表 2 : synth_design オプ シ ョ ン コ マ ン ド オプ シ ョ ン 説明 -mode out_of_context 合成お よ びダ ウ ン ス ト リ ーム ツールの I/O 挿入がオ フ にな り ます。 こ のモー ド は、 write_checkpoint が使用 さ れ る と チ ェ ッ ク ポ イ ン ト に保存 さ れます。 -flatten_hierarchy rebuilt -flatten_hierarchy に使用で き る 値は複数あ り ますが、 階層デザ イ ン フ ロ ー の設定には rebuilt が推奨 さ れます。 -top 合成 さ れ る モジ ュ ールのモジ ュ ール/エン テ ィ テ ィ 名を指定 し ます。 synth_design よ り 前に set_property top <top_module_name> [current_fileset] が実行 さ れてい る 場合、 こ のオプシ ョ ン を使用する 必要は あ り ません。 -part タ ーゲ ッ ト にする ザ イ リ ン ク ス パーツ (例 : xc7k325tffg900-3) を指定 し ます。 synth_design コ マ ン ド は、 デザ イ ン を合成 し て、 その結果を メ モ リ に格納 し ます。 結果を フ ァ イ ルに書 き 出すに は、 write_checkpoint コ マ ン ド を実行する 必要があ り ます。 write_checkpoint <file_name>.dcp 上記の コ マ ン ド を実行す る と 、 合成結果が DCP フ ァ イ ルに保存 さ れ、 イ ン メ モ リ デザ イ ン を閉 じ る こ と がで き ます。 open_checkpoint を使用す る と 、 合成結果は後で読み出す こ と がで き ます。 こ れに よ り 、 合成を そのたびに実行 し 直 さ な く て も 、 合成結果に対 し て 1 つま たは複数の イ ンプ リ メ ン テーシ ョ ン run を実行で き ます。 タ イ ミ ン グ制約お よ び物理制約は、 OOC 合成に渡 さ れます。 物理制約は、 合成では無視 さ れ、 最終的な DCP に渡 さ れます。 タ イ ミ ン グ制約の場合、 モジ ュ ール レベル コ ン テ キ ス ト 制約はすべて正 し く USED_IN out_of_context と マー ク さ れてい る こ と が重要です。 制約が OOC にのみ使用 さ れ る こ と を指定す る 方法については、 10 ページの 「OOC 専用制約」 を参照 し て く だ さ い。 イ ン プ リ メ ン テーシ ョ ン こ のセ ク シ ョ ンでは、 OOC フ ロ ーでモジ ュ ール イ ン ス タ ン ス を イ ン プ リ メ ン ト す る のに必要な コ マ ン ド について説 明 し ます。 最上位デザ イ ンに イ ン ス タ ン シエー ト さ れた イ ン ス タ ン ス が複数 こ のモジ ュ ールに含まれ、 アセ ンブ リ フ ロ ーが使用 さ れ る 場合、必要な イ ンプ リ メ ン テーシ ョ ン結果を生成す る ために、 それぞれ独自の Pblock 制約の付いた OOC イ ンプ リ メ ン テーシ ョ ンが複数必要にな り ます。 synth_design -mode out_of_context が以前に実行 さ れ、 結果が ま だ メ モ リ に含まれ る 場合は、 イ ンプ リ メ ン テーシ ョ ン を直接実行で き ます。 た と えば、 次の イ ンプ リ メ ン テーシ ョ ン コ マ ン ド を使用で き ます。 • read_xdc : すべての制約が ま だ読み込まれていない場合に使用 し ます。 一部のモジ ュ ール レベルの XDC 制約 を OOC イ ン プ リ メ ン テーシ ョ ン にのみ適用す る 必要の あ る こ と も あ り ま す。 OOC のみの制約の詳細について は、 10 ページの 「OOC 専用制約」 を参照 し て く だ さ い。 • set_property HD.PARTITION 1 [current_design] : セルを イ ンプ リ メ ン ト 済み OOC と し て識別 し 、 再 利用フ ロ ー中に DRC と 必要な ソ フ ト ウ ェ ア機能を有効に し ます。 OOC イ ンプ リ メ ン テーシ ョ ンに必須なわけで はあ り ませんが、 再利用フ ロ ー中に最終的な DRC が正 し く イ ン ポー ト さ れ る よ う に設定 さ れてい る か ど う か確 認す る 良い方法です。 HD.PARTITION の再利用フ ロ ーでの役割については、 15 ページの 「最上位再利用 コ マ ン ド 」 を参照 し て く だ さ い。 • opt_design (オプシ ョ ンですが、 推奨) • place_design • phys_opt_design (オプシ ョ ンですが、 推奨) • route_design 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 9 アウ ト オブ コ ン テキス ト コ マ ン ド および制約 メ モ リ にデザ イ ンが読み込まれていない場合は、 デザ イ ン を読み込む必要があ り ます。 こ れは、 次の方法のいずれか で実行で き ます。 • 方法 1 :ネ ッ ト リ ス ト デザ イ ンの読み込み read_edif <file_name>.edf/edn/ngc link_design -mode out_of_context -top <top_module_name> -part <part> 表 3 : link_design オプ シ ョ ン コ マ ン ド オプ シ ョ ン 説明 -mode out_of_context ネ ッ ト リ ス ト デザ イ ン を OOC モー ド で読み込みます。 ダ ウ ン ス ト リ ーム ツール の特定チ ェ ッ ク お よ び最適化を オンに し ます。 -part タ ーゲ ッ ト にす る ザ イ リ ン ク ス パーツ (例 : xc7k325tffg900-3) を指定 し ます。 -top イ ンプ リ メ ン ト さ れ る モジ ュ ールのモジ ュ ール/エン テ ィ テ ィ 名を指定 し ます。 link_design の前に set_property -top <top_module_name> [current_fileset] が実行 さ れてい る 場合、 こ のオプシ ョ ン を使用する 必要 はあ り ません。 デザ イ ン ネ ッ ト リ ス ト を読み込んだ後に link_design に -mode out_of_context オプシ ョ ン を付けない場 合、 その後の イ ンプ リ メ ン テーシ ョ ン段階でデザ イ ンが完全デザ イ ン と し て処理 さ れ、 ソ ース のない信号や ロ ー ド のない信号がすべて削除 さ れます。 synth_design ま たは link_design のを実行中には、 OOC モジ ュ ール を定義 し て、 モジ ュ ール解析フ ロ ーを実行す る 必要があ り ます。 • 方法 2 :チ ェ ッ ク ポ イ ン ト を開 く open_checkpoint <file_name>.dcp 重要 : open_checkpoint コ マ ン ド には、-mode out_of_context オプシ ョ ンは使用で き ません。 こ のモジ ュ ール はチ ェ ッ ク ポ イ ン ト の一部 と し て保存 さ れ る ので、 チ ェ ッ ク ポ イ ン ト を書 き 出す際にはツールが正 し いモー ド であ る か ど う か を必ず確認 し て く だ さ い。 • 方法 3 : さ ま ざ ま な フ ァ イ ル タ イ プを追加 add_files コ マ ン ド を link_design と 一緒に使用す る と 、 複数の フ ァ イ ルお よ び さ ま ざ ま な フ ァ イ ル タ イ プ を含むモジ ュ ールに読み込む こ と がで き ます。 add_files <file_name>.dcp add_files <file_name>.edf add_files <file_name>.xdc link_design -mode out_of_context -top <top_module_name> -part <part> アウ ト オブ コ ン テキス ト デザイ ン制約 モジ ュ ール解析フ ロ ーを使用 し たデザ イ ンの場合、 次の制約のいずれ も 絶対に必要 と い う わけではあ り ません。 よ り 正確な タ イ ミ ン グ解析には、 HD.CLK_SRC お よ び create_clock を使用 し て く だ さ い。 その他すべての制約はオプ シ ョ ンです。 モジ ュ ール再利用フ ロ ーを使用す る 場合は、 こ れ ら の コ ン テ キ ス ト 制約が重要にな っ て き ます。 OOC モジ ュ ールを 含むデザ イ ン を問題な く アセ ンブルす る には、 こ れ ら の制約を使用 し て、 物理 リ ソ ース が適切に分配 さ れ、 ク ロ ッ ク 関係が理解 さ れ、 モジ ュ ール イ ン タ ーフ ェ イ ス に関す る 情報が正確に設定 さ れ る よ う に し ます。 各モジ ュ ールの制約 を設定 し ておかない と 、 アセ ンブ リ が よ り 困難にな り ます。 OOC 専用制約 OOC イ ン プ リ メ ン テーシ ョ ン に必要な制約の中には、 最上位デザ イ ン に イ ン ポー ト さ れ る と 問題 と な る も のがあ り ます。 こ の よ う な状況を避け る ため、 別の XDC フ ァ イ ルで こ れ ら の制約を指定 し て、 OOC 使用目的にのみ設定す る 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.4) (v2016.3) 2016 年 11 10 月 japan.xilinx.com 5 日日 30 10 アウ ト オブ コ ン テキス ト コ マ ン ド および制約 必要があ り ます。 XDC フ ァ イ ルを OOC フ ロ ーにのみ使用 さ れ る よ う に指定する 方法は、 2 つあ り ます。 特定の XDC フ ァ イ ルの制約が OOC フ ロ ーでのみ使用 さ れ る よ う に指定する と 、 それ ら にマーカーが追加 さ れ、 OOC デザ イ ン以 外に読み込まれ る 際に制約が無視 さ れ る よ う にな り ます。 • 方法 1 : read_xdc の使用 read_xdc コ マ ン ド で XDC フ ァ イ ルを読み込む際に -mode out_of_context オプシ ョ ン を使用 し ます。 read_xdc -mode out_of_context <file>.xdc ヒ ン ト : read_xdc コ マ ン ド はデザ イ ン を link_design で読み込む前ま たはあ と に実行で き ます。 • 方法 2 : USED_IN プ ロ パテ ィ フ ァ イ ルが add_files コ マ ン ド で追加 さ れ る 際に、 フ ァ イ ルにプ ロ パテ ィ を設定 し て OOC でのみ使用 さ れ る よ う に指定 し ます。 XDC フ ァ イ ルが使用 さ れ る フ ロ ーすべて (合成や イ ン プ リ メ ン テーシ ョ ン な ど) を指定す る 必要があ り ます。 add_files <file>.xdc set_property USED_IN {synthesis implementation out_of_context} [get_files <file>] 重要 : add_files コ マ ン ド は link_design でデザ イ ン を読み込む よ り も 前に実行す る 必要があ り ます。 既に読み 込まれたデザ イ ンに対 し て add_files を使用 し て も 、 フ ァ イ ルを追加はで き ません。 制約の構文 次の表は、 ア ウ ト オブ コ ン テ キ ス ト イ ンプ リ メ ン テーシ ョ ン で使用すべ き タ イ ミ ン グ制約、 配置制約、 コ ン テ キ ス ト 制約を リ ス ト し てい ます。 こ れ ら の制約の多 く は、 ど のデザ イ ン フ ロ ーで も 使用で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 4] を参照 し て く だ さ い。 重要 : ト ッ プダ ウ ン再利用フ ロ ーを使用する と 、 こ のセ ク シ ョ ンの制約はすべて自動的に生成 さ れます。 こ れ ら の制 約を生成す る ス ク リ プ ト お よ び方法については、 『Vivado Design Suite チ ュ ー ト リ アル : 階層デザ イ ン』 (UG946) を参 照 し て く だ さ い。 詳細は、 ザ イ リ ン ク ス サポー ト にお問い合わせ く だ さ い。 表 4 : タ イ ミ ング制約 制約名 説明 set_max_delay 入力お よ び出力遅延を定義 し て、 OOC モジ ュ ールで許容 さ れ る 時間を概算 し ます。 OOC イ ンプ リ メ ン テーシ ョ ンの配置を制御 し 、 最上位の タ イ ミ ン グ ク ロ ージ ャ を達成 し やす く し ます。 create_clock OOC モジ ュ ール ポー ト の ク ロ ッ ク を定義 し ます。create_clock 制約は、ク ロ ッ ク バ ッ フ ァ ーが最上位に イ ン ス タ ン シ エー ト さ れ て い て も 、 OOC モ ジ ュ ールに イ ン ス タ ン シエー ト さ れていて も 、 各 ク ロ ッ ク ポー ト ご と に必要 です。 set_clock_uncertainty OOC モ ジ ュ ールへの入力に な る ク ロ ッ ク のば ら つ き を 定義 し ま す。 OC モ ジ ュ ールのすべての ク ロ ッ ク に対 し て定義 し て、 タ イ ミ ン グ解析が正確にな る よ う に し ます。 定義 し ない と 、 モジ ュ ールが イ ン ポー ト さ れた と き に、 パ ス の タ イ ミ ン グが満た さ れな く な る こ と があ り ます。 set_system_jitter シ ス テ ム ジ ッ タ ー値を定義 し ま す。 最上位デザ イ ン に基づいて ユーザー ク ロ ッ ク のば ら つ き (set_clock_uncertainty) を定義す る 場合は 0 に設定 す る 必要があ り ます。 0 に設定 し ておかない と 、 シ ス テ ム ジ ッ タ ーが OOC イ ン プ リ メ ン テーシ ョ ン のば ら つ き 計算の要素に入れ ら れ、 最終値がユーザー の定義 し た値 と は異な っ て し ま い ます。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.4) (v2016.3) 2016 年 11 10 月 japan.xilinx.com 5 日日 30 11 アウ ト オブ コ ン テキス ト コ マ ン ド および制約 表 4 : タ イ ミ ング制約 制約名 説明 set_clock_latency OOC モジ ュ ールへの入力にな る ク ロ ッ ク の レ イ テ ン シ を定義 し ます。 こ の制 約は、 ク ロ ッ ク パ ス全体が既知ではない場合に、 ク ロ ッ ク 遅延を正 し く モデ リ ン グする ために必要です。 set_clock_groups 非同期 ク ロ ッ ク (-asynchronous) ま たは同 じ グ ロ ーバル バ ッ フ ァ ーで駆動 さ れ る ク ロ ッ ク (-physically_exclusive) を定義 し ます。 タ イ ミ ン グ制約の例 • create_clock -period 8.000 -name clk -waveform {0.000 4.000} [get_ports clk] • set_max_delay -from [get_ports -datapath_only <delay> • set_max_delay -from [get_pins -datapath_only <delay> • set_system_jitter 0.0 • set_clock_latency -source -min 0.10 • set_clock_latency -source -max 0.20 • set_clock_groups -physically_exclusive -group [clk1] -group [clk2] • set_clock_groups -asynchronous -group [clk1] -group [clk2] <ports>] -to <synchronous [get_pins pin>] -to <synchronous [get_ports pin>] <ports>] こ れ ら の タ イ ミ ン グ制約の範囲は、 その OOC モジ ュ ール自体に適用 さ れ ます。 OOC イ ン プ リ メ ン テーシ ョ ンには、 イ ン ス タ ン スへの タ イ ミ ン グ、 イ ン ス タ ン ス か ら の タ イ ミ ン グ、 イ ン ス タ ン ス内部の タ イ ミ ン グ な どすべてが含まれ ます。 こ れには、 フ ォ ルス パ スお よ びマルチサ イ ク ル パ ス な ど の特殊なパ ス も 含まれます。 表 5 : Pblock 制約 コ マ ン ド /プ ロパテ ィ 名 説明 create_pblock 各 OOC イ ン ス タ ン ス の最初の Pblock を作成す る コ マ ン ド です。 resize_pblock Pblock のサ イ ト タ イ プ (SLICE、 RAMB36 な ど) と サ イ ト 位置を定義 し ます。 add_cells_to_pblock Pblock に含まれ る イ ン ス タ ン ス を指定 し ます。通常、個別 イ ン ス タ ン ス に対す る 階層レベルを指定 し ます。 OOC イ ンプ リ メ ン テーシ ョ ンの場合は、 セル名 を指定す る 代わ り に、 -top を使用 し て、 OOC モジ ュ ールの下のセルすべて を 指定 し ます。 CONTAIN_ROUTING Pblock に含 ま れな い配線 リ ソ ー ス が使用 さ れな い よ う にす る Pblock プ ロ パ テ ィ です。 デフ ォ ル ト の値は FALSE です。 Pblock 範囲に完全に含まれ る パ ス のみが含まれます (例 : BUFGMUX の範囲がない場合、BUFGMUX を出入 り す る パ ス は含まれません。 こ れは BUFGMUX の よ う な多 く の コ ン ポーネ ン ト で 必要 と さ れ る ビヘ イ ビ アーです)。 EXCLUDE_PLACEMENT 定義 さ れた Pblock 範囲内で Pblock に含まれない ロ ジ ッ ク が配置 さ れない よ う にす る ため使用す る Pblock プ ロ パテ ィ です。 デフ ォ ル ト は false です。 こ の プ ロ パテ ィ は OOC イ ンプ リ メ ン テーシ ョ ンには影響 し ませんが、 アセ ンブ リ 中の最上位 ロ ジ ッ ク の配置に影響 し ます。アセ ンブ リ 中に最適な結果 と な る の で、 値を false の ま ま に し てお く こ と をお勧め し ます。 PARENT Pblock 階層を識別する Pblock プ ロ パテ ィ で、 値は子 Pblock が完全に含まれ る 親 Pblock の名前にな り ます。 OOC イ ンプ リ メ ン テーシ ョ ン を含むネ ス ト さ れ た Pblock はすべて PARENT キーワー ド を使用 し てモジ ュ ール再利用中の動作 を正 し く し てお く 必要があ り ます。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.4) (v2016.3) 2016 年 11 10 月 japan.xilinx.com 5 日日 30 12 アウ ト オブ コ ン テキス ト コ マ ン ド および制約 Pblock コ マ ン ド お よ びプ ロ パテ ィ の例 • create_pblock <pblock_name> • add_cells_to_pblock [get_pblocks <pblock_name>] -top • resize_pblock [get_pblocks <pblock_name>] -add {SLICE_X0Y0:SLICE_X100Y100} • resize_pblock [get_pblocks <pblock_name>] -add {RAMB18_X0Y0:RAMB18_X2Y20} • set_property CONTAIN_ROUTING true [get_pblocks <pblock_name>] Pblock に追加 さ れ る セルが -top を使用 し て指定 さ れてい る こ と に注意 し て く だ さ い。 こ れは、 OOC イ ン プ リ メ ン テーシ ョ ンでは、 OOC イ ン ス タ ン ス が最上位にな り 、 OOC イ ン ス タ ン ス全体が Pblock に含まれ る 必要があ る か ら で す。 -top を使用す る こ と で、 OOC モジ ュ ールが最上位デザ イ ンに イ ン ポー ト さ れ る 際に、 Pblock が正 し い階層レベ ルに適切に変換 さ れ る よ う も な り ます。 OOC モジ ュ ール内の ロ ジ ッ ク を フ ロ アプ ラ ンす る 場合は、 入れ子にな っ た Pblock を使用で き ます。 子 Pblock は完全 に親 Pblock 内に含ま れ る 必要があ り ます。 Pblock 間の親子関係は、 次に示す よ う に PARENT プ ロ パテ ィ を使用 し て 宣言 し ます。 set_property PARENT <parent_pblock_name> [get_pblocks <child_pblock_name>] Pblock プ ロ パテ ィ の PARENT は別の Pblock を参照する ので、 制約が処理 さ れ る 順序が重要です。 親 Pblock (-top を 使用) は、 それを参照す る 子 Pblock よ り も 前に定義する 必要があ り ます。 前述の タ イ ミ ン グ制約お よ び物理制約だけでな く 、 OOC イ ン プ リ メ ン テーシ ョ ン の コ ン テ キ ス ト を定義す る 制約 も あ り ます。 コ ン テ キ ス ト 制約では、 OOC イ ンプ リ メ ン テーシ ョ ンが イ ン ポー ト さ れ る 最上位の環境を定義 し ます。 表 6 : コ ン テキス ト 制約 コ マ ン ド /プ ロパテ ィ 名 説明 HD.CLK_SRC OOC イ ン プ リ メ ン テーシ ョ ン で、 ク ロ ッ ク バ ッ フ ァ ーが OOC モジ ュ ール外で 使用 さ れ る 場合に、 それを イ ン プ リ メ ン テーシ ョ ン ツールに伝え る ため使用 し ます。値は、 ク ロ ッ ク バ ッ フ ァ ー イ ン ス タ ン ス の位置にな り ます。 こ れは ク ロ ッ ク ポー ト に適用 さ れ、 ポー ト には こ の制約が適用 さ れ る よ り も 前に定義済み ク ロ ッ ク (create_clock) が含まれ る 必要があ り ます。 HD.PARTPIN_LOCS 配 線 さ れ る 指定 ポ ー ト に イ ン タ ー コ ネ ク ト タ イ ル (INT) を 指定 し ま す。 HD.PARTPIN_RANGE よ り も 優先 さ れます。 内部 OOC ロ ジ ッ ク の配置配線に影 響 し ます。 ク ロ ッ ク ポー ト に使用す る と 、 ク ロ ッ ク に ロ ーカル配線が使用 さ れ る ので、 ク ロ ッ ク ポー ト には使用 し ないで く だ さ い。 専用接続には使用 し ないで く だ さ い。 HD.PARTPIN_RANGE 指 定 し た ピ ン/ ポ ー ト を 配線す る た め に 使用可能 な コ ン ポ ー ネ ン ト サ イ ト (SLICE、 DSP、 BRAM) ま たは イ ン タ ー コ ネ ク ト タ イ ル (INT) の範囲を定義 し ま す。 こ の制約は専用接続を持た ない ピ ン ま たはポー ト に対 し てのみ有効です (例 : ク ロ ッ ク ま たは最上位 I/O パ ッ ド への直接接続な ど)。 こ れ ら の ピ ン ま たはポー ト に適用 さ れ る 場合、 制約は無視 さ れます。 set_logic_unconnected 最上位で未接続の ま ま にな る 指定 し た出力ポー ト に対 し て、追加で最適化が実行 で き る よ う にな り ます。 set_logic_one 最上位の VCC で駆動 さ れ る 指定 し た入力ポー ト に対 し て、 追加で最適化が実行 で き る よ う にな り ます。 set_logic_zero 最上位で GND で駆動 さ れ る 指定 し た入力ポー ト に対 し て、 追加で最適化が実行 で き る よ う にな り ます。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.4) (v2016.3) 2016 年 11 10 月 japan.xilinx.com 5 日日 30 13 アウ ト オブ コ ン テキス ト コ マ ン ド および制約 重要 : set_logic バ ウ ン ダ リ 最適化制約を間違っ て指定す る と 、 不正な ビヘ イ ビ アお よ びツール エ ラ ーが発生す る 可能性があ り ます。 た と えば、 出力ポー ト を OCC モジ ュ ールで未接続 と し て定義 し たのに、 実際にはそれが最上位 で使用 さ れ る 場合、 次の よ う なエ ラ ー メ ッ セージが表示 さ れます。 ERROR:[Opt 31-67] Problem:A LUT2 cell in the design is missing a connection on input pin I0, which is used by the LUT equation. コ ン テ キ ス ト 制約の例 • set_property HD.CLK_SRC BUFGCTRL_X0Y16 [get_ports <port_name>] • set_property HD.PARTPIN_LOCS INT_R_X0Y0 [get_ports <port_name>] • set_property HD.PARTPIN_RANGE SLICE_X0Y1:SLICE_X1Y3 [get_ports <port_name>] • set_logic_unconnected [get_ports <port_name>] • set_logic_one [get_ports <port_name>] • set_logic_zero [get_ports <port_name>] モ ジ ュ ール解析 フ ロ ーの場合、 デ フ ォ ル ト では イ ン タ ー フ ェ イ ス ネ ッ ト (OCC モ ジ ュ ール ポー ト に接続 さ れ る モ ジ ュ ー ル 内 の ネ ッ ト ) は 配 線 さ れ ま せ ん。 こ れ ら の イ ン タ ー フ ェ イ ス ネ ッ ト が 配 線 さ れ る よ う に す る に は、 HD.PARTPIN 制約を使用 し てモジ ュ ールを ロ ッ ク する 必要があ り ます。配置配線モジ ュ ール ポー ト (ま たはパーテ ィ シ ョ ン ピ ン) の配置を素早 く 取得す る には、 HD.PARTPIN_RANGE に OOC モジ ュ ールの Pblock SLICE 範囲の値を付 け ます。 こ れ ら の ピ ンの さ ら に詳細な配置を取得する には、 さ ら に厳密な HD.PARTPIN_RANGE 値を使用する か、 明 示的な HD.PARTPIN_LOCS 値を指定 し ます。 最適なサ イ ト や範囲を決定す る には、 Vivado IDE で [Device] ビ ュ ーを 開いて、 次のボ タ ン を ク リ ッ ク し て配線 リ ソ ース を オンに し ます。 拡大す る と 、 図 1 の よ う に INT の位置が表示 さ れます ( こ の図では見やす く す る ために配線 リ ソ ース を非表示に し て い ます)。 X-Ref Target - Figure 1 図 1 : INT タ イルの位置 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.4) (v2016.3) 2016 年 11 10 月 japan.xilinx.com 5 日日 30 14 最上位再利用コ マ ン ド および制約 最上位再利用 コ マ ン ド および制約 次のセ ク シ ョ ンでは、 ア ウ ト オブ コ ン テ キ ス ト イ ンプ リ メ ン テーシ ョ ン を イ ン ポー ト す る 際に最上位で使用 さ れ る コ マ ン ド お よ び制約について説明 し ます。サンプル デザ イ ンお よ び関連ス ク リ プ ト も ご要望に応 じ て用意 し てお り ま す。 詳細は、 ザ イ リ ン ク ス サポー ト にお問い合わせ く だ さ い。 各 コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 3] を参照 し て く だ さ い。 最上位再利用 コ マ ン ド ア セ ン ブ リ では、 前に イ ン プ リ メ ン ト し たモジ ュ ールを モジ ュ ール解析フ ロ ーか ら 読み込む必要が あ り ま す。 パー テ ィ シ ョ ン分割 さ れた各 イ ン ス タ ン ス のチ ェ ッ ク ポ イ ン ト は、 必ず存在 し てい る 必要があ り ます。 ま た、 それぞれの チ ェ ッ ク ポ イ ン ト は最上位デザ イ ンに読み込まれ、 OOC モジ ュ ールご と にブ ラ ッ ク ボ ッ ク ス が含まれます。 OOC イ ンプ リ メ ン テーシ ョ ン結果はブ ラ ッ ク ボ ッ ク ス ではないセルには読み込む こ と がで き ません。こ れで標準的な イ ンプ リ メ ン テーシ ョ ン コ マ ン ド を使用 し て、 ま だ配置配線 さ れていないデザ イ ン部分 (Top) を イ ンプ リ メ ン ト で き る よ う にな り ます。 合成 パーテ ィ シ ョ ン分割 さ れた イ ン ス タ ン ス それぞれに対す る ブ ラ ッ ク ボ ッ ク ス を含む最上位ネ ッ ト リ ス ト が必ず必要 です。 こ れには、 最上位合成に、 パーテ ィ シ ョ ン分割済みの イ ン ス タ ン ス のモジ ュ ール/エン テ ィ テ ィ 宣言が含まれ、 ロ ジ ッ ク は含まれない よ う にす る 必要があ り ます。 最上位合成は、 通常すべての最上位ポー ト で I/O バ ッ フ ァ ーを推論 し ますが、 I/O バ ッ フ ァ ーが OOC モジ ュ ールに特 に イ ン ス タ ン シエー ト さ れ る 場合は、 ポー ト ご と に最上位合成で I/O バ ッ フ ァ ー挿入を オ フ にす る 必要があ り ます。 Vivado 合成で こ れを実行す る 属性は IO_BUFFER_TYPE = “none” です。IO_BUFFER_TYPE お よ びその他の合成属 性の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 5] の 「合成属性」 を参照 し て く だ さ い。 イ ン プ リ メ ン テーシ ョ ン 最上位 イ ンプ リ メ ン テーシ ョ ンは、標準デザ イ ン と 同 じ よ う に実行で き ますが、次を さ ら に実行す る 必要があ り ます。 1. OOC イ ンプ リ メ ン テーシ ョ ン結果で回避 さ れ る よ う にす る には、 ブ ラ ッ ク ボ ッ ク ス セルそれぞれに HD.PARTITION プ ロ パテ ィ を設定 し ます。 注記 : HD.PARTITION プ ロ パテ ィ は、 OOC イ ンプ リ メ ン テーシ ョ ンで設定 さ れていれば、 OOC モジ ュ ール と 共 に イ ン ポー ト さ れ ますが、 最上位ブ ラ ッ ク ボ ッ ク ス イ ン ス タ ン ス に設定す る と 、 セルが正 し く マー ク さ れてい る か ど う か確認 し やす く な り ます。 2. パーテ ィ シ ョ ン さ れた イ ン ス タ ン ス ご と に OOC チ ェ ッ ク ポ イ ン ト を読み込みます。 3. 保持レベル (logical、 placement、 routing) を選択 し ます。 セルをパーテ ィ シ ョ ン と し て マー ク セルをパーテ ィ シ ョ ン と し てマー ク す る には、 HD.PARTITION セル プ ロ パテ ィ が必要です。 HD.PARTITION を設定 す る と 、 次が実行 さ れます。 • 特定のセルに DONT_TOUCH を設定す る と 、HD バ ウ ン ダ リ 中ま たは HD バ ウ ン ダ リ 上で不正な最適化が さ れない よ う にな り ます。 • HD 特有の DRC が ト リ ガー さ れます。 • read_checkpoint -cell で特定の コ ー ド を イ ネーブルに し 、 PartPin を一掃 し て余分な Pblock を削除 し ます。 set_property HD.PARTITION 1 [get_cells <cell_name>] 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.4) (v2016.3) 2016 年 11 10 月 japan.xilinx.com 5 日日 30 15 最上位再利用コ マ ン ド および制約 OOC チ ェ ッ ク ポ イ ン ト の読み込み OOC チ ェ ッ ク ポ イ ン ト は、 read_checkpoint コ マ ン ド に -cell オプシ ョ ン を付けて読み込みます。 最上位デザ イ ンは既に開いてお り 、パーテ ィ シ ョ ン分割 さ れた イ ン ス タ ン ス にそれぞれブ ラ ッ ク ボ ッ ク ス が含まれ る 必要があ り ま す。 read_checkpoint -cell <cell_name> <file> [-strict] 表 7 : read_checkpoint オプ シ ョ ン オプ シ ョ ン名 説明 -cell OOC モジ ュ ールの完全な階層名を指定する ために使用 し ます。 -strict セルを置 き 換え る のにポー ト が完全に一致 し てい る 必要があ り 、パーツ、パ ッ ケージ、 ス ピー ド グ レー ド 値が同一であ る こ と を確認 し ます。 <file> 読み込む OOC チ ェ ッ ク ポ イ ン ト を指定 し ます。 OOC モジ ュ ール イ ンプ リ メ ン テーシ ョ ンの結果を イ ン ポー ト し て ロ ッ ク する 際、 イ ン タ ーフ ェ イ ス ネ ッ ト は保持 さ れません。 ま た、 最初の ト ッ プダ ウ ン ま たは OOC イ ンプ リ メ ン テーシ ョ ン中に生成 さ れた PartPin ロ ケーシ ョ ンはす べて理想的な ロ ケーシ ョ ンではない可能性があ り 、 配線ツールで不必要な制限が課せ ら れ る こ と があ り ます。 こ のた め、 read_checkpoint -cell コ マ ン ド では自動的に イ ン タ ーフ ェ イ ス ネ ッ ト の配線が解除 さ れ、 セルのチ ェ ッ ク ポ イ ン ト か ら の PartPin がすべて削除 さ れます。 保持レ ベルの設定 OOC チ ェ ッ ク ポ イ ン ト を読み込んだ ら 、 こ のモジ ュ ールの保持レベルを定義す る 必要があ り ます。 イ ン ポー ト し た OOC チ ェ ッ ク ポ イ ン ト の配置お よ び配線を ロ ッ ク する には、 lock_design コ マ ン ド を使用 し ます。 lock_design [-level <value>] [-unlock] [<cell>] こ の コ マ ン ド を使用す る 場合、 -level オプシ ョ ン で次の値を指定す る と 、 保持レベルが指定で き ます。 • logical : 論理デザ イ ン を保持 し ます。 配置ま たは配線情報 も 使用 さ れますが、 ツールで結果を改善で き る 可能性 があ る 場合は変更可能です。 • placement (デフ ォ ル ト ) : 論理お よ び配置デザ イ ンが保持 さ れます。 配置情報 も 使用 さ れますが、 ツールで結果を 改善で き る 可能性があ る 場合は変更可能です。 • routing : 論理、 配置、 お よ び配線デザ イ ンが保持 さ れます。 内部配線は保持 さ れますが、 イ ン タ ーフ ェ イ ス ネ ッ ト は保持 さ れません。 配線を保持す る には、 OOC イ ンプ リ メ ン テーシ ョ ン中に CONTAIN_ROUTING プ ロ パテ ィ が Pblock に使用 さ れ る 必要があ り ます。 こ れに よ り 、 OOC イ ンプ リ メ ン テーシ ョ ンが再利用 さ れ る 際に配線が 競合す る こ と はあ り ません。 必要な保持レベルに関係な く 、 物理デー タ ベース全体は配線 も 含めて ま だ読み込まれますが、 ツールで結果が改善で き る と 判断 さ れない限 り は、 変更 さ れません。 表 8 : lock_design の引数 引数名 説明 -level 保持レベルを指定 し ます。 使用で き る 値は、 logical、 placement、 ま たは routing で、 デフ ォ ル ト 値は placement です。 -unlock セルの ロ ッ ク を解除 し ます。 セルを指定 し ない場合は、 デザ イ ン全体の固定が解除 さ れ ます。ロ ッ ク ビヘ イ ビ アー と 正反対の動作にな る ロ ッ ク 解除には、-level パ ラ メ ー タ ー を指定す る 必要があ り ます。 routing を指定す る と 、 配線の ロ ッ ク を解除す る のみです が、 placement を指定する と 配置配線の ロ ッ ク が解除 さ れます。 <cell> ロ ッ ク さ れ る 階層セル名です。 セルが指定 さ れない場合は、 全デザ イ ンが ロ ッ ク さ れま す。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.4) (v2016.3) 2016 年 11 10 月 japan.xilinx.com 5 日日 30 16 Tcl ス ク リ プ ト 最上位再利用制約 最上位デザ イ ンで OOC モジ ュ ールを再利用す る 場合は、 すべての標準的なデザ イ ン制約を適用で き ます。 OOC イ ン プ リ メ ン テーシ ョ ンに使用 さ れ る OOC 制約は、 チ ェ ッ ク ポ イ ン ト に保存 さ れ、 デザ イ ンに適用可能な と き に適用 さ れます。 Tcl ス ク リ プ ト こ の フ ロ ーの Tcl ス ク リ プ ト は、 ご要望に応 じ て用意 し てお り ます。 詳細は、 ザ イ リ ン ク ス サポー ト にご連絡 く だ さ い。 既知の問題 現在の リ リ ース の階層デザ イ ン フ ロ ーに関する 既知の問題について説明 し ます。 UltraScale サポー ト UltraScale デバ イ ス は、 現時点ではデザ イ ン解析 し かサポー ト さ れてい ません。 再利用フ ロ ーは、 こ の リ リ ース では ベー タ 版にな り ます。 既知の制限な どはあ り ませんが、 フ ロ ーは ま だ完全には保証 さ れてい ません。 グローバル ク ロ ッ ク 配線の制限 最上位のバ ッ フ ァ ーで駆動 さ れ る ク ロ ッ ク は、 OOC イ ン プ リ メ ン テーシ ョ ン中は配線 さ れ ません。 配線の概算が使 用 さ れ ま す。 HD.CLK_SRC を使用す る と 配線の概算は改善 さ れ ま す。 OOC モ ジ ュ ール内の ク ロ ッ ク バ ッ フ ァ ーは OOC イ ンプ リ メ ン テーシ ョ ン中に配線 さ れます。 OOC ク ロ ッ ク に最適な制約を付け る と 、 こ の タ イ ミ ン グ概算に タ イ ミ ン グの正確な結果が表示 さ れ る よ う にな り ます。 IDELAYCTRL の付いた OOC モ ジ ュ ールの制限 IDELAYCTRL の付いた OOC モジ ュ ールは イ ン ポー ト はで き ますが、ロ ッ ク で き ませんので、OOC モジ ュ ールは 100% 保持 さ れません。 非プ ロ ジ ェ ク ト モー ド のサポー ト Vivado Design Suite の階層デザ イ ンは、 現時点ではプ ロ ジ ェ ク ト モー ド ではサポー ト さ れません。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 17 付録 A その他の リ ソ ースおよび法的通知 ザイ リ ン ク ス リ ソ ース ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 次のザ イ リ ン ク ス サポー ト サ イ ト を参照 し て く だ さ い。 ソ リ ュ ーシ ョ ン セ ン タ ー デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。 参考資料 1. 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) 2. 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) 3. 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) 4. 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) 5. 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) 6. Vivado Design Suite の資料 ト レーニ ン グ リ ソ ース ザ イ リ ン ク ス では、 本書に含ま れ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ー スお よ びオ ン ラ イ ン ビデオ を提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。 1. Vivado Design Suite ビデオ チ ュ ー ト リ アル 2. Vivado でのア ド バン ス ド FPGA 設計 ト レーニ ン グ コ ース 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.4) (v2016.3) 2016 年 11 10 月 japan.xilinx.com 5 日日 30 18 付録 A : その他の リ ソ ースおよび法的通知 お読み く だ さ い : 重要な法的通知 本通知に基づいて貴殿ま たは貴社 (本通知の被通知者が個人の場合には 「貴殿」 、 法人その他の団体の場合には 「貴社」 。 以下同 じ ) に開示 さ れ る 情報 (以下 「本情報」 と いい ます) は、 ザ イ リ ン ク ス の製品を選択お よ び使用す る こ と のためにのみ提供 さ れます。 適 用 さ れ る 法律が許容す る 最大限の範囲で、 (1) 本情報は 「現状有姿」、 お よ びすべて受領者の責任で (with all faults) と い う 状態で提供 さ れ、 ザ イ リ ン ク ス は、 本通知を も っ て、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますが こ れ ら に限 ら れません)、 すべての保証お よ び条件を負わない (否認す る ) も の と し ます。 ま た、 (2) ザ イ リ ン ク ス は、 本情報 (貴殿ま たは貴 社に よ る 本情報の使用を含む) に関係 し 、 起因 し 、 関連す る 、 いかな る 種類 ・ 性質の損失ま たは損害について も 、 責任を負わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかな る 責任の法理に よ る かを問わない) も の と し 、 当該損失ま たは損害には、 直接、 間接、 特別、 付随的、 結果的な損失ま たは損害 (第三者が起 こ し た行為の結果被っ た、 デー タ 、 利益、 業務上の信用の損失、 その他あ ら ゆ る 種類の損失や損害を含みま す) が含ま れ る も の と し 、 それは、 た と え当該損害や損失が合理的に予見可能であ っ た り 、 ザ イ リ ン ク ス がそれ ら の可能性について助言を受け ていた場合であ っ た と し て も 同様です。 ザ イ リ ン ク ス は、 本情報に含ま れ る いかな る 誤 り も 訂正す る 義務を負わず、 本情報 ま たは製品仕様のア ッ プデー ト を貴殿 ま たは貴社に知 ら せ る 義務 も 負い ま せん。 事前の書面に よ る 同意のない限 り 、 貴殿ま たは貴社は本情報を再生産、 変更、 頒布、 ま たは公に展示 し てはな り ません。 一定の製 品は、 ザ イ リ ン ク ス の限定的保証の諸条件に従 う こ と と な る ので、 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販 売条件を参照 し て く だ さ い。 IP コ アは、 ザ イ リ ン ク ス が貴殿ま たは貴社に付与 し た ラ イ セ ン ス に含ま れ る 保証 と 補助的条件に従 う こ と にな り ます。 ザ イ リ ン ク ス の製品は、 フ ェ イ ルセーフ と し て、 ま たは、 フ ェ イ ルセーフ の動作を要求す る アプ リ ケーシ ョ ンに 使用す る ために、 設計 さ れた り 意図 さ れた り し てい ません。 その よ う な重大な アプ リ ケーシ ョ ン にザ イ リ ン ク ス の製品を使用す る 場合の リ ス ク と 責任は、 貴殿ま たは貴社が単独で負 う も のです。 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販売 条件を参照 し て く だ さ い。 © Copyright 2015 Xilinx, Inc. Xilinx、 Xilinx の ロ ゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 お よ び こ の文書に含ま れ る その他の指定 さ れたブ ラ ン ド は、 米国お よ びその他各国のザ イ リ ン ク ス社の商標です。 すべてのその他の商標は、 それぞれの保有 者に帰属 し ます。 こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの 右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ームか ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で 入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受 け付けてお り ません。 あ ら か じ めご了承 く だ さ い。 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.4) (v2016.3) 2016 年 11 10 月 japan.xilinx.com 5 日日 30 19 付録 A : その他の リ ソ ースおよび法的通知 階層デザイ ン UG905 (v2015.3) 2015 年 9 月 30 日 UG905 (v2016.3) 2016 年 11 (v2016.4) 10 月 japan.xilinx.com 5 日日 30 20