89
Vivado Design Suite ユーザー ガイド I/O およびクロック プランニング UG899 (v2015.4) 2015 11 18 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資 料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情 報につきましては、必ず最新英語版をご参照ください。

Vivado Design Suite - china. モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

  • Upload
    lamanh

  • View
    252

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

Vivado Design Suite ユーザー ガイド

I/O およびクロック プランニング

UG899 (v2015.4) 2015 年 11 月 18 日

本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

Page 2: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

I/O およびクロック  プランニング japan.xilinx.com 2UG899 (v2015.4) 2015 年 11 月 18 日

改訂履歴

次の表に、 この文書の改訂履歴を示します。

 

日付 バージョ ン 改訂内容

2015 年 11 月 18 日 2015.4 UltraScale™ デバイスを UltraScale アーキテクチャに変更し、 UltraScale+™ デバイスの記述を追加

第 1 章 「はじめに」 の 「Zynq UltraScale+ MPSoC の I/O プランニング」 を追加

第 2 章 「デバイスのコンフ ィギュレーシ ョ ン」 の 「コンフ ィギュレーシ ョ ン バンク電圧セレク ト ピンの設定」 に、 7 シ リーズおよび UltraScale アーキテクチャ ベース デバイスで DRC を実行するのに使用するバンクについて記述

関連する メ ニ ュー コマン ド が記述されている と こ ろに Tcl コマン ドsave_constraints の例を追加

第 3 章 「I/O プランニング」 の 「I/O ポートの設定」 に 『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085) を追加

2015 年 10 月 23 日 2015.3 2015.3 リ リース用に図をアップデート

メモ リ インターフェイス ジェネレーター (MIG) IP を メモ リ IP に変更

「I/O およびクロ ッ ク プランニング デザイン フローの手順」 の手順 4 に IP ファ イルからの I/O プランニング プロジェク トの読み出しピンの割り当てる際の注意事項を追加

「UltraScale アーキテクチャ メモ リ IP の I/O プランニング デザイン フローの変更」 にPblock の表示の変更について記述

「メモ リ IP のコンフ ィギュレーシ ョ ン」 に、 メモ リ IP が複数 IP に分割されるこ とに関する情報を追加

「I/O ポートおよびクロ ッ ク ロジッ ク関連の DRC の実行」 の設計手法チェッ クがどのように実行されるかについての記述をわかりやすく変更

2015 年 4 月 1 日 2015.1 ガイ ドの構成を変更し、 Tcl コマンドの例をアップデート

すべてのセクシ ョ ンをアップデート し、デザイン フローの情報を第 1 章 「はじめに」 に移動

第 2 章 「デバイスのコンフ ィギュレーシ ョ ン」 : 「概要」 を追加、「デバイス コンフ ィギュレーシ ョ ン モードの設定」 をアップデート、 「[Device Constraints] ウ ィンド ウの設定」 をアップデート、 「DCI_CASCADE 制約を作成する Tcl コマンド例」 にマスターおよびスレーブ バンクに関する情報を追加

第 3 章 「I/O プランニング」 : 「概要」 をアップデート、 「多機能ピン」 にアスタ リ スクに関する情報を追加、 「差動ペアの作成と分割」 に差動ピン ペアの制約に関する情報を追加、 「I/O ポートの設定」 をアップデート、 「プラ ッ ト フォーム ボード フローで使用するTcl コマンド例」 をアップデート

第 4 章 「UltraScale アーキテクチャのメモ リ IP の I/O プランニング」 を追加

第 5 章 「ク ロ ッ ク プランニング」 の 「概要」 を追加

第 6 章 「I/O およびクロ ッ ク プランニングの検証」 : 「概要」 を追加、 「DRC の実行」 をアップデート、 「SSN 解析サポートの判断」 をアップデート

第 7 章 「システム設計者との情報交換」 の 「概要」 を追加

付録 A 「UltraScale デバイス メモ リ IP の I/O 割り当ての移行」 を追加

付録 B 「CSV ファ イル形式の I/O ポート リ ス トの使用」 : 位相および BUFIO2_REGIONを削除、 スルー レートに UltraScale™ デバイスのみの MEDIUM 設定を追加、 UltraScaleデバイ スのみの OUTPUT_IMPEDANCE、 ENABLE_PRE_EMPHASIS、LVDS_PRE_EMPHASIS を追加、 DIFF_TERM を追加

図 1-1、 図 2-6、 図 3-20、 図 6-1、 および図 7-2 をアップデート

Page 3: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

目次

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

第 1章 : はじめに概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

I/O およびクロ ッ ク プランニングの段階 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

プラ ッ ト フォーム ボード フローを使用した I/O およびクロ ッ ク プランニング . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

SSI テク ノ ロジ デバイスの I/O およびクロ ッ ク プランニング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

I/O ポート を含む IP の I/O およびクロ ッ ク プランニング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Zynq UltraScale+ MPSoC の I/O プランニング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

第 2章 : デバイスのコンフ ィギュレーシ ョ ン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

互換性のある代替デバイスの指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

デバイス コンフ ィギュレーシ ョ ン モードの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

[Device Constraints] ウ ィンド ウの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

コンフ ィギュレーシ ョ ン バンク電圧セレク ト ピンの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

第 3章 : I/O プランニング概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

[I/O Planning] レイアウ トの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

デバイス リ ソースの表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

I/O ポートの定義と設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

I/O ポートの配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

I/O プランニング プロジェク トの RTL プロジェク トへの変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

第 4章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

UltraScale アーキテクチャ メモ リ IP の I/O プランニング デザイン フローの変更. . . . . . . . . . . . . . . . . . . . . . . . . . . 46

メモ リ IP のコンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Vivado IDE での UltraScale アーキテクチャ メモ リ IP の I/O プランニング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

メモ リ バンク /バイ ト プランナーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

メモ リ I/O ポートの変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

メモ リ DRC の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

PHY のインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

デザイン間での I/O ポート割り当てのコピー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

第 5章 : クロック  プランニング概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

ロジッ ク セルの検索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

[Clock Resources] ウ ィンド ウの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

[Device] ウ ィンド ウでのクロ ッ ク ロジッ クの配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

I/O およびクロック  プランニング japan.xilinx.com 3UG899 (v2015.4) 2015 年 11 月 18 日

Page 4: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6章 : I/O およびクロック  プランニングの検証概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

DRC の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

SSN 解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

第 7章 : システム設計者との情報交換概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

I/O ピンとパッケージ データのエクスポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

IBIS モデルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

PCB デザインとのインターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

付録 A : UltraScale デバイス メモリ  IP の I/O 割り当ての移行概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

プロジェク ト フローを使用した UltraScale デバイス メモ リ IP の移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

非プロジェク ト フローを使用した UltraScale デバイス メモ リ IP の移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

付録 B : CSV ファイル形式の I/O ポート  リス トの使用CSV ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

CSV ファ イルでの差動ペア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

付録 C : その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

ト レーニング リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

お読みください : 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

I/O およびクロック  プランニング japan.xilinx.com 4UG899 (v2015.4) 2015 年 11 月 18 日

Page 5: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 1章

はじめに

概要I/O およびクロ ッ ク プランニングは、 FPGA とプ リ ン ト回路基板 (PCB) の接続性を定義および解析し、 デバイスの物理的なピンにインターコネク ト信号を割り当てるプロセスです。 PCB 設計、 FPGA 設計、 およびシステム設計にかかわるプロセスであ り、 次のよ うな考慮事項および要件があ り ます。

• ク リ ティカル信号の接続を効率化するこ とによ り、 信号を短く して信号が交差するのを回避

• デバイスに送受信される高速信号のインテグ リティを保持

• 代替デバイスでも機能する I/O コンフ ィギュレーシ ョ ンを選択

• PCB 上で使用可能な電源およびグランド信号を決定

• 適切なデカップ リ ングのための PCB 要件を確立

• デバイスのプログラムおよびデバッグに関する考慮事項を特定

ピン配置が 適化されていないと遅延が増加し、タイ ミ ングおよびシグナル インテグ リティ要件を満たす障害となります。 PCB から FPGA ダイへのデータ フローを考慮する と、 適なピン配置を短期間で定義でき、 内部および外部のト レース長を削減し、 配線の密集を緩和できます。 この章では、 Vivado® 統合設計環境 (IDE) という グラフ ィカルユーザー インターフェイス (GUI) を使用した I/O およびクロ ッ ク プランニングのプロセスの概要を説明します。

I/O およびクロック  プランニングの段階Vivado Design Suite では、 PCB 設計者と FPGA 設計者の初期の共同作業から完全にインプリ メン ト されたデザインの検証まで、デザイン プロセスのさまざまな段階で I/O およびクロ ッ ク プランニングを実行できます。デザイン フローを進行していくにつれ、よ り多くの情報を入手できるよ うにな り、よ り複雑な解析およびルール チェッ クが可能になり ます。 たとえば、デザイン フローの初期段階の解析では、遅延などに予測データが使用されますが、合成済みネット リ ス ト またはインプ リ メン ト済みデザインでは、 実際のデバイスおよびインターコネク ト遅延が使用されます。

適な I/O 割り当ては、 FPGA の構造、 PCB デザインの要件、および FPGA の構造と PCB デザイン要件の関係によって異な り ます。 FPGA と PCB 間の物理的および論理的な関係を把握するこ とによ り、 デバイス上でのデータ フローを効率的なものにするこ とができます。I/O ポートの割り当ては PCB からの信号がどのよ うに FPGA デザインに入力されてボードに出力されるかを定義し、 ク ロ ッ ク リ ソースの割り当てはデザインのクロ ッ ク ツ リーの構造を定義しますが、 これらの割り当ては通常同時に行われます。

たとえば、 デバイス上の一部のピンはクロ ッ ク ピンに適しており、 ほかのピンはデジタル制御インピーダンス (DCI)カスケードおよび内部電圧基準 (VREF) に適しています。 I/O ポートおよびクロ ッ クの割り当てが適切にプランニングされていないと、 システム パフォーマンスが低下し、 デザインを何回も反復実行するこ とにな り、 デザイン ク ロージャに時間がかかり ます。UltraFast™ 設計手法を使用したボードおよびデバイス プランニングについては、『UltraFast設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 1] の 「ボードおよびデバイス プランニング」 を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 5UG899 (v2015.4) 2015 年 11 月 18 日

Page 6: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 1 章 : はじめに

I/O プランニングは、デザイン フローのどの段階でも実行できます。 たとえば、 I/O 割り当てを 上位ポート リ ス ト 、レジスタ ト ランスファー レベル (RTL) デザイン、 または合成済みネッ ト リ ス トから開始できます。 さまざまなタイプのプロジェク トによ り、 I/O プランニングを柔軟に実行できます。 ただし、 I/O の割り当てはできるだけ合成済みデザインで実行してください。 たとえば、 よ り複雑な I/O 配置のデザイン ルール チェッ ク (DRC) は、 合成済みデザインでのみ実行可能です。

メモ リ IP、ギガビッ ト ト ランシーバー (GT)、PCI Express® (PCIe) およびイーサネッ ト インターフェイスなどの IP には、 それらの IP に関連付けられた I/O ポートがあ り ます。 I/O プランニング プロセスを開始する前に、 Vivado DesignSuite の IP 機能を使用してこれらの IP を適切に設定しておく必要があ り ます。これらのインターフェイスは通常タイミ ング ク リ ティカルなので、デバイスのピン割り当てを考慮する際はこれらの IP を開始点と して使用します。また、これらの IP を使用する場合は、 RTL または合成済みデザインを使用してください。 詳細は、 「I/O ポート を含む IP のI/O およびクロ ッ ク プランニング」 を参照して ください。

I/O およびクロック  プランニング デザイン  フロー

Vivado Design Suite では、 任意のプロジェク ト タイプを使用して、 デザイン フローの任意の段階で I/O およびクロ ック プランニングを実行できます。 もよ く使用される方法は、 次のとおりです。

ヒン ト : Vivado Design Suite を非プロジェク ト モードで実行して、 I/O およびクロ ッ ク プランニングを実行するこ ともできます。 プロジェク ト モードおよび非プロジェク ト モードの詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892) [参照 2] の 「プロジェク ト モード と非プロジェク ト モード」 を参照してください。

ビデオ : デザイン プロセスのさまざまな段階での I/O プランニング実行の詳細については、 Vivado Design Suite ビデオ チュート リ アル : I/O プランニングの概要を参照してください。

RTL 作成前の I/O プランニング

空の I/O プランニング プロジェク ト を作成する と、 デザイン ソース ファ イルがない状態で、 デバイスの探索および初期 I/O ポート割り当てを実行できます。 この方法では、 RTL ソース ファ イルまたはネッ ト リ ス トはな く、 初期のI/O プランニングおよびボード レベルの統合を実行します。 これによ り、 ピン配置を設計の初期段階で定義でき、 設計サイクルの後の方でデバイスのピン配置に関連する変更が発生するのを回避できます。 I/O プランニング プロジェク ト を使用する と、 次が可能です。

• デバイスおよび I/O ポート割り当てを PCB 設計からインポート、 または I/O ポート を手動で作成

• デバイスおよび I/O ポート割り当てをエクスポート して PCB 設計用に渡したり、 デザイン プロセスの後半で使用

• ポート定義とピン割り当てが解決した後、 I/O プランニング プロジェク ト を RTL プロジェク トに変換

• ポート定義に基づいてデザインの 上位の Verilog または VHDL モジュール定義を作成

I/O ピン プランニング プロジェク トでポート割り当てを完了したら、RTL プロジェク トに変換し、デザインの 上位の Verilog または VHDL モジュール定義を作成できます。 これによ り、 RTL デザインを開始する と きに既に合意したI/O プランニングを使用できます。詳細は、第 3 章の 「I/O プランニング プロジェク トの RTL プロジェク トへの変換」を参照してください。

注記 : I/O プランニング プロジェク トの作成方法は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 3] の 「I/O プランニング プロジェク トの作成」 を参照してください。 PCB 設計で定義されたピン割り当てのインポー ト または別の Vivado Design Suite プロジェ ク ト からのピン割り当てのインポー ト については、第 3 章の 「I/O ポートの定義と設定」 を参照してください。

RTL I/O プランニング

I/O プランニングをエラボレート済み RTL プロジェク トで実行できます。 この方法では、 RTL デザイン (オプシ ョ ンで Vivado IP カタログからの IP コアまたは Vivado IP インテグレーターからのブロ ッ ク デザインを含む) を使用します。 IP カタログを使用する と、 IP のカスタマイズ、 Clocking Wizard を使用したクロ ッキング コンポーネン トのカス

I/O およびクロック  プランニング japan.xilinx.com 6UG899 (v2015.4) 2015 年 11 月 18 日

Page 7: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 1 章 : はじめに

タマイズ、 SelectIO™ Interface Wizard を使用した SelectIO インターフェイス リ ソースのコンフ ィギュレーシ ョ ンが可能です。 エラボレート済みデザインでは、 基本的な DRC を使用してポート割り当て、 I/O 規格、 クロ ッ ク リ ソース、およびその他のデザインの詳細をチェッ クできます。エラボレート済みデザインで初期の I/O およびクロ ッ ク プランニングを実行する と、デバイスおよび I/O ポート割り当てをエクスポート して PCB 回路図シンボルの生成に使用したり、 合成またはインプ リ メンテーシ ョ ンで使用する制約を XDC ファ イルに保存できます。

注記 : RTL プロジェク トの作成方法およびエラボレート済みデザインを開く方法は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 3] の 「RTL プロジェク トの作成」 を参照してください。

ネッ ト リス ト  I/O プランニング

I/O プランニングは、 合成済みネッ ト リ ス トでも実行できます。 この方法では、 合成済み RTL プロジェク ト または合成後のネッ ト リ ス トから作成したネッ ト リ ス ト プロジェク ト を使用します。 I/O およびクロ ッ ク プランニングは、できるだけ合成済みデザインで実行してください。合成後にはデザインに関するよ り詳細な情報を使用できるので、自動 I/O 配置やインタラ クティブ配置モードを使用して、 I/O ポートの割り当てを制御できます。 [I/O Planning] レイアウ ト を使用して、 デバイス パッケージの物理的なピンと、 デバイス上の I/O バンクのダイ パッ ド間の関係を表示するこ と もできます。

合成済みデザインを使用する と、 PCB とザイ リ ンクス デバイス間の接続を 適化する際に適切な判断を下すこ とができるので、 PCB またはシステム レベルの設計者と連携しやすくな り、 PCIe やメモ リ IP など、 I/O 配置を割り当てる IP コアからの I/O 配置を取り入れやすくな り ます。また、合成後には生成クロ ッ クを含むすべてのクロ ッ クが定義されているので、 Vivado Design Suite でクロ ッ ク要件およびリ ソース使用率を認識でき、 よ り詳細な検証を実行できます。

注記 : ネッ ト リ ス ト ベースの I/O プランニングは、 合成済み RTL デザインまたは合成後のネッ ト リ ス ト プロジェクトで実行できます。 合成後のプロジェク トの作成方法は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 3] の 「合成後プロジェク トの作成」 を参照してください。

推奨 : ク ロ ッ ク ロジッ クのチェッ クは、 合成済みデザインで実行するこ とをお勧めします。 ク ロ ッ ク タイ ミ ングのチェッ クは、 インプ リ メン ト済みデザインで実行するこ とをお勧めします。

インプリ メン ト済みデザインでの 終的な I/O の検証

I/O ピン配置およびクロ ッ ク コンフ ィギュレーシ ョ ンが有効であるこ とを 終的に検証するには、 完全にインプ リ メン ト済みデザインを使用する必要があ り ます。ク ロ ッ ク リ ソースが適切であるかを検証するには、すべてのクロ ッ クの完全に配線されたインプ リ メンテーシ ョ ンが必要です。インプリ メンテーシ ョ ン レポートで I/O およびクロ ッ ク関連のメ ッセージを確認できます。 後に、 I/O ポート割り当てを PCB 設計者に確認し、 FPGA がシステム レベル デザイン用に正し く定義されているこ とをチェッ ク します。

I/O およびクロック  プランニング japan.xilinx.com 7UG899 (v2015.4) 2015 年 11 月 18 日

Page 8: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 1 章 : はじめに

I/O およびクロック  プランニング デザイン  フローの手順

図 1-1 の左側に、 プロジェ ク ト デザイン フローの手順を示します。 水平方向の矢印は、 プロジェ ク ト デザイン フローで I/O およびクロ ッ ク プランニングを実行可能な段階を示します。 I/O およびク ロ ッ ク プランニング デザインフローの手順は、 右側に示されています。

X-Ref Target - Figure 1-1

図 1‐1 : I/O およびクロック  プランニング デザイン  フロー

I/O およびクロック  プランニング japan.xilinx.com 8UG899 (v2015.4) 2015 年 11 月 18 日

Page 9: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 1 章 : はじめに

プロジェク ト デザイン フローは、 空の I/O プランニング プロジェク ト 、 RTL デザイン プロジェク ト 、 または合成後のネッ ト リ ス ト プロジェク トから開始します。 これらのプロジェク ト タイプのいずれかを使用する と、 I/O およびクロ ッ ク プランニング デザイン フローの次の手順を実行できます。

1. デバイスおよび代替パーツの選択

パーツを選択する際は、 終的なデザインのリ ソース予測に基づいてデバイスのサイズを決定します。パッケージは、 メモ リへのク リ ティカル配線など、 PCB 要件に基づいて選択します。 スタ ッ ク ド シ リ コン インターコネク ト (SSI) テ ク ノ ロジを使用するデザイ ンについては、 『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』(UG949) [参照 1] の 「SSI」 を参照して ください。 互換性のある代替パーツを指定するこ と もできます。 詳細は、第 2 章の 「互換性のある代替デバイスの指定」 を参照してください。

ザイ リ ンクス デバイスおよびその他のコンポーネン ト を含み、信頼性の高い評価プラ ッ ト フォームまたは製品開発プラ ッ ト フォームを提供するターゲッ ト デザイン プラ ッ ト フォーム ボードを選択するこ と もできます。 詳細は、 「プラ ッ ト フォーム ボード フローを使用した I/O およびクロ ッ ク プランニング」 を参照してください。

2. コンフ ィギュレーシ ョ ン、 DCI カスケード、 および内部 VREF の選択

ザイ リ ンクス デバイスは、電源を投入するたびにコンフ ィギュレーシ ョ ンする必要があ り ます。ビッ ト ス ト リームは、 異なるコンフ ィギュレーシ ョ ン モードをイネーブルにする特別のコンフ ィギュレーシ ョ ン ピンを介してデバイスに読み込みます。アプリ ケーシ ョ ンで使用するコンフ ィギュレーシ ョ ン モードは、デザインの I/O プランニングに影響します。 I/O 割り当てを開始する前に、 コンフ ィギュレーシ ョ ン モードを決定しておく こ とが必要です。 コンフ ィギュレーシ ョ ン モードは一部のピンの接続を決定するだけでなく、多目的ピンを含む I/O バンクに必要な VCCO 電圧も決定します。 詳細は、 第 2 章の 「デバイス コンフ ィギュレーシ ョ ン モードの設定」 を参照してください。

伝送ラインの特性インピーダンスを一致させてシグナル インテグ リティを向上するため、 I/O 規格によって、 デジタル制御インピーダンス (DCI) でド ライバーの出力インピーダンスを制御するか、 ド ラ イバー、 レシーバー、またはその両方に並列終端を追加できます。 DCI では、 各 I/O バンクの 2 つの多目的基準ピンを使用して、 ド ライバーのインピーダンスまたはバンクのすべての I/O の並列終端値を制御します。

差動入力バッファーを使用するシングルエンド I/O 規格には、 基準電圧 (VREF) が必要です。 INTERNAL_VREF制約を使用して内部 VREF を生成できるので、PCB 上で特定の基準電圧電源レールを提供する必要はあ り ません。7 シ リーズおよび UltraScale™ アーキテクチャでは、 これによ り I/O バンクの多目的 VREF ピンをほかの I/O ポート割り当てに使用できます。 詳細は、 第 2 章の 「[Device Constraints] ウ ィンド ウの設定」 を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 9UG899 (v2015.4) 2015 年 11 月 18 日

Page 10: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 1 章 : はじめに

3. I/O ポートおよびクロ ッ クの設定

デバイス上の I/O ポートでは、 IOSTANDARD、 SLEW、 DRIVE などの複数の I/O 関連の制約がサポート されています。 これらのポート を、 システム レベル デザインに必要な規格をサポートするよ う設定します。 I/O 規格の定義が、 ピン配置に影響する可能性があ り ます。 たとえば、 1 つの I/O バンクで組み合わせるこ とができる I/O 規格とできない I/O 規格があ り ます。 詳細は、 第 3 章の 「I/O ポートの設定」 を参照してください。

ザイ リ ンクス デバイスは、 ク ロ ッ ク領域の列と行に分割されています。 1 つのクロ ッ ク領域には、 コンフ ィギャラブル ロジッ ク ブロ ッ ク (CLB)、 I/O バンク、 DSP スライス、 ブロ ッ ク RAM、 インターコネク ト、 および関連のクロ ッ ク リ ソースが含まれます。 各 I/O バンクには、 システムまたはボード ク ロ ッ クをデバイスに取り込み、クロ ッ ク配線リ ソ-スに供給するクロ ッ ク兼用入力ピンがあ り ます。デザインのクロ ッ クをデバイス全体に分配できるよ う、 これらのクロ ッ ク リ ソースの使用をプランニングする必要があ り ます。詳細は、第 5 章 「ク ロ ッ クプランニング」 を参照してください。

注記 : I/O プランニング プロジェク トでは、 ク ロ ッ ク オブジェク トが定義されていないので、 クロ ッ ク プランニングを実行するこ とはできません。

推奨 : Vivado IP カタログの Clocking Wizard を使用して、混合モード ク ロ ッ ク マネージャー (MMCM) または位相ロック ループ (PLL) モジュールを生成してク ロ ッ ク接続を定義する こ と をお勧めし ます。 詳細は、 『LogiCORE™ IPClocking Wizard 製品ガイ ド』 (PG065) [参照 4] を参照して ください。

4. メモ リ コン ト ローラー I/O ポートの割り当て

メモ リ IP は、FPGA デザインとサポート される外部メモ リ デバイスの通信用にあらかじめ設計されたコン ト ローラーおよび物理層 (PHY) を使用する メ モ リ コン ト ローラーを定義し ます。 イーサネッ ト IP や PCI Express®(PCIe) テク ノ ロジ IP だけでなく、 高速メモ リ コン ト ローラーにも、 ク ロ ッ クおよびスキューの要件によって特別なピン配置要件があ り ます。

ギガビッ ト ト ランシーバー (GT)、 PCIe テク ノ ロジ、 7 シ リーズ メモ リ IP に対しては、 コアをデザインに追加する際に、 IP カスタマイズの一部と して I/O 物理ピン割り当てを実行する必要があ り ます。 I/O 割り当てを変更するには、 デザインで IP をカスタマイズし直す必要があ り ます。 IP のカスタマイズおよび IP の操作については、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 5] を参照してください。UltraScale アーキテクチャのメモ リ IP では、 I/O 割り当ては標準 I/O プランニング フローに統合されているので、 I/O 割り当てを変更する際にメモ リ IP をカスタマイズし直す不要はあ り ません。 詳細は、 第 4 章 「UltraScale アーキテクチャのメモ リ IP の I/O プランニング」 を参照して ください。

注記 : I/O プランニング プロジェク トには、 メモ リ コン ト ローラーと PCIe、 またはギガビッ ト ト ランシーバーなどの複雑な IP の IP ファ イルからの物理ピン割り当ては読み込まれません。 詳細は、 「I/O ポート を含む IP のI/O およびクロ ッ ク プランニング」 を参照して ください。

5. I/O ポートの配置

デザインの I/O ポート を、デバイス上のパッケージ ピンにインタラ クティブに割り当てるこ とができます。 これには、 [I/O Ports] ウ ィ ン ド ウで個別の I/O ポー ト または I/O ポー ト のグループ (インターフェ イ ス) を選択し、[Package] ウ ィ ン ド ウでパッケージ ピンに、 または [Device] ウ ィ ン ド ウで I/O パッ ドに割り当てます。 詳細は、第 3 章の 「I/O ポートの配置」 を参照してください。

合成済みデザインからの情報を使用して、I/O ポート を自動的に配置するこ と も可能です。詳細は、第 3 章の 「I/Oポートの自動配置」 を参照してください。

6. DRC および SSN 解析の実行

I/O およびクロ ッ クを割り当てたら、 デザイン ルール チェッ ク (DRC) および同時スイ ッチ ノ イズ (SSN) 解析を実行してデザインを解析するこ とが重要です。 DRC は、 指定したデザイン ルールのセッ トに対して現在のデザインをチェッ ク し、 違反がある場合はレポート します。 詳細は、 第 6 章の 「DRC の実行」 を参照してください。

SSN 解析では、 同時に切り替わる出力が I/O バンク内のほかの出力ポートに与える影響を予測します。 この予測には I/O バンク特定の電気特性も考慮され、 デザインで発生する可能性のある ノ イズに関連した問題が特定されます。 詳細は、 第 6 章の 「SSN 解析」 を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 10UG899 (v2015.4) 2015 年 11 月 18 日

Page 11: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 1 章 : はじめに

注記 : SSN 解析の予測値は、 デザインで発生する可能性のある ノ イズに関連した問題を特定するためのもので、終デザインを確定するための検証方法と しては使用しないでください。

推奨 : インプリ メンテーシ ョ ン後だけではなく、 合成後のインプリ メンテーシ ョ ン前に DRC および SSN 解析を実行するこ とをお勧めします。 そ うする と、 デザイン サイクルの早期に問題を検出できます。

7. デザインのインプ リ メン ト

ザイ リ ンクス デバイスをコンフ ィギュレーシ ョ ンするためのビッ ト ス ト リームを生成する前に、デザインをインプ リ メ ン トする必要があ り ます。 インプ リ メ ンテーシ ョ ンでは、 デザイン エレ メン トのデバイス リ ソースへの配置、 デザイン ネッ ト ワークの配線、 消費電力削減およびタイ ミ ング ク ロージャ達成のための 適化が実行されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 6] および 『Vivado Design Suite ユーザー ガイ ド : インプ リ メンテーシ ョ ン』 (UG904) [参照 7] を参照してください。

8. PCB データ (XDC、 CSV、 IBIS) の生成

I/O およびクロ ッ ク プランニングは繰り返しプロセスであ り、PCB またはシステム設計者と FPGA 設計者の間での情報交換が必要です。 このプロセスは、 CSV ファ イルからインポート されたターゲッ ト デバイスのピン配置を使用した、 PCB からの入力で開始できます。 I/O およびク ロ ッ ク プランニング フローの手順を完了したら、CSV ファ イルおよび IBIS (I/O Buffer Information Specification) モデルを使用して、 ピン配置をデバイス モデルと共にシグナル インテグ リティ解析用に戻すこ とができます。詳細は、第 7 章 「システム設計者との情報交換」 を参照してください。

I/O およびクロック  プランニングの機能

表 1-1 に、 各プロジェク ト タイプでサポート される機能を示します。

表 1‐1 : I/O およびクロック  プランニングの機能

機能I/O プランニング プ

ロジェク トRTL デザイン 合成済みデザイン

インプリ メン ト済みデザイン

CSV および XDC ファイルからのポートの読み込み

サポート なし なし なし

ポートの作成または削除 サポート なし なし なし

XDC ファイルからの I/O 規格および配置の読み込み

サポート サポート サポート サポート

互換デバイスの設定 サポート サポート サポート サポート

コンフ ィギュレーシ ョ ン モードの設定

サポート サポート サポート サポート

I/O プランニング DRC サポート サポート サポート サポート

同時スイッチ ノ イズ (SSN) 解析

サポート サポート サポート サポート

クロックを考慮した配置および DRC

なし なし サポート サポート

終的な DRC なし なし なし サポート

I/O およびクロック  プランニング japan.xilinx.com 11UG899 (v2015.4) 2015 年 11 月 18 日

Page 12: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 1 章 : はじめに

プラッ ト フォーム ボード  フローを使用した I/O およびクロック  プランニングVivado Design Suite では、デザインのターゲッ ト と して、 コンフ ィギュレーシ ョ ン済みのターゲッ ト デザイン プラ ット フォーム ボードを選択できます。 ターゲッ ト ザイ リ ンクス デバイス、 ボード コンポーネン ト、 信号インターフェイス、 I/O コンフ ィギュレーシ ョ ン、 さまざまな IP コンフ ィギュレーシ ョ ン オプシ ョ ンなどの各プラ ッ ト フォームボードに関する情報は、 ボード インターフェイス ファ イルに格納されています。 Vivado Design Suite では、 定義済みボード用のボード インターフェ イス フ ァ イルを提供しています。 独自のターゲッ ト プラ ッ ト フォーム ボード をVivado ツールで使用できる よ う に定義する こ と もできます。 プラ ッ ト フォーム ボード フローの詳細は、 『VivadoDesign Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 3] の 「Vivado Design Suite ボード フローの使用」 を参照してください。

I/O 要件は、IP をカスタマイズしたと きに使用した IP コンフ ィギュレーシ ョ ンおよび信号インターフェイスによって変わる可能性があ り ます。 プラ ッ ト フォーム ボード フローで Vivado IP カタログからの IP を使用する場合は、 パッケージ ピン割り当ておよび IOSTANDARD、 SLEW、 DRIVE などの I/O 関連の制約を自動的に定義できます。

また、 I/O プランニング プロジェク ト 、 RTL デザイン プロジェク ト 、 または合成後のネッ ト リ ス ト プロジェク トで作業中に、 さまざまな Vivado Design Suite Tcl コマンドを使用してボード インターフェイス ファ イルの情報にアクセスできます。 ボード インターフェイス ファ イルからの情報を使用して、 ポート をグループ化してインターフェイスを定義したり、特定の FPGA コンフ ィギュレーシ ョ ン用に必要なポート を定義できます。詳細は、第 3 章の 「I/O ポート インターフェイスの自動推論」 を参照してください。

SSI テク ノロジ デバイスの I/O およびクロック  プランニングスタ ッ ク ド シ リ コン インターコネク ト (SSI) テク ノ ロジ デバイスを使用する場合、I/O およびクロ ッ ク プランニングが重要になり ます。SSI テク ノ ロジ デバイスはダイの集積度が高いので、配置に問題がある と、配線時間が長くなり、消費電力が増加して、 パフォーマンスが低下する可能性があ り ます。 ピン配置の選択およびクロ ッキングの詳細は、『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 1] の「SSI に関する注意事項」 を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 12UG899 (v2015.4) 2015 年 11 月 18 日

Page 13: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 1 章 : はじめに

I/O ポート を含む IP の I/O およびクロック  プランニングメモ リ、 GT、 PCIe およびイーサネッ ト インターフェイスなどの IP には、 それらの IP に関連付けられた I/O ポートがあ り ます。 I/O プランニング プロセスを開始する前に、Vivado Design Suite の IP 機能を使用してこれらの IP を適切に設定しておく必要があ り ます。これらのインターフェイスは通常タイ ミ ング ク リ ティカルなので、デバイスのピン割り当てを考慮する際はこれらの IP を開始点と して使用します。 また、 これらの IP を使用する場合は、 RTL または合成済みデザインを使用してください。

GT、 PCIe IP、 イーサネッ ト、および 7 シ リーズ メモ リ IP に対しては、 コアをデザインに追加する際に、 IP カスタマイズの一部と して I/O 物理ピン割り当てを実行する必要があ り ます。 I/O 割り当てを変更するには、 デザインで IP をカスタマイズし直す必要があ り ます。 IP のカスタマイズおよび IP の操作については、 『Vivado Design Suite ユーザーガイ ド : IP を使用した設計』 (UG896) [参照 5] を参照して ください。 UltraScale アーキテクチャのメモ リ IP では、 I/O割り当ては標準 I/O プランニング フローに統合されているので、I/O 割り当てを変更する際にメモリ IP をカスタマイズし直す不要はあ り ません。 詳細は、 第 4 章 「UltraScale アーキテクチャのメモ リ IP の I/O プランニング」 を参照してください。

Zynq UltraScale+ MPSoC の I/O プランニングZynq® UltraScale+™ MPSoC には高度な機能があるので、 ピン プランニング フローがほかのデバイス と異な り ます。Zynq UltraScale+ MPSoC IP のカスタマイズを使用して、 デザインで使用する予定の機能を指定する必要があ り ます。デザイン フローを進める と、 多重化された I/O (MIO) ピンはユーザー デザインまたは制約に表示されなくな り ます。I/O プランニング プロジェク トでは、 MIO ポートの使用率が表示されません。回路図またはボード設計者とのやり取りで使用されたピンすべてを表示するには、 [File] → [Export] コマンドで CSV ファ イルを生成するしかあ り ません。Zynq UltraScale+ MPSoC のすべてのピン プランニングには、 HDL プロジェク ト を使用するこ とをお勧めします。 詳細は、 27 ページの 「I/O ポートの定義と設定」 を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 13UG899 (v2015.4) 2015 年 11 月 18 日

Page 14: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 2章

デバイスのコンフ ィギュレーシ ョ ン

概要Vivado® Design Suite には、 I/O およびク ロ ッ ク プランニングに影響するデバイス プランニング機能がいくつかあ ります。たとえば、デバイスのコンフ ィギュレーシ ョ ン方法やコンフ ィギュレーシ ョ ン電圧の設定が、I/O およびクロ ック プランニングに影響します。 終的なデザインで必要な場合にターゲッ ト パーツのサイズを変更できるよ うに、代替パッケージ/互換性のあるデバイスを定義するこ と もできます。 I/O およびクロ ッ ク プランニングを開始する前に、これらのデバイス特定のプロパティを定義してください。

互換性のある代替デバイスの指定デザインに互換性のある代替デバイスを選択でき、必要に応じてターゲッ ト デバイスを変更できます。現在選択されているターゲッ ト パーツと同じパッケージの代替ザイ リ ンクス デバイスが選択され、 できるだけ多くの I/O 割り当てが保持されるので、 I/O ピン割り当ては選択された代替デバイスでも確実に機能します。

互換性のある代替デバイスを定義するには、 次の手順に従います。

1. [Tools] → [I/O Planning] → [Set Part Compatibility] をク リ ッ ク します。

2. [Set Part Compatibility] ダイアログ ボッ クス (図 2-1) で代替デバイスを選択し、 [OK] をク リ ッ ク します。

選択されたすべての代替デバイ ス間で共通のピンが特定され、 すべてのデバイ スに共通でないピンに対してはPROHIBIT 制約が設定されます。 選択するデバイスの数が増える と、 配置可能なパッケージ ピンの数が減り ます。

X-Ref Target - Figure 2-1

図 2‐1 : [Set Part Compatibility] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 14UG899 (v2015.4) 2015 年 11 月 18 日

Page 15: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 2 章 : デバイスのコンフ ィギュレーシ ョ ン

また、 選択した代替デバイスのボンディングされていないピンに信号が割り当てられないよ うに、 PROHIBIT 制約が自動的に設定されます。 使用禁止のパッケージ ピン数を示すダイアログ ボッ クスが表示されます。 使用禁止のピンは、 [Package]、 [Package Pins]、 [Device] ウ ィンド ウで確認できます。 禁止ピンは、 斜め線の入った丸いアイコン で表示されます。

互換性のある代替パーツを定義する  Tcl コマンド例

set_property KEEP_COMPATIBLE xc7k160tfbg676 [current_design]

注記 : set_property Tcl コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] の「set_property」 を参照して ください。 KEEP_COMPATIBLE プロパテ ィの詳細は、 『Vivado Design Suite プロパテ ィ リファレンス ガイ ド』 (UG912) [参照 9] の 「KEEP_COMPATIBLE」 を参照してください。

デバイス コンフ ィギュレーシ ョ ン  モードの設定ザイ リ ンクス デバイス コンフ ィギュレーシ ョ ン データは CMOS ラ ッチに格納されるので、デバイスに電源を投入するたびにコンフ ィギュレーシ ョ ンし直す必要があ り ます。ビッ ト ス ト リームは、異なるコンフ ィギュレーシ ョ ン モードのインターフェイス と して使用される特別のモード コンフ ィギュレーシ ョ ン ピンを介してデバイスに読み込まれます。 コンフ ィギュレーシ ョ ン モードは、 専用の入力ピンに適切な電圧を設定するこ とによ り選択します。

各コンフ ィギュレーシ ョ ン モードには、 デバイスの 1 つまたは複数の I/O バンクにまたがるインターフェイス ピンのセッ トが対応しています。バンク 0 には専用コンフ ィギュレーシ ョ ン ピンが含まれるので、すべてのコンフ ィギュレーシ ョ ン インターフェイスで常に使用されます。 UltraScale™ および UltraScale+™ デバイスのバンク 65、 7 シ リーズ デバイスのバンク 14 および 15 には、 さまざまなコンフ ィギュレーシ ョ ン モードで使用される多機能ピンが含まれています。使用可能なデバイス   コンフ ィギュレーシ ョ ン モードの詳細は、該当するデバイスのコンフ ィギュレーシ ョ ン ユーザー ガイ ド [参照 10] を参照してください。コンフ ィギュレーシ ョ ン モード とその他の多機能ピンとに競合があるかど うかを解析する場合は、 第 3 章の 「多機能ピン」 を参照してください。

デバイス コンフ ィギュレーシ ョ ン モードを設定し、 モードに関する情報を表示するには、 次の手順に従います。

1. [Tools] → [Edit Device Properties] をク リ ッ ク します。

2. [Edit Device Properties] ダイアログ ボッ クス (図 2-2) で [Configuration Modes] カテゴ リ をク リ ッ ク し、 次を実行したら [OK] をク リ ッ ク してダイアログ ボッ クスを閉じます。

° コンフ ィギュレーシ ョ ン モードのチェッ クボッ クスをオンにして、 コンフ ィギュレーシ ョ ン モードを設定します。 コンフ ィギュレーシ ョ ン モードを設定する と、 次のよ うにな り ます。

- 関連する I/O ピンが [Package Pins] ウ ィンド ウの [Config] 列に表示されます。

- デザインを保存する と、 次の制約が作成されます。

set_property BITSTREAM.CONFIG.PERSIST NO [current_design]

set_property CONFIG_MODE <configuration_mode> [current_design]

° コンフ ィギュレーシ ョ ン モードをク リ ッ ク してダイアログ ボッ クスを開く と、説明、コンフ ィギュレーシ ョン図、 詳細情報へのリ ンクなどの情報が表示されます。 コンフ ィギュレーシ ョ ン図を印刷するには、 [Print]をク リ ッ ク します。

° ピンがコンフ ィギュレーシ ョ ン ピンと して使用され、コンフ ィギュレーシ ョ ン後に汎用 I/O と しては使用されないよ うにするには、 [Prohibit usage of the configuration pins as user I/O and persist after configuration] をオンにします。 このオプシ ョ ンをオンにする と、 デザインを保存したと きに次の制約が作成されます。

set_property BITSTREAM.CONFIG.PERSIST YES [current_design]

注記 : コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム設定の詳細は、『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 11] の 「デバイス コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム設定」 を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 15UG899 (v2015.4) 2015 年 11 月 18 日

Page 16: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 2 章 : デバイスのコンフ ィギュレーシ ョ ン

重要 : JTAG コンフ ィギュレーシ ョ ン モードは、常に選択されます。JTAG コンフ ィギュレーシ ョ ン モードに加え、コンフ ィギュレーシ ョ ン モードをも う 1 つ選択できます。

3. [File] → [Save Constraints] をク リ ッ ク し、 制約をターゲッ ト XDC ファ イルに保存します。

注記 : これを Tcl コマンドで実行する場合は save_constraints を使用します。

ヒン ト : コンフ ィギュレーシ ョ ン モードを設定する場合は、 [Edit] → [Undo] をク リ ッ ク して 後のアクシ ョ ンを取り消すこ とができます。 または、 Tcl コンソールに undo を入力します。

デバイス コンフ ィギュレーシ ョ ン  モードを設定する  Tcl コマンド例

set_property CONFIG_MODE SPIx2 [current_design]

注記 :デフォルトでは、コンフ ィギュレーシ ョ ン ピンはコンフ ィギュレーシ ョ ン後にもコンフ ィギュレーシ ョ ン ピンと して保持される (persist) よ うには設定されていません。 ピンがコンフ ィギュレーシ ョ ン ピンと して使用され、 コンフ ィギュレーシ ョ ン後に汎用 I/O に使用されないよ うにするには、 次の Tcl コマンドを使用します。 set_propertyBITSTREAM.CONFIG.PERSIST YES [current_design]

X-Ref Target - Figure 2-2

図 2‐2 : [Edit Device Properties] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 16UG899 (v2015.4) 2015 年 11 月 18 日

Page 17: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 2 章 : デバイスのコンフ ィギュレーシ ョ ン

[Device Constraints] ウィンドウの設定[Device Constraints] ウ ィンド ウ (図 2-3) では、 DCI_ CASCADE および INTERNAL_VREF などの制約を設定できます。ザイ リ ンクス デバイスには、 さまざまな規格のインターフェイスをサポートするコンフ ィギュレーシ ョ ン可能な SelectIO™ インターフェイス ド ラ イバーおよびレシーバーが含まれます。 この機能には、出力駆動電流およびスルー レートのプログラマブル制御、デジタル制御インピーダンス (DCI) を使用したオンチップ終端、 基準電圧 (INTERNAL_VREF) を内部生成する機能などが含まれます。

伝送ラインの特性インピーダンスを一致させるため、 I/O 規格によって、 ザイ リ ンクス DCI でド ライバーの出力インピーダンスを制御するか、 ド ライバー、 レシーバー、 またはその両方に並列終端を追加できます。 DCI は I/O バンク内のインピーダンスを動的に調整し、 VRN および VRP ピンに配置されている外部精度基準抵抗にキャ リブレーシ ョンします。これは、プロセスのばらつきや温度および電源電圧の変動による I/O インピーダンスの変化を補正します。DCI では、 各 I/O バンクの 2 つの多目的基準ピンを使用して、 ド ライバーのインピーダンスまたはバンクのすべてのI/O の並列終端値を制御します。

差動入力バッファーを使用するシングルエンド I/O 規格には、 VREF が必要です。 I/O バンクに VREF が必要な場合は、バンクの次のピンを VREF 電源入力と して使用します。

• UltraScale アーキテクチャ ベース デバイスでは、 専用 VREF ピン

• 7 シ リーズ デバイスでは、 2 つの多機能 VREF ピン

または、 INTERNAL_VREF 制約を使用して内部 VREF を生成するこ と もできます。 内部基準電圧を使用する と、 PCB上で特定の VREF 電源レールを提供する必要がなくな り、 I/O バンク内の多目的 VREF ピンをほかの I/O ポート割り当てに使用できるよ うにな り ます。 各 I/O バンクには 1 つの VREF プレーンがあ り、 オプシ ョ ンでバンク全体に対してINTERNAL_VREF を 1 つの電圧レベルに設定できます。

詳細は、 該当するデバイスの SelectIO リ ソース ユーザー ガイ ド [参照 12] を参照してください。

X-Ref Target - Figure 2-3

図 2‐3 : [Device Constraints] ウィンドウ

I/O およびクロック  プランニング japan.xilinx.com 17UG899 (v2015.4) 2015 年 11 月 18 日

Page 18: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 2 章 : デバイスのコンフ ィギュレーシ ョ ン

DCI_CASCADE 制約の作成

DCI_CASCADE 制約は、 DCI 基準電圧用に近接する複数の I/O バンクを リ ンクするために使用します。 DCI 基準電圧を含む I/O バンクは 「マスター」 と呼ばれ、 カスケード内のその他すべての I/O バンクは 「スレーブ」 と呼ばれます。カスケードのすべてのバンクは、 デバイスの同じ I/O 列に配置されている必要があ り ます。

注記 : DCI_CASCADE 制約は、 7 シ リーズ デバイス、 Zynq®-7000 AP SoC、 および UltraScale アーキテクチャ ベースデバイスに対して設定できます。 この制約の詳細は、 『Vivado Design Suite プロパティ リ ファレンス ガイ ド』 (UG912)[参照 9] の 「DCI_CASCADE」 を参照して ください。

DCI_CASCADE 制約を作成するには、 次の手順に従います。

1. [Device Constraints] ウ ィンド ウの上部にある ド ロ ップダウン リ ス トから [DCI Cascade] を選択します (図 2-4)。

2. カスケード接続する I/O バンクを右ク リ ッ ク し、 [Add DCI Cascade] をク リ ッ ク します。

3. [Add DCI Cascade] ダイアログ ボッ クスで新しい DCI カスケードのマスター I/O バンクを選択したら、 [OK] をクリ ッ ク します。

マスター バンクが [Device Constraints] ウ ィンド ウに表示されます (17 ページの図 2-3)。

注記 : DCI カスケードには、 マスター 1 つと少なく と も 1 つのスレーブ I/O バンクが必要です。

ヒン ト : または、 [Package] ウ ィ ン ド ウまたは [Package Pins] ウ ィ ン ド ウで DCI_CASCADE 制約を作成します。 カスケード接続するバンクを右ク リ ッ ク し、 [Create a DCI Cascade] をク リ ッ ク します。

DCI_CASCADE 制約を作成する  Tcl コマンド例

set_property DCI_CASCADE {31 32} [get_iobanks 36]

注記 : この Tcl コマンドでは、 get_iobanks コマンドでマスター バンクを指定します。 この例では、 31 および 32がスレーブ バンクで、 36 がマスター バンクです。

DCI カスケード制約の変更と削除

DCI カスケードを変更するには、 [Device Constraints] ウ ィンド ウで次を実行します。

• マスターを変更するには、 DCI カスケードを右ク リ ッ ク し、 [Add DCI Cascade] をク リ ッ ク します。 [Add DCICascade] ダイアログ ボッ クスでマスターにする別のバンクを選択します。

• DCI カスケードに I/O バンクを追加するには、 その I/O バンクを DCI カスケードにド ラ ッグ アンド ド ロ ップします。

X-Ref Target - Figure 2-4

図 2‐4 : [DCI Cascade] ドロップダウン リス ト

I/O およびクロック  プランニング japan.xilinx.com 18UG899 (v2015.4) 2015 年 11 月 18 日

Page 19: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 2 章 : デバイスのコンフ ィギュレーシ ョ ン

• DCI カスケードから I/O バンクを削除するには、その I/O バンクを [Unused] フォルダーにド ラ ッグ アンド ド ロ ップします。

• DCI カスケード全体を削除するには、 DCI カスケードを右ク リ ッ ク し、 [Remove DCI Cascade Banks] をク リ ッ クします (図 2-5)。

注記 : これを実行する Tcl コマンドは次のとおりです。

set_property DCI_CASCADE {} [get_iobanks 36]X-Ref Target - Figure 2-5

図 2‐5 : DCI カスケード  バンクの削除

I/O およびクロック  プランニング japan.xilinx.com 19UG899 (v2015.4) 2015 年 11 月 18 日

Page 20: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 2 章 : デバイスのコンフ ィギュレーシ ョ ン

INTERNAL_VREF 制約の作成

ザイ リ ンクス デバイスでは、 INTERNAL_VREF 制約をイネーブルにする と、 オプシ ョ ンで内部生成された基準電圧を使用できます。内部生成する と PCB 上で特定の VREF 電源レールを提供する必要がなくな り、 I/O バンク内の多目的 VREF ピンを通常の I/O ピンと して使用できるよ うにな り ます。

ヒン ト : INTERNAL_VREF 制約が設定されていない I/O バンクは、 [Device Constraints] ウ ィンド ウの [NONE] フォルダーの下に表示されます。

INTERNAL_VREF 制約を作成するには、[Device Constraints] ウ ィンド ウで I/O バンクを該当する電圧フォルダー (たとえば 0.75V) にド ラ ッグ アンド ド ロ ップします (図 2-6)。

INTERNAL_VREF 制約を作成する  Tcl コマンド例

set_property INTERNAL_VREF 0.750 [get_iobanks 14]

X-Ref Target - Figure 2-6

図 2‐6 :内部 VREF 制約の作成

I/O およびクロック  プランニング japan.xilinx.com 20UG899 (v2015.4) 2015 年 11 月 18 日

Page 21: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 2 章 : デバイスのコンフ ィギュレーシ ョ ン

コンフ ィギュレーシ ョ ン バンク電圧セレク ト  ピンの設定コンフ ィギュレーシ ョ ン バンク電圧セレク ト (CFGBVS) ロジッ ク入力ピンは、 VCCO_0 および GND 間で参照されます。 CFGBVS ピンは、 High または Low に設定して、 バンク 0 のピンの I/O 電圧サポート を決定する必要があ り ます。Vivado ツールでは、 Tcl コマンドを使用して CFGBVS の接続を VCCO または GND に設定します。 コンフ ィギュレーシ ョ ン電圧 (VCCO_0 電圧) は 1.5、 1.8、 2.5、 または 3.3 に設定できます。 これらの設定に基づいて、 7 シ リーズ デバイスの場合は DRC がバンク 0、 14、 15 で実行され、 UltraScale デバイスの場合は、 バンク 0 および 65 で実行されます。 これらの値は、 IBIS モデルをエクスポートする際にも使用されます。

次に例を示します。

set_property CFGBVS VCCO [current_design]

set_property CONFIG_VOLTAGE 3.3 [current_design]

デフォルトでは、CFGBVS プロパティは空です。Vivado ツールで CFGBVS プロパティが VCCO または GND に設定されているかがチェッ ク されます。 CFGBVS プロパティに値が設定されている場合は、 CONFIG_MODE プロパティがチェッ ク されます。 バンクの IOSTANDARD および CONFIG_VOLTAGE 設定に基づいて、 DRC メ ッセージが表示されます。

CSV ファ イルをエクスポートする場合、Vivado からは CONFIG_MODE プロパティの設定に基づいて関連するバンク(7 シ リーズ デバイスの場合 : バンク 0、 14、 および 15、 UltraScale アーキテクチャ ベース デバイスの場合 : バンク 0および 65) の VCCO 接続情報が提供されます。 たとえば、 JTAG/バウンダ リ スキャンを使用する場合、 CFGBVS がGND、 CONFIG_VOLTAGE が 3.3 に設定されている と、 ク リ ティカル警告 DRC CFGBVS-4 が表示されます。 これは、CONFIG_VOLTAGE が 3.3 に設定されていますが、 1.8 である VCCO に設定する必要がある こ と を示しています。UltraScale+ デバイスの場合、 手動で CFGBVS または CONFIG_VOLTAGE を設定するこ とはできません。 デフォルトでは、 CFGBVS は GND に設定され、 CONFIG_VOLTAGE は 1.8V に設定されます。

注記 : CFGBVS ピンの詳細は、該当するデバイスの コンフ ィギュレーシ ョ ン ユーザー ガイ ド [参照 10] を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 21UG899 (v2015.4) 2015 年 11 月 18 日

Page 22: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3章

I/O プランニング

概要Vivado® IDE の [I/O Planning] レイアウ トは、 エラボレート済みデザイン、合成済みデザイン、およびインプリ メン ト済みデザインで使用できます。 このレイアウ トには、 [Package] ウ ィンド ウ と [Device] ウ ィンド ウが含まれます。 I/Oの情報は、 [Clock Resources]、 [Clock Regions]、 [Package Pins]、 [I/O Ports]、 [Device Constraints]、および [Properties] ウ ィンド ウに表示されます。

注記 : Vivado IDE のウ ィンド ウの詳細は、『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 13]を参照してください。

ヒン ト : I/O プランニング プロジェク トの場合は、 [I/O Planning] レイアウ トがデフォルトのレイアウ ト と して使用されます。

[I/O Planning] レイアウ トでは、 次を実行できます。

• デザイン フローの初期段階で I/O ポートの初期リ ス ト を作成、 インポート、 および設定

• デザイン フローの 後にピン配置の 終的な検証を実行

• 関連ポート をインターフェイスにま とめ、 パッケージ ピンに割り当て

• 全自動または半自動インタラ クティブ モードを使用して I/O ポートの割り当てを制御

• 物理パッケージ ピンおよびバンク と、 それに対応するチップ上の I/O パッ ド間の関係を表示

• PCB とザイ リ ンクス デバイス間の接続を 適化

• デザインおよびデバイスの I/O 要件を解析

• I/O ピン配置のコンフ ィギュレーシ ョ ンまたは PCB と FPGA デザインの両方の要件を満たすピン配置を定義

[I/O Planning] レイアウトの使用[I/O Planning] レイアウ ト を開くには、 エラボレート済み、 合成済み、 またはインプ リ メ ン ト済みのデザインを開いて、 次のいずれかを実行します。

• [Layout] → [I/O Planning] をク リ ッ ク します。

• レイアウ ト セレクターから [I/O Planning] を選択します。

• New Project ウ ィザードを使用して新しい I/O プランニング プロジェク ト を作成します。

注記 : I/O プランニング プロジェク トの作成方法は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 3] の 「I/O プランニング プロジェク トの作成」 を参照してください。

図 3-1 に、 [I/O Planning] レイアウ ト を示します。

I/O およびクロック  プランニング japan.xilinx.com 22UG899 (v2015.4) 2015 年 11 月 18 日

Page 23: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

デバイス リソースの表示[Device] ウ ィンド ウおよび [Package] ウ ィンド ウは、 デバイスおよび配置されたロジッ ク リ ソースをグラフ ィカルに表示します。 ウ ィンド ウでロジッ ク オブジェク ト またはデバイス サイ ト を選択する と、 その情報が [Properties] ウ ィンド ウに表示されます。 次に、 これらのウ ィンド ウについて詳細に説明します。

ヒン ト : 特定のオブジェク ト またはデバイス サイ ト を検索するには、[Edit] → [Find] コマンドを使用します。[Find] ダイアログ ボッ クスでは、 さまざまなオブジェク ト タイプを検索でき、 デバイスまたはデザインで特定のオブジェクト を検索する優れたフ ィルター機能も含まれています。 [Find Results] ウ ィンド ウからオブジェク ト を直接選択できます。

プロパティ

[Properties] ウ ィンド ウには、 選択したオブジェク トのプロパティが表示されます。 選択したオブジェク トによって、ウ ィ ンド ウのタイ トル バーは変化します。多くの場合、 [Properties] ウ ィンド ウにはオブジェク トに関する異なる情報を表示する複数のビューがあ り ます。たとえば図 3-2 は、 I/O ポートのプロパティを表示する [I/O Port Properties] ウ ィンド ウで、[General]、[Properties]、および [Configure] ビューが含まれます。[Properties] ウ ィンド ウを開くには、[Window]→ [Properties] をク リ ッ ク します。

X-Ref Target - Figure 3-1

図 3‐1 : [I/O Planning] レイアウト

I/O およびクロック  プランニング japan.xilinx.com 23UG899 (v2015.4) 2015 年 11 月 18 日

Page 24: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

ヒン ト : パッケージ ピンのプロパティ情報を取得するには、 Tcl コマンドを使用します。 たとえば、 次のコマンドを使用する と、 指定したパッケージ ピンに関するすべてのプロパティが表示されます。 report_property [get_package_pins <pin_number>] 次のコマン ド を使用する と、 指定したパッ ケージ ピンの 大 ト レース遅延が表示されます。 get_propertyMAX_DELAY [get_package_pins <pin_number>] Tcl コマンドの詳細は、『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] を参照してください。

クロック領域のリソースおよび統計

[Clock Regions] ウ ィンド ウを使用する と、 ク ロ ッ ク領域を簡単に選択できます。 [Clock Regions] ウ ィンド ウでクロ ック領域を選択する と、[Package] および [Device] ウ ィンド ウでそのリージ ョナル ク ロ ッ ク領域がハイライ ト されます (図 3-3)。

X-Ref Target - Figure 3-2

図 3‐2 : [I/O Port Properties] ウィンドウ

X-Ref Target - Figure 3-3

図 3‐3 : [Clock Regions] ウィンドウ

I/O およびクロック  プランニング japan.xilinx.com 24UG899 (v2015.4) 2015 年 11 月 18 日

Page 25: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

ク ロ ッ ク領域をハイライ トする と、 [Clock Region Properties] ウ ィンド ウで選択したクロ ッ ク領域のプロパティを確認できます。 [Clock Region Properties] ウ ィンド ウでは、 次を実行できます。

• [Statistics] ビューをク リ ッ ク して、 選択したクロ ッ ク領域のリ ソース統計および内容を表示します。

• [Resources] ビューをク リ ッ ク して、 ロジッ クを割り当てるデバイス ク ロ ッ ク リ ソースを見つけます (図 3-4)。

注記 : [Clock Regions Properties] ウ ィンド ウでオブジェク ト を選択する と、 [Device] ウ ィンド ウなど、 開いているほかのウ ィンド ウでも選択されます。ウ ィンド ウをタイル表示にする と、 [Device] ウ ィンド ウ と [Package] ウ ィンド ウの両方が同時に表示できます。

[Clock Resources] ウ ィンド ウには、 使用可能なクロ ッ ク リ ソースが表示されるので、 グローバルおよびリージ ョナルクロ ッ ク ツ リーのエレ メン トのプランニングおよび配置に役立ちます。 詳細は、 第 5 章の 「[Clock Resources] ウ ィンド ウの使用」 を参照してください。

I/O バンク  リソース

I/O リ ソースは、 [I/O Planning] レイアウ トのどのウ ィンド ウでも選択でき、 図 3-3 に示したよ うに選択したデータはほかのすべてのウ ィ ン ド ウでハイ ラ イ ト表示されるため、 物理パッケージと内部チップの関係を簡単に確認できます。

特定の I/O バンクに関する情報を表示するには、 次の手順に従います。

1. [Package Pins] ウ ィンド ウで I/O バンクの 1 つを選択します。

2. [I/O Bank Properties] ウ ィンド ウ (図 3-5) のビューをク リ ッ ク し、 情報を確認します。

X-Ref Target - Figure 3-4

図 3‐4 : [Clock Region Properties] ウィンドウの [Resources] ビュー

I/O およびクロック  プランニング japan.xilinx.com 25UG899 (v2015.4) 2015 年 11 月 18 日

Page 26: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

多機能ピン

[Package Pins] ウ ィンド ウ (図 3-6) には、 数種類のデータが表形式で表示されます。 このウ ィンド ウでは、 次を実行できます。

• データの展開表示、 フ ィルター処理、 並べ替え

• 列を移動、 非表示、 設定変更して、 さまざまな多機能ピンを表示および比較

• テキス ト を入力するか、 ド ロ ップダウン リ ス トから値を選択し、 一部のセルを直接編集

[Package Pins] ウ ィンド ウには、 次の情報が含まれます。

• [Type] : 多機能ピンのタイプを示します。

• [Config] : デバイス コンフ ィギュレーシ ョ ン モードを設定した後の多機能ピンのピン定義を示します。

注記 :多くのデバイス コンフ ィギュレーシ ョ ン モードで多機能ピンが使用されます。 詳細は、 「デバイス コンフ ィギュレーシ ョ ン モードの設定」 を参照してください。

• その他の列 : 多機能ピンに関するロジッ クまたはコンフ ィギュレーシ ョ ン モードなどの情報を示します。

• GT、 メモ リ コン ト ローラー、 または PCI™ ロジッ クを含むデザインで競合する多機能ピンを示します。

• アスタ リ スクが付いている場合、 I/O 規格または駆動電流やスルー タイプなどの属性がシステムで生成されたデフォルト以外に設定されているこ とを示します。

[Package] ウ ィンド ウでは、 多機能ピンの機能が次のシンボルで示されます。

• ク ロ ッ ク兼用ピンは、 青い六角形のアイコンで表示されます。

• VREF ピンには、 電源マークが表示されます。

重要 : 専用 I/O ピンは、 バンクではなく ターゲッ ト デバイス専用です。 たとえば、 VCCO や GND のよ うな専用 I/O ピは、 バンク特定ではなくデバイス特定です。

X-Ref Target - Figure 3-5

図 3‐5 : [I/O Bank Properties] ウィンドウ

I/O およびクロック  プランニング japan.xilinx.com 26UG899 (v2015.4) 2015 年 11 月 18 日

Page 27: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

I/O ポートの定義と設定Vivado IDE を使用して、 I/O ポート をインポート、 作成、 および設定できます。

I/O ポートのインポート

プロジェク トのタイプによって、 次の方法で I/O ポート をインポートできます。

• I/O プランニング プロジェク ト : プロジェク ト作成時、 またはファイルのインポート機能を使用して、 空の I/Oピン プランニング プロジェク トに XDC または CSV ファ イルをインポートできます。詳細は、「CSV ファ イルのインポート 」 および 「XDC ファ イルのインポート 」 を参照して ください。

• RTL プロジェク ト : RTL ファ イルまたはヘッダーを使用して I/O プランニング用に RTL プロジェク ト を作成し、設計プロセスが進行してからよ り完全な RTL ソース ファ イルを追加します。 RTL ベースまたは合成済みネッ トリ ス ト ベースのプロジェク ト を作成する と、 [I/O Ports] ウ ィンド ウにデザインで定義された I/O ポートが自動的に表示されます。

• I/O プランニング プロジェク ト を RTL プロジェク トに変換 : I/O ピン プランニング プロジェク ト を RTL プロジェク トに変換し、 I/O ポート をデザインの 上位 Verilog または VHDL モジュール定義に変換できます。 詳細は、 「I/O プランニング プロジェク トの RTL プロジェク トへの変換」 を参照してください。

CSV ファイルのインポート

CSV ファ イルをインポート して、 [I/O Planning] レイアウ トの [I/O Ports] ウ ィンド ウに表示できます。これらの I/O ポート を物理パッケージ ピンに割り当てて、 デバイス ピンの設定を定義できます。

CSV ファ イルから I/O ポートのリ ス ト をインポートするには、 次の手順に従います。

1. [File] → [Import] → [Import I/O Ports] をク リ ッ ク します。

2. [Import I/O Ports] ダイアログ ボッ クス (図 3-7) で [CSV File] をオンにし、 参照ボタンをク リ ッ ク してインポートするファ イルを選択します。

X-Ref Target - Figure 3-6

図 3‐6 : [Package Pins] ウィンドウ

I/O およびクロック  プランニング japan.xilinx.com 27UG899 (v2015.4) 2015 年 11 月 18 日

Page 28: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

図 3-8 に、 CSV ファ イル形式を示します。 CSV は、 FPGA やボード設計で、デバイス ピンおよびピン配置のデータを交換するために使用される標準ファイル形式です。 Vivado IDE で I/O ピン関連のデータをインポートするには、 特定の CSV ファ イル形式が必要です。 詳細は、 付録 B 「CSV ファ イル形式の I/O ポート リ ス トの使用」 を参照してください。

CSV ファ イルでは、差動ペアを複数の方法で定義できます。たとえば、DiffPair Signal および DiffPair Type プロパティを定義する と差動ペアが認識されます。 また、 CSV ファ イルでペアの 1 つのポートのみを定義した場合、 または 2 つのネッ トに適切な名前が使用されている場合、 差動ペアが推論されます。 詳細は、 付録 B の 「CSV ファ イルでの差動ペア」 を参照して ください。 差動ペアが推論される と、 ペアの割り当てを確認する メ ッセージが表示されます (図 3-9)。

X-Ref Target - Figure 3-7

図 3‐7 : [Import I/O Ports] ダイアログ ボックス

X-Ref Target - Figure 3-8

図 3‐8 : CSV ファイル形式の I/O ポート  リス ト

I/O およびクロック  プランニング japan.xilinx.com 28UG899 (v2015.4) 2015 年 11 月 18 日

Page 29: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

CSV ファ イルには、 Vivado IDE では認識されない追加情報を含めるこ と もできます。 インポート された CSV ファ イルに認識できない情報が含まれる場合、[Package Pins] ウ ィンド ウのユーザー列に表示されます。ユーザー CSV フ ィールドの値を変更または定義するには、 [Package Pins] ウ ィンド ウで右ク リ ッ ク し、 [Set User Column Values] をク リ ッ クします。

注記 : CSV ファ イルのエクスポートの詳細は、 第 7 章の 「I/O ピンとパッケージ データのエクスポート 」 を参照してください。

XDC ファイルのインポート

XDC ファ イルから I/O ポートの定義をインポートするには、 次の手順に従います。

1. [File] → [Import] → [Import I/O Ports] をク リ ッ ク します。

2. [Import I/O Ports] ダイアログ ボッ クス (図 3-7) で [XDC File] をオンにし、 参照ボタンをク リ ッ ク してインポートするファ イルを選択します。

XDC ではポートの方向は定義されていないので、 方向は未定義になり ます。 I/O ポートの方向を定義するには、 [I/OPorts] ウ ィンド ウで右ク リ ッ ク し、 [Set Direction] をク リ ッ ク します。 [I/O Ports] ウ ィンド ウで特定の I/O ポートの方向を直接変更するこ と もできます。 詳細は、 「I/O ポート方向の設定」 を参照してください。

シングルエンドまたは差動 I/O ポートの作成

I/O ピン プランニング プロジェク トでは、新しいポート を手動で定義できます。デバイスの電圧に関する情報は、 ザイ リ ンクス デバイスの資料を参照してください。

注記 : [I/O Ports] ウ ィンド ウでは、各差動ペアが 1 行に表示されます。 1 つの行に 2 つのポートが含まれるので、 かっこ内に示されるポートの合計数は行数よ り も大き くな り ます。 [I/O Ports] ウ ィンド ウでのポートの合計数に一致する信号のリ ス ト を取得するには、 次の Tcl コマンドを使用します。 get_ports * -filter {BUS_WIDTH == "" }

X-Ref Target - Figure 3-9

図 3‐9 : [Infer differential pairs] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 29UG899 (v2015.4) 2015 年 11 月 18 日

Page 30: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

I/O ポート を作成するには、 次の手順に従います。

1. [I/O Ports] ウ ィンド ウで右ク リ ッ ク し、 [Create I/O Ports] をク リ ッ ク します。

2. [Create I/O Ports] ダイアログ ボッ クス (図 3-10) で次のオプシ ョ ンを指定し、 [OK] をク リ ッ ク します。

° [Name] : 作成するポート またはバスの名前を指定します。

° [Direction] : ポートの方向を選択します。

° [Diff Pair] : 差動ペア信号を定義する場合にオンにします。

注記 :差動 I/O ポート を作成するには、 このオプシ ョ ンをオンにします。 これによ り 2 つのポートが作成され、 負のポートの名前には _N 接尾辞が付きます。

° [Create Bus] : バスを作成する場合にバスの範囲を指定します。

° [I/O standard] : I/O 規格を選択します。

° [Drive strength] : 駆動電流の値を選択します。

° [Slew type] : スルー レートのタイプを選択します。

° [Pull type] : 抵抗のタイプを選択します。

° [In Term type] : 入力信号の並列終端プロパティを定義します。

シングルエンドまたは差動 I/O ポート を作成する  Tcl コマンド例

• シングルエンド I/O ポート を作成

create_port port_1 -direction in

• 差動 I/O ポート を作成

create_port port_2 -direction in -diff_pair

X-Ref Target - Figure 3-10

図 3‐10 : [Create I/O Ports] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 30UG899 (v2015.4) 2015 年 11 月 18 日

Page 31: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

差動ペアの作成と分割

I/O ピン プランニング プロジェク トで差動ペアを定義するには、 次の手順に従います。

1. [I/O Ports] ウ ィンド ウで 2 つの I/O ポート を選択し、 右ク リ ッ ク して [Make Diff Pair] を選択します。

重要 : [Make Diff Pair] オプシ ョ ンは RTL プロジェク トでは使用できません。 RTL プロジェク トでは、適切な I/O バッファーのインスタンシエーシ ョ ンを使用して、 ソース コードで差動ペアを定義する必要があ り ます。

[Make I/O Diff Pair] ダイアログ ボッ クス (図 3-11) では、ツールによ り 2 つの I/O ポートが P 側と N 側に割り当てられています。

2. P 側と N 側の信号を入れ替える場合は [Swap] をク リ ッ ク し、 [OK] をク リ ッ ク します。

ヒン ト : 差動ペアを 2 つのポートに分割するには、 右ク リ ッ ク して [Split Diff Pair] をク リ ッ ク します。

重要 : UltraScale™ アーキテクチャの差動ピン ペアの一方に制約を適用する と、 も う一方にも自動的に逆の制約が追加されます。 たとえば、 P 側に PULLDOWN 制約を適用した場合、 N 側に PULLUP 制約が適用されます。制約を変更する と、 新の設定によ り以前の設定が上書きされます。

差動ペアを作成および分割する  Tcl コマンド例

• 差動ペアを作成

make_diff_pair_ports txp_out txn_out

• 差動ペアを分割

split_diff_pair_ports txp_out txn_out

I/O ポートの設定

ザイ リ ンク ス デバイスには、 さまざまな規格のインターフェイスをサポー トするコンフ ィギュレーシ ョ ン可能なSelectIO™ インターフェイス ド ラ イバーおよびレシーバーが含まれます。 これらの標準インターフェイスには、出力駆動電流およびスルー レートのプログラマブル制御、 DCI を使用したオンチップ終端、 内部 VREF の生成などの機能が含まれます。 1 つまたは複数の I/O ポートの I/O 規格、 駆動電流、 スルー レートのタイプ、 抵抗のタイプ、 および入力信号の並列終端を設定できます。 この方法は、適切な特性が指定されていない CSV または XDC ファ イルからインポート されたポート を設定する場合に便利です。 これらのポート を、 システム レベル デザインに必要な規格をサ

X-Ref Target - Figure 3-11

図 3‐11 : [Make I/O Diff Pair] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 31UG899 (v2015.4) 2015 年 11 月 18 日

Page 32: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

ポートするよ う設定します。たとえば、1 つの I/O バンクで組み合わせるこ とができる I/O 規格とできない I/O 規格があ り ます。

I/O バンクの規格および要件の詳細は、 該当するデバイスの SelectIO リ ソース ユーザー ガイ ド [参照 12] を参照してください。パッケージおよびピン配置仕様については、該当するデバイスのパッケージおよびピン配置ユーザー ガイド [参照 14] を参照して ください。 MIO ピンを含む Zynq®-7000 AP SoC ピンの詳細は、 『Zynq-7000 All ProgrammableSoC テクニカル リ フ ァレンス マニュアル』 (UG585) [参照 15] を参照して ください。 MIO を含めた Zynq UltraScale+MPSoC ピンの詳細については、 『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085) [参照 23]を参照してください。

ポート またはポートのグループを設定するには、 次の手順に従います。

1. [I/O Ports] ウ ィンド ウで、 ポート を選択します。

2. 右ク リ ッ ク し、 [Configure I/O Ports] をク リ ッ ク します。

3. [Configure Ports] ダイアログ ボッ クス (図 3-12) で次のオプシ ョ ンを指定し、 [OK] をク リ ッ ク します。

注記 : [Configure Ports] ダイアログ ボッ クスのオプシ ョ ンは、 ターゲッ ト デバイスによって異なり ます。

° [I/O standard] : I/O 規格を選択します。 I/O 規格は指定したと きにはチェッ ク されません。ポートにはどの I/O規格でも割り当てるこ とができますが、 DRC を実行したと きにエラーとなる可能性があ り ます。

° [Drive strength] : 駆動電流の値を選択します。

° [Slew type] : スルー レートのタイプを選択します。

° [Pull type] : 抵抗のタイプを選択します。

- [PULLUP] : ト ラ イステート出力または双方向ポートにウ ィーク High を適用し、 駆動されていない場合に未接続にならないよ うにします。

- [PULLDOWN] : ト ラ イステート出力または双方向ポートにウ ィーク Low を適用し、 駆動されていない場合に未接続にならないよ うにします。

- [KEEPER] : ト ラ イステート出力または双方向ポートにウ ィーク ド ラ イバーを適用し、 駆動されていない場合に値を保持します。

- [NONE] : ド ラ イバーは適用されません。

注記 :抵抗のタイプは、 [I/O Ports] ウ ィンド ウの [Pull Type] 列をク リ ッ ク しても設定できます。

° [In Term Type] (7 シ リーズ デバイスのみ) : 入力信号の並列終端プロパティを定義します。詳細は、 『7 シ リーズ FPGA SelectIO リ ソース ユーザー ガイ ド』 (UG471) [参照 12] を参照して ください。

° [ODT] (UltraScale アーキテクチャ ベース デバイスのみ) : サポート されている I/O 規格の DCI および非 DCIバージ ョ ンの入力に対し、 オンダイ終端 (ODT) の値を定義します。 詳細は、 『UltraScale アーキテクチャSelectIO リ ソース Advance 仕様ユーザー ガイ ド』 (UG571) [参照 12] を参照して ください。

° [Fixed] : 論理ポートがユーザーの割り当てたものであるこ とを示します。 ビッ ト ス ト リームがエラーなく生成されるよ うにするため、 ポート を固定する必要があ り ます。

[Configure Ports] ダイアログ ボッ クスでは [Fixed] オプシ ョ ンは表示のみで、設定できません。 ポート を固定するには、 [I/O Ports] ウ ィンド ウでポート を選択して [Fix Ports] ツールバー ボタン をク リ ッ クするか、Tcl コンソールに次の Tcl コマンドを入力します。

set_property IS_LOC_FIXED true [get_selected_objects]

または、 次の Tcl コマンドを使用します。

set_property IS_LOC_FIXED true [get_ports <list_of_ports>]

I/O およびクロック  プランニング japan.xilinx.com 32UG899 (v2015.4) 2015 年 11 月 18 日

Page 33: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

注意 : 7 シ リーズ デバイス、 Zynq-7000 AP SoC、 UltraScale デバイス、 UltraScale+ デバイス、 および Zynq UltraScale+MPSoC の場合、 すべての I/O ポートの PACKAGE_PIN および IOSTANDARD 制約に明確に値を指定して、 ビッ ト スト リーム ファ イルを生成する必要があ り ます。 [I/O Ports] ウ ィンド ウに default と赤で表示されている場合は、 これらの値を手動で適用する必要がるこ とを示しています。 これらのデバイスには高電圧および低電圧の I/O バンクがあるので、 I/O 規格を割り当てる際は注意が必要です。

X-Ref Target - Figure 3-12

図 3‐12 : [Configure Ports] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 33UG899 (v2015.4) 2015 年 11 月 18 日

Page 34: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

I/O ポート方向の設定

I/O ポートの方向を指定するには、 次のいずれかの方法を使用します。

• I/O プランニング プロジェク トのみ :

° [I/O Ports] ウ ィンド ウで [Direction] 列をク リ ッ ク し、 ド ロ ップ ダウン リ ス トから方向を選択します。

° [I/O Ports] ウ ィンド ウでポート をク リ ッ ク し、 [I/O Port Properties] ウ ィンド ウでその方向を変更します。

° [I/O Ports] ウ ィンド ウで I/O ポート、バス、またはインターフェイスを右ク リ ッ ク し、[Set Direction] をク リ ック します。

• RTL プロジェク トのみ : RTL ソースでポートの方向を定義します。

重要 : ポート方向プロパティは、 I/O ピン プランニング プロジェク ト内でのみ設定できます。 このプロパティを I/Oピン プランニング プロジェク ト外で変更しよ う とする と、 ク リ ティカル警告が表示されます。

I/O ポート  インターフェイスの作成

複数のポート またはバスをグループ化するには、インターフェイスを作成します。インターフェイス ポートが 1 つのグループと して処理されるので、 ピンの割り当てに有益です。 ピンをすべて同時に割り当てる と、 ク ロ ッ ク領域または PCB 配線関連のインターフェイスをま とめたり分離しやすくな り ます。 特定のロジッ ク インターフェイスに関連付けられた信号の表示および管理も容易になり ます。

インターフェイスを作成するには、 次の手順に従います。

1. [I/O Ports] ウ ィンド ウで、 グループ化する信号を選択します。

2. 右ク リ ッ ク して [Create I/O Port Interface] をク リ ッ ク します。

3. [Create I/O Port Interface] ダイアログ ボッ クス (図 3-13) で、 インターフェイスの名前を指定し、 [Assign] チェッ クボッ クスをオン/オフに設定して、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 3-13

図 3‐13 : [Create I/O Port Interface] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 34UG899 (v2015.4) 2015 年 11 月 18 日

Page 35: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

インターフェイスが [I/O Ports] ウ ィンド ウに展開可能なフォルダーと して表示されます (図 3-14)。

ヒン ト : インターフェイスを削除するには、 削除するインターフェイスを選択し、 右ク リ ッ ク して [Delete] をク リ ックするか、 Delete キーを押します。

インターフェイスへの I/O ポートの追加

インターフェイスに I/O ポート を追加するには、 [I/O Ports] ウ ィンド ウで次のいずれかを実行します。

• I/O ポート を選択し、 インターフェイス フォルダーにド ラ ッグします。

• ポート またはバスを右ク リ ッ ク し、 [Assign to Interface] をク リ ッ ク します。 [Select I/O Port Interface] ダイアログボッ クスで、 インターフェイスを選択します。

インターフェイスからの I/O ポートの削除

I/O ポート を削除するには、 [I/O Ports] ウ ィンド ウでポート を右ク リ ッ ク し、 [Unassign from Interface] をク リ ッ ク します。

I/O ポート  インターフェイスを処理する  Tcl コマンド例

• I/O ポート インターフェイスを作成

create_interface interface_1

set_property INTERFACE interface_1 [get_ports [list {test_1[3]} {test_1[2]} \ {test_1[1]} {test_1[0]} {test_1_n[3]} {test_1_n[2]} {test_1_n[1]} \ {test_1_n[0]}]]

set_property INTERFACE interface_1 [get_ports [list port_2 port_2_N port_1 \ port_4]]

• インターフェイスからの I/O ポート を削除

set_property INTERFACE "" [get_ports [list port_2 port_2_N]]

X-Ref Target - Figure 3-14

図 3‐14 : [I/O Ports] ウィンドウの I/O ポート  インターフェイス

I/O およびクロック  プランニング japan.xilinx.com 35UG899 (v2015.4) 2015 年 11 月 18 日

Page 36: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

I/O ポート  インターフェイスの自動推論

推奨 : プロジェク ト でパーツではな くプラ ッ ト フォーム ボードをターゲッ トにしている場合は、 Vivado Design Suiteプラ ッ ト フォーム ボード フローを使用し、[Customize IP] ダイアログ ボッ クスの [Board] タブまたは Vivado IP インテグレーターの [Board] ウ ィンド ウでボード ピン配置制約を設定および適用するこ とをお勧めします。 プラ ッ ト フォーム ボード フローの詳細は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 3] の「Vivado Design Suite ボード フローの使用」 を参照してください。

IP からデザインの 上位ポートに接続されるインターフェイスを表示できます。 これらの IP インターフェイスに対しては、 Vivado ツールで自動的にピン プランニング インターフェイスが推論され、 関連する 上位 I/O ポートがグループ化されます。 これによ り、 上位デザインのコンテキス ト内でインターフェイスが象徴的に参照されるよ うになり ます。 たとえば 「」 図 3-15 では、 led_8bits_tri_o バスは汎用 I/O (GPIO) インターフェイスで、 GPIO_9847ピン プランニング インターフェイスの下にま とめられています。

I/O ポートに関連するボード パーツ ピンは、[I/O Ports] ウ ィンド ウの [Board Part Pin] 列で確認できます。図 3-15 では、ピン プラ ンニング イ ン ターフ ェ イ ス GPIO_9847 に関連付け られているポー ト がボード パーツ ピンのleds_8bits_tri_o[7:0] に制約されています。

注記 : GPIO_9847 の番号 9847 は、 デザインに複数の GPIO インターフェイスがある場合に、 GPIO インターフェイスを識別するために使用されています。 番号自体に意味はあ り ません。

X-Ref Target - Figure 3-15

図 3‐15 : I/O ポート  インターフェイスの自動推論

I/O およびクロック  プランニング japan.xilinx.com 36UG899 (v2015.4) 2015 年 11 月 18 日

Page 37: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

プラッ ト フォーム ボード  フローで使用する  Tcl コマンド例

• ボード パーツ インターフェイスを取得

get_board_part_interfaces

• ボード インターフェイスに関連付けられているポート を取得

get_board_interface_ports -of [get_board_part_interfaces]

• ポートのプロパティを取得

get_property NAME [lindex [get_board_interface_ports] 5]

get_property DIRECTION [lindex [get_board_interface_ports] 5]

• ボード パーツ ピンからプロパティを取得

get_property IOSTANDARD [get_board_part_pins]

get_property LOC [get_board_part_pins]

注記 : get_board_part_interfaces Tcl コマンドの詳細は、『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)[参照 8] の 「get_board_part_interfaces」 を参照して ください。

I/O ピンおよび I/O バンクの使用禁止

[I/O Planning] レイアウ トでは、I/O ピン、I/O ピンのグループ、または I/O バンクを使用禁止に設定できます。[Device]、[Package]、 [Package Pins] ウ ィンド ウでピンを選択し、 使用禁止にします。

I/O ピンまたは I/O バンクを使用禁止にするには、 次の手順に従います。

1. [Device]、 [Package]、 または [Package Pins] ウ ィンド ウで、 I/O ピンまたは I/O バンクを選択します。

2. 右ク リ ッ ク して [Set Prohibit] をク リ ッ ク します。

使用禁止に設定されたピンは、 次のよ うに表示されます。

• [Device] ウ ィンド ウおよび [Package] ウ ィンド ウでは、 斜線の入った赤丸が表示されます (図 3-16)。

• [Package Pins] ウ ィンド ウの [Prohibit] 列にチェッ ク マークが表示されます。

ヒン ト : 禁止設定は、 [Package Pins] ウ ィ ン ド ウの [Prohibit] 列で削除できます。 個々の禁止を選択するか、 Ctrl + Aキーを押してすべてのピンを選択し、 右ク リ ッ ク して [Clear Prohibit] をク リ ッ ク します。 または、 次の Tcl コマンドを使用して、 禁止設定を削除するこ と も可能です。 set_property prohibit 0 [get_sites U17]

X-Ref Target - Figure 3-16

図 3‐16 :使用禁止に設定されたパッケージ ピン

I/O およびクロック  プランニング japan.xilinx.com 37UG899 (v2015.4) 2015 年 11 月 18 日

Page 38: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

I/O ピンを使用禁止にする  Tcl コマンド例

set_property PROHIBIT 1 [get_sites U17]

I/O ポートの配置[I/O Planning] レイアウ トでは、 複数の方法で I/O ポート をパッケージ ピンに割り当てるこ とができます。 [I/O Ports]ウ ィンド ウで個別の I/O ポート、 I/O ポートのグループ、 またはインターフェイスを選択し、 [Package] ウ ィンド ウでパッケージ ピンに、 または [Device] ウ ィンド ウで I/O パッ ドに割り当てるこ とができます。

[Package] ウ ィンド ウでは、 次の操作を実行できます。

• ポート をパッケージ ピンにド ラ ッグ アンド ド ロ ップします。

• ポートの配置と制約を確認します。

• ピン上にカーソルを移動し、 ウ ィ ンド ウの上と左に I/O ピンの座標を表示します。

• ピン上にカーソルを置き、 ピン情報を含むツール ヒ ン ト を表示します。

• 差動ペアは、 [Show Differential Pairs] ツールバー ボタン を使用する と表示できます。

注記 : I/O ピンおよびバンクのその他の情報は、 Vivado IDE の下部にあるステータス バーに表示されます。

I/O ポートの順次配置

I/O ポート を順次に配置するには、 次の手順に従います。

1. [I/O Ports] ウ ィンド ウで、 個別の I/O ポート、 I/O ポートのグループ、 またはインターフェイスを選択します。

2. 次のいずれかを実行します。

° [I/O Ports] ウ ィンド ウで右ク リ ッ ク し、 [Place I/O Ports Sequentially] をク リ ッ ク します。

° [Package] または [Device] ウ ィンド ウで、 ツールバーの [Place Ports] ボタンをク リ ッ ク し、 [Place I/O PortsSequentially] をオンにします。

カーソルをパッケージ ピンまたは I/O パッ ド上に移動する と、 グループの 初の I/O ポートがカーソルと共に移動します。 ツール ヒ ン トには、 I/O ポート名およびパッケージ ピン名が表示されます。

3. ピンまたはパッ ドをク リ ッ クする と、 I/O ポートが割り当てられます。

配置されていない I/O ポートが残っている場合は、 コマンドは継続されます。 I/O ポートがすべて配置されるまでこの操作を繰り返すか、 または Esc キーを押してモードを解除します。

ヒン ト : ポートは、 [I/O Ports] ウ ィンド ウに表示されている順序で割り当てられます。割り当ての前に [I/O Ports] ウ ィンド ウでポート を並べ替えておく と、 並べ替えられた順序で割り当てるこ とができます。

図 3-17 に I/O ポート を順次に配置している と ころを示します。

I/O およびクロック  プランニング japan.xilinx.com 38UG899 (v2015.4) 2015 年 11 月 18 日

Page 39: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

I/O ポートの I/O バンクへの配置

I/O ポート を I/O バンクに配置するには、 次の手順に従います。

1. [I/O Ports] ウ ィンド ウで、 個別の I/O ポート、 I/O ポートのグループ、 またはインターフェイスを選択します。

2. 次のいずれかを実行します。

° [I/O Ports] ウ ィンド ウで右ク リ ッ ク し、 [Place I/O Ports in an I/O Bank] をク リ ッ ク します。

° [Package] または [Device] ウ ィンド ウで、 ツールバーの [Place Ports] ボタンをク リ ッ ク し、 [Place I/O Ports inan I/O Bank] をオンにします。

カーソルをパッケージ ピンまたは I/O パッ ド上に移動する と、 I/O ポートのグループがカーソルと共に移動します。 ツール ヒ ン トには、 カーソルの置かれた I/O バンクに配置可能なピン数が表示されます。

3. ピンまたはパッ ドをク リ ッ クする と、 選択された I/O ポートが割り当てられます。

I/O バンクに収まらない数の I/O ポートが選択されている場合、選択された I/O バンクにできるだけ多くのポートが配置され、 残りのポート を配置する別の I/O バンクを選択できます。 I/O ポートがすべて配置されるまでこの操作を繰り返すか、 または Esc キーを押してモードを解除します。

ヒン ト : ポートは、 [I/O Ports] ウ ィンド ウに表示されている順序で割り当てられます。割り当ての前に [I/O Ports] ウ ィンド ウでポート を並べ替えておく と、 並べ替えられた順序で割り当てるこ とができます。

デバイス リ ソースへのポートの割り当ても、 I/O バンクの 初の選択から実行されます。 I/O バンクの一端にあるピンを選択する と、 バスが I/O バンク全体に割り当てられます。

X-Ref Target - Figure 3-17

図 3‐17 : I/O ポート を順次に配置

I/O およびクロック  プランニング japan.xilinx.com 39UG899 (v2015.4) 2015 年 11 月 18 日

Page 40: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

バスに関連する PCB 配線も考慮されます。 ピンは、 割り当て領域内でバス ビッ トのベクターが保持されるよ うな順序で割り当てられます。 割り当てパターンは、 その他のバス配線の考慮事項に対応するよ う カスタマイズできます。

図 3-18 に、 I/O バンクに I/O ポート を配置する と ころを示します。

ポート を  I/O バンクに配置する  Tcl コマンド例

• I/O バンクにポート を配置

place_ports -iobank [get_iobanks {12 13 14 15}] [all_inputs]

• すべての I/O バンクにポート を配置

place_ports -iobank [lrange [get_iobanks] 1 end] <port list>

注記 : place_ports コマンドはバンク 0 に対してはサポート されません。

I/O ポートの定義された領域への配置

I/O ポート を定義された領域に配置するには、 次の手順に従います。

1. [I/O Ports] ウ ィンド ウで、 個別の I/O ポート、 I/O ポートのグループ、 またはインターフェイスを選択します。

2. 次のいずれかを実行します。

° [I/O Ports] ウ ィンド ウで右ク リ ッ ク し、 [Place I/O Ports in Area] をク リ ッ ク します。

° [Package] または [Device] ウ ィンド ウで、 ツールバーの [Place Ports] ボタンをク リ ッ ク し、 [Place I/O Ports inArea] をオンにします。

カーソルが十字型に変化し、 ポート を配置する長方形を定義できるよ うになり ます。

3. [Package] ウ ィンド ウまたは [Device] ウ ィンド ウのいずれかで長方形を描画し、 割り当て領域を定義します。

X-Ref Target - Figure 3-18

図 3‐18 : I/O ポートの I/O バンクへの配置

I/O およびクロック  プランニング japan.xilinx.com 40UG899 (v2015.4) 2015 年 11 月 18 日

Page 41: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

定義した領域に選択された I/O ポートすべてを配置できない場合は、 コマンドが継続します。 カーソルは十字型のままで、 残りの I/O ポー ト がすべて配置されるまで、 長方形を続けて描画できます。 Esc キーを押すと、 I/Oポート を配置し終える前にコマンドを終了できす。

ヒン ト : ポートは、 [I/O Ports] ウ ィンド ウに表示されている順序で割り当てられます。割り当ての前に [I/O Ports] ウ ィンド ウでポート を並べ替えておく と、 並べ替えられた順序で割り当てるこ とができます。

長方形の描画方向によって割り当て順序が変わり ます。 I/O ポートは 初に選択された長方形の座標の内側のピンから順に割り当てられます。領域の長方形の定義を工夫するこ とによ り、PCB 配線の観点から有益なピン配置が得られます。

図 3-19 に、 I/O ポート を領域に配置する と ころを示します。

配置済み I/O ポートの入れ替え

配置済みの 2 つの I/O ポートの配置を入れ替えるには、 次の手順に従います。

1. 使用可能なウ ィンド ウで 2 つの I/O ポート を選択します。

2. 右ク リ ッ ク して [Swap Locations] をク リ ッ ク します。

重要 : インプリ メン ト済みデザインで固定されていない 2 つのポートの配置を入れ替える と、 入れ替えるこ とによ りポートの配置が固定され、 制約が XDC ファ イルに記述されます。

配置済み I/O ポートの移動

既に割り当てられているポート またはポートのグループを移動するには、選択して別の場所にド ラ ッグします。 あるI/O バンクのポート グループを別の I/O バンクに移動する場合、 選択したポートに 適な場所が自動的に検出されます。

注記 : これは、 [Place I/O Ports in an I/O Bank] コマンドを使用するのと同様です。

X-Ref Target - Figure 3-19

図 3‐19 : I/O ポートの領域への配置

I/O およびクロック  プランニング japan.xilinx.com 41UG899 (v2015.4) 2015 年 11 月 18 日

Page 42: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

I/O ポートの自動配置

開いている合成済みデザインで、I/O ポート をパッケージ ピンに自動的に割り当てるこ とができます。自動配置では、I/O 規格および差動ペアの規則すべてに従い、 グローバル ク ロ ッ ク ピンが正し く配置されます。

I/O ポート を自動配置するには、 次の手順に従います。

1. [I/O Ports] ウ ィンド ウで、 自動配置する I/O ポート を選択します。

2. [Tools] → [I/O Planning] → [Autoplace I/O Ports] をク リ ッ ク します。

注記 : または、 [I/O Ports] ウ ィンド ウで右ク リ ッ ク して [Auto-place I/O Ports] をク リ ッ ク します。

3. Autoplace I/O Ports ウ ィザード (図 3-20) で、 配置する I/O ポート を選択し、 [Next] をク リ ッ ク します。

4. 既にパッケージ ピンに割り当てられている I/O ポート を選択している場合、 [Placed I/O Ports] ページ (図 3-21) でオプシ ョ ンを選択し、 [Next] をク リ ッ ク します。

X-Ref Target - Figure 3-20

図 3‐20 : Autoplace I/O Ports ウィザード

I/O およびクロック  プランニング japan.xilinx.com 42UG899 (v2015.4) 2015 年 11 月 18 日

Page 43: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

5. [Place I/O Ports Summary] で [Finish] をク リ ッ ク します。

ギガビッ ト  ト ランシーバーの I/O ポートの配置

GT をよ り適切に管理するため、 [I/O Planning] レイアウ トのウ ィンド ウでは、関連する 2 つの I/O 差動ペアと GTX ロジッ ク オブジェク トが、 選択、 配置、 移動の際に自動的にグループ化されます。 GT の複数のオブジェク トは 1 つのオブジェク ト と して選択され、 ま とめて移動されるので、 GT リ ソースの無効な配置は実行されません。

インタラ クティブ DRC がオンの場合、 ポート配置中に、 GTX の周囲のノ イズの影響を受けやすい I/O ピンが自動的に配置禁止になり ます。 詳細は、 第 6 章の 「インタラ クティブ DRC のディ スエーブル/イネーブル」 を参照してください。

ト ランシーバーの配置規則の詳細は、 該当するデバイスの GTX/GTH ト ランシーバー ユーザー ガイ ド [参照 16] を参照してください。

I/O 配置制約の削除

配置制約を削除するには、 配置されたロジッ クを右ク リ ッ ク し、 [Unplace] をク リ ッ ク します。

X-Ref Target - Figure 3-21

図 3‐21 : Autoplace I/O Ports ウィザードの [Placed I/O Ports] ページ

I/O およびクロック  プランニング japan.xilinx.com 43UG899 (v2015.4) 2015 年 11 月 18 日

Page 44: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 3 章 : I/O プランニング

I/O プランニング プロジェク トの RTL プロジェク トへの変換I/O ポート を定義してパッケージ ピンに配置しら、I/O ピン プランニング プロジェク ト を RTL プロジェク トに変換できます。 ポート定義は、 RTL デザインの 上位モジュールを指定に応じて Verilog または VHDL のいずれかで作成するために使用されます。 差動ペア バッファーは 上位モジュールに追加されます。 バス定義も RTL に含まれます。プロジェク ト プロパティは、 RTL プロジェク ト タイプに適合するよ う変更されます。

重要 : RTL プロジェク トに変換した後、 I/O ピン プランニング プロジェク トに戻すこ とはできません。

プロジェク ト変換するには、 次の手順に従います。

1. [File] → [Migrate to RTL] をク リ ッ ク します。

注記 : または、 Flow Navigator で [Migrate to RTL] をク リ ッ ク します。

2. [Migrate to RTL] ダイアログ ボッ クス (図 3-22) で次のオプシ ョ ンを指定し、 [OK] をク リ ッ ク します。

° [Top RTL file] : デザインの 上位モジュールを作成するための Verilog (.v) または VHDL (.vhd) ファ イルを指定します。 この HDL ファ イルには、 モジュール定義、 ポート定義、 方向、 バス ピンの幅が含まれます。

° [Netlist format] : 上位モジュールのフォーマッ ト を [Verilog] または [VHDL] から選択します。

° [Write diff buffers] : 上位モジュール定義の一部と して差動ペア バッファーを記述します。 これによ り、 I/Oピン プランニング プロジェク トで定義した差動ペアがすべて保持されます。

I/O ピン プランニング プロジェク ト を RTL プロジェク トに変換したら、 プロジェク トにソースを追加し、 デザインで作業を開始できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 3] の 「ソース ファ イルの操作」 を参照してください。

X-Ref Target - Figure 3-22

図 3‐22 : [Migrate to RTL] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 44UG899 (v2015.4) 2015 年 11 月 18 日

Page 45: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4章

UltraScale アーキテクチャのメモリ  IP の I/O プランニング

概要UltraScale™ アーキテクチャのメモ リ IP は、 FPGA デザインおよび AMBA® 仕様の AXI4 スレーブ インターフェイスとサポート される外部メモ リ デバイスの通信用に、 あらかじめ設計されたコン ト ローラーおよび物理層 (PHY) を使用する メモ リ コン ト ローラーを定義します。 高速メモ リ インターフェイスは、 次に従う必要があ り ます。

• ク ロ ッキングおよびスキューの要件に基づく ピン配置要件

• メモ リの I/O バンク内でのバイ ト レーンの使用に関する規則

• 物理的なピン割り当ての要件

パフォーマンスの面では、 メモ リ IP の 終的なコンフ ィギュレーシ ョ ンは I/O 割り当てに依存するので、 IP の I/O を割り当てるまで IP のインプリ メンテーシ ョ ンを完了するこ とはできません。 そのため、 この IP の I/O 割り当てと インプリ メンテーシ ョ ンは、 ほかのほとんどの IP とは異なる方法で処理する必要があ り ます。 この章では、 UltraScaleアーキテクチャのメモ リ IP の I/O プランニングおよびインプリ メンテーシ ョ ン プロセスについて説明します。

推奨 : メモ リ コン ト ローラーのポート のグループ化および I/O バンク割り当てに関する制限のため、 合成後のプロジェ ク ト に汎用 I/O を割り当てる前にメモ リ コン ト ローラーの I/O プランニングを完了しておく こ とをお勧めします。

ビデオ : 詳細は、 Vivado Design Suite ビデオ チュート リ アル : UltraScale メモ リ IP の使用を参照してください。

ビデオ : 詳細は、 Vivado Design Suite ビデオ チュート リ アル : UltraScale メモ リ IP の 2015.1 への移行を参照してください。

重要 : この章では、 UltraScale アーキテクチャのメモ リ IP についてのみ説明します。 7 シ リーズ デバイスのメモ リ IPの詳細については、 『Zynq-7000 All Programmable SoC および 7 シ リーズ デバイス メモ リ インターフェイス ソ リ ューシ ョ ン ユーザー ガイ ド』 (UG586) [参照 17] を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 45UG899 (v2015.4) 2015 年 11 月 18 日

Page 46: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

UltraScale アーキテクチャ  メモリ  IP の I/O プランニング デザイン  フローの変更Vivado® Design Suite 2015.x リ リースでは、 UltraScale アーキテクチャ メモ リ IP の I/O 割り当ておよびインプ リ メ ンテーシ ョ ン プロセスに次の変更が加えられています。

• メモ リ IP の I/O プランニングをデザインのほかの部分の I/O プランニングと共に Vivado IDE の [I/O Planning] レイアウ トに統合し、 ピン プランニングをデザイン RTL に含めるか、 またはデザインの合成後に実行するこ とが可能

• IP の PHY インプリ メンテーシ ョ ンが合成後に opt_design コマンドの一部と して実行されるよ うになり、ネット リ ス ト ベースの I/O プランニングが可能

• IP を含む物理ブロッ ク (Pblock) が opt_design コマンドの一部と して自動的に生成されるよ うになり、 ユーザーには非表示に

I/O プランニングの統合

以前のリ リースの Vivado Design Suite では、 IP をカスタマイズする と きにすべての I/O を割り当てる必要があ り ました。 その結果の制約は、 IP と共に読み取り専用の XDC ファ イルに保存されていました。 I/O 割り当てを変更するには、 IP をカスタマイズし直す必要があ り ました。 また、 これらの制約は、 デザインの残りの部分の I/O 割り当ておよび検証時に必ずしも表示されませんでした。 2015.x リ リースからは、 メモ リの I/O 割り当てをデザインのほかのポート と共に Vivado IDE の [I/O Planning] レイアウ トで実行できます。 メモ リ IP のコンフ ィギュレーシ ョ ンには含まれなくな り ました。

この新しいメモ リ IP の I/O 割り当て方法によ り、 次が可能になり ます。

• メモ リ IP を再生成せずにメモ リの I/O ポートに変更を加えるこ とが可能

• メモ リ IP を再生成せずに、 メモ リ IP で異なるピン配置の異なるデバイスをターゲッ トにするこ とが可能

• 1 つの環境で複数のメモ リ コン ト ローラーの I/O プランニングを同時に実行

• メモ リ ポートの割り当てを、 IP の読み取り専用ファイルではなく、デザインの 上位 XDC 制約ファイルに定義および保存

• XDC 制約を変更または置き換えるこ とによ り メモ リの I/O ポートの割り当てを変更

PHY のインプリ メンテーシ ョ ン

UltraScale アーキテクチャのメモ リ IP は、 ユーザー デザインおよび AMBA 仕様の AXI4 スレーブ インターフェイスと、 DDR3 および DDR4 SDRAM、 QDRIIPLUS SRAM、 RLDRAM3 デバイスの通信用に、 あらかじめ設計されたコント ローラーおよび PHY を使用する メモ リ コン ト ローラーを定義します。 メモ リ IP は、 ピン配置が変更されたと きにザイ リ ンクス デバイスの物理層 (PHY) インターコネク ト のみをアップデートすればよいよ うに構成されています。 PHY のインプリ メンテーシ ョ ンは I/O 割り当てに依存するので、 I/O を配置して検証した後に実行する必要があ り ます。 合成後にメモ リの I/O プランニングを実行できるよ うにするため、PHY のインプ リ メンテーシ ョ ンはインプリ メンテーシ ョ ンの一部と して opt_design コマンドで実行されるよ うになっています。

I/O およびクロック  プランニング japan.xilinx.com 46UG899 (v2015.4) 2015 年 11 月 18 日

Page 47: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

メモリ  IP のコンフ ィギュレーシ ョ ンUltraScale アーキテクチャのメモ リ IP では、DDR3 および DDR4 SDRAM、QDRIIPLUS SRAM、RLDRAM3 のインターフェイスをコンフ ィギュレーシ ョ ンできます。 2015.3 からは、 メモ リ IP がメモ リ インターフェイス規格とツール フローに基づいて別々の IP に分割できるよ うになり ました。 [Customize IP] ダイアログ ボッ クスにはデバッグを含む基本およびアドバンス コンフ ィギュレーシ ョ ン オプシ ョ ンが含まれています。 メモ リの I/O 割り当てはデザインのほかの部分の I/O 割り当てと一緒に実行するよ うに統合されているので、IP のコンフ ィギュレーシ ョ ン プロセスはほかのザイ リ ンクス IP と一貫したもになっています。IP のコンフ ィギュレーシ ョ ンおよび管理プロセスの詳細は、『VivadoDesign Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 5] の 「MIG (Memory Interface Generator) のカスタマイズの作成」 を参照してください。

Vivado ツールでメモ リ IP をコンフ ィギュレーシ ョ ンするには、 次の手順に従います。

1. Vivado IP カタログを開き、 [Memories & Storage Elements] → [External Memory Interface] カテゴ リ を展開表示します (図 4-1)。

2. 必要なインターフェイスをダブルク リ ッ ク して [Customize IP] ダイアログ ボッ クス (図 4-2) を表示します。

X-Ref Target - Figure 4-1

図 4‐1 : IP カタログの [Memory Interface Generators] カテゴリ

I/O およびクロック  プランニング japan.xilinx.com 47UG899 (v2015.4) 2015 年 11 月 18 日

Page 48: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

注記 : [Customize IP] ダイアログ ボッ クスに [I/O Planning] タブはまだあ り ますが、 メモ リ IP の I/O プランニングが統合されているこ とが説明されています (図 4-3)。

メモ リ IP のコンフ ィギュレーシ ョ ンの詳細は、 『LogiCORE IP UltraScale アーキテクチャ ベース FPGA メモ リ インターフェイス ソ リ ューシ ョ ン製品ガイ ド』 (PG150) [参照 18] を参照してください。

注記 : Vivado Design Suite では、1 つのデザインで複数の UltraScale アーキテクチャ メモ リ コン ト ローラーを使用するこ とがサポート されています。 それぞれを個別に定義する必要があ り ます。

X-Ref Target - Figure 4-2

図 4‐2 : メモリ  IP インスタンスのコンフ ィギュレーシ ョ ン

X-Ref Target - Figure 4-3

図 4‐3 : メモリ  IP の [I/O Planning] タブ

I/O およびクロック  プランニング japan.xilinx.com 48UG899 (v2015.4) 2015 年 11 月 18 日

Page 49: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

IP 出力ファイルの生成

メモ リ IP をコンフ ィギュレーシ ョ ンしたら、 インプリ メンテーシ ョ ンおよびサードパーティ ツールで使用する出力ファイルを生成する必要があ り ます。出力ファイルを生成する と、 IP レベルの XDC 制約ファイルが IP ディ レク ト リに作成されます。 XDC ファ イルには、 IOSTANDARD、 OUTPUT_IMPEDANCE、 DRIVE、 SLEW などの I/O 物理制約が含まれます。 これらの制約は IP のコンフ ィギュレーシ ョ ン設定から抽出され、 I/O プランニングに使用されます。制約は、 [I/O Planning] レイアウ トに表示されます。

出力ファイル生成の詳細は、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 5] の「出力ファイルの生成」 を参照してください。

Vivado IDE での UltraScale アーキテクチャ  メモリ  IP の I/O プランニングデザインに UltraScale アーキテクチャ メモ リ IP が含まれている場合、 Vivado IDE に次の機能が含まれます。

• [I/O Ports] ウ ィンド ウで各メモ リ IP の I/O ポート をポート インターフェイスにグループ化し、グループごとに選択および変更可能

• メモ リ IP に関連するすべてのポートに対し、ド ラ ッグ アンド ド ロ ップ、ポートのスワ ップ、グラフ ィカル ビューでのポートの手動移動など、 インタラ クティブ ポート配置機能を禁止

• メモ リ I/O ピン グループを I/O バンクおよびバイ ト レーンに自動または手動割り当て可能なメモリ バンク /バイト プランナーを使用可能

インタラ クティブ I/O プランニングは、Vivado IDE でエラボレート済み RTL デザインまたは合成済みデザインを開いて実行できます。エラボレート済みデザインおよび合成済みデザインの両方で同じ基本的なプロセスおよびコマンドを使用できますが、 合成済みデザインでの方がよ り詳細な DRC が実行されます。

エラボレート済みデザインでの UltraScale アーキテクチャ  メモリ  IP の I/O プランニング

メモ リの I/O プランニングにエラボレート済みデザインを使用する場合、 デザインを開く前に、 次の手順に従って適切なエラボレート オプシ ョ ンを設定する必要があ り ます。

1. Vivado IDE で [Flow] → [Elaboration Settings] をク リ ッ ク します。

2. [Project Settings] ダイアログ ボッ クスの [Elaboration] ページで、 [Netlist model] および [Load constraints] オプシ ョンがオンになっているこ とを確認します (図 4-4)。

[Netlist model] をオンにし てネ ッ ト リ ス ト モデルが読み込まれる よ う にする と、 IOSTANDARD やOUTPUT_IMPEDANCE などの I/O プロパティを選択して合成されたメモ リ IP を、エラボレート済みデザインで読み込むこ とができます。 [Blackbox model] をオンにした場合、 エラボレート済みデザインでメモ リ IP の I/O プランニングを実行するこ とはできません。

I/O およびクロック  プランニング japan.xilinx.com 49UG899 (v2015.4) 2015 年 11 月 18 日

Page 50: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

メモリ  バンク/バイ ト  プランナーの使用[I/O Planning] レイアウ トには、 [I/O Ports] および [Package Pins] ウ ィンド ウが含まれます。 デザインに UltraScale アーキテクチャ メモ リ IP が含まれる場合、 これら両方のウ ィ ンド ウのバナーにメ ッセージと メモ リ バンク /バイ ト プランナーを起動するボタンが表示されます (図 4-5)。

注記 : または、[Tools] → [I/O Planning] → [Memory Byte Planner] をク リ ッ ク してメモ リ バンク /バイ ト プランナーを開く こ と もできます。

X-Ref Target - Figure 4-4

図 4‐4 : エラボレーシ ョ ン オプシ ョ ンの設定

X-Ref Target - Figure 4-5

図 4‐5 : メモリ  バンク/バイ ト  プランナーの起動

I/O およびクロック  プランニング japan.xilinx.com 50UG899 (v2015.4) 2015 年 11 月 18 日

Page 51: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

メモ リ バンク /バイ ト プランナー (図 4-6) を使用する と、 メモ リ インターフェイス信号グループを I/O バンク内の特定のバイ ト グループに自動または手動で割り当てるこ とができます。

注記 : メモ リ IPから直接生成されたサンプル デザインを使用する と、サンプル デザインの XDC ファ イルにデフォルトの I/O 割り当てが含まれ、 メモ リ バンク /バイ ト プランナーに表示されます。

メモ リ バンク /バイ ト プランナーには、 次の機能が含まれます。

• 展開/非展開可能なデバイス リ ソース ツ リー

選択したデバイスによって、 SLR (Super Logic Region)、 I/O 列およびバンク、 バイ ト グループなどのデバイス リソースが、展開/非展開可能なツ リー形式で表示されます。図 4-7 に示すよ うに、デバイスの特定のエリ アのみを表示できます。 メモ リ インターフェイスは隣接する I/O バンクに割り当てる必要があるので、 リ ソースはデバイスに配置されている順に表示されます。

X-Ref Target - Figure 4-6

図 4‐6 : メモリ  バンク/バイ ト  プランナー

I/O およびクロック  プランニング japan.xilinx.com 51UG899 (v2015.4) 2015 年 11 月 18 日

Page 52: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

• ほかのウ ィンド ウ との連動選択

I/O バンクおよびバイ ト グループを選択する と、 そのグループは [Package] および [Device] ウ ィ ンド ウでもハイライ ト され、 リ ソースを特定するのに役立ちます (図 4-8)。

• DRC 情報

X-Ref Target - Figure 4-7

図 4‐7 : デバイス リソース ツリー

X-Ref Target - Figure 4-8

図 4‐8 :バンクおよびバイ ト  グループの連動選択

I/O およびクロック  プランニング japan.xilinx.com 52UG899 (v2015.4) 2015 年 11 月 18 日

Page 53: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

メモ リ バンク /バイ ト プランナーの上部に DRC ステータス メ ッセージが表示され、 リ ンクをク リ ッ クする とDRC 違反に関する情報が表示されます (図 4-9)。

X-Ref Target - Figure 4-9

図 4‐9 : DRC 違反の情報

I/O およびクロック  プランニング japan.xilinx.com 53UG899 (v2015.4) 2015 年 11 月 18 日

Page 54: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

• 信号グループの情報

[Show Signal Group] をク リ ッ クする と、 [Signal Groups] ダイアログ ボッ クス (図 4-10) に各メモ リ IP の信号グループが表示されます。

信号グループの手動割り当て

信号グループを手動でバイ ト レーンに割り当てるには、 次の手順に従います。

1. バンクの [Mem Byte Group] 列をク リ ッ ク します (図 4-11)。

2. ド ロ ップダウン リ ス トから割り当てる信号グループを選択します。

割り当てる と、 DRC が実行されます。 DRC 違反は赤で表示されます。 [more info] リ ンクをク リ ッ クする と詳細が表示されます。 Vivado IDE にデザインの各メモ リ IP の信号グループが表示され、 複数のメモ リ コン ト ローラーの I/O割り当てを同時に実行できます。

X-Ref Target - Figure 4-10

図 4‐10 : [Signal Groups] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 54UG899 (v2015.4) 2015 年 11 月 18 日

Page 55: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

信号グループの自動割り当て

メモ リ コン ト ローラーの信号グループを、 個別にまたはすべて自動配置できます。 各メモ リ コン ト ローラーに対して、 1 つの I/O バンクまたは I/O バンクのグループをターゲッ トにできます。 信号グループを自動的に割り当てるには、 次の手順に従います。

1. [Auto Assign Controllers] ボタン をク リ ッ ク します。

2. [Auto-place All Controllers] または [Auto-place <controller name>] をク リ ッ ク します (図 4-12)。

X-Ref Target - Figure 4-11

図 4‐11 :信号グループのバイ ト  レーンへの手動割り当て

X-Ref Target - Figure 4-12

図 4‐12 : メモリ  コン ト ローラーの自動配置

I/O およびクロック  プランニング japan.xilinx.com 55UG899 (v2015.4) 2015 年 11 月 18 日

Page 56: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

3. [Select Banks for Auto-Place] ダイアログ ボッ クス (図 4-13) で、 次のいずれかのオプシ ョ ンをオンにします。

° [System Selected] : Vivado ツールによ り メモ リ コン ト ローラーに 適な配置が選択されます。

° [User Selected] : ユーザーがメモ リ コン ト ローラーのターゲッ ト となるバンクを選択します。

注記 : メモ リ コン ト ローラーを配置するのに十分な I/O バンクを選択しないと、警告メ ッセージが表示されます。

自動配置が完了する と、 確認ダイアログ ボッ クスに配置されたポート数が表示されます。

メモリ以外のポートが割り当てられていることを示す警告メ ッセージ

メモ リ バンク /バイ ト プランナーでは、 既にメモ リ以外の I/O ポートが割り当てられている I/O バンクに信号グループを割り当てるこ とは禁止されます。 メモ リ以外の I/O ポートに信号グループを割り当てよ う とする と、 感嘆符を含む黄色のアイコンが表示され、マウスを置く と、 メモ リ以外のポートがバイ ト グループに割り当てられているこ とを示すツール ヒ ン トが表示されます (図 4-14)。

X-Ref Target - Figure 4-13

図 4‐13 :自動配置のための I/O バンクの選択

I/O およびクロック  プランニング japan.xilinx.com 56UG899 (v2015.4) 2015 年 11 月 18 日

Page 57: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

ポートの配置を解除する と、 この問題を解決できます。 [I/O Ports] ウ ィンド ウでポート を右ク リ ッ ク し、 [Unplace] をク リ ッ ク します (図 4-15)。

X-Ref Target - Figure 4-14

図 4‐14 :割り当てられた非メモリ  ポートの警告

X-Ref Target - Figure 4-15

図 4‐15 : メモリ以外のポートの配置解除

I/O およびクロック  プランニング japan.xilinx.com 57UG899 (v2015.4) 2015 年 11 月 18 日

Page 58: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

信号グループおよびコン ト ローラーの配置解除

メモ リ コン ト ローラーの信号グループを、個別にまたはすべてを一度に配置解除できます。信号グループの配置を解除するには、 次の手順に従います。

1. [Unplace Ports for Memory Controllers] ボタン をク リ ッ ク します。

2. [Unplace All Controllers] または [Unplace <controller name>] をク リ ッ ク します (図 4-16)。X-Ref Target - Figure 4-16

図 4‐16 : メモリ  コン ト ローラーの配置解除

I/O およびクロック  プランニング japan.xilinx.com 58UG899 (v2015.4) 2015 年 11 月 18 日

Page 59: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

メモリ  I/O ポートの変更[I/O Ports] または [Package Pins] ウ ィンド ウを使用して、 ピンのスワップなど、 メモ リ I/O ポート を手動で変更できます。 どちらのウ ィンド ウでもデータの表示を変更して、 情報を見やすくできます。 たとえば、 表を展開または非展開したり、 フ ィルター処理したり、列を並べ替えたり移動したりできます。詳細は、 『Vivado Design Suite ユーザー ガイド : Vivado IDE の使用』 (UG893) [参照 13] の 「データ表ウ ィンド ウの使用」 を参照してください。

重要 : 変更を加えたと きに DRC は実行されないので、 メモ リ コン ト ローラーに無効なピン割り当てを実行してしまう可能性があ り ます。 I/O ポート またはパッケージ ピン割り当てを実行した後、第 6 章の 「DRC の実行」 で説明するよ うに DRC を実行してください。

[I/O Ports] ウィンドウでのポートの変更

[I/O Ports] ウ ィンド ウでポート割り当てを変更するには、 [Site] 列で次のいずれかを実行します (図 4-17)。

• ド ロ ップダウン リ ス トからポート を選択します。

• ポート名を入力します。

X-Ref Target - Figure 4-17

図 4‐17 : [I/O Ports] ウィンドウでのポートの変更

I/O およびクロック  プランニング japan.xilinx.com 59UG899 (v2015.4) 2015 年 11 月 18 日

Page 60: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

[Package Pins] ウィンドウでのポートの変更

[Package Pins] ウ ィンド ウでポート割り当てを変更するには、 [Ports] 列で次のいずれかを実行します (図 4-18)。

• ド ロ ップダウン リ ス トから信号を選択します。

• 信号名を入力します。

メモリ  DRC の実行ピン割り当てを実行または変更したら、第 6 章の 「DRC の実行」 に説明されているよ うに、 [Report DRC] コマンドを使用してエラボレート済みデザインまたは合成済みデザインに対して default DRC ルール デッ クを実行する必要があり ます。

注記 :合成済みデザインではネッ ト リ ス トが完成しているので、 よ り多くのデザイン ルールが実行されます。

X-Ref Target - Figure 4-18

図 4‐18 : [Package Pins] ウィンドウでのポートの変更

I/O およびクロック  プランニング japan.xilinx.com 60UG899 (v2015.4) 2015 年 11 月 18 日

Page 61: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

PHY のインプリ メンテーシ ョ ン各メモ リ コン ト ローラーに対しては、 インプリ メンテーシ ョ ンで opt_design コマンドのフェーズ 1 が実行されている と きに、 物理層 (PHY) が合成されてネッ ト リ ス トに組み込まれます (図 4-19)。

PHY をインプリ メン トする  Tcl コマンド例

opt_design の一部と してではなく合成済みデザインで PHY をインプリ メン トするには、 次を入力します。

implement_mig_cores

このコマンドを使用する と、 デザイン全体がインプ リ メ ン ト されずに、 合成済みネッ ト リ ス ト でメモ リ コン ト ローラーがインプ リ メン ト されます。詳細は、『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] の「implement_mig_cores」 を参照して ください。

注意 : 開いているデザインで、 implement_mig_cores コマンドを複数回実行しないでください。 デザインを閉じて開き直してから実行してください。

X-Ref Target - Figure 4-19

図 4‐19 : opt_design コマンド実行中の PHY のインプリ メンテーシ ョ ン

I/O およびクロック  プランニング japan.xilinx.com 61UG899 (v2015.4) 2015 年 11 月 18 日

Page 62: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 4 章 : UltraScale アーキテクチャのメモリ  IP の I/O プランニング

デザイン間での I/O ポート割り当てのコピーIP レベルの XDC ファ イルを作成する と、 UltraScale アーキテクチャ メモ リ IP の I/O 制約をデザイン間でコピーできます。 これは、 次の場合に有益です。

• IP サンプル デザインでメモ リ I/O 割り当てを実行し、 その割り当てをユーザー デザインにコピーする場合

• デザインから メモ リ IP および関連の I/O 割り当てを含むサンプル デザインを作成する場合

注記 : 上位ポート名はデザインによって異なるので、制約をコピーするには IP レベルの XDC ファ イルが必要です。

IP レベルの XDC ファ イルを作成してメモ リ IP の I/O 制約をコピーするには、 次の手順に従います。

1. I/O 割り当てのコピー元とのなるエラボレート済みデザインまたは合成済みデザインを開きます。

2. [Tcl Console] ウ ィンド ウで次のコマンドを入力して、 メモ リ IP の I/O 制約を XDC ファ イルに記述します。

write_xdc -cell <memory_ip_instance_name> -file <output file name>

3. I/O 割り当てのコピー先とのなるエラボレート済みデザインまたは合成済みデザインを開きます。

4. [Tcl Console] ウ ィンド ウで次のコマンドを入力して、 メモ リ IP の I/O 制約の XDC ファ イルを読み込みます。

read_xdc -cell <memory_ip_instance_name> -file <output file name>

5. [File] → [Save Constraints] をク リ ッ ク し、 I/O 制約を 上位ポートに解釈し、 ターゲッ ト制約ファイルに保存します。

注記 : これを Tcl コマンドで実行する場合は save_constraints を使用します。

I/O およびクロック  プランニング japan.xilinx.com 62UG899 (v2015.4) 2015 年 11 月 18 日

Page 63: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 5章

クロック  プランニング

概要ク ロ ッ ク プランニングでは、 ザイ リ ンクス デバイス上のさまざまなクロ ッ ク リ ソースを使用してクロ ッ クをデバイス全体に分配します。 ザイ リ ンク ス デバイスは、 ク ロ ッ ク領域の列と行に分割されています。 ク ロ ッ ク領域には、CLB、 DSP スライス、 ブロ ッ ク RAM、 インターコネク ト、 関連するクロ ッ ク リ ソースが含まれます。 ク ロ ッ ク領域のサイズと内容は、 デバイスのタイプによって異な り ます。 UltraScale™ デバイスでは、 ク ロ ッ ク領域には 60 個のCLB、 24 個の DSP スライス、 12 個のブロ ッ ク RAM が含まれ、 中央に水平クロ ッ ク スパイン (HCS) があ り ます。 7シ リーズ デバイスでは、 ク ロ ッ ク領域には 50 個の CLB および 50 個の I/O を含む I/O バンクが 1 つ含まれ、 中央に水平クロ ッ ク行 (HROW) があ り ます。

システム ク ロ ッ ク (ボード ク ロ ッ ク ) がプライマ リ ク ロ ッ クであ り、 入力ポート またはギガビッ ト ト ランシーバーピンを介してデザインに入力されます。各 I/O バンクには、 システム ク ロ ッ クをデバイスに取り込み、 クロ ッ ク配線リ ソ-スに供給するクロ ッ ク兼用入力ピンがあ り ます。 ク ロ ッ ク兼用入力ピンは、専用クロ ッ ク バッファーと組み合わせて、 システム ク ロ ッ クを次のリ ソースに供給します。

• グローバル ク ロ ッ ク ライン

• 同じ I/O バンクおよび隣接する I/O バンク内の I/O ク ロ ッ ク ライン

• 同じクロ ッ ク領域および縦方向に隣接するクロ ッ ク領域内のリージ ョナル ク ロ ッ ク

• ク ロ ッ ク マネージメン ト タイル (CMT)

注記 : プライマ リ ク ロ ッ クを定義するには、create_clock Tcl コマンドを使用します。詳細は、『Vivado Design SuiteTcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] の 「create_clock」 を参照してください。

合成済みまたはインプ リ メ ン ト済みデザインでは、 BUFGCTRL、 MMCM、 BUFR、 IDELAYCTRL などのグローバルおよびリージ ョナル ク ロ ッ ク関連のロジッ クを [Clock Resources] ウ ィンド ウを使用して手動で配置できます。ク ロ ック ロジッ クは、 [Device] ウ ィンド ウでも手動で配置できます。 [Device] ウ ィンド ウには、 デバイス特有のリ ソースに対して適切なロジッ ク サイ トが表示されます。 ク ロ ッ ク プランニングの詳細は、 該当するデバイスの ク ロ ッキングリ ソース ユーザー ガイ ド [参照 19] を参照してください。

推奨 : ク ロ ッ ク リ ソースはピン配置を選択する前に選択しておく こ とをお勧めします。 これは、 ク ロ ッ クの選択により、 特定のピン配置が決定し、 そのロジッ クの配置を指定できるからです。 ク ロ ッ クを適切に選択するこ とによ り、優れた結果を得るこ とができます。

ヒン ト : Vivado® ツールでは、クロ ッ ク プランニングはインプ リ メンテーシ ョ ン中に自動的に処理されます。その後、インタラ クティブ ク ロ ッ ク プランニングを使用して、 手動でクロ ッキングの問題に対処できます。

I/O およびクロック  プランニング japan.xilinx.com 63UG899 (v2015.4) 2015 年 11 月 18 日

Page 64: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 5 章 : クロック  プランニング

ロジック  セルの検索配置するロジッ ク セルを検索するには、 次の手順に従います。

1. [Edit] → [Find] をク リ ッ ク します。

2. [Find] ダイアログ ボッ クスで、 [Find] フ ィールドに [Cells] を選択し、 セルの検索条件を定義します。

3. [Find Results] ウ ィンド ウからロジッ ク セルを [Clock Resources] または [Device] ウ ィンド ウにド ラ ッグし、適切なデバイス リ ソースに割り当てます。

注記 :詳細は、『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 13] の 「オブジェク トの検索」を参照してください。

ヒン ト : グローバル ク ロ ッ ク バッファー (BUFGCTRL) など、 ロジッ ク セルを配置するデバイス上の物理リ ソースも検索できます。 [Find] フ ィールドで [Sites] を選択し、 検索条件を定義します。 [Find Results] ウ ィンド ウの検索結果を選択する と、 [Clock Resources] または [Device] ウ ィンド ウでデバイス リ ソースがハイライ ト されます。

[Clock Resources] ウィンドウの使用7 シ リーズ デバイスでのみ、 [Clock Resources] ウ ィンド ウに BUFR、 BUFIO、 BUFG、 MMCM、 GT などのリージ ョナルおよびグローバル ク ロ ッ ク リ ソース間の関係が表示されます。[Clock Resources] ウ ィンド ウに表示されるデバイスリ ソースは簡略化されていますが、 これらのリ ソース間の相対的な位置関係は正し く保持されています。

推奨 : Vivado IP カタログの Clocking Wizard を使用して、混合モード ク ロ ッ ク マネージャー (MMCM) または位相ロック ループ (PLL) モジュールを生成してク ロ ッ ク接続を定義する こ と をお勧めし ます。 詳細は、 『LogiCORE™ IPClocking Wizard 製品ガイ ド』 (PG065) [参照 4] を参照して ください。

注記 : [Device] ウ ィ ンド ウに表示される FPGA の詳細のほとんどは、 [Clock Resources] ウ ィ ン ド ウには表示されません。

I/O およびクロック  プランニング japan.xilinx.com 64UG899 (v2015.4) 2015 年 11 月 18 日

Page 65: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 5 章 : クロック  プランニング

図 5-1 に、 Kintex®-7 K70T デバイスの [Clock Resources] ウ ィンド ウを示します。

• デバイスには 8 つのクロ ッ ク領域が 4x2 の行列で配置され、デバイスの左下 X0Y0 から右上 X1Y3 に向かって番号が付けられています。

• 各クロ ッ ク領域には、 CCIO (ク ロ ッ ク兼用 I/O)、 BUFIO、 BUFR を含む I/O バンク もあ り、 これら も [ClockResources] ウ ィンド ウに表示されます。

• デバイスは、 4 つのクロ ッ ク領域を含む上半分と、 4 つのクロ ッ ク領域を含む下半分に分割されています。

• デバイスのグローバル ク ロ ッ クを制御する BUFG は、 デバイスの中央列にあ り ます。

レベルの展開/非展開

レベルを展開または非展開にして必要な情報のみを表示するには、 次を実行します。

• プラス記号 (+) およびマイナス記号 (-) をク リ ッ ク して、 ツ リーの該当する部分を展開または非展開にします。

• ツールバーの [Expand All] および [Collapse All] ボタンをク リ ッ ク して、 すべてのツ リーを展開または非展開にします。

オブジェク ト選択の連動

ウ ィンド ウ間でのオブジェク トの選択を連動させるには、[Clock Resources] ウ ィンド ウで次のいずれかを実行します。

• ク ロ ッ ク領域または I/O バンクの名前をク リ ッ ク します。

この方法を使用して、 デバイス、 パッケージ、 またはネッ ト リ ス トで特定のオブジェク ト をすばやく見つけることができます。

• ツールバーの [Automatically scroll to selected object] ボタン をク リ ッ ク して、別のウ ィンド ウで選択したオブジェク トが表示されるよ うにします。

X-Ref Target - Figure 5-1

図 5‐1 : [Clock Regions] ウィンドウ

I/O およびクロック  プランニング japan.xilinx.com 65UG899 (v2015.4) 2015 年 11 月 18 日

Page 66: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 5 章 : クロック  プランニング

この方法を使用して、デバイスの特定リ ソースを [Clock Resources] ウ ィンド ウですばやく見つけるこ とができます。

ヒン ト : この機能をオフにして、 ほかのウ ィンド ウでオブジェク ト選択されるたびに、 表示される リ ソースが変わるのを避けるこ とができます。

デザイン  セルの配置

[Clock Resources] ウ ィンド ウには [Site] と [Cell] の 2 つの列があ り、 デバイス リ ソース とそれに割り当てられているデザイン セルが示されます。

デザイン セルを配置するには、 次の手順に従います。

1. [Find Results]、 [Schematic]、 [Netlist]、 または [I/O Ports] ウ ィンド ウで、デバイス リ ソースに配置するロジッ ク セルを選択します。

2. セルを [Clock Resources] ウ ィンド ウの適切なデバイス リ ソースの [Cell] 列にド ラ ッグします。

[Clock Resources] ウ ィ ン ド ウにセルを ド ラ ッグする と、 そのセルを配置できないサイ ト ではカーソルがスラ ッシュの入った円に変わり、 配置できるサイ トでは長方形になり ます。

重要 : セルを配置する際は、グローバルおよびリージ ョナル ク ロ ッ ク モジュールの構造に関する規則および制限が適用されます。 これらの規則および制限に関する情報は、 該当するデバイスのクロ ッキング リ ソース ユーザー ガイ ド[参照 19] を参照して ください。

[Device] ウィンドウでのクロック  ロジックの配置ク ロ ッ ク ロジッ クを手動で配置するには、 次の手順に従います。

1. [Device] ウ ィンド ウを拡大表示し、 ロジッ クを配置するデバイス サイ ト を表示します。

2. ツールバーの [Cell Drag & Drop Modes] ボタンをク リ ッ ク し、 [Create Site Constraint Mode] をオンにします。

3. [Find Results]、 [Schematic]、 [Netlist]、 または [I/O Ports] ウ ィンド ウで配置するロジッ ク セルを選択し、 [Device]ウ ィンド ウの適切なデバイス リ ソースにド ラ ッグします。

I/O およびクロック  プランニング japan.xilinx.com 66UG899 (v2015.4) 2015 年 11 月 18 日

Page 67: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6章

I/O およびクロック  プランニングの検証

概要I/O およびクロ ッ ク プランニングを実行した後、 デザインを検証してデザイン要件が満たされているかど うかを確認します。 Vivado® ツールでは、 DRC を実行して違反がないかど うかをチェッ ク し、 SSN 解析を実行してスイ ッチ ノイズ レベルを予測できます。 I/O およびクロ ッ ク割り当ての 終的な検証を実行するには、 デザインをインプリ メント してビッ ト ス ト リームを生成する必要があ り ます。

DRC の実行DRC の実行は、 ピン プランニングで も重要な手順です。 DRC では、 「ルール デッ ク」 と呼ばれるデザイン ルールチェッ クのセッ トに対して現在のデザインがチェッ ク され、エラーや違反がレポート されます。このセクシ ョ ンでは、I/O ポートおよびクロ ッ クに関する DRC の実行と、 DRC 違反の表示について説明します。

注記 : アドバンス DRC 制御については、 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 20] の 「カスタム デザイン ルール チェッ ク (DRC) の作成」 を参照してください。 report_drc および関連の Tcl コマンドについては、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] の 「report_drc」 を参照してください。

I/O ポートおよびクロック  ロジック関連の DRC の実行

DRC ルールを選択して実行するには、 次の手順に従います。

1. [Tool] → [Report] → [Report DRC] をク リ ッ ク します。

注記 : または、 Flow Navigator の [Report DRC] を ク リ ッ クするか、 Tcl コ ン ソールに 「report_drc -name<results_name>」 と入力します。

2. [Report DRC] ダイアログ ボッ クス (図 6-1) で次のオプシ ョ ンを設定し、 [OK] をク リ ッ ク します。

° [Results name] : DRC 結果の名前を指定します。 こ こで指定した名前が [DRC] ウ ィンド ウのビューに表示されます。わかりやすい名前にしておく と、デバッグ中に [DRC] ウ ィンド ウで特定の run を識別しやすくな ります。 デフォルトでは、 入力した名前が出力ファイル名になり ます。

° [Output file] : DRC 結果をファイルに保存する際のファイルの名前を入力できます (オプシ ョ ン)。デフォルト以外のパスを選択する場合は、 参照ボタンを使用してください。

° [Rule decks] : デザインで実行するルール デッ クを指定します。 ルール デッ クは、 一部のデザイン ルールチェッ クをま とめたコレクシ ョ ンです。 1 つのデザイン ルール チェッ クが複数のルール デッ クに含まれているこ とがあ り ます。 たとえば、 同じルールが opt_checks と placer_checks ルール デッ クの両方に含まれているなどです。 Vivado ツールは、合成後やインプリ メンテーシ ョ ン後など、 FPGA デザイン フローの適切な段階でルール デッ クを実行します。

- [bitstream_checks] : ビッ ト ス ト リーム生成に関するチェッ クを実行します。

I/O およびクロック  プランニング japan.xilinx.com 67UG899 (v2015.4) 2015 年 11 月 18 日

Page 68: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6 章 : I/O およびクロック  プランニングの検証

- [default] : ザイ リ ンクスの推奨するチェッ クのデフォルト セッ ト を実行します。

- [eco_checks] : ネッ ト リ ス ト を変更するエンジニア リ ング チェンジ オーダー (ECO) が完了した後に、 接続および配置のチェッ クを実行します。 たとえば、 connect_net Tcl コマンドを使用してネッ ト リ スト を変更した場合に、 インプ リ メン ト済みデザインに対して実行します。

- [methodology_checks] : 制約を含め、 デザインが UltraScale 設計手法のよ くある規則にしたがっているかど うかを確認するチェッ クを実行します。

- [opt_checks] : ロジッ ク 適化に関するチェッ クを実行します。

- [placer_checks] : 配置に関するチェッ クを実行します。

- [router_checks] : 配線に関するチェッ クを実行します。

- [timing_checks] : タイ ミ ング制約に関するチェッ クを実行します。

° [Rules] : ルール デッ クを指定したら、 必要に応じて実行するルールを変更します。

ヒン ト : 標準のデザイン ルール チェッ クのセッ ト とは異なるセッ ト を実行する場合は、「カスタムルール デッ クを定義する Tcl コマンド例」 に説明されているよ うに、 create_drc_ruledeck および add_drc_checks Tcl コマンドを使用してカスタム ルール デッ クを作成できます。 カスタム ルール デッ クを作成する と、 [Report DRC] ダイアログボッ クスの [Rule Decks] エリ アに表示されるよ うにな り ます。

X-Ref Target - Figure 6-1

図 6‐1 : [Report DRC] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 68UG899 (v2015.4) 2015 年 11 月 18 日

Page 69: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6 章 : I/O およびクロック  プランニングの検証

DRC を実行する  Tcl コマンド例

report_drc -ruledeck placer_checks -file C:/Data/DRC_Rpt1.txt

カスタムルール デックを定義する  Tcl コマンド例

create_drc_ruledeck ruledeck_1

add_drc_checks -ruledeck ruledeck_1 [get_drc_checks {SYNTH-10 SYNTH-9 SYNTH-8 SYNTH-7 SYNTH-6 SYNTH-5 SYNTH-4}]

注記 : create_drc_ruledeck および関連の Tcl コマンドについては、『Vivado Design Suite Tcl コマンド リ ファレンス ガイド』 (UG835) [参照 8] の 「create_drc_ruledeck」 を参照してください。

インタラクテ ィブ DRC のディスエーブル/イネーブル

Vivado IDE では、 I/O プランニング中、ピン配置が有効であるかど うかを確認する基本的なチェッ クが実行されます。終的な DRC は Vivado インプリ メンテーシ ョ ンでのみ実行可能です。 そのため、 終的なピン配置が有効かど うか

確認するには、 インプ リ メンテーシ ョ ンまで実行する必要があ り ます。

ピン配置中は、 インタラ クティブな I/O 配置ルーチンによ り、 よ く発生するエラーがチェッ ク されます。 この機能は、次のいずれかを実行してオン/オフを切り替えるこ とができます。

• [Device] または [Package] ウ ィンド ウで、 ツールバーの [Autocheck I/O Placement] ボタン をク リ ッ ク します。

• [Tools] → [Options] をク リ ッ ク し、 [Vivado Options] ダイアログ ボッ クスの [General] ページで [Automaticallyenforce legal I/O placement] をオン/オフにします。

この自動チェッ ク機能をオンにする と、問題を引き起こすピンに I/O ポート を配置できなくな り ます。 [Place I/O PortsSequentially] をオンして I/O ポート を順次に割り当てる場合、問題のあるピンに I/O ポート を配置しよ う とする と、I/Oポート を配置できない理由がツール ヒ ン トに表示されます。 インタラ クティブ DRC は、 デフォルトでオンになっています。

重要 : これらの DRC の多くは、 合成済みまたはインプリ メン ト済みデザインに対してのみ実行されます。

インタラ クティブ I/O 配置ルールには、 次のものが含まれます。

• 禁止 :

° GT に関連する ノ イズの影響を受けやすいピンまたはノ イズの影響を受けやすくなる可能性のある I/O パッケージ ピンへの配置

° I/O 規格に違反する配置

• 確認 :

° バンクでサポート されていない I/O 規格が使用されていない

° バンクに互換性のない VCC ポートが割り当てられていない

° VREF ポートが必要なバンクに使用可能な VREF ピンがある

° グローバル ク ロ ッ クおよびリージ ョナル ク ロ ッ クが適切に割り当てられている (ネッ ト リ ス トおよび XDCファ イルがインポート されている場合のみ)

° 差動 I/O ポートが正しい極性ピンに割り当てられている

° 出力ピンが入力のみのピンに配置されていない

推奨 : I/O ポートの配置は、 インタラ クティブ DRC をオンにして実行するこ とをお勧めします。 I/O ポートおよびクロ ッ ク領域の仕様については、 該当するデバイスの資料を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 69UG899 (v2015.4) 2015 年 11 月 18 日

Page 70: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6 章 : I/O およびクロック  プランニングの検証

DRC エラーの表示

DRC で違反が検出された場合、 図 6-2 に示す [DRC] ウ ィンド ウが表示されます。 [DRC] ウ ィンド ウには、 検出されたルール違反が [Report DRC] ダイアログ ボッ クスで定義されたカテゴ リ別に表示されます。 ルール違反はその重要度によっても分類されており、 次のよ うに色分け表示されます。

• アドバイザリ : デザイン プロセスに関する一般的なステータスおよびフ ィードバッ クを示します。

• 警告 : 制約または仕様が意図したとおりに適用されていないために、 適なデザイン結果にならない可能性を示します。

• ク リ ティカル警告 : ユーザー入力または制約に適用されないものがあったり、 適切な方法に従っていないものがあるこ とを示します。 これらの問題は、 確認して変更するこ とをお勧めします。

注記 : ク リ ティカル警告は、 ビッ ト ス ト リーム生成時にはエラーになり ます。

• エラー : デザイン結果が使用できない状態になり、 ユーザーが対処しないと回避されない問題を示します。 デザイン フローは停止します。

ヒン ト : 警告および情報メ ッセージを非表示にし、 エラーのみを表示するには、 ツールバーの [Hide Warnings andInformational Messages] ボタン をク リ ッ ク します。

DRC 違反の並べ替え

DRC 違反を重要度で並べ替えるには、 次のよ うに [Severity] 列の見出しをク リ ッ ク します。

• 列ヘッダーをク リ ッ クする と重要度の低い方から並べられます。

• 列ヘッダーをも う一度ク リ ッ クする と、 重要度の高い方から並べられます。

注記 :詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 13] を参照してください。

DRC 違反プロパティの表示

[DRC] ウ ィンド ウで違反メ ッセージを右ク リ ッ ク し、[Violations Properties] をク リ ッ クする と、DRC 違反のプロパティが表示されます。 [Violation Properties] ウ ィンド ウで次のビューをク リ ッ ク します。

• [General] : DRC ルール違反のタイプ、 重要度、 説明など、 全体的な情報を示します。

• [Details] : ルールに違反するデザイン エレ メン トに関する情報を示します。DRC に違反するデザイン オブジェクトへのリ ンクが含まれる場合もあ り ます。 リ ンクをク リ ッ クする と、 そのデザイン オブジェク トが [RTL Netlist]ウ ィンド ウ、 [Device] ウ ィンド ウ、 [Schematic] ウ ィンド ウ、 およびソース RTL ファ イルで表示されます。

X-Ref Target - Figure 6-2

図 6‐2 : DRC 違反

I/O およびクロック  プランニング japan.xilinx.com 70UG899 (v2015.4) 2015 年 11 月 18 日

Page 71: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6 章 : I/O およびクロック  プランニングの検証

カスタム DRC の作成

create_drc_check および create_drc_violation などの Tcl コマンドを使用して、 Vivado Design Suite で使用するカスタム DRC を作成するこ と もできます。詳細は、『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 20] の「カスタム デザイン ルール チェッ ク (DRC) の作成」 を参照して ください。create_drc_checkおよび関連の Tcl コマンドについては、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] の「create_drc_check」 を参照してください。

DRC リス トの取得

現在定義されている DRC のリ ス ト を取得するには、Tcl コマンドの get_drc_checks を使用します。詳細は、『VivadoDesign Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] の 「get_drc_checks」 および 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 20] を参照してください。

SSN 解析Vivado IDE には、 異なるデバイスの I/O に関連するスイ ッチ ノ イズ レベルを解析する機能があ り ます。 SSN 解析では、 同時に切り替わる出力が I/O バンク内のほかの出力ポートに与える影響を予測します。 I/O バンク特定の電気特性も考慮され、 SSN でのパッケージの影響が正確に予測されます。

I/O は I/O バンクにグループ化され、 各バンクに固有の電源分配ネッ ト ワークがあ り、 スイ ッチング アクティビティに対する応答は異なり ます。パッケージに実装された FPGA 内の電源分配ネッ ト ワークのノ イズに対する応答はそれぞれ異なるため、 デザインで使用される I/O 規格や I/O 数だけでなく、 デバイスの電源システムのスイ ッチング アクティビティに対する応答も理解するこ とが重要です。

ザイ リ ンクスでは、すべてのバンクを 3 次元抽出およびシ ミ ュレーシ ョ ンを使用して特性化しています。 この情報がSSN 解析で使用されます。SSN 解析では、デバイスのスイ ッチング プロファイルを使用して、スイ ッチング アクティビティによるシステムの電源ネッ ト ワークへの影響と I/O バンク内のほかの出力への影響が予測されます。

注記 : SSN 解析では、双方向ポートの出力を含む出力信号のみが解析され、計算では入力信号は無視されます。 I/O バンクに十分なマージンがあれば、 入力および出力のレベルは影響を受けません。

重要 : 出力スイ ッチがインターフェイス ノ イズ マージンにどのよ うに影響するかを予測するには、 SSN 解析が も正確です。 その計算と結果は、 さまざまなパターンを網羅しています。 これらの予測値は、 デザインで発生する可能性のある ノ イズに関連した問題を特定するためのもので、 終デザインを確定するための検証方法と しては使用しないでください。

SSN 解析サポートの判断

SSN 解析は、すべてのデバイスでサポート されているわけではあ り ません。 メモ リで開いているデザインのターゲット デバイスで SNN 解析がサポート されているかど うかを判断するには、 次の Tcl コマンドを使用します。

get_property SSN_REPORT [get_property PART [current_design]]

メモ リで開いているデザインのターゲッ ト デバイス ファ ミ リで SNN 解析がサポート されているデバイスを リ ス トするには、 次の Tcl コマンドを使用します。

get_parts -filter "FAMILY == [get_property FAMILY [get_property PART \ [current_design]]] && SSN_REPORT"

I/O およびクロック  プランニング japan.xilinx.com 71UG899 (v2015.4) 2015 年 11 月 18 日

Page 72: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6 章 : I/O およびクロック  プランニングの検証

SSN 解析の実行

SSN 解析を実行するには、 次の手順に従います。

1. [Tool] → [Report] → [Report Noise] をク リ ッ ク します。

注記 : または、 Flow Navigator で [Report Noise] をク リ ッ ク します。

2. [Report Noise] ダイアログ ボッ クス (図 6-3) で次のオプシ ョ ンを設定し、 [OK] をク リ ッ ク します。

° [Results Name] : [Noise] ウ ィンド ウに表示する解析結果の名前を入力します。

° [Export to File] : 解析をレポート ファ イルにエクスポート します。出力ファイル名を入力するか、参照ボタンをク リ ッ ク して選択します。 出力ファイルのフォーマッ ト を [CSV] または [HTML] に指定します。

° [Phase] : デザインのクロ ッ ク情報が考慮され、 よ り正確な SSN ノ イズがレポート されます。 ク ロ ッ クは、create_clock および create_generated_clock コマンドを使用して定義されている必要があ り ます。生成クロ ッ クの周期、 位相シフ ト、 デューティ サイ クルは、 SSN 解析に大き く影響します。 詳細は、 「SSN解析への位相情報の追加」 を参照してください。

° [Open in a new tab] : 解析結果を [Noise] ウ ィンド ウの新しいビューに表示します。このオプシ ョ ンをオフにする と、 [Noise] ウ ィンド ウに現在表示されている結果が新しい解析結果で上書きされます。

SSN 解析結果の表示

SSN 解析が完了する と、 [Noise] ウ ィンド ウ (図 6-4) が表示されます。

X-Ref Target - Figure 6-3

図 6‐3 : [Report Noise] ダイアログ ボックス

X-Ref Target - Figure 6-4

図 6‐4 : [Noise] ウィンドウ

I/O およびクロック  プランニング japan.xilinx.com 72UG899 (v2015.4) 2015 年 11 月 18 日

Page 73: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6 章 : I/O およびクロック  プランニングの検証

左側のペインで各アイテムをク リ ッ ク し、 SSN 解析に関する情報を確認します。 たとえば [I/O Bank Details] をク リ ックする と、 次の情報が表示されます。

• [Name] : デバイスで使用可能な I/O バンクを示します。 各 I/O バンクにはピン アイコンが表示され、 バンクがどれく らい使用されているかが示されます。チェッ ク マークは問題がないこ とを示し、赤い丸は問題があるこ とを示します。

• [Port] : FPGA デザインのユーザー I/O 名を表示します。

• [I/O Std]、 [VCCO]、 [Slew]、 [Drive Strength] : ポート またはバンクの I/O 規格、 Vcco、 スルー レート、 および駆動電流を示します。

• [Off-Chip Termination] : 各 I/O 規格にデフォルト終端がある場合は、それを示します。 [None] またはオフチップ終端スタイルが表示されます。 たとえば [FP_VTT_50] は、 VTT への遠端並列 50 終端を示します。 すべての終端スタイルのリ ス トは、 該当するデバイスの SelectIO リ ソース ユーザー ガイ ド [参照 12] を参照してください。

LVTTL (2mA、4mA、6mA、および 8mA) では終端はなし とな り、LVTTL (12mA および 16mA) では VTT への 50の遠端並列終端となり ます。 この終端が使用される と、駆動電流が 12mA 以上の信号のノ イズ マージンが、 2mA~ 8mA よ り も小さ くな り ます。 この前提は、 7 シ リーズ デバイス、 Zynq®-7000 AP SoC、 および UltraScale™ デバイスで使用されます。

設定を変更するには、 次のいずれかの方法を使用します。

° 第 3 章の 「CSV ファ イルのインポート 」 に示す CSV ファ イルのインポート機能を使用します。

° [I/O Ports] ウ ィンド ウで、 ド ロ ップダウン リ ス トから選択します。

• [Remaining Margin %] : バンクの SSN をすべて考慮した後のノ イズ マージン値の残り を示します。

• [Notes] : I/O バンクまたはグループに関する情報を示します。

重要 : SSN 結果には SSN 解析が実行されたと きのデザインの状態が反映されており、ダイナミ ッ クなレポートではあり ません。

SSN 結果の I/O バンク  プロパティの表示

[Noise] ウ ィンド ウで I/O バンクを選択する と、 そのバンクに割り当てられている I/O ポート、 ピン、 およびグループの情報が [I/O Bank Properties] ウ ィンド ウに表示されます。 [I/O Bank Properties] ウ ィンド ウには、次の情報が表示されます。

• [General] ビュー : I/O バンクに割り当てられているポートの数と タイプ

• [Package Pins] または [I/O Ports] ビュー : バンク内のピンまたはポートの詳細情報 (図 6-5) X-Ref Target - Figure 6-5

図 6‐5 : [I/O Bank Properties] ウィンドウの [Package Pins] ビュー

I/O およびクロック  プランニング japan.xilinx.com 73UG899 (v2015.4) 2015 年 11 月 18 日

Page 74: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6 章 : I/O およびクロック  プランニングの検証

SSN 結果の改善

違反が発生した場合に SSN 結果を改善するには、 次を実行します。

• 違反が発生しているグループに SSN の影響をあま り受けない I/O 規格を使用します。低い駆動電流に変更、並列終端の DCI I/O 規格を変更、または低いクラスのド ライバーに変更 (SSTL Class II から SSTL Class I に変更するなど) します。

• 違反が発生しているピンを複数のバンクに分散させます。 このよ うにする と、 1 つのバンクの電源システムで問題のある出力数を低減できます。

• 違反が発生しているグループを複数の同期位相に分散させます。

• 位相情報を追加します。

SSN 解析への位相情報の追加

位相情報を追加する と、 SSN 解析の精度を高めるこ とができます。デフォルトでは、 SSN 解析ですべての出力ポートが同時に ト グルする と想定されます。 この想定はワース ト ケースの状況であ り、 不必要に見積も りの悪い SSN 解析レポートが生成される可能性があ り ます。デザインのクロ ッ ク情報が使用可能であれば、SSN 解析でよ り正確な SSNノ イズがレポート されます。

この機能を使用するには、 次の Tcl コマンドを使用して SSN 位相解析をイネーブルにします。

report_ssn -phase

create_clock および create_generated_clock コマンドを使用してクロ ッ ク情報を入力します。これらのコマンドによ り、 SSN 解析に次の必要な入力が提供されます。

• 位相グループ

注記 : 1 つの MMCM または PLL に属する生成されたクロ ッ クがグループになり ます。

• 周期

• デューティ サイ クル

• 位相シフ ト

注記 : 0 度からの絶対位相シフ トが含まれます。

詳細は、 『Vivado Design Suite Tcl コマン ド リ フ ァ レンス ガイ ド』 (UG835) [参照 8] および 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 20] を参照してください。

ヒン ト : SSN 位相解析をオンにする と、 SSN 解析レポートに [Phase] 列が表示されるよ うになり ます。

次の点に注意してください。

• マスター ク ロ ッ クが複数ある と、 SSN 結果は改善しません。 SSN 結果を削減するため、 各マスター ク ロ ッ ク内に複数の位相が必要です。

• 1 つの位相グループ内のポートが 1 つである と、 SSN 結果は改善しません。 各クロ ッ ク グループまたは位相グループに、 ポートは少なく と も 2 つ必要です。

• SSN ノ イズを 小限にするには、 1 つのクロ ッ クのクロ ッ ク遷移を別のクロ ッ クから 700 ピコ秒 (ps) シフ ト します。

• SSN 結果を改善するには、 1 つの位相グループ内の位相シフ ト を 200ps よ り大き くする必要があ り ます。

また、 次の点にも注意してください。

• 高集積デザインの場合、 位相を含む SSN 解析に数十分かかるこ とがあ り ます。

I/O およびクロック  プランニング japan.xilinx.com 74UG899 (v2015.4) 2015 年 11 月 18 日

Page 75: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 6 章 : I/O およびクロック  プランニングの検証

• 180 度のシフ トでは SSN 結果は改善されません。クロ ッ ク情報に立ち上がりおよび立ち下がり遷移情報は含まれていますが、 SSN 解析ではそのポートの実際の出力ロジッ クは含まれません。 クロ ッ クが Low から High に遷移する場合、 ポート出力はいずれかの方向にな り ます。 保守的な SSN レポート を生成するため、 アルゴ リ ズムでは 180 度が位相シフ ト 0 と同じ と認識されます。出力ポートに関する情報がないので、解析では 180 度シフ トのポートの SSN ノ イズが多く見積も られます。 実際には、 SSN は 180 度シフ トで削減されていますが、 アルゴ リズムではその削減が認識されません。

• 50% のデューティ サイ クルのみがサポート され、 それ以外のクロ ッ クは非同期信号と認識されます。

SSN 解析への温度情報の追加 (7 シリーズ デバイス)

7 シ リーズ デバイスおよび Zynq-7000 AP SoC では、 温度グレードを指定して SSN 解析の精度を向上できます。 正しい温度グレードを指定してください温度グレード情報を追加するには、次のいずれかの Tcl コマンドを使用してから、SSN 解析を実行します。

set_operating_conditions -grade Commercial

set_operating_conditions -grade Industrial

set_operating_conditions -grade Military

set_operating_conditions -grade Q-Grade

set_operating_conditions -grade Extended

注記 : UltraScale デバイスでは、 温度グレードはパーツ名に含まれており、 SSN 解析に自動的に組み込まれます。

ヒン ト : 動作条件を検証するには、Tcl コマンドの report_operating_conditions -grade を実行します。温度グレードをデフォルトに リセッ トするには、 Tcl コマンドの reset_operating_conditions -grade を実行します。

また、 次の点にも注意してください。

• デフォルトでは、 温度グレードはプロジェク トで使用されるデバイスに基づきます。

• エラボレート済みデザインで SSN 解析を実行する際は、 ターゲッ ト パーツのデフォルト温度グレードを変更できません。

• 動作条件は、消費電力解析にも使用されます。消費電力解析に影響する動作条件については、『Vivado Design Suiteユーザー ガイ ド : 消費電力解析と 適化』 (UG907) [参照 21] の 「Tcl プロンプ トからの消費電力解析の設定」 を参照してください。

I/O およびクロック  プランニング japan.xilinx.com 75UG899 (v2015.4) 2015 年 11 月 18 日

Page 76: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 7章

システム設計者との情報交換

概要I/O およびクロ ッ ク プランニング プロセスの一部と して、 CSV ファ イルおよび IBIS モデルをエクスポート して、 ザイ リ ンクス デバイスのピン配置に関する情報を PCB またはシステム設計者に渡すこ とができます。 PCB またはデザイン仕様の変更によっては、 第 3 章の 「I/O ポートの定義と設定」 に説明されているよ うにピン配置を再インポートする必要がある場合があ り ます。I/O およびクロ ッ ク プランニング フローの手順を完了したら、CSV ファ イルおよびIBIS モデルを使用して、 ピン配置をデバイス モデルと共にシグナル インテグ リティ解析用に戻すこ とができます。

I/O ピンとパッケージ データのエクスポートI/O ピンおよびパッケージ ピンの情報を、 次に目的でエクスポートできます。

• I/O ピン情報 : I/O ポート リ ス ト をファ イルにエクスポート し、 RTL のコード記述や PCB 回路図シンボルの作成に使用できます。

• パッケージ ピン情報 : エラボレート済みデザイン、合成済みデザイン、 またはインプリ メン ト済みデザインで作業している場合、 デバイス パッケージ ピンの情報を CSV ファ イルにエクスポートできます。 エクスポート された リ ス トのパッケージ ピン セクシ ョ ンを基に、 I/O ポート をスプレッ ドシートで定義できます。エクスポート される情報には、 デバイスに含まれるすべてのパッケージ ピン、 デザイン特定の I/O ポート割り当てとそのコンフ ィギュレーシ ョ ンが含まれます。 追加された列およびユーザー定義の値が保持され、 出力ファ イルにエクスポート されます。 エクスポート された CSV ファ イルの詳細は、 第 3 章の 「I/O ポートの定義と設定」 および付録 B 「CSV ファ イル形式の I/O ポート リ ス トの使用」 を参照してください。

I/O ポート リ ス ト情報をエクスポートするには、 次の手順に従います。

1. [File] → [Export] → [Export I/O Ports] をク リ ッ ク します。

2. [Export I/O Ports] ダイアログ ボッ クス (図 7-1) で、 生成する I/O ポートのタイプとパスを指定し、 [OK] をク リ ック します。

注記 : ポートがユーザーによ り割り当てられいてる固定された制約のみが XDC ファ イルに含まれます。

I/O およびクロック  プランニング japan.xilinx.com 76UG899 (v2015.4) 2015 年 11 月 18 日

Page 77: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 7 章 : システム設計者との情報交換

IBIS モデルの生成IBIS (Input/Output Buffer Information Specification) は、デバイス モデリ ング規格で、デバイス インターコネク トの信号ビヘイビアーを記述したビヘイビアー モデルの開発に使用できます。 これらのモデルは、 SPICE (Simulation Programwith Integrated Circuit Emphasis) シ ミ ュレーシ ョ ンで生成されるよ うな構造型モデルとは異なり、 企業独自の機密回路図情報を保持します。 IBIS バッファー モデルは、 測定または回路シ ミ ュレーシ ョ ンのいずれかによって生成されたV/I 曲線データに基づいています。

IBIS モデルは、 各 IOB 規格に対して構築されます。 IBIS ファ イルはデバイスに含まれるすべての I/O 規格の IBIS モデルのコレクシ ョ ンです。 IBIS ファ イルには、 デバイスで使用される、 特定の I/O 規格をサポートするためにコンフ ィギュレーシ ョ ンされた IOB にボンディングされているピンのリ ス ト も含まれます。 この リ ス トは、ピンと特定のIBIS バッファー モデルを関連付けます。

IBIS 規格では出力情報ファ イルの形式が指定されます。 これには、 ファ イル ヘッダー セクシ ョ ンと コンポーネン ト詳細セクシ ョ ンが含まれます。結果の IBIS モデル ファ イルの構文が IBIS データ形式に準拠しているかど うかを検証するため、 IBIS オープン フォーラム グループ (www.eda.org/ibis) によ り Golden Parser が開発されています。

Vivado® IDE で IBIS モデルをエクスポートする と、 .ibs ファ イルが出力されます。 このファイルには、 デザインで使用されるピンのリ ス ト 、 それらのピンに接続されるデバイス内部の信号、 ピンに接続された IOB の IBIS バッファーモデルなどが含まれます。

IBIS モデルのエクスポート

PCB 設計では、 システム レベルのシグナル インテグ リティの理解を深めるため、 IBIS モデルを使用したデザインのシ ミ ュレーシ ョ ンが必要な場合がよ くあ り ます。 ク ロス トーク、 グランド バウンス、 SSN などのシグナル インテグリティの問題について考慮する必要があ り ます。 IBIS モデルを使用する と、パッケージ デバイスの I/V カーブおよび寄生情報などの特性化に役立ちます。

ヒン ト : 汎用 IBIS モデルは、 ザイ リ ンクス ウェブサイ トのダウンロード ページからダウンロードできます。

Vivado IDE からは、 デザインおよびピンごとのパッケージ データから IBIS モデルを生成できます。 Vivado IDE は、デザインのネッ ト リ ス トおよびインプ リ メンテーシ ョ ンの詳細を使用し、その情報とピンごとの寄生パッケージ情報を統合して、 そのデザイン専用のカスタム IBIS モデルを作成します。

X-Ref Target - Figure 7-1

図 7‐1 : [Export I/O Ports] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 77UG899 (v2015.4) 2015 年 11 月 18 日

Page 78: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 7 章 : システム設計者との情報交換

デザイン解析に使用する IBIS ファ イルをエクスポートするには、エラボレート済みデザイン、合成済みデザイン、またはインプ リ メン ト済みデザインが開いている状態で次を実行します。

1. [File] → [Export] → [Export IBIS Model] をク リ ッ ク します。

2. [Export IBIS Model] ダイアログ ボッ クス (図 7-2) で次のオプシ ョ ンを指定し、 [OK] をク リ ッ ク します。

° [Output File] : 出力される IBIS ファ イルのファイル名とパスを指定します。

° [Include all models] : デバイスで使用可能な I/O バッファー モデルをすべて含みます。 デフォルトでは、 デザインで使用されるバッファー モデルのみが含まれます。

° [Disable per pin modeling] : パッケージのピンごとのモデル記述を含めないよ うにします。 これは、 デバイスのダイ パッ ドからパッケージ ピンまでのパスです。 オフにする と、 パッケージは、 すべてのピンに適用される 1 つの RLC 伝送ライン モデルに削減され、 IBIS ファ イルの [Package] セクシ ョ ンで定義されます。

° [Maximum length of signal names] : 信号名の長さを指定した文字数に制限し、 それよ り長い場合は切り捨てます。

- [40] : 信号名の長さが IBIS バージ ョ ン 4.2 でサポート される 40 文字までに制限されます (デフォルト )。

- [20] : 信号名の長さが 20 文字までに制限されます。

- [Unlimited] : 信号名の長さに制限はあ り ません。

° [Updated generic IBIS model file] : デバイス用の IBIS モデル ファ イルを指定します (オプシ ョ ン)。 このファ イルが、 インス トール ディレク ト リの parts ディ レク ト リに含まれる IBIS モデルの代わりに使用されます。

重要 : インス トールに IBIS モデルが含まれないデバイスを使用する場合は、 こ こで IBIS モデル ファ イルを指定する必要があ り ます。

° [Updated parasitic package data file] : ピンごとの抽出に使用する寄生パッケージ ファ イル (.pkg) を指定します(オプシ ョ ン)。 このファ イルが、 インス トール ディ レク ト リの parts ディ レク ト リに含まれる寄生パッケージ ファ イルの代わりに使用されます。

重要 : インス トールに IBIS モデルが含まれないデバイスを使用する場合は、 こ こで寄生パッケージ ファ イルを指定する必要があ り ます。

° [Component Name] : デフォルト値 (デバイス ファ ミ リ ) を変更する新しいコンポーネン ト名を指定します (オプシ ョ ン)。

X-Ref Target - Figure 7-2

図 7‐2 : [Export IBIS Model] ダイアログ ボックス

I/O およびクロック  プランニング japan.xilinx.com 78UG899 (v2015.4) 2015 年 11 月 18 日

Page 79: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

第 7 章 : システム設計者との情報交換

PCB デザインとのインターフェイスVivado ピン プランナー ツールを使用する と、 効率的にピン割り当てを選択できます。 正しいリ ソースを選択することで、 デザイン プロセスがよ り高速で簡潔なものとな り ます。 このセクシ ョ ンの推奨事項に従う と、 ボード レイアウ ト、 ピン割り当て、 FPGA リ ソースの競合を回避できます。 PCB およびピン プランニングの詳細は、該当するデバイスの PCB デザイン ガイ ド [参照 22] を参照して ください。

パーツの互換性

第 2 章の 「互換性のある代替デバイスの指定」 に説明されているよ うに、 互換性のある代替デバイスを設定します。選択されたすべての代替デバイ ス間で共通のピンが特定され、 すべてのデバイ スに共通でないピンに対してはPROHIBIT 制約が設定されるので、 これらのピンが使用される可能性はあ り ません。詳細は、 ターゲッ ト デバイスの製品表を参照してください。

DRC

I/O 割り当ての全体的な整合性をチェッ クするには、 第 6 章の 「DRC の実行」 で説明するよ うに DRC を実行します。ボード プランニングの前に、 DRC でレポート されるすべての警告およびエラーを修正しておく こ とが重要です。

SSN 解析

発生する可能性のある ノ イズを予測するには、 第 6 章の 「SSN 解析」 で説明するよ うに SSN 解析を実行します。 ノイズ関連の問題は、 ボード プランニングの前に解決しておく こ と をお勧めします。 詳細は、 該当するデバイスのSelectIO リ ソース ユーザー ガイ ド [参照 12] およびメモ リ リ ソース ユーザー ガイ ド [参照 17] を参照してください。

IBIS シミ ュレーシ ョ ン

IBIS シ ミ ュレーシ ョ ンを実行するには、 「IBIS モデルの生成」 で説明するよ うに、 Vivado IDE で生成された IBIS ファイルを使用します。

CSV のエクスポート

DRC および SSN 解析を実行したら、 「I/O ピンとパッケージ データのエクスポート 」 で説明するよ うに CSV ファ イルをエクスポート し、 ボード プランニングに使用します。

サポート されるサードパーティの PCB ツール

ボード全体の環境で I/O 割り当てを 適化する Cadence 社 Allegro FPGA System Planner および Mentor Graphics 社 I/ODesigner もサポート されています。 詳細は、 該当するサードパーティ ツールの資料を参照して ください。

I/O およびクロック  プランニング japan.xilinx.com 79UG899 (v2015.4) 2015 年 11 月 18 日

Page 80: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 A

UltraScale デバイス メモリ  IP の I/O 割り当ての移行

概要Vivado® Design Suite 2015.x では、UltraScale™ デバイス メモ リ IP の I/O 割り当てはネッ ト リ ス ト またはエラボレート済みデザインで実行されます。 2014.x UltraScale デバイス MIG IP を 2015.x メモ リ IP にアップグレードする場合、 次の手順を実行してメモ リ IP の既存の I/O 割り当てを 上位 XDC ファ イルに移行する必要があ り ます。変更の概要は、第 4 章の 「UltraScale アーキテクチャ メモ リ IP の I/O プランニング デザイン フローの変更」 を参照してください。

ビデオ : 詳細は、 Vivado Design Suite ビデオ チュート リ アル : UltraScale メモ リ IP の 2015.1 への移行を参照してください。

注記 : IP をアップグレードせずに、 2015.x デザインで 2014.x バージ ョ ンの IP を使用し続けるこ と もできます。 この場合 IP をカス タマイズ し直すこ と はでき ませんが、 デザイ ンを イ ンプ リ メ ン ト する こ と は可能です。 2014.xUltraScale™ MIG IP は UltrasScale+™ デバイスをターゲッ トにするデザインと一緒には使用しないでください。

プロジェク ト  フローを使用した UltraScale デバイス メモリ  IP の移行

1. 移行の前に、 2014.x でザイ リ ンクスのコピーを作成して ください。 これには、 IP をコンフ ィギュレーシ ョ ンするのに使用した Manage IP プロジェク ト も含まれます。

注記 : Manage IP フローの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 5] の「[Manage IP] プロジェク トの使用」 を参照してください。

2. 2015.x Vivado ツールで 2014.x プロジェク ト を開き、[OK] をク リ ッ ク してプロジェク ト をアップグレード します。

3. [Tools] → [Report] → [Report IP Status] をク リ ッ ク し、 メモ リ IP をアップデート して出力ファイルを生成します。

4. [Sources] ウ ィンド ウで [IP Update Log] を展開し、 アップグレード ログ ファ イルをダブルク リ ッ ク して開きます(図 A-1)。

I/O およびクロック  プランニング japan.xilinx.com 80UG899 (v2015.4) 2015 年 11 月 18 日

Page 81: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 A : UltraScale デバイス メモリ  IP の I/O 割り当ての移行

5. アップグレード ログ ファ イルに記述されている メモ リ IP の I/O を移行する手順 (図 A-2) を読みます。

a. IP アップグレード プロセスによ り メモ リ IP ディ レク ト リに <mig_ip_name>_upgrade.xdc ファ イルが作成され、 適用範囲が IP モジュールに限定された I/O 制約が含まれます。

b. 2015.1 リ リースでは、 I/O バッファーはメモ リ IP の sys_rst ポートの一部ではなくなっており、 ポート をデザインのほかのリセッ ト と共有しやすくなっています。 ログファ イルには、 2014.x デザインのポートに使用されていた値が示されます。 手順 9 で説明されているよ うに、 移行したデザインで sys_rst ポート を割り当て直すこ とができます。

X-Ref Target - Figure A-1

図 A‐1 : アップグレード  ログ ファイルの確認

X-Ref Target - Figure A-2

図 A‐2 : ログ ファイルに含まれる  I/O ポートの移行に関する情報

I/O およびクロック  プランニング japan.xilinx.com 81UG899 (v2015.4) 2015 年 11 月 18 日

Page 82: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 A : UltraScale デバイス メモリ  IP の I/O 割り当ての移行

6. 移行したエラボレート済みデザインまたは合成済みデザインを開きます。

7. 次の Tcl コマンドを使用して、 各メモリ コン ト ローラー IP の適用範囲が限定された I/O 制約をデザインにインポート します。

read_xdc -cell <mig_instance_name> -file <mig_ip_name>_upgrade.xdc

これによ り、 IP の適用範囲が限定された制約がメモ リに読み込まれます。 この XDC ファ イルは [Sources] ウ ィンド ウのアクティブ制約セッ トにも追加されます。

ヒン ト : この XDC ファ イルをアクティブ制約セッ トに追加しない場合は、 read_xdc コマンドに -no_add オプシ ョンを使用します。 メモ リの制約は、 [Save Constraints] コマンドを実行する と ターゲッ ト制約ファイルに保存されます。複数の制約ファイルを使用するか、 すべてを 上位ファイルに保存できます。

8. メモ リの制約をターゲッ ト制約ファイルに保存するには、 [File] → [Save Constraints] をク リ ッ ク します。

注記 : これを Tcl コマンドで実行する場合は save_constraints を使用します。

これによ り IP セル レベルの制約がデザインの 上位に伝搬され、 XDC ファ イルの 上位制約と して表示されます。 ポート名の変更は、 このプロセスの一部と して自動的に組み込まれます。

9. オプシ ョ ンで、 [I/O Ports] ウ ィンド ウで sys_rst ポート を割り当て直します (図 A-3)。

a. [Show Search] ボタン をク リ ッ ク し、 sys_rst ポート を検索します。

b. IP アップグレード ログ ファ イルに説明されているよ うに PACKAGE_PIN および IOSTANDARD プロパティを設定します。

10. 第 6 章の 「DRC の実行」 で説明するよ うに DRC を実行し、 すべての I/O 規則に従っているこ とを確認します。

11. [File] → [Save Constraints] をク リ ッ ク して sys_rst の変更を保存します。

12. デザインをインプリ メン ト します。

非プロジェク ト  フローを使用した UltraScale デバイス メモリ  IP の移行2014.x UltraScale デバイス MIG IP を含む既存の非プロジェク ト (スク リプ ト ベース) デザインを 2015.x UltraScale デバイスのメモ リ IP にアップグレードするには、 次の Tcl コマンドを使用します。 これらの手順は基本的に 「プロジェクト フローを使用した UltraScale デバイス メモ リ IP の移行」 と同じですが、 Tcl コマンドを使用します。

X-Ref Target - Figure A-3

図 A‐3 : sys_rst ポートの再割り当て

I/O およびクロック  プランニング japan.xilinx.com 82UG899 (v2015.4) 2015 年 11 月 18 日

Page 83: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 A : UltraScale デバイス メモリ  IP の I/O 割り当ての移行

1. 移行の前に、 2014.x でザイ リ ンクスのコピーを作成してください。 これには、 IP をコンフ ィギュレーシ ョ ンするのに使用した Manage IP プロジェク ト も含まれます。

注記 : Manage IP フローの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 5] の「[Manage IP] プロジェク トの使用」 を参照してください。

2. 2015.x Vivado ツールで 2014.x プロジェク ト を開き、 [OK] をク リ ッ ク してプロジェク ト をアップグレード します。

3. [Tools] → [Report] → [Report IP Status] をク リ ッ ク し、 メモ リ IP をアップデート して出力ファイルを生成します。

4. [Sources] ウ ィンド ウで [IP Update Log] を展開し、アップグレード ログ ファ イルをダブルク リ ッ ク して開きます (図 A-1)。

5. アップグレード ログ ファ イルに記述されている メモ リ IP の I/O を移行する手順 (図 A-2) を読みます。

a. IP アップグレード プロセスによ り メモ リ IP ディ レク ト リに <mig_ip_name>_upgrade.xdc ファ イルが作成され、 適用範囲が IP モジュールに限定された I/O 制約が含まれます。

b. 2015.1 リ リースでは、 I/O バッファーはメモ リ IP の sys_rst ポートの一部ではなくなっており、 ポート をデザインのほかのリセッ ト と共有しやすくなっていました。 ログファ イルには、 2014.x デザインのポートに使用されていた値が示されます。 手順 9 で説明されているよ うに、 移行したデザインで sys_rst ポート を割り当て直すこ とができます。

6. 移行したエラボレート済みデザインまたは合成済みデザインを開きます。

7. 次の Tcl コマンドを使用して、 各メモリ コン ト ローラー IP の適用範囲が限定された I/O 制約をデザインにインポート します。

read_xdc -cell <mig_instance_name> -file <mig_ip_name>_upgrade.xdc

これによ り、 IP の適用範囲が限定された制約がメモ リに読み込まれます。 メモ リの制約は、 write_xdc コマンドを実行する と保存されます。

8. 次の Tcl コマンドを使用して、 IP セル レベルの制約をデザインの 上位に伝搬し、 ファ イルを出力します。

write_xdc

適用範囲が限定された制約が XDC ファ イルの 上位制約と して表示されます。 ポート名の変更は、 このプロセスの一部と して自動的に組み込まれます。

9. 次の Tcl コマンドを使用し、 IP アップグレード ログ ファ イルに説明されているよ うに、 出力 XDC ファ イルを編集して sys_rst ポートの PACKAGE_PIN および IO_STANDARD プロパティを含めます。

set_property PACKAGE_PIN <pin#> [get_ports sys_rst]

set_property IOSTANDARD <io_std> [get_ports sys_rst]

編集した XDC ファ イルがデザインのメ インの XDC ファ イルとな り、 この後のインプリ メンテーシ ョ ン run で使用されます。

10. 第 6 章の 「DRC の実行」 で説明するよ うに DRC を実行し、 すべての I/O 規則に従っているこ とを確認します。

11. デザインをインプリ メン ト します。

I/O およびクロック  プランニング japan.xilinx.com 83UG899 (v2015.4) 2015 年 11 月 18 日

Page 84: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 B

CSV ファイル形式の I/O ポート  リストの使用

CSV ファイルCSV ファ イルは、 FPGA やボード設計で、 デバイス ピンおよびピン配置のデータを交換するために使用される標準ファイル形式です。 詳細は、 第 3 章の 「CSV ファ イルのインポート 」 および第 7 章の 「I/O ピンとパッケージ データのエクスポート 」 を参照してください。

次に、CSV の列を説明します。各プロパティの詳細は、『Vivado Design Suite プロパティ リ ファレンス ガイ ド』 (UG912)[参照 9] を参照して ください。

• [I/O Bank] : ピンが配置される I/O バンクを指定します。デバイスのすべてのピンに対して、 ツールによ りデータが自動挿入されます。 値は数値または空白です。 入力 CSV ファ イルでは必須のフ ィールドではあ り ません。

• [Pin Number] : パッケージ ピンの名前または場所を指定します。 デバイスのすべてのピンに対して、 ツールによりデータが自動挿入されます。 入力ファイルで必須のフ ィールドではあ り ません。 入力で使用される場合は、 配置を定義するために使用されます。 値はデバイスの有効なピンです。

• [IOB Alias] : パッケージ ピンの代替パーツ名を指定します。ツールによ り指定され、入力 CSV ファ イルで指定されている場合は使用されません。

• [Site Type] : デバイス データシートからのピン名を指定します。 ツールによ り指定され、 入力 CSV ファ イルで指定されている場合は使用されません。

• [Min Trace Delay (ps)]/[Max Trace Delay (ps)] : ダイのパッ ド サイ ト とパッケージのボール間の距離をピコ秒 (ps) で指定します。 ツールによ り指定され、 ボード設計時にト レース遅延を一致させるために使用します。 また、 これらのフ ィールドは出力ファイルのみに含まれており、 入力ファイルには含まれていません。

• [Trace Length (um)] : パッケージ ピンとダイ パッ ド間の内部ト レース長を指定します。

• [Prohibit] : 禁止サイ ト を指定します。一部のサイ トは、 ユーザー I/O がサイ トに追加されないよ う禁止できます。次に例を示します。

° ボード レイアウ トの問題を緩和するため

° 信号間のクロス トークを削減するため

° 同じパッケージの複数の FPGA 間でピン配置を有効にするため

注記 : XDC ファ イルでは、 これは PROHIBIT プロパティ と して記述されます。

• [Interface] : ユーザー I/O のセッ ト をユーザーが指定してグループ化します。たとえば、 メモ リ インターフェイスのデータ、 アドレス、 およびイネーブル信号の関係を指定できます。 値は文字列または空白です。

• [Signal Name] : FPGA デザインのユーザー I/O 名。 値は文字列、 または割り当てられていないパッケージ ピンの場合は空白です。

• [Direction] : 信号の方向。 値は IN、 OUT、 INOUT、 またはユーザー I/O がサイ トに割り当てられていない場合は空白です。

• [DiffPair Type] : 差動ペアのピンが N 側または P 側のどちらかを指定します。これは差動信号に対してのみ使用されます。 ツールでは、 ピン名からではなく、 この列の情報を使用してどのピンが N 側でどのピンが P 側かを判断します。 値は P、 N、 またはユーザー I/O がサイ トに割り当てられていない場合は空白です。

I/O およびクロック  プランニング japan.xilinx.com 84UG899 (v2015.4) 2015 年 11 月 18 日

Page 85: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 B : CSV ファイル形式の I/O ポート  リス トの使用

• [DiffPair Signal] : 差動ペアのも う 1 つのピン名を指定します。値はユーザー I/O 名、 または未使用の場合は空白です。

• [IO Standard] : 特定ユーザー I/O の I/O 規格を指定します。 このフ ィールドがユーザー I/O に対して空白の場合、該当するデバイスのデフォルト値が使用されます。 値は有効な I/O 規格、 または空白です。

• [Drive] : ユーザー I/O の I/O 規格の駆動電流。すべての I/O 規格で駆動電流が指定できるわけではあ り ません。 このフ ィールドが空白の場合、 デフォルト値が使用されます。 値は数値または空白です。

• [Slew Rate] :特定ユーザー I/O の I/O 規格のスルー レート を指定します。すべての I/O 規格でスルー レートが指定できるわけではあ り ません。 このフ ィールドが空白の場合、デフォルト値が使用されます。値は FAST、MEDIUM(UltraScale™ デバイスのみ)、 および SLOW です。

• [OUTPUT_IMPEDANCE] (UltraScale デバイスのみ) : HSTL、 SSTL、 HSUL、 LVDCI、 HSLVDCI、 および POD ド ライバーのド ラ イバー インピーダンスを駆動される ラ インの特性インピーダンスに一致する よ う指定します。OUTPUT_IMPEDANCE 属性は、 サポート される規格の DCI バージ ョ ンおよび非 DCI バージ ョ ンの両方に対し、ド ラ イバーでのソース終端値を定義します。

• [PRE_EMPHASIS] (UltraScale デバイスのみ) : 一部の I/O 規格でプリエンファシスを可能にし、 シンボル間の干渉を削減し、伝送ライン損失の影響を 小限に抑えるこ とによ り、高周波数信号のシグナル インテグ リ ティを改善します。

• [LVDS_PRE_EMPHASIS] (UltraScale デバイスのみ) : LVDS I/O 規格でプリエンファシスを可能にし、 シンボル間の干渉を削減し、伝送ライン損失の影響を 小限に抑えるこ とによ り、高周波数信号のシグナル インテグ リ ティを改善します。

• [Pull Type] : 選択されているポートの抵抗のタイプを指定します。 ト ラ イステート出力バッファー (OBUFT) または双方向バッファー (IOBUF) を使用する場合、 出力に弱いプルアップ抵抗、 弱いプルダウン抵抗、 またはウ ィーク キーパー回路を付けるこ とができます。 入力バッファー (IBUF) を使用する場合は、 入力に弱いプルアップ抵抗または弱いプルダウン抵抗を付けるこ とができます。

• [IN_TERM]/[OUT_TERM] : オプシ ョ ンの IN_TERM または OUT_TERM ド ラ イバーのインピーダンス プロパティを定義します。 ほとんどの場合、 このフ ィールドは空白のままにします。 製品デバイスではまだサポート されていません。 この終端定義を使用する と、 SLEW および DRIVE STRENGTH プロパティが上書きされます。 SSN の計算ではサポート されません。

• [DIFF_TERM] : ビルト インの差動終端をオン/オフにします。

• [OFFCHIP_TERM] : I/O の外部ボード レベルの終端を指定します。 SSN の計算ではサポート されません。 このフ ィールドを空白のままにする と、 SSN の計算に予測される終端が使用され、 この終端がデフォルト で SSN レポートおよび [I/O Ports] ウ ィンド ウに表示されます。

注記 :予測される終端とそのツールでの表示名は、 該当するデバイスの Select IO リ ソース ユーザー ガイ ド [参照 12] を参照してください。

• [Board Signal] : ボード レベル デザインから I/O に入力される信号の名前を指定します。

• [Board Voltage] : ボード レベル デザインから I/O に入力される信号の電圧レベルを定義します。

重要 : Vivado® ツールでは、 CSV ファ イルを読み込む際、 定認識されない列はユーザー定義列と して保持され、 [I/OPorts] ウ ィンド ウに表示されます。

I/O およびクロック  プランニング japan.xilinx.com 85UG899 (v2015.4) 2015 年 11 月 18 日

Page 86: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 B : CSV ファイル形式の I/O ポート  リス トの使用

CSV ファイルでの差動ペアCSV ファ イルで差動ペアを定義するプロパティは複数あ り ます。

• [Signal Name]

• [DiffPair Signal]

• [DiffPair Type]

• [I/O Standard]

CSV ファ イルのそれ以外の値は、差動ペアを検証するために使用され、互換性のあるものであるこ とが確認されますが、 ペアを定義するためには使用されません。 CSV ファ イルでは、 差動ペアを次の方法で定義します。

• 2 つのポートで差動ペアを定義 : 差動ペアを構成する 2 つの信号を直接定義します。 2 つのポート エン ト リで、[DiffPair Signal] にお互いの [Signal Name] の値を指定し、 [DiffPair Type] で一方に N、 も う一方に P を指定します。ツールで差動ペアを作成する際、 [I/O Standard] などのほかのプロパティに互換性があるかど うかがチェッ ク されます。

• 1 つのポートのみで差動ペアを リ ンク : 2 つのポート エン ト リの [DiffPair Type] で一方に N、 も う一方に P を指定していますが、 1 つのポートでのみ [DiffPair Signal] にも う一方の [Signal Name] の値を指定します。 この場合、 ほかのすべてのプロパティに互換性があれば、 差動ペアが作成されます。

• 差動ペアの 1 つのポートのみを指定 : 1 つのポート エン ト リで、 [I/O Standard] に差動規格、 [DiffPair Type] に値を指定し、 [DiffPair Signal] には CSV ファ イルに含まれない信号を指定します。 この場合、 このポート エン ト リのプロパティに一致する差動ペアのも う一方がツールによ り作成されます。

• 差動ペアを推論 : 2 つのポート エン ト リで、DIFF_HSTL、DIFF_SSTL などの差動 I/O 規格を指定し、[Signal Names]に N 側と P 側が推論されるよ うな名前を指定します。 この場合、すべてのプロパティに互換性があれば、差動ペアが推論されます。

I/O およびクロック  プランニング japan.xilinx.com 86UG899 (v2015.4) 2015 年 11 月 18 日

Page 87: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 C

その他のリソースおよび法的通知

ザイリンクス リソースアンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照してください。

ソリューシ ョ ン  センターデバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 デザイン アシスタン ト 、 デザイン アドバイザリ、 ト ラブルシューティングのヒン ト などが含まれます。

参考資料1. 『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949 : 英語版、 日本語版)

2. 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892)

3. 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895)

4. 『LogiCORE™ IP Clocking Wizard 製品ガイ ド (PG065)

5. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)

6. 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901)

7. 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904)

8. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)

9. 『Vivado Design Suite プロパティ リ ファレンス ガイ ド』 (UG912)

10. 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470 : 英語版、 日本語版)

『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570 : 英語版、 日本語版)

『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085)

11. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)

12. 『7 シ リーズ FPGA SelectIO™ リ ソース ユーザー ガイ ド』 (UG471 : 英語版、 日本語版)

『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571 : 英語版、 日本語版)

13. 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893)

14. 『7 シ リーズ FPGA パッケージおよびピン配置ガイ ド』 (UG475 : 英語版、 日本語版)

I/O およびクロック  プランニング japan.xilinx.com 87UG899 (v2015.4) 2015 年 11 月 18 日

Page 88: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 C : その他のリソースおよび法的通知

『Kintex UltraScale および Virtex UltraScale FPGA のパッケージおよびピン配置ユーザー ガイ ド』 (UG575 : 英語版、日本語版)

『Zynq®-7000 All Programmable SoC パッケージおよびピン配置ガイ ド』 (UG865 : 英語版、 日本語版)

15. 『Zynq-7000 All Programmable SoC テクニカル リ ファレンス マニュアル』 (UG585 : 英語版、 日本語版)

16. 『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』 (UG476 : 英語版、 日本語版)

『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576 : 英語版、 日本語版)

17. 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ ド』 (UG573 : 英語版、 日本語版)

『Zynq-7000 All Programmable SoC パッケージおよびピン配置ガイ ド』 (UG865 : 英語版、 日本語版)

18. 『LogiCORE IP UltraScale アーキテクチャ FPGA メモ リ インターフェイス ソ リ ューシ ョ ン製品ガイ ド』 (PG150 : 英語版、 日本語版)

19. 『7 シ リーズ FPGA ク ロ ッキング リ ソース ユーザー ガイ ド』 (UG472 : 英語版、 日本語版)

『UltraScale アーキテクチャ ク ロ ッキング リ ソース ユーザー ガイ ド』 (UG572 : 英語版、 日本語版)

20. 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894)

21. 『Vivado Design Suite ユーザー ガイ ド : 消費電力解析と 適化』 (UG907)

22. 『7 シ リーズ FPGA PCB デザイン ガイ ド』 (UG483 : 英語版、 日本語版)

『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583 : 英語版、 日本語版)

『Zynq-7000 All Programmable SoC PCB デザイン ガイ ド』 (UG933 : 英語版、 日本語版)

23. 『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085)

24. IBIS オープン フォーラム グループ (www.eda.org/ibis)

25. ザイ リ ンクス ダウンロード

26. Vivado Design Suite の資料

I/O およびクロック  プランニング japan.xilinx.com 88UG899 (v2015.4) 2015 年 11 月 18 日

Page 89: Vivado Design Suite - china.  モリ インターフェイス ジェネレーター (mig) ip をメモリ ip

付録 C : その他のリソースおよび法的通知

ト レーニング リソースザイ リ ンクスでは、本書に含まれるコンセプ ト を説明するさまざまな ト レーニング コースおよびオンライン ビデオを提供しています。 次のリ ンクから関連する ト レーニング リ ソースを参照してください。

1. Vivado での FPGA 設計導入ト レーニング コース

2. Vivado での FPGA 設計実践ト レーニング コース

3. Vivado でのアドバンスド FPGA 設計ト レーニング コース

4. Vivado Design Suite ビデオ チュート リ アル : I/O プランニングの概要

5. Vivado Design Suite ビデオ チュート リ アル : UltraScale デバイスのメモ リ IP を使用した設計

6. Vivado Design Suite ビデオ チュート リ アル : UltraScale デバイスのメモ リ I/O の 2015.1 への移行

7. Vivado Design Suite ビデオ チュート リ アル

お読みください : 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」 、 法人その他の団体の場合には 「貴社」 。 以下同じ )に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、

およびすべて受領者の責任で (with all faults) とい う状態で提供され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず

(商品性、非侵害、特定目的適合性の保証を含みますがこれらに限られません)、すべての保証および条件を負わない (否認する ) もの

と します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる

種類 ・ 性質の損失または損害についても、 責任を負わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理

によるかを問わない) ものと し、 当該損失または損害には、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こし

た行為の結果被った、 データ、 利益、 業務上の信用の損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 そ

れは、たとえ当該損害や損失が合理的に予見可能であったり、ザイ リ ンクスがそれらの可能性について助言を受けていた場合であっ

たと しても同様です。 ザイ リ ンクスは、 本情報に含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップ

デート を貴殿または貴社に知らせる義務も負いません。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変

更、 頒布、 または公に展示してはな り ません。 一定の製品は、 ザイ リ ン ク スの限定的保証の諸条件に従 う こ と と な るので、

http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿または

貴社に付与したライセンスに含まれる保証と補助的条件に従う こ とにな り ます。ザイ リ ンクスの製品は、 フェイルセーフと して、 ま

たは、 フェイルセーフの動作を要求するアプリ ケーシ ョ ンに使用するために、設計されたり意図されたり していません。そのよ うな

重大なアプ リ ケーシ ョ ンにザイ リ ン ク スの製品を使用する場合の リ ス ク と責任は、 貴殿または貴社が単独で負 う ものです。

http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照してください。

© Copyright 2012-2015 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含ま

れるその他の指定されたブランドは、米国およびその他各国のザイ リ ンクス社の商標です。すべてのその他の商標は、それぞれの保

有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの

右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で

入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受

け付けており ません。 あらかじめご了承ください。

I/O およびクロック  プランニング japan.xilinx.com 89UG899 (v2015.4) 2015 年 11 月 18 日