IP インテグレーターを使用した IP サブシステムの設計 (UG994)

Vivado Design Suite
ユーザー ガ イ ド
IP イ ン テグ レー タ ーを使用 し た IP
サブ シス テムの設計
UG994 (v2015.4) 2015 年 11 月 18 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資
料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情
報につきましては、必ず最新英語版をご参照ください。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
改訂内容
2015 年 11 月 18 日
2015.4
第
第
第
第
第
2015 年 9 月 30 日
2015.3
第 2 章の 「IP イ ン テ グ レー タ ーのグルー ロ ジ ッ ク IP」 に AND、 OR、 XOR、 お よ び NOT
の追加に関す る 詳細を追加
第 2 章の 「IP イ ン テ グ レー タ ーのグルー ロ ジ ッ ク IP」 にバ ス信号の統合お よ びバ ス ネ ッ
ト か ら ビ ッ ト を抽出す る 方法について説明
第 2 章の 「異な る 幅のポー ト の接続」 を追加
第 4 章の 「出力フ ァ イ ルの生成」 を ア ッ プデー ト
第 4 章の 「生成 さ れ る 出力フ ァ イ ルの検証」 に詳細を追加
第 4 章の 「ハー ド ウ ェ ア定義の SDK へのエ ク ス ポー ト 」 を ア ッ プデー ト
第 7 章の 「Tcl フ ァ イ ルへの Vivado プ ロ ジ ェ ク ト 情報の保存」 に詳細を追加
第 8 章の 「非プ ロ ジ ェ ク ト モー ド の フ ロ ーの作成」 に も 詳細を追加
2015 年 6 月 24 日
2015.2
第 2 章の 「接続」 に イ ン タ ーフ ェ イ ス ピ ンの個別信号お よ びバス に接続する 方法の詳細を
追加
第 8 章 「非プ ロ ジ ェ ク ト モー ド での IP イ ン テ グ レー タ ーの使用」 にア ウ ト オブ コ ン テ キ
ス ト 合成が非プ ロ ジ ェ ク ト モー ド でサポー ト さ れない こ と を示す注記を追加
2015 年 4 月 1 日
2015.1
第 2 章の 「ブ ロ ッ ク デザ イ ン の作成」 に ロ ーカル プ ロ ジ ェ ク ト 構造内お よ びプ ロ ジ ェ ク
ト デ ィ レ ク ト リ 外でのブ ロ ッ ク デザ イ ンの作成に関す る 情報を統合
第 2 章の 「デザ イ ン キ ャ ンバ スへの IP モジ ュ ールの追加」 の13 ページの図 2-11 を Vivado
IP カ タ ロ グの [Details] ウ ィ ン ド ウ を表示する よ う にア ッ プデー ト
第 2 章の 「ブ ロ ッ ク デザ イ ンのパ ッ ケージ」 の下に 『Vivado Design Suite ユーザー ガ イ ド
: カ ス タ ム IP の作成お よ びパ ッ ケージ』 [参照 11] への参照を追加
第 4 章の 「出力フ ァ イ ルの生成」 にア ウ ト オブ コ ン テ キ ス ト 合成 と IP キ ャ ッ シ ュ の使用
方法に関す る 情報を追加
第 4 章の 「既存ブ ロ ッ ク デザ イ ン の追加」 に、 既存プ ロ ジ ェ ク ト ま たは ス タ ン ド ア ロ ン
デ ィ レ ク ト リ か ら 新規プ ロ ジ ェ ク ト への既存ブ ロ ッ ク デザ イ ン の追加に関す る 情報を ま
と めて ア ッ プデー ト
第 4 章の 「ブ ロ ッ ク デザ イ ンの リ ビ ジ ョ ン管理」 に 『UltraFast 設計手法 (Vivado Design Suite
用)』 (UG949) [参照 9] への参照を追加
第 6 章 「ILA を使用 し た IP イ ン テ グ レー タ ー デザ イ ンのデバ ッ グ」 に 『Vivado Design Suite
ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 7] への参照を追加
第 8 章 「非プ ロ ジ ェ ク ト モー ド での IP イ ン テ グ レー タ ーの使用」 に Tcl ス ク リ プ ト 例を追
加.
第 10 章 「IP イ ン テ グ レー タ ーでのプ ラ ッ ト フ ォーム ボー ド フ ロ ーの使用」 の情報を ア ッ
プデー ト
第 11 章「IP イ ン テ グ レー タ ーでのサー ド パーテ ィ 合成ツールの使用」 の情報を ア ッ プデー
ト
2章の
2章の
4章の
4章に
6章の
「ブ ロ ッ ク デザ イ ンの作成」 に重要事項を追加
「 イ ン タ ーフ ェ イ ス信号の接続」 に詳細を追加
「生成 さ れ る 出力フ ァ イ ルの検証」 を少 し 変更
「読み出 し 専用のブ ロ ッ ク デザ イ ンの追加」 を追加
「ILA ま たは VIO デバ ッ グ コ アへの I/O ポー ト の接続」 を ア ッ プデー ト
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
2
目次
改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 1 章 : Vivado IP イ ン テグ レー タ ーの概要
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
第 2 章 : ブ ロ ッ ク デザイ ンの作成
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
プ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
IP イ ン テ グ レー タ ーを使用 し た設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
IP イ ン テ グ レー タ ーのグルー ロ ジ ッ ク IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
デザ イ ン キ ャ ンバ ス での並べ替え . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
デザ イ ン ルール チ ェ ッ ク の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
ブ ロ ッ ク デザ イ ンのパ ッ ケージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
第 3 章 : メ モ リ マ ッ プの作成
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
[Address Editor] タ ブの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
第 4 章 : ブ ロ ッ ク デザイ ンの処理
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
出力フ ァ イ ルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ブ ロ ッ ク デザ イ ンの最上位デザ イ ンへの統合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
既存ブ ロ ッ ク デザ イ ンの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ブ ロ ッ ク デザ イ ンの リ ビ ジ ョ ン管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ハー ド ウ ェ ア定義の SDK へのエ ク ス ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ELF フ ァ イ ルのエンベデ ッ ド デザ イ ンへの追加お よ び関連付け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
58
63
65
69
69
71
第 5 章 : IP イ ン テグ レー タ ーでのパラ メ ー タ ーの伝搬
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
バス イ ン タ ーフ ェ イ ス の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パ ラ メ ー タ ー伝搬の方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
カ ス タ マ イ ズ GUI のパ ラ メ ー タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パ ラ メ ー タ ー不一致の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
79
85
86
88
第 6 章 : ILA を使用 し た IP イ ン テグ レー タ ー デザイ ンのデバ ッ グ
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
IP イ ン テ グ レー タ ーでの HDL イ ン ス タ ン シエーシ ョ ン フ ロ ーの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
ネ ッ ト リ ス ト 挿入フ ロ ーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
3
第 7 章 : Tcl ス ク リ プ ト を使用 し た プ ロ ジ ェ ク ト 内でのブ ロ ッ ク デザイ ンの作成
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Vivado IDE でのデザ イ ン作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Tcl フ ァ イ ルへの Vivado プ ロ ジ ェ ク ト 情報の保存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
第 8 章 : 非プ ロ ジ ェ ク ト モー ド での IP イ ン テグ レー タ ーの使用
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
非プ ロ ジ ェ ク ト モー ド の フ ロ ーの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
第 9 章 : 新規 リ リ ースでのデザイ ンのア ッ プデー ト
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
プ ロ ジ ェ ク ト モー ド でのブ ロ ッ ク デザ イ ンのア ッ プグ レー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
非プ ロ ジ ェ ク ト モー ド でのブ ロ ッ ク デザ イ ンのア ッ プグ レー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
第 10 章 : IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
タ ーゲ ッ ト ボー ド の選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ボー ド フ ロ ーを使用す る ためのブ ロ ッ ク デザ イ ンの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ブ ロ ッ ク デザ イ ンでの接続の完了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
124
124
126
131
第 11 章 : IP イ ン テグ レー タ ーでのサー ド パーテ ィ 合成ツールの使用
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ブ ロ ッ ク デザ イ ン を ア ウ ト オブ コ ン テ キ ス ト モジ ュ ール と し て設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Synplify での HDL ま たは EDIF ネ ッ ト リ ス ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vivado での合成後のプ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
最上位制約の追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ELF フ ァ イ ルの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ンの イ ンプ リ メ ン テーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
133
133
135
135
138
138
141
付録 A : その他の リ ソ ース
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
お読み く だ さ い : 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
144
144
145
145
4
第 1章
Vivado IP イ ン テグ レー タ ーの概要
概要
FPGA の集積度が増加 し 、 よ り 複雑にな り 、 ス ケ ジ ュ ールが短 く な る につれ、 サー ド パーテ ィ IP お よ びデザ イ ンの再
利用が必須に な っ て き て い ま す。 ザ イ リ ン ク ス では、 こ う い っ た設計お よ び再利用に関す る 問題を 支援す る た め、
Vivado® Design Suite 内に Vivado IP イ ン テ グ レー タ ー と い う 高度な機能を提供 し てい ます。
Vivado IP イ ン テ グ レー タ ー機能を使用す る と 、Vivado IP カ タ ロ グか ら の IP をデザ イ ン キ ャ ンバ ス上で イ ン ス タ ン シ
エー ト お よ び イ ン タ ー コ ネ ク ト し て、 複雑なデザ イ ン を作成で き ます。 デザ イ ンは、 IP イ ン テ グ レー タ ー キ ャ ンバ
ス の GUI を使用 し て イ ン タ ラ ク テ ィ ブに作成で き る ほか、Tcl プ ロ グ ラ ミ ン グ イ ン タ ーフ ェ イ ス を使用 し て も 作成で
き ます。 デザ イ ンは通常 イ ン タ ーフ ェ イ ス レベルで構築 し て生産性を向上 さ せ る こ と も で き ますが、 ポー ト レベル
で も 操作 し てデザ イ ン操作の精度を向上 さ せ る こ と も で き ます。
イ ン タ ーフ ェ イ ス と は、 よ く あ る フ ァ ン ク シ ョ ン を共有す る 信号のグループの こ と です。 た と えば、 AXI4-Lite マ ス
タ ーには多 く の信号 と 複数のバ ス が含ま れ、 こ れ ら はすべて接続に必要です。 各信号ま たはバ ス が IP シ ン ボル上で
個別に表示 さ れ る と 、 シ ン ボルが複雑に見え て し ま い ます。 こ れ ら の信号お よ びバ ス を イ ン タ ーフ ェ イ ス に ま と め る
と 、 次の よ う な利点が あ り ま す。 ま ず、 IP イ ン テ グ レ ー タ ー ま たは Tcl コ マ ン ド で単一の接続を実行す る と 、 マ ス
タ ーか ら ス レーブへの接続が作成 さ れます。 こ の接続は、 グ ラ フ ィ ッ ク 上は単純な 1 つの接続 と し て表示 さ れ ます。
ま た、 特定の イ ン タ ーフ ェ イ ス を検出す る デザ イ ン ルール チ ェ ッ ク (DRC) が実行 さ れ、 すべての信号が問題な く 接
続 さ れてい る か ど う かが確認 さ れます。
IP イ ン テ グ レー タ ーを使用す る と 、 自動化サービ ス の Tcl 機能が提供 さ れ る ので、 パ ラ メ ー タ ー伝搬な ど のシ ス テ ム
デザ イ ン タ ス ク が IP ご と ま たはアプ リ ケーシ ョ ン ド メ イ ン ご と に最適化で き ます。IP イ ン テ グ レー タ ーではダ イ ナ
ミ ッ ク な ラ ン タ イ ム DRC を実行す る こ と で、 IP イ ン テ グ レー タ ー デザ イ ン の IP 間の接続が互換性を持ち、 IP それ
ぞれが適切に コ ン フ ィ ギ ュ レーシ ョ ン さ れ る よ う にな っ てい ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
5
第 2章
ブ ロ ッ ク デザイ ンの作成
概要
本章では、 Vivado IP イ ン テ グ レー タ ーの基本的な操作お よ びその機能について説明 し ます。
プ ロ ジ ェ ク ト の作成
デザ イ ン全体は IP イ ン テ グ レー タ ーを使用 し て作成で き ま す。 デザ イ ン には通常 HDL、 IP お よ び IP イ ン テ グ レ ー
タ ー ブ ロ ッ ク デザ イ ンが含まれます。 こ のセ ク シ ョ ンでは、 新 し い IP イ ン テ グ レー タ ー ベース のデザ イ ンの作成方
法の概要を示 し ます。
次の図に示す よ う に、 まず Vivado® IDE のグ ラ フ ィ カル ユーザー イ ン タ ーフ ェ イ ス (GUI) で [Create New Project] を
ク リ ッ ク し て、 新規プ ロ ジ ェ ク ト を作成 し ます。 Vivado Design Suite では、 さ ま ざ ま なデザ イ ン プ ロ ジ ェ ク ト タ
イ プ が サ ポ ー ト さ れ ま す。 詳細は、 『Vivado Design Suite ユ ーザー ガ イ ド : シ ス テ ム レ ベル の デ ザ イ ン 入力』
(UG895) [参照 3] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
X-Ref Target - Figure 2-1
図 2‐1 : Create New Project ウ ィ ザー ド
プ ロ ジ ェ ク ト にブ ロ ッ ク デザ イ ン を 追加 ま たは作成す る には、 図 2-2 に示す よ う に、 RTL プ ロ ジ ェ ク ト を 作成す
る か、 サ ン プル プ ロ ジ ェ ク ト を 開 く 必要が あ り ま す。 次の ウ ィ ザー ド で VHDL ま た は Verilog デザ イ ン フ ァ イ
ル、 Vivado IP カ タ ロ グ か ら の IP、 その他の種類のデザ イ ン ソ ー ス フ ァ イ ル を プ ロ ジ ェ ク ト に追加 し ま す。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
6
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-2
図 2‐2 : Create New Project ウ ィ ザー ド
デザ イ ン ソ ー ス 、 既存 IP、 デザ イ ン 制約 を 追加 し た ら 、 8 ペー ジ の図 2-3 に示す よ う に、 プ ロ ジ ェ ク ト の タ ー
ゲ ッ ト に対 し てデ フ ォ ル ト のザ イ リ ン ク ス デバ イ ス やプ ラ ッ ト フ ォ ーム ボー ド を 選択で き ま す。詳細は、第 10 章
「IP イ ン テ グ レ ー タ ーでのプ ラ ッ ト フ ォ ー ム ボー ド フ ロ ーの使用」 を 参照 し て く だ さ い。
重要 : Vivado では、 複数バージ ョ ンのザ イ リ ン ク ス タ ーゲ ッ ト ボー ド がサポー ト さ れますので、 タ ーゲ ッ ト ボー ド
は注意 し て選択 し て く だ さ い。
こ れ と 同様のプ ロ ジ ェ ク ト を作成す る Tcl コ マ ン ド は次の と お り です。
create_project <project_name> <dir_name>/xx -part xc7k325tffg900-2
set_property BOARD_PART xilinx.com:kc705:part0:1.2 [current_project]
set_property TARGET_LANGUAGE vhdl [current_project]
注記 : こ の文書の Tcl コ マ ン ド 例では、 < > はユーザー デザ イ ン特有の変数を囲んだ も のであ る こ と を意味 し ます。
< > シ ン ボル自体は、 コ マ ン ド 文字列には含めないで く だ さ い。
特定の Tcl コ マ ン ド に関す る 詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 1] を参照
し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
7
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-3
図 2‐3 : New Project ウ ィ ザー ド : [Default Part] ページ
ブ ロ ッ ク デザイ ンの作成
ブ ロ ッ ク デザ イ ンは、 現在のプ ロ ジ ェ ク ト デ ィ レ ク ト リ 内ま たはプ ロ ジ ェ ク ト デ ィ レ ク ト リ 外で作成で き ます。 プ
ロ ジ ェ ク ト 外でブ ロ ッ ク デザ イ ンが作成 さ れ る ケース は、非プ ロ ジ ェ ク ト モー ド でブ ロ ッ ク デザ イ ン を使用 し た り 、
複数プ ロ ジ ェ ク ト でそれを使用 し た り 、 チームベース のデザ イ ン フ ロ ーでそれを使用 し た り する 場合な ど です。
次の図に示す よ う に、 Flow Navigator の [IP Integrator] の下の [Create Block Design] を ク リ ッ ク し 、 新規ブ ロ ッ ク デザ
イ ン を作成 し ます。
X-Ref Target - Figure 2-4
図 2‐4 : [Create Block Design] コ マ ン ド
1.
Flow Navigator の [IP Integrator] → [Create Block Design] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
8
第 2 章 : ブ ロ ッ ク デザイ ンの作成
[Create Block Design] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
2.
[Create Block Design] ダ イ ア ロ グ ボ ッ ク ス で [Design name] と [Directory] を指定 し ます。
X-Ref Target - Figure 2-5
図 2‐5 : [Create Block Design] ダ イ ア ログ ボ ッ ク ス
[Directory] フ ィ ール ド のデフ ォ ル ト 値は <Local to Project> ですが、 [Directory] フ ィ ール ド を ク リ ッ ク し て
[Choose Location] を ク リ ッ ク す る と 、 上書き で き ます。
3.
ブ ロ ッ ク デザ イ ン を作成す る デ ィ レ ク ト リ を選択 し て [OK] を ク リ ッ ク し ます。
ブ ロ ッ ク デザ イ ン デ ィ レ ク ト リ 全体が現在の ロ ーカル プ ロ ジ ェ ク ト ま たは選択 し たデ ィ レ ク ト リ にそれぞれの
下位構造を含めて作成 さ れます。
ブ ロ ッ ク デザ イ ン を作成す る Tcl コ マ ン ド は、 次の と お り です。
create_bd_design <your_design_name>
重要 : [Create Block Design] では、デ ィ ス ク に空のブ ロ ッ ク デザ イ ンが作成 さ れます。 こ れは、保存せずにブ ロ ッ ク デ
ザ イ ン を閉 じ て も 自動的に削除 さ れ ま せん。 こ の空のブ ロ ッ ク デザ イ ン は、 Vivado IDE の [Sources] ウ ィ ン ド ウ で
[Remove File from Project] コ マ ン ド を使用する か、 次の Tcl コ マ ン ド を使用 し て手動で削除す る 必要があ り ます。
remove_files <project_name>/<project_name>.srcs/sources_1/bd/<bd_name>/<bd_name>.bd
file delete -force <project_name>/<project_name>.srcs/sources_1/bd/<bd_name>
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
9
第 2 章 : ブ ロ ッ ク デザイ ンの作成
IP イ ン テグ レー タ ーを使用 し た設計
ブ ロ ッ ク デザ イ ンが作成 さ れた ら 、 Vivado イ ン テ グ レー タ ーにデザ イ ン を構築す る ためのデザ イ ン キ ャ ンバ ス が表
示 さ れます。 こ のキ ャ ンバ ス の大 き さ は、 Vivado IDE の GUI 内で変更で き ます。 図の左上のデザ イ ン キ ャ ンバ ス タ
ブ を ダブル ク リ ッ ク す る と 、 図のサ イ ズ を拡大す る こ と も で き ます。 タ ブ を も う 1 度ダブル ク リ ッ ク す る と 、 表示が
デフ ォ ル ト レ イ ア ウ ト に戻 り ます。 図の右上の [Float] ボ タ ン を ク リ ッ ク し て、 ウ ィ ン ド ウ を必要に応 じ て移動す る
と 、 デザ イ ン キ ャ ンバ ス を別のモニ タ ーに移動する こ と も で き ます。
レ イ ヤーの変更
レ イ ヤーを表示す る には、図の画面の左上のア イ コ ン (図の赤丸部分) を ク リ ッ ク し ます。[Attributes]、[Nets]、[Interface
Connections] チ ェ ッ ク ボ ッ ク ス を オ ン/オ フ にす る と 、 属性、 ネ ッ ト 、 イ ン タ ーフ ェ イ ス接続な ど の表示/非表示を切
り 替え る こ と がで き ます。
X-Ref Target - Figure 2-6
図 2‐6 : IP イ ン テグレー タ ーのキ ャ ンバスの情報の表示/非表示
[Attributes]
ブ ロ ッ ク デザ イ ンの複数の属性は、 オプシ ョ ン を オンに し た り オ フ に し て り し て、 表示ま たは非表示にで き ます。 次
の属性は、 修正で き ます。
•
[Pin tie offs] : 0 か 1 に指定 さ れた ピ ンが表示で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
10
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-7
図 2‐7 : IP シ ンボルのピ ンの値 (0 か 1) を表示/非表示
•
[Pins without parameter propagation] : パ ラ メ ー タ ーを伝搬 し ない ピ ン を表示ま たは非表示に し ます。
•
[Mark debug] : デバ ッ グにマー ク さ れた ピ ン を表示ま たは非表示に し ます。 デバ ッ グにマー ク さ れたネ ッ ト には、
虫のシ ン ボルが表示 さ れ る よ う にな り ます。
X-Ref Target - Figure 2-8
図 2‐8 : デバ ッ グにマー ク さ れたネ ッ ト の表示/非表示
•
[Display pins of hidden nets and interfaces] : [Nets] ま たは [Interface Connections] オプシ ョ ン と 連動す る オプシ ョ ン
で、 該当す る ネ ッ ト をオ フ に し てネ ッ ト が非表示にな る 場合、 そのネ ッ ト に よ り 接続 さ れた ピ ン も 非表示にな り
ます。 ネ ッ ト が非表示であ っ た と し て も 、 該当の ピ ンが表示 さ れます。
[Nets]
ク ロ ッ ク ネ ッ ト 、 リ セ ッ ト ネ ッ ト 、 デー タ ネ ッ ト 、 ま たは単にその他の分類 さ れていない タ イ プのネ ッ ト な ど、 さ
ま ざ ま なネ ッ ト タ イ プは、 該当す る チ ェ ッ ク ボ ッ ク ス を オン/オ フ にする こ と で、 表示/非表示にで き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
11
第 2 章 : ブ ロ ッ ク デザイ ンの作成
[Interface Connection]
こ のカ テ ゴ リ 下でオプシ ョ ン を オン/オ フ にす る と 、 イ ン タ ーフ ェ イ ス接続を表示/非表示にで き ます。
ブ ロ ッ ク デザイ ンの色
図の背景色お よ びその他のオブジ ェ ク ト の色は、デフ ォ ル ト の色か ら 変更す る こ と がで き ます。次の図に示す よ う に、
図の左上の [Block Design Options] の [Colors] を ク リ ッ ク す る と 、 色を変更で き ます。
X-Ref Target - Figure 2-9
図 2‐9 : IP イ ン テグレー タ ーの背景色の変更
IP イ ン テ グ レー タ ー図に表示 さ れ る ほ と ん どすべてのオブジ ェ ク ト は、 色を変更で き ます。 た と えば、 背景色を上記
の よ う に 240,240,240 に変更す る と 、 明 る い灰色にで き ま す。 [Block Design Options] を非表示にす る には、 右上の X
ボ タ ン を ク リ ッ ク す る か、 [Block Design Options] ボ タ ン を も う 1 回 ク リ ッ ク し ます。
マウス ス ト ロー ク と 左ボ タ ン パネルの使用
•
[Zoom Fit] : 右下か ら 左上へ
•
[Zoom In] : 右上か ら 左下へ
•
[Zoom Out] : 左下か ら 右上へ
•
[Zoom Area] : 左上か ら 右下へ
キ ャ ンバ ス左側の ツールバー メ ニ ュ ーを使用する と 、 特定の コ マ ン ド を実行で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
12
第 2 章 : ブ ロ ッ ク デザイ ンの作成
拡大
縮小
画面に合わせて表示
エ リ アの選択
選択 さ れたオブジ ェ ク ト の最大表示
選択 さ れたオブジ ェ ク ト の表示の自動調整
検索
すべてのブ ロ ッ ク の内容の非表示
すべてのブ ロ ッ ク の内容の展開お よ び表示
IP の追加
外部接続
ブ ロ ッ ク のカ ス タ マ イ ズ
デザ イ ンの検証
IP 設定
レ イ ア ウ ト の再生成
配線の最適化
イ ン タ ーフ ェ イ ス接続のみの表示
X-Ref Target - Figure 2-10
図 2‐10 : IP イ ン テグレー タ ーのボ タ ン
デザイ ン キ ャ ンバスへの IP モ ジ ュ ールの追加
IP モジ ュ ールは次の方法で図へ追加で き ます。
1.
図を右 ク リ ッ ク し 、 [Add IP] を ク リ ッ ク し ます。
検索可能な IP カ タ ロ グが開 き ます。
X-Ref Target - Figure 2-11
図 2‐11 : IP イ ン テグレー タ ーの背景色の変更
ヒ ン ト : IP カ タ ロ グの [IP Details] ウ ィ ン ド ウ を表示す る には、カ タ ロ グの ウ ィ ン ド ウ内で Ctrl + Q を ク リ ッ ク し ます。
2.
カ タ ロ グの一番上の検索フ ィ ル タ ーに IP 名の最初の何文字か を入力する と 、 それに一致する IP モジ ュ ールのみ
が表示 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
13
第 2 章 : ブ ロ ッ ク デザイ ンの作成
3.
1 つの IP を追加す る には、 その IP 名を ク リ ッ ク し て キーボー ド の Enter キーを押すか、 IP 名を ダブル ク リ ッ ク
し ます。
4.
複数の IP をブ ロ ッ ク デザ イ ンに追加する には、必要な IP を Ctrl キーを押 し なが ら ク リ ッ ク し てい き 、Enter キー
を押 し ます。
X-Ref Target - Figure 2-12
図 2‐12 : 複数 IP の同時追加
5.
Flow Navigator か ら IP カ タ ロ グ を開いて も 、 ブ ロ ッ ク 図に IP を追加で き ます。
a.
Flow Navigator か ら [Project Navigator] → [IP Catalog] を ク リ ッ ク し ます。
b.
IP カ タ ロ グの検索フ ィ ール ド に IP の名前を入力 し ます。
X-Ref Target - Figure 2-13
図 2‐13 : IP カ タ ログから の IP の追加
6.
c.
IP を ダブル ク リ ッ ク し て、 ブ ロ ッ ク 図に配置 し ます。
d.
[Add IP] ダ イ ア ロ グ ボ ッ ク ス で [Add IP to Block Design] を ク リ ッ ク し ます。
ま たは、 カ タ ロ グ ウ ィ ン ド ウ の右上の [Float] ボ タ ン を ク リ ッ ク し て、 IP カ タ ロ グ を フ ロ ー ト さ せ、 ブ ロ ッ ク デ
ザ イ ン キ ャ ンバ ス に IP カ タ ロ グで選択 し た IP を ド ラ ッ グ ア ン ド ド ロ ッ プ さ せる こ と も で き ます。
ヒ ン ト : 名前、 バージ ョ ン、 ス テー タ ス、 ラ イ セ ン ス、 ベン ダー (VLNV) な ど の IP に関す る さ ま ざ ま な フ ィ ール ド は
IP カ タ ロ グのヘ ッ ダー列を右 ク リ ッ ク し て、 該当す る フ ィ ール ド を選択す る と オン/オ フ にで き ます。
7.
複数 IP は、 IP カ タ ロ グで複数の IP を選択 し て、 上記のいずれかの手順を使用する と 、 1 度にブ ロ ッ ク デザ イ ン
キ ャ ンバ ス に追加で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
14
第 2 章 : ブ ロ ッ ク デザイ ンの作成
IP イ ン テグ レー タ ーの階層 IP
IP カ タ ロ グの IP の中には最上位ブ ロ ッ ク デザ イ ン内に子ブ ロ ッ ク デザ イ ン が含 ま れ る 階層状の も のがあ り 、 親ブ
ロ ッ ク の論理的構成が表示 さ れます。 こ れ ら の階層ブ ロ ッ ク は、 ブ ロ ッ ク の内容を確認す る こ と はで き て も 、 階層を
編集す る こ と はで き ません。 子ブ ロ ッ ク デザ イ ンは変更で き ません。 変更は、 IP の [Re-customize IP] ダ イ ア ロ グ ボ ッ
ク ス でのみ可能です。
た と えば、 10G Ethernet Subsystem お よ び AXI 1G/2.5G Ethernet Subsystem は階層 IP で、 こ れ ら の IP は、 ほかの IP と
同様、 IP カ タ ロ グか ら IP を検索 し て選択す る と イ ン ス タ ン シエー ト で き ます。
X-Ref Target - Figure 2-14
図 2‐14 : ブ ロ ッ ク デザイ ンへの階層 IP の追加
IP がブ ロ ッ ク デザ イ ン に イ ン ス タ ン シエー ト さ れた ら 、 それを ダブル ク リ ッ ク し て カ ス タ マ イ ズ し 直 し ます。 次の
図の よ う に、 IP パ ラ メ ー タ ーを コ ン フ ィ ギ ュ レーシ ョ ンで き る [Re-customize IP] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
X-Ref Target - Figure 2-15
図 2‐15 : 階層 IP のパラ メ ー タ ーの設定
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
15
第 2 章 : ブ ロ ッ ク デザイ ンの作成
AXI Ethernet Subsystem IP 内の子ブ ロ ッ ク デザ イ ンは、 16 ページの図 2-16 に示す よ う に、 右 ク リ ッ ク で [View Block
Design] を ク リ ッ ク す る と 表示で き ます。
X-Ref Target - Figure 2-16
図 2‐16 : [View Block Design] オプ シ ョ ン
こ れに よ り 、 次の図に示す よ う に、 子レベルのブ ロ ッ ク デザ イ ン を表示す る ブ ロ ッ ク デザ イ ン ウ ィ ン ド ウ が開 き ま
す。 前述の よ う に、 こ のブ ロ ッ ク デザ イ ンは、 直接編集する こ と はで き ません。
IP シ ン ボルの左上の [View Block Design] ア イ コ ン を ク リ ッ ク し て も 、 ブ ロ ッ ク デザ イ ン を表示す る こ と はで き ます。
X-Ref Target - Figure 2-17
図 2‐17 : [View Block Design] オプ シ ョ ン
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
16
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-18
図 2‐18 : 階層 IP に含まれる子ブ ロ ッ ク デザイ ン
ヒ ン ト : 子ブ ロ ッ ク デザ イ ン を開いた ま ま IP を再カ ス タ マ イ ズす る と 、 子ブ ロ ッ ク デザ イ ンの ウ ィ ン ド ウ は閉 じ ま
す。
IP イ ン テグ レー タ ーのグルー ロ ジ ッ ク IP
IP カ タ ロ グには、Vivado IP イ ン テ グ レー タ ー デザ イ ンでグルー ロ ジ ッ ク と し て使用で き る IP が複数含まれます。 こ
れ ら の IP は次の と お り です。
Utility Vector Logic
こ の IP は、 コ ン フ ィ ギ ャ ラ ブルな入力ピ ン を含む別のモー ド で コ ン フ ィ ギ ュ レーシ ョ ン で き ます。 サポー ト さ れ る
ロ ジ ッ ク は AND、 OR、 XOR、 お よ び NOT です。 [C Size] は、 必要な入力/出力ビ ッ ト 数に設定す る 必要があ り ます。
出力は、 該当ビ ッ ト の論理演算なので、 た と えば IP が AND モー ド に コ ン フ ィ ギ ュ レーシ ョ ン さ れ、 [C Size] が 4 に
設定 さ れ る 場合、 結果の ロ ジ ッ ク に 4 並列の 2 入力 AND ゲー ト が含まれます。 OR お よ び XOR モー ド に設定 し た場
合 も 結果は同様にな り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
17
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-19
図 2‐19 : Utility Vector Logic の [Re‐customize IP] ダ イ ア ログ ボ ッ ク ス
IP が イ ンバー タ ーま たは NOT と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る と 、 [C Size] には単一ビ ッ ト イ ンバー タ ーの数
が示 さ れます。
Utility Reduced Logic
こ の IP は AND、 OR、 お よ び XOR 関数 と し て コ ン フ ィ ギ ュ レーシ ョ ン で き ます。 [C Size] には、 関数への入力数を
設定 し ます。 た と えば、 [C Size] を AND 関数 と し て 8 に設定す る と 、 1 つの出力が付いた 1 つの 8 入力 ANDゲー ト
が作成 さ れます。
X-Ref Target - Figure 2-20
図 2‐20 : Utility Reduced Logic の [Re‐customize IP] ダ イ ア ロ グ ボ ッ ク ス
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
18
第 2 章 : ブ ロ ッ ク デザイ ンの作成
Utility Buffer
ク ロ ッ ク バ ッ フ ァ ーを ブ ロ ッ ク デザ イ ンに手動で イ ン ス タ ン シエー ト す る 必要のあ る こ と があ り ます。 こ の よ う な
場合は、 Utility Buffer IP を選択で き ます。 次に示す よ う に、 複数の異な る バ ッ フ ァ ーが使用で き ます。
X-Ref Target - Figure 2-21
図 2‐21 : Utility Buffer の [Re‐customize IP] ダ イ ア ログ ボ ッ ク ス
Concat
可変幅のバ ス信号を連結す る には、 Concat IP を使用 し ます。 [Number of Ports] には、 一緒に連結す る 必要のあ る ソ ー
ス数を指定 し ます。 こ れ ら の ソ ース は、 可変幅にで き ます。 結果の出力は、 こ れ ら すべての ソ ース信号を連結す る バ
ス にな り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
19
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-22
図 2‐22 : Concat の [Re‐customize IP] ダ イ ア ログ ボ ッ ク ス
Slice
こ の IP は、 バ ス ネ ッ ト か ら ビ ッ ト を取 り 除 く ために使用で き ます。 [Din Width] フ ィ ール ド には入力バ ス の幅を指定
し 、[Din From] お よ び [Din Down To] フ ィ ール ド には取 り 除かれ る 必要のあ る ビ ッ ト の範囲を指定 し ます。[Dout Width]
は [Din From] お よ び [Din Down To] に指定 し た値に基づいて自動的に決定 さ れます。
X-Ref Target - Figure 2-23
図 2‐23 : Slice の [Re‐customize IP] ダ イ ア ログ ボ ッ ク ス
ヒ ン ト : 同 じ バ ス ネ ッ ト か ら 異な る 幅のビ ッ ト を取 り 除 く 場合は、 複数の Slice IP を使用で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
20
第 2 章 : ブ ロ ッ ク デザイ ンの作成
接続
IP イ ン テ グ レー タ ーでデザ イ ン を作成 し た ら 、 図にブ ロ ッ ク を追加 し て、 必要に応 じ てブ ロ ッ ク を コ ン フ ィ ギ ュ レー
シ ョ ン し て、 イ ン タ ーフ ェ イ ス レベルの接続ま たは単純なネ ッ ト 接続を実行 し て、 イ ン タ ーフ ェ イ ス ま たは単純な
ポー ト を追加 し ます。 IP イ ン テ グ レー タ ーでの接続は、 シ ンプルです。 カー ソ ルを IP ブ ロ ッ ク の イ ン タ ーフ ェ イ ス
ま たはピ ン コ ネ ク タ の近 く に移動す る と 、 カー ソ ルの形が鉛筆形に変わ り ます。 IP ブ ロ ッ ク の イ ン タ ーフ ェ イ ス ま
たはピ ン コ ネ ク タ を ク リ ッ ク し て、 マ ウ ス ボ タ ン を押 し た ま ま接続先のブ ロ ッ ク ま で ド ラ ッ グ し ます。
信号レベルま たはバ ス レベルの接続は、 シ ン ボル上の細い接続線で表示 さ れます。 バ ス は、 接続目的に各信号 と 同 じ
よ う に処理 さ れます。 イ ン タ ーフ ェ イ ス レベルの接続の場合、 次の図の SLMB イ ン タ ーフ ェ イ ス ピ ン で示す よ う に、
も っ と わか り やすい接続ボ ッ ク ス がシ ン ボルに表示 さ れます。
X-Ref Target - Figure 2-24
図 2‐24 : シ ンボルの接続ボ ッ ク ス
接続をす る 際には、 接続が可能であ る こ と を示す緑のチ ェ ッ ク マー ク が接続先 (信号ま たは イ ン タ ーフ ェ イ ス) に表
示 さ れます。
X-Ref Target - Figure 2-25
図 2‐25 : シ ンボル上の信号接続またはバス接続
信号が イ ン タ ーフ ェ イ ス と し て グループにな っ てい る と 、 イ ン タ ーフ ェ イ ス のすべての信号お よ びバ ス を その他の互
換性のあ る イ ン タ ーフ ェ イ ス ピ ンにすばや く 接続で き ます。互換性のあ る イ ン タ ーフ ェ イ ス は、 緑のチ ェ ッ ク マー ク
で も 示 さ れます。
イ ン タ ー フ ェ イ ス信号の接続
イ ン タ ーフ ェ イ ス ピ ン の一部であ る 各信号ま たはバ ス に接続す る には、 その イ ン タ ーフ ェ イ ス ピ ン を展開 し て、 こ
れ ら の個々の信号が表示 さ れ る よ う に し ます。 イ ン タ ーフ ェ イ ス の + マー ク を ク リ ッ ク する と 、 イ ン タ ーフ ェ イ ス が
展開 さ れ、 その内容が表示 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
21
第 2 章 : ブ ロ ッ ク デザイ ンの作成
図 2-26 では、 microblaze_0 の M_AXI_DP イ ン タ ーフ ェ イ ス ピ ンが microblaze_0_axi_periph イ ン ス タ ン ス
の S00_AXI イ ン タ ーフ ェ イ ス ピ ンに接続 さ れてい ます。ま た、その イ ン タ ーフ ェ イ ス の 2 つの個別の信号 (AWVALID
お よ び BREADY) は 3 つ目の イ ン ス タ ン ス (util_vector_logic_0) に接続 さ れ、 AND 処理 さ れます。
イ ン タ ーフ ェ イ ス ピ ンの別々に接続 さ れた信号には、その接続を完了す る のに必要な ピ ンすべて を含め る 必要があ り
ます。 図 2-26 の例では、 マ ス タ ーお よ びス レーブ AXI イ ン タ ーフ ェ イ ス ピ ンの両方が展開 さ れ、 個々の AWVALID
お よ び BREADY 信号への接続が イ ネーブルにな り 、 Utility Vector Logic (util_vector_logic_0) セルの ピ ンへ接続 さ れて
い ます。
重要 : イ ン タ ーフ ェ イ ス信号への個別接続は、 ブ ロ ッ ク デザ イ ン の イ ン タ ーフ ェ イ ス の一部 と し ては接続 さ れな く
な っ てい ます。 個々の信号は、 基本的に イ ン タ ーフ ェ イ ス か ら 削除 さ れます。 信号全体は、 手動で接続す る 必要があ
り ます。
X-Ref Target - Figure 2-26
図 2‐26 : 接続する ためのイ ン タ ー フ ェ イ スの展開
イ ン タ ーフ ェ イ ス ピ ンへの接続が イ ン タ ーフ ェ イ ス の個別信号ま たはバ ス ピ ンへの接続で上書 き さ れ る と 、 次の よ
う な警告 メ ッ セージが表示 さ れます。
WARNING: [BD 41-1306] The connection to interface pin /microblaze_0/M_AXI_DP_AWVALID
is being overridden by the user.This pin will not be connected as a part of interface
connection M_AXI_DP
こ の警告は接続が イ ン タ ーフ ェ イ ス の一部 と し て含まれな く な る ために表示 さ れます。 こ の場合、 ユーザーが手動で
接続を完了 さ せ る 必要があ り ます。
イ ン タ ーフ ェ イ ス ピ ン内の信号ま たはバスへの接続が さ れた ら 、 イ ン タ ーフ ェ イ ス の展開を閉 じ て、 ブ ロ ッ ク を縮小
表示 し て ピ ンの詳細が表示 さ れない よ う に し ます。 展開 さ れた イ ン タ ーフ ェ イ ス ピ ン で - マー ク を ク リ ッ ク す る と 、
展開表示が閉 じ て、 内容が非表示にな り ますが、 図 2-27 に示す よ う に、 ブ ロ ッ ク デザ イ ンの接続を正 し く 表示す る
には、 必要に応 じ てその イ ン タ ーフ ェ イ ス の別々に接続 さ れた信号ま たはバ ス を表示で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
22
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-27
図 2‐27 : イ ン タ ー フ ェ イ スの展開を閉 じ る
外部接続
信号お よ び イ ン タ ーフ ェ イ ス は、 次の手順で外部 I/O ポー ト に接続で き ます。
•
[Make External]
•
[Create Port]
•
[Create Interface Port]
こ れ ら のオプシ ョ ンについては、 次のセ ク シ ョ ンで説明 し ます。
ポー ト の外部接続
1.
次の図に示す よ う に、 信号ま たは イ ン タ ーフ ェ イ ス を外部ポー ト に接続す る には、 まずピ ン、 バ ス、 ま たは イ ン
タ ーフ ェ イ ス の接続を選択 し 、
2.
右 ク リ ッ ク し 、 [Make External] を ク リ ッ ク し ます。
ま たは、 Ctrl キーを押 し つつ複数の ピ ン を選択 し てか ら [Make External] を実行す る と 、 1 度にすべての ピ ン を外
部へ接続で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
23
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-28
図 2‐28 : 外部への接続
こ の コ マ ン ド に よ り 、 IP の ピ ン がブ ロ ッ ク デザ イ ン の I/O ポー ト に接続 さ れ ま す。 IP イ ン テ グ レー タ ーで、 IP
のポー ト が外部 I/O に接続 さ れます。
ポー ト の作成
1.
ポー ト を作成す る には、 次の図の よ う に右 ク リ ッ ク し て [Create Port] を ク リ ッ ク し ます。 こ の機能は、 ク ロ ッ ク 、
リ セ ッ ト 、 uart_txd な ど の個別の信号を接続す る 際に使用 し ます。
[Create Port] を使用す る と 、 入力、 出力、 ビ ッ ト 幅お よ び タ イ プ (clk、 reset、 data な ど) の指定を ユーザーが
さ ら に制御で き ます。
ク ロ ッ ク を指定す る 場合、 入力周波数 も 指定で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
24
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-29
図 2‐29 : [Create Port] オプ シ ョ ン
次の図に示す よ う な [Create Port] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
X-Ref Target - Figure 2-30
図 2‐30 : [Create Port] ダ イ ア ログ ボ ッ ク ス
2.
ポー ト 名、 方向 (入力、 出力、 双方向な ど)、 タ イ プ ( ク ロ ッ ク 、 リ セ ッ ト 、 デー タ 、 ク ロ ッ ク イ ネーブルま たは
カ ス タ ム タ イ プな ど) を指定 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
25
第 2 章 : ブ ロ ッ ク デザイ ンの作成
[Create Vector] フ ィ ール ド をオンに し て適切な ビ ッ ト 幅を選択す る と 、 ビ ッ ト ベ ク タ ー も 作成で き ます。
イ ン タ ー フ ェ イ ス ポー ト の作成
1.
イ ン タ ーフ ェ イ ス ポー ト を作成す る には、 次の図の よ う に右 ク リ ッ ク し て [Create Interface Port] を ク リ ッ ク し ま
す。
X-Ref Target - Figure 2-31
図 2‐31 : [Create Interface Port] オプ シ ョ ン
こ の コ マ ン ド は、よ く 使用 さ れ る フ ァ ン ク シ ョ ン を共有する 信号を グループに し た イ ン タ ーフ ェ イ ス ピ ンにポー
ト を作成す る ために使用 さ れ ます。 た と えば、 上記の図の LMB_M と LMB_SI_0 は イ ン タ ーフ ェ イ ス ピ ン です。
こ の コ マ ン ド を使用す る と 、 イ ン タ ーフ ェ イ ス タ イ プお よ びモー ド (マ ス タ ー /ス レーブ) の指定を よ り 詳細に制
御で き ます。
2.
次の図に示す よ う に、 [Create Interface Port] ダ イ ア ロ グ ボ ッ ク ス では、 イ ン タ ーフ ェ イ ス名、 ベン ダー、 ラ イ ブ
ラ リ 、 名前お よ びバージ ョ ン (VLNM) フ ィ ール ド を指定 し た り 、 MASTER ま たは SLAVE な ど のモー ド フ ィ ール
ド を指定で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
26
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-32
図 2‐32 : [Create Interface Port] ダ イ ア ロ グ ボ ッ ク ス
3.
外部ポー ト を ダブル ク リ ッ ク す る と 、 そのプ ロ パテ ィ を表示 し た り 、 変更 し た り で き ます。
次の図では、 表示 さ れてい る ポー ト は ク ロ ッ ク 入力 ソ ー ス なので、 それに関す る プ ロ パテ ィ (周波数、 位相、 ク
ロ ッ ク ド メ イ ン、 バ ス イ ン タ ーフ ェ イ ス、 関連す る ク ロ ッ ク イ ネーブル、 関連す る リ セ ッ ト 、 関連す る 非同期
リ セ ッ ト な ど) が表示 さ れます。
X-Ref Target - Figure 2-33
図 2‐33 : [Customize Port] ダ イ ア ロ グ ボ ッ ク スの ク ロ ッ ク ポー ト プ ロパテ ィ
AXI イ ン タ ーフ ェ イ ス でポー ト を ダブル ク リ ッ ク す る と 、 次の よ う なダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
27
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-34
図 2‐34 : aximm のポー ト プ ロパテ ィ のカ ス タ マ イ ズ
割 り 込みの処理
Vivado Design Suite IP イ ン テ グ レ ー タ ー ツ ールの割 り 込み処理は、 使用 さ れ る プ ロ セ ッ サ に よ っ て 異 な り ま す。
Zynq®-7000 プ ロ セ ッ サの場合、 Zynq-7000 プ ロ セ ッ サ内の Generic Interrupt Controller ブ ロ ッ ク で割 り 込みが処理 さ れ
ます。
MicroBlaze™ プ ロ セ ッ サの場合、 割 り 込みの管理には AXI Interrupt Controller IP を使用す る 必要があ り ます。 使用 さ
れ る プ ロ セ ッ サに関係な く 、 Concat IP を使用 し て割 り 込みピ ン を ま と めて駆動する 必要があ り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
28
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-35
図 2‐35 : 割 り 込み入力を AXI Interrupt Controller に駆動する Concat IP
Concat IP の入力は さ ま ざ ま な割 り 込み ソ ース で駆動 さ れます。 こ のため、Concat IP は適切な数の入力ポー ト をサポー
ト す る よ う に コ ン フ ィ ギ ュ レーシ ョ ンす る 必要があ り ます。 次の図に示す よ う に、 [Number of Ports] フ ィ ール ド は割
り 込み ソ ース数に設定す る 必要があ り ます。
X-Ref Target - Figure 2-36
図 2‐36 : Concat の [Re‐customize IP] ダ イ ア ロ グ ボ ッ ク ス
ヒ ン ト : 出力 (Dout) の幅はパ ラ メ ー タ ー伝搬中に自動的に設定 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
29
第 2 章 : ブ ロ ッ ク デザイ ンの作成
AXI Interrupt Controller の複数のパ ラ メ ー タ ーは コ ン フ ィ ギ ュ レーシ ョ ン可能です。 次の図は、 AXI Interrupt Controller
の [Basic] タ ブか ら 使用で き る パ ラ メ ー タ ーを示 し てい ます。 こ の中の複数のパ ラ メ ー タ ーは、コ ン フ ィ ギ ュ レーシ ョ
ン可能です。
X-Ref Target - Figure 2-37
図 2‐37 : AXI Interrupt Controller の [Basic] タ ブ
•
[Number of Peripheral Interrupts] は、 ユーザーは設定で き ず、 パ ラ メ ー タ ー伝搬中に自動的に設定 さ れます。 こ の
値は、 Concat IP の入力を駆動す る 割 り 込み ソ ース の数に よ っ て決ま り ます。
•
[Fast Interrupt Mode] は、 低レ イ テ ン シの割 り 込みが必要な場合に設定で き ます。
•
[Peripheral Interrupts Type] は [Auto] に設定 さ れてい ますが、 [Auto] か ら [Manual] に変更す る と ユーザーが上書 き
で き る よ う にな り ます。 マニ ュ アル モー ド にする と 、 こ れ ら の フ ィ ール ド に値を直接指定で き ます。
•
[Processor Interrupt Type] フ ィ ール ド には、 次の 2 つの選択肢があ り ます。
°
[Interrupt type] ([Level Interrupt] ま たは [Edge Interrupt])
°
[Level Type] ま たは [Edge Type] ([Interrupt type] オプシ ョ ンに よ る )
た と えば、[Interrupt type] を [Edge Interrupt] にす る と 、[Edge type] が選択で き 、[Interrupt type] を [Level Interrupt]
にす る と 、 [Level type] が選択で き ます。
ユーザーは割 り 込み ソ ー ス がエ ッ ジ ト リ ガーなのか レ ベル ト リ ガーなのか を選択で き ま す。 エ ッ ジ ト リ
ガーの場合は割 り 込みが立ち上が り エ ッ ジなのか立ち下が り エ ッ ジなのかを、レベル ト リ ガーの場合は割 り
込みがア ク テ ィ ブ High なのかア ク テ ィ ブ Low なのか を指定す る こ と も で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
30
第 2 章 : ブ ロ ッ ク デザイ ンの作成
IP イ ン テ グ レー タ ーでは、 こ の値は通常接続 さ れた割 り 込み信号か ら 自動的に決定 さ れますが、 手動で設定
す る こ と も で き ます。
次の図は、AXI Interrupt Controller の [Advanced] タ ブのパ ラ メ ー タ ーを示 し てい ます。 こ れ ら のパ ラ メ ー タ ー
の詳細については、『LogiCORE IP AXI Interrupt Controller 製品ガ イ ド 』 (PG099) [参照 11] を参照 し て く だ さ い。
X-Ref Target - Figure 2-38
図 2‐38 : AXI Interrupt Controller の [Advanced] タ ブ
こ こ で特に注意 し たいのは、 [Asynchronous Clocks] オプシ ョ ンです。 AXI Interrupt Controller では、 デザ イ ンの割 り 込
み ソ ース が同 じ ク ロ ッ ク ド メ イ ンか ら の も のであ る のか、 別の ク ロ ッ ク ド メ イ ンか ら の も のであ る のかが決定 さ れ
ま す。 割 り 込みが別の ク ロ ッ ク ド メ イ ン か ら 駆動 さ れた も のであ る 場合は、 [Enable Asynchronous Clock operation]
が自動的にオンにな り ます。 こ の場合、 同期レ ジ ス タ のカ ス ケー ド が割 り 込み ソ ース に追加 さ れます。
ヒント :
こ の自動設定は、 [Auto] を [Manual] に切 り 替え て手動で設定す る こ と も で き ます。
設計ア シ ス タ ン スの使用
IP イ ン テ グ レー タ ーには、 基本的なマ イ ク ロ プ ロ セ ッ サ シ ス テ ム の統合を支援す る ために、 さ ま ざ ま なブ ロ ッ ク 間
の内部接続や外部 イ ン タ ーフ ェ イ スへの接続を自動的に実行す る ブ ロ ッ ク オー ト メ ーシ ョ ンや コ ネ ク シ ョ ン オー ト
メ ーシ ョ ン と い っ た設計ア シ ス タ ン ス (Designer Assistance) と 呼ばれ る 機能があ り ます。 ブ ロ ッ ク オー ト メ ーシ ョ ン
機能は、 Zynq® プ ロ セ ッ シ ン グ シ ス テ ム 7、 MicroBlaze™ プ ロ セ ッ サな ど のエ ンベデ ッ ド プ ロ セ ッ サ、 ま たは イ ー
サネ ッ ト な ど のその他の階層 IP が IP イ ン テ グ レー タ ーのブ ロ ッ ク デザ イ ンに イ ン ス タ ン シエー ト さ れ る 場合に提供
さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
31
第 2 章 : ブ ロ ッ ク デザイ ンの作成
デザ イ ン キ ャ ンバ ス のバナーにあ る [Run Block Automation] の リ ン ク を ク リ ッ ク す る と 、 単純な MicroBlaze シ ス テ ム
がで き ます。
X-Ref Target - Figure 2-39
図 2‐39 : [Run Block Automation] 機能
[Run Block Automation] ダ イ ア ロ グ ボ ッ ク ス (32 ページの図 2-40) では、マ イ ク ロ プ ロ セ ッ サ シ ス テ ムに必要な基本的
な機能に関す る 入力がで き ます。
X-Ref Target - Figure 2-40
図 2‐40 : [Run Block Automation] ダ イ ア ログ ボ ッ ク ス
必要なオプシ ョ ン を指定 し た ら 、次の図の よ う にブ ロ ッ ク オー ト メ ーシ ョ ン機能に よ り 基本的なシ ス テ ムが自動的に
作成 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
32
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-41
図 2‐41 : ブ ロ ッ ク オー ト メ ーシ ョ ン で作成 さ れた MicroBlaze シス テム
33 ページの図 2-41 に示す よ う に、 MicroBlaze シ ス テ ムには、 MicroBlaze Debug Module が含まれます。 こ れは、 Local
Memory Bus、 Local Memory Bus Controller と Block Memory Generator、 Clocking Wizard、 AXI Interconnect、 AXI Interrupt
Controller を含む microblaze_1_local_memory と い う 階層ブ ロ ッ ク です。
デザ イ ンは こ の段階では ま だ外部 I/O ポー ト に接続 さ れていないので、 上記の図の よ う に、 IP イ ン テ グ レー タ ーには
キ ャ ン バ ス の 薄 い 緑 の バ ナ ー部分 に に コ ネ ク シ ョ ン オ ー ト メ ー シ ョ ン 機能 が 提供 さ れ ま す。 [Run Connection
Automation] を ク リ ッ ク す る と 、イ ン タ ーフ ェ イ スお よ びポー ト を外部 I/O ポー ト に接続す る ためのア シ ス タ ン ス機能
が実行 さ れます。
次の図に示す よ う に、 [Run Connection Automation] ダ イ ア ロ グ ボ ッ ク ス には、 コ ネ ク シ ョ ン オー ト メ ーシ ョ ン機能で
サポー ト さ れ る ポー ト お よ び イ ン タ ーフ ェ イ ス、 使用可能なオー ト メ ーシ ョ ンの簡単な説明、 各オー ト メ ーシ ョ ン で
使用で き る オプシ ョ ン な ど が表示 さ れます。
X-Ref Target - Figure 2-42
図 2‐42 : コ ネ ク シ ョ ン オー ト メ ーシ ョ ン を使用可能なポー ト および イ ン タ ー フ ェ イ ス
ザ イ リ ン ク ス の タ ーゲ ッ ト リ フ ァ レ ン ス プ ラ ッ ト フ ォーム ま たは評価ボー ド の場合、 タ ーゲ ッ ト ボー ド で使用 さ れ
る FPGA ピ ンが認識 さ れ る ので、 その情報に基づいて IP イ ン テ グ レー タ ーの コ ネ ク シ ョ ン オー ト メ ーシ ョ ン機能は
デザ イ ン内のポー ト を ボー ド 上の外部ポー ト に接続 し ます。 IP イ ン テ グ レー タ ーは、 こ の後最適な物理制約お よ び該
当す る I/O ポー ト に必要なその他の I/O 制約を作成 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
33
第 2 章 : ブ ロ ッ ク デザイ ンの作成
33 ページの図 2-41 に示す よ う に、 MicroBlaze シ ス テ ム デザ イ ンでは、 次の接続を し てお く 必要があ り ます。
•
Processor System Reset IP を外部 リ セ ッ ト ポー ト に接続
•
Clocking Wizard を外部 ク ロ ッ ク ソ ース と 外部 リ セ ッ ト に接続
次の図に示す よ う に、 適切なオプシ ョ ン を選択す る と 、 ク ロ ッ ク ポー ト と リ セ ッ ト ポー ト を タ ーゲ ッ ト ボー ド の最
適な ソ ース に接続で き ます。
X-Ref Target - Figure 2-43
図 2‐43 : [Run Connection Automation] 機能
こ の場合、 KC705 タ ーゲ ッ ト ボー ド に既存の リ セ ッ ト ピ ン を選択する か、 カ ス タ ム リ セ ッ ト ピ ン を指定 し ます。 リ
セ ッ ト を指定 し た ら 、 リ セ ッ ト ピ ンが Proc_Sys_Rst IP の ext_reset_in ピ ンに接続 さ れます。
X-Ref Target - Figure 2-44
図 2‐44 : ボー ド リ セ ッ ト ピ ンへの リ セ ッ ト ピ ンの接続
設計ア シ ス タ ン ス機能では、 IP イ ン テ グ レー タ ーでの開発が常に監視 さ れます。
た と え ば、 AXI_GPIO IP を デザ イ ン に イ ン ス タ ン シ エー ト す る と 、 デザ イ ン キ ャ ン バ ス の上部のバナーに [Run
Connection Automation] の リ ン ク が表示 さ れ る よ う にな り ます。こ れで [Run Connection Automation] を ク リ ッ ク す る と 、
AXI Interconnect を介 し て 新 し く 追加 さ れた AXI GPIO の S_AXI ポー ト を MicroBlaze プ ロ セ ッ サに接続で き ます。同
様に、 GPIO イ ン タ ーフ ェ イ ス は タ ーゲ ッ ト ボー ド にあ る 複数 イ ン タ ーフ ェ イ ス の 1 つに接続で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
34
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-45
図 2‐45 : コ ネ ク シ ョ ン オー ト メ ーシ ョ ン を使用 し た潜在的な接続の表示
GPIO イ ン タ ーフ ェ イ ス ポー ト は、 4 ビ ッ ト の Dip Switch、 7 ビ ッ ト の LCD、 8 ビ ッ ト の LED、 5 ビ ッ ト のプ ッ シ ュ ボ
タ ン、 ボー ド の Rotary Switch、 カ ス タ ム イ ン タ ーフ ェ イ ス のいずれかに接続で き ま す こ れ ら のいずれか を選択す る
と 、 GPIO ポー ト がボー ド の既存の接続に接続 さ れます。
次の図に示す よ う に、オー ト メ ーシ ョ ンで S_AXI を選択す る と 、GPIO の ス レーブ AXI ポー ト を MicroBlaze マ ス タ ー
に接続で き る こ と が示 さ れ ま す。 デザ イ ン にマ ス タ ーが複数含 ま れ る 場合は、 いずれか を選択で き ま す。 GPIO の
S_AXI イ ン タ ーフ ェ イ ス な ど の ス レーブ イ ン タ ーフ ェ イ ス に対 し 、 ク ロ ッ ク 接続を指定する こ と も で き ます。
X-Ref Target - Figure 2-46
図 2‐46 : S_AXI ス レーブ イ ン タ ー フ ェ イ スの MicroBlaze マス タ ーへの接続
[Run Connection Automation] ダ イ ア ロ グ ボ ッ ク ス で [OK] を ク リ ッ ク す る と 、 接続が実行 さ れ、 次の図の よ う にハ イ
ラ イ ト さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
35
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-47
図 2‐47 : マス タ ー /ス レーブ接続
AXI4-Stream イ ン タ ーフ ェ イ ス を メ モ リ マ ッ プ ド イ ン タ ーフ ェ イ ス に接続 し たい上級ユーザー用に さ ら に高度な設
計ア シ ス タ ン ス も 提供 さ れてい ます。 こ の場合、 IP イ ン テ グ レー タ ーでは必要な下位 コ ン ポーネ ン ト が イ ン ス タ ン シ
エー ト さ れ、 それ ら が正 し く 接続 さ れて、 こ の機能が イ ン プ リ メ ン ト さ れ ます。 こ の機能の詳細は、 『Vivado Design
Suite ユーザー ガ イ ド : エ ンベデ ッ ド ハー ド ウ ェ ア デザ イ ン』 (UG898) [参照 5] の こ のセ ク シ ョ ン を参照 し て く だ さ
い。
[Signals] ビ ュ ーを使用 し た接続
IP イ ン テ グ レー タ ーの [Signals] ビ ュ ーを使用する と 、 ク ロ ッ ク お よ び リ セ ッ ト への接続が簡単にで き ます。 ブ ロ ッ ク
デザ イ ン を開いた ら 、 37 ページの図 2-48 の よ う な [Signals] ビ ュ ーが開き 、 [Clocks] お よ び [Resets] タ ブにデザ イ ンに
存在す る ク ロ ッ ク 信号お よ び リ セ ッ ト 信号がそれぞれ表示 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
36
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-48
図 2‐48 : [Signals] ビ ュ ー
ど ち ら かの タ ブ を ク リ ッ ク す る と 、 デザ イ ンに含まれ る ク ロ ッ ク ま たは リ セ ッ ト がすべて表示 さ れます。
ク ロ ッ ク は、 ク ロ ッ ク ド メ イ ン名に基づいて [Clocks] タ ブに リ ス ト さ れます。 上記の図では、 ク ロ ッ ク ド メ イ ンの
名前は design_1_clk_wiz_1_0_clk_out1 で、周波数 100MHz の ク ロ ッ ク 出力 clk_out1 が異な る IP の複数の ク ロ ッ ク 入力
を起動 し てい ます。
[Unconnected Clocks] フ ォ ルダーか ら ク ロ ッ ク を選択す る と 、 IP イ ン テ グ レー タ ーのブ ロ ッ ク デザ イ ンで該当す る ク
ロ ッ ク ポー ト がハ イ ラ イ ト さ れます。 選択 し た ク ロ ッ ク を右 ク リ ッ ク する と 、 複数のオプシ ョ ンが表示 さ れます。
32 ペ ー ジ の 図 2-39 の 場 合、 設計 ア シ ス タ ン ス ([Run Connection Automation] コ マ ン ド ) が、 Clocking Wizard の
CLK_IN1_D 入力 イ ン タ ーフ ェ イ ス を ボー ド の ク ロ ッ ク ピ ンに接続す る ために使用で き ます。
[Make Connection] オプシ ョ ン を ク リ ッ ク し 、 デザ イ ン の既存 ク ロ ッ ク ソ ースへ入力を接続す る こ と も で き ます。 最
後に、 [Make Connection] オプシ ョ ン を ク リ ッ ク し て外部ポー ト に ピ ン を接続で き ます。
コ ン テ キ ス ト を図に切 り 替えた り 、 デザ イ ン検証を実行 し た り と いっ たその他のオプシ ョ ン も あ り ます。
X-Ref Target - Figure 2-49
図 2‐49 : [Signals] ビ ュ ーを使用 し た接続
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
37
第 2 章 : ブ ロ ッ ク デザイ ンの作成
次の図に示す よ う に、 [Make Connection] を ク リ ッ ク す る と 、 有効な接続が可能なのか ど う か を示すダ イ ア ロ グ ボ ッ
ク ス が開 き ます。
X-Ref Target - Figure 2-50
図 2‐50 : [Make Connection] ダ イ ア ログ ボ ッ ク ス
適切な ク ロ ッ ク ソ ース を選択す る と 、 その ク ロ ッ ク ソ ース と 該当す る ポー ト ま たはピ ン間が接続 さ れます。
[Resets] タ ブを使用 し て も 、 同様に接続で き ます。 [Signals] ビ ュ ーの [Clocks] お よ び [Resets] タ ブ を使用する と 、 視覚
的にデザ イ ン内の ク ロ ッ ク の管理お よ び接続で き ます。
[Make Connection] を使用 し たポー ト およびピ ンの接続
ポー ト ま たは ピ ン を選択 し てか ら 、 右 ク リ ッ ク し て [Make Connection] を ク リ ッ ク す る と 、 未接続のポー ト ま たは ピ
ンへの接続がで き ます。
X-Ref Target - Figure 2-51
図 2‐51 : [Make Connection] オプ シ ョ ン
選択 し た ピ ンへの有効な接続があ る 場合は、 [Make Connection] ダ イ ア ロ グ ボ ッ ク ス にネ ッ ト を接続で き る 可能性の
あ る ソ ー スすべてが表示 さ れ ます。 こ のダ イ ア ロ グ ボ ッ ク ス か ら は、 適切な ソ ース を選択 し てポー ト /ピ ン を駆動で
き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
38
第 2 章 : ブ ロ ッ ク デザイ ンの作成
[Start Connection Mode] を使用 し た接続
次の図に示す よ う に、 1 つの ピ ン を ク リ ッ ク し てペン のア イ コ ン が表示 さ れた と き に ド ラ ッ グ ア ン ド ド ロ ッ プす る
と 、 複数の接続を 1 度に実行で き ます。
X-Ref Target - Figure 2-52
図 2‐52 : [Start Connection Mode] オプ シ ョ ン
上記の図の AXI BRAM Controller の s_axi_aclk ピ ンへ接続 し てか ら 、 [Start Connection Mode] を使用す る と 、 AXI IIC
の s_axi_aclk ピ ンへの接続が提案 さ れます。
こ の方法を使用す る と 、 同 じ ソ ース ピ ンか ら 複数の異な る デス テ ィ ネーシ ョ ンに 1 度に接続で き ます。
ブ ロ ッ ク デザイ ン外部への AXI IP のイ ン タ ー フ ェ イ ス
AXI マ ス タ ーがブ ロ ッ ク デザ イ ンの外部にあ り 、 デザ イ ン内の AXI ス レーブに接続 さ れてい る こ と があ り ます。 こ
れ ら の外部マ ス タ ーは、 通常 AXI Interconnect コ ア を使用 し てブ ロ ッ ク デザ イ ンに接続 さ れます。 AXI Interconnect コ
アのポー ト を external に指定す る と 、 ア ド レ ス エデ ィ タ ーが使用で き る よ う にな り 、 第 3 章 「 メ モ リ マ ッ プの作成」
に示す よ う に メ モ リ マ ッ プがで き る よ う にな り ます。
た と えば、 次の図のブ ロ ッ ク デザ イ ン を見てみて く だ さ い。
X-Ref Target - Figure 2-53
図 2‐53 : ブ ロ ッ ク デザイ ン と イ ン タ ー フ ェ イ ス さ れる外部 AXI マス タ ーを含むサン プル デザイ ン
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
39
第 2 章 : ブ ロ ッ ク デザイ ンの作成
AXI Interconnect コ アの AXI イ ン タ ーフ ェ イ ス が external に設定 さ れ る と 、[Address Editor] タ ブが使用で き る よ う にな
り 、 ブ ロ ッ ク デザ イ ンの ス レーブすべての メ モ リ マ ッ プが通常どお り に実行で き ます。
デザイ ン キ ャ ンバスでの並べ替え
キ ャ ンバ ス上の IP ブ ロ ッ ク は、 ブ ロ ッ ク デザ イ ン と ブ ロ ッ ク 間の接続を見やす く す る ために並べ替え る こ と がで き
ます。 完了 し た図ま たは作業中の図を並べ替え る には、 [Regenerate Layout] ボ タ ン
を ク リ ッ ク し ます。
ブ ロ ッ ク を ク リ ッ ク し て ド ラ ッ グ し た り 、 矢印キーを使用す る と 、 ブ ロ ッ ク を手動で移動す る こ と も で き ます。 図で
は、 ブ ロ ッ ク を移動す る 際、 濃い灰色の縦のバーで示 さ れ る 特定の列位置にだけ移動で き ます。 ブ ロ ッ ク を移動す る
際に図に表示 さ れ る グ リ ッ ド を使用す る と 、 ブ ロ ッ ク お よ びピ ン を揃えやす く な り ます。
ブ ロ ッ ク を手動で配置 し て、 [Optimize Routing]
を ク リ ッ ク す る と 、 [Regenerate Layout] を ク リ ッ ク し た場合 と 異
な り 、 ブ ロ ッ ク の配置が保持 さ れ た ま ま、 さ ま ざ ま な ブ ロ ッ ク への配線のみが修正 さ れ ま す。 つ ま り 、 [Optimize
Routing] を使用す る と 、 異な る ブ ロ ッ ク の位置が接触 し ない よ う に し た ま ま で、 さ ま ざ ま なブ ロ ッ ク を接続す る ネ ッ
ト のみを修正で き ます。
イ ン タ ー フ ェ イ ス レ ベルの接続のみの表示
ブ ロ ッ ク デザ イ ンに存在す る イ ン タ ーフ ェ イ ス間の接続のみを表示す る には、 ブ ロ ッ ク デザ イ ンの ツールバーか ら
[Show interface connections only] ボ タ ン
を ク リ ッ ク し ます。 こ れに よ り 、 イ ン タ ーフ ェ イ ス レベルの接続のみが
表示 さ れ、 その他すべてのブ ロ ッ ク デザ イ ンの接続が非表示にな り ます。
X-Ref Target - Figure 2-54
図 2‐54 : イ ン タ ー フ ェ イ ス接続のみの表示
[Show interface connections only] ボ タ ン を も う 1 度 ク リ ッ ク す る と 、ブ ロ ッ ク デザ イ ンの接続がすべて元の表示に戻 り
ます。
階層の作成
次の図に示す よ う に、 Ctrl を押 し なが ら ク リ ッ ク し て必要な IP ブ ロ ッ ク を選択 し 、 右 ク リ ッ ク で [Create Hierarchy] を
ク リ ッ ク す る と 、 階層ブ ロ ッ ク を作成で き ます。 IP イ ン テ グ レー タ ーで選択 し たブ ロ ッ ク を含む新 し い レベルの階層
が作成 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
40
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-55
図 2‐55 : 階層ブ ロ ッ ク デザイ ンの作成
複数の階層レベルを作成で き ます。 空の レベルの階層を作成 し ておいて、 後で既存の IP ブ ロ ッ ク を その空の階層ブ
ロ ッ ク に ド ラ ッ グす る こ と も で き ます。
ブ ロ ッ ク の左上の + ア イ コ ン を ク リ ッ ク する と 、 階層展開で き ます。 図の階層レベルは、 IP イ ン テ グ レー タ ーの左上
のエ ク ス プ ロ ー ラ ー タ イ プのパス情報を使用する と 確認で き ます。
[Create Hierarchy] を ク リ ッ ク す る と 、 次の図の よ う に [Create Hierarchy] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 新 し い階層
名を指定で き ます。
X-Ref Target - Figure 2-56
図 2‐56 : [Create Hierarchy] ダ イ ア ログ ボ ッ ク ス
こ れに よ り 、 1 つのブ ロ ッ ク の下に選択 し た IP ブ ロ ッ ク のグループがで き ます。
•
階層の + マー ク を ク リ ッ ク す る と 、 その下の コ ン ポーネ ン ト を表示で き ます。
•
- マー ク を ク リ ッ ク す る と 、 元のグループ表示に戻 り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
41
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-57
図 2‐57 : ブ ロ ッ クのグループ表示
階層へのピ ンおよび イ ン タ ー フ ェ イ スの追加
前述の よ う に、 空の階層を作成 し 、 IP のブ ロ ッ ク を階層下に移動す る よ り も 前に、 その階層で ピ ン イ ン タ ーフ ェ イ
ス を定義で き ます。
IP イ ン テ グ レー タ ー キ ャ ンバ ス で右 ク リ ッ ク し て、 IP ブ ロ ッ ク が選択 さ れていない状態で [Create Hierarchy] を ク
リ ッ ク し ます。 [Create Hierarchy] ダ イ ア ロ グ ボ ッ ク ス では、 階層の名前を指定 し ます。 空の階層が作成 さ れた ら 、 ブ
ロ ッ ク デザ イ ンは次の図の よ う にな り ます。
X-Ref Target - Figure 2-58
図 2‐58 : 空の階層
Tcl コ ン ソ ールに次の コ マ ン ド を入力す る と 、 こ の階層に ピ ン を追加で き ます。
create_bd_pin -dir I -type rst /hier_0/rst
上記の コ マ ン ド では、 rst タ イ プの reset と い う 名前の入力ピ ンが階層に追加 さ れます。 同様の コ マ ン ド を使用 し てそ
の他の ピ ン を追加で き ます。 同様に、 次のTcl コ マ ン ド を使用す る と 、 ク ロ ッ ク ピ ン を階層に追加で き ます。
create_bd_pin -dir I -type clk /hier_0/clock
次の Tcl コ マ ン ド を使用す る と 、 イ ン タ ーフ ェ イ ス を階層に追加で き ます。 まず、次の コ マ ン ド を使用 し て、 イ ン タ ー
フ ェ イ ス が追加 さ れ る 階層にブ ロ ッ ク デザ イ ン イ ン ス タ ン ス を設定 し ます。
current_bd_instance /hier_0
こ の後、 次の コ マ ン ド を使用 し て イ ン タ ーフ ェ イ ス を作成 し ます。
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 gpio
正 し い タ イ プの イ ン タ ーフ ェ イ ス は、 上記の コ マ ン ド を使用する 前に作成 さ れてい る と 仮定 さ れます。 上記の コ マ ン
ド を実行す る と 、 階層は次の図の よ う にな り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
42
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-59
図 2‐59 : ピ ンの作成
適切な ピ ン イ ン タ ーフ ェ イ ス を作成 し た ら 、 こ の階層ブ ロ ッ ク 内に別のブ ロ ッ ク を ド ロ ッ プで き 、 こ れ ら の IP か ら
外部ピ ン イ ン タ ーフ ェ イ スへのピ ン接続が実行で き ます。
X-Ref Target - Figure 2-60
図 2‐60 : IP の階層ピ ン イ ン タ ー フ ェ イ スへの接続
コ ピー と 貼 り 付け
図内でブ ロ ッ ク を コ ピー し て貼 り 付け る には、 Ctrl + C お よ び Ctrl + V を使用で き ます。 こ れに よ り 、 カ ス タ マ イ ズ
さ れた IP ブ ロ ッ ク をすばや く コ ピーで き た り 、 IP を新 し い階層ブ ロ ッ ク に コ ピー し た り で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
43
第 2 章 : ブ ロ ッ ク デザイ ンの作成
デザイ ン ルール チ ェ ッ クの実行
IP イ ン テ グ レー タ ーでは、 デザ イ ンが ま と め ら れ る 際に リ アル タ イ ムで基本的なデザ イ ン ルール チ ェ ッ ク が実行 さ
れますが、 デザ イ ン作成中に何 ら かの問題が発生する 可能性があ り ます。 た と えば、 ク ロ ッ ク ピ ンの周波数が正 し く
設定 さ れていない こ と があ り ます。 次の図の [Validate Design] を ク リ ッ ク す る と 、 全体的なデザ イ ン チ ェ ッ ク を実行
で き ます。
X-Ref Target - Figure 2-61
図 2‐61 : デザイ ンの検証
こ れは、 IP イ ン テ グ レー タ ーのツールバーの [Validate Design] を ク リ ッ ク し て も 実行で き ます (
)。
警告 も エ ラ ー も ない場合は、 次の図に示す よ う な メ ッ セージが表示 さ れます。
X-Ref Target - Figure 2-62
図 2‐62 : 検証が問題なかっ た こ と を示す メ ッ セージ
異な る幅のポー ト の接続
IP イ ン テ グ レー タ ーでは異な る 幅のポー ト ま たはピ ン を接続で き ます。
45 ページの図 2-63 は、AXI BRAM コ ン ト ロ ー ラ ーの bram_addr_a ピ ン (14 ビ ッ ト 幅) が Block Memory Generator の
addra ピ ン (32 ビ ッ ト 幅) に接続 さ れてい る と こ ろ を示 し てい ます。 ポー ト 幅の不一致はデザ イ ン検証中に レ ポー ト
さ れませんが、 デザ イ ン出力を生成す る 中に警告 メ ッ セージが表示 さ れます。
[BD 41-235] Width mismatch when connecting pin: '/axi_bram_ctrl_0_bram/addra'(32) to
net 'axi_bram_ctrl_0_BRAM_PORTA_ADDR'(14) - Only lower order bits will be connected.
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
44
第 2 章 : ブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 2-63
図 2‐63 : 異な る幅のピ ンの接続
こ の警告は、 ポー ト ま たはピ ンの接続中に ツールでポー ト 幅の不一致が検出 さ れ、 下位ビ ッ ト (最初の 14 ビ ッ ト ) の
みが接続 さ れます。 警告 メ ッ セージ を確認 し 、 必要に応 じ て対応 し て く だ さ い。 こ の警告 メ ッ セージは通常無視 し て
も 問題あ り ません。
ブ ロ ッ ク デザイ ンのパ ッ ケージ
IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ン を作成、 イ ンプ リ メ ン ト 、 検証、 タ ーゲ ッ ト ハー ド ウ ェ アでのテ ス ト し 、 ブ
ロ ッ ク デザ イ ン の機能に問題がなければ、 こ のブ ロ ッ ク デザ イ ン をパ ッ ケージ し て、 別のデザ イ ン で再利用で き る
IP を作成 し ます。
Vivado IP カ タ ロ グで使用す る ためにブ ロ ッ ク デザ イ ン をパ ッ ケージす る 方法については、 『Vivado Design Suite ユー
ザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1118) [参照 11] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
45
第 3章
メ モ リ マ ッ プの作成
概要
マ ス タ ー イ ン タ ーフ ェ イ ス はア ド レ ス空間 ( ま たは bd_address_space オブジ ェ ク ト ) と 呼ばれ る 割 り 当て ら れた
メ モ リ 範囲 コ ン テナーを参照 し 、 ス レーブ イ ン タ ーフ ェ イ ス は、 メ モ リ マ ッ プ と 呼ばれ る リ ク エ ス ト さ れた メ モ リ
範囲 コ ン テナーを参照 し ます。
命名規則 :
•
メ モ リ マ ッ プは通常それ ら を参照する ス レーブ イ ン タ ーフ ェ イ ス ピ ンに基づいて命名 さ れます。 た と えば、
S_AXI イ ン タ ーフ ェ イ スは S_AXI メ モ リ マ ッ プ を参照 し ます (必須ではあ り ません)。
•
ま た、 ア ド レ ス空間名はその使用方法に基づいて命名 さ れ る こ と が よ く あ り ます。 た と えば、 MicroBlaze™ プ ロ
セ ッ サにはデー タ ア ド レ ス空間 と 命令ア ド レ ス空間があ り ます。
各ス レーブ イ ン タ ーフ ェ イ ス ピ ンの メ モ リ マ ッ プには、ス レーブ セグ メ ン ト (bd_address_seg オブジ ェ ク ト ) が
含まれます。 こ れ ら のア ド レ ス セグ メ ン ト は、 その ス レーブのア ド レ ス デ コ ー ド ウ ィ ン ド ウ に該当 し ます。
た と えば、 通常 AXI4-Lite ス レーブにはア ド レ ス範囲を示すア ド レ ス セグ メ ン ト が 1 つだけ含まれますが、 ブ リ ッ ジ
の よ う に、 ス レーブの中には複数のア ド レ ス セグ メ ン ト が含ま れた り 、 各ア ド レ ス デ コ ー ド ウ ィ ン ド ウ のア ド レ ス
範囲が含まれ る も のがあ り ます。
ス レ ーブ セ グ メ ン ト がマ ス タ ー ア ド レ ス 空間にマ ッ プ さ れ る 場合、 マ ス タ ー ア ド レ ス セ グ メ ン ト オブ ジ ェ ク ト
(bd_address_seg) が作成 さ れ、 ス レーブのア ド レ ス セ グ メ ン ト がマ ス タ ーへマ ッ プ さ れ ます。 Vivado® IP イ ン テ
グ レー タ ーでは、 デザ イ ンのすべての ス レーブに対 し て ア ド レ ス が自動的に割 り 当て ら れますが、 [Address Editor] タ
ブ を使用す る と 、 ア ド レ ス を手動で割 り 当て る こ と も で き ます。
ヒ ン ト : [Address Editor] タ ブはバ ス マ ス タ ー と し て機能す る IP ブ ロ ッ ク (MicroBlaze プ ロ セ ッ サな ど) ま たは外部バ
ス マ ス タ ー (IP イ ン テ グ レー タ ー外部) が図に含まれてい る 場合にのみ表示 さ れます。
上記のデザ イ ン キ ャ ンバ ス で [Address Editor] タ ブ を ク リ ッ ク し ます。 [Address Editor] タ ブでは、 ス レーブのア ド レ
ス セグ メ ン ト が表示 さ れ、 マ ス タ ーのア ド レ ス空間にマ ッ プする こ と がで き ます。
ア ド レ ス を生成せずに IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ンか ら RTL を生成 し た場合、こ の段階でア ド レ ス が自動
的に割 り 当て ら れ る よ う にす る か ど う か を尋ね る メ ッ セージが表示 さ れます。
ア ド レ ス は、 [Offset Address] お よ び [Range] 列に値を入力する と 、 手動で設定する こ と も で き ます。
プ ロ セ ッ サな ど のマ ス タ ーは、 デバ イ ス レ ジ ス タ を介 し てペ リ フ ェ ラ ル デバ イ ス と 通信 し ます。 ペ リ フ ェ ラ ル デバ
イ ス はそれぞれマ ス タ ーの全体的な メ モ リ 空間内に メ モ リ ブ ロ ッ ク を割 り 当て ます。 IP イ ン テ グ レー タ ーは業界標
準の IP-XACT デー タ フ ォーマ ッ ト に従っ て、 エン ド ポ イ ン ト のマ ス タ ーお よ びス レーブの メ モ リ 要件お よ び機能を
キ ャ プチ ャ し ます。
IP イ ン テ グ レー タ ーには、 こ れ ら の メ モ リ 範囲を さ ま ざ ま なペ リ フ ェ ラ ルのマ ス タ ー /ス レーブ イ ン タ ーフ ェ イ ス に
割 り 当て る ために [Address Editor] タ ブが含ま れ ます。 マ ス タ ーお よ びス レーブ イ ン タ ーフ ェ イ ス はそれぞれ特定の
メ モ リ オブジ ェ ク ト を参照 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
46
第 3 章 : メ モ リ マ ッ プの作成
[Address Editor] タ ブの使用
Vivado IP イ ン テ グ レー タ ーの [Address Editor] タ ブは、 マ ス タ ー イ ン タ ーフ ェ イ ス か ら メ モ リ 範囲をペ リ フ ェ ラ ルに
割 り 当て る ために使用 さ れます。 [Address Editor] タ ブは、 MicroBlaze や Zynq-7000 プ ロ セ ッ サな ど のア ド レ ス空間を
持つマ ス タ ーがキ ャ ンバ ス に イ ン ス タ ン シエー ト さ れ る と 表示 さ れ る よ う にな り ます。
X-Ref Target - Figure 3-1
図 3‐1 : [Address Editor] タ ブ
ペ リ フ ェ ラ ルが イ ン ス タ ン シ エー ト さ れて、 コ ネ ク シ ョ ン オー ト メ ーシ ョ ン機能を使用 し て ブ ロ ッ ク デザ イ ン の
キ ャ ン バ ス で プ ロ セ ッ サ に接続 さ れ る と 、 47 ペー ジ の図 3-2 に示す よ う に、 IP イ ン テ グ レ ー タ ーで は自動的に
[Address Editor] でそのペ リ フ ェ ラ ルに対 し て該当す る メ モ リ 割 り 当てが入力 さ れます。
X-Ref Target - Figure 3-2
図 3‐2 : [Address Editor] タ ブのペ リ フ ェ ラルの メ モ リ マ ッ プ
[Address Editor] には、 次の よ う な列があ り ます。
•
[Cell] : マ ス タ ー と 、 そのマ ス タ ーに よ り ア ド レ ス指定可能な接続済みペ リ フ ェ ラ ルが記述 さ れます。
[Expand All] ボ タ ン
を ク リ ッ ク する か、 + マー ク を ク リ ッ ク し て、 選択箇所を展開表示 し ます。
図 3-2 の例では、 マ ス タ ーの イ ン ス タ ン ス名は microblaze_0 で、 デー タ お よ び命令ア ド レ ス空間を ア ド レ ス
指定 し てい ます。
ペ リ フ ェ ラ ルの microblaze_0_local_memory/dlmb_bram_if_cntlr お よ び
microblaze_0_local_memory/ilmb_bram_if_cntlr はそれぞれデー タ お よ び命令ア ド レ ス空間にそれぞ
れマ ッ プ さ れ、 残 り のペ リ フ ェ ラ ルはデー タ ア ド レ ス空間か ら のみア ク セ ス さ れます。
•
[Slave Interface] : ペ リ フ ェ ラ ル イ ン ス タ ン ス の ス レーブ イ ン タ ーフ ェ イ ス ピ ンの名前が リ ス ト さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
47
第 3 章 : メ モ リ マ ッ プの作成
た と えば、 48 ページの図 3-3 に示す よ う に、 ペ リ フ ェ ラ ル イ ン ス タ ン ス の
microblaze_0_local_memory/dlmb_bram_if_cntlr お よ び
microblaze_0_local_memory/ilmb_bram_if_cntlr にはそれぞれ SLMB と 呼ばれ る イ ン タ ーフ ェ イ ス が
あ り ます。
X-Ref Target - Figure 3-3
図 3‐3 : [Slave Interface] に リ ス ト さ れる イ ン ス タ ン ス名
•
[Base Name] : ス レーブ セグ メ ン ト の名前を指定 し ます。
IP イ ン テ グ レー タ ーでは、 図 3-5 に示す よ う に、 Mem ( メ モ リ ) お よ び Reg (レ ジ ス タ ) と い う 2 つの名前で、 複数
の メ モ リ イ ン ス タ ン シエーシ ョ ン を含むデザ イ ンが表示 さ れます。
X-Ref Target - Figure 3-4
図 3‐4 : ブ ロ ッ ク デザイ ンへの複数の メ モ リ イ ン ス タ ン シ エーシ ョ ン
こ れ ら は、 49 ページの図 3-5 に示す よ う に [Address Editor] タ ブの [Base Name] 列で指定 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
48
第 3 章 : メ モ リ マ ッ プの作成
X-Ref Target - Figure 3-5
図 3‐5 : 複数の メ モ リ のイ ン ス タ ン シ エーシ ョ ンに指定 さ れるベース名
•
[Offset Address] : ア ド レ ス ブ ロ ッ ク の開始か ら のオ フ セ ッ ト を示 し ます。
た と えば、 図 3-5 に示す例では、 デー タ ア ド レ ス空間お よ び命令ア ド レ ス空間のア ド レ ス指定可能な範囲はそれ
ぞれ 4G です。 ア ド レ ス空間は 0x00000000 か ら 開始 さ れて 0xFFFFFFFF で終了 し ます。 こ のア ド レ ス空間内
では、 axi_uartlite_0 がオ フ セ ッ ト 0x40600000 で開始 さ れ る 範囲にア ド レ ス 指定で き 、 axi_gpio_0 が
オ フ セ ッ ト 0x40000000 か ら 開始 さ れ る 範囲にア ド レ ス指定で き ます。 こ の フ ィ ール ド は、 マ ス タ ーのア ド レ
ス空間に ス レーブがマ ッ プ さ れ る と 自動的に生成 さ れますが、 ユーザーが変更す る こ と も で き ます。
[Offset Address] お よ び [Range] フ ィ ール ド はそれぞれ独立 し てい ま すが、 [Offset Address] フ ィ ール ド は [Range]
フ ィ ール ド と 揃え る 必要があ り ます。 た と えば、 [Range] フ ィ ール ド が 2N の場合、 開始オ フ セ ッ ト の LSB (最小
位ビ ッ ト ) に少な く と も N 個 0 が必要です。 た と えば、ス レーブ セグ メ ン ト の範囲が 64K (つま り 216) の場合、オ
フ セ ッ ト ア ド レ ス は 0xXXXX0000 (下 4 桁が 0) の形式にす る 必要があ り ます。 つま り 、 最下位の 16 ビ ッ ト は 0
であ る 必要があ り ます。 こ のフ ィ ール ド が正 し く 設定 さ れていない と 、 図 3-6 の よ う なエ ラ ー メ ッ セージが表示
さ れます。
X-Ref Target - Figure 3-6
図 3‐6 : 揃っ ていないオ フ セ ッ ト ア ド レ スの例
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
49
第 3 章 : メ モ リ マ ッ プの作成
49 ページの図 3-6 では、ユーザーが LSB に 12 ビ ッ ト 分 0 のみ (下 3 桁が 0) でオ フ セ ッ ト ア ド レ ス を設定 し て し ま っ
てい ます。 こ の場合、 4K (つま り 212) の範囲 し か指定 さ れたオ フ セ ッ ト ア ド レ ス では使用で き ません。 こ のため、 ア
ド レ ス が揃っ ていない こ と を示す メ ッ セージが表示 さ れます。 こ の メ ッ セージは、 次のオ フ セ ッ ト ア ド レ ス は現在の
メ モ リ マ ッ プに基づいて設定で き る こ と も 示 し てい ます。
•
[Range] : 特定の ス レーブのア ド レ ス ブ ロ ッ ク の範囲合計を指定 し ます。 こ の フ ィ ール ド は通常 IP の
component.xml フ ァ イ ルのパ ラ メ ー タ ーに基づいて生成 さ れます。 こ れは、 ド ロ ッ プダ ウ ン メ ニ ュ ーを ク
リ ッ ク し て適切な値を選択す る と 変更す る こ と も で き ます。
[Offset Address] フ ィ ール ド の説明にあ る よ う に、 [Range] と [Offset Address] フ ィ ール ド は互いに独立 し てお り 、
[Range] フ ィ ール ド の 2N は [Offset Address] フ ィ ール ド の LSB の N 値 と 揃え ら れてい る 必要があ り ます。[Range]
フ ィ ール ド が こ の数を超え る よ う に設定 さ れてい る と 、 次の よ う な メ ッ セージが表示 さ れます。
X-Ref Target - Figure 3-7
図 3‐7 : [Range] フ ィ ール ド が正 し く 設定 さ れていない こ と を示す例
図 3-7 では、ユーザーが 0xXXXX0000 の形式 (16 LSB のみを使用 し たオ フ セ ッ ト ) のオ フ セ ッ ト に対 し て [Range]
フ ィ ール ド を 128K (つま り 217) に設定 し よ う と し てい ます。 128K の範囲に対応す る には、 ア ド レ ス の形式が少
な く と も 0xXXX20000 (開始オ フ セ ッ ト の LSB が少な く と も 17 ビ ッ ト ) であ る 必要があ り ます。
•
[High Address] : [Offset Address] お よ び [Range] 値に基づいて調整 さ れます。 こ れは、 特定の割 り 当て ら れたセグ
メ ン ト では最後のア ド レ ス指定可能な ア ド レ ス にな り ます。
[Address Editor] タ ブ を使用 し た メ モ リ マ ッ プ
メ モ リ ブ ロ ッ ク の割 り 当ては、 ブ ロ ッ ク デザ イ ン で ス レーブ イ ン タ ーフ ェ イ ス がマ ス タ ー イ ン タ ーフ ェ イ ス に接続
さ れ る と 自動的に実行 さ れますが、 [Address Editor] タ ブで手動でマ ッ プす る こ と も で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
50
第 3 章 : メ モ リ マ ッ プの作成
ア ド レ スの自動割 り 当て
すべての ス レーブ セグ メ ン ト を 1 度にマ ッ プする には、
に示す よ う に、 [Address Editor] タ ブ内で右 ク リ ッ ク し て
[Auto Assign Address] を ク リ ッ ク す る か、 ブ ロ ッ ク デザ イ ン ツールバーの [Auto Assign] ア イ コ ン を ク リ ッ ク し ます。
X-Ref Target - Figure 3-8
図 3‐8 : [Auto Assign Address] オプ シ ョ ン
こ れに よ り 、 51 ページの図 3-9 に示す よ う に、 すべての ス レーブ セグ メ ン ト がマ ッ プ さ れます。
X-Ref Target - Figure 3-9
図 3‐9 : ア ド レ ス ブ ロ ッ ク の自動割 り 当て後の メ モ リ マ ッ プ
ス レーブ セグ メ ン ト がマ ッ プ さ れた後は、 マ ッ プ さ れた ア ド レ ス セグ メ ン ト を右 ク リ ッ ク す る と 、 次の図に示す よ
う にその他のオプシ ョ ンが表示 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
51
第 3 章 : メ モ リ マ ッ プの作成
X-Ref Target - Figure 3-10
図 3‐10 : [Address Editor] タ ブのオプ シ ョ ン
[Address Segment Properties] オプ シ ョ ン
[Address Segment Properties] を ク リ ッ ク す る と 、 次の図に示す よ う に [Address Segment Properties] ウ ィ ン ド ウ にア ド レ
ス セグ メ ン ト の詳細が表示 さ れます。
X-Ref Target - Figure 3-11
図 3‐11 : [Address Segment Properties] ウ ィ ン ド ウ
こ の フ ィ ール ド には、 次のオプシ ョ ンが含まれてい ます。
•
[Name] : 自動的に割 り 当て ら れたマ ス タ ー セグ メ ン ト の名前が表示 さ れます。 こ の名前は、 必要であれば変更で
き ます。
•
[Full Name] : マ ッ プ さ れた ス レーブ セグ メ ン ト の名前が表示 さ れます。 こ の フ ィ ール ド は編集で き ません。
•
[Slave Interface] : その ス レーブ セグ メ ン ト を参照す る ペ リ フ ェ ラ ルの ス レーブ イ ン タ ーフ ェ イ ス が表示 さ れま
す。
[Unmap Segment] オプ シ ョ ン
マ ッ プ さ れた ア ド レ ス セグ メ ン ト は、 右 ク リ ッ ク し て [Unmap Segment] を ク リ ッ ク す る と 、 そのマ ッ プ を解除で き ま
す。 マ ッ プ を解除 さ れた ア ド レ ス セグ メ ン ト は、53 ページの図 3-12 の よ う に [Unmapped Slaves] フ ォ ルダーに表示 さ
れ る よ う にな り ます。右 ク リ ッ ク し て [Assign Address] を ク リ ッ ク する と 、選択 し た ア ド レ ス のみがマ ッ プ さ れ、[Auto
Assign Address] を ク リ ッ ク す る と 、 マ ッ プ さ れた ア ド レ ス セグ メ ン ト すべてが割 り 当て ら れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
52
第 3 章 : メ モ リ マ ッ プの作成
X-Ref Target - Figure 3-12
図 3‐12 : [Auto Assign Address] オプ シ ョ ン
[Exclude Segment] オプ シ ョ ン
[Exclude Segment] (セグ メ ン ト の除外) を ク リ ッ ク す る と 、 マ ッ プ さ れたセグ メ ン ト を該当す る マ ス タ ーに対 し てア ド
レ ス指定で き な く な り ます。 こ れは、 通常複数のマ ス タ ーがデザ イ ンに含まれていて、 ど のマ ス タ ーが ど の ス レーブ
にア ク セ スす る か指定す る 場合に使用 し ます。 詳細は、 54 ページの 「スパース接続」 を参照 し て く だ さ い。
[Group by Master Interfaces] オプ シ ョ ン
[Group by Master Interfaces] を ク リ ッ ク す る と 、ア ド レ ス空間に含まれ る マ ス タ ー セグ メ ン ト がマ ス タ ー イ ン タ ーフ ェ
イ ス別にグループに ま と め ら れ、 マ ス タ ーか ら ア ク セ ス さ れ る よ う にな り ます。
た と えば、 次のブ ロ ッ ク デザ イ ンの MicroBlaze の場合、 さ ま ざ ま な ア ド レ ス セグ メ ン ト にア ク セ スす る 3 つのア ド
レ ス セグ メ ン ト (DLMB、 ILMB、 お よ び M_AXI_DP) がデー タ ア ド レ ス空間内に含まれます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
53
第 3 章 : メ モ リ マ ッ プの作成
X-Ref Target - Figure 3-13
図 3‐13 : マス タ ー イ ン タ ー フ ェ イ スでグループ分け さ れた MicroBlaze ブ ロ ッ ク
[Group by Master Interfaces] を ク リ ッ ク す る と 、 マ ス タ ー イ ン タ ーフ ェ イ ス の ツ リ ーの下の表の さ ま ざ ま な ア ド レ ス
セグ メ ン ト が並べ替え ら れます。
X-Ref Target - Figure 3-14
図 3‐14 : マス タ ー イ ン タ ー フ ェ イ ス下でグループ分け さ れたア ド レ ス セグ メ ン ト を示す [Address Editor] タ ブ
スパース接続
複数のマ ス タ ー デザ イ ンで、すべてのマ ス タ ーま たは特定のマ ス タ ーのみか ら ア ク セ ス さ れ る 可能性のあ る ス レーブ
を指定す る こ と がで き ます。 IP イ ン テ グ レー タ ーの メ モ リ マ ッ プの こ の機能は、 スパース接続 と 呼ばれます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
54
第 3 章 : メ モ リ マ ッ プの作成
メ モ リ マ ッ プ ド マ ス タ ーから のア ド レ ス セグ メ ン ト の除外
次の図は、 2 つのマ ス タ ーを含むブ ロ ッ ク デザ イ ン です。
X-Ref Target - Figure 3-15
図 3‐15 : 複数のマス タ ーおよびス レーブの例
次の図では、 同 じ イ ン タ ー コ ネ ク ト を 使用 し て 2 つのマ ス タ ー (Master_1 お よ び Master_2) が 2 つの ス レ ーブ
(Slave_1 お よ び Slave_2) にア ク セ ス し てい ます。
X-Ref Target - Figure 3-16
図 3‐16 : 複数のマス タ ー メ モ リ マ ッ プ を含む [Address Editor] タ ブ
た と えば、 Master_1 は Slave_2 にのみア ク セ ス し 、 Master_2 は Slave_1 と Slave_2 の両方にア ク セ スす る 必
要 が あ る 場合、 56 ペー ジ の図 3-17 に示す よ う に、 Master_1 の メ モ リ マ ッ プ か ら Slave_1 を 除外す る に は、
M00_AXI を右 ク リ ッ ク し て [Exclude Segment] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
55
第 3 章 : メ モ リ マ ッ プの作成
X-Ref Target - Figure 3-17
図 3‐17 : [Exclude Segment] オプ シ ョ ン
こ れに よ り 、 次の図の よ う に [Excluded Address Segments] フ ォ ルダーの下に表示 さ れ る セグ メ ン ト が除外 さ れます。
X-Ref Target - Figure 3-18
図 3‐18 : [Address Editor] タ ブに表示 さ れた [Excluded Address Segment] フ ォルダー
マ ッ プ ド ス レーブお よ びア ン マ ッ プ ド ス レーブの両方を除外で き ます。
重要 : 除外 し たマ ス タ ー セグ メ ン ト は、 マ ス タ ーか ら ア ク セ ス で き く な っ て も 、 ア ド レ ス空間内の範囲を ま だ占め ま
す。
マ ス タ ー ア ド レ ス空間内の ス レーブ を除外 し た後、ユーザーが除外 さ れた ス レーブ と 重複す る ア ド レ ス に別の ス レー
ブ を手動で配置 し よ う と す る と 、 検証中にエ ラ ーにな り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
56
第 3 章 : メ モ リ マ ッ プの作成
ア ド レ ス セグ メ ン ト の含有
次の図に示す よ う に、 右 ク リ ッ ク で [Include Segment] を ク リ ッ ク す る と 、 除外 さ れたセグ メ ン ト を マ ス タ ーに追加 し
戻す こ と がで き ます。
X-Ref Target - Figure 3-19
図 3‐19 : マス タ ー メ モ リ マ ッ プへの除外セグ メ ン ト の含有
よ く 表示 さ れる関連する ク リ テ ィ カル警告およびエ ラ ー
[BD 41-971] “Segment <name of segment> mapped into <address space> at Offset[ Range
] overlaps with <name of segment> mapped at Offset [ Range].
こ の メ ッ セージは、 通常検証中に表示 さ れます。 各ペ リ フ ェ ラ ルは、 ア ド レ ス空間内の重複 し ていない メ モ リ の
範囲にマ ッ プす る 必要があ り ます。
[BD 41-1356] Address block <name of slave segment> is not mapped into <name of
address space>.Please use Address Editor to either map or exclude it.
こ の メ ッ セージは、 通常検証中に表示 さ れます。 ス レーブがマ ス タ ーにア ク セ ス で き る 状態であれば、 マ ス タ ー
のア ド レ ス空間にマ ッ プす る か、 そ こ か ら 除外す る 必要があ り ます。
[BD 41-1353] <name of slave segment> is mapped at disjoint segments in master <name
of address space> at <memory range> and in master <name of address space> at <memory
range>.It is illegal to have the same peripheral mapped to different addresses within
the same network.Peripherals must either be mapped to the same offset in all masters,
or into addresses that are apertures of each other or to contiguous addresses that
can be combined into a single address with a range that is a power of 2.
こ の メ ッ セージは、 通常検証中に表示 さ れ ます。 イ ン タ ー コ ネ ク ト セ ッ ト を介 し て接続 さ れた ス レーブの同 じ
セ ッ ト にア ク セ スす る マ ス タ ー セ ッ ト と し て定義 さ れ る ネ ッ ト ワ ー ク 内では、 すべてのマ ス タ ー ア ド レ ス空間
ま たは一番大 き な ア ド レ ス範囲内の空 き 部分 ま たは一部の中の各 ス レ ーブ を同 じ ア ド レ ス にマ ッ プす る 必要が
あ り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
57
第 4章
ブ ロ ッ ク デザイ ンの処理
概要
こ こ ま でで、 ブ ロ ッ ク デザ イ ン を作成 し 、 IP を含めて生成 し 、 接続を し 、 メ モ リ ア ド レ ス空間を割 り 当て、 デザ イ
ン を検証す る 方法について説明 し ま し た。 本章では、 合成お よ びシ ミ ュ レーシ ョ ンに必要な出力フ ァ イ ルを作成 し 、
ブ ロ ッ ク デザ イ ン を最上位デザ イ ン に追加 し 、 エ ンベデ ッ ド プ ロ セ ッ サ デザ イ ン用にブ ロ ッ ク デザ イ ン を ソ フ ト
ウ ェ ア開発キ ッ ト (SDK) へエ ク ス ポー ト す る 方法について説明 し ます。
出力フ ァ イルの生成
ブ ロ ッ ク デザ イ ン を終了 し てデザ イ ン を検証 し た ら 、そのブ ロ ッ ク デザ イ ン を最上位 RTL デザ イ ンに統合す る ため、
合成お よ びシ ミ ュ レーシ ョ ン用に出力フ ァ イ ルを生成す る 必要があ り ます。 すべての IP の ソ ース フ ァ イ ルお よ び該
当す る 制約が生成 さ れ、 Vivado® 統合設計環境 (IDE) の [Sources] ウ ィ ン ド ウ か ら 使用で き る よ う にな り ま す。 プ ロ
ジ ェ ク ト 作成中ま たは [Project Settings] ダ イ ア ロ グ ボ ッ ク ス に指定 し た タ ーゲ ッ ト 言語に基づいてブ ロ ッ ク デザ イ ン
用の フ ァ イ ルが生成 さ れます。 特定の IP の ソ ース フ ァ イ ルが指定 し た タ ーゲ ッ ト 言語で生成で き ない場合、 Tcl コ ン
ソ ールにそれを示す メ ッ セージが表示 さ れます。
出力フ ァ イ ルを生成す る には、 次の図の よ う に、 Vivado IDE の [Sources] ウ ィ ン ド ウ でブ ロ ッ ク デザ イ ン を右 ク リ ッ
ク し 、 [Generate Output Products] を ク リ ッ ク し ます。
X-Ref Target - Figure 4-1
図 4‐1 : [Generate Output Products] オプ シ ョ ン
ま たは、 図 4-2 に示す よ う に Flow Navigator の [IP Integrator] → [Generate Block Design] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
58
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-2
図 4‐2 : [Generate Block Design] オプ シ ョ ン
出力 フ ァ イ ル を 生成す る と 、 ブ ロ ッ ク デザ イ ン の最上位ネ ッ ト リ ス ト が生成 さ れ ま す。 ネ ッ ト リ ス ト は、 [Project
Settings] の [Target language] 設定に基づいて VHDL ま たは Verilog のいずれかで生成 さ れます。
[Generate Output Products] ダ イ ア ログ ボ ッ ク ス
出力フ ァ イ ルは、 次の 3 つのモー ド で生成で き ます。
•
[Global] : デザ イ ン全体の ト ッ プダ ウ ン で使用 さ れ る 出力フ ァ イ ルを生成す る ために使用 し ます。 ブ ロ ッ ク デザ
イ ンのア ウ ト オブ コ ン テ キ ス ト がデ ィ ス エーブルにな り 、 単にデザ イ ン全体が合成 さ れます。
•
[Out of context per IP] : ブ ロ ッ ク デザ イ ンで使用 さ れ る 個別の IP それぞれに対 し て生成フ ァ イ ルが作成 さ れま
す。 DCP はブ ロ ッ ク デザ イ ンで使用 さ れ る すべての IP に対 し て作成 さ れます。 IP キ ャ ッ シ ュ を こ のオプシ ョ ン
と 使用す る と 、変更がない場合、Vivado 合成で特定 IP の出力フ ァ イ ルが生成 し 直 さ れ る こ と がな く な る ので、合
成 ラ ン タ イ ムがかな り 削減で き ます。
•
[Out of context per Block Design] : ブ ロ ッ ク デザ イ ンだけ を別に、 ま たは最上位デザ イ ンか ら 独立 し た階層 と し て
ア ウ ト オブ コ ン テ キ ス ト で合成で き ます。 こ のオプシ ョ ンは、 通常サー ド パーテ ィ 合成が使用 さ れ る 場合に選
択 し ます。 オンにす る と 、 ブ ロ ッ ク デザ イ ンのデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) が生成 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
59
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-3
図 4‐3 : [Generate Block Design] オプ シ ョ ン
IP キ ャ ッ シ ュ は [Project Setting] ダ イ ア ロ グ ボ ッ ク ス で イ ネーブルにで き ます。[IP] を ク リ ッ ク し て [IP Cache] タ ブ を
ク リ ッ ク し ます (図 4-4)。 IP キ ャ ッ シ ュ は、 [Disable] に設定で き る ほか、 [Local] ま たは [Remote] に設定で き ます。 IP
キ ャ ッ シ ュ の設定に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 4] の こ
のセ ク シ ョ ン を参照 し て く だ さ い。
X-Ref Target - Figure 4-4
図 4‐4 : [Project Setting] ダ イ ア ログ ボ ッ ク スでの IP キ ャ ッ シ ュの設定
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
60
第 4 章 : ブ ロ ッ ク デザイ ンの処理
[Global] モー ド
こ のモー ド を選択 し た場合、 デザ イ ン チ ェ ッ ク ポ イ ン ト は作成 さ れません。 ブ ロ ッ ク デザ イ ン全体が ト ッ プ ダ ウ ン
合成モー ド で生成 さ れます。 こ れは [Design Runs] ウ ィ ン ド ウ に表示 さ れます。
X-Ref Target - Figure 4-5
図 4‐5 : グローバル合成の [Design Runs] ウ ィ ン ド ウ
[Out of context per IP] モー ド
こ のモー ド では、 ブ ロ ッ ク デザ イ ン に イ ン ス タ ン シ エー ト さ れ る すべて の IP に対 し て DCP が作成 さ れ ま す。 [IP
Caching] を オ ン にす る と 、 ラ ン タ イ ム がかな り 改善 し ま す。 こ のモー ド が使用 さ れ る と 、 再カ ス タ マ イ ズか、 パ ラ
メ ー タ ー伝搬の影響のいずれかに よ り 変更 さ れた IP のみが合成 さ れます。
X-Ref Target - Figure 4-6
図 4‐6 : グローバル合成の [Design Runs] ウ ィ ン ド ウ
IP ご と にア ウ ト オブ コ ン テ キ ス ト で出力フ ァ イ ルを生成す る と 、 実行に少 し 時間がかか り ますが、 その後続 く run
で ラ ン タ イ ムが改善 さ れます。
[Out of context per Block Design] モー ド
通常サー ド パーテ ィ 合成ツール と 一緒に使用 さ れ、 ブ ロ ッ ク デザ イ ン全体のデザ イ ン チ ェ ッ ク ポ イ ン ト が作成 さ れ
ます。 次の図に示す よ う に、 [Sources] ウ ィ ン ド ウ にブ ロ ッ ク デザ イ ンのデザ イ ン チ ェ ッ ク ポ イ ン ト フ ァ イ ル (DCP)
が作成 さ れた こ と が示 さ れます。 [Design Runs] ウ ィ ン ド ウ には、 最上位ブ ロ ッ ク デザ イ ンのア ウ ト オブ コ ン テ キ ス
ト モジ ュ ール run が表示 さ れます。
X-Ref Target - Figure 4-7
図 4‐7 : グローバル合成の [Design Runs] ウ ィ ン ド ウ
ア ウ ト オブ コ ン テ キ ス ト と し てマー ク さ れたモジ ュ ールは正方形のア イ コ ン で表示 さ れ る ので、 [Sources] ウ ィ ン ド
ウ で見分けやす く な っ てい ます。
ブ ロ ッ ク デザ イ ンが合成済みネ ッ ト リ ス ト と し てほかのデザ イ ンに追加する 場合は、 DCP フ ァ イ ルがブ ロ ッ ク デザ
イ ンが イ ン ス タ ン シエー ト さ れ る プ ロ ジ ェ ク ト に追加 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
61
第 4 章 : ブ ロ ッ ク デザイ ンの処理
推奨 : ブ ロ ッ ク デザ イ ン を プ ロ ジ ェ ク ト に追加 し ます。 ブ ロ ッ ク デザ イ ン を追加す る と 、 DCP フ ァ イ ル も 追加 さ れ
ます。
生成 さ れる出力 フ ァ イルの検証
ブ ロ ッ ク デザ イ ン の生成 さ れ る 出力フ ァ イ ルは、 <project_name>/<project_name>.srcs/sources_1/bd フ ォ ルダーに含ま
れます。
./bd フ ォ ルダー内には、 ブ ロ ッ ク デザ イ ン別に <block_design_name> フ ォ ルダーがあ り ます。 図 4-8 の場合、 唯一
のブ ロ ッ ク デザ イ ンの名前は config_mb_design です。
X-Ref Target - Figure 4-8
図 4‐8 : ブ ロ ッ ク デザイ ンの出力フ ァ イルのデ ィ レ ク ト リ
<block_design_name> フ ォ ルダーの下に次の図の よ う な複数の フ ォ ルダーが含まれます。
X-Ref Target - Figure 4-9
図 4‐9 : ブ ロ ッ ク デザイ ンの下位フ ォルダー
•
hdl - ブ ロ ッ ク デザ イ ンの最上位ネ ッ ト リ ス ト と Vivado に管理 さ れ る ブ ロ ッ ク デザ イ ンの ラ ッ パー フ ァ イ ルが
含まれます。
•
hw_handoff - SDK へのハー ド ウ ェ ア ハン ド オ フ に必要な中間フ ァ イ ルが含まれます。
•
ip - 複数の下位フ ォ ルダー (ブ ロ ッ ク デザ イ ン内の IP ご と に 1 つずつ) が含まれます。 こ れ ら の IP フ ォ ルダーに
は複数の下位フ ォ ルダーが含ま れ、 中身は IP ご と に異な り ます。 通常は、 こ れ ら の下位デ ィ レ ク ト リ にその IP
のすべての ソ ース フ ァ イ ル と 制約フ ァ イ ルが含まれます。
•
ipshared - さ ま ざ ま な IP 間で共有 さ れ る 制約フ ァ イ ルが含まれます。 IP には複数のサブ コ アが含まれ、 こ れ ら の
サブ コ アで共有 さ れ る フ ァ イ ルが含まれます。
•
ui - キ ャ ンバ ス の さ ま ざ ま なブ ロ ッ ク の座標、 コ メ ン ト 、 色、 レ イ ヤー情報な ど のグ ラ フ ィ カル情報を含む *.ui
が含まれます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
62
第 4 章 : ブ ロ ッ ク デザイ ンの処理
ま た、 ブ ロ ッ ク デザ イ ン の出力フ ァ イ ルが生成 さ れ る と 、 <project_name>/<project_name>.ip_user_files と い う フ ォ ル
ダーが作成 さ れます。 <project_name>.ip_user_files フ ォ ルダーの下には、 プ ロ ジ ェ ク ト の内容 (IP ブ ロ ッ ク デザ イ ン な
ど) に よ っ て さ ま ざ ま な フ ォ ルダーがあ り ます。
X-Ref Target - Figure 4-10
図 4‐10 : ip_user_files フ ォルダーの下位フ ォルダー
次は、 <project_name>.ip_user_files フ ォ ルダーに存在す る 可能性のあ る デ ィ レ ク ト リ の簡単な説明です。
•
bd – プ ロ ジ ェ ク ト の各 IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ン (BD) が含まれます。 こ れ ら の下位フ ォ ルダーに
は、 ブ ロ ッ ク デザ イ ンで使用 さ れ る さ ま ざ ま な IP のサポー ト フ ァ イ ルが含まれます。
•
ipstatic – プ ロ ジ ェ ク ト のすべての IP/BD か ら の共通する IP ス タ テ ィ ッ ク フ ァ イ ルが含まれます。
•
mem_init_files – デー タ フ ァ イ ルを含む IP があれば、 こ のデ ィ レ ク ト リ がで き ます。
•
sim_scripts – デフ ォ ル ト では、 含まれ る 各 IP お よ び各ブ ロ ッ ク デザ イ ン ご と に、 選択 し た OS でサポー ト さ れ る
シ ミ ュ レー タ すべての ス ク リ プ ト が作成 さ れます。
手動で IP ま たはブ ロ ッ ク デザ イ ン フ ァ イ ルを ip_user_files デ ィ レ ク ト リ に手動でエ ク ス ポー ト す る には、 Tcl コ ン
ソ ールに export_ip_user_files コ マ ン ド を入力 し ます。 こ の コ マ ン ド は、 IP ま たはブ ロ ッ ク デザ イ ン を リ セ ッ ト し て
生成す る ご と に自動的に実行 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896)
[参照 4] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
ブ ロ ッ ク デザイ ンの最上位デザイ ンへの統合
IP イ ン テ グ レー タ ーのブ ロ ッ ク デザ イ ンは、 それ よ り 上位のデザ イ ン レベルに統合 し た り 、 デザ イ ン階層の最上位
レベルに し た り で き ます。 IP イ ン テ グ レー タ ー デザ イ ン を上位のデザ イ ンに統合す る には、 そのデザ イ ン を最上位
HDL フ ァ イ ルに イ ン ス タ ン シエー ト し ます。
Vivado IDE の [Sources] ウ ィ ン ド ウ でブ ロ ッ ク デザ イ ン を選択 し て、 [Create HDL Wrapper] (次の図) を選択す る と 、 ブ
ロ ッ ク デザ イ ンの高レベルの イ ン ス タ ン シエーシ ョ ン を実行で き ます。 こ れに よ り 、 IP イ ン テ グ レー タ ー サブシ ス
テ ムの最上位 HDL フ ァ イ ルが生成 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
63
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-11
図 4‐11 : [Create HDL Wrapper] オプ シ ョ ン
次の図に示す よ う に、 [Create HDL Wrapper] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
X-Ref Target - Figure 4-12
図 4‐12 : [Create HDL Wrapper] ダ イ ア ロ グ ボ ッ ク ス
[Create HDL Wrapper] のオプシ ョ ンは次の と お り です。
•
[Copy generated wrapper to allow user edits] : .ブ ロ ッ ク デザ イ ンがデザ イ ン階層全体のサブセ ッ ト の場合は、 ラ ッ
パー フ ァ イ ルを手動で編集す る オプシ ョ ンがない と 、 ラ ッ パー フ ァ イ ル内でその他のデザ イ ン コ ン ポーネ ン ト
を イ ン ス タ ン シエー ト で き ません。
重要 : こ の フ ァ イ ルは、 ブ ロ ッ ク デザ イ ンの I/O イ ン タ ーフ ェ イ ス を変更す る たびにア ッ プデー ト す る よ う に し て く
だ さ い。
ラ ッ パー フ ァ イ ル を手動で作成す る と 、 それが <project_name>.srcs/sources_1/imports/hdl デ ィ レ
ク ト リ に含ま れます。
•
[Let Vivado tools manage wrapper and auto-update] : プ ロ ジ ェ ク ト に含ま れ る デザ イ ン コ ン ポーネ ン ト がそのブ ロ ッ
ク デザ イ ンだけの場合や、 ラ ッ パー フ ァ イ ルの編集が必要ない場合に、 オンに し て く だ さ い。
Vivado ツ ールで ラ ッ パー フ ァ イ ルが管理 さ れ る 際は、 出力 フ ァ イ ル を 生成す る たびに こ の フ ァ イ ルが ア ッ プ
デー ト さ れます。 ラ ッ パー フ ァ イ ルは、 <project_name>.srcs/sources_1/bd/<bd_name>/hdl デ ィ レ ク
ト リ に含まれます。
こ れで、 デザ イ ンがエ ラ ボ レーシ ョ ン、 合成、 イ ンプ リ メ ン テーシ ョ ンで き る よ う にな り ま し た。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
64
第 4 章 : ブ ロ ッ ク デザイ ンの処理
I/O バ ッ フ ァ ーのイ ン ス タ ン シ エー ト
ラ ッ パーを生成す る と 、 IP イ ン テ グ レー タ ーは外部接続に さ れた I/O イ ン タ ーフ ェ イ ス を検索 し ます。 外部接続に し
た I/O イ ン タ ーフ ェ イ ス が見つかれば、 その イ ン タ ーフ ェ イ ス のポー ト マ ッ プが今度は確認 さ れ ます。 <name>_I、
<name>_O、 <name>_T のパ タ ーン と 一致す る 3 つのポー ト が見つか っ た ら 、 I/O が イ ン ス タ ン シエー ト さ れ、 こ れ
ら の信号が正 し く 接続 さ れます。 こ れ ら 3 つのポー ト が見つか ら ない場合、 I/O バ ッ フ ァ ーは挿入 さ れません。
ま た、 次の よ う な条件の場合 も I./O バ ッ フ ァ ーは挿入 さ れません。
•
_I、 _O、 _T ポー ト が外部接続 さ れ る か、 別の IP に接続 さ れて手動で接続 さ れ る 場合
•
イ ン タ ーフ ェ イ ス の BUFFER_TYPE パ ラ メ ー タ ーが NONE に設定 さ れ る 場合
ブ ロ ッ ク デザ イ ン に I/O バ ッ フ ァ ーを手動で イ ン ス タ ン シエー ト す る 場合、 Vivado IP カ タ ロ グか ら Utility Buffer IP
を使用 し ます。 こ の IP は、 次の図の よ う に種類の異な る I/O バ ッ フ ァ ー タ イ プ と し て コ ン フ ィ ギ ュ レーシ ョ ン で き
ます。
X-Ref Target - Figure 4-13
図 4‐13 : Utility Buffer IP
既存ブ ロ ッ ク デザイ ンの追加
現在のプ ロ ジ ェ ク ト 外で作成 さ れた既存のブ ロ ッ ク デザ イ ンは、 既存プ ロ ジ ェ ク ト ま たは リ モー ト デ ィ レ ク ト リ の
いずれかか ら 追加で き ます。
ブ ロ ッ ク デザ イ ンがプ ロ ジ ェ ク ト ベース の フ ロ ーで作成 さ れ、 そのブ ロ ッ ク デザ イ ンの フ ォ ルダー と その下の フ ォ
ルダーすべて を含むデ ィ レ ク ト リ 構造が使用で き る 状態にな っ ていれば、 そのブ ロ ッ ク デザ イ ン を新 し い Vivado プ
ロ ジ ェ ク ト に追加で き ます。 ただ し 、現在のプ ロ ジ ェ ク ト の タ ーゲ ッ ト パーツ ま たはプ ラ ッ ト フ ォーム ボー ド は、 ブ
ロ ッ ク デザ イ ンが作成 さ れた元のプ ロ ジ ェ ク ト と 同 じ であ る 必要があ る と い う 制限があ り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
65
第 4 章 : ブ ロ ッ ク デザイ ンの処理
重要 : プ ロ ジ ェ ク ト の タ ーゲ ッ ト デバ イ ス が異な る 場合、 それが同 じ デバ イ ス フ ァ ミ リ 内であ っ て も 、 ブ ロ ッ ク デ
ザ イ ンで使用 さ れ る IP が ロ ッ ク さ れ、 デザ イ ン を生成 し 直す必要があ り ます。 こ の場合、 新 し いブ ロ ッ ク デザ イ ン
のビヘ イ ビ アーは元のブ ロ ッ ク デザ イ ン と は同 じ にな ら ない可能性があ り ます。
リ モー ト ブ ロ ッ ク デザ イ ン を追加す る には、 次の手順に し たがっ て く だ さ い。
1.
Flow Navigator の [Add Sources] を ク リ ッ ク し ます。
ま たは、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク し 、 [Add Sources] を ク リ ッ ク し ます。
2.
次の図に示す よ う に、 Add Sources ウ ィ ザー ド で [Add Existing Block Design Sources] を オンに し 、 [Next] を ク リ ッ
ク し ます。
X-Ref Target - Figure 4-14
図 4‐14 : Add Sources ウ ィ ザー ド
3.
[Add Existing Block Design Sources] ページで [Add Files] を ク リ ッ ク し ます。
4.
[Add Source Files] ウ ィ ン ド ウ でブ ロ ッ ク デザ イ ンの含まれ る フ ォ ルダーを表示 し 、 .bd フ ァ イ ルを選択 し た ら 、
[OK] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
66
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-15
図 4‐15 : ブ ロ ッ ク デザイ ン ソ ースの追加
5.
[Add Sources] ダ イ ア ロ グ ボ ッ ク ス で [Copy sources into project] チ ェ ッ ク ボ ッ ク ス を現在のプ ロ ジ ェ ク ト での必要
性に応 じ てオン ま たはオ フ に し ます。
X-Ref Target - Figure 4-16
図 4‐16 : [Add Existing Block Design Sources] ダ イ ア ログ ボ ッ ク ス
元のデ ィ レ ク ト リ か ら ブ ロ ッ ク デザ イ ン を参照す る か、 それを ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー し
ま す。 バージ ョ ン管理シ ス テ ム を使用す る 場合は、 ブ ロ ッ ク デザ イ ン を リ モー ト で管理す る こ と をお勧め し ま
す。 69 ページの 「ブ ロ ッ ク デザ イ ンの リ ビ ジ ョ ン管理」 を参照 し て く だ さ い。 ただ し 、 リ モー ト ブ ロ ッ ク デザ
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
67
第 4 章 : ブ ロ ッ ク デザイ ンの処理
イ ン を誰かが編集す る と 、 参照 し た コ ピー元が変更 さ れて し ま う こ と があ り ます。 それを回避す る には、 67 ペー
ジの図 4-16 に示す よ う に [Copy sources into project] をオンに し て、必要に応 じ てブ ロ ッ ク デザ イ ン を変更で き て
も 、 リ モー ト ユーザーがデザ イ ン を変更で き ない よ う に し ておき ます。
ブ ロ ッ ク デザ イ ン を読み出 し 専用に設定 し て も 、 変更で き ない よ う にで き ます。 詳細は、 68 ページの 「読み出
し 専用のブ ロ ッ ク デザ イ ンの追加」 を参照 し て く だ さ い。
ヒ ン ト : リ モー ト デ ィ レ ク ト リ か ら ブ ロ ッ ク デザ イ ン を追加す る 場合は、 リ モー ト ブ ロ ッ ク デザ イ ン を ロ ーカルの
プ ロ ジ ェ ク ト に コ ピー し て、 デザ イ ンがプ ロ ジ ェ ク ト に対 し て ロ ッ ク さ れ る よ う に し て く だ さ い。
6.
[Finish] を ク リ ッ ク し て [Add Sources] ダ イ ア ロ グ ボ ッ ク ス を閉 じ て、ブ ロ ッ ク デザ イ ン をプ ロ ジ ェ ク ト に追加 し
ます。
追加 し たブ ロ ッ ク デザ イ ンは、 [Sources] ウ ィ ン ド ウ の [Design Sources] の下に表示 さ れます。
X-Ref Target - Figure 4-17
図 4‐17 : [Sources] ビ ュ ーのイ ンポー ト さ れたブ ロ ッ ク デザイ ン
7.
\
ブ ロ ッ ク デザ イ ン を ダブル ク リ ッ ク し て、 Vivado IP イ ン テ グ レー タ ーで開き ます。
ヒ ン ト : ブ ロ ッ ク デザ イ ン で使用 さ れ る IP はア ッ プ グ レー ド し 、 ブ ロ ッ ク デザ イ ン を検証 し 、 ラ ッ パーを生成 し 、
デザ イ ン を合成お よ び イ ンプ リ メ ン ト す る 必要があ る こ と があ り ます。 こ れ ら に関 し ては、 前述 さ れてい ます。
読み出 し 専用のブ ロ ッ ク デザイ ンの追加
既存のブ ロ ッ ク デザ イ ンの フ ァ イ ル パー ミ ッ シ ョ ンは、 その他のプ ロ ジ ェ ク ト で使用す る ために読み出 し 専用に設
定で き ます。 こ れに よ り 、 ブ ロ ッ ク デザ イ ン を不注意で変更 し て し ま う こ と はな く な り ます。
ブ ロ ッ ク デザ イ ンの出力フ ァ イ ルを生成 し た ら 、 すべての フ ァ イ ルの フ ァ イ ル パー ミ ッ シ ョ ン を変更で き ます (例 :
chmod 555 bd -R)。 ブ ロ ッ ク デザ イ ンお よ びその出力フ ァ イ ルすべてが読み出 し 専用にな り ます。 合成、 シ ミ ュ
レーシ ョ ン、 イ ンプ リ メ ン テーシ ョ ンは、 こ れ ら の フ ァ イ ルを使用 し て実行で き ます。
ブ ロ ッ ク デザ イ ン (BD) の出力フ ァ イ ルを ま だ生成 し ていない場合で も 、BD フ ァ イ ルを読み出 し 専用にで き ます (例
. chmod 555 bd/design_1/design_1.bd)。 こ の読み出 し 専用ブ ロ ッ ク デザ イ ン か ら 、 デザ イ ン に必要な出力
フ ァ イ ルを生成で き ます。 ただ し 、 ブ ロ ッ ク デザ イ ン自体は変更で き ません。
ヒ ン ト : Windows の場合、 フ ァ イ ルを船体 し て、 フ ァ イ ルのプ ロ パテ ィ を読み出 し 専用に変更 し ます。
読み出 し 専用のブ ロ ッ ク デザ イ ン の出力フ ァ イ ルは、 前に生成 し てお ら ず、 ブ ロ ッ ク デザ イ ンが検証 さ れて保存 さ
れていれば、 生成で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
68
第 4 章 : ブ ロ ッ ク デザイ ンの処理
ブ ロ ッ ク デザイ ンの リ ビ ジ ョ ン管理
リ ビ ジ ョ ン管理シ ス テ ム は、 Vivado IP イ ン テ グ レ ー タ ーのブ ロ ッ ク デザ イ ン に関連付け ら れた さ ま ざ ま な ソ ー ス
フ ァ イ ルをプ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の両方で管理す る ために使用で き ます。 ブ ロ ッ ク デザ イ ン
は開発 さ れて複雑にな っ てい る ので、 異な る デザ イ ン パ タ ーン を把握 し て、 プ ロ ジ ェ ク ト を管理 し てチーム デザ イ
ン環境での協力が し に く く な っ てい ます。
Vivado Design Suite で リ ビ ジ ョ ン 管理 ソ フ ト ウ ェ ア を 使用す る 詳細につい て は、 『UltraFast 設計手法 (Vivado Design
Suite 用)』 (UG949) [参照 9] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
ハー ド ウ ェ ア定義の SDK へのエ ク スポー ト
ビ ッ ト ス ト リ ームの作成前に ソ フ ト ウ ェ ア開発を開始す る 場合は、 デザ イ ン生成後にハー ド ウ ェ ア定義を ソ フ ト ウ ェ
ア開発キ ッ ト (SDK) にエ ク ス ポー ト で き ます。 こ れに よ り 、 デザ イ ンに使用 さ れ る IP を理解する ために SDK で必要
と さ れ る XML フ ァ イ ルがエ ク ス ポー ト さ れ る ほか、 プ ロ セ ッ サの全体像か ら メ モ リ マ ッ プ も エ ク ス ポー ト さ れ ま
す。
ビ ッ ト ス ト リ ームが生成 さ れてデザ イ ンがエ ク ス ポー ト さ れた ら 、 デバ イ ス がダ ウ ン ロ ー ド で き る よ う にな り 、 ソ フ
ト ウ ェ アがプ ロ セ ッ サ上で実行で き る よ う にな り ます。 ハー ド ウ ェ アは、 デザ イ ン フ ロ ーの合成前 と ビ ッ ト ス ト リ ー
ム生成後の 2 段階でエ ク ス ポー ト で き ます。 合成前にハー ド ウ ェ ア をエ ク ス ポー ト する には、 次の手順に従っ て く だ
さ い。
1.
ブ ロ ッ ク デザ イ ン を生成 し ます。 Flow Navigator の [IP Integrator] の下の [Generate Block Design] を ク リ ッ ク し ま
す。 ま たは、 [Sources] ウ ィ ン ド ウ でブ ロ ッ ク デザ イ ン を選択 し て、 右 ク リ ッ ク で [Generate Output Products] を ク
リ ッ ク し ます。
X-Ref Target - Figure 4-18
図 4‐18 : [Sources] ビ ュ ーのイ ンポー ト さ れたブ ロ ッ ク デザイ ン
2.
[Generate Output Product] ダ イ ア ロ グ ボ ッ ク ス で適切なオプシ ョ ン を選択 し 、 [Generate] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
69
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-19
図 4‐19 : [Sources] ビ ュ ーのイ ンポー ト さ れたブ ロ ッ ク デザイ ン
3.
[File] → [Export] → [Export Hardware] を ク リ ッ ク し てハー ド ウ ェ ア を エ ク ス ポー ト し ます。 ビ ッ ト ス ト リ ームは
ま だ生成 さ れていないので、 [Export Hardware] ダ イ ア ロ グ ボ ッ ク ス では [Include Bitstream] はオ フ に し てお き ま
す。 [Export to] フ ィ ール ド はカ ス タ ム デ ィ レ ク ト リ を指定 し たデフ ォ ル ト 値の ま ま に し てお き ま す。 [OK] を ク
リ ッ ク し ます。
X-Ref Target - Figure 4-20
図 4‐20 : [Sources] ビ ュ ーのイ ンポー ト さ れたブ ロ ッ ク デザイ ン
次の コ マ ン ド が Tcl コ ン ソ ールで実行 さ れます。
file mkdir <project_name>/<project_name>.sdk
write_hwdef -force -file <project_name>/<project_name>.sdk/<block_design_name>_wrapper.hdf
ビ ッ ト ス ト リ ーム生成後にハー ド ウ ェ ア を エ ク ス ポー ト す る には、 次の手順に従っ て く だ さ い。
4.
[File] → [Export] → [Export Hardware] を ク リ ッ ク し ます。 [Export Hardware] ダ イ ア ロ グ ボ ッ ク ス で [Include
Bitstream] を オ ンに し ます。 [Export to] フ ィ ール ド はカ ス タ ム デ ィ レ ク ト リ を指定 し たデフ ォ ル ト 値の ま ま に し
てお き ます。 [OK] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
70
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-21
図 4‐21 : [Sources] ビ ュ ーのイ ンポー ト さ れたブ ロ ッ ク デザイ ン
次の コ マ ン ド が Tcl コ ン ソ ールで実行 さ れます。
file mkdir <project_name>/<project_name>.sdk
file copy -force <project_name>/<project_name>.runs/impl_1/<block_design_name>_wrapper.sysdef
ハー ド ウ ェ アのエ ク ス ポー ト に関す る 詳細は、『Generating Basic Software Platforms Reference Guide』 (UG1138) [参照 12]
を参照 し て く だ さ い。
ELF フ ァ イルのエ ンベデ ッ ド デザイ ンへの追加およ
び関連付け
MicroBlaze の よ う なマ イ ク ロ プ ロ セ ッ サ ベース のデザ イ ンの場合、SDK (ま たはその他の ソ フ ト ウ ェ ア開発ツール) で
生成 さ れ る ELF フ ァ イ ルを イ ン ポー ト し て、 Vivado IDE のブ ロ ッ ク デザ イ ン と 関連付け る こ と がで き ます。 こ の後、
ELF の内容を含むビ ッ ト ス ト リ ームが Vivado IDE か ら 作成 さ れ、 タ ーゲ ッ ト ハー ド ウ ェ アで実行で き ます。 エンベ
デ ッ ド オブジ ェ ク ト へ ELF フ ァ イ ルを追加す る には、 2 つの方法があ り ます。
ELF フ ァ イルの追加 と エ ンベデ ッ ド プ ロ セ ッ サ と の関連付け
ELF フ ァ イ ルを追加 し て、 それを エンベデ ッ ド プ ロ セ ッ サに関連付け る には、 次の手順に従い ます。
1.
[Sources] ウ ィ ン ド ウ で [Design Sources] を右 ク リ ッ ク し ます。
2.
[Add Sources] を ク リ ッ ク し ます。
ま た、 Flow Navigator で [Add Sources] を ク リ ッ ク し て も デザ イ ン ソ ース を追加で き ます。
[Add Sources] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
[Add or Create Design Sources] がデフ ォ ル ト で選択 さ れ ま す。 こ のオプシ ョ ン を選択す る と 、 ELF フ ァ イ ル と シ
ミ ュ レーシ ョ ン ソ ース がデザ イ ン ソ ース と し て追加 さ れます。
ヒ ン ト : シ ミ ュ レーシ ョ ン目的のみに ELF フ ァ イ ルを追加する 場合は、 [Add or Create Simulation Sources] を オンに し
ます。
3.
[Next] を ク リ ッ ク し ます。
72 ページの図 4-22 に示す [Add or Create Design Sources] ページが表示 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
71
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-22
図 4‐22 : [Add Sources] ダ イ ア ログ ボ ッ ク ス : [Add or Create Design Sources] ページ
4.
[Add or Create Design Sources] ページで + ア イ コ ン を ク リ ッ ク し ます。
5.
[Add Source Files] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
6.
ELF フ ァ イ ルを選択 し て、 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 4-23
図 4‐23 : Add Sources ウ ィ ザー ド
[Add Sources] ダ イ ア ロ グ ボ ッ ク ス の [Add or Create Design Sources] ページには、 プ ロ ジ ェ ク ト へ追加 さ れた ELF
フ ァ イ ルが表示 さ れます。
7.
ELF フ ァ イ ルを プ ロ ジ ェ ク ト に コ ピーする 場合は、 [Copy sources into project] をオンに、 元の ELF フ ァ イ ル フ ァ
イ ルを使用す る にはオ フ に し てお き ます。 こ の後、 [Finish] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
72
第 4 章 : ブ ロ ッ ク デザイ ンの処理
次の図の よ う に、[Sources] ウ ィ ン ド ウ の ELF フ ォ ルダーに追加 し た ELF フ ァ イ ルが表示 さ れ る よ う にな り ます。
X-Ref Target - Figure 4-24
図 4‐24 : ELF フ ァ イルを含む [Sources] ビ ュ ー
こ の後、 ELF フ ァ イ ルを マ イ ク ロ プ ロ セ ッ サ デザ イ ンに関連付け ます。 こ れには、 次を実行 し ます。
8.
73 ページの図 4-25 に示す よ う に、 [Sources] ウ ィ ン ド ウ でブ ロ ッ ク デザ イ ン を右 ク リ ッ ク し て、 [Associate ELF
Files] を ク リ ッ ク し ます。 .
X-Ref Target - Figure 4-25
図 4‐25 : [Associate ELF File] ダ イ ア ログ ボ ッ ク ス
合成 ま たはシ ミ ュ レ ーシ ョ ン用に ELF フ ァ イ ルを関連付け る には、 該当す る 参照ア イ コ ン ([Design Sources] ま たは
[Simulation Sources] の下) を ク リ ッ ク し て、 新 し く 追加 し た ELF フ ァ イ ルを参照 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
73
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-26
図 4‐26 : ELF フ ァ イル と マ イ ク ロ プ ロ セ ッ サの関連付け
[Select ELF Files] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
9.
[Add Files] を ク リ ッ ク し ます。
X-Ref Target - Figure 4-27
図 4‐27 : 関連付ける ELF フ ァ イルのハイ ラ イ ト
10. [Design Sources] に追加 さ れた フ ァ イ ルを確認 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
74
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-28
図 4‐28 : ELF フ ァ イル と マ イ ク ロ プ ロ セ ッ サの関連付け
11. 次の図に示す よ う に フ ァ イ ルを選択 し てか ら 、 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 4-29
図 4‐29 : 関連付ける ELF フ ァ イルのハイ ラ イ ト
12. [Associated ELF File] 列に ELF フ ァ イ ルが生成 さ れたのを確認 し た ら 、 [OK] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
75
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-30
図 4‐30 : 生成 さ れた ELF フ ァ イルの確認
ELF フ ァ イルのの追加および関連付けを一度に実行する方法
ELF フ ァ イ ルを追加 し て関連付け る 手順は、 次の と お り です。
1.
[Sources] ウ ィ ン ド ウ でブ ロ ッ ク デザ イ ン を右 ク リ ッ ク し て、 [Associate ELF Files] を ク リ ッ ク し ます。 .
2.
次の図に示す よ う に、[Associate ELF File] ダ イ ア ロ グ ボ ッ ク ス で [Design Sources] ま たは [Simulation Sources] の下
のプ ロ セ ッ サ イ ン ス タ ン ス の参照ボ タ ン を ク リ ッ ク し ます。
X-Ref Target - Figure 4-31
図 4‐31 : [Associate ELF Files] ダ イ ア ログ ボ ッ ク ス
3.
77 ページの図 4-32 に示す よ う に、 [Associate ELF File] ダ イ ア ロ グ ボ ッ ク ス で [Add Files] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
76
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-32
図 4‐32 : ELF フ ァ イルの選択 と 追加
4.
次の図に示す よ う に、 [Add Source Files] ダ イ ア ロ グ ボ ッ ク ス で ELF フ ァ イ ルのあ る フ ォ ルダーを指定 し ます。
フ ァ イ ルを選択 し 、 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 4-33
図 4‐33 : ELF フ ァ イルのあるデ ィ レ ク ト リ の指定
5.
[Associate ELF File] ダ イ ア ロ グ ボ ッ ク ス で、 新 し く 追加 し た ELF フ ァ イ ルを選択 し て [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 4-34
図 4‐34 : 新規追加 し た ELF フ ァ イルの関連付け
6.
[Associate ELF Files] ダ イ ア ロ グ ボ ッ ク ス で新 し い ELF フ ァ イ ルがプ ロ セ ッ サ イ ン ス タ ン ス フ ィ ール ド に表示 さ
れた こ と を確認 し 、 [OK] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
77
第 4 章 : ブ ロ ッ ク デザイ ンの処理
X-Ref Target - Figure 4-35
図 4‐35 : 新規追加 し た フ ァ イルがプ ロ セ ッ サ イ ン ス タ ン スに関連付け ら れた こ と を確認
ビ ッ ト ス ト リ ー ム を 生成 し てデバ イ ス を プ ロ グ ラ ム す る 場合、 プ ロ ジ ェ ク ト に ELF フ ァ イ ル を 追加す る こ と で、
Vivado ツールでブ ロ ッ ク RAM 情報 (MMI フ ァ イ ル) と ELF フ ァ イ ルの内容がデバ イ ス ビ ッ ト ス ト リ ーム (BIT) に自
動的に統合 さ れます。
注意 : こ の方法を使用す る 場合、 ELF フ ァ イ ルがデザ イ ン ソ ース の一部 と し て コ ピー さ れません。
関連付けは、 UpdateMEM ユーテ ィ リ テ ィ を 使用 し て コ マ ン ド ラ イ ン モー ド で実行す る こ と も で き ま す。 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン』 (UG898) の こ のセ ク シ ョ ン
参照 し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
78
第 5章
IP イ ンテグレー タ ーでのパラ メ ー タ ーの伝搬
概要
パ ラ メ ー タ ー伝搬は、 IP イ ン テ グ レー タ ーで使用可能な最 も 優れた機能の 1 つです。 こ の機能では、 IP がデザ イ ン で
ど の よ う に接続 さ れてい る かに基づいて、 パ ラ メ ー タ ーが自動的にア ッ プデー ト さ れます。 IP が特定の伝搬規則を使
用 し てパ ッ ケージ さ れ る と 、 IP イ ン テ グ レー タ ーが こ れ ら の規則を図の生成に合わせて実行 し ます。
た と えば、 次の図では、 IP0 のデー タ バ ス幅が 64 ビ ッ ト で、 その後に IP1 と IP2 が追加 さ れて接続 さ れてい ます。
X-Ref Target - Figure 5-1
図 5‐1 : パラ メ ー タ ー伝搬の概念
こ の場合、 IP2 のデフ ォ ル ト のデー タ バ ス幅は 32 ビ ッ ト です。
パ ラ メ ー タ ー伝搬規則が実行 さ れ る と 、 IP2 のバ ス幅が異な っ てい る こ と を示す メ ッ セージが表示 さ れ ます。 IP2 の
デー タ バ ス幅はパ ラ メ ー タ ーの変更を介 し て変更で き る 場合は、IP イ ン テ グ レー タ ーで自動的に IP2 がア ッ プデー ト
さ れます。
IP がその接続に基づいてプ ロ パテ ィ を同 じ 値にア ッ プデー ト で き ない場合は、デザ イ ンに潜在的な問題があ る こ と を
示す メ ッ セージが表示 さ れます。 こ れは単純な例ですが、 パ ラ メ ー タ ー伝搬機能を よ く 示 し てい ます。 パ ラ メ ー タ ー
伝搬で修正 さ れた り 、 識別 さ れ る よ う なエ ラ ー タ イ プは、 シ ミ ュ レーシ ョ ン ま で検出 さ れない こ と が よ く あ り ます。
バス イ ン タ ー フ ェ イ スの使用
バ ス イ ン タ ーフ ェ イ ス は、 よ く あ る フ ァ ン ク シ ョ ン を共有する 信号のグループで、 た と えば、 AXI4-Lite マ ス タ ーに
は多 く の信号 と 複数のバ ス が含まれ、 こ れ ら はすべて接続に必要です。 IP イ ン テ グ レー タ ーの重要な機能の 1 つに、
バ ス イ ン タ ーフ ェ イ ス の論理グループ を 1 つの IP か ら 別の IP に、 ま たは IP か ら IP イ ン テ グ レー タ ー デザ イ ンのバ
ウ ン ダ リ ま たは FPGA I/O バ ウ ン ダ リ に接続す る 機能があ り ます。 信号がバ ス イ ン タ ーフ ェ イ ス と し てパ ッ ケージ さ
れない と 、 IP シ ン ボルが極端に長 く 、 使用で き ない下位ポー ト の リ ス ト が表示 さ れて し ま い、 1 つずつ接続す る のが
困難にな り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
79
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
信号の リ ス ト は、 バ ス イ ン タ ー フ ェ イ ス の概念を使用す る と 、 その イ ン タ ー フ ェ イ ス タ イ プの IP-XACT 抽象定義
フ ァ イ ルの定義の と お り 、 物理ポー ト (IP の RTL ま たはネ ッ ト リ ス ト か ら 使用可能) を論理ポー ト にマ ッ プする 構成
ポー ト マ ッ プで IP-XACT グループに分類 さ れます。
よ く 使用 さ れる内部バス イ ン タ ー フ ェ イ ス
よ く 使用 さ れ る バ ス イ ン タ ーフ ェ イ ス には、 AXI4、 AXI4-Lite お よ び AXI-Stream な ど の AXI 仕様に従 う も のがあ り
ます。 AXIMM イ ン タ ーフ ェ イ ス には、 3 つのサブセ ッ ト すべて (AXI4、 AXI3、 お よ び AXI4-Lite) が含まれます。 その
他の イ ン タ ーフ ェ イ ス には、 ブ ロ ッ ク RAM が含まれます。
I/O バス イ ン タ ー フ ェ イ ス
I/O ポー ト に向か う 信号セ ッ ト を グループにす る バ ス イ ン タ ーフ ェ イ ス の中には、 I/O イ ン タ ーフ ェ イ ス と 呼ばれ る
も のがあ り ます。 た と えば、 UART、 I2C、 SPI、 イ ーサネ ッ ト 、 PCIe、 DDR な ど がそ う です。
特別な信号
特別な信号は、 次の と お り です。
•
クロック
•
リ セッ ト
•
割 り 込み
•
ク ロ ッ ク イ ネーブル
•
デー タ (AXI イ ン タ ーフ ェ イ ス を含ま ない加算器、 減算器、 乗算器な ど の従来か ら あ る 演算 IP)
こ れ ら の信号については、 次のセ ク シ ョ ンでそれぞれ説明 し ます。
クロッ ク
ク ロ ッ ク イ ン タ ーフ ェ イ ス には、 それに関連す る 次の よ う なパ ラ メ ー タ ーを含め る こ と がで き ま す。 こ れ ら のパ ラ
メ ー タ ーは、 デザ イ ン生成プ ロ セ ス で使用 さ れ、 IP がデザ イ ン内の別の IP と 一緒に使用 さ れ る 際には必ず必要です。
•
ASSOCIATED_BUSIF : リ ス ト には、 こ の ク ロ ッ ク 周波数で実行 さ れ る すべてのバス イ ン タ ーフ ェ イ ス の名前
が含まれます。 こ のパ ラ メ ー タ ーでは、 コ ロ ン (:) で分け ら れた ス ト リ ン グが値 と し て認識 さ れます。 こ の ク ロ ッ
ク レー ト で実行 さ れ る バ ウ ン ダ リ に イ ン タ ーフ ェ イ ス信号がない場合、 こ の フ ィ ール ド は空白の ま ま にな り ま
す。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
80
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
X-Ref Target - Figure 5-2
図 5‐2 : ASSOCIATED_BUSIF
上記の図では、 選択 し た ク ロ ッ ク イ ン タ ーフ ェ イ ス ポー ト の ASSOCIATED_BUSIF パ ラ メ ー タ ーにマ ス タ ー イ
ン タ ーフ ェ イ ス (M00_AXI と M01_AXI) お よ びス レーブ イ ン タ ーフ ェ イ ス (S00_AXI と S01_AXI) がそれぞれ コ
ロ ンで区切 ら れて リ ス ト さ れてい ます。 ただ し 、 イ ン タ ーフ ェ イ ス の 1 つ (た と えば M00_AXI) が こ の ク ロ ッ ク
周波数で実行 さ れない場合は、 その イ ン タ ーフ ェ イ ス に ASSOCIATED_BUSIF パ ラ メ ー タ ーを付け ません。
•
ASSOCIATED_RESET : こ の リ ス ト には、 リ セ ッ ト コ ン テナー イ ン タ ーフ ェ イ ス の名前ではな く 、 リ セ ッ ト
ポー ト の名前が値 と し て含ま れ ます。 こ のパ ラ メ ー タ ーでは、 コ ロ ン (:) で分け ら れた ス ト リ ン グが値 と し て認
識 さ れます。 デザ イ ンに リ セ ッ ト が含まれない場合、 こ の フ ィ ール ド は空白の ま ま にな り ます。
•
ASSOCIATED_CLKEN : こ の リ ス ト には、 コ ン テナー イ ン タ ーフ ェ イ ス の名前ではな く 、 ク ロ ッ ク イ ネーブル
ポー ト の名前が値 と し て含ま れ ます。 こ のパ ラ メ ー タ ーでは、 コ ロ ン (:) で分け ら れた ス ト リ ン グが値 と し て認
識 さ れます。 デザ イ ンに ク ロ ッ ク イ ネーブル信号が含まれない場合、 こ の フ ィ ール ド は空白の ま ま にな り ます。
•
FREQ_HZ : こ のパ ラ メ ー タ ーには、 ク ロ ッ ク が正の整数形式で実行 さ れ る 周波数がヘルツ で表示 さ れます。 こ
のパ ラ メ ー タ ーは、 すべての出力 ク ロ ッ ク に対 し てのみ指定す る 必要があ り ます。
•
PHASE : こ のパ ラ メ ー タ ーには、 ク ロ ッ ク が実行 さ れ る 位相が表示 さ れます。 デフ ォ ル ト 値は 0 です。 有効な
値は 0 ~ 360 です。 PHASE を決ま っ た方法で指定で き ない場合は、 FREQ_HZ のア ッ プデー ト と 同様、 bd.tcl
でア ッ プデー ト す る 必要があ り ます。
•
CLK_DOMAIN : こ のパ ラ メ ー タ ーは ス ト リ ン グ ID です。 IP イ ン テ グ レー タ ーでは、 デフ ォ ル ト ですべての ク
ロ ッ ク が独立 し てい る と 仮定 さ れ、 一意の ID がすべての ク ロ ッ ク 出力に割 り 当て ら れます。 こ れは、 IP イ ン テ
グ レ ー タ ーで自動的に割 り 当て ら れ ま す。 同 じ ド メ イ ン に複数の出力 ク ロ ッ ク があ る 場合は、 IP で管理 さ れ ま
す。
ク ロ ッ ク ネ ッ ト のプ ロ パテ ィ を確認す る には、 ソ ース ク ロ ッ ク ポー ト ま たはピ ン を選択 し て、 そのオブジ ェ ク ト の
プ ロ パテ ィ を解析 し て く だ さ い。 次の図は、 Clocking Wizard を示 し てい ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
81
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
X-Ref Target - Figure 5-3
図 5‐3 : IP イ ン テグレー タ ーでのク ロ ッ ク プ ロパテ ィ の解析
次の図は、 ク ロ ッ ク プ ロ パテ ィ を示 し てい ます。
X-Ref Target - Figure 5-4
図 5‐4 : ク ロ ッ ク プ ロパテ ィ
こ れ ら のプ ロ パテ ィ は、 次の Tcl コ マ ン ド を入力 し て も レ ポー ト で き ます。
report_property [get_bd_intf_ports sys_diff_clock]
次の図は、 Tcl コ マ ン ド の結果を示 し てい ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
82
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
X-Ref Target - Figure 5-5
図 5‐5 : Tcl コ マ ン ド を使用 し た ク ロ ッ ク プ ロパテ ィ のレ ポー ト
ポー ト ま たはピ ン を ダブル ク リ ッ ク し て、 選択 し たオブジ ェ ク ト のカ ス タ マ イ ズ ダ イ ア ロ グ ボ ッ ク ス を表示す る こ
と も で き ます。
リセッ ト
こ の コ ン テナー バ ス イ ン タ ーフ ェ イ ス には、 POLARITY パ ラ メ ー タ ーが含まれ ます。 こ のパ ラ メ ー タ ーの有効な値
は、 ACTIVE_HIGH ま たは ACTIVE_LOW で、 デフ ォ ル ト は ACTIVE_LOW です。
次の図に示す よ う に、 ク ロ ッ ク ネ ッ ト のプ ロ パテ ィ を確認する には、 リ セ ッ ト ポー ト ま たはピ ン を選択 し て、 そ
のオブジ ェ ク ト のプ ロ パテ ィ を解析 し て く だ さ い。
X-Ref Target - Figure 5-6
図 5‐6 : リ セ ッ ト 信号
次の図は、 [Properties] ウ ィ ン ド ウ を示 し てい ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
83
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
X-Ref Target - Figure 5-7
図 5‐7 : [Properties] ウ ィ ン ド ウ
こ れ ら のプ ロ パテ ィ は、 次の Tcl コ マ ン ド を入力 し て も レ ポー ト で き ます。
report_property [get_bd_ports reset]
こ の コ マ ン ド では、 Tcl コ ン ソ ールに次の出力が書 き 込まれます。
X-Ref Target - Figure 5-8
図 5‐8 : get_bd_ports /reset コ マ ン ド の結果
割 り 込み
こ のバ ス イ ン タ ー フ ェ イ ス には、 SENSITIVITY パ ラ メ ー タ ーが含 ま れ ま す。 こ のパ ラ メ ー タ ーの有効 な 値は、
LEVEL_HIGH、 LEVEL_LOW、 EDGE_RISING、 お よ び EDGE_FALLING で、 デフ ォ ル ト は LEVEL_HIGH です。
割 り 込みピ ンのプ ロ パテ ィ を確認す る には、 次の図の よ う に ピ ン を選択 し て、 プ ロ パテ ィ ビ ュ ーを確認 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
84
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
X-Ref Target - Figure 5-9
図 5‐9 : 割 り 込みプ ロパテ ィ : ブ ロ ッ ク 図 と プ ロパテ ィ ウ ィ ン ド ウ
こ れ ら のプ ロ パテ ィ は、 次の Tcl コ マ ン ド を入力 し て も レ ポー ト で き ます。
report_property [get_bd_pins /axi_uartlite_0/interrupt]
割 り 込み コ マ ン ド を実行す る と 、 次の情報が表示 さ れます。
X-Ref Target - Figure 5-10
図 5‐10 : 割 り 込みプ ロパテ ィ のレポー ト
ク ロ ッ ク イ ネーブル
ク ロ ッ ク イ ネーブルに関連付け ら れたパ ラ メ ー タ ーは、 REQ_HZ と PHASE の 2 つです。
パラ メ ー タ ー伝搬の方法
IP イ ン テ グ レー タ ーでは、 [Validate Design] を実行する よ う にする と 、 パ ラ メ ー タ ー伝搬が実行 さ れます。 こ れには、
次のいずれか を実行 し ます。
•
Vivado® IDE ツールバーの [Validate Design] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
85
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
•
デザ イ ン キ ャ ンバ ス のツールバーの [Validate Design] を ク リ ッ ク し ます。
•
Vivado の メ ニ ュ ーか ら [Tools] → [Validate Design] を ク リ ッ ク し ます。
•
次の コ マ ン ド を使用 し て く だ さ い。
validate_bd_design
伝搬 Tcl には、 IP イ ン ス タ ン ス の コ ン フ ィ ギ ュ レーシ ョ ン と 、 その IP イ ン ス タ ン ス に接続 さ れたその他の イ ン ス タ
ン ス の コ ン フ ィ ギ ュ レーシ ョ ン を同期す る メ カ ニズ ムが提供 さ れてい ます。 コ ン フ ィ ギ ュ レーシ ョ ンの同期は、 バ ス
イ ン タ ーフ ェ イ ス パ ラ メ ー タ ーで実行 さ れます。
IP イ ン テ グ レー タ ーのパ ラ メ ー タ ー伝搬は、 主に イ ン タ ーフ ェ イ ス パ ラ メ ー タ ーの割 り 当て強度の概念に従っ て実
行 さ れ ます。 イ ン タ ーフ ェ イ ス パ ラ メ ー タ ーの強度には、 USER、 CONSTANT、 PROPAGATED ま たは DEFAULT を指
定で き ます。 ツールがパ ラ メ ー タ ー同士を比較する 際は、 常に強度の強いパ ラ メ ー タ ーが強度の弱いパ ラ メ ー タ ーに
コ ピー さ れます。
カ ス タ マ イ ズ GUI のパラ メ ー タ ー
非プ ロ ジ ェ ク ト モー ド の場合、 IP のユーザー パ ラ メ ー タ ーはすべてユーザーが設定す る 必要があ り ますが、 IP イ ン
テ グ レー タ ーを使用す る 場合、 パ ラ メ ー タ ー伝搬で自動ア ッ プデー ト さ れたユーザー パ ラ メ ー タ ーは IP を カ ス タ マ
イ ズす る ダ イ ア ロ グ ボ ッ ク ス では淡色表示にな り ます。 淡色表示のパ ラ メ ー タ ーは、 IP のそのパ ラ メ ー タ ーがユー
ザーが直接設定で き る よ う にな っ てお ら ず、 自動的に ツールで入力 さ れ る こ と を意味 し ます。
自動入力 さ れ る 値が最適な値でない こ と があ り ます。 こ の よ う な場合は、 こ れ ら の伝搬 さ れた値を上書 き で き る こ と
があ り ます。
パ ラ メ ー タ ー伝搬は、 次の よ う な場合に発生 し ます。
•
自動計算済みパ ラ メ ー タ ー : パ ラ メ ー タ ーは、 IP イ ン テ グ レー タ ーで自働的に計算 さ れ、 ユーザーが上書 き す る
こ と はで き ません。 た と えば、 次の図の [Ext Reset Logic Level] パ ラ メ ー タ ーは淡色表示にな っ てお り 、 その横に
(Auto) と 記述 さ れてい ます。 こ れは、 ユーザーが値を変更で き ない こ と を意味 し ます。
次の図は、 [Processor System Reset] ページ を示 し てい ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
86
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
X-Ref Target - Figure 5-11
図 5‐11 : 自動計算済みパラ メ ー タ ー
•
上書 き 可能なパ ラ メ ー タ ー : 上書 き で き る 自動的に計算済みのパ ラ メ ー タ ーです。 た と えば、 次の LMB BRAM
Controller コ アの [SLMB Address Decode Mask] は変更で き ます。 ス ラ イ ダー ボ タ ンの上にカー ソ ルを置 く と 、 こ
のパ ラ メ ー タ ーはシ ス テ ム で管理 さ れてい ますが、 ボ タ ン を [Auto] か ら [Manual] に切 り 替え る と 、 変更が可能
にな り ます。 次の図は、 こ れ ら の設定を示 し てい ます。
X-Ref Target - Figure 5-12
図 5‐12 : 上書き可能なパラ メ ー タ ー
•
ユーザー コ ン フ ィ ギ ャ ラ ブル パ ラ メ ー タ ー : ユーザー コ ン フ ィ ギ ャ ラ ブルのみ。次の図は、こ の よ う なパ ラ メ ー
タ ーを示 し てい ます (赤で囲んだ部分)。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
87
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
X-Ref Target - Figure 5-13
図 5‐13 : ユーザー コ ン フ ィ ギ ャ ラ ブル パラ メ ー タ ー
•
定数 : 設定で き ないパ ラ メ ー タ ー
パラ メ ー タ ー不一致の例
次は、 ク ロ ッ ク ピ ン の FREQ_HZ ピ ン のパ ラ メ ー タ ー不一致の例です。 こ の例では、 周波数が S01_AXI ポー ト と
AXI Interconnect コ アの S_AXI イ ン タ ーフ ェ イ ス間で違っ てい ます。 こ のエ ラ ーはデザ イ ンが検証 さ れ る と 表示 さ れ
ます。
X-Ref Target - Figure 5-14
図 5‐14 : ポー ト と イ ン タ ー フ ェ イ ス ピ ン間の FREQ_HZ プ ロパテ ィ の不一致
•
S01_AXI ポー ト の周波数 500 MHz は、 プ ロ パテ ィ ウ ィ ン ド ウ と 同 じ です。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
88
第 5 章 : IP イ ン テグレー タ ーでのパ ラ メ ー タ ーの伝搬
•
AXI Interconnect の S01_AXI イ ン タ ーフ ェ イ ス の周波数は 50 MHz に設定 さ れてい ます。
こ の タ イ プのエ ラ ーは、 プ ロ パテ ィ で周波数を変更す る か、 S01_AXI ポー ト を ダブル ク リ ッ ク し て カ ス タ マ イ ズ ダ
イ ア ロ グ ボ ッ ク ス の [Frequency] フ ィ ール ド で正 し い周波数を設定する と 修正で き ます。
X-Ref Target - Figure 5-15
図 5‐15 : プ ロパテ ィ ウ ィ ン ド ウでのポー ト の周波数変更
周波数を変更 し た ら 、 デザ イ ン を検証 し 直 し て、 エ ラ ーがない よ う に し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
89
第 6章
ILA を使用 し た IP イ ン テグ レー タ ー デザイ
ンのデバ ッ グ
概要
イ ン シ ス テ ム デバ ッ グ を使用す る と 、 タ ーゲ ッ ト ハー ド ウ ェ アのデザ イ ン を リ アル タ イ ムにデバ ッ グで き ます。 こ
れは、デザ イ ン を完了 さ せ る ための基本的な手順です。シ ミ ュ レー タ では再現す る のがかな り 難 し い場合があ り ます。
こ のため、 問題を FPGA でデバ ッ グす る 必要があ り ま す。 こ の手順では、 特別なデバ ッ グ ハー ド ウ ェ ア を使用 し て
デザ イ ンに機能を配置 し て、 デザ イ ン を監視お よ び制御で き る よ う に し ます。 デバ ッ グ プ ロ セ ス が終了 し た ら 、 こ の
機能ま たは特別なハー ド ウ ェ ア を削除 し て、 パフ ォーマ ン ス を向上 さ せて、 ロ ジ ッ ク を削減 さ せる こ と がで き ます。
Vivado® IP イ ン テ グ レー タ ーでは、デザ イ ン をデバ ッ グす る 機能が提供 さ れてい ます。 こ れについては、次のセ ク シ ョ
ンで説明 し ます。 次の 2 つの フ ロ ーについて説明 し ます。
•
HDL イ ン ス タ ン シエーシ ョ ン フ ロ ー
•
ネ ッ ト リ ス ト 挿入フ ロ ー
プ リ フ ァ レ ン ス と デバ ッ グす る ネ ッ ト と 信号の タ イ プに よ っ て フ ロ ーを選択 し て く だ さ い。
次に例を示 し ます。
•
MicroBlaze™ ま たは Zynq®-7000 プ ロ セ ッ サの ク ロ ス ト リ ガー機能を使用 し てハー ド ウ ェ ア- ソ フ ト ウ ェ ア協調
検証を実行す る 場合は、 HDL イ ン ス タ ン シエーシ ョ ン フ ロ ーを使用で き ます。
•
イ ン タ ーフ ェ イ ス レベルの コ ネ ク テ ィ ビ テ ィ を検証する 場合は、 HDL イ ン ス タ ン シエーシ ョ ン フ ロ ーを使用で
き ます。
•
I/O ポー ト お よ び内部ネ ッ ト を解析す る 場合は、 ネ ッ ト リ ス ト 挿入を使用で き ます。
ほ と ん ど の場合、 ど ち ら の フ ロ ー も 組み合わせて使用 し てデザ イ ン をデバ ッ グ し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
90
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
IP イ ンテグレー タ ーでの HDL イ ンス タ ンシエーシ ョ ン
フ ローの使用
IP イ ン テ グ レー タ ー デザ イ ンでは Integrated Logic Analyzer (ILA) を イ ン ス タ ン シエー ト し て、 プ ロ ーブする IlA への
ネ ッ ト を接続で き ます。 ILA は次の手順で イ ン ス タ ン シエー ト で き ます。
1.
次の図に示す よ う に、 ブ ロ ッ ク デザ イ ン キ ャ ンバ ス を右 ク リ ッ ク し て [Add IP] を ク リ ッ ク し ます。
X-Ref Target - Figure 6-1
図 6‐1 : [Add IP] コ ン テキス ト メ ニ ュ ー
2.
IP カ タ ロ グで 「ILA」 を検索フ ィ ール ド に入力 し 、 ILA コ ア を ダブル ク リ ッ ク し 、 IP イ ン テ グ レー タ ー キ ャ ンバ
ス にそれを イ ン ス タ ン シエー ト し ます。
次の図は、 IP イ ン テ グ レー タ ー キ ャ ンバ ス に イ ン ス タ ン シエー ト さ れた ILA コ ア を示 し てい ます。
X-Ref Target - Figure 6-2
図 6‐2 : イ ン ス タ ン シ エー ト さ れた ILA コ ア
3.
ILA コ ア を ダブル ク リ ッ ク し て コ ン フ ィ ギ ュ レーシ ョ ン し 直 し ます。
92 ページの図 6-3 に示す [Re-customize IP] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
91
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
X-Ref Target - Figure 6-3
図 6‐3 : ILA コ アの [Re‐customize IP] ダ イ ア ログ ボ ッ ク ス
[General Options] タ ブには、 デフ ォ ル ト オプシ ョ ンの [AXI] が [Monitor Type] に表示 さ れます。
°
AXI イ ン タ ーフ ェ イ ス全体を監視す る 場合は、 [Monitor Type] を [AXI] に し た ま ま に し ます。
°
AXI イ ン タ ーフ ェ イ ス信号以外を監視す る 場合は、 [Monitor Type] を [Native] に し ます。
必要に応 じ て、 [Data Depth] お よ びその他の フ ィ ール ド も 変更で き ます。 詳細は、 『Vivado Design Suite ユーザー
ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 7] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
注意 : ILA を使用 し て監視で き る AXI イ ン タ ーフ ェ イ ス は 1 つだけです。 [C Num Monitor Slots] の値は変更 し ないで
く だ さ い。 デバ ッ グに複数の AXI イ ン タ ーフ ェ イ ス が必要な場合は、 必要に応 じ て複数の ILA コ ア を イ ン ス タ ン シ
エー ト し ます。
93 ページの図 6-4 に示す よ う に、 [Monitor Type] を [Native] に設定する と 、 [Number of Probes] 値を設定で き る よ
う にな り ます。 こ の値を監視す る 信号数に設定 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
92
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
X-Ref Target - Figure 6-4
図 6‐4 : [Monitor Type] に [Native] を設定
図 6-4 では、 [General Options] タ ブで [Number of Probes] が 2 に設定 さ れてい ます。 [Probe_Ports] タ ブの下には 2
つのポー ト が表示 さ れてい ます。 こ れ ら のポー ト の幅は必要な値に設定で き ます。
4.
た と えば、 32 ビ ッ ト バス を監視す る 場合、 Probe 0 の [Probe Width] を 32 に設定 し ます。
次の図に示す よ う に、 ILA を コ ン フ ィ ギ ュ レーシ ョ ン し た ら 、 その変更が IP イ ン テ グ レー タ ー キ ャ ンバ ス に反
映 さ れます。
X-Ref Target - Figure 6-5
図 6‐5 : [Re‐customize IP] ダ イ ア ログ ボ ッ ク スでの変更後の ILA コ ア
5.
次の図に示す よ う に、 ILA を コ ン フ ィ ギ ュ レーシ ョ ン し た ら 、 IP イ ン テ グ レー タ ー キ ャ ンバス の ILA の ピ ンに
必要な接続を し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
93
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
X-Ref Target - Figure 6-6
図 6‐6 : AXI お よび AXI 以外の信号を監視する ILA のイ ン ス タ ン シ エー ト
注意 : I/O ポー ト に接続 さ れた ピ ン をデバ ッ グ さ れ る よ う にす る には、 MARK_DEBUG を使用 し てデバ ッ グする ネ ッ ト
を マー ク し ます。 こ の方法については、 次のセ ク シ ョ ンで説明 し ます。
6.
こ の後、 合成、 イ ンプ リ メ ン テーシ ョ ン、 ビ ッ ト ス ト リ ームの生成へ進みます。
ILA または VIO デバ ッ グ コ アへの I/O ポー ト の接続
ブ ロ ッ ク デザ イ ンの I/O ポー ト をデバ ッ グ用にプ ロ ーブする 必要のあ る こ と が よ く あ り ます。 I/O ポー ト が イ ン タ ー
フ ェ イ ス ポー ト に ま と め ら れ る 場合、 こ れ ら の I/O ポー ト ま たはピ ン を ILA や VIO デバ ッ グ コ アに接続す る 際に注
意が必要で、 ま と め ら れた イ ン タ ーフ ェ イ ス ポー ト か ら 該当する ポー ト を取 り 出す必要があ り ます。
た と えば、次の図に示す KC705 ボー ド 用の MicroBlaze プ ロ セ ッ サ デザ イ ン を見てみて く だ さ い。 こ のデザ イ ンには、
KC705 ボー ド の 8 ビ ッ ト LED イ ン タ ーフ ェ イ ス と 4 ビ ッ ト DIP ス イ ッ チの両方を使用 し て コ ン フ ィ ギ ュ レーシ ョ ン
さ れた GPIO が含まれます。
X-Ref Target - Figure 6-7
図 6‐7 : ブ ロ ッ ク デザイ ンの I/O イ ン タ ー フ ェ イ スの監視
こ れ ら の I/O イ ン タ ーフ ェ イ ス を監視す る には、 次を実行 し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
94
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
1.
GPIO イ ン タ ーフ ェ イ ス ピ ン を展開表示 し て、 イ ン タ ーフ ェ イ ス ピ ン を構成す る ピ ン を確認 し ます。
94 ページの図 6-7 に示す よ う に、 GPIO イ ン タ ーフ ェ イ ス には gpio_io_o[7:0] と い う 8 ビ ッ ト 出力ピ ンが含
まれ、 GPIO2 イ ン タ ーフ ェ イ ス には gpio2_io_i[3:0] と い う 4 ビ ッ ト 入力ピ ンが含まれます。
デバ ッ グ プ ロ ーブ を使用 し て こ れ ら の ピ ン を監視す る には、 こ れ ら の ピ ン を外部接続に し てお く 必要があ り ま
す。 言い換え る と 、 イ ン タ ーフ ェ イ ス ピ ンに含まれ る ピ ン を外部ポー ト に接続する 必要があ り ます。
2.
ピ ン を右 ク リ ッ ク し 、 [Make External] を ク リ ッ ク し ます。
X-Ref Target - Figure 6-8
図 6‐8 : [Make External] オプ シ ョ ン を使用 し て I/O ピ ン を I/O ポー ト に接続
次の図では、 GPIO を構成す る ピ ン と GPIO2 イ ン タ ーフ ェ イ ス ピ ンがブ ロ ッ ク デザ イ ンの外部ポー ト に接続 さ
れてい る こ と が確認で き ます。 次に こ れ ら の ピ ン を ILA デバ ッ グ コ アに イ ン タ ーフ ェ イ ス ピ ン を接続す る 必要
があ り ます。
X-Ref Target - Figure 6-9
図 6‐9 : ピ ンに接続 さ れた外部ポー ト
注意 : 入力ピ ン ま たは出力ピ ン を外部ポー ト に接続 し て イ ン タ ーフ ェ イ ス の I/O ピ ン を外部接続にす る 際には、 最上
位 イ ン タ ーフ ェ イ ス ピ ン と I/O ポー ト 間の接続は削除 し ない よ う に し て く だ さ い。 図 6-10 に示す よ う に、 既存の最
上位 イ ン タ ーフ ェ イ ス ピ ンは該当す る イ ン タ ーフ ェ イ ス に外部接続 さ れた ま ま に し ます。 こ の場合、 次の よ う な警告
メ ッ セージが表示 さ れます。
WARNING:[BD 41-1306] The connection to interface pin /axi_gpio_0/gpio2_io_i is being overridden by the user.This pin will not
be connected as a part of interface connection GPIO2
3.
[Add IP] コ マ ン ド を使用 し て ILA コ ア をデザ イ ンに イ ン ス タ ン シエー ト し 、Native ま たは AXI モー ド のいずれか
をサポー ト す る よ う に コ ン フ ィ ギ ュ レーシ ョ ン し ます。
注記 : こ の例の場合、 AXI イ ン タ ーフ ェ イ ス を監視 し ないので、 [Native] モー ド をサポー ト す る ために ILA を コ
ン フ ィ ギ ュ レーシ ョ ンす る 必要があ り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
95
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
ILA コ アで次の 2 つのプ ロ ーブ を コ ン フ ィ ギ ュ レーシ ョ ンす る 必要 も あ り ます。
4.
°
LCD を監視す る ための 8 ビ ッ ト 幅のプ ロ ーブ
°
DIP ス イ ッ チを監視す る ための 4 ビ ッ ト 幅のプ ロ ーブ
次の図に示す よ う に、 ILA プ ロ ーブ を適切な入力/出力ピ ンに接続 し 、 ILA ク ロ ッ ク を I/O ピ ン と 同 じ ク ロ ッ ク ド
メ イ ンに接続 し ます。
X-Ref Target - Figure 6-10
図 6‐10 : 監視用に入力/出力ピ ン に接続 さ れた ILA プ ローブ
デバ ッ グ コ ア をブ ロ ッ ク デザ イ ンに挿入す る と 、生成 さ れた出力フ ァ イ ルに Vivado ハー ド ウ ェ ア マネージ ャ ーでデ
ザ イ ン をデバ ッ グす る ため必要な ロ ジ ッ ク と 信号プ ロ ーブが含ま れ る よ う にな り ます。 Vivado ハー ド ウ ェ ア マネー
ジ ャ ーの使用方法、 デバ イ ス のプ ロ グ ラ ムお よ びデバ ッ グ方法の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ
グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 7] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
ネ ッ ト リ ス ト 挿入フ ローの使用
こ の フ ロ ーでは、 ブ ロ ッ ク デザ イ ン で解析す る ネ ッ ト をデバ ッ グ用にマー ク し ます。 ブ ロ ッ ク デザ イ ン でデバ ッ グ
す る ネ ッ ト を マー ク し てお く と 、 コ ー ド 記述中お よ びフ ロ ー後半でデバ ッ グ をオン/オ フ にする 際に、デバ ッ グ信号の
識別を さ ら に細か く 制御で き ます。
ブ ロ ッ ク デザイ ン でのデバ ッ グする ネ ッ ト のマー ク
デバ ッ グ用にネ ッ ト を マー ク す る には、 ブ ロ ッ ク デザ イ ンでネ ッ ト をハ イ ラ イ ト し て右 ク リ ッ ク し 、 [Mark Debug] を
ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
96
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
X-Ref Target - Figure 6-11
図 6‐11 : [Mark Debug] オプ シ ョ ン
ネ ッ ト をデバ ッ グ用にマー ク す る と 、ブ ロ ッ ク デザ イ ンのそのネ ッ ト の一番上に小 さ な虫のア イ コ ンが表示 さ れ
る よ う にな り ます。
虫のア イ コ ンは、 [Design Hierarchy] ウ ィ ン ド ウ で も デバ ッ グ さ れ る ネ ッ ト に表示 さ れます。
X-Ref Target - Figure 6-12
図 6‐12 : デバ ッ グ用にマー ク さ れたネ ッ ト の識別
ヒ ン ト : 同時にデバ ッ グす る ネ ッ ト を複数マー ク す る には、 それ ら のネ ッ ト をすべて選択 し て右 ク リ ッ ク し 、 [Mark
Debug] を ク リ ッ ク し ます。
出力 フ ァ イルの生成
出力フ ァ イ ルは、 次の よ う に生成で き ます。
1.
Flow Navigator で [Generate Block Design] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
97
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
ま たは、次の図に示す よ う に [Sources] ウ ィ ン ド ウ でブ ロ ッ ク デザ イ ン を選択 し て右 ク リ ッ ク し 、[Generate Output
Products] を ク リ ッ ク し ます。
X-Ref Target - Figure 6-13
図 6‐13 : [Generate Output Products] オプ シ ョ ン
2.
[Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス で [Generate] を ク リ ッ ク し ます。
X-Ref Target - Figure 6-14
図 6‐14 : [Generate Output Products] ダ イ ア ログ ボ ッ ク ス
デバ ッ グす る ネ ッ ト を マー ク す る と 、 そのネ ッ ト に MARK_DEBUG 属性が付 き ます。 こ れは、 生成 さ れた最上位
HDL フ ァ イ ルで確認で き ます。
こ の属性が付いてい る と 、 Vivado ツールでそのネ ッ ト が最適化 さ れた り 、 名前が変更 さ れた り し な く な り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
98
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
X-Ref Target - Figure 6-15
図 6‐15 : 生成 さ れた HDL フ ァ イルでの MARK_DEBUG 属性
デザイ ンの合成 と ILA コ アの挿入
次は、 最上位デザ イ ン を合成 し ます。 こ れには、 次を実行 し ます。
1.
Flow Navigator で [Synthesis] を ク リ ッ ク し 、 [Run Synthesis] を ク リ ッ ク し ます。
合成が終了 し た ら 、 [Synthesis Completed] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
2.
[Open Synthesized Design] を オンに し てネ ッ ト リ ス ト デザ イ ン を開 く 際に合成デザ イ ンが開 く よ う に し 、 [OK] を
ク リ ッ ク し ます。
[Schematic] ウ ィ ン ド ウ と [Debug] ウ ィ ン ド ウ が開き ます。 GUI の一番下に [Debug] ウ ィ ン ド ウ が開いていない場
合は、 メ ニ ュ ーか ら [Windows] → [Debug] を ク リ ッ ク し て開 く こ と がで き ます。 次の図は、 [Debug] ウ ィ ン ド ウ
を示 し てい ます。
X-Ref Target - Figure 6-16
図 6‐16 : Vivado IDE の [Schematic] および [Debug] ウ ィ ン ド ウ
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
99
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
デバ ッ グ用にマー ク し たネ ッ ト はすべて [Debug] ウ ィ ン ド ウ の [Unassigned Debug Nets] フ ォ ルダーの下に表示 さ
れます。 こ れ ら のネ ッ ト は、 Integrated Logic Analyzer (ILA) のプ ロ ーブに接続する 必要があ り ます。 次は、 ILA コ
ア を挿入 し 、 こ れ ら の割 り 当て ら れていないネ ッ ト を ILA のプ ロ ーブに接続する 手順です。
3.
[Debug] ウ ィ ン ド ウ のツールバーの [Set up Debug] ボ タ ン を ク リ ッ ク し ます。
ま たは、 メ ニ ュ ーか ら [Tools] → [Set up Debug] を ク リ ッ ク し ます。
X-Ref Target - Figure 6-17
図 6‐17 : [Set up Debug] オプ シ ョ ン
4.
[Next] を ク リ ッ ク し ます。 次の図に示す よ う に、 [Set up Debug] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
X-Ref Target - Figure 6-18
図 6‐18 : [Set up Debug] ダ イ ア ログ ボ ッ ク ス
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
100
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
次の図に示す よ う に、 [Specify Nets to Debug] ページが開 き ます。
X-Ref Target - Figure 6-19
図 6‐19 : デバ ッ グ用にマー ク する ネ ッ ト の選択
5.
デバ ッ グす る ネ ッ ト のサブセ ッ ト (ま たはすべて) を選択 し ます。 すべての信号は ILA の同 じ ク ロ ッ ク に関連付
け ら れ る 必要が あ り ま す。 ク ロ ッ ク ド メ イ ン の関連付け が ツ ールに よ っ て検出で き な か っ た場合は、 [Clock
Domain] 列で [undefined] と 指定 さ れてい る ネ ッ ト すべて を選択 し て、手動で ク ロ ッ ク ド メ イ ンに関連付け る 必要
があ り ます。
注意 : デバ ッ グす る イ ン タ ーフ ェ イ スすべて を マー ク する 必要はあ り ますが、デバ イ ス リ ソ ース使用量が心配な場合
は、 デバ ッ グ コ ア を設定す る 際、 デバ ッ グに必要ないネ ッ ト は除外で き ます。
6.
[Clock Domain] 列で [undefined] にな っ てい る 信号に ク ロ ッ ク ド メ イ ン を関連付け る には、該当す る ネ ッ ト を選択
し て、 右 ク リ ッ ク で [Select Clock Domain] を ク リ ッ ク し ます。
ヒ ン ト : 各 ク ロ ッ ク ド メ イ ンで 1 つの ILA が [Set up Debug] ウ ィ ザー ド で推論 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
101
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
X-Ref Target - Figure 6-20
図 6‐20 : [Select Clock Domain] オプ シ ョ ン
7.
[Select Clock Domain] ダ イ ア ロ グ ボ ッ ク ス でネ ッ ト の ク ロ ッ ク を選択 し 、 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 6-21
図 6‐21 : [Select Clock Domain] ダ イ ア ログ ボ ッ ク ス
8.
[Specify Nets to Debug] ページで [Next] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
102
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
X-Ref Target - Figure 6-22
図 6‐22 : [Specify Nets to Debug] ページ
9.
次の図に示す よ う に [ILA (Integrated Logic Analyzer) General Options] ページで、 デー タ を ト リ ガーお よ びキ ャ プ
チ ャ す る ためのオプシ ョ ン を選択 し た ら 、 [Next] を ク リ ッ ク し ます。
X-Ref Target - Figure 6-23
図 6‐23 : ILA での ト リ ガーおよびキ ャ プ チ ャ モー ド の設定
ア ド バ ン ス ト リ ガー機能 を 使用す る と 、 ト リ ガー メ カ ニ ズ ム を さ ら に制御で き ま す。 [Enable advanced trigger
mode] を オ ン にす る と 、 ラ ン タ イ ム時に コ ン フ ィ ギ ュ レーシ ョ ン可能な ト リ ガー ス テー ト マシ ン言語を イ ネー
ブルにで き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
103
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
各ス テー ト を分岐す る には 3 つの方法があ り 、ス テー ト マシ ンの一部 と し て使用可能な ス テー ト は 16 あ り ます。
ア ド バン ス ト リ ガー機能の一部 と し て、 4 つのカ ウ ン タ ー と 4 つのプ ロ グ ラ マブル カ ウ ン タ ーが使用可能で、 ア
ナ ラ イ ザーで表示可能です。
キ ャ プチ ャ 制御機能を使用す る と 、 基本的なデー タ キ ャ プチ ャ だけでな く 、 条件にあ っ たデー タ のみを キ ャ プチ ャ す
る こ と がで き ます。 こ れに よ り 、 不必要な BRAM スペース が使用 さ れ る こ と がな く な り 、 効率的な ソ リ ュ ーシ ョ ン
が提供 さ れます。
10. [Set up Debug Summary] ページですべての情報が正 し い こ と を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。
X-Ref Target - Figure 6-24
図 6‐24 : [Set up Debug Summary] ページ
ILA コ アが挿入 さ れた後の [Debug] ウ ィ ン ド ウ は次の よ う にな り ます。
注記 : すべてのバス (お よ びシ ン グルビ ッ ト のネ ッ ト ) が別のプ ロ ーブに割 り 当て ら れてい ます。
プ ロ ーブ情報には、 その特定のプ ロ ーブに割 り 当て ら れた信号の数 も 表示 さ れます。
た と えば、次の図の場合、probe0 には 32 個の信号 (microblaze_1_axi_periph_m02_axi_WDATA の 32 ビ ッ
ト ) が割 り 当て ら れてい ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
104
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
X-Ref Target - Figure 6-25
図 6‐25 : ILA コ アが挿入 さ れた後の [Debug] ウ ィ ン ド ウ
こ れで、 デザ イ ン を イ ンプ リ メ ン ト し て ビ ッ ト ス ト リ ーム を生成す る 準備が整い ま し た。
11. Flow Navigator で [Program and Debug] → [Generate Bitstream] を ク リ ッ ク し ます。
ILA コ ア を挿入す る こ と でネ ッ ト リ ス ト に変更を加えたので、 ビ ッ ト ス ト リ ーム を生成す る 前にデザ イ ン を保存
す る か ど う か尋ね る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
X-Ref Target - Figure 6-26
図 6‐26 : ILA コ ア挿入後に変更 さ れた制約の保存
こ の段階でデザ イ ン を保存 し て、 ア ク テ ィ ブな制約フ ァ イ ルがあ る 場合はそれに適切な制約が書 き 込まれ る よ う
にす る か、 新 し い制約フ ァ イ ルを作成 し ます。
106 ページの図 6-27 の よ う に、制約フ ァ イ ルには、合成済みネ ッ ト リ ス ト に ILA コ ア を挿入す る ために使用 さ れ
たすべての コ マ ン ド が含まれます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
105
第 6 章 : ILA を使用 し た IP イ ン テグレー タ ー デザイ ンのデバ ッ グ
X-Ref Target - Figure 6-27
図 6‐27 : ILA コ ア挿入の XDC 制約
プ ロ ジ ェ ク ト を保存す る 利点は、 デバ ッ グ用にマー ク さ れた信号が元のブ ロ ッ ク デザ イ ンに残っ た ま ま にな り 、合成
後に手動で ILA コ ア を挿入す る 必要がない こ と です ( こ れ ら の制約に よ り 処理 さ れ る ので)。 こ のため、 こ の後デザ イ
ン変更を繰 り 返 し て も 、 手動で コ ア を挿入す る 必要はあ り ません。
デバ ッ グ用ネ ッ ト を さ ら に追加す る 場合 (ま たはデバ ッ グ用のネ ッ ト のマー ク を解除する 場合) は、合成済みネ ッ ト リ
ス ト を開いて、 Set up Debug ウ ィ ザー ド で適切な変更を加え る 必要があ り ます。
コ アの挿入後にプ ロ ジ ェ ク ト を保存 し なか っ た場合は、 制約フ ァ イ ルにそれ ら の制約は含まれないので、 こ の後デザ
イ ン変更を繰 り 返す際に合成済みネ ッ ト リ ス ト に ILA コ ア を手動で挿入する 必要があ り ます。
最上位デザ イ ン にデバ ッ グ コ ア と 信号プ ロ ーブ を挿入す る と 、 Vivado ハー ド ウ ェ ア マ ネージ ャ ーでデザ イ ン をデ
バ ッ グで き る よ う にな り ます。 Vivado ハー ド ウ ェ ア マネージ ャ ーの使用方法、 デバ イ ス のプ ロ グ ラ ムお よ びデバ ッ
グ方法の詳細は、『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 7] の こ のセ ク シ ョ
ン を参照 し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
106
第 7章
Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト 内で
のブ ロ ッ ク デザイ ンの作成
概要
通常は、 Vivado® 統合設計環境 (IDE) の GUI 環境のプ ロ ジ ェ ク ト ベース フ ロ ーで新 し いデザ イ ン を作成 し ます。 最
初のデザ イ ン を アセ ンブル し た ら 、 GUI の ス ク リ プ ト フ ロ ーま たはバ ッ チ モー ド を使用 し てデザ イ ン を作成 し 直す
こ と がで き ます。 本章では、 ブ ロ ッ ク デザ イ ンの ス ク リ プ ト フ ロ ーを作成す る 方法について説明 し ます。
Vivado IDE でのデザイ ン作成
第 2 章 「ブ ロ ッ ク デザ イ ンの作成」 に示す よ う に、 Vivado IDE でプ ロ ジ ェ ク ト と 新 し いブ ロ ッ ク デザ イ ン を作成 し
ます。 ブ ロ ッ ク デザ イ ンが完了 し た ら 、 キ ャ ンバス には次の図の例の よ う なデザ イ ンが含まれます。
X-Ref Target - Figure 7-1
図 7‐1 : ブ ロ ッ ク デザイ ン キ ャ ンバス
ブ ロ ッ ク デザ イ ン を開いて、 [File] → [Export] → [Export Block Design] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
107
第 7 章 : Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト 内でのブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 7-2
図 7‐2 : ブ ロ ッ ク デザイ ンのエ ク スポー ト
[Export Block Design] ダ イ ア ロ グ ボ ッ ク ス で Tcl フ ァ イ ルの名前お よ びデ ィ レ ク ト リ を指定 し ます。
X-Ref Target - Figure 7-3
図 7‐3 : [Export Block Design] ダ イ ア ログ ボ ッ ク ス
ま たは、 次の コ マ ン ド を [Tcl Console] ウ ィ ン ド ウ に入力 し ます。
write_bd_tcl <path to file/filename>
こ れに よ り 、 ブ ロ ッ ク デザ イ ン を作成 し 直すために呼び出す こ と がで き る Tcl フ ァ イ ルが作成 さ れます。
こ の Tcl フ ァ イ ルには、 それが作成 さ れた Vivado ツールのバージ ョ ン に関す る 情報が埋め込 ま れてい る ので、 別の
Vivado Design Suite リ リ ース で こ の フ ァ イ ルは使用 し ないで く だ さ い。Tcl フ ァ イ ルには、 ブ ロ ッ ク デザ イ ンに含まれ
る IP と 、 それ ら の コ ン フ ィ ギ ュ レーシ ョ ンお よ び接続に関す る 情報 も 含まれます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
108
第 7 章 : Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト 内でのブ ロ ッ ク デザイ ンの作成
注意 : write_bd_tcl で作成 さ れた ス ク リ プ ト は、 それが作成 さ れた リ リ ース でのみ使用 し て く だ さ い。 こ の ス ク リ
プ ト は、 その他の Vivado Design Suite バージ ョ ンでは使用 し ないで く だ さ い。
Tcl フ ァ イルへの Vivado プ ロ ジ ェ ク ト 情報の保存
全体的なプ ロ ジ ェ ク ト 設定は、 [File] → [Write Project TCL] を ク リ ッ ク する と 保存 さ れます。
X-Ref Target - Figure 7-4
図 7‐4 : プ ロ ジ ェ ク ト の Tcl フ ァ イルの書き出 し
[Write Project to TCL] ダ イ ア ロ グ ボ ッ ク ス で Tcl フ ァ イ ルの名前 と デ ィ レ ク ト リ を指定 し 、 その他の必要なオプシ ョ
ン を選択 し ます。
X-Ref Target - Figure 7-5
図 7‐5 : [Write Project to TCL] ダ イ ア ログ ボ ッ ク ス
次の よ う に Tcl コ ン ソ ールで write_project_tcl コ マ ン ド を使用 し て も 同 じ こ と を実行で き ます。
write_project_tcl <path to file/filename>
ブ ロ ッ ク 図を含む Vivado プ ロ ジ ェ ク ト の場合、 write_project_tcl コ マ ン ド か ら 生成 さ れた Tcl フ ァ イ ルは次の
よ う にな り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
109
第 7 章 : Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト 内でのブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 7-6
図 7‐6 : write_project_tcl コ マ ン ド を使用 し て生成 さ れた Tcl フ ァ イルから のコ ー ド
上記の Tcl フ ァ イ ルのハ イ ラ イ ト 部分では、 ブ ロ ッ ク デザ イ ン フ ァ イ ル (.bd) が明示的に読み込まれてい ます。
単にブ ロ ッ ク デザ イ ン フ ァ イ ルを読み込まれ る のではな く 、 ブ ロ ッ ク デザ イ ン を作成 し 直す必要のあ る こ と があ り
ま す。 こ の よ う な場合、 111 ページの図 7-7 の よ う に、 write_project_tcl コ マ ン ド で生成 さ れた Tcl フ ァ イ ルを変更す
る 必要があ り ます。
ヒ ン ト : ブ ロ ッ ク デザ イ ン を作成 し 直すのではな く 、 既存のブ ロ ッ ク デザ イ ン フ ァ イ ルを単に読み込む よ う に選択
し た場合、 Tcl フ ァ イ ルを変更す る 必要はあ り ません。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
110
第 7 章 : Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト 内でのブ ロ ッ ク デザイ ンの作成
X-Ref Target - Figure 7-7
図 7‐7 : 出力フ ァ イルを使用 し て ブ ロ ッ ク デザイ ン を作成 し 直す Tcl フ ァ イルの コ ー ド 部分
上記の図に示す よ う に、 write_project_tcl フ ァ イ ルか ら の Tcl フ ァ イ ルを変更 し て、 write_bd_tcl コ マ ン ド を使
用 し て作成 さ れた別の Tcl ス ク リ プ ト を読み出す よ う に し ます。読み出 さ れブ ロ ッ ク デザ イ ンの Tcl ス ク リ プ ト では、
ブ ロ ッ ク デザ イ ン フ ァ イ ルを読み込むのではな く 、 プ ロ ジ ェ ク ト の Tcl ス ク リ プ ト が実行 さ れ る たびにブ ロ ッ ク デ
ザ イ ンが作成 し 直 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
111
第 8章
非プ ロ ジ ェ ク ト モー ド での IP イ ン テグ レー
タ ーの使用
概要
非プ ロ ジ ェ ク ト モー ド は、 デザ イ ン デー タ を自身で管理 し た り 、 デザ イ ン ス テー ト を ト ラ ッ ク す る ユーザー向けで
す。 こ のモー ド の場合、 Vivado® ツールは さ ま ざ ま な ソ ース フ ァ イ ルを読み込んで、 メ モ リ 内で フ ロ ー全体を実行 し
てデザ イ ン を コ ンパ イ ル し ます。 イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス の ど の段階で も 、 さ ま ざ ま な レ ポー ト を生成 し 、
デザ イ ンの状態を検証す る こ と がで き ます。非プ ロ ジ ェ ク ト モー ド で実行する 場合は、 ソ ース フ ァ イ ルお よ び run 管
理、 ア ウ ト オブ コ ン テ キ ス ト 合成、 ソ ース フ ァ イ ルへの ク ロ ス プ ロ ーブ、 デザ イ ン ス テー ト の レ ポー ト な ど のプ ロ
ジ ェ ク ト ベース の機能は使用で き ません。 ソ ース フ ァ イ ルがデ ィ ス ク でア ッ プデー ト さ れ る たびに、 それを認識 し
て、 デザ イ ン を読み込み直す必要があ り ます。 非プ ロ ジ ェ ク ト モー ド では、 デフ ォ ル ト では レ ポー ト や中間フ ァ イ ル
は作成 さ れませんが、 Tcl コ マ ン ド を使用 し て、 ユーザー ス ク リ プ ト で レ ポー ト の作成を制御で き る よ う にす る 必要
があ り ます。 非プ ロ ジ ェ ク ト モー ド の詳細については、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ーの概
要』 (UG892) [参照 2] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
非プ ロ ジ ェ ク ト モー ド のフ ローの作成
非プ ロ ジ ェ ク ト モー ド を実行す る 際は、 Tcl モー ド で Vivado Design Suite を起動す る か、 Tcl ス ク リ プ ト を作成 し て
ツールをバ ッ チ モー ド で実行す る こ と をお勧め し ます。
% vivado -mode batch -source non_project_script.tcl
非プ ロ ジ ェ ク ト モー ド では、 次の よ う にプ ロ ジ ェ ク ト オプシ ョ ン を設定 し ます。
set_part xc7k325tffg900-2
set_property TARGET_LANGUAGE VHDL [current_project]
set_property BOARD_PART xilinx.com:kc705:part0:0.9 [current_project]
set_property DEFAULT_LIB work [current_project]
非プ ロ ジ ェ ク ト モー ド の場合、 デ ィ ス ク に保存 さ れ る プ ロ ジ ェ ク ト フ ァ イ ルはな く 、 イ ン メ モ リ の Vivado プ ロ ジ ェ
ク ト が作成 さ れ ます。 ブ ロ ッ ク デザ イ ン のデバ イ ス/パーツ/ タ ーゲ ッ ト 言語はブ ロ ッ ク デザ イ ン ソ ー ス の一部 と し
て格納 さ れません。 set_part コ マ ン ド は、 非プ ロ ジ ェ ク ト ベース デザ イ ンの イ ン メ モ リ プ ロ ジ ェ ク ト を作成す る か、
既存の イ ン メ モ リ プ ロ ジ ェ ク ト のパーツ を設定 し ます。
プ ロ ジ ェ ク ト が作成 さ れた ら 、 ブ ロ ッ ク デザ イ ンの ソ ース フ ァ イ ルをプ ロ ジ ェ ク ト に追加で き ます。
ソ ース フ ァ イ ルは、 次のいずれかの方法で追加で き ます。 た と えば、 ブ ロ ッ ク デザ イ ンのデ ィ レ ク ト リ 構造全体が
変更 さ れていない既存のブ ロ ッ ク デザ イ ンがあ る 場合、 次の よ う に read_bd Tcl コ マ ン ド を使用する と ブ ロ ッ ク デ
ザ イ ン を追加で き ます。
read_bd <path to the bd file>
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
112
第 8 章 : 非プ ロ ジ ェ ク ト モー ド での IP イ ン テグレー タ ーの使用
注意 : 新 し いデザ イ ン のプ ロ ジ ェ ク ト 設定 (ボー ド 、 パーツ、 ユーザー レ ポジ ト リ ) は、 元のブ ロ ッ ク デザ イ ンのプ
ロ ジ ェ ク ト 設定 と 同 じ であ る 必要があ り ます。 同 じ でない と 、 ブ ロ ッ ク デザ イ ン内の IP が ロ ッ ク さ れます。
ブ ロ ッ ク デザ イ ンが問題な く 追加 さ れた ら 、 最上位 RTL フ ァ イ ル と 最上位 XDC 制約を追加する 必要があ り ます。
read_verilog <top-level>.v
read_xdc <top-level>.xdc
.bd ソ ース は直接合成で き ないので、 下記の コ マ ン ド を使用 し て最上位の HDL ラ ッ パー フ ァ イ ルを作成す る こ と も
で き ます。
make_wrapper -files [get_files <path to bd>/<bd instance name>.bd] –top
read_vhdl <path to bd>/<bd instance name>_wrapper.vhd
update_compile_order -fileset sources_1
こ れに よ り 、 最上位 HDL フ ァ イ ルが作成 さ れ、 ソ ース リ ス ト に追加 さ れます。
MicroBlaze™ ベース のプ ロ セ ッ サ デザ イ ンの場合、 ELF フ ァ イ ルを追加 し て、 ブ ロ ッ ク デザ イ ンの MicroBlaze イ ン
ス タ ン ス と 関連付け る 必要があ り ます。 こ れに よ り 、 ELF フ ァ イ ルか ら のデー タ を含んで BRAM 初期化文字列が生
成 さ れます。 こ れは、 次の コ マ ン ド で実行で き ます。
add_files <file_name>.elf
set_property SCOPED_TO_CELLS {microblaze_0} [get_files <file_name>.elf]
set_property SCOPED_TO_REF {<bd_instance_name>} [get_files <file_name>.elf]
ビ ッ ト ス ト リ ー ム を 生成 し てデバ イ ス を プ ロ グ ラ ム す る 場合、 プ ロ ジ ェ ク ト に ELF フ ァ イ ル を 追加す る こ と で、
Vivado ツールでブ ロ ッ ク RAM 情報 (MMI フ ァ イ ル) と ELF フ ァ イ ルの内容がデバ イ ス ビ ッ ト ス ト リ ーム (BIT) に自
動的に統合 さ れます。
ヒ ン ト : ビ ッ ト ス ト リ ーム を生成 し た ら 、 UpdateMEM ユーテ ィ リ テ ィ を使用 し て MMI、 ELF、 BIT フ ァ イ ルを マージ
す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ
ン』 (UG898) [参照 5] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
デザ イ ンに複数レベルの階層があ る 場合は、 正 し い階層を指定 し て く だ さ い。 こ の後、 通常の合成、 配置配線段階を
実行 し 、 デザ イ ン を イ ンプ リ メ ン ト し ます。
synth_design -top <top module name>
opt_design
place_design
route_design
write_bitstream top
イ ンプ リ メ ン ト さ れたハー ド ウ ェ ア シ ス テ ム を SDK にエ ク ス ポー ト す る には、 次の コ マ ン ド を使用 し ます。
write_sysdef -hwdef ./<hwdef_file_name>.hwdef \
-bitfile ./<bit_file_name>.bit \
-meminfo ./<mmi_file_name>.mmi \
-file ./<sysdef_file_name>.sysdef
write_sysdef ま たは write_hwdef コ マ ン ド の詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス』 (UG835) [参照 1]
を参照 し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
113
第 8 章 : 非プ ロ ジ ェ ク ト モー ド での IP イ ン テグレー タ ーの使用
非プ ロ ジ ェ ク ト ス ク リ プ ト
次は、 非プ ロ ジ ェ ク ト モー ド のブ ロ ッ ク デザ イ ン を作成す る サンプル ス ク リ プ ト です。
重要 : 第 4 章の 「出力フ ァ イ ルの生成」 に示すア ウ ト オブ コ ン テ キ ス ト 合成は非プ ロ ジ ェ ク ト モー ド ではサポー ト
さ れません。
set_part xc7k325tffg900-2
set_property target_language VHDL [current_project]
set_property board_part xilinx.com:kc705:part0:0.9 [current_project]
set_property default_lib work [current_project]
read_bd ./bd/mb_ex_1/mb_ex_1.bd
open_bd_design ./bd/mb_ex_1/mb_ex_1.bd
read_vhdl ./bd/mb_ex_1/hdl/mb_ex_1_wrapper.vhd
write_hwdef -file mb_ex_1_wrapper.hwdef
set_property source_mgmt_mode All [current_project]
update_compile_order -fileset sources_1
update_compile_order -fileset sources_1
update_compile_order -fileset sim_1
synth_design -top mb_ex_1_wrapper
opt_design
place_design
route_design
write_bitstream top
write_mem_info ./top.mmi
file mkdir c:/temp/export_hw_np_mode/sdk
write_sysdef -hwdef mb_ex_1_wrapper.hwdef -bitfile top.bit -file mb_ex_1_wrapper.hdf
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
114
第 9章
新規 リ リ ースでのデザイ ンのア ッ プデー ト
概要
Vivado® Design Suite を最新バージ ョ ン にア ッ プグ レー ド し た場合は、 Vivado IP イ ン テ グ レー タ ーで作成 し たブ ロ ッ
ク デザ イ ン も ア ッ プグ レー ド す る 必要があ り ます。
•
IP のバージ ョ ン番号は リ リ ース ご と に変わ り ます。
•
IP イ ン テ グ レー タ ーがブ ロ ッ ク デザ イ ンに含まれ る IP が古いバージ ョ ンであ る と 認識 し た場合は、 ブ ロ ッ ク デ
ザ イ ン内のその IP が ロ ッ ク さ れます。
古いバージ ョ ンのブ ロ ッ ク デザ イ ン ま たはそれに含まれ る IP を保持する 場合は、 キ ャ ンバ ス上のブ ロ ッ ク デザ イ ン
を変更 し た り 、出力フ ァ イ ルを検証 し た り 、 リ セ ッ ト し た り 、出力フ ァ イ ルを生成 し 直 し た り す る 必要はあ り ません。
こ の よ う な場合、 前の リ リ ース か ら のデザ イ ン デー タ は変更す る べ き ではあ り ません。 前の リ リ ース か ら のブ ロ ッ ク
デザ イ ンは、 その ま ま の状態で合成お よ び イ ンプ リ メ ン ト す る こ と はで き ます。
ブ ロ ッ ク デザ イ ンは最新バージ ョ ンの IP を含めて ア ッ プグ レー ド し 、 必要なデザ イ ン変更を加え てか ら 、 デザ イ ン
を検証 し て タ ーゲ ッ ト を生成す る こ と をお勧め し ます。
プ ロ ジ ェ ク ト は、 次の方法でア ッ プデー ト で き ます。
•
「プ ロ ジ ェ ク ト モー ド でのブ ロ ッ ク デザ イ ンのア ッ プグ レー ド 」
•
「非プ ロ ジ ェ ク ト モー ド でのブ ロ ッ ク デザ イ ンのア ッ プグ レー ド 」
本章では、 こ の両方の方法について説明 し ます。
プ ロ ジ ェ ク ト モー ド でのブ ロ ッ ク デザイ ンのア ッ
プグ レー ド
プ ロ ジ ェ ク ト モー ド でブ ロ ッ ク デザ イ ン を ア ッ プグ レー ド す る 手順は、 次の と お り です。
1.
最新の Vivado Design Suite を起動 し ます。
2.
Vivado IDE で [Open Project] を ク リ ッ ク し 、 前バージ ョ ンの Vivado で作成 さ れたデザ イ ン を指定 し ます。
[Older Project Version] ダ イ ア ロ グ ボ ッ ク ス が 開 き ま す。 デ フ ォ ル ト で は [Automatically upgrade for the current
version] がオンにな っ てい ます。
こ の [Automatically upgrade for the current version] をオンにす る と 、前のバージ ョ ンか ら のデザ イ ンがア ッ プグ レー
ド さ れますが、 その前に別の名前でプ ロ ジ ェ ク ト を保存 し てお く こ と をお勧め し ます。 こ れには、 次を実行 し ま
す。
3.
次の図に示す よ う に [Open project in read-only mode] を オンに し て、 [OK] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
115
第 9 章 : 新規 リ リ ースでのデザイ ンのア ッ プデー ト
X-Ref Target - Figure 9-1
図 9‐1 : 読み出 し 専用モー ド で プ ロ ジ ェ ク ト を開 く オプ シ ョ ン
[Project is Read-Only] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
4.
次の図に示す よ う に [Save Project As] を ク リ ッ ク し ます。
X-Ref Target - Figure 9-2
図 9‐2 : [Save Project As] ダ イ ア ログ ボ ッ ク ス
5.
次の図に示す よ う に [Save Project As] ダ イ ア ロ グ ボ ッ ク ス が開いた ら プ ロ ジ ェ ク ト 名を入力 し て、[OK] を ク リ ッ
ク し ます。
X-Ref Target - Figure 9-3
図 9‐3 : プ ロ ジ ェ ク ト 名の指定
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
116
第 9 章 : 新規 リ リ ースでのデザイ ンのア ッ プデー ト
[Project Upgraded] ダ イ ア ロ グ ボ ッ ク ス が開き 、 デザ イ ン で使用 さ れ る IP が変更 さ れたので、 ア ッ プデー ト す る
必要があ る こ と が示 さ れます。
X-Ref Target - Figure 9-4
図 9‐4 : [Project Upgraded] ダ イ ア ログ ボ ッ ク ス
6.
[Report IP Status] を ク リ ッ ク し ます。
ま たは、 メ ニ ュ ーか ら [Tools] → [Report] → [Report IP Status] を ク リ ッ ク し ます。
7.
デザ イ ン内の IP で主なバージ ョ ン変更があ っ た場合は、 次の よ う な メ ッ セージが表示 さ れます。 [OK] を ク リ ッ
ク し ます。
X-Ref Target - Figure 9-5
図 9‐5 : IP ス テー タ ス結果のレ ポー ト
8.
[IP Status] ウ ィ ン ド ウ で さ ま ざ ま な列を確認 し 、 IP ス テー タ ス レ ポー ト に慣れておいて く だ さ い。 + マー ク を ク
リ ッ ク し てブ ロ ッ ク デザ イ ン を展開 し 、 ブ ロ ッ ク デザ イ ン内の IP コ アの変更点を確認 し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
117
第 9 章 : 新規 リ リ ースでのデザイ ンのア ッ プデー ト
X-Ref Target - Figure 9-6
図 9‐6 : IP ス テー タ ス レ ポー ト
[IP Status] ウ ィ ン ド ウ の一番上には、 デザ イ ン のサマ リ が表示 さ れ ます。 こ こ には、 現バージ ョ ンにデザ イ ン を
ア ッ プグ レー ド にす る ためにい く つの変更が必要だっ たかが レ ポー ト さ れます。 レ ポー ト さ れ る 変更は、 [Major
Changes]、 [Minor Changes]、 [Revision Changes]、 お よ びその他の変更点です。 こ れ ら の変更は、 [IP Status] 列に も
レ ポー ト さ れます。
°
9.
[Major Changes] : IP に メ ジ ャ ーなバージ ョ ン変更 (例 : バージ ョ ン 2.0 か ら 3.0) があ っ た こ と を示 し ます。 こ
の タ イ プの変更は、 ア ッ プグ レー ド 用に自動的に選択 さ れ る こ と はあ り ません。 ア ッ プグ レー ド さ れ る よ う
にす る には、 そのブ ロ ッ ク デザ イ ンの [Upgrade] 列を オ フ に し てか ら 、 も う 1 度オンに し ます。
°
[Minor Changes] : IP にマ イ ナーなバージ ョ ン変更 (例 : バージ ョ ン 3.0 か ら 3.1) があ っ た こ と を示 し ます。
°
[Revision Changes] : IP の リ ビ ジ ョ ンが変更 さ れた こ と を示 し ます。 た と えば、現在の IP バージ ョ ンが 5.0 で、
ア ッ プグ レー ド バージ ョ ンが 5.0 (Rev. 1) な ど の場合です。
[Change Log] 列の [More info] リ ン ク を ク リ ッ ク する と 、 変更の詳細が確認で き ます。
X-Ref Target - Figure 9-7
図 9‐7 : [More info] を ク リ ッ ク し て表示 さ れる変更履歴
[Recommendation] 列には、 IP を ア ッ プ グ レ ー ド す る よ う に選択す る 前に理解 し てお く べ き 変更点が記述 さ れ ま
す。
10. 変更点 と デザ イ ンへの影響を理解 し た ら 、 [Upgrade Selected] を ク リ ッ ク し ます。
[Upgrade IP] ダ イ ア ロ グ ボ ッ ク ス が開 き 、 ア ッ プグ レー ド をす る か ど う か尋ね る メ ッ セージが表示 さ れます。
ヒ ン ト : ブ ロ ッ ク デザ イ ン内の一部の IP だけ を選択 し て ア ッ プグ レー ド し 、 残 り は古いバージ ョ ン の ま ま に し てお
く と い う こ と はで き ません。 ブ ロ ッ ク デザ イ ンの IP はすべて同時にア ッ プグ レー ド する 必要があ り ます。
11. [OK] を ク リ ッ ク し ます。
ア ッ プ グ レ ー ド プ ロ セ ス が終了 し た ら 、 次の図に示す よ う に、 注意す る 必要の あ る 重要な問題を示す [Critical
Messages] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
118
第 9 章 : 新規 リ リ ースでのデザイ ンのア ッ プデー ト
X-Ref Target - Figure 9-8
図 9‐8 : [Critical Messages] ダ イ ア ログ ボ ッ ク ス
12. ア ッ プグ レー ド 後に表示 さ れ る ク リ テ ィ カル警告お よ びその他の メ ッ セージ を確認 し て く だ さ い。 [OK] を ク
リ ッ ク し ます。
デザ イ ンに複数の図が含ま れ る 場合、 [IP Status] ウ ィ ン ド ウ には119 ページの図 9-9 の よ う にすべての図の IP の
ス テー タ ス が表示 さ れます。
X-Ref Target - Figure 9-9
図 9‐9 : 複数の図を含む場合の [IP Status] ウ ィ ン ド ウ
デザイ ン ルール チ ェ ッ ク の実行
次の図に示す よ う に ツールバーか ら [Validate Design] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
119
第 9 章 : 新規 リ リ ースでのデザイ ンのア ッ プデー ト
X-Ref Target - Figure 9-10
図 9‐10 : デザイ ンの検証
ま た、 ブ ロ ッ ク デザ イ ン ツールバーで [Validate Design] ボ タ ン
を ク リ ッ ク す る こ と も で き ます。
出力 フ ァ イルの再生成
[Sources] ウ ィ ン ド ウ でブ ロ ッ ク 図を右 ク リ ッ ク し て、 [Generate Output Products] を ク リ ッ ク し ます。 .
X-Ref Target - Figure 9-11
図 9‐11 : [Generate Output Products] オプ シ ョ ン
Flow Navigator の [IP Integrator] の下の [Generate Block Design] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
120
第 9 章 : 新規 リ リ ースでのデザイ ンのア ッ プデー ト
X-Ref Target - Figure 9-12
図 9‐12 : [Generate Output Products] ダ イ ア ログ ボ ッ ク ス
13. [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス で [Generate] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
121
第 9 章 : 新規 リ リ ースでのデザイ ンのア ッ プデー ト
HDL ラ ッ パーの作成または変更
前のバージ ョ ンでデザ イ ンの HDL ラ ッ パー フ ァ イ ルを作成 し た場合は、 デザ イ ン変更に合わせてそれを作成 し 直す
必要があ り ます。Vivado ツールで最上位 ラ ッ パーが作成お よ び管理 さ れ る オプシ ョ ン を選択 し た場合、 ラ ッ パー フ ァ
イ ルはブ ロ ッ ク デザ イ ン の生成時ま たは前のセ ク シ ョ ン で定義 さ れた出力フ ァ イ ルの生成時にア ッ プデー ト さ れ ま
す。 HDL ラ ッ パー フ ァ イ ルを手動で変更する 場合は、 その HDL ラ ッ パーに必要な ア ッ プデー ト を手動で実行す る 必
要があ り ます。
1.
次の図に示す よ う に、 Vivado の [Sources] ウ ィ ン ド ウ でブ ロ ッ ク 図を右 ク リ ッ ク し 、 [Create HDL Wrapper] を ク
リ ッ ク し ます。
X-Ref Target - Figure 9-13
図 9‐13 : [Create HDL Wrapper] オプ シ ョ ン
[Create HDL Wrapper] ダ イ ア ロ グ ボ ッ ク ス が開き ます。 こ の段階では、 編集可能な ラ ッ パー フ ァ イ ルを作成す る
か、 Vivado ツールで自動的に ラ ッ パー フ ァ イ ルが作成 さ れ る よ う にす る かの 2 つの選択肢があ り ます。
2.
次の図に示す よ う にダ イ ア ロ グ ボ ッ ク ス で選択を し て、 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 9-14
図 9‐14 : [Create HDL Wrapper] ダ イ ア ロ グ ボ ッ ク ス
こ れでデザ イ ンの合成、 イ ンプ リ メ ン ト 、 ビ ッ ト ス ト リ ーム生成がで き る よ う にな り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
122
第 9 章 : 新規 リ リ ースでのデザイ ンのア ッ プデー ト
非プ ロ ジ ェ ク ト モー ド でのブ ロ ッ ク デザイ ンの
ア ッ プグ レー ド
非プ ロ ジ ェ ク ト モー ド フ ロ ーを使用 し た前の リ リ ース か ら の既存プ ロ ジ ェ ク ト を開 き 、 ブ ロ ッ ク デザ イ ン を現バー
ジ ョ ン の Vivado にア ッ プグ レー ド す る こ と がで き ます。 次の ス ク リ プ ト を ガ イ ド ラ イ ン と し て使用 し 、 ブ ロ ッ ク 図
に含まれ る IP を ア ッ プグ レー ド し て く だ さ い。
# Open an existing project from a previous Vivado release
open_project <path_to_project>/project_name.xpr
update_compile_order –fileset sim_1
# Open the block diagram
read_bd {<path_to_bd>/bd_name.bd}
# Make the block diagram current
current_bd_design bd_name.bd
# Upgrade IP
upgrade_bd_cells [get_bd_cells –hierarchical * ]
# Reset output products
reset_target {synthesis simulation implementation} [get_files
<path_to_project>/project_name.srcs/sources_1/bd/bd_name/bd_name.bd]
# Generate output products
generate_target {synthesis simulation implementation} [get_files
<path_to_project>/project_name/project_name.srcs/sources_1/bd/bd_name/bd_name.bd]
# Create HDL Wrapper (if needed)
make_wrapper -files [get_files
<path_to_project>/project_name/project_name.srcs/sources_1/bd/bd_name/bd_name.bd]
–top
# Overwrite any existing HDL wrapper from before
import_files -force -norecurse
<path_to_project>/project_name/project_name.srcs/sources_1/bd/bd_name/hdl/bd_name_w
rapper.v
update_compile_order -fileset sources_1
# Continue through implementation
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
123
第 10 章
IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム
ボー ド フ ローの使用
概要
Vivado Design Suite では、ボー ド が認識 さ れます。ツールでは、 タ ーゲ ッ ト ボー ド に含まれ る さ ま ざ ま な イ ン タ ーフ ェ
イ ス が認識 さ れ る ので、 IP を カ ス タ マ イ ズ し て、 特定ボー ド コ ン ポーネ ン ト に接続 さ れ る よ う に IP を コ ン フ ィ ギ ュ
レーシ ョ ンで き ます。 現在の と こ ろ、 複数の 7 シ リ ーズお よ び UltraScale ボー ド がサポー ト さ れてい ます。
IP イ ン テ グ レー タ ーには、 [Board] タ ブ と い う 別の タ ブにボー ド に対す る すべての イ ン タ ーフ ェ イ ス が表示 さ れます。
こ の タ ブ を使用 し て必要な コ ン ポーネ ン ト を選択 し 、IP イ ン テ グ レー タ ーで提供 さ れ る 設計ア シ ス タ ン ス を使用す る
と 、 簡単にデザ イ ン を選択 し たボー ド コ ン ポーネ ン ト に接続で き ます。 I/O 制約はすべて自動的に こ の フ ロ ーの一部
と し て生成 さ れます。
タ ーゲ ッ ト ボー ド の選択
プ ロ ジ ェ ク ト が Vivado 環境で作成 さ れた場合は、 [New Project] ダ イ ア ロ グ ボ ッ ク ス の [Default Part] ページか ら タ ー
ゲ ッ ト ボー ド を選択で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
124
第 10 章 : IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
X-Ref Target - Figure 10-1
図 10‐1 : タ ーゲ ッ ト ボー ド の選択
次の図に示す よ う に、 [Vendor]、 [Display Name]、 お よ び [Board Revision] に基づいて使用可能なボー ド が フ ィ ル タ ー
さ れて リ ス ト さ れます。
X-Ref Target - Figure 10-2
図 10‐2 : フ ィ ル タ ー さ れた使用可能なボー ド の リ ス ト
•
[Board Rev] : ボー ド の リ ビ ジ ョ ンに基づいて フ ィ ル タ ーで き ます。
°
[Board Rev] を [All] に設定す る と 、 Vivado でサポー ト さ れ る すべてのボー ド の リ ビ ジ ョ ンが表示 さ れます。
°
[Board Rev] を [Latest] に設定す る と 、 タ ーゲ ッ ト ボー ド の最新 リ ビ ジ ョ ンのみが表示 さ れます。 使用可能な
リ ソ ースお よ び動作状況な ど、 さ ま ざ ま な情報 も 表に含まれます。
ボー ド を選択す る と 、そのボー ド 用に定義 さ れた イ ン タ ーフ ェ イ ス が使用 さ れて、コ ン フ ィ ギ ュ レーシ ョ ン さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
125
第 10 章 : IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
ボー ド フ ローを使用する ためのブ ロ ッ ク デザイ ン
の作成
ボー ド フ ロ ーの利点は、 IP イ ン テ グ レー タ ーを使用す る と よ く わか り ます。
Flow Navigator で [IP Integrator] → [Create Block Design] を ク リ ッ ク し て新 し いブ ロ ッ ク デザ イ ン を開始 し ます。
デザ イ ン キ ャ ンバ ス が開いた ら 、 [Board] ウ ィ ン ド ウ が表示 さ れます。
X-Ref Target - Figure 10-3
図 10‐3 : [Board] ウ ィ ン ド ウ
こ の ウ ィ ン ド ウ には、 評価ボー ド (前の図の場合は KC705) で可能性のあ る コ ン ポーネ ン ト すべてが リ ス ト さ れます。
こ れ ら の コ ン ポーネ ン ト の 1 つを ク リ ッ ク す る と 、IP をブ ロ ッ ク デザ イ ンのキ ャ ンバ ス にすばや く イ ン ス タ ン シエー
ト で き ます。
ボー ド ウ ィ ン ド ウ を使用す る 最初の方法は、 [Board] ウ ィ ン ド ウ か ら コ ン ポーネ ン ト を選択 し て、 それをブ ロ ッ ク デ
ザ イ ンのキ ャ ンバ ス に ド ラ ッ グす る 方法です。 こ れに よ り 、その コ ン ポーネ ン ト に接続可能な IP が イ ン ス タ ン シエー
ト さ れ、 その イ ン タ ーフ ェ イ ス用に コ ン フ ィ ギ ュ レーシ ョ ン さ れます。 こ の後、 その IP の イ ン タ ーフ ェ イ ス ピ ンが
I/O ポー ト に接続 さ れ ます。 た と えば、 [External Memory] フ ォ ルダーの下の Linear Flash コ ン ポーネ ン ト を IP イ ン テ
グ レー タ ーのキ ャ ンバ ス に ド ラ ッ グ ア ン ド ド ロ ッ プす る と 、 AXI EMC IP が イ ン ス タ ン シエー ト さ れ、 EMC_INTF と
呼ばれ る イ ン タ ーフ ェ イ ス が接続 さ れます。 127 ページの図 10-4 を参照 し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
126
第 10 章 : IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
X-Ref Target - Figure 10-4
図 10‐4 : ブ ロ ッ ク デザイ ン キ ャ ンバスへのイ ン タ ー フ ェ イ スの ド ラ ッ グ ア ン ド ド ロ ッ プ
タ ーゲ ッ ト ボー ド で イ ン タ ーフ ェ イ ス を使用する 2 つ目の方法は、 [Board] タ ブか ら 該当す る 未接続の コ ン ポーネ ン
ト を ダブル ク リ ッ ク す る 方法です。 た と えば、 [Board] タ ブで DDR3 SDRAM コ ン ポーネ ン ト を ダブル ク リ ッ ク す る
と 、 次の図の よ う に [Connect Board Component] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
X-Ref Target - Figure 10-5
図 10‐5 : [Connect Board Component] ダ イ ア ログ ボ ッ ク ス
デフ ォ ル ト では mig_ddr_interface が選択 さ れてい ます。[IP] の下に リ ス ト さ れ る イ ン タ ーフ ェ イ ス が複数あ る 場合は、
必要な イ ン タ ーフ ェ イ ス を選択 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
127
第 10 章 : IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
次の図に示す よ う に mig_ddr_interface を選択 し てか ら 、 [OK] を ク リ ッ ク し ます。
IP が図のキ ャ ンバ ス上に配置 さ れ、 I/O ポー ト を使用 し て イ ン タ ーフ ェ イ ス に接続 さ れ ま す。 次の図に示す よ う に、
IP は こ の イ ン タ ーフ ェ イ ス に接続 さ れ る よ う にすべて コ ン フ ィ ギ ュ レーシ ョ ン さ れます。
X-Ref Target - Figure 10-6
図 10‐6 : キ ャ ンバス上のイ ン タ ー フ ェ イ スに イ ン ス タ ン シ エー ト 、 コ ン フ ィ ギ ュ レーシ ョ ン、 接続 さ れた IP
イ ン タ ーフ ェ イ ス が接続 さ れ る と 、 その特定の イ ン タ ーフ ェ イ ス が [Board] ウ ィ ン ド ウ に色付 き の丸で示 さ れ る よ う
にな り ます。
X-Ref Target - Figure 10-7
図 10‐7 : イ ン タ ー フ ェ イ スに接続後の [Board] ウ ィ ン ド ウ
コ ン ポーネ ン ト は、 [Auto Connect] オプシ ョ ン を使用 し て も 接続で き ます。
こ れには、 コ ン ポーネ ン ト を右 ク リ ッ ク し て、 [Auto Connect] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
128
第 10 章 : IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
X-Ref Target - Figure 10-8
図 10‐8 : [Auto Connect] オプ シ ョ ン
129 ページの図 10-9 に示す よ う に、GPIO IP が イ ン ス タ ン シエー ト さ れ、GPIO イ ン タ ーフ ェ イ ス が I/O ポー ト に接続
さ れます。
X-Ref Target - Figure 10-9
図 10‐9 : [Preferred Connection] オプ シ ョ ン を使用 し た IP のイ ン ス タ ン シ エー ト
DIP switches の よ う な別の コ ン ポーネ ン ト が選択 さ れた ら 、 ボー ド フ ロ ーでは GPIO が既にデザ イ ンに イ ン ス タ
ン シエー ト さ れてい る こ と が認識 さ れ、 GPIO の 2 つ目のチ ャ ネルが再利用 さ れます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
129
第 10 章 : IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
X-Ref Target - Figure 10-10
図 10‐10 : GPIO の自動接続
既に イ ン ス タ ン シエー ト 済みの GPIO が コ ン フ ィ ギ ュ レーシ ョ ン し 直 さ れ、 次の図の よ う に GPIO の 2 つ目のチ ャ ネ
ルが使用 さ れます。
X-Ref Target - Figure 10-11
図 10‐11 : 2 つ目のチ ャ ネルを使用する よ う に コ ン フ ィ ギ ュ レーシ ョ ン さ れた GPIO IP
Linear Flash ま たは SPI Flash な ど の外部 メ モ リ コ ン ポーネ ン ト が選択 さ れ る 場合、 こ れ ら の 1 つ し か こ のボー ド では
使用で き ないので、 それ ら の 1 つが使用 さ れ る と 、 それ以外の イ ン タ ーフ ェ イ ス が使用で き ない状態にな り ます。 こ
の場合、 bd キ ャ ンバ ス の SPI Flash の よ う なその他の イ ン タ ーフ ェ イ ス に ド ラ ッ グす る と 、 次の メ ッ セージが表
示 さ れます。
X-Ref Target - Figure 10-12
図 10‐12 : [Auto Connect] 警告 メ ッ セージ
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
130
第 10 章 : IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
ブ ロ ッ ク デザイ ン での接続の完了
必要な イ ン タ ーフ ェ イ ス がデザ イ ンで使用 さ れ る よ う にな っ た ら 、 次はプ ロ セ ッ サ (プ ロ セ ッ サ ベース のデザ イ ンの
場合) ま たは AXI イ ン タ ー コ ネ ク ト (エンベデ ッ ド 以外のデザ イ ンの場合) を イ ン ス タ ン シエー ト し て、デザ イ ン を終
了 し ます。
こ れ に は、 キ ャ ン バ ス 上で右 ク リ ッ ク し て [Add IP] を ク リ ッ ク し ま す。 次の図に示す よ う に、 IP カ タ ロ グ か ら
MicroBlaze™ プ ロ セ ッ サの よ う なプ ロ セ ッ サ を選択 し ます。
X-Ref Target - Figure 10-13
図 10‐13 : プ ロ セ ッ サを イ ン ス タ ン シ エー ト し てデザイ ン を終了
プ ロ セ ッ サが イ ン ス タ ン シエー ト さ れ る と 、 次の図に示す よ う に設計ア シ ス タ ン ス が使用で き る よ う にな り ます。
X-Ref Target - Figure 10-14
図 10‐14 : 設計ア シ ス タ ン ス を使用 し て接続を終了
[Run Block Automation] を ク リ ッ ク し 、基本的なプ ロ セ ッ サ サブシ ス テ ム を コ ン フ ィ ギ ュ レーシ ョ ン し ます。プ ロ セ ッ
サ サブシ ス テ ム が作成 さ れ、 ブ ロ ッ ク メ モ リ コ ン ト ロ ー ラ ー、 ブ ロ ッ ク メ モ リ ジ ェ ネ レー タ ー、 お よ びデバ ッ グ
モジ ュ ールな ど の よ く 使用 さ れ る IP が含まれます。
こ れで [Run Connection Automation] を ク リ ッ ク す る と 、 コ ネ ク シ ョ ン オー ト メ ーシ ョ ン機能を使用 し てデザ イ ンの残
り の IP を MicroBlaze プ ロ セ ッ サに接続で き る よ う にな り ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
131
第 10 章 : IP イ ン テグ レー タ ーでのプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
X-Ref Target - Figure 10-15
図 10‐15 : コ ネ ク シ ョ ン オー ト メ ーシ ョ ン を実行 し た接続の終了
残 り のプ ロ セ ス は、 本書で説明 さ れ る IP イ ン テ グ レー タ ーでの設計に必要なプ ロ セ ス と 同 じ です。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
132
第 11 章
IP イ ン テグ レー タ ーでのサー ド パーテ ィ 合
成ツールの使用
概要
サー ド パーテ ィ 合成ツールをデザ イ ン フ ロ ーの一部 と し て使用する 必要のあ る こ と があ り ます。 こ の よ う な場合、 IP
イ ン テ グ レ ー タ ー ブ ロ ッ ク デザ イ ン を を ブ ラ ッ ク ボ ッ ク ス と し て最上位ユーザー デザ イ ン に統合す る 必要があ り
ます。 デザ イ ンの最上位をサー ド パーテ ィ 合成ツールで合成 し て、 HDL ま たは EDIF ネ ッ ト リ ス ト を書 き 出 し 、 合成
後のプ ロ ジ ェ ク ト を Vivado 環境に イ ンプ リ メ ン ト し ます。
本章では、ブ ロ ッ ク デザ イ ンのブ ラ ッ ク ボ ッ ク ス をサー ド パーテ ィ 合成ツールで合成す る ための手順を示 し ます。フ
ロ ーはど のサー ド パーテ ィ 合成ツールに も 該当 し ますが、 本章では Synplify® Pro 合成ツールを使用 し て説明 し ます。
ブ ロ ッ ク デザイ ン を アウ ト オブ コ ン テキス ト モ
ジ ュ ール と し て設定
ブ ロ ッ ク デザ イ ンのデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) は、 ブ ロ ッ ク デザ イ ン を独立階層モジ ュ ール (ア ウ ト オブ コ
ン テ キ ス ト (OOC) モジ ュ ール) と し て設定する と 、 作成で き ます。
1.
[Sources] ウ ィ ン ド ウ のブ ロ ッ ク デザ イ ン を選択 し て、右 ク リ ッ ク で メ ニ ュ ーを開いて、[Generate Output Products]
コ マ ン ド を選択 し ます。
X-Ref Target - Figure 11-1
図 11‐1 : [Generate Output Products] コ マ ン ド
2.
次の図に示す よ う に [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス で [Out-of-Context per Block Design] を オンに
し ます。 詳細は、 58 ページの 「出力フ ァ イ ルの生成」 を参照 し て く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
133
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
X-Ref Target - Figure 11-2
図 11‐2 : [Generate Output Products] ダ イ ア ログ ボ ッ ク ス
[Sources] ウ ィ ン ド ウ では、ア ウ ト オブ コ ン テ キ ス ト モジ ュ ール と し て定義 さ れたブ ロ ッ ク デザ イ ンに四角形の
ア イ コ ン が付 き ます。 [Design Runs] ウ ィ ン ド ウ に も 、 ブ ロ ッ ク デザ イ ン のア ウ ト オブ コ ン テ キ ス モジ ュ ール
の run が表示 さ れます。
X-Ref Target - Figure 11-3
図 11‐3 : アウ ト オブ コ ン テキス ト 設定の run
3.
ブ ロ ッ ク デザ イ ンのア ウ ト オブ コ ン テ キ ス ト 合成 run が終了 し た ら 、 そのブ ロ ッ ク デザ イ ンに対す る デザ イ ン
チ ェ ッ ク ポ イ ン ト フ ァ イ ル (DCP) が作成 さ れます。 DCP フ ァ イ ルは、 [Sources] ウ ィ ン ド ウ の [IP Sources] タ ブの
ブ ロ ッ ク デザ イ ン ツ リ ーの し たに表示 さ れます。 DCP フ ァ イ ルは、 次のデ ィ レ ク ト リ に書 き 込まれます。
<project_name>/<project_name>.srcs/<sources_1>/<bd>/<block_design_name>
DCP を使用す る と 、 デザ イ ン の現在の状態の ス ナ ッ プシ ョ ッ ト を撮 る こ と がで き ます。 DCP には現在のネ ッ ト
リ ス ト 、 制約、 お よ び イ ンプ リ メ ン テーシ ョ ン結果が保存 さ れます。 DCP を使用す る と 、 次が実行で き ます。
°
必要であればデザ イ ン を復元
°
デザ イ ン解析を実行
°
制約を定義
°
デザ イ ン フ ロ ーに従っ て処理
ブ ロ ッ ク デザ イ ンのア ウ ト オブ コ ン テ キ ス ト run が作成 さ れ る と 、 2 つの ス タ ブ フ ァ イ ル (Verilog と VHDL 用
) も 作成 さ れ ます。 ス タ ブ フ ァ イ ルには、 ブ ロ ッ ク デザ イ ン のブ ラ ッ ク ボ ッ ク ス を イ ン ス タ ン シエー ト す る た
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
134
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
めに、 最上位デザ イ ン に コ ピーで き る イ ン ス タ ン シエーシ ョ ン テ ン プ レ ー ト が含ま れ ます。 次の図は、 ス タ ブ
フ ァ イ ルの例を示 し てい ます。
X-Ref Target - Figure 11-4
図 11‐4 : ス タ ブ フ ァ イルの例
Synplify での HDL または EDIF ネ ッ ト リ ス ト の作成
Synplify プ ロ ジ ェ ク ト を作成 し て、ブ ロ ッ ク デザ イ ンの最上位 HDL ラ ッ パー フ ァ イ ル と 共にブ ラ ッ ク ボ ッ ク ス ス タ
ブ フ ァ イ ル (Vivado で作成) を イ ン ス タ ン シエー ト し ます。 ブ ロ ッ ク デザ イ ンは Synplify でブ ラ ッ ク ボ ッ ク ス と し て
処理 さ れます。
プ ロ ジ ェ ク ト が合成 さ れ る と 、そのプ ロ ジ ェ ク ト の HDL ま たは EDIF ネ ッ ト リ ス ト が合成後のプ ロ ジ ェ ク ト で使用で
き る よ う に書 き 出 さ れます。
Vivado での合成後のプ ロ ジ ェ ク ト の作成
次は、 Vivado IDE で合成後のプ ロ ジ ェ ク ト を作成 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム
レベル のデザ イ ン入力』 (UG895) の こ のセ ク シ ョ ン を参照 し て く だ さ い。
1.
新 し い Vivado プ ロ ジ ェ ク ト を作成 し 、New Project ウ ィ ザー ド で [Post-synthesis Project] オプシ ョ ン を選択 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
135
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
X-Ref Target - Figure 11-5
図 11‐5 : 合成後プ ロ ジ ェ ク ト の作成
注記 : [Do not specify sources at this time] オプシ ョ ン を オンにする と 、 プ ロ ジ ェ ク ト 作成後にデザ イ ン ソ ース を追
加で き ます。
2.
[Next] を ク リ ッ ク し ます。
X-Ref Target - Figure 11-6
図 11‐6 : 合成後のプ ロ ジ ェ ク ト へのフ ァ イルの追加
3.
136 ページの図 11-6 に示す よ う に、[Add Netlist Sources] ページで + マー ク を ク リ ッ ク し て フ ァ イ ルを追加 し ます。
4.
[Add Source Files] ダ イ ア ロ グ ボ ッ ク ス で[Files of type] が [All Files] に変更 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
136
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
X-Ref Target - Figure 11-7
図 11‐7 : [Add Source Files] ダ イ ア ログ ボ ッ ク スでのフ ァ イル タ イ プの変更
最上位デザ イ ンの EDIF ネ ッ ト リ ス ト を選択 し て [OK] を ク リ ッ ク し ます。
5.
同様にブ ロ ッ ク デザ イ ン (.bd フ ァ イ ル) を探 し て、 その フ ァ イ ルを プ ロ ジ ェ ク ト に追加 し ます。 ブ ロ ッ ク デザ イ
ンが追加 さ れたので、 すべての関連す る 制約 と ブ ロ ッ ク デザ イ ンの DCP フ ァ イ ルが Vivado で検出 さ れます。 ブ
ロ ッ ク デザ イ ンは、 再合成 さ れませんが、 制約は再処理 さ れます。
6.
[Next] を ク リ ッ ク し ます。
X-Ref Target - Figure 11-8
図 11‐8 : プ ロ ジ ェ ク ト の EDIF および DCP フ ァ イルの追加
7.
[Add Constraints] ページでプ ロ ジ ェ ク ト に必要な制約フ ァ イ ル (XDC) を追加 し 、 [Next] を ク リ ッ ク し ます。
8.
必要に応 じ て タ ーゲ ッ ト パーツ ま たは タ ーゲ ッ ト プ ラ ッ ト フ ォーム を指定 し て [Next] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
137
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
9.
[New Project Summary] ページに表示 さ れ る プ ロ ジ ェ ク ト 情報をすべて確認 し て、 [Finish] を ク リ ッ ク し ます。
プ ロ ジ ェ ク ト を作成 し た と き に EDIF ネ ッ ト リ ス ト フ ァ イ ル、 DCP ま たはデザ イ ン制約を追加 し なか っ た場合
は、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク し て [Add Sources] を ク リ ッ ク す る と 、 後で必要に応 じ て こ れ ら のデザ イ
ン ソ ース フ ァ イ ルを追加で き ます。
X-Ref Target - Figure 11-9
図 11‐9 : Synplify からの HDL ネ ッ ト リ ス ト お よび DCP フ ァ イルのプ ロ ジ ェ ク ト への追加
最上位制約の追加
デザ イ ン の イ ン プ リ メ ン テーシ ョ ン前に、 プ ロ ジ ェ ク ト に必要なデザ イ ン制約を追加 し てお く 必要があ り ま す。 ブ
ロ ッ ク デザ イ ン を ネ ッ ト リ ス ト プ ロ ジ ェ ク ト に追加す る と 、 ブ ロ ッ ク デザ イ ンの制約フ ァ イ ルがプ ロ ジ ェ ク ト に追
加 さ れますが、 ブ ロ ッ ク デザ イ ンの階層を変更 し た場合は、 制約で使用 さ れ る 階層パ ス に正 し い適用範囲が含まれ る
よ う に XDC フ ァ イ ルの制約を変更す る 必要があ り ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』
(UG903) の こ のセ ク シ ョ ン を参照 し て く だ さ い。
制約フ ァ イ ルは、 前述の よ う にプ ロ ジ ェ ク ト が作成 さ れた と き に追加で き る ほか、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク
し て [Add Sources] を ク リ ッ ク し し て も 追加で き ます。
ELF フ ァ イルの追加
ブ ロ ッ ク デザ イ ンにそれに関連付け ら れた ELF (executable and linkable format) フ ァ イ ルが含まれ る 場合は、 ELF フ ァ
イ ルを Vivado プ ロ ジ ェ ク ト に追加す る 必要があ り ま あす。 ELF フ ァ イ ルは、 前述の よ う にプ ロ ジ ェ ク ト が作成 さ れ
た と き に追加で き る ほか、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク し て [Add Sources] を ク リ ッ ク し し て も 追加で き ます。
1.
139 ページの図 11-10 に示す よ う に、 [Add Sources] ダ イ ア ロ グ ボ ッ ク ス で [Add design sources] をオンに し ます。
2.
[Next] を ク リ ッ ク し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
138
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
X-Ref Target - Figure 11-10
図 11‐10 : [Add design sources] オプ シ ョ ン
3.
[Add Design Sources] ページで + マー ク を ク リ ッ ク し て フ ァ イ ルを追加 し ます。
[Add Source Files] ダ イ ア ロ グ ボ ッ ク ス で[Files of type] が [All Files] にな っ てい る こ と を確認 し て く だ さ い。 .
4.
ELF フ ァ イ ルを含むフ ォ ルダーを参照 し て ELF フ ァ イ ルを選択 し て [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 11-11
図 11‐11 : ELF フ ァ イルの追加
5.
[Finish] を ク リ ッ ク す る と 、 フ ァ イ ルがプ ロ ジ ェ ク ト に追加 さ れます。
注記 : ELF フ ァ イ ルは、 次の コ マ ン ド を使用 し て も 追加で き ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
139
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
add_files <path_to_elf_file>/<file_name>.elf
次の図に示す よ う に、 追加 さ れた ELF フ ァ イ ルは [Sources] ウ ィ ン ド ウ に表示 さ れます。
X-Ref Target - Figure 11-12
図 11‐12 : プ ロ ジ ェ ク ト 内の ELF フ ァ イル
ELF フ ァ イ ルがプ ロ ジ ェ ク ト に追加 さ れた ら 、 SCOPED_TO_REF お よ び SCOPED_TO_CELL プ ロ パテ ィ を設定
し て、 その ELF フ ァ イ ルを エンベデ ッ ド プ ロ セ ッ サ デザ イ ン オブジ ェ ク ト に関連付け る 必要があ り ます。
6.
[Sources] ウ ィ ン ド ウ で ELF フ ァ イ ルを選択 し ます。
[Source File Properties] ウ ィ ン ド ウ で SCOPED_TO_CELLS お よ び SCOPED_TO_REF プ ロ パ テ ィ の テ キ ス ト
フ ィ ール ド を ク リ ッ ク し て編集 し ます。
7.
SCOPED_TO_REF プ ロ パテ ィ を ブ ロ ッ ク デザ イ ンの名前に設定 し ます。
8.
SCOPED_TO_CELL プ ロ パテ ィ をブ ロ ッ ク デザ イ ンのエンベデ ッ ド プ ロ セ ッ サ セルの イ ン ス タ ン ス名に設定 し
ます。
141 ページの図 11-13 では、た と えば SCOPED_TO_REF は base_microblaze_design、SCOPED_TO_CELL は
microblaze_0 に設定 さ れてい ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
140
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
X-Ref Target - Figure 11-13
図 11‐13 : ELF フ ァ イルの SCOPE プ ロパテ ィ
こ れ ら のプ ロ パテ ィ は、 次の Tcl コ マ ン ド を使用 し て も 設定で き ます。
set_property SCOPED_TO_REF <block_design_name> [get_files \
<file_path>/file_name.elf]
set_property SCOPED_TO_CELLS { <processor_instance> } [get_files \
<file_path>/file_name.elf]
デザイ ンのイ ン プ リ メ ン テーシ ョ ン
次は、 デザ イ ン を イ ンプ リ メ ン ト し て、 ビ ッ ト ス ト リ ーム を生成 し ます。
1.
Flow Navigator で [Program and Debug] → [Generate Bitstream] を ク リ ッ ク し ます。
X-Ref Target - Figure 11-14
図 11‐14 : [Open Implemented Design]
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
141
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
ビ ッ ト ス ト リ ームが生成 さ れた ら 、 イ ンプ リ メ ン ト さ れたデザ イ ン を開いて、 すべての タ イ ミ ン グ制約が満た さ
れ る よ う に し ます。
2.
[Bitstream Generation Completed] ダ イ ア ロ グ ボ ッ ク ス で [Open Implemented Design] を ク リ ッ ク し ます。
タ イ ミ ン グ サマ リ レ ポー ト で タ イ ミ ン グ を検証 し ます。 ELF デー タ を使用 し て も BRAM INIT_STRINGS が生成
さ れ る か確認で き ます。
3.
メ イ ン メ ニ ュ ーか ら [Edit] → [Find] を ク リ ッ ク し ます。
4.
次の図に示す よ う に [Find] ダ イ ア ロ グ ボ ッ ク ス で [PRIMITIVE TYPE] を [BMEM.BRAM] に設定 し て、 [OK] を ク
リ ッ ク し ます。
X-Ref Target - Figure 11-15
図 11‐15 : BRAM の検索
5.
[Find Results] ウ ィ ン ド ウ で BRAM の イ ン ス タ ン ス を選択 し て、 [Cell Properties] ウ ィ ン ド ウ で INIT プ ロ パテ ィ が
生成 さ れた こ と を確認 し ます。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
142
第 11 章 : IP イ ン テグレー タ ーでのサー ド パーテ ィ 合成ツールの使用
X-Ref Target - Figure 11-16
図 11‐16 : BRAM の INIT プ ロパテ ィ の確認
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
143
付録 A
その他の リ ソ ース
ザイ リ ン ク ス リ ソ ース
ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 ザ イ リ ン ク ス サポー ト サ イ ト を参照 し て
く だ さ い。
デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ
ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。
参考資料
注記 : 日本語版のバージ ョ ンは、 英語版 よ り 古い場合があ り ます。
1.
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)
2.
『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ーの概要』 (UG892)
3.
『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) (UG895)
4.
『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896)
5.
『Vivado Design Suite ユーザー ガ イ ド :エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン (UG898)
6.
『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903)
7.
『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908)
8.
『Vivado Design Suite : ISE か ら Vivado Design Suite への移行手法ガ イ ド 』 (UG911)
9.
『UltraFast 設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949 : 英語版、 日本語版)
10. 『Vivado Design Suite チ ュ ー ト リ アル : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG995)
11. 『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1118)
12. 『Generating Basic Software Platforms Reference Guide』 (UG1138)
13. 『Zynq-7000 AP SoC お よ び 7 シ リ ーズ デバ イ ス メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー ガ イ ド 』
(UG586 : 英語版、 日本語版)
14. 『LogiCORE IP AXI Interrupt Controller』 (PG099)
15. 『LogiCORE IP UltraScale アーキ テ ク チ ャ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン製品ガ イ ド 』
(PG150 : 英語版、 日本語版)
16. Vivado Design Suite の資料
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
144
付録 A : その他の リ ソ ース
ト レーニ ング リ ソ ース
ザ イ リ ン ク ス では、本書に含まれ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ースお よ びオン ラ イ ン ビデオを
提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。
1.
Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado IP イ ン テ グ レー タ ーを使用 し たデザ イ ン
2.
Vivado Design Suite ビデオ チ ュ ー ト リ アル :Vivado IP イ ン テ グ レー タ ーを使用 し た Zynq デバ イ ス の設計
3.
Vivado での FPGA 設計導入 ト レーニ ン グ コ ース
4.
Zynq All Programmable SoC エンベデ ッ ド シ ス テ ム開発
5.
エンベデ ッ ド シ ス テ ム開発 – 実践編 –
お読み く だ さ い : 重要な法的通知
本通知に基づいて貴殿ま たは貴社 (本通知の被通知者が個人の場合には 「貴殿」 、 法人その他の団体の場合には 「貴社」 。 以下同 じ )
に開示 さ れ る 情報 (以下 「本情報」 と いい ます) は、 ザ イ リ ン ク ス の製品を選択お よ び使用す る こ と のためにのみ提供 さ れ ます。 適
用 さ れ る 法律が許容す る 最大限の範囲で、 (1) 本情報は 「現状有姿」、 お よ びすべて受領者の責任で (with all faults) と い う 状態で提供
さ れ、 ザ イ リ ン ク ス は、 本通知を も っ て、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますが こ れ ら
に限 ら れません)、 すべての保証お よ び条件を負わない (否認す る ) も の と し ます。 ま た、 (2) ザ イ リ ン ク ス は、 本情報 (貴殿ま たは貴
社に よ る 本情報の使用を含む) に関係 し 、 起因 し 、 関連す る 、 いかな る 種類 ・ 性質の損失ま たは損害について も 、 責任を負わない
(契約上、 不法行為上 (過失の場合を含む)、 その他のいかな る 責任の法理に よ る かを問わない) も の と し 、 当該損失ま たは損害には、
直接、 間接、 特別、 付随的、 結果的な損失 ま たは損害 (第三者が起 こ し た行為の結果被っ た、 デー タ 、 利益、 業務上の信用の損失、
その他あ ら ゆ る 種類の損失や損害を含みま す) が含 ま れ る も の と し 、 それは、 た と え当該損害や損失が合理的に予見可能で あ っ た
り 、 ザ イ リ ン ク ス がそれ ら の可能性について助言を受け ていた場合であ っ た と し て も 同様です。 ザ イ リ ン ク ス は、 本情報に含ま れ る
いかな る 誤 り も 訂正す る 義務を負わず、本情報ま たは製品仕様のア ッ プデー ト を貴殿ま たは貴社に知 ら せ る 義務 も 負い ません。事前
の書面に よ る 同意のない限 り 、 貴殿ま たは貴社は本情報を再生産、 変更、 頒布、 ま たは公に展示 し てはな り ません。 一定の製品は、
ザ イ リ ン ク ス の限定的保証の諸条件に従 う こ と と な る ので、 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販売条件
を参照 し て く だ さ い。 IP コ アは、 ザ イ リ ン ク ス が貴殿ま たは貴社に付与 し た ラ イ セ ン ス に含ま れ る 保証 と 補助的条件に従 う こ と に
な り ます。 ザ イ リ ン ク ス の製品は、 フ ェ イ ルセーフ と し て、 ま たは、 フ ェ イ ルセーフ の動作を要求す る アプ リ ケーシ ョ ンに使用す る
ために、設計 さ れた り 意図 さ れた り し てい ません。 その よ う な重大な アプ リ ケーシ ョ ンにザ イ リ ン ク ス の製品を使用す る 場合の リ ス
ク と 責任は、 貴殿ま たは貴社が単独で負 う も のです。 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販売条件を参照
し て く だ さ い。
© Copyright 2013-2015 Xilinx, Inc. Xilinx、 Xilinx の ロ ゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 お よ び こ の文書に含ま
れ る その他の指定 さ れたブ ラ ン ド は、 米国お よ びその他各国のザ イ リ ン ク ス社の商標です。 すべてのその他の商標は、 それぞれの保
有者に帰属 し ます。
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの
右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ーム か ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で
入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受
け付けてお り ません。 あ ら か じ めご了承 く だ さ い。
IP イ ン テグ レー タ ーを使用 し た IP サブ シス テムの設計 japan.xilinx.com
UG994 (v2015.4) 2015 年 11 月 18 日
145