vivado design suite - xilinx...vivado design suite ユーザー ガイド パーシャル...

139
Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 4 27 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に よっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきまし ては、必ず最新英語版をご参照ください。

Upload: others

Post on 19-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

Vivado Design Suite ユーザー ガイド

パーシャル リコンフ ィギュレーシ ョ ン

UG909 (v2018.1) 2018 年 4 月 27 日

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

Page 2: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

パーシャル リコンフ ィギュレーシ ョ ン 2UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

改訂履歴

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

セクシ ョ ン 改訂内容

2018 年 4 月 27 日 バージョ ン 2018.1

全体的なアップデート メニュー コマンドをアップデート。

「概要」 サポート される UltraScale+™ パーツをアップデート。

「パーティシ ョ ン ピン」 -net および -pins オプシ ョ ンに関する情報を追加。

「パーシャル リ コンフ ィギュレーシ ョ ン IP」 使用可能なパーシャル リ コンフ ィギュレーシ ョ ン IP の詳細

を説明する新規セクシ ョ ン。

「FPGA をコンフ ィギュレーシ ョ ンするシステム デザイン」 パーシャル リ コンフ ィギュレーシ ョ ン ポート とフォーマッ

トの規則を追加。

Page 3: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

目次

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

第 1 章: 入門概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

パーシャル リ コンフ ィギュレーシ ョ ンについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

設計に関する考慮事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

パーシャル リ コンフ ィギュレーシ ョ ンのライセンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

第 2 章: 一般的なアプリケーシ ョ ン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

ネッ ト ワーク接続された複数のインターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

標準バス インターフェイスを使用したコンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン可能なパケッ ト プロセッサ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

非対称キー暗号化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

ま とめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

第 3 章: Vivado ツール フロー概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

パーシャル リ コンフ ィギュレーシ ョ ン コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

パーシャル リ コンフ ィギュレーシ ョ ンの制約とプロパティ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

ツール フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Tcl スク リプ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

第 4 章: Vivado プロジェク ト フロー概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

フローの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

パーシャル リ コンフ ィギュレーシ ョ ン プロジェク トの作成および使用手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

サポート される機能とサポート されない機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

パーシャル リ コンフ ィギュレーシ ョ ン IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

デザイン階層 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

パーティシ ョ ン ピンの配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

アクティブ Low のリセッ ト と ク ロ ッ ク イネーブル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

デカップリ ング機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

ブラ ッ ク ボッ クス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

インプリ メンテーシ ョ ンでの効果的な方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

コンフ ィギュレーシ ョ ン解析レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

パーシャル リコンフ ィギュレーシ ョ ン 3UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 4: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

PR デザインの制約の管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

リ コンフ ィギャラブル パーティシ ョ ン境界の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

デッ ド ロ ッ ク状態の回避 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

デザイン リ ビジ ョ ン チェッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

シ ミ ュレーシ ョ ンおよび検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

リ コンフ ィギャラブル モジュール内のデザイン エレ メン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

グローバル ク ロ ッ クの規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

7 シ リーズ デバイスでの Pblock の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

高速ト ランシーバーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

パーシャル リ コンフ ィギュレーシ ョ ン デザイン チェッ ク リ ス ト (7 シ リーズ デバイス) . . . . . . . . . . . . . . . . . . . . 91

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

リ コンフ ィギャラブル モジュール内のデザイン エレ メン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

UltraScale および UltraScale+ デバイスでの Pblock の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

グローバル ク ロ ッ クの規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

I/O 規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

高速ト ランシーバーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

UltraScale および UltraScale+ デバイス デザインでのパーシャル リ コンフ ィギュレーシ ョ ン チェッ ク リ ス ト . 105

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

コンフ ィギュレーシ ョ ン モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

ビッ ト ス ト リーム タイプの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

ICAP を介したパーシャル リ コンフ ィギュレーシ ョ ン (Zynq デバイス) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Tandem コンフ ィギュレーシ ョ ンおよびパーシャル リ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

内部コンフ ィギュレーシ ョ ン ポートに配布するための BIN ファ イルのフォーマッ ト . . . . . . . . . . . . . . . . . . . . . 120

UltraScale デバイスでの BIT ファ イルのサマリ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

FPGA をコンフ ィギュレーシ ョ ンするシステム デザイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

パーシャル BIT ファ イルの整合性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

コンフ ィギュレーシ ョ ン フレーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

コンフ ィギュレーシ ョ ン時間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

コンフ ィギュレーシ ョ ン デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Vivado デバッグ コアの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

第 9 章: 既知の問題および制限既知の問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

既知の制限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

付録 A: 階層デザイン フロー概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

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

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

Xilinx Documentation Navigator およびデザイン ハブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

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

パーシャル リコンフ ィギュレーシ ョ ン 4UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 6: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 1 章

入門

概要

パーシャル リ コンフ ィギュレーシ ョ ンは、 アクティブなデザイン内でモジュールを動的に変更するこ とを可能にし

ます。 このフローでは、 複数のコンフ ィギュレーシ ョ ンのインプリ メンテーシ ョ ン (各コンフ ィギュレーシ ョ ンのフ

ル ビッ ト ス ト リーム) と、 各リ コンフ ィギャラブル モジュールのパーシャル ビッ ト ス ト リームが必要です。

必要なコンフ ィギュレーシ ョ ンの数はインプリ メン トする必要のあるモジュールの数によって異なり ますが、 すべ

てのコンフ ィギュレーシ ョ ンで同じ 上位 (スタティ ッ ク ) の配置配線結果が使用されます。 これらのスタティ ッ ク

の結果は初期コンフ ィギュレーシ ョ ンからエクスポート され、 その後のすべてのコンフ ィギュレーシ ョ ンにチェッ

クポイン ト を使用してインポート されます。

このガイ ドは、 次のよ うに記述されています。

• Vivado® Design Suite でインプリ メン ト されるパーシャル リ コンフ ィギュレーシ ョ ンについて説明します。

• FPGA 設計ソフ ト ウェア、 特にザイ リ ンクス Vivado Design Suite の使用に慣れているこ とを前提と しています。

• Vivado Design Suite 2018.1 用に記述されています。 この リ リースでは、 次の製品のパーシャル リ コンフ ィギュ

レーシ ョ ンがサポート されます。

° 7 シ リーズ デバイス : ほぼすべての Virtex®-7、 Kintex®-7、 Artix®-7、 および Zynq®-7000 SoC デバイス。

- Spartan®-7 デバイスはサポート されません。

- Artix-7 7A12T および 7A25T はサポート されません。

- シングルコア プロセッサの Zynq-7000 デバイス (Z-7007S、 Z-7012S、 Z-7014S) はサポート されません。

° UltraScale™ デバイス :

- VU440 以外のプロダクシ ョ ン デバイスで配置配線およびビッ ト ス ト リーム生成をイネーブル。 このデ

バイスへのアクセスが必要な場合は、 ご請求ください。

- ES2 デバイスではビッ ト ス ト リーム生成はデフォルトでディ スエーブルですが、 配置配線は実行可能

です。

° UltraScale+™ デバイス :

- すべての Zynq UltraScale+ RFSoC デバイスを含むプロダクシ ョ ン デバイスすべてで配置配線および

ビッ ト ス ト リーム生成をイネーブル。

- Virtex UltraScale+ VU37P で配置配線をイネーブル。 このデバイスは ES1 のみが入手可能なので、 ビッ

ト ス ト リーム生成はディ スエーブルになっています。

- UltraScale+ デバイスの多くのエンジニア リ ング シ リ コン (ES1、 ES2) で配置配線をイネーブル。 これら

のデバイスでは、 ビッ ト ス ト リーム生成はデフォルトでディ スエーブルになっています。

パーシャル リコンフ ィギュレーシ ョ ン 6UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 7: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 1 章: 入門

ビデオ: 7 シ リーズ デバイスでの Vivado パーシャル リ コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンの概要は、

Vivado Design Suite QuickTake ビデオ: Vivado でのパーシャル リ コンフ ィギュレーシ ョ ンを参照してください。

UltraScale デバイスでの Vivado パーシャル リ コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンの概要は、

Vivado Design Suite QuickTake ビデオ: UltraScale でのパーシャル リ コンフ ィギュレーシ ョ ンを参照して ください。

パーシャル リ コンフ ィギュレーシ ョ ンについて

FPGA テク ノ ロジには、 変更したデザインで再製造するこ とな く、 オンサイ トでプログラムおよび再プログラムでき

る柔軟性があ り ます。 パーシャル リ コンフ ィギュレーシ ョ ン (PR) はこの柔軟性をさらに一歩進め、 動作中の FPGA

デザインをパーシャル コンフ ィギュレーシ ョ ン ファ イル (パーシャル BIT ファ イル) を読み込むこ とによ り変更でき

るよ うにします。 フル BIT ファ イルで FPGA をコンフ ィギュレーシ ョ ンした後、 パーシャル BIT ファ イルをダウン

ロード して FPGA のリ コンフ ィギャラブル領域を変更します。 この際、 リ コンフ ィギュレーシ ョ ンされない領域で

実行されているアプリ ケーシ ョ ンが影響を受けるこ とはあ り ません。

図 1-1 に、 パーシャル リ コンフ ィギュレーシ ョ ンの基本的な概念を示します。

この図に示すよ うに、 Reconfig Block A にインプリ メン ト されたファンクシ ョ ンは、 A1.bit、 A2.bit、 A3.bit、

または A4.bit のいずれかのパーシャル BIT ファ イルをダウンロードするこ とによ り変更できます。FPGA デザイン

のロジッ クは、 リ コンフ ィギャラブル ロジッ ク と スタティ ッ ク ロジッ クの 2 種類に分類できます。 FPGA ブロ ッ ク

の灰色の部分はスタティ ッ ク ロジッ クを表し、 Reconfig Block "A" と示された部分はリ コンフ ィギャラブル ロジッ ク

を表します。 スタティ ッ ク ロジッ クは動作し続け、 パーシャル BIT ファ イルの読み込みの影響は受けません。 リ コ

ンフ ィギャラブル ロジッ クは、 パーシャル BIT ファ イルの内容に置き換えられます。

1 つの FPGA でハードウェアを動的に時分割できる機能には、 多数の利点があ り ます。 その一部を次に示します。

• 特定のファンクシ ョ ンをインプリ メン トするのに必要な FPGA のサイズを削減して、 コス トおよび消費電力を

削減

• アプリ ケーシ ョ ンで使用可能なアルゴ リズムまたはプロ ト コルの選択肢が広がる

• デザイン セキュ リティの新しい技術を使用可能

• FPGA のフォールト ト レランスを向上

• 再構成可能コンピューティングを促進

パーシャル リ コンフ ィギュレーシ ョ ンは、 サイズ、 重量、 消費電力、 コス ト を削減するのに加え、 新しいタイプの

FPGA デザインを可能にします。

X-Ref Target - Figure 1-1

図 1-1: パーシャル リコンフ ィギュレーシ ョ ンの基本的な概念

FPGA

ReconfigBlock “A”

A4.bitA3.bit

A2.bitA1.bit

X12001

パーシャル リコンフ ィギュレーシ ョ ン 7UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 8: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 1 章: 入門

用語

次の用語はパーシャル リ コンフ ィギュレーシ ョ ン機能に特有の用語であ り、 このガイ ドで使用されます。

ボトムアップ合成

1 つまたは複数のプロジェク トで、 デザインをモジュールごとに合成する手法。 Vivado では、 ボ ト ムアップ合成は

アウ ト オブ コンテキス ト (OOC) 合成と呼ばれます。 OOC 合成では OOC モジュールごとに個別のネッ ト リ ス ト (ま

たは DCP) が作成されます。 パーシャル リ コンフ ィギュレーシ ョ ンでは、 モジュールの境界を越えて 適化が実行

されないよ うにするため、 OOC 合成が必要です。 OOC 合成では、 上位 (またはスタティ ッ ク ) ロジッ クは各 OOC

モジュールのブラ ッ ク ボッ クス モジュール定義と共に合成されます。

コンフ ィギュレーシ ョ ン

各リ コンフ ィギャラブル パーティシ ョ ンに対して 1 つのリ コンフ ィギャラブル モジュールを含む完全なデザイン。

パーシャル リ コンフ ィギュレーシ ョ ン FPGA プロジェク トには、 複数のコンフ ィギュレーシ ョ ンがあ り ます。 各コ

ンフ ィギュレーシ ョ ンに対して、フル BIT ファ イル 1 つと、各リ コンフ ィギャラブル モジュール (RM) にパーシャル

BIT ファ イルが 1 つずつ生成されます。

コンフ ィギュレーシ ョ ン フレーム

FPGA コンフ ィギュレーシ ョ ン メモ リ空間のアドレス指定可能な 小セグメン ト。 リ コンフ ィギャラブル フレーム

は、 下位エレ メン トから構成されます。 ザイ リ ンクス デバイスでは、 基本リ コンフ ィギャラブル フレームは幅が

1 エレ メン ト (CLB、 ブロ ッ ク RAM、 DSP)、 高さが 1 ク ロ ッ ク領域です。 フレームに含まれる リ ソース数は、 デバイ

ス ファ ミ リによって異なり ます。

内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP)内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP) は、 SelectMAP インターフェイスの内部バージ ョ ン。 詳細は、

『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470) [参照 7] および 『UltraScale アーキテクチャ コ

ンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 8] を参照してください。

メディア コンフ ィギュレーシ ョ ン アクセス ポート (MCAP)各 UltraScale デバイスに含まれる特定の PCIe® ブロ ッ クから ICAP への専用リ ンク。 このエン ト リ ポイン トは、 ザイ

リ ンクス PCIe IP をコンフ ィギュレーシ ョ ンする と きに有効にできます。

パーシャル リコンフ ィギュレーシ ョ ン (PR)パーシャル ビッ ト ス ト リームをダウンロードするこ とによ り動作中の FPGA デザインのロジッ クのサブセッ ト を変

更するこ と。

パーシャル リコンフ ィギュレーシ ョ ン 8UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 9: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 1 章: 入門

パーティシ ョ ン

デザインの再利用のために階層境界で定義されたデザインの論理セクシ ョ ン。 新し く インプリ メン トするか、 以前

のインプ リ メンテーシ ョ ンを保持します。 保持されたパーティシ ョ ンは、 機能が同一であるだけでなく、 インプリ

メンテーシ ョ ンも同一です。

パーティシ ョ ン定義 (PD)これはプロジェク ト フローのみで使用される用語です。 パーティシ ョ ン定義は、 モジュール インスタンス (または

リ コンフ ィギャラブル パーティシ ョ ン) に関連付けられている リ コンフ ィギャラブル モジュール セッ ト を定義しま

す。 PD はモジュールのすべてのインスタンスに適用され、 モジュール インスタンスのサブセッ トに関連付けるこ と

はできません。

パーティシ ョ ン ピン

スタティ ッ ク ロジッ ク と リ コンフ ィギャラブル ロジッ クの間の論理および物理接続。 パーティシ ョ ン ピンは、 ツー

ルで自動的に接続、 配置、 および管理されます。

プロセッサ コンフ ィギュレーシ ョ ン アクセス ポート (PCAP)プロセッサ コンフ ィギュレーシ ョ ン アクセス ポート (PCAP) は、 内部コンフ ィギュレーシ ョ ン アクセス ポート

(ICAP) と類似した、 Zynq-7000 SoC デバイスをコンフ ィギュレーシ ョ ンする場合に使用されるプライマ リ ポート。

詳細は、 『Zynq-7000 SoC テクニカル リ ファレンス マニュアル』 (UG585) [参照 9] を参照してください。

プログラマブル ユニッ ト (PU)UltraScale アーキテクチャで、 リ コンフ ィギュレーシ ョ ンに 低限必要な リ ソース。 PU のサイズはリ ソースのタイ

プによって異なり ます。 UltraScale アーキテクチャでは隣接のサイ ト と配線リ ソース (インターコネク ト タイル) が共

有されるので、 PU はペアで定義されます。

リコンフ ィギャラブル フレーム

FPGA 内でリ コンフ ィギュレーシ ョ ン可能な 小領域。 リ コンフ ィギャラブル フレームのビッ ト ス ト リーム サイズ

は、 フレームに含まれるロジッ クのタイプによって異なり ます。

リコンフ ィギャラブル ロジック

リ コンフ ィギャラブル モジュールの一部である論理エレ メン ト。 パーシャル BIT ファ イルを読み込むと、 これらの

論理エレ メン トが変更されます。 LUT、 フ リ ップフロ ップ、 ブロ ッ ク RAM、 DSP ブロッ クなど、 さまざまなタイプ

の論理コンポーネン ト を リ コンフ ィギュレーシ ョ ンできます。

リコンフ ィギャラブル モジュール (RM)リ コンフ ィギャラブル パーティシ ョ ンにインプリ メン ト されるネッ ト リ ス ト または HDL 記述。 1 つのリ コンフ ィ

ギャラブル パーティシ ョ ンには複数の RM が含まれます。

パーシャル リコンフ ィギュレーシ ョ ン 9UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 10: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 1 章: 入門

リコンフ ィギャラブル パーティシ ョ ン (RP)インスタンスを リ コンフ ィギャラブルと定義する属性セッ ト。 異なる リ コンフ ィギャラブル モジュールがインプリ

メン ト される階層レベルです。 opt_design、 place_design、 route_design などの Tcl コマンドでは、 インス

タンスに設定されている HD.RECONFIGURABLE プロパティが検出され、 正し く処理されます。

スタテ ィ ッ ク ロジック

リ コンフ ィギャラブル パーティシ ョ ンに含まれない論理エレ メン ト。 スタティ ッ ク ロジッ クは、 リ コンフ ィギュ

レーシ ョ ンされるこ とはなく、 リ コンフ ィギャラブル パーティシ ョ ンがリ コンフ ィギュレーシ ョ ンされている間も

常にアクティブです。 上位ロジッ ク と も呼ばれます。

スタテ ィ ッ ク デザイン

パーシャル リ コンフ ィギュレーシ ョ ン中に変更されないデザイン部分。 上位モジュールと、 リ コンフ ィギャラブ

ルと定義されていないすべてのモジュールを含みます。 スタティ ッ ク デザインは、 スタティ ッ ク ロジッ ク と スタ

ティ ッ ク配線で構成されます。

設計に関する考慮事項

パーシャル リ コンフ ィギュレーシ ョ ン (PR) は、 Vivado Design Suite のアドバンス フローです。 PR プロジェク ト を開

始する前に、 次の要件およびガイ ド ラインを理解しておく必要があ り ます。

パーシャル リコンフ ィギュレーシ ョ ンの要件とガイ ド ライン

• パーシャル リ コンフ ィギュレーシ ョ ンには、 Vivado 2013.3 以降を使用する必要があ り ます。

° パーシャル リ コンフ ィギュレーシ ョ ンは ISE Design Suite でもサポート されています。 Virtex-6、 Virtex-5、

Virtex-4 デバイスを使用したパーシャル リ コンフ ィギュレーシ ョ ンでのみ、 ISE Design Suite を使用してく

ださい。 詳細は、 『パーシャル リ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG702) [参照 10] を参照して

ください。

• リ コンフ ィギャラブル領域を定義するには、 エレ メン ト タイプごとにフロアプランが必要です。

° 7 シ リーズ デバイスでは、 Pblock の高さをフレーム/ク ロ ッ ク領域の境界に揃える必要があ り ます。 これに

よ り 高の QoR を達成でき、 RESET_AFTER_RECONFIG をイネーブルにできます。

° UltraScale では、 フロアプランによ り柔軟性があ り ます。 Pblock をフレーム/ク ロ ッ ク領域の境界の手前で止

め、 配線を拡張できるよ うにするこ とをお勧めします。 このよ うにする と、 配線性および QoR が大幅に向

上するこ とがあ り ます。

° 幅に関する規則もあ り ます。 詳細は、 第 3 章の 「リ コンフ ィギャラブル領域のフロアプランを作成」 を参

照してください。

• ボ ト ムアップ/OOC 合成 (複数のネッ ト リ ス ト /DCP ファ イルを作成) およびリ コンフ ィギャラブル モジュール

ネッ ト リ ス ト ファ イルの管理は、 ユーザーの責任で行ってください。

° サードパーティ合成ツールを使用する場合は、 I/O の挿入をディ スエーブルにする必要があ り ます。

° Vivado OOC 合成では、 out_of_context モードにする と I/O の挿入は自動的にディ スエーブルになり ます。

• 標準のタイ ミ ング制約がサポート され、 必要に応じて追加のタイ ミ ング バジェッ ト機能も使用できます。

パーシャル リコンフ ィギュレーシ ョ ン 10UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 11: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 1 章: 入門

• デザインを完成させるために便利な専用のデザイン ルール チェッ ク (DRC) が用意されています。

• PR デザインでは、 パーシャル リ コンフ ィギュレーシ ョ ンの開始だけでなく、 FPGA 内またはシステム デザイン

の一部と してパーシャル BIT ファ イルを配布するこ と も考慮する必要があ り ます。

• Vivado Design Suite では、 Partial Reconfiguration Controller IP がサポート されています。 このカスタマイズ可能な

IP は、 ザイ リ ンクス デバイスでのパーシャル リ コンフ ィギュレーシ ョ ンのコア タスクを管理します。 ハード

ウェアまたはソフ ト ウェアからの ト リガーの受信、 ハンドシェークおよび分離タスクの管理、 メモ リ ロケー

シ ョ ンからのパーシャル ビッ ト ス ト リームの取得、 ICAP へのパーシャル ビッ ト ス ト リームの配布を実行しま

す。 Partial Reconfiguration Controller IP の詳細は、 ザイ リ ンクス ウェブサイ ト を参照してください。

• リ コンフ ィギャラブル パーティシ ョ ンには、 そのパーティシ ョ ンにインプリ メン ト されるさまざまな リ コン

フ ィギャラブル モジュールで使用されるすべてのピンを含める必要があ り ます。 リ コンフ ィギャラブル モ

ジュールで、 ほかのリ コンフ ィギャラブル モジュールとは異なる入力または出力が使用される場合、 結果のリ

コンフ ィギャラブル モジュールの入力または出力がそのリ コンフ ィギャラブル モジュール内で接続されなくな

る可能性があ り ます。 この状況がある場合、 ツールでリ コンフ ィギャラブル モジュール内の未使用の入力また

は出力すべてに対して LUT1 バッファーが挿入されます。 出力 LUT1 は定数値に接続されます。 この定数値は、

未使用の出力ピンの HD.PARTPIN_TIEOFF プロパティによ り制御できます。 このプロパティの詳細は、 第 5 章

の 「ブラ ッ ク ボッ クス」 を参照してください。

• ビッ ト ス ト リームの生成でブラ ッ ク ボッ クスがサポート されます。 ポート を定数値に固定する方法の詳細は、

第 5 章の 「ブラ ッ ク ボッ クス」 を参照してください。

• ユーザー リセッ ト信号では、 RM 内のロジッ クがレベルを認識するのかエッジを認識するのかを決定してくだ

さい。 リセッ ト回路がレベルを認識する場合 (FIFO などの一部 IP の場合など)、 リ コンフ ィギュレーシ ョ ンが完

了するまで RM リセッ トは適用しないでください。

デザイン パフォーマンス

パフォーマンスの評価基準はデザインによって異なり、 付録 A 「階層デザイン フロー」 の階層デザイン設計手法に

従う こ とによ り、 結果を向上できます。 この資料は ISE Design Suite 用に作成されたものですが、 その設計手法は

Vivado Design Suite にも適用できます。 設計に関する追加の推奨事項は、 『UltraFast 設計手法ガイ ド (Vivado Design

Suite 用)』 (UG949) [参照 11] を参照してください。

ただし、 シ リ コンの分離に必要な追加の制限事項があ り、 これがほとんどのデザインに影響します。 配線の格納、

排他配置、 リ コンフ ィギャラブル モジュールの境界を越えた 適化を実行しないなどのパーシャル リ コンフ ィギュ

レーシ ョ ン規則を適用する と、 PR デザインの全体的な集積度およびパフォーマンスは同等のフラ ッ ト デザインよ り

低くな り ます。 PR デザインの全体的なデザイン パフォーマンスは、 リ コンフ ィギャラブル パーティシ ョ ンの数、

これらのパーティシ ョ ンへのインターフェイス ピンの数、 Pblock のサイズおよび形状などの要素に左右されます。

パーシャル リ コンフ ィギュレーシ ョ ンをソ リ ューシ ョ ンと して考慮するには、 デザインに追加のタイ ミ ング スラ ッ

クおよびリ ソース オーバーヘッ ドが必要です。 デザインを PR に使用できるかを評価する際の詳細は、 71 ページの

「インプ リ メンテーシ ョ ン要件の作成」 を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン 11UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 12: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 1 章: 入門

PR デザインの条件

• コンポーネン ト タイプによって、 リ コンフ ィギュレーシ ョ ン可能なものとそ うでないものがあ り ます。

7 シ リーズ デバイスでは、 コンポーネン トの規則は次のとおりです。

° リ コンフ ィギュレーシ ョ ン可能な リ ソースには、 CLB、 ブロ ッ ク RAM、 DSP コンポーネン ト、 配線リ ソー

スなどがあ り ます。

° 次のクロ ッ クおよびクロ ッ ク調整ロジッ クはリ コンフ ィギュレーシ ョ ン不可能なので、 スタティ ッ ク領域

に配置する必要があ り ます。

- BUFG、 BUFR、 MMCM、 PLL などのコンポーネン ト

° 次のコンポーネン トはリ コンフ ィギュレーシ ョ ン不可能なので、 スタティ ッ ク領域に配置する必要があ り

ます。

- I/O および I/O 関連のコンポーネン ト (ISERDES、 OSERDES、 IDELAYCTRL)

- シ リ アル ト ランシーバー (MGT) および関連のコンポーネン ト

- アーキテクチャ機能コンポーネン ト (BSCAN、 STARTUP、 ICAP、 XADC など)

UltraScale および UltraScale+ デバイスでは、 よ り多くのコンポーネン ト タイプを リ コンフ ィギュレーシ ョ ン可

能です。

° CLB、 ブロ ッ ク RAM、 DSP コンポーネン ト、 配線リ ソース

° ク ロ ッ クおよびクロ ッ ク調整ロジッ ク (BUFG、 MMCM、 PLL などのコンポーネン ト )

° I/O および I/O 関連のコンポーネン ト (ISERDES、 OSERDES、 IDELAYCTRL)

注記: I/O コンポーネン トの変更タイプは制限されます。 詳細は、 第 7 章の 「I/O 規則」 を参照してくだ

さい。

° シ リアル ト ランシーバー (MGT) および関連のコンポーネン ト

° PCIe、 CMAC、 Interlaken、 および SYSMON ブロッ ク

° これらの新しいコンポーネン トは、 特定の規則に従う必要があ り ます。 たとえば、 I/O のパーシャル リ コ

ンフ ィギュレーシ ョ ンでは、 バンク全体とそのフレームに含まれるすべてのクロ ッ ク リ ソースを一緒にリ

コンフ ィギュレーシ ョ ンする必要があ り ます。

° BSCAN、 STARTUP、 ICAP、 FRAME_ECC などのコンフ ィギュレーシ ョ ン コンポーネン トのみをデザイン

のスタティ ッ ク部分に配置する必要があ り ます。

• リ コンフ ィギャラブル パーティシ ョ ンへのグローバル ク ロ ッ ク リ ソースの配置は、 デバイスおよびこれらのリ

コンフ ィギャラブル パーティシ ョ ンで使用されるクロ ッ ク領域によって制限されます。

• IP をインプリ メン トするのに使用されるコンポーネン ト または IP で必要な接続によって、 IP の制限が発生する

場合があ り ます。 次に例を示します。

° Vivado デバッグ コア (RM 内でのデバッグ コアの使用については 「Vivado デバッグ コアの使用」 を参照)

° エンベデッ ド グローバル バッファーまたは I/O を含む IP モジュール (7 シ リーズのみ)

° メモ リ IP コン ト ローラー (MMCM および BSCAN)

• リ コンフ ィギャラブル モジュールは、 リ コンフ ィギュレーシ ョ ン後に既知の状態から開始するよ う初期化する

必要があ り ます。 7 シ リーズを除くすべてのデバイスでは、 PR が完了する と GSR が自動的に適用されます。 7

シ リーズ デバイスでは、 Pblock 要件が満たされていれば、 RESET_AFTER_RECONFIG プロパティを使用して

GSR をオンにできます。

パーシャル リコンフ ィギュレーシ ョ ン 12UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 13: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 1 章: 入門

• パーシャル リ コンフ ィギュレーシ ョ ン中にリ コンフ ィギャラブル領域とスタティ ッ ク部分の接続を解除するに

は、 デカップ リ ング ロジッ クをお勧めします。

° GSR イベン トが発生する と、 コンフ ィギュレーシ ョ ンが完了するまで RM 内のすべてのロジッ クが リセッ

トに保持されます。 ただし、 RM 出力はランダムになるので、 すべてのダウンス ト リーム ロジッ クを分離

する必要があ り ます。 7 シ リーズで RESET_AFTER_RECONFIG を使用しない場合、 リ コンフ ィギュレー

シ ョ ン中に誤ったデータがキャプチャされないよ うにするため (メモ リへの誤った書き込みなど)、 ク ロ ッ

クおよび入力の追加の分離が必要な場合があ り ます。

° Vivado Design Suite には、 Partial Reconfiguration Decoupler IP が含まれます。 この IP を使用する と、 MUX を

挿入して AXI4-Lite、 AXI4-Stream、 およびカスタム インターフェイスを効率的に分離できます。 Partial

Reconfiguration Decoupler IP の詳細は、 ザイ リ ンクス ウェブサイ ト を参照してください。

• リ コンフ ィギャラブル パーティシ ョ ンは Pblock を使用してフロアプランする必要があるので、 モジュールは物

理的に隔離でき、 タイ ミ ングを満たすこ とができるブロッ クである必要があ り ます。 モジュールが完成したら、

このデザインを PR でない通常のフローで実行し、 配置、 配線、 およびタイ ミ ング結果の初期評価を実行するこ

とをお勧めします。 通常のフローで問題が発生する場合は、 PR フローに移行する前に解決しておく必要があ り

ます。

• RP のインターフェイスをできるだけ 適化します。 RP のインターフェイス ピンの数が多すぎる と、 タイ ミ ン

グおよび配線の問題が発生するこ とがあ り ます。 これは、 パーティシ ョ ン ピンが密集して配置されている場合

に特に問題となり ます。 これは、 次の 2 つの理由で発生します。

a. パーティシ ョ ン ピンの数に対して RP Pblock が小さい。

b. スタティ ッ ク接続のため、 すべてのパーティシ ョ ン ピンが小さなエリ アに配置されている。

PR を設計およびフロアプランする際は、 RP インターフェイスを考慮してください。

• Virtex-7 SSI デバイス (7V2000T、 7VX1140T、 7VH870T、 7VH580T) には、 次の 2 つの基本的な要件があ り ます。

° リ コンフ ィギャラブル領域は、 完全に 1 つの SLR に含まれている必要があ り ます。 これによ り、 グローバ

ル リセッ ト イベン トが リ コンフ ィギャラブル モジュール内のすべてのエレ メン トで正し く同期するよ うに

なり、 すべての SLL (Super Long Line) がデザインのスタティ ッ ク部分に含まれます。 SLL はパーシャル リ

コンフ ィギュレーシ ョ ンできません。

° 7 シ リーズ SSI デバイスの初期コンフ ィギュレーシ ョ ンを SPIx1 インターフェイスを介して実行する場合

は、 リ コンフ ィギャラブル モジュールのある SLR の ICAP か、 JTAG などの外部ポートに、 パーシャル

ビッ ト ス ト リームを配布する必要があ り ます。 初期コンフ ィギュレーシ ョ ンをほかのコンフ ィギュレー

シ ョ ン ポート を介して実行した場合は、 マスター ICAP をパーシャル ビッ ト ス ト リームの配布ポート と し

て使用できます。

• UltraScale デバイスには、 パーシャル リ コンフ ィギュレーシ ョ ン イベン トに関して新たな要件があ り ます。 新

しいリ コンフ ィギャラブル モジュールのパーシャル ビッ ト ス ト リームを読み込む前に、 現在のリ コンフ ィギャ

ラブル モジュールをク リ アして、 リ コンフ ィギュレーシ ョ ンの準備をする必要があ り ます。 UltraScale+ デバイ

スにはこの制限はあ り ません。 詳細は、 第 8 章の 「UltraScale デバイスでの BIT ファ イルのサマリ 」 を参照して

ください。

• パーシャル ビッ ト ス ト リームの専用暗号化は、 ネイティブでサポート されています。 UltraScale デバイスでサ

ポート されていないユース ケースは、 134 ページの 「既知の制限」 を参照して ください。

• デバイスでフレームごとの CRC チェッ ク機構を write_bitstream を使用してイネーブルにでき、 各フレー

ムを読み込む前に検証できます。

パーシャル リコンフ ィギュレーシ ョ ン 13UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 14: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 1 章: 入門

• PR の境界を越える 適化は、 インプリ メンテーシ ョ ン ツールで禁止されています。 PR デザインの WNS パス

は、 RP の境界をまたぐファンアウ トの大きい制御/ リセッ ト信号であるこ とがよ くあ り ます。 RP の境界をまた

ぐファンアウ トの大きい信号は、 ド ライバーを複製できないので避けてください。 ツールで 適化/複製が柔軟

に実行されるよ うにするため、 次を考慮してください。

° RP の入力では、 RP の境界をまたぐ信号をシングル ファンアウ ト ネッ トにし、 ファンアウ トの前に RM 内

で信号にレジスタを付けます。 これは、 RM 内で必要に応じて複製するか、 グローバル リ ソースに配置で

きます。

° 出力でも同様に、 PR の境界をまたぐ信号をシングル ファンアウ ト ネッ トにします。 複製/ 適化のため、

ファンアウ トの前にスタティ ッ クで信号にレジスタを付けます。

• 複数の RP を含むデザインでは、 2 つの RP 間を直接接続しないよ うにするこ とをお勧めします。 これには、 非

同期のスタティ ッ ク ロジッ ク (スタティ ッ クでレジスタが付いていない) を通過する接続も含まれます。 2 つの

RP 間に直接接続がある場合は、 スタティ ッ ク タイ ミ ング解析で可能なすべてのコンフ ィギュレーシ ョ ンを検証

し、 これらのインターフェイスでタイ ミ ングが満たされるこ とを確実にする必要があ り ます。 これを 1 人の

ユーザーが所持して管理する閉じたシステムで実行するこ とは可能ですが、 異なる RM を複数のユーザーで開

発するデザインで検証するこ とは不可能な場合があ り ます。 スタティ ッ ク部分に同期エンドポイン ト を追加す

るこ とによ り、 RM がインプリ メン ト されたコンフ ィギュレーシ ョ ンでタイ ミ ングが満たされれば、 どのコン

フ ィギュレーシ ョ ンでもタイ ミ ングが満たされるよ うになり ます。

パーシャル リ コンフ ィギュレーシ ョ ンはザイ リ ンクス デバイスの高度な機能であ り、 シ リ コンおよびツールの性能

を理解しておく こ とが成功の鍵となり ます。 開発プロセスでは、 ト レードオフを理解および考慮する必要があ り ま

すが、 終的には FPGA デザインのよ り柔軟性なインプリ メンテーシ ョ ンを達成できます。

パーシャル リ コンフ ィギュレーシ ョ ンのライセンス

パーシャル リ コンフ ィギュレーシ ョ ンは、 Vivado Design Suite にオプシ ョ ンで追加可能なライセンス製品です。 価格

および注文情報は、 販売代理店までお問い合わせください。 パーシャル リ コンフ ィギュレーシ ョ ンのライセンスは、

System Edition および Design Edition に含まれており、 WebPACK Edition では購入可能です。

パーシャル リ コンフ ィギュレーシ ョ ン ライセンスは、 HD.RECONFIGURABLE プロパティを含むデザインで個別の

インプ リ メンテーシ ョ ン コマンド (opt_design、 place_design、 route_design、 write_bitstream) が実行

されたと きにチェッ ク されます。 パーシャル リ コンフ ィギュレーシ ョ ン デザインをインプリ メン ト (配置および配

線) し、 パーシャル ビッ ト ス ト リームを生成するには、 ライセンスが必要です。 Vivado IDE 内で固有のチェッ クは実

行されず、 ライセンス機能は保持されません。

パーシャル リコンフ ィギュレーシ ョ ン 14UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 15: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 2 章

一般的なアプリケーシ ョ ン

概要

パーシャル リ コンフ ィギュレーシ ョ ンの基本的な前提は、 マイ クロプロセッサでタスクを切り替えるこ とができる

のと同様に、 デバイス ハードウェア リ ソースを時分割できる という こ とです。 デバイスでハード ウェアのタスクが

切り替えられるので、 ソフ ト ウェア インプリ メンテーシ ョ ンの柔軟性とハード ウェア インプリ メンテーシ ョ ンのパ

フォーマンスの両方において利点があ り ます。 このテク ノ ロジの利点を、 いくつかのシナリオを示しながら説明し

ます。

ネッ トワーク接続された複数のインターフェイス

パーシャル リ コンフ ィギュレーシ ョ ンは、 サイズ、 重量、 消費電力、 コス ト を削減しながら、 従来の FPGA アプリ

ケーシ ョ ンを 適化します。 時間に依存しない機能を特定して分離し、 リ コンフ ィギャラブル モジュールと してイ

ンプ リ メン トするこ とによ り、 1 つのデバイス内で必要に応じて機能を入れ替えます。 40G OTN マッ クスポンダー

アプリ ケーシ ョ ンがその典型的な例です。 マッ クスポンダーのク ライアン ト側のポートは、 複数のインターフェイ

ス プロ ト コルをサポートできますが、 FPGA がコンフ ィギュレーシ ョ ンされるまで、 どのプロ ト コルが使用される

かシステムで予測するこ とは不可能です。 FPGA を リ コンフ ィギュレーシ ョ ンする必要がないよ うにし、 すべての

ポートがディ スエーブルにならないよ うにするには、 16 ページの図 2-1 に示すよ うに、 すべてのインターフェイス

プロ ト コルをすべてのポートにインプリ メン トする必要があ り ます。

パーシャル リコンフ ィギュレーシ ョ ン 15UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 16: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 2 章: 一般的なアプリケーシ ョ ン

各ポートで使用できるのは 1 つの規格のみなので、 このデザインは非効率的です。 パーシャル リ コンフ ィギュレー

シ ョ ンを使用する と、 図 2-2 に示すよ うに各ポート インターフェイスを リ コンフ ィギャラブル モジュールにするこ

とによ り、 よ り効率的なデザインを作成できます。 複数のプロ ト コル エンジンを 1 つのポートに接続するために必

要だった MUX エレ メン ト も不要になり ます。

この基本的な概念をさまざまなデザインで利用できます。 ソフ ト ウェア無線 (SDR) は、 相互に排他的な機能を持ち、

この機能を時分割するこ とで柔軟性およびリ ソース使用率が大幅に向上する多数のアプリ ケーシ ョ ンの 1 つです。

X-Ref Target - Figure 2-1

図 2-1: パーシャル リコンフ ィギュレーシ ョ ンを使用しない場合のネッ トワークの切り替え

X-Ref Target - Figure 2-2

図 2-2: パーシャル リコンフ ィギュレーシ ョ ンを使用した場合のネッ トワークの切り替え

FPGA

Config Memory Storage

10GigE tx/rx

OC192 tx/rx

OTU2 tx/rx

SwitchFabric

10GigE tx/rx

OC192 tx/rx

OTU2 tx/rx

OC192 tx/rx

Port 1

Port 2

Port 3

Port 4

X12003

パーシャル リコンフ ィギュレーシ ョ ン 16UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 17: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 2 章: 一般的なアプリケーシ ョ ン

パーシャル リ コンフ ィギュレーシ ョ ン デザインには、 効率性以外にも利点があ り ます。 16 ページの図 2-2 の例で

は、 スタティ ッ ク ロジッ ク (Switch Fabric) に影響を与えるこ とな く、 新しいプロ ト コルをいつでもサポートできま

す。 1 つのポートに新しい規格を読み込んでも、 ほかの既存ポートには影響はあ り ません。 追加の規格を作成してコ

ンフ ィギュレーシ ョ ン メモ リ ライブラ リに追加できるので、 デザイン全体を再設計する必要はあ り ません。 これに

よ り、 Switch Fabric およびポートのダウン タイムを削減でき、 柔軟性および信頼性が向上します。 デバッグ モ

ジュールを作成するこ と もでき、 ポートでエラーが発生した場合に未使用のポート を解析/修正ロジッ ク と共に読み

込んで、 リ アルタイムに問題を対処できます。

16 ページの図 2-2 の例では、 各プロ ト コルのターゲッ ト となる各物理ロケーシ ョ ンに対し、 パーシャル BIT ファ イ

ルを生成する必要があ り ます。 パーシャル BIT ファ イルは、 デバイス上の物理的な領域に関連付けられます。 この

例では、 4 つのロケーシ ョ ンでそれぞれ 4 つのプロ ト コルに対応するため、 16 個のパーシャル BIT ファ イルがあ り

ます。

標準バス インターフェイスを使用したコンフ ィギュレーシ ョ ン

パーシャル リ コンフ ィギュレーシ ョ ンは、 システム アーキテクチャ と よ り互換性のあるインターフェイス規格を使

用して、 新しいコンフ ィギュレーシ ョ ン ポート を作成できます。 たとえば、 FPGA を PCIe バスのペリ フェラルと

し、 システム ホス トで PCIe® 接続を介して FPGA をコンフ ィギュレーシ ョ ンできます。 パワーオン リセッ トの後、

FPGA はフル BIT ファ イルでコンフ ィギュレーシ ョ ンする必要があ り ますが、 フル BIT ファ イルには PCIe インター

フェイス と内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP) への接続のみが含まれている場合があ り ます。

ビッ ト ス ト リームを圧縮する とサイズが削減され、 この初期デバイス読み込みのコンフ ィギュレーシ ョ ン時間も短

縮されるので、 FPGA コンフ ィギュレーシ ョ ンで PCIe のエニュ メ レーシ ョ ン仕様を満たすこ とができるよ うになり

ます。

その後、 図 2-3 に示すよ うに、 システム ホス トで PCIe ポート を介してパーシャル BIT ファ イルをダウンロードする

と、 FPGA の大部分の機能をコンフ ィギュレーシ ョ ンできます。

X-Ref Target - Figure 2-3

図 2-3: PCIe インターフェイスを使用したコンフ ィギュレーシ ョ ン

ICAP

PCle

Static

Full Bit File

PartialBit File

パーシャル リコンフ ィギュレーシ ョ ン 17UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 18: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 2 章: 一般的なアプリケーシ ョ ン

PCIe 規格では、 要求をサービスできない場合にも要求に応答するため、 ペリ フェラル (この例の場合は FPGA) が必

要です。 FPGA 全体を リ コンフ ィギュレーシ ョ ンする と、 この要件に違反します。 PCIe インターフェイスはスタ

ティ ッ ク ロジッ クの一部なので、 パーシャル リ コンフ ィギュレーシ ョ ンのプロセス中も常にアクティブであ り、

FPGA はリ コンフ ィギュレーシ ョ ン中でも PCIe コマンドに応答できます。

Tandem コンフ ィギュレーシ ョ ンは関連したソ リ ューシ ョ ンであ り、 一見こ こに示す例と同じであるよ うに見えます

が、 パーシャル リ コンフ ィギュレーシ ョ ンを使用したソ リ ューシ ョ ンは、 Tandem コンフ ィギュレーシ ョ ンとは次の

2 つの点が異なり ます。

• PR でのコンフ ィギュレーシ ョ ン プロセスは圧縮によ り小型化および高速化されたフル デバイス コンフ ィギュ

レーシ ョ ンであ り、 その後パーシャル ビッ ト ス ト リームによ りブラ ッ ク ボッ クス領域が上書きされてコンフ ィ

ギュレーシ ョ ンが完了します。 Tandem コンフ ィギュレーシ ョ ンは 2 段階のコンフ ィギュレーシ ョ ンで、 各コン

フ ィギュレーシ ョ ン フレームがプログラムされるのは 1 回だけです。

• 7 シ リーズ デバイスの Tandem コンフ ィギュレーシ ョ ンでは、 ユーザー アプリ ケーシ ョ ンのダイナミ ッ ク リ コ

ンフ ィギュレーシ ョ ンはできません。 パーシャル リ コンフ ィギュレーシ ョ ンを使用する と、 ダイナミ ッ ク領域

に異なるユーザー アプリ ケーシ ョ ンまたはフ ィールド アップデート を読み込み直すこ とができます。UltraScale

デバイスの Tandem コンフ ィギュレーシ ョ ンでは、 フ ィールド アップデートが可能であ り、 パーシャル リ コン

フ ィギュレーシ ョ ンと互換性があ り ます。 全体的なフローは、 Tandem コンフ ィギュレーシ ョ ンで 2 段階の初期

読み込みを実行した後、 ユーザー アプリ ケーシ ョ ンをダイナミ ッ クに修正するパーシャル リ コンフ ィギュレー

シ ョ ンを実行します。

Tandem コンフ ィギュレーシ ョ ンは、 エニュ メ レーシ ョ ン要件を満たすため、 PCIe エンドポイン ト を高速コンフ ィ

ギュレーシ ョ ンするソ リ ューシ ョ ンと して設計されています。 詳細は、 次の資料を参照してください。

• 『7 Series FPGAs Integrated Block for PCI Express 製品ガイ ド』 (PG054) [参照 12]

• 『Virtex-7 FPGA Gen3 PCIe Integrated Block for PCI Express 製品ガイ ド』 (PG023) [参照 13]

• 『LogiCORE IP UltraScale FPGAs Gen3 Integrated Block for PCI Express 製品ガイ ド』 (PG156) [参照 14]

パーシャル リコンフ ィギュレーシ ョ ン 18UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 19: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 2 章: 一般的なアプリケーシ ョ ン

ダイナミ ック リ コンフ ィギュレーシ ョ ン可能なパケット プロセッサ

パケッ ト プロセッサでパーシャル リ コンフ ィギュレーシ ョ ンを使用する と、 受信したパケッ ト タイプに基づいてす

ばやくプロセッシング機能を変更できます。 図 2-4 では、 パケッ トにパーシャル BIT ファ イルを含むヘッダー、 ま

たはパーシャル BIT ファ イルを含む特殊パケッ トがあ り ます。 パーシャル BIT ファ イルは、 処理された後、 FPGA の

コプロセッサを リ コンフ ィギュレーシ ョ ンするために使用されます。 この例では、 パーシャル BIT ファイルの定義

済みライブラ リに依存せずに、 受信データ パケッ トに基づいて FPGA 自体を リ コンフ ィギュレーシ ョ ンしています。

X-Ref Target - Figure 2-4

図 2-4: ダイナミ ック リコンフ ィギュレーシ ョ ン可能なパケッ ト プロセッサ

FPGA

ICAP

Packet Processor

PartiallyReconfigurableCo-processor

Data

Data PBF HData PBF H

PBF: Partial Bit File

1 2

2 1X12005

パーシャル リコンフ ィギュレーシ ョ ン 19UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 20: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 2 章: 一般的なアプリケーシ ョ ン

非対称キー暗号化

パーシャル リ コンフ ィギュレーシ ョ ンなしでは不可能な新しいアプリ ケーシ ョ ンがあ り ます。 パーシャル リ コン

フ ィギュレーシ ョ ンと非対称暗号化を組み合わせる と、 FPGA コンフ ィギュレーシ ョ ン ファ イルをよ り確実に保護

できるよ うになり ます。 非対称暗号化の詳細は、 ウ ィキペディアの 「公開鍵暗号」 ト ピッ クを参照してください。

図 2-5 では、 グレーで示された部分の機能を FPGA の物理パッケージ内にインプリ メン トできます。 cleartext の情報

および秘密キーが保護されたコンテナーの外に漏洩するこ とはあ り ません。

このデザインの実際のインプ リ メンテーシ ョ ンでは、 初期 BIT ファ イルは暗号化されていないデザインで、 機密情

報は含まれていません。 初期デザインには、 公開キーと秘密キーのペアを生成するアルゴ リズムと、 ホス ト、

FPGA、 および ICAP を接続するインターフェイスのみが含まれます。

初期 BIT ファ イルが読み込まれた後、 FPGA で公開キーと秘密キーのペアが生成されます。 公開キーはホス トに送信

され、 ホス トはこれを使用してパーシャル BIT ファ イルを暗号化します。 暗号化されたパーシャル BIT ファ イルは

FPGA にダウンロード され、 その FPGA 内で復号化され、 ICAP に送信されて、 FPGA がパーシャル リ コンフ ィギュ

レーシ ョ ンされます (21 ページの図 2-6)。

X-Ref Target - Figure 2-5

図 2-5: 非対称キー暗号化

Public Key

Private Key

f

cleartext

ciphertext

f cleartext

Key Co-generation

X12022

パーシャル リコンフ ィギュレーシ ョ ン 20UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 21: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 2 章: 一般的なアプリケーシ ョ ン

パーシャル BIT ファ イルが FPGA デザインの大部分を占め、 スタティ ッ ク デザインのロジッ クは FPGA リ ソースの

ほんの一部しか使用しない場合があ り ます。

これには、 次のよ うな利点があ り ます。

• 公開キーと秘密キーのペアをいつでも再生成できます。 ホス トから新しいコンフ ィギュレーシ ョ ンがダウン

ロード されたと きに、 別の公開キーで暗号化できます。 パワーオン リセッ トの後など FPGA が同じパーシャル

BIT ファ イルでコンフ ィギュレーシ ョ ンされる場合でも、 別の公開キーが使用されます。

• 秘密キーは SRAM に格納されます。 FPGA の電源が切れる と、 秘密キーも失われます。

• システムが盗難に遭い、 FPGA の電源がオンのままでも、 秘密キーは汎用 FPGA プログラマブル ロジッ クに格

納されているので、 そのキーを発見するのは非常に困難です。 特殊レジスタには格納されません。 秘密キーを

格納する各レジスタ ビッ ト を、 物理的にリモートで無関係の領域に配置できます。

まとめ

パーシャル リ コンフ ィギュレーシ ョ ンは、 サイズ、 重量、 消費電力、 コス ト を削減するだけでなく、 新しいタイプ

の FPGA デザインを可能にします。

X-Ref Target - Figure 2-6

図 2-6: 暗号化されたパーシャル BIT ファイルの読み込み

Host

Bit File Library

Config 1

Config 2

Config 3

Encrypt Algorithm

Public

FPGA

Generate Key Pair

Public Private

External Interface

Decrypt Algorithm ICAP

X12023

パーシャル リコンフ ィギュレーシ ョ ン 21UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 22: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章

Vivado ツール フロー

概要

Vivado® パーシャル リ コンフ ィギュレーシ ョ ン (PR) フローには、標準デザイン フローとは異なる点がいくつかあり ま

す。 下位レベルの詳細はシ リ コンの要件を満たすためにインプリ メンテーシ ョ ン ツールで自動管理されますが、 デザ

インの構造とフロアプランはユーザーが定義する必要があり ます。 PR デザインの処理手順は、 次のとおりです。

1. スタティ ッ ク モジュールと リ コンフ ィギャラブル モジュールを別々に合成します。

2. 物理制約 (Pblock) を作成して リ コンフ ィギャラブル領域を定義します。

3. 各リ コンフ ィギャラブル パーティシ ョ ンに HD.RECONFIGURABLE プロパティを設定します。

4. 完全なデザイン (スタティ ッ ク モジュールと、 リ コンフ ィギャラブル パーティシ ョ ンごとに 1 つのリ コンフ ィ

ギャラブル モジュール) をコンテキス トでインプ リ メン ト します。

5. 完全に配線済みのデザインのデザイン チェッ クポイン ト を保存します。

6. このデザインから リ コンフ ィギャラブル モジュールを削除し、 スタティ ッ ク部分のみのデザイン チェッ クポイ

ン ト を保存します。

7. スタティ ッ ク部分の配置と配線を固定します。

8. スタティ ッ ク デザインに新しいリ コンフ ィギャラブル モジュールを追加し、 新しいコンフ ィギュレーシ ョ ンを

インプ リ メン ト して、 配線済みデザイン全体のチェッ クポイン ト を保存します。

9. すべてのリ コンフ ィギャラブル モジュールがインプリ メン ト されるまで手順 8 を繰り返します。

10. すべてのコンフ ィギュレーシ ョ ンに対して検証ユーティ リ ティ (pr_verify) を実行します。

11. 各コンフ ィギュレーシ ョ ンのビッ ト ス ト リームを作成します。

パーシャル リコンフ ィギュレーシ ョ ン 22UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 23: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

パーシャル リ コンフ ィギュレーシ ョ ン コマンド

PR フローは、 非プロジェク ト バッチ モード /Tcl インターフェイス (非プロジェク ト ベースのコマンド ) および RTL

ベースのプロジェク ト フローでサポート されています。 非プロジェク ト フローのスク リプ ト例およびフローの設定

手順は、『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947) [参照 1] を参照してく

ださい。 詳細は、 このチュート リ アルを参照してください。

次のセクシ ョ ンでは、 PR フローに必要な特定のコマンドおよびオプシ ョ ンについて説明します。 PR フローを実行

するためのコマンドの使用例も示します。個別のコマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス

ガイ ド』 (UG835) [参照 15] を参照してください。

合成

パーシャル リ コンフ ィギュレーシ ョ ン可能なデザインを合成するのに特別なコマンドは必要あ り ませんが、 ボ ト ム

アップ合成を実行する必要があ り ます。 現在のと ころ、 合成、 適化、 またはインプリ メンテーシ ョ ンでサポート

されないコマンドはあ り ません。

次の合成ツールがサポート されています。

• XST (7 シ リーズ デバイスのみサポート )

• Synplify

• Vivado 合成

重要: Vivado Design Suite では、 UltraScale デバイスに対して NGC フォーマッ トのファ イルはサポート されていませ

ん。 Vivado Design Suite で IP を再生成し、 ネイティブ出力ファイルを使用するこ とをお勧めします。 NGC ファ イル

は NGC2EDIF コマンドで EDIF に変換してインポートするこ と もできますが、今後は XST で生成された NGC フォー

マッ トではなくネイティブ Vivado IP を使用するこ とをお勧めします。

重要: ボ ト ムアップ合成は、 各モジュールにそれぞれ合成プロジェク トがある合成フローです。 通常は、 下位モ

ジュールの自動 I/O バッファー挿入をオフにします。

この資料では、 Vivado 合成フローのみについて説明します。

上位モジュールの合成

各リ コンフ ィギャラブル パーティシ ョ ン (RP) のブラ ッ ク ボッ クスを含む 上位ネッ ト リ ス トが必要です。 これに

は、 上位合成にパーティシ ョ ン インスタンスのモジュールまたはエンティティ宣言を含め、 ロジッ クが含まれな

いよ う (モジュールは空) にする必要があ り ます。

上位合成は、 通常すべての 上位ポートで I/O バッファーを推論またはインスタンシエート します。 バッファー挿

入の制御については、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 16] のこのセクシ ョ ンを参照して く

ださい。

synth_design -flatten_hierarchy rebuilt -top <top_module_name> -part <part>

パーシャル リコンフ ィギュレーシ ョ ン 23UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 24: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

リコンフ ィギャラブル モジュールの合成

各リ コンフ ィギャラブル モジュールをスタティ ッ ク デザインの同じブラ ッ ク ボッ クスにインスタンシエートする必

要があるので、 それらのモジュールのインターフェイスが同一である必要があ り ます。 ブロ ッ クの名前も各インス

タンスですべて同じにし、 インターフェイスのプロパティ もすべて同一にする必要があ り ます。 デザインの各コン

フ ィギュレーシ ョ ンは、 フラ ッ ト デザインのよ うにアセンブルされます。

リ コンフ ィギャラブル モジュールを合成するには、 すべてのバッファー挿入をオフにする必要があ り ます。 これに

は、 synth_design コマンドを -mode out_of_context オプシ ョ ンを使用して実行します。

synth_design -mode out_of_context -flatten_hierarchy rebuilt -top <reconfig_module_name> -part <part>

synth_design コマンドは、 デザインを合成して、 その結果をメモ リに格納します。 結果をファイルに書き出すに

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

write_checkpoint <file_name>.dcp

合成後にメモ リ内のデザインを閉じ、 インプリ メンテーシ ョ ンを合成とは別に実行するこ とをお勧めします。

デザイン モジュールの読み込み

デザインがメモ リに読み込まれていない場合は、 デザインを読み込む必要があ り ます。 スタティ ッ ク デザインも リ

コンフ ィギャラブル モジュールも、 さまざまな方法で読み込むこ とができます。 コンフ ィギュレーシ ョ ンをインプ

リ メン ト した後は、 チェッ クポイン ト を使用して配置配線済みモジュール データベースを読み込みます。

方法 1: ファイルの追加およびリンク

すべてのデザイン ソースを読み込んでリ ンクするには、 この方法が も明確で詳細なので、 推奨されます。 次の手

順を実行する と、 必要なデザイン ソースがすべて読み込まれ、 リ コンフ ィギャラブル パーティシ ョ ンの境界が定義

されます。

1. メモ リ内に新しいプロジェク ト を作成します。 ターゲッ ト デバイスは選択できますが、 プロジェク トは保存さ

れません。

create_project -part <part> -in_memory

2. すべてのデザイン ソースを追加します。 これには、 スタティ ッ クまたはリ コンフ ィギャラブル ロジッ クの複数のチェッ クポイン ト、 下位 RM ソースが含まれます。

add_files <top>.dcpadd_files <rp1_rmA_top>.dcpadd_files <rp1_rmA_lower>.dcpadd_files <rp2_rmA_top>.dcp

表 3-1: synth_design コマンドのオプシ ョ ン

コマンド オプシ ョ ン 説明

-mode out_of_context 合成およびダウンス ト リーム ツールの I/O 挿入がオフになり ます。

out_of_context モードは、 write_checkpoint を実行したと き

にチェッ クポイン トに保存されます。

-flatten_hierarchy rebuilt -flatten_hierarchy に使用できる値は複数あ り ますが、 PR フ

ローでは rebuilt が推奨されます。

-top 合成されるモジュールのモジュール/エンティティ名を指定します。

-part ターゲッ トにするザイ リ ンクス パーツ (例: xc7k325tffg900-3) を

指定します。

パーシャル リコンフ ィギュレーシ ョ ン 24UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 25: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

3. SCOPED_TO_CELLS プロパティを使用して、 階層レベル間の関係を定義します。

set_property SCOPED_TO_CELLS <RP1_module_instance> [get_files <rp1_rmA_top>.dcp]set_property SCOPED_TO_CELLS <RP1_lower_module_instance> [get_files <rp1_rmA_lower>.dcp]set_property SCOPED_TO_CELLS <RP2_module_instance> [get_files <rp2_rmA_top>.dcp]

4. デザインを リ ンク し、 すべてのリ コンフ ィギャラブル パーティシ ョ ンを定義します。

link_design -top <top> -part <part> -reconfig_partitions <RP1_module_instance> <RP2_module_instance>

方法 2: ネッ ト リス ト デザインの読み込み

この方法は、 Vivado 合成以外のツールでモジュールを合成している場合に使用します。

read_edif <top>.edf/edn/ngc

read_edif <rp1_a>.edf/edn/ngc

read_edif <rp2_a>.edf/edn/ngc

link_design -top <top_module_name> -part <part>

方法 3: チェ ックポイン ト を開く /読み出し

スタティ ッ ク ( 上位) デザインの合成またはインプリ メンテーシ ョ ン結果がチェッ クポイン ト と して保存されてい

る場合は、 open_checkpoint コマンドを使用して読み込むこ とができます。 このコマンドはスタティ ッ ク デザイ

ン チェッ クポイン ト を読み込み、 アクティブ メモ リで開きます。

open_checkpoint <file>

チェッ クポイン トがスタティ ッ クのものではなく リ コンフ ィギャラブル モジュールの完全なネッ ト リ ス トのもので

ある場合、 インスタンス名を read_checkpoint -cell を使用して指定できます。 チェッ クポイン トがインプリ

メンテーシ ョ ン後のチェッ クポイン トである場合は、 -strict オプシ ョ ンも使用する必要があ り ます。 このオプ

シ ョ ンを合成後のチェッ クポイン トで使用して、 ポートが確実に一致するよ うにするこ と もできます。 リ コンフ ィ

ギャラブル モジュールのチェッ クポイン ト を読み込むには、 指定のセルのブラ ッ ク ボッ クスが含まれている 上位

デザインが開いている必要があ り ます。 その後、 次のコマンドを実行します。

read_checkpoint -cell <cellname> <file> [-strict]

表 3-2: link_design コマンドのオプシ ョ ン

コマンド オプシ ョ ン 説明

-part ターゲッ トにするザイ リ ンクス パーツ (例: xc7k325tffg900-3) を

指定します。

-top インプ リ メン ト されるモジュールのモジュール/エンティティ名を指

定します。 link_design の前に set_property -top

<top_module_name> [current_fileset] を実行した場合は、 こ

のオプシ ョ ンを使用する必要はあ り ません。

-reconfig_partitions <args> デザインを開く と きに読み込むリ コンフ ィギャラブル パーティシ ョ

ンを指定します。 指定した リ コンフ ィギャラブル パーティシ ョ ンに、

デザインで正し く処理されるよ うに HD.RECONFIGURABLE プロパ

ティが設定されます。

-pr_config <arg> プロジェク ト ベースのデザイン フローでのみ使用可能です。 デザイ

ンを開く と きに適用する PR コンフ ィギュレーシ ョ ンを指定します。

パーシャル リコンフ ィギュレーシ ョ ン 25UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 26: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

注意: 合成済みチェッ クポイン トに含まれていない下位モジュールがある場合は、 この方法は使用しないでくださ

い。 read_checkpoint -cell では、 入れ子はサポート されません。 「方法 1: ファ イルの追加およびリ ンク」 に説

明する link_design を使用した方法を使用して ください。

方法 4: チェ ックポイン ト を開く /デザインをアップデート

この方法は、 合成結果がネッ ト リ ス ト形式 (EDF または EDN) であ り、 スタティ ッ ク部分が既にインプリ メン ト され

ている場合に便利です。 次の例に、 この状況が発生する 2 番目のコンフ ィギュレーシ ョ ンのコマンドを示します。

open_checkpoint <top>.dcp lock_design -level routingupdate_design -cells <rp1> -from_file <rp1_b>.edf/ednupdate_design -cells <rp2> -from_file <rp2_b>.edf/edn

複数のサブモジュール ネッ ト リス トが含まれるリコンフ ィギャラブル モジュールの追加

リ コンフ ィギャラブル モジュールに複数のサブモジュール ネッ ト リ ス トが含まれている と、 Vivado ツールでサブモ

ジュール ネッ ト リ ス ト を処理するのが困難になるこ とがあ り ます。 これは、 PR フローでは RM ネッ ト リ ス トがメモ

リで既に開いているデザインに追加されるからです。 この場合、 update_design -cells コマンドを使用する必

要があ り、 は各 EDIF ファ イルのセル名が必要ですが、 セル名を取得するのが難しいこ とがあ り ます。

Vivado Design Suite で RM サブモジュール ネッ ト リ ス ト を読み込みやすくするには、 次の 2 つの方法があ り ます。

方法 1: 1 つの RM チェ ックポイン ト (DCP) を作成

すべてのネッ ト リ ス ト を含む RM チェッ ク リ ス ト (DCP) を作成します。 この場合、 add_files コマンドを使用して

すべての EDIF (または NGC) ファ イルを追加し、 link_design コマンドを使用して EDIF ファ イルからそれぞれの

セルへの対応を解決します。 次に、 このプロセスに使用するコマンド例を示します。

add_files [list rm.edf ip_1.edf … ip_n.edf]# Run if RM XDC existsadd_files rm.xdclink_design -top <rm_module> -part <part>write_checkpoint rm_v#.dcpclose_project

重要: 1 つまたは複数の NGC ソース ファ イルも含む RM の処理には、 この方法を使用してネッ ト リ ス ト を DCP に結

合または変換するこ とをお勧めします。

表 3-3: read_checkpoint オプシ ョ ン

オプシ ョ ン名 説明

-cell リ コンフ ィギャラブル モジュールの完全な階層名を指定します。

-strict セルを置き換えるためにポートが完全に一致している必要があ り、

パーツ、 パッケージ、 スピード グレード値が同一であるこ とを確認

します。 インプ リ メンテーシ ョ ン データを復元する際には使用する

必要があ り ます。

<file> 読み込むチェッ クポイン ト (DCP) の完全パスまたは相対パスを指定し

ます。

パーシャル リコンフ ィギュレーシ ョ ン 26UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 27: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

その後、 この新し く作成した RM チェッ クポイン ト を PR フローで使用します。 次のコマンド例では、 多数の

update_design -cell コマンドを 1 つの read_checkpoint -cell コマンドで置き換えています。

add_files static.dcplink_design -top <top> part <part>lock_design -level routingread_checkpoint -cell <rm_inst> rm_v#.dcp

方法 2: サブモジュール ネッ ト リス ト を RM の 上位ネッ ト リス ト と同じディ レク ト リに配置

update_design -cell コマンドを使用して PR デザインに 上位 RM ネッ ト リ ス ト を読み込むと きに、 すべての

サブモジュール ネッ ト リ ス ト を RM の 上位ネッ ト リ ス ト と同じディ レク ト リに配置しておきます。 この場合、 下

位ネッ ト リ ス ト を指定する必要はなく、 update_design -cells コマンドで自動的に読み込まれます。 この方法

は方法 1 ほど明示的ではあ り ませんが、 手順は少なくてすみます。 この場合に RM ネッ ト リ ス ト を読み込むコマン

ドは、 次のよ うになり ます。

add_files static.dcplink_design -top <top> part <part>lock_design -level routingupdate_design -cells <rm_inst> -from_file rm_v#.edf

下位ネッ ト リ ス トが rm_v#.edf と同じディ レク ト リにあれば、 後のコマンド (update_design) によ り自動的に

読み込まれます。

デザイン制約の読み込み

デザイン フローのさまざまな段階で、 各コンフ ィギュレーシ ョ ンに新しい制約を適用できます。 RM を DCP と して

読み込むと、 DCP に保存されている制約が自動的に適用されます。 さ らに、 read_xdc コマンドを使用して、 上

位または -cell オプシ ョ ンで指定したセルに制約を適用できます。 制約が RM に直接または間接的に影響する場合

は、 新しい制約を読み込む前に、 RM をブラ ッ ク ボッ クス と して残しておくのではなく、 解決しておく必要があ り

ます。 そ う しないと、 制約が適用されなかったり、 制約システムに正し く伝搬されない可能性があ り ます。 スタ

ティ ッ ク部分は初期コンフ ィギュレーシ ョ ンでのみ配置配線されるので、 スタティ ッ ク部分が固定されているその

後のコンフ ィギュレーシ ョ ンのすべての制約は、 インプリ メン ト される RP 領域にのみ適用されるよ うにする必要が

あ り ます。

インプリ メンテーシ ョ ン

PR フローでは、 ハードウェアにさまざまなコンフ ィギュレーシ ョ ンを使用できるので、 複数のインプリ メンテー

シ ョ ン run が必要です。 PR デザインの各インプリ メンテーシ ョ ンはコンフ ィギュレーシ ョ ンと呼ばれます。 デザイン

の各モジュール (スタティ ッ クまたはリ コンフ ィギャラブル モジュール) は、 インプリ メン トするか、 既にインプリ メ

ン ト されている場合はインポート します。 デザインは 1 つのコンフ ィギュレーシ ョ ンでインプリ メン ト し、 後のコン

フ ィギュレーシ ョ ンでインポート されるよ うに、 スタティ ッ ク デザインのインプリ メンテーシ ョ ン結果は各コンフ ィ

ギュレーシ ョ ンで一貫している必要があり ます。 追加のコンフ ィギュレーシ ョ ンは、 スタティ ッ ク部分をインポート

し、 各リ コンフ ィギャラブル モジュールをインプリ メン ト またはインポートするこ とによ り作成できます。

パーシャル リコンフ ィギュレーシ ョ ン 27UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 28: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

PR でのインプリ メンテーシ ョ ン コマンドおよびオプシ ョ ンのサポートに制限はあ り ませんが、 パーシャル リ コン

フ ィギュレーシ ョ ンの基本要件に従っていないと、 一部の 適化およびサブルーチンが実行されないこ とがあ り ま

す。 link_design または open_checkpoint コマンドを使用して論理デザインを読み込むと、 次のコマンドを実

行できるよ うになり ます。

# Run if all constraints are not already loadedread_xdc

# Optional commandopt_design

place_design

# Optional commandphys_opt_design

route_design

インプリ メンテーシ ョ ン データの保持

PR フローでは、 初のコンフ ィギュレーシ ョ ンからのスタティ ッ ク ロジッ クの配置配線結果を、 その後のコンフ ィ

ギュレーシ ョ ン用に固定する必要があ り ます。 初のコンフ ィギュレーシ ョ ンのスタティ ッ ク インプリ メンテー

シ ョ ンは、 チェッ クポイン ト と して保存します。 その後のコンフ ィギュレーシ ョ ンでチェッ クポイン ト を読み込む

際、 配置配線を固定して、 異なるコンフ ィギュレーシ ョ ン間でスタティ ッ ク デザインが完全に同一になるよ うにし

ます。 インポート したチェッ クポイン ト (スタティ ッ クまたはリ コンフ ィギャラブル) の配置配線を固定するには、

lock_design コマンドを使用します。

lock_design -level [logical|placement|routing] [cell_name]

上記のコマンドを使用してスタティ ッ ク ロジッ クを固定する場合は、 [cell_name] の指定はオプシ ョ ンです。

lock_design -level routing

インポート された RM の結果を固定するには、 インプリ メンテーシ ョ ン後のチェッ クポイン ト内で完全な階層名を

指定する必要があ り ます。

lock_design -level routing u0_RM_instance

パーシャル リ コンフ ィギュレーシ ョ ンでは、 サポート される保持レベルは routing のみです。 このコマンドには

ほかの保持レベルもあ り ますが、 ほかの階層デザイン フローでのみ使用するよ うにして ください。

パーシャル リコンフ ィギュレーシ ョ ン 28UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 29: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

パーシャル リ コンフ ィギュレーシ ョ ンの制約とプロパティ

パーシャル リ コンフ ィギュレーシ ョ ン フロー特定のプロパティ と制約があ り ます。 これらは PR 特定のインプリ メ

ンテーシ ョ ン プロセスを開始し、 パーシャル ビッ ト ス ト リームに具体的な特性を適用します。 パーシャル リ コン

フ ィギュレーシ ョ ン用には、 次の 4 種類の制約およびプロパティがあ り ます。

モジュールをリコンフ ィギャラブルと定義

PR デザインをインプリ メン トするには、 各リ コンフ ィギャラブル モジュールを リ コンフ ィギャラブルと して指定す

る必要があ り ます。 これには、 リ コンフ ィギュレーシ ョ ンする各階層セルの 上位にプロパティを設定します。 た

とえば、 inst_count という名前のリ コンフ ィギャラブル パーティシ ョ ンがあ り、 このパーティシ ョ ンに 2 つのリ

コンフ ィギャラブル モジュール count_up および count_down があるデザインがある と します。 初のコンフ ィ

ギュレーシ ョ ンをインプ リ メン トする前に次のコマンドを実行する必要があ り ます。

set_property HD.RECONFIGURABLE TRUE [get_cells inst_count]

これによ り、 PR デザインを正し く インプリ メン トするために必要なツールのパーシャル リ コンフ ィギュレーシ ョ ン

機能がアクティブになり ます。 HD.RECONFIGURABLE プロパティによ り、 いくつかの制約およびタスクが適用され

ます。

• 指定のセルおよびインターフェイス ネッ トに DONT_TOUCH を設定します。 これによ り、 モジュールの境界を越

えた 適化は実行されなくな り ます。

• セルの Pblock に EXCLUDE_PLACEMENT を設定します。 これによ り、 スタティ ッ ク ロジッ クがリ コンフ ィギャ

ラブル領域に配置されるのを防ぎます。

• セルの Pblock に CONTAIN_ROUTING を設定します。 これによ り、 リ コンフ ィギャラブル モジュールのすべて

の配線が境界内に収められます。

• DRC、 ク ロ ッ ク配線などで特別のコードをイネーブルにします。

制約およびプロパティ 必須/オプシ ョ ン

モジュールを リ コンフ ィギャラブルと定義 必須

リ コンフ ィギャラブル領域のフロアプランを作成 必須

リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用 オプシ ョ ン (強く推奨)

表示スク リプ ト をオン オプシ ョ ン

パーシャル リコンフ ィギュレーシ ョ ン 29UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 30: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

リコンフ ィギャラブル領域のフロアプランを作成

各リ コンフ ィギャラブル パーティシ ョ ンには、 リ コンフ ィギャラブル モジュールに使用可能な物理リ ソースを定義

するため Pblock が必要です。 この Pblock はリ コンフ ィギャラブル パーティシ ョ ンに設定するので、 次の制限および

要件が適用されます。

• Pblock には、 有効な リ コンフ ィギャラブル エレ メン ト タイプのみを含めます。 領域がほかのサイ ト タイプと重

なる可能性もあ り ますが、 これらのほかのサイ トは resize_pblock コマンドに含めないよ うにする必要があ

り ます。

• 各コンポーネン ト タイプの複数の Pblock 矩形を使用して リ コンフ ィギャラブル パーティシ ョ ン領域を作成でき

ますが、 配線性が高くなるよ う、 これらの矩形は連続している必要があ り ます。 リ コンフ ィギャラブルでない

リ ソース用のギャップを含めるこ とは可能ですが、 一般的には、 全体の形をシンプルにした方がデザインを配

置配線しやすくなり ます。

• 7 シ リーズ デバイスで RESET_AFTER_RECONFIG プロパティを使用する場合は、 Pblock の高さをクロ ッ ク領域の

境界に揃える必要があり ます。 詳細は、 「リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用」 を参照してください。

• 7 シ リーズ デバイスでは、 Pblock の幅および構成ためにインターコネク ト列が分割されないよ うにする必要が

あ り ます。 詳細は、 第 6 章の 「7 シ リーズ デバイスでの Pblock の作成」 を参照してください。

• 一部のパーツで Pblock を定義する際は、 大の RM のリ ソース使用量を考慮する必要があ り ます。 大の RM

で使用される リ ソース数がターゲッ ト デバイスの資料に記載されている 大リ ソース数を超えている場合は、

write_bitstream コマンドでエラーが生成されます。

• Pblock がデザインのほかの Pblock と重ならないよ うにする必要があ り ます。

• リ コンフ ィギャラブル パーティシ ョ ンのネス ト (コンフ ィギャラブル パーティシ ョ ン内に別のリ コンフ ィギャ

ラブル パーティシ ョ ンを含める ) は現在のと ころサポート されていません。 リ コンフ ィギャラブル パーティ

シ ョ ン内のフロアプラン ロジッ クの標準 Pblock およびネス ト された Pblock はサポート されています。

パーシャル リコンフ ィギュレーシ ョ ン 30UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 31: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

次に、 リ コンフ ィギャラブル パーティシ ョ ンの制約例を示します。

#define a new pblockcreate_pblock pblock_count

#add a hierarchical module to the pblockadd_cells_to_pblock [get_pblocks pblock_count] [get_cells [list inst_count]]

#define the size and components within the pblockresize_pblock [get_pblocks pblock_count] -add SLICE_X136Y50:SLICE_X145Y99resize_pblock [get_pblocks pblock_count] -add RAMB18_X6Y20:RAMB18_X6Y39resize_pblock [get_pblocks pblock_count] -add RAMB36_X6Y10:RAMB36_X6Y19

表 3-4: Pblock のコマンド とプロパティ

コマンド /プロパティ名 説明

create_pblock 各リ コンフ ィギャラブル パーティシ ョ ン インスタンスの初期 Pblock を

作成します。

add_cells_to_pblock Pblock に含まれるインスタンスを指定します。 通常、 ボ ト ムアップ合

成で定義される階層レベルを指定します。

resize_pblock Pblock のサイ ト タイプ (SLICE、 RAMB36 など) とサイ ト位置を定義し

ます。

RESET_AFTER_RECONFIG リ コンフ ィギャラブル領域での専用 GSR イベン トの使用を制御する

Pblock プロパティです。 このプロパティを使用するこ とを強くお勧め

します。 ただし、 7 シ リーズおよび Zynq デバイスの場合は、 Pblock の

高さがクロ ッ ク領域の境界に揃えられている必要があ り ます。

CONTAIN_ROUTING Pblock に含まれない配線リ ソースが使用されないよ うにする Pblock プ

ロパティです。 このプロパティは PR では必須で、 リ コンフ ィギャラブ

ル パーティシ ョ ンに対して自動的に TRUE に設定されます。 スタ

ティ ッ ク配線に Pblock 内のリ ソースを使用するこ とは可能です。

EXCLUDE_PLACEMENT 定義された Pblock 範囲内に Pblock に含まれないロジッ クが配置されな

いよ うにする Pblock プロパティです。 このプロパティは PR では必須

で、 リ コンフ ィギャラブル パーティシ ョ ンに対して自動的に TRUE に

設定されます。 RESET_AFTER_RECONFIG が使用されない場合は、

LOC プロパティを使用してスタティ ッ ク ロジッ クを リ コンフ ィギャラ

ブル パーティシ ョ ン内に配置できます。

PARTPIN_SPREADING INT タイルごとの PartPin の 大数を制御します。デフォルトは 5 です。

値を小さ くする と (3 など)、 パーティシ ョ ン ピンの配置が分散されま

す。 これによ り PartPin が多く配置されているエリ アの配線密集を緩和

できますが、 RP インターフェイスのタイ ミ ングに悪影響を与える可能

性があ り ます。

パーシャル リコンフ ィギュレーシ ョ ン 31UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 32: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

Vivado IDE でのフロアプラン

Vivado IDE は、 プランニングおよび表示タスクに使用できます。 [Device] ウ ィンド ウを使用して、 フロアプラン用に

Pblock 制約を作成および変更するのが、 そのよい例です。

1. 合成済みスタティ ッ ク デザインと 大のリ コンフ ィギャラブル モジュールを開きます。 次に、 『Vivado Design

Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947) [参照 1] のチュート リ アル デザインを使

用したコマンド例を示します。

open_checkpoint synth/Static/top_synth.dcpset_property HD.RECONFIGURABLE true [get_cells inst_count]read_checkpoint -cell [get_cells inst_count] synth/count_up/count_synth.dcpset_property HD.RECONFIGURABLE true [get_cells inst_shift]read_checkpoint -cell [get_cells inst_shift] synth/shift_right/shift_synth.dcp

これでフル コンフ ィギュレーシ ョ ンがメモ リに読み込まれ、 リ コンフ ィギャラブル パーティシ ョ ンが定義され

ます。

2. リ コンフ ィギャラブル パーティシ ョ ン用の Pblock 制約を作成するには、 [Netlist] ウ ィンド ウでインスタンス (こ

の場合は inst_count または inst_shift) を右ク リ ッ ク し、 [Draw Pblock] をク リ ッ ク します。 [Device] ウ ィンド ウで矩

形を作成し、 この リ コンフ ィギャラブル パーティシ ョ ンのリ ソースを選択します。

3. この Pblock を選択する と、 [Properties] ウ ィンド ウに使用可能な リ ソース数と必要な リ ソース数が表示されます。

必要な数は現在読み込まれている リ コンフ ィギャラブル モジュールによって異なり、 ほかのモジュールの要件

は異なる場合があるこ とに注意してください。 適切な形状 (L 字型など) を作成するために矩形を追加する必要

がある場合は、 [Device] ウ ィンド ウで Pblock を右ク リ ッ ク し、 [Add Pblock Rectangle] をク リ ッ ク します。

4. デザイン ルール チェッ ク (DRC) を実行して、 メモ リ内のコンフ ィギュレーシ ョ ンでフロアプランおよびその他

の項目を検証します。 DRC を実行するには、 [Reports] → [Report DRC] をク リ ッ ク し、 [Partial Reconfiguration] が

オンになっているこ とを確認します (33 ページの図 3-1)。 Pblock に HD.RECONFIGURABLE が設定されていない

場合、 1 つの DRC のみが実行可能で、 次の図に示されているよ うにすべては表示されません。

パーシャル リコンフ ィギュレーシ ョ ン 32UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 34: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

これらの DRC は、 Tcl コンソールまたはスク リプ トで report_drc コマンドを使用して実行します。 パーシャル リ

コンフ ィギュレーシ ョ ン用のチェッ クのみを実行する場合は、 次のコマンドを使用します。

report_drc -checks [get_drc_checks HDPR*]

デザイン プロセスの特定の段階に対するチェッ クを実行するには、 -ruledeck オプシ ョ ンを使用できます。 たと

えば、 配置配線済みのデザインに対して次のコマンドを実行できます。

report_drc -ruledeck bitstream_checks

フロアプラン制約を保存するには、 [Tcl Console] ウ ィンド ウに次のコマンドを入力します。

write_xdc top_fplan.xdc

この制約ファイルに保存された Pblock 制約は、 直接使用するか、 別の 上位デザイン制約ファイルにコピーして使

用できます。 この XDC ファ イルには、 新し く追加した制約だけでなく、 メモ リに読み込まれている現在のデザイン

の制約すべてが含まれます。

注意: Vivado IDE の [File] → [Checkpoint] → [Save] または同等のボタンを使用してデザイン全体を保存しないでくださ

い。 読み込まれているデザインをこの方法で保存する と、 合成済みスタティ ッ ク デザイン チェッ クポイン トが リ コ

ンフ ィギャラブル モジュールと追加制約を含む新しいバージ ョ ンで上書きされます。

タイ ミング制約

パーシャル リ コンフ ィギュレーシ ョ ン デザインのタイ ミ ング制約は、 従来のフラ ッ ト デザインのタイ ミ ング制約と

似ています。 プライマ リ ク ロ ッ ク と I/O には、 対応する制約を設定する必要があ り ます。 これらの制約については、

『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 17] のこのセクシ ョ ンおよびこのセクシ ョ ンを参照

してください。

デザインに正しい制約を適用したら、 スタティ ッ ク タイ ミ ング解析を実行してデザインのパフォーマンスを検証し

ます。 この検証は、 各リ コンフ ィギャラブル モジュールに対してデザイン全体のコンテキス トで実行する必要があ

り ます。 デザインの解析方法は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』

(UG906) [参照 18] を参照してください。

Vivado Design Suite には、 セル レベルのタイ ミ ング レポート を実行する機能があ り ます。特定のフ ィ コンフ ィギャラ

ブル モジュールでタイ ミ ング解析を実行するには、 report_timing または report_timing_summary で -cell

オプシ ョ ンを使用します。 これは、 以前のコンフ ィギュレーシ ョ ンからインポート され固定されているスタティ ッ

ク デザインのコンフ ィギュレーシ ョ ンで特に便利です。

Vivado 2017.1 から、 report_timing および report_timing_summary で生成されるタイ ミ ング レポートに

[Partition] 列が追加されており、 タイ ミ ングを満たしていないパスがスタティ ッ ク内か RM 内か、 RP の境界をまたぐ

かを特定するのに役立ちます。 これら両方のコマンドには新しい -no_pr_attribute オプシ ョ ンがあ り、 この新

しい機能をオフにできます。 このオプシ ョ ンは、 スク リプ トでタイ ミ ング レポート を解析しており、 この新しい列

が悪影響を及ぼす場合に便利です。

パーシャル リコンフ ィギュレーシ ョ ン 34UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 35: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

パーティシ ョ ン ピン

リ コンフ ィギャラブル パーティシ ョ ンに定義された Pblock 領域内には、 パーティシ ョ ン ピンと呼ばれるインター

フェイス ポイン トが自動的に作成されます。 これらの仮想 I/O はインターコネク ト タイル内にアンカー ポイン ト と

して作成され、 モジュール間で一定に保たれます。 これらのアンカー ポイン ト を作成するのに、 LUT やフ リ ップフ

ロ ップなどの物理リ ソースは不要で、 遅延が追加されるこ と もあ り ません。

ツールによ り ソース、 ロード、 およびタイ ミ ング要件に基づいて位置が選択されますが、 ユーザーがこれらの位置

を指定するこ と もできます。 次の制約を適用する と、 パーティシ ョ ン ピンの配置を制御できます。

注記: 31 ページの表 3-4 の PARTPIN_SPREADING プロパティを使用してパーティシ ョ ン ピンに影響を与えるこ とは

できますが、 これは Pblock レベルで適用されます。

パーティシ ョ ン ピンの配置を制御するプロパティの例

• set_property HD.PARTPIN_LOCS INT_R_X4Y153 [get_ports <port_name>]

• set_property HD.PARTPIN_RANGE SLICE_X4Y153:SLICE_X5Y157 [get_ports <port_name>]

インターコネク ト タイル サイ トのインスタンス名は、 [Device] ウ ィンド ウで [Routing Resources] をイネーブルにする

と表示できます。

注記: ユーザー定義値がない場合、 HD.PARTPIN_RANGE は place_design の実行中に自動的に設定されます。 値

が設定されたら、 インタラ クティブ配置配線中 (RP Pblock の試行のための変更、 place_design -unplace の実行

など) にはリセッ ト されません。 Pblock を変更した場合は、 HD.PARTPIN_RANGE および HD.PARTPIN_LOCS を手動

でリセッ トする必要があ り ます。 これらのプロパティは、 ほかのほとんどのプロパティ と同様にリセッ トできます。

表 3-5: パーティシ ョ ン ピンの配置を制御するプロパティ

コマンド /プロパティ名 説明

HD.PARTPIN_LOCS 配線される指定ポートにインターコネク ト タイル (INT) を指定します。

HD.PARTPIN_RANGE よ り も優先されます。 このプロパティは、 リ コン

フ ィギャラブル パーティシ ョ ンの境界の両側にあるロジッ クの配置およ

び配線に影響します。

ク ロ ッ ク ポートには使用しないでください。 ク ロ ッ ク ポートに使用す

る と、 ク ロ ッ クにローカル配線が使用されます。

このプロパティを専用接続には使用しないでください。

HD.PARTPIN_RANGE 指定したポート を配線するために使用可能なコンポーネン ト サイ ト

(SLICE、 DSP、 ブロ ッ ク RAM) またはインターコネク ト タイル (INT) の

範囲を定義します。

ユーザー定義の HD.PARTPIN_RANGE 値が存在しない場合は、 Pblock の

範囲に基づいて値が自動的に算出されます。

パーシャル リコンフ ィギュレーシ ョ ン 35UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 36: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

次の Tcl プロシージャは、 PR デザインにこのよ うなインタラ クティブ フロアプランを実行する場合に便利です。

################################################## Proc to unroute, uplace, and reset HD.PARTPIN_* #################################################proc pr_unplace route_design -unrouteplace_design -unplaceset cells [get_cells -quiet -hier -filter HD.RECONFIGURABLE]foreach cell $cells reset_property HD.PARTPIN_LOCS [get_pins $cell/*]reset_property HD.PARTPIN_RANGE [get_pins $cell/*]

配置済みまたは配線済みデザインからのパーティシ ョ ン ピンの情報は、 get_pplocs コマンドを使用して取得でき

ます。 -nets または -pins オプシ ョ ンを使用する と、 特定のリ コンフ ィギャラブル パーティシ ョ ンまたはイン

ターフェイス ピンの情報を取得できます。

get_pplocs -nets <args> -pins <args> [-count] [-unlocked] [-locked] [-level <arg>] [-quiet] [-verbose]

次にその例を示します。

get_pplocs -pins [get_pins u_count/*]

表 3-6: get_pplocs コマンドのオプシ ョ ン

名前 説明

-nets PPLOC をレポートするネッ ト を 1 つ以上指定します。

-pins PPLOC をレポートするピンを 1 つ以上指定します。

[-count] PPLOC の数をレポート し、 PPLOC またはノードの名前はレポート しません。

[-unlocked] 固定されていない PPLOC のみをレポート します。

[-locked] 固定されている PPLOC のみをレポート します。 -level オプシ ョ ンを使用し

て固定レベルを指定してください。

[-level] 固定レベルを指定します。

[-quiet] コマンド エラーを表示しません。

[-verbose] メ ッセージの非表示設定を解除し、 すべてのメ ッセージを表示します。

パーシャル リコンフ ィギュレーシ ョ ン 36UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 37: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用

リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用する機能を使用する と、 パーシャル リ コンフ ィギュレーシ ョ ン中に

リ コンフ ィギュレーシ ョ ンされる領域が一定した状態に保持され、 新しいリ コンフ ィギャラブル モジュールのすべ

てのロジッ クが開始値に初期化されます。 パーシャル リ コンフ ィギュレーシ ョ ン中、 スタティ ッ ク配線は影響を受

けずにその領域を通過でき、 デバイスのほかの部分にあるスタティ ッ ク ロジッ ク (およびほかの PR 領域) は通常ど

おり動作し続けます。 この機能を使用するパーシャル リ コンフ ィギュレーシ ョ ンは、 FPGA の初期コンフ ィギュ

レーシ ョ ンと同様に動作し、 同期エレ メン トが既知の初期ステートになり ます。

重要: GSR (グローバル セッ ト / リセッ ト ) や GWE (グローバル ライ ト イネーブル) などのグローバル信号の解放は、

チップ全体で同期する とは限り ません。 モジュール内の機能が初期化された順次エレ メン トの開始が同期している

こ とに依存している場合は、 そのモジュール内のロジッ クを駆動するクロ ッ クまたはそれらのエレ メン トのクロ ッ

ク イネーブルを リ コンフ ィギュレーシ ョ ン中ディ スエーブルにし、 リ コンフ ィギュレーシ ョ ンの完了後に再びイ

ネーブルにします。 詳細は、 「スタート アップ後にフ リ ップフロ ップおよび SRL を正し く同期化させるためのデザイ

ン アドバイザリ 」 (ザイ リ ンクス アンサー 44174) [参照 37] を参照してください。

次に、 RESET_AFTER_RECONFIG プロパティの構文を示します。

set_property RESET_AFTER_RECONFIG true [get_pblocks <reconfig_pblock_name>]

7 シ リーズの XADC コンポーネン トの DRP インターフェイスがデザインで使用される場合、

RESET_AFTER_RECONFIG がイネーブルのと き、 パーシャル リ コンフ ィギュレーシ ョ ン中にこのインターフェイス

はブロ ッ ク されます ( リセッ トに保持される )。 インターフェイスは応答せず (ビジー状態)、 このパーシャル リ コン

フ ィギュレーシ ョ ン中はアクセスがない状態になり ます。 パーシャル リ コンフ ィギュレーシ ョ ンが完了する と、 イ

ンターフェイスは再びアクセス可能になり ます。

7 シ リーズおよび Zynq-7000 SoC デバイスでリ コンフ ィギュレーシ ョ ン後にリセッ ト を適用する機能を使用するに

は、 Pblock 制約がリ コンフ ィギュレーシ ョ ン フレームに揃えられている必要があ り ます。 GSR は領域内のすべての

同期エレ メン トに影響するので、 リ コンフ ィギャラブル フレームのみを使用する必要があ り ます。 これらのリ コン

フ ィギャラブル フレーム内でにはスタティ ッ ク ロジッ クは配置できません (スタティ ッ ク配線は可能)。 Pblock の高

さは、 リ コンフ ィギャラブル フレームの基本領域に合わせるため、 ク ロ ッ ク領域の境界に揃える必要があ り ます。

RESET_AFTER_RECONFIG を使用する場合、 Pblock の幅に関する要件はあ り ません。

UltraScale™ デバイスにはこのクロ ッ ク領域を揃える要件はなく、 GSR の適用を詳細に制御できます。 そのため、

UltraScale アーキテクチャでは RESET_AFTER_RECONFIG がすべてのリ コンフ ィギャラブル パーティシ ョ ンに自動

的に適用されます。

図 3-2 では、左側の Pblock (pblock_shift) は Pblock の上辺と下辺がクロ ッ ク領域 X1Y3 の高さに揃っているので、

フレームに揃っています。 右側の Pblock (pblock_count) はフレームに揃っていません。

° 7 シ リーズ デバイス : モジュールがパーシャル リ コンフ ィギュレーシ ョ ンされた後、 Pblock とその上のク

ロ ッ ク領域境界の間に配置されているスタティ ッ ク ロジッ クが GSR の影響を受けるので、 フレームに揃え

られていない Pblock (図の pblock_count など) には RESET_AFTER_RECONFIG を設定できません。

° UltraScale デバイス : GSR 制御が改善されているので、両方の Pblock に自動的に RESET_AFTER_RECONFIG

が使用されます。

SNAPPING_MODE 制約を使用する と、 有効な リ コンフ ィギャラブル Pblock が自動的に作成されます。 詳細は、

第 6 章の 「リ コンフ ィギャラブル パーティシ ョ ンの自動調整」 (7 シ リーズ デバイス) または第 7 章の 「Pblock の PU

の自動調整」 (UltraScale デバイス) を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン 37UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 38: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

GSR の機能はパーシャル ビッ ト ス ト リーム内に組み込まれているので、 リ コンフ ィギュレーシ ョ ン中にこの機能を

含めるための操作は必要あ り ません。 ただし、 このプロセスは SHUTDOWN シーケンス ( リ コンフ ィギュレーシ ョ ンす

る領域のみにマスク ) を使用するので、 リ コンフ ィギュレーシ ョ ンを開始したと きに外部 DONE ピンを Low にし、 正

し く完了したら High にする必要があ り ます。 ボードをセッ ト アップする際に、 この動作を考慮する必要があ り ま

す。 STARTUP ブロ ッ クはシャ ッ ト ダウン中ディ スエーブルになるので、 このブロ ッ クの DONEO を DONE ピンのス

テートが変化しないよ うにするために使用するこ とはできません。 また、 RESET_AFTER_RECONFIG を使用してい

る場合、 STARTUP をパーシャル リ コンフ ィギュレーシ ョ ンのコンフ ィギュレーシ ョ ン ク ロ ッ クを生成するなどの

ほかの目的で使用するこ とはできません。

別のアプローチと して、 このプロパティを使用せず、 リ コンフ ィギュレーシ ョ ンされたロジッ クで正し く機能させ

るために初期化が必要なものにローカル リセッ ト を適用する方法があ り ます。 この方法では、 Pblock の高さをク

ロ ッ ク領域の境界に揃える必要はあ り ません。 GSR またはローカル リセッ ト を使用しない場合、 リ コンフ ィギャラ

ブル モジュール内の同期エレ メン トが初期の開始値にならない可能性があ り ます。

X-Ref Target - Figure 3-2

図 3-2: RESET_AFTER_RECONFIG を使用可能な Pblock (左) と使用不可能な Pblock (右)

パーシャル リコンフ ィギュレーシ ョ ン 38UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 39: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

表示スクリプ ト をオン

パーシャル ビッ ト ス ト リームの一部であるコンフ ィギュレーシ ョ ン タイルを、 Vivado IDE の [Device] ウ ィンド ウに

表示できます。

パーシャル リ コンフ ィギュレーシ ョ ンの場合、 すべてのパーシャル リ コンフ ィギュレーシ ョ ン Pblock に対するスク

リプ トが hd_visual ディ レク ト リ (run スク リプ ト を起動する とディ レク ト リ内に作成) に自動的に作成されます。

これらのスク リプ ト を使用するには、 Vivado IDE に配線済みデザイン チェッ クポイン ト を読み込み、 スク リプ トの

いずれかを実行します。 これらのデザイン特定のスク リプ トでは、 ユーザーが定義したコンフ ィギュレーシ ョ ン タ

イルをハイライ ト 、 パーシャル BIT ファ イルを作成するのに使用されたコンフ ィギュレーシ ョ ン フレームを表示、

PR フロアプランから除外されたサイ ト を示します。 モジュール解析や Tandem コンフ ィギュレーシ ョ ンなどのほか

のフロー用にもスク リプ トが作成されますが、 これらは PR では使用されません。

ツール フロー

このセクシ ョ ンでは基本フローを説明し、 このフローを実行するためのコマンド例を示します。

合成

スタティ ッ ク モジュールを含む各モジュールは、 それぞれにネッ ト リ ス ト またはチェッ クポイン トが作成されるよ

うに、 ボ ト ムアップ合成する必要があ り ます。

1. 上位モジュールを合成します。

read_verilog top.v (および、 リ コンフ ィギャラブル モジュールのブラ ッ ク ボッ クス モジュールの定義な

ど、 スタティ ッ ク デザインに関連付けられたその他の HDL)

この後次を実行します。

read_xdc top_synth.xdcsynth_design -top top -part xc7k70tfbg676-2write_checkpoint top_synth.dcp

2. リ コンフ ィギャラブル モジュールを合成します。

read_verilog rp1_a.vsynth_design -top rp1 -part xc7k70tfbg676-2 -mode out_of_contextwrite_checkpoint rp1_a_synth.dcp

3. 残りの各リ コンフ ィギャラブル モジュールを合成します。

read_verilog rp1_b.vsynth_design -top rp1 -part xc7k70tfbg676-2 -mode out_of_contextwrite_checkpoint rp1_b_synth.dcp

パーシャル リコンフ ィギュレーシ ョ ン 39UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 40: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

インプリ メンテーシ ョ ン

すべてのリ コンフ ィギャラブル モジュールを少なく と も 1 回インプリ メン トするのに必要な数のコンフ ィギュレー

シ ョ ンを作成します。 初のコンフ ィギュレーシ ョ ンで、 上位と 初のリ コンフ ィギャラブル モジュールの合成

結果を読み込みます。 モジュールを リ コンフ ィギャラブルとマークし、 インプリ メンテーシ ョ ンを実行します。 完

全な配線済みコンフ ィギュレーシ ョ ンのチェッ クポイン ト を保存し、 リ コンフ ィギャラブル モジュールを必要に応

じて再利用できるよ うに リ コンフ ィギャラブル モジュールのチェッ クポイン ト を保存します。 後に、 デザインか

ら リ コンフ ィギャラブル モジュールを削除し (update_design -cell -black_box)、 スタティ ッ ク デザインの

みのチェッ クポイン ト を保存します。

コンフ ィギュレーシ ョ ン 1:

open_checkpoint top_synth.dcpread_xdc top_impl.xdcset_property HD.RECONFIGURABLE true [get_cells rp1]read_checkpoint -cell rp1 rp1_a_synth.dcpopt_designplace_designroute_designwrite_checkpoint config1_routed.dcpwrite_checkpoint -cell rp1 rp1_a_route_design.dcpupdate_design -cell rp1 -black_boxlock_design -level routingwrite_checkpoint static_routed.dcp

2 番目のコンフ ィギュレーシ ョ ンでは、 リ コンフ ィギャラブル モジュールがブラ ッ ク ボッ クス と して含まれている

スタティ ッ ク部分の配置配線済みチェッ クポイン ト を読み込みます (閉じている場合)。 その後 2 番目のリ コンフ ィ

ギャラブル モジュールの合成結果を読み込み、 デザインをインプリ メン ト します。 後に、 リ コンフ ィギャラブル

モジュールの 2 番目のバージ ョ ンのインプリ メンテーシ ョ ン チェッ クポイン ト を保存します。

コンフ ィギュレーシ ョ ン 2:

open_checkpoint static_routed.dcpread_checkpoint -cell rp1 rp1_b_synth.dcpopt_designplace_designroute_designwrite_checkpoint config2_routed.dcpwrite_checkpoint -cell rp1 rp1_b_route_design.dcp

ヒン ト : 各コンフ ィギュレーシ ョ ンを別のフォルダーに分け、 すべての中間チェッ クポイン ト、 ログおよびレポート

ファ イル、 BIT ファ イル、 その他のデザイン出力が個別に保存されるよ うにします。

複数のリ コンフ ィギャラブル パーティシ ョ ンがある場合は、 ほかのコンフ ィギュレーシ ョ ンも必要です。 追加のコ

ンフ ィギュレーシ ョ ンは、 以前にインプリ メン ト済みのリ コンフ ィギャラブル モジュールをインポート して、 ハー

ド ウェアに読み込むフル デザインを作成するこ とによ り、 作成するこ と も可能です。 これは、 電源投入用の適切な

組み合わせのフル ビッ ト ス ト リームを作成する場合や、 スタティ ッ ク タイ ミ ング解析、 消費電力解析、 シ ミ ュレー

シ ョ ンを実行する場合に便利です。

パーシャル リコンフ ィギュレーシ ョ ン 40UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 41: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

各リ コンフ ィギャラブル モジュール チェッ クポイン トの完全な配置配線結果が保持されるので、 新しいコンフ ィ

ギュレーシ ョ ンは、 配線済みチェッ クポイン トのコレクシ ョ ンを読み込むだけで簡単に作成できます。 ただし、 こ

のフローを使用する場合には制限もあるこ とに注意してください。 リ コンフ ィギャラブル モジュールのインプリ メ

ンテーシ ョ ンを保存するのに write_checkpoint -cell を使用した場合、 このモジュールに対してローカルの制

約は保持されません。 内部クロ ッ ク制約、 または RM 内で開始または終了する (または開始して終了する ) タイ ミ ン

グ例外を含むリ コンフ ィギャラブル モジュールの場合、 新しいコンフ ィギュレーシ ョ ンを作成した後、 これらの制

約をタイ ミ ング解析用に適用し直す必要があ り ます。 ザイ リ ンクス IP またはサードパーティ IP を含むリ コンフ ィ

ギャラブル モジュールは、 この制限を示す良いモジュール例です。

レポート

インプ リ メンテーシ ョ ン フローの各段階では、 パーシャル リ コンフ ィギュレーシ ョ ン特定のデザイン ルール

チェッ ク (DRC) が実行されます。 インプリ メンテーシ ョ ンで表示される メ ッセージに注意し、 ク リ ティカル警告が

発生していないかを確認します。 これらのメ ッセージは、 モジュール インターフェイス、 フロアプランなど、 PR デ

ザインの重要な部分を 適化するのに役立ちます。

生成されるほとんどのレポートには、 PR 特定のセクシ ョ ンはあ り ませんが、 有益な情報が含まれています。 たとえ

ば、 report_utilization コマンドで -pblocks オプシ ョ ンを使用する と、 リ ソース使用率を取得できます。 こ

のコマンドを実行する と、 指定した リ コンフ ィギャラブル モジュール内で使用可能な リ ソース数と使用されている

リ ソース数が示されます。 次に、 『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』

(UG947) [参照 1] からのデザインを使用した例を示します。

report_utilization -pblocks [get_pblocks pblock_count]

report_clock_utilization では、 パーシャル リ コンフ ィギュレーシ ョ ン インプリ メンテーシ ョ ンで反転され

るクロ ッ クが示されます。

コンフ ィギュレーシ ョ ンの検証

すべてのコンフ ィギュレーシ ョ ンを完全に配置配線したら、 pr_verify を使用して 終検証チェッ クを実行し、 コ

ンフ ィギュレーシ ョ ン間の一貫性を確認できます。 このコマンドでは、 複数の配線済みチェッ クポイン ト (DCP) を

引数と して指定し、 それらのチェッ クポイン ト間でのスタティ ッ ク インプリ メンテーシ ョ ンとパーティシ ョ ン ピン

配置の違いをレポートできます。 この比較では、 RM 内の配置配線は無視されます。

2 つのコンフ ィギュレーシ ョ ンのみを比較する場合は、 2 つの配線済みチェッ ク リ ス ト を <file1> および <file2>

と して リ ス ト します。 pr_verify コマンドによ り両方がメモ リに読み込まれ、 比較されます。

3 つ以上のコンフ ィギュレーシ ョ ンを比較する場合は、 -initial オプシ ョ ンを使用してマスター コンフ ィギュ

レーシ ョ ンを指定してから、 -additional オプシ ョ ンを使用して複数のコンフ ィギュレーシ ョ ンを中かっこ で

囲んでリ ス ト します。 マスター コンフ ィギュレーシ ョ ンがメモ リに保持され、 残りのコンフ ィギュレーシ ョ ンがそ

れと比較されます。 PR 検証チェッ クで問題が検出されたコンフ ィギュレーシ ョ ンがある場合は、 どのコンフ ィギュ

レーシ ョ ンに対してもビッ ト ス ト リームを生成しないでください。

pr_verify [-full_check] [-file <arg>] [-initial <arg>] [-additional <arg>] [-quiet] [-verbose] [<file1>] [<file2>]

パーシャル リコンフ ィギュレーシ ョ ン 41UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 42: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

次に、 2 つのコンフ ィギュレーシ ョ ンを比較するコマンド ライン例を示します。

pr_verify -full_check config1_routed.dcp config2_routed.dcp -file pr_verify_c1_c2.log

次に、 3 つのコンフ ィギュレーシ ョ ンを検証する例を示します。

pr_verify -full_check -initial config1.dcp -additional config2.dcp config3.dcp -file three_config.log

『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947) [参照 1] で提供されるスク リプ

トには、 verify_configs という Tcl プロシージャが含まれており、 存在するすべてのコンフ ィギュレーシ ョ ンに

対して pr_verify が実行され、 DCP が一貫しているかがレポート されます。

ビッ トス ト リーム生成

ビッ ト ス ト リームを生成するには、 フラ ッ ト フローと同様、 write_bitstream コマンドを使用します。 各デザイ

ン コンフ ィギュレーシ ョ ンに対して write_bitstream を実行し、 フル標準コンフ ィギュレーシ ョ ン ファ イルと、

そのコンフ ィギュレーシ ョ ン内の各リ コンフ ィギャラブル モジュールに対してパーシャル BIT ファ イルを 1 つずつ

作成します。

write_bitstream コマンドの -file オプシ ョ ンでコンフ ィギュレーシ ョ ン名と リ コンフ ィギャラブル モジュー

ル名を指定するこ とをお勧めします。 ベース BIT ファ イル名のみが変更可能なので、 各コンフ ィギュレーシ ョ ンに

どのリ コンフ ィギャラブル モジュールを選択しているかを記録しておく こ とが重要です。

次に、 上記のデザインを使用して、 配線済みチェッ クポイン ト (コンフ ィギュレーシ ョ ン) を読み込み、 すべてのイ

ンプ リ メン ト済みリ コンフ ィギャラブル モジュールのビッ ト ス ト リームを作成する例を示します。

open_checkpoint config1_routed.dcpwrite_bitstream config1

表 3-7: pr_verify コマンドのオプシ ョ ン

コマンド オプシ ョ ン 説明

-full_check デフォルトでは、 初の差異のみがレポート されます。 このオプシ ョ ン

を選択する と、 pr_verify によ り配置または配線の差異がすべてレポー

ト されます。

-file 結果を保存するファイルの名前を指定します。 このオプシ ョ ンを使用し

ない場合、 出力はコンソールに表示されます。

-initial すべてのチェッ クポイン トの比較基準となる 1 つの配線済みデザイン

チェッ クポイン ト を指定します。

-additional -initial で指定したチェッ クポイン ト と比較する配線済みデザイン

チェッ クポイン ト を 1 つまたは複数指定します。 複数のチェッ クポイン

ト を リ ス トする場合は、 次のよ うに中かっこで囲みます。

config2.dcp config3.dcp config4.dcp

-quiet コマンド エラーを表示しません。

-verbose メ ッセージの非表示設定を解除し、 すべてのメ ッセージを表示します。

パーシャル リコンフ ィギュレーシ ョ ン 42UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 43: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

このコマンドでは、 この特定のコンフ ィギュレーシ ョ ンに対して可能性のあるすべてのビッ ト ス ト リームが生成さ

れ、 config1.bit という フル デザイン ビッ ト ス ト リームが作成されます。 電源を投入したと きに、 このビッ ト ス

ト リームを使用してデバイスをプログラムします。 このビッ ト ス ト リームには、 リ コンフ ィギャラブル モジュール

の機能も含まれています。 このコマンドは、 FPGA の動作中にこれらのモジュールを リ コンフ ィギュレーシ ョ ンする

パーシャル BIT ファ イル config1_pblock_rp1_partial.bit および config1_pblock_rp2_partial.bit も

作成します。 UltraScale デバイスの場合、 各パーシャル ビッ ト ス ト リームとペアになったク リ ア ビッ ト ス ト リーム

が作成されるので、 次のパーシャル イ メージ用のパーティシ ョ ンが準備できるよ うにな り ます。 各コンフ ィギュ

レーシ ョ ンに対してこれらの手順を繰り返します。

ヒン ト : 各パーシャル BIT ファ イルの名前を リ コンフ ィギャラブル モジュール インスタンス と一致するよ うに変更

し、 モジュールを識別できるよ うにします。 現在のソ リ ューシ ョ ンでは、 コンフ ィギュレーシ ョ ンのベース名およ

び Pblock 名に基づいて、パーシャル BIT ファ イルに <base_name>_<pblock_name>_partial.bit という名前が

付けられます。

各パーシャル ビッ ト ス ト リームのサイズは、 write_bitstream コマンドからの出力にレポート されます。 このコ

マンドを実行する と、 各パーシャル ビッ ト ス ト リーム ファ イルおよびク リ ア ビッ ト ス ト リーム ファ イルに対して

次のメ ッセージがレポート されます。

Creating bitmap...Creating bitstream...Partial bitstream contains 3441952 bits.Writing bitstream ./Bitstreams/right_up_pblock_inst_shift_partial.bit...

ビッ ト ス ト リームの圧縮、 暗号化、 その他のアドバンス機能も使用できます。 UltraScale デバイスでサポート されて

いないユース ケースは、 134 ページの 「既知の制限」 を参照して ください。

パーシャル ビッ トス ト リームのみの生成

完全なデザイン コンフ ィギュレーシ ョ ン ファ イルが不要な場合は、 1 つのパーシャル ビッ ト ス ト リームのみを作成

できます。 完全なデザイン コンフ ィギュレーシ ョ ン チェッ クポイン ト を メモ リに読み込んでいる場合は、 -cell オ

プシ ョ ンを使用してパーシャル ビッ ト ス ト リームが必要なインスタンスを指定します。 このパーシャル ビッ ト ス ト

リームの名前は、 Pblock 名から自動的に作成されないので、 指定できます。

write_bitstream -cell rp1 RM_count_down_partial.bit

これによ り、 指定した リ コンフ ィギャラブル パーティシ ョ ンのパーシャル ビッ ト ス ト リームのみが作成されます。

注意: リ コンフ ィギャラブル モジュール チェッ クポイン トに対して直接 write_bitstream コマンドを実行しない

でください。 デザイン全体のチェッ クポイン トのみを使用してください。 リ コンフ ィギャラブル モジュール チェッ

クポイン トは配置配線済みのサブモジュールであ り、 上位デザインのインプリ メンテーシ ョ ン情報は含まれてい

ないので、 適切なパーシャル BIT ファ イルが作成されません。

パーシャル リコンフ ィギュレーシ ョ ン 43UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 44: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 3 章: Vivado ツール フロー

フル コンフ ィギュレーシ ョ ン ビッ トス ト リームのみの生成

パワー オン デザインのビッ ト ス ト リームのみが必要な場合は、 -no_partial_bitfile オプシ ョ ンを使用して

パーシャル ビッ ト ス ト リームの作成をバイパスできます。

write_bitstream -no_partial_bitfile config3

このオプシ ョ ンを使用する と、 パーシャル ビッ ト ス ト リームおよびク リ ア ビッ ト ス ト リームを作成する段階は実行

されません。 パーシャル リ コンフ ィギュレーシ ョ ンなしでフル デザインのみをテス トする場合やパーシャル ビッ ト

ス ト リームが既に存在している場合などに、 write_bitstream の実行時間を短縮できます。

スタテ ィ ッ ク部分のみのビッ トス ト リームの生成

スタティ ッ ク デザインのみのパワーオン コンフ ィギュレーシ ョ ンが必要な場合は、update_design -black_box

および update_design -buffer_ports を実行後、空のリ コンフ ィギャラブル パーティシ ョ ンを含むチェッ クポ

イン トに対して write_bitstream コマンドを実行します。 このグレー ボッ クス コンフ ィギュレーシ ョ ンを圧縮

し、 BIT ファ イルのサイズおよびコンフ ィギュレーシ ョ ン時間を削減できます。

Tcl スクリプ ト

このフローを実行するためのスク リプ トは、 『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレー

シ ョ ン』 (UG947) [参照 1] を参照してください。 これらのサンプル スク リプ トの詳細は、 チュート リ アルおよびサン

プル デザイン ZIP ファ イルに含まれている readme.txt を参照して ください。

パーシャル リコンフ ィギュレーシ ョ ン 44UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 45: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章

Vivado プロジェク ト フロー

概要

ザイ リ ンクス FPGA および SoC におけるパーシャル リ コンフ ィギュレーシ ョ ン (PR) には、従来のソ リ ューシ ョ ンに

はない新しいデザイン要件があ り ます。 ボ ト ムアップ合成および複数インプリ メンテーシ ョ ンの両方が必要になる

ため、 ソースおよび run の管理に新しい要件が設けられています。 これらの要件は、 Vivado PR プロジェク ト フロー

で満たされます。

フローの概要

パーシャル リ コンフ ィギュレーシ ョ ンのプロジェク ト フローには、 既存の Vivado プロジェク ト ソ リ ューシ ョ ンに

パーシャル リ コンフ ィギュレーシ ョ ンの主な要件が追加されており、 Vivado IDE と Tcl コマンドの両方からアクセ

スできます。 主な要件には、 次のものがあ り ます。

• デザイン階層内でリ コンフ ィギャラブル パーティシ ョ ンを定義

• 各リ コンフ ィギャラブル パーティシ ョ ンにリ コンフ ィギャラブル モジュールのセッ ト を配置

• 上位およびモジュール レベルの合成 run のセッ ト を作成

• 関連インプ リ メンテーシ ョ ン run のセッ ト を作成

• ソース、 制約、 オプシ ョ ンの変更に応じて依存関係を管理

• ルールおよび結果をチェッ ク

• コンフ ィギュレーシ ョ ンを検証

• フル ビッ ト ス ト リームとパーシャル ビッ ト ス ト リームの互換性のあるセッ ト を生成

これらの基本機能がこのリ リースに導入されており、 IP を含む RTL ベース デザインのインプリ メンテーシ ョ ン全体

がサポート されています。

このフローでは、 すべてのソース (少なく と も 上位 RTL とサブモジュールの合成後のネッ ト リ ス ト ) は 1 つの PR

プロジェク ト内で管理されます。 プロジェク ト を分割したりエクスポート したりするこ とはできません。 そ うする

と、 Vivado で run と ソースの間の関係を管理できなくな り ます。

パーシャル リコンフ ィギュレーシ ョ ン 45UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 46: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

Tcl コマンド

パーシャル リ コンフ ィギュレーシ ョ ンの機能およびタスクは、 Vivado IDE 環境のほかの機能およびタスク と同様に、

バッ クグランドで Tcl コマンドを使用して実行されます。 PR プロジェク ト サポートの主な目標の 1 つは、 同じプロ

ジェク トで GUI、 スク リプ ト、 コマンド ラインを切り替えて使用しても、 スムーズに作業できるよ うにするこ とで

す。 実際に実行された Tcl コマンドを確認するには、 プロジェク トの Vivado ジャーナル ファ イルを開きます。 [File]

→ [Project] → [Open Journal File] をク リ ッ クする と、 このファ イルを開く こ とができます。 これらの Tcl コマンドに関

しては、 このユーザー ガイ ドでは説明されていません。 プロジェク ト全体を現在の状態まで作成するために使用さ

れるコマンドの リ ス トは、 [File] → [Project] → [Write Tcl] をク リ ッ クする と作成できます。 各コマンドの詳細は、 コ

マンドの -help オプシ ョ ンを使用してください。

パーシャル リ コンフ ィギュレーシ ョ ン プロジェク トの作成および使用手順

このセクシ ョ ンでは、 パーシャル リ コンフ ィギュレーシ ョ ン デザイン フローの一般的なフローと、 Vivado IDE 内で

の機能について説明します。 ザイ リ ンクス評価プラ ッ ト フォームをターゲッ トにしたデザインを使用したチュート

リ アルは、『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947) [参照 1] の演習 3 を

参照してください。

パーシャル リコンフ ィギュレーシ ョ ン プロジェク トの作成

PR プロジェク ト作成の初期段階は、 標準デザインフローと同じです。 New Project ウ ィザードを使用して、 ターゲッ

ト デバイス、 デザイン ソースおよび制約ファイルを選択し、 プロジェク トの詳細を設定します。 新規プロジェク ト

を作成する際、 デザインのスタティ ッ ク部分のソース ファ イルおよび制約をすべて追加する必要があ り ます。 各リ

コンフ ィギャラブル パーティシ ョ ンの 初のリ コンフ ィギャラブル モジュールの RTL および IP デザイン ソースを

含めるこ と もできますが、 と り あえずブラ ッ ク ボッ クス と して残すこ と もできます。

注記: 初にプロジェク ト を作成する と きは、 1 つの RM のソースのみを追加してください。 プロジェク トにさ らに

RM を追加するには、 Partial Reconfiguration ウ ィザードを使用します。 この詳細は、 この章の後の方で説明します。

プロジェク ト を作成したら、 それをパーシャル リ コンフ ィギュレーシ ョ ン プロジェク ト と して定義します。 これに

は、 [Tools] → [Enable Partial Reconfiguration] をク リ ッ ク します。 これでプロジェク トが PR デザイン フロー用になり

ます。 この設定は、 いったん定義する と元に戻すこ とはできません。 このオプシ ョ ンを選択する前に、 プロジェク

ト をアーカイブするこ とをお勧めします。 このオプシ ョ ンが表示されない場合は、 有効なパーシャル リ コンフ ィ

ギュレーシ ョ ン ライセンスが Vivado ツールで認識されているこ とを確認してください。

パーシャル リコンフ ィギュレーシ ョ ン 46UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 47: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

ダイアログ ボッ クスが開き、 この設定を元に戻すこ とができないこ とを示すメ ッセージが表示されます。 [Convert]

をク リ ッ クする と、 プロジェク トに PR 用のメニュー オプシ ョ ンおよびウ ィンド ウが追加されます。 その一部を次

に示します。

• Flow Navigator に Partial Reconfiguration ウ ィザードへのリ ンク

• [Sources] ウ ィンド ウに [Partition Definitions] ビュー

• [Configurations] ウ ィンド ウ

リコンフ ィギャラブル パーティシ ョ ンの定義

プロジェク ト を PR プロジェク トに設定する と、 RTL ソース階層内でリ コンフ ィギャラブル パーティシ ョ ンを定義

できるよ うになり ます。 デザイン階層内の次のよ うなインスタンスが、 リ コンフ ィギャラブル パーティシ ョ ンに適

しています。

• RTL、 DCP、 または EDIF ソースで定義されている。

• 上位の階層にパラ メーターおよびジェネ リ ッ クを渡さない。 パラ メーターおよびジェネ リ ッ クを リ コンフ ィ

ギャラブル パーティシ ョ ンの境界に配置するこ とは可能ですが、 パーティシ ョ ンを作成する前にローカルで評

価する必要があ り ます。

• 基になる RTL にアウ ト オブ コンテキス ト (IP 以外) または EDIF モジュールが含まれていない。

• IP が 上位と して含まれていない。

• ブロ ッ ク図 (.bd) ソースが含まれていない。

1. モジュールを右ク リ ッ ク して [Create Partition Definition] をク リ ッ ク し、 リ コンフ ィギャラブル パーティシ ョ ン

を作成します。 デザイン ソースがまだない場合は、 このモジュールをブラ ッ ク ボッ クスにしておく こ とができ

ます。

X-Ref Target - Figure 4-1

図 4-1: パーシャル リ コンフ ィギュレーシ ョ ンのイネーブル

パーシャル リコンフ ィギュレーシ ョ ン 47UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 48: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

2. この後表示されるダイアログ ボッ クスで、 このパーティシ ョ ン定義の名前を指定します。 初のリ コンフ ィ

ギャラブルモジュール (RM) の名前も指定します。 この RM は、 同じ階層にある RTL またはネッ ト リ ス ト ソー

スから作成されます。 フローの後の段階でさらに RM を追加および作成できます。

重要: 選択したモジュールのインスタンスはすべて リ コンフ ィギャラブル パーティシ ョ ンになり ます。 1 つのインス

タンスを リ コンフ ィギャラブル、 も う 1 つのインスタンスをスタティ ッ クにするには、 これら 2 つのインスタンス

に別の名前を付けます。

X-Ref Target - Figure 4-2

図 4-2: リコンフ ィギャラブル パーティシ ョ ンの作成

X-Ref Target - Figure 4-3

図 4-3: リコンフ ィギャラブル パーティシ ョ ンおよび 初のリコンフ ィギャラブル モジュールの定義

パーシャル リコンフ ィギュレーシ ョ ン 48UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 49: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

3. [OK] をク リ ッ クする と、 Vivado IDE でのこのモジュールの表示は異なるものになり ます。 [Hierarchy] ビューで、

リ コンフ ィギャラブル パーティシ ョ ンのモジュールのインスタンスに菱形マークが付き、 デザイン ソースが

[Partition Definitions] ビューに移動されて別に管理されます。 デザイン内のリ コンフ ィギャラブル パーティシ ョ

ンすべてに対し、 この手順を繰り返します。

パーシャル リコンフ ィギュレーシ ョ ン プロジェク ト構造を完成

リ コンフ ィギャラブル パーティシ ョ ンを定義したら、 プロジェク トの詳細を入力します。 これには、 各リ コンフ ィ

ギャラブル パーティシ ョ ンへのリ コンフ ィギャラブル モジュール (RM) の追加、 RM と スタティ ッ ク デザインを組

み合わせたコンフ ィギュレーシ ョ ンのフル セッ トの定義、 すべてのコンフ ィギュレーシ ョ ンをインプリ メン トする

ための run のセッ トの設定などがあ り ます。 これらの設定は、 すべて Partial Reconfiguration ウ ィザードで実行しま

す。 後で変更や追加が必要な場合は、 このウ ィザードに戻って設定し直します。

ヒン ト : Partial Reconfiguration ウ ィザードでの変更は、 [Finish] ボタンをク リ ッ クするまで反映されません。 すべて設

定し終えるまで、 ウ ィザードの前のページに戻ったり先に進んだりするこ とができ、 変更をキャンセルするこ と も

できます。

Flow navigator または [Tools] メニューから [Partial Reconfiguration Wizard] をク リ ッ ク し、 Partial Reconfiguration ウ ィ

ザードを開きます。

Partial Reconfiguration ウ ィザードが開いたら、 各ページで PR プロジェク ト を設定していきます。

X-Ref Target - Figure 4-4

図 4-4: [Sources] ウィンドウに表示される [Partition Definitions] ビュー

X-Ref Target - Figure 4-5

図 4-5: Flow Navigator の [Partial Reconfiguration Wizard]

パーシャル リコンフ ィギュレーシ ョ ン 49UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 50: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

[Edit Reconfigurable Modules] ページ

1. [Next] をク リ ッ クする と、 定義されたパーティシ ョ ン定義 (PD) に対して新しいリ コンフ ィギャラブル モジュー

ルを定義するページが表示されます。 PD を作成したと きに RTL/ネッ ト リ ス ト ソースを追加した場合、 各 PD の

初の RM がこ こに含まれています。 + アイコンをク リ ッ ク して新しい RM を作成し、 名前を付けます。 デザイ

ンに複数の PD がある場合は、 正しいものを選択します。 ネッ ト リ ス ト ソースが選択されている場合は、

[Sources are already synthesized] チェッ ク ボッ クスをオンにし、 ネッ ト リ ス トの 上位モジュールを指定します。

X-Ref Target - Figure 4-6

図 4-6: リコンフ ィギャラブル モジュールの新規作成

パーシャル リコンフ ィギュレーシ ョ ン 50UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 51: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

2. 各パーティシ ョ ン定義の既存の RM すべてに対して、 この作業を繰り返します。 グレー ボッ クス モジュールの

場合は、 設定は必要あ り ません。 RM は、 鉛筆アイコンをク リ ッ クする と編集でき、 赤色の - アイコンをク リ ッ

クする と削除できます。 すべての RM を設定したら、 [Next] をク リ ッ ク します。

X-Ref Target - Figure 4-7

図 4-7: リコンフ ィギャラブル モジュールのセッ ト を定義

パーシャル リコンフ ィギュレーシ ョ ン 51UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 52: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

[Edit Configurations] ページ

リ コンフ ィギャラブル モジュールのセッ ト を定義したら、 コンフィギュレーシ ョ ンを宣言します。 各コンフィギュ

レーショ ンは、 スタティ ッ ク ロジッ ク と、 RP ごとに 1 つの RM を組み合わせたもので、 フル デザイン イ メージです。

各コンフ ィギュレーシ ョ ンは手動で作成できますが、 低限のコンフ ィギュレーシ ョ ン セッ ト を Vivado で自動的に

作成するのが簡単です。 次の図に示すページの中央にある [automatically create configurations] リ ンクをク リ ッ クする

と、 自動的に作成されます。 この リ ンクをク リ ッ クする と、 すべての RM が少なく と も 1 回含まれるよ う、 コン

フ ィギュレーシ ョ ンが必要な数だけ作成されます。 このオプシ ョ ンは、 コンフ ィギュレーシ ョ ンがまだ定義されて

いない場合にのみ使用できます。

あるパーティシ ョ ン定義にほかのパーティシ ョ ン定義よ り も多くの RM が含まれている場合、 すべての RM が前の

コンフ ィギュレーシ ョ ンで定義されている RP に対し、 グレー ボッ クス RM が自動的に使用されます。 これらのデ

フォルト コンフ ィギュレーシ ョ ンは、 その内容および名前を変更でき、 必要に応じて追加のコンフ ィギュレーシ ョ

ンを作成するこ と もできます。

ヒン ト : グレー ボッ クス モジュールは完全に空ではないので、 ブラ ッ ク ボッ クス モジュールとは異なり ます。 グ

レー ボッ クス RM には、 RM がなくても有効なデザイン接続を完全なものにするために LUT が含まれており、 動作

中に出力が未接続にならないよ うにします。 Vivado では、 選択したモジュールに update_design

-buffer_ports を実行するこ とによ り、 これらが作成されます。

X-Ref Target - Figure 4-8

図 4-8: コンフ ィギュレーシ ョ ンを作成する前の [Edit Configurations] ページ

パーシャル リコンフ ィギュレーシ ョ ン 52UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 53: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

1 つの RM が複数のコンフ ィギュレーシ ョ ンで使用されている場合、 配置配線は毎回実行されるため、 インプ リ メン

テーシ ョ ン結果が異なるこ とがあ り ますが、 これは 初に RM が子 run でインプリ メン ト されている場合のみです。

親コンフ ィギュレーシ ョ ンで実行されている場合は、 RM インプリ メンテーシ ョ ン結果は再利用されます。 これによ

り、 Vivado プロジェク トで親と子の間の依存関係が管理されます。

X-Ref Target - Figure 4-9

図 4-9: コンフ ィギュレーシ ョ ンを自動生成した後の [Edit Configurations] ページ

パーシャル リコンフ ィギュレーシ ョ ン 53UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 54: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

[Edit Configuration Runs] ページ

すべてのコンフ ィギュレーシ ョ ンを定義したら、 コンフ ィギュレーシ ョ ンに関連付けられているコンフ ィギュレー

シ ョ ン run を管理します。 コンフ ィギュレーシ ョ ンと同様、 コンフ ィギュレーシ ョ ン run のセッ ト も Vivado で自動的

に作成できます。 リ ス トの 初のコンフ ィギュレーシ ョ ンは親コンフ ィギュレーシ ョ ンと して定義され、 その他の

コンフ ィギュレーシ ョ ンはすべてその親に対する子と して設定されます。

この構造は、 初のコンフ ィギュレーシ ョ ンが も ク リ ティカルで困難なものである と想定しています。 この親子

関係は、 [Parent] 列の値を設定するこ とによ り変更できます。 合成 run の親 (この例では synth_1) は、 コンフ ィギュ

レーシ ョ ン (特にスタティ ッ ク部分) が合成済みネッ ト リ ス トからインプリ メン ト されるこ とを示しており、 インプ

リ メンテーシ ョ ン run の親 (この例では impl_1) は、 親のロ ッ ク されたスタティ ッ ク インプリ メンテーシ ョ ン結果が

開始点と して再利用されるこ とを示しています。

PR デザインでさまざまな配置配線オプシ ョ ン、 タイ ミ ング ク ロージャ テクニッ クを試しながら、 複数の独立した

親 run を試すこ とができます。 複数の親 run を並行して実行し、 親 run が完了したら子 run を実行できます。 配線済

みの親 run のスタティ ッ クのみのチェッ クポイン ト など、 中間チェッ クポイン トの作成や保存に関するすべての PR

設定が Vivado プロジェク ト管理機能で処理されます。 終的には、 すべてのコンフ ィギュレーシ ョ ンのベース とな

るスタティ ッ ク インプリ メンテーシ ョ ン結果を確立するため、 親 run を 1 つ選択しする必要があ り ます。

重要: シ リ コンでの安全な動作環境を確実にするため、 ロ ッ ク されたスタティ ッ ク イ メージがすべてのコンフ ィギュ

レーシ ョ ンで一貫したものになるよ うにし、 ビッ ト ス ト リーム生成で互換性のあるフルおよびパーシャル ビッ ト ス

ト リームが生成されるよ うにする必要があ り ます。 これは、 Vivado PR プロジェク ト フローで関連しているコンフ ィ

ギュレーシ ョ ンの親子関係を確立させるこ とによ り管理されます。

緑色の + アイコンをク リ ッ ク して、 新しいコンフ ィギュレーシ ョ ン run を追加します。 コンフ ィギュレーシ ョ ン run

をすべて作成したら、 [Next] をク リ ッ ク します。 終ページに新しいエレ メン トの数が表示されます。 [Finish] をク

リ ッ クする と、 プロジェク トへの変更がすべて実行されます。

X-Ref Target - Figure 4-10

図 4-10: 自動生成されたコンフ ィギュレーシ ョ ン run

パーシャル リコンフ ィギュレーシ ョ ン 54UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 55: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

[Design Runs] ウ ィンド ウに、 各リ コンフ ィギャラブル モジュールのアウ ト オブ コンテキス ト合成 run が作成され、

コンフ ィギュレーシ ョ ン run がすべて生成されます。 親子関係は、 インデン トのレベルによ り示されます。

[Configurations] ウ ィンド ウにも、 プロジェク トで使用可能な各コンフ ィギュレーシ ョ ンの構成の詳細が表示されます。

X-Ref Target - Figure 4-11

図 4-11: 合成およびインプリ メンテーシ ョ ンのデザイン run

X-Ref Target - Figure 4-12

図 4-12: プロジェク トで使用可能なコンフ ィギュレーシ ョ ン

パーシャル リコンフ ィギュレーシ ョ ン 55UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 56: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

リコンフ ィギャラブル モジュールまたはコンフ ィギュレーシ ョ ンの追加および変更

Partial Reconfiguration ウ ィザードは、 リ コンフ ィギャラブル モジュールおよびコンフ ィギュレーシ ョ ンを変更するた

めのツールです。 新しい RM の追加、 RM のソース リ ス トの変更、 新しいコンフ ィギュレーシ ョ ンまたは run の作成

および削除を実行できます。 このウ ィザード内で作業している と き、 [Finish] ボタンをク リ ッ クするまでは変更は保

存も反映も されないので、 ページを前後に自由に移動して、 必要に応じて設定を変更できます。

RTL ソース自体を変更する必要がある場合は、 [Sources] ウ ィンド ウの [Partition Definitions] ビューから開く こ とがで

きます。 このビューには各リ コンフ ィギャラブル モジュールが [Hierarchy] ビューのフル デザインと同じよ うに表示

されますが、 その RM の階層とその下位階層のみが表示されます。 各 RM に関連付けられているソースおよび制約

すべてが表示されます。

IP ソースの作成および追加

リ コンフ ィギャラブル モジュールに IP を含めるこ とができます。 IP を RM の 上位とするこ とはできませんが、 そ

の下であればどのレベルにでも含めるこ とができます。 ソースを リ コンフ ィギャラブル モジュールに追加する と き

に、 RTL と共に .xci または .xcix ファ イルを含めます。

Vivado 2017.3 から、 リ コンフ ィギャラブル モジュール内の IP をグローバルまたはアウ ト オブ コンテキス トで合成

できるよ うになっています。 次の図に示す [Synthesis Options] のどちらのオプシ ョ ンも使用できます。

X-Ref Target - Figure 4-13

図 4-13: [Partition Definitions] ビューに表示されるソース

パーシャル リコンフ ィギュレーシ ョ ン 56UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 57: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

X-Ref Target - Figure 4-14

図 4-14: 出力ファイル生成時に合成オプシ ョ ンを [Global] に設定

X-Ref Target - Figure 4-15

図 4-15: 出力ファイル生成時に合成オプシ ョ ンを [Out of context per IP] に設定

パーシャル リコンフ ィギュレーシ ョ ン 57UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 58: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

IP は、 PR プロジェク ト内で IP カタログから作成できます。 IP 生成フローでは IP がどの RM 用なのかを認識できな

いので、 IP を作成したらデザインのプライマ リ ブロッ クセッ トに追加します。 IP を特定の RM に割り当てるには、

[Sources] ウ ィンド ウで IP を右ク リ ッ ク して [Move to Reconfigurable Module] をク リ ッ ク します。 適切な RM を選択

し、 [OK] をク リ ッ ク します。

も う 1 つの要件と して、 IP はリ コンフ ィギャラブル モジュールごとに固有なものである必要があ り ます。 同じ IP

ファンクシ ョ ンが 2 つの異なる RM に含まれる場合、 2 つのインスタンスを作成する必要があ り ます。 これには、 1

つの IP を複製して新しい同一の IP を作成するのがベス トです。 既存の IP を右ク リ ッ ク し、 [Copy IP] をク リ ッ ク し

ます。 コピーを作成したら、 前述のよ うにこの IP をターゲッ トの リ コンフ ィギャラブル モジュールに移動する必要

があ り ます。

PR デザインのインプリ メンテーシ ョ ン

必要なコンフ ィギュレーシ ョ ン run をすべて定義したら、 デザインを合成およびインプリ メン トできます。 Flow

Navigator を使用し、 合成、 配置配線、 ビッ ト ス ト リーム生成を実行できます。 Flow Navigator は、 標準フローの場合

と同様、 アクティブ run に対して実行されますが、 アクティブな親 run だけでなく子 run もすべて実行されます。

パーシャル リ コンフ ィギュレーシ ョ ン デザインには、各リ コンフ ィギャラブル パーティシ ョ ンに Pblock が 1 つ必要

です。 Pblock が定義されていないと、 place_design で次のよ うなエラー メ ッセージが表示されます。

ERROR: [DRC 23-20] Rule violation (HDPR-30) Missing PBLOCK On Reconfigurable Cell

この必要な Pblock が 上位デザイン制約ファイルに含まれる場合は、 合成からビッ ト ス ト リーム生成までを実行で

きます。 Pblock が含まれない場合は、 上位合成の後にデザインを開いて作成するのが簡単です。 ネッ ト リ ス トの

階層ビューでリ コンフ ィギャラブル パーティシ ョ ンに対応するモジュールを右ク リ ッ ク し、 [Floorplanning] → [Draw

Pblock] をク リ ッ ク します。

X-Ref Target - Figure 4-16

図 4-16: IP をリコンフ ィギャラブル モジュールに移動

X-Ref Target - Figure 4-17

図 4-17: IP のコピー

パーシャル リコンフ ィギュレーシ ョ ン 58UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 59: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

リ コンフ ィギャラブル パーティシ ョ ンの Pblock を描画し終える と、 そのプロパティが [Pblock Properties] ウ ィンド ウ

の [Properties] ビューに表示されます。 リ コンフ ィギャラブル パーティシ ョ ン用の RESET_AFTER_RECONFIG (7 シ

リーズのみ) および SNAPPING_MODE とい う 2 つのオプシ ョ ンがあ り ます。 [Statistics] ビューには、 現在読み込まれ

ている リ コンフ ィギャラブル パーティシ ョ ンに使用可能な リ ソースおよび使用されている リ ソースがレポート され

ます。 ほかの RM のニーズを考慮するこ と も重要です。

各リ コンフ ィギャラブル パーティシ ョ ンの Pblock を作成したら、 各コンフ ィギュレーシ ョ ンをインプリ メン トでき

ます。 Flow Navigator で [Run Implementation] ボタンをク リ ッ クする と、 まずアクティブな親 run に対して配置配線が

実行されます。 それが完了する と、 親 run のスタティ ッ ク デザイン結果を使用して、 すべての子 run が並行して実行

されます。

PR ソ リ ューシ ョ ンの詳細は、 Vivado プロジェク トで管理されます。 データベース管理は詳細の 1 つです。 親 run が

完了する と、 デザイン全体の配線済みデータベースと、 各リ コンフ ィギャラブル モジュールのセル レベルのチェッ

クポイン トが保存されます。 この後、 update_design -black_box が実行されて各 RM がブラ ッ ク ボッ クスに変

更され、 すべての子 run のベースとなるスタティ ッ ク部分のみのデザイン チェッ クポイン トが作成されます。 子イ

ンプ リ メンテーシ ョ ン run が実行される と、 スタティ ッ ク部分のみの配線済み親チェッ クポイン ト と、 各リ コンフ ィ

ギャラブル モジュールの合成後チェッ クポイン トがコンフ ィギュレーシ ョ ンに統合されます。 この時点では、親 run

の配線済みモジュール チェッ クポイン トのみが子コンフ ィギュレーシ ョ ンで再利用できます。 複数の子 run で 1 つ

の RP に対して同じ RM が選択されている場合、 結果は異なり ます。

X-Ref Target - Figure 4-18

図 4-18: Pblock のパーシャル リコンフ ィギュレーシ ョ ン プロパティ (7 シリーズ)

パーシャル リコンフ ィギュレーシ ョ ン 59UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 60: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

標準プロジェク トの場合と同様に、 Vivado で run の間の依存関係が管理されます。 デザイン ソース、 制約、 オプ

シ ョ ンまたは設定を変更する と、 依存関係のある合成またはインプリ メンテーシ ョ ン run が 新でなくなったこ とが

マーク されます。 たとえば、 ある RM の RTL デザイン ソースをアップデートする と、 アウ ト オブ コンテキス ト モ

ジュール run が 新でなくな り、 その RM を含むコンフ ィギュレーシ ョ ン run も 新ではなくな り ます。 また、 親コ

ンフ ィギュレーシ ョ ン run のインプリ メンテーシ ョ ン オプシ ョ ンを変更する と、 その run とすべての子 run が 新で

なくな り ます。

アクティブに設定できるのは親コンフ ィギュレーシ ョ ン run のみです。 Flow Navigator はアクティブ run に対して実

行されますが、 PR フローでは、 すべての操作は子 run に対しても実行されます。 run の完了やエラーを示すポップ

アップ メ ッセージは、 複数の run に関連している場合があ り ますが、 デフォルトでは親 run に対して表示されます。

プルダウン リ ス トから、 必要なインプリ メンテーシ ョ ン run を選択してください。

各ウ ィンド ウ (図 4-19) に表示される内容は、 アクティブな親 run に関連しています。子インプリ メンテーシ ョ ン run

の詳細を確認するには、その run を選択し、[Implementation Run Properties] ウ ィンド ウで選択した run のすべての入力

(プロパティ、 オプシ ョ ン) および出力 (ログ、 レポート、 メ ッセージ) を確認できます。

X-Ref Target - Figure 4-19

図 4-19: 複数のコンフ ィギュレーシ ョ ンを並行してインプリ メン ト

X-Ref Target - Figure 4-20

図 4-20: [Implementation Completed] ダイアログ ボックス

パーシャル リコンフ ィギュレーシ ョ ン 60UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 61: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

ビッ トス ト リームの生成

必要なコンフ ィギュレーシ ョ ンをすべて配置配線したら、 ビッ ト ス ト リームを生成できます。 インプリ メンテー

シ ョ ンと同じよ うに、 Flow Navigator の [Generate Bitstream] ボタンを使用できます。 このボタンをク リ ッ クする と、

アクティブな親と子 run すべてに対して write_bitstream が実行されます。 コンフ ィギュレーシ ョ ンを右ク リ ッ

ク して、 write_bitstream を実行するこ と もできます。

各子コンフ ィギュレーシ ョ ン run に対して write_bitstream を実行する前に、pr_verify というユーティ リ ティ

が自動的に実行されます。 このユーティ リ ティは配線済みデータベースと親データベースを比較し、 すべての PR 規

則に従っているこ とを確認します。 このチェッ クの結果は、 run ディ レク ト リに <impl_name>_pr_verify.log

という名前で保存されます。

デフォルトでは、 すべての配線済みコンフ ィギュレーシ ョ ンに対して、 フル デザイン ビッ ト ス ト リームとすべての

パーシャル ビッ ト ス ト リーム (および UltraScale の場合はク リ ア ビッ ト ス ト リーム) が生成されます。

write_bitstreams のオプシ ョ ンを使用して、 特定のビッ ト ス ト リームのみを生成するこ と も可能です。

[Implementation Run Properties] ウ ィンド ウの [Options] タブで、[Write Bitstream (write_bitstream)] カテゴ リにある [More

Options] フ ィールドに次のいずれかのオプシ ョ ンを入力します。

• -no_partial_bitfile: フル コンフ ィギュレーシ ョ ン ファ イルのみを生成し、 パーシャル ビッ ト ス ト リーム

は生成しません。

• -cell <cell>: 指定したセルのパーシャル ビッ ト ス ト リームのみを生成します。

X-Ref Target - Figure 4-21

図 4-21: 子 run の [Implementation Run Properties] ウィンドウ

パーシャル リコンフ ィギュレーシ ョ ン 61UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 62: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 4 章: Vivado プロジェク ト フロー

サポート される機能とサポート されない機能

これは PR プロジェク ト ソ リ ューシ ョ ンの初期リ リースであ り、 すべての機能が含まれているわけではあ り ません。

このセクシ ョ ンでは、 PR プロジェク トで現在サポート されている機能とサポート されていない機能を示します。

サポート される機能

• デバイス サポート : すべての 7 シ リーズ、 Zynq、 UltraScale および UltraScale+ デバイスでパーシャル リ コンフ ィ

ギュレーシ ョ ン フローがサポート されています。

• インプ リ メンテーシ ョ ン ツールの実行には、 パーシャル リ コンフ ィギュレーシ ョ ン ラ イセンスが必要です。

• リ コンフ ィギャラブル モジュールのソース タイプ: RTL、 DCP、 EDIF、 XDC、 XCI、 XCIX。

° XCI または XCIX (ザイ リ ンクス IP) を 上位にするこ とはできません。

° EDIF をサブモジュールにするこ とはできません。

• モジュール レベルの制約は、 その階層インスタンスに適用する必要があ り ます。

• グレー ボッ クス (LUT 接続を含むブラ ッ ク ボッ クス) インプリ メンテーシ ョ ンが可能です。

• プロジェク ト環境から広範なデザイン ルール チェッ クを実行できます。

• すべての合成およびインプ リ メンテーシ ョ ン デザイン オプシ ョ ンを使用できます。

• すべての子コンフ ィギュレーシ ョ ンに対して、 ビッ ト ス ト リーム生成前に PR 検証が自動的に実行されます。

サポート されない機能

次の機能は現時点では使用できません。

• IP インテグレーターはサポート されていません。 ブロ ッ ク図を RM と して、 または RM 内に含めるこ とはでき

ません。 ブロ ッ ク図内のモジュールを RM と して設定するこ とはできません。

• プロジェク ト内でのシ ミ ュレーシ ョ ンはサポート されていません。

既知の制限

• パーティシ ョ ンは一度定義する と、 元に戻すこ とはできません。 PR ではないプロジェク トに戻すには、 新しい

プロジェク ト を作成するのが唯一の方法です。

• 子 run からインプリ メン ト された リ コンフ ィギャラブル モジュールの再利用はサポート されていません。親 run

からの RM のインプ リ メンテーシ ョ ン結果のみを子 run で再利用できます。

• 子インプ リ メンテーシ ョ ン run はアクティブに設定できません。 Flow Navigator での操作は、 操作の種類によっ

て、 親 run に対してのみ、 または親 run とそのすべての子 run に対してのみ実行されます。

パーシャル リコンフ ィギュレーシ ョ ン 62UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 63: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章

すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

概要

この章では、 パーシャル リ コンフ ィギュレーシ ョ ン特定のデザイン要件と、 ザイ リ ンクス デザイン ツールの PR 機

能について説明します。

ザイ リ ンクス FPGA のパーシャル リ コンフ ィギュレーシ ョ ン機能を使用するには、 デザイン仕様を注意深く解析し、

PR デザインの要件、 特性、 制限を考慮する必要があ り ます。 これによ り、 設計およびデバッグ プロセスが単純にな

り、 デザインが誤動作する リ スクを回避できます。

この章では、 すべてのザイ リ ンクス 7 シ リーズおよび UltraScale™ デバイスに適用されるデザイン要件を示します。

個々の FPGA および SoC アーキテクチャに特定のデザイン要件は、 次の章を参照してください。

• 第 6 章 「7 シ リーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン」

• 第 7 章 「UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ラ イン」

パーシャル リ コンフ ィギュレーシ ョ ン IPザイ リ ンクスでは、 パーシャル リ コンフ ィギュレーシ ョ ン デザインで使用するための 4 つの IP を提供しています。

これらの IP にも PR デザインにも追加の料金はかかり ません。 これらの IP は、 リ コンフ ィギャラブル デザインの主

要な機能を簡単にすばやく インプ リ メン トできるよ うにするために提供されています。 IP カタログの [Partial

Reconfiguration] フォルダー内にリ ス ト されており、 ザイ リ ンクス ウェブサイ トに製品ページと詳細な製品ガイ ドが

あ り ます。

これら 4 つのパーシャル リ コンフ ィギュレーシ ョ ン IP は Vivado 2018.1 に含まれており、 パーシャル リ コンフ ィ

ギュレーシ ョ ンをサポートするすべてのザイ リ ンクス デバイスで使用できます。

• Partial Reconfiguration Controller: パーシャル リ コンフ ィギュレーシ ョ ン デザインを制御するための管理機能

を提供します。 これは、 すべてのリ コンフ ィギャラブル モジュール (RM) がコン ト ローラーに既知である閉じ

たシステムで使用するこ とを意図しています。 オプシ ョ ンの AXI4-Lite レジスタ インターフェイスを使用する

と、 コアをランタイムで リ コンフ ィギュレーシ ョ ンできるので、 RM がフ ィールドで変更されるシステムにも

使用できます。 多数の仮想ソケッ ト、 仮想ソケッ ト ごとに多数の RM、 さまざまな操作およびインターフェイ

ス用にカスタマイズできます。

• Partial Reconfiguration Decoupler: パーシャル リ コンフ ィギュレーシ ョ ン中のスタティ ッ ク ロジッ ク と リ コン

フ ィギャラブル パーティシ ョ ンに安全で管理された境界を提供します。 多数のインターフェイス、 さまざまな

インターフェイス、 デカップ リ ング機能、 ステータスおよび制御用にカスタマイズできます。

パーシャル リコンフ ィギュレーシ ョ ン 63UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 64: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

• Partial Reconfiguration AXI Shutdown Manager: パーシャル リ コンフ ィギュレーシ ョ ン中にリ コンフ ィギャラ

ブル パーティシ ョ ンと スタティ ッ ク ロジッ クの間の AXI インターフェイスを安全にするため、 1 つまたは複数

使用できます。 アクティブの場合、 RM に送信された AXI ト ランザクシ ョ ンおよび RM から送信された AXI ト

ランザクシ ョ ンは、 RM で完了できない可能性があるため、 停止されます。 完了できない場合、 システムが

デッ ト ロ ッ ク状態になる可能性があ り ます。 アクティブでない場合は、 ト ランザクシ ョ ンは変更されずに渡さ

れます。

• Partial Reconfiguration Bitstream Monitor: デザイン フローの実行中にパーシャル ビッ ト ス ト リームを特定しま

す。 この情報は、 デバッグまたはブロッキング ビッ ト ス ト リーム ロードなどのシステム アプリ ケーシ ョ ンに使

用できます。 パーシャル ビッ ト ス ト リームの主要な場所に埋め込まれている識別子がこのコアによ り抽出され、

レポート されます。 この情報は、 どのパーシャル ビッ ト ス ト リームがフェッチされたか、 その全体がフェッチ

されたか、 データパスのどこまで到達したかを判断するために、 ILA コアを使用して Vivado ハードウェア デ

バッガーに渡すこ とができます。

デザイン階層

適切な階層デザインを作成しておく と、 パーシャル リ コンフ ィギュレーシ ョ ン可能な FPGA デザインをインプリ メ

ン トする と きに複雑になったり、 困難になったりするのを回避できます。 デザイン インスタンス階層を明確に定義

しておく と、 物理制約およびタイ ミ ング制約をシンプルにするこ とができ、 スタティ ッ ク ロジッ ク と リ コンフ ィ

ギャラブル ロジッ クの境界の信号にレジスタを付ける と、 タイ ミ ング ク ロージャを達成しやすくな り ます。 同じ階

層レベルに配置するロジッ クをグループ化するこ と も必要です。

これらはよ く知られている設計プラ クティ スですが、 一般的な FPGA デザインでは、 これらのガイ ド ラインに従っ

ていないこ とがあ り ます。 パーシャル リ コンフ ィギュレーシ ョ ン デザインでは、 こ う したデザイン規則に厳密に従

う必要はあ り ませんが、 従わないと悪影響が出る可能性があ り ます。 パーシャル リ コンフ ィギュレーシ ョ ンの利点

は大きいですが、 デザインがよ り複雑になるので、 特にハード ウェアでのデバッグが困難になるこ とがあ り ます。

デザイン階層の詳細は、 付録 A 「階層デザイン フロー」 を参照してください。

DRP を使用したダイナミ ック リコンフ ィギュレーシ ョ ン

スタティ ッ ク領域にあ り、 パーシャル リ コンフ ィギュレーシ ョ ンされないロジッ ク も、 ダイナミ ッ ク リ コンフ ィ

ギュレーシ ョ ン ポート (DRP) を使用して動的にリ コンフ ィギュレーシ ョ ンできます。 DRP は、 MMCM、 PLL、 シ リ

アル ト ランシーバー (MGT) などのロジッ ク エレ メン ト をコンフ ィギュレーシ ョ ンするのに使用できます。

特定のデザイン リ ソースに対する DRP の使用方法を含む DRP およびダイナミ ッ ク リ コンフ ィギュレーシ ョ ンの詳

細は、 次の資料を参照してください。

• 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470) [参照 7]

• 『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』 (UG476) [参照 19]

• 『7 シ リーズ FPGA GTP ト ランシーバー ユーザー ガイ ド』 (UG482) [参照 20]

• 『MMCM および PLL のダイナミ ッ ク リ コンフ ィギュレーシ ョ ン』 (XAPP888) [参照 21]

• 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 8]

• 『UltraScale アーキテクチャ ク ロ ッキング リ ソース ユーザー ガイ ド』 (UG572) [参照 22]

• 『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576) [参照 23]

• 『UltraScale アーキテクチャ GTY ト ランシーバー ユーザー ガイ ド』 (UG578) [参照 24]

パーシャル リコンフ ィギュレーシ ョ ン 64UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 65: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

ロジックのパック

同じ階層レベルにパッ クする必要のあるロジッ クは、 それがスタティ ッ クであるかリ コンフ ィギャラブルであるかに

かかわらず、 同じグループに配置する必要があり ます。 たとえば、 LUT とフ リ ップフロ ップを同じスライスに配置す

るには、 同じパーティシ ョ ンに含める必要があり ます。 パーティシ ョ ンの境界を越える 適化は実行されません。

I/O、 ク ロ ッ ク、 および GT リ ソースを含むリ コンフ ィギャラブル パーティシ ョ ンでは、 ツールで自動的に推論され

る I/O バッファーをその RP レベル内にインスタンシエートするこ とが必要な場合があ り ます。 たとえば、

GT_COMMON が RP に含まれている場合、 IBUFDS_GTE をインスタンシエートする必要があ り ます。 関連付けられて

いる I/O バッファーが 上位/スタティ ッ ク部分にある場合は、 パッ クするこ とはできません。

デザイン インスタンスの階層

リ コンフ ィギャラブル パーティシ ョ ンを 上位にインスタンシエートするのが も簡単な方法ですが、 必ずそう し

なければならないわけではなく、 リ コンフ ィギャラブル パーティシ ョ ンはどの階層レベルにも配置できます。 各リ

コンフ ィギャラブル パーティシ ョ ンは 1 つのインスタンスに対応している必要があ り ます。 1 つの RP に複数の 上

位を指定するこ とはできません。 インスタンシエーシ ョ ンには、 関連モジュールが複数含まれます。

デザイン階層を変更して、 複数のモジュールおよび 下位セルを RP 階層レベルに統合したり、 RP 階層レベルから

分離できます。 これを実行するのには、 いくつかの理由があ り ます。

• PR 領域とスタティ ッ ク領域間のデバイス リ ソースのバランスを取り、 デザインをよ り効率的なものにするた

め。 たとえば、 ターゲッ ト RP がデバイスのほとんどの部分を占めており、 スタティ ッ ク領域にブロ ッ ク RAM

を多数必要とするモジュールがあ り、 スタティ ッ ク領域に十分な数のブロッ ク RAM がない場合、 このモジュー

ルを PR 領域に移動できます。

• セルをデバイスの同じ物理エリ アに配置する必要があるが、 これらのセルが異なるデザイン階層に含まれる場

合。 たとえば、 GT_CHANNELS を同じ UltraScale ク ロ ッ ク領域に配置する必要があるが、 デザインにはスタ

ティ ッ ク領域と RP 領域の両方に GT がある場合です。

• IBUFDS_GT から GT_COMMON など、 専用の接続を同じ領域に配置するため。

リコンフ ィギャラブル パーティシ ョ ンのインターフェイス

パーシャル リ コンフ ィギュレーシ ョ ン可能なデザインの基本要件の 1 つに、リ コンフ ィギャラブル モジュール (RM)

間の一貫性があ り ます。 1 つのモジュールを別のモジュールに置き換えるので、 スタティ ッ ク デザインと リ コン

フ ィギャラブル モジュールの間の接続が、 論理的および物理的に同一である必要があ り ます。 この一貫性を得るた

め、 パーティシ ョ ン境界を越える 適化および境界そのものの 適化は実行できません。

推奨: RM ポートに接続されているインターフェイス ロジッ クをすべての RM で一貫したものにして ください。 初期

デザインのロジッ ク レベル数が 1 で次の RM のロジッ ク レベル数が 5 など、 RM 間でロジッ ク レベル数を変更しな

いでください。 また、 初期 RM でフ リ ップフロ ップを使用し、 次の RM でブロッ ク RAM を使用するなど、 ド ライ

バー タイプを変更しないでください。 初期コンフ ィギュレーシ ョ ン後スタティ ッ ク部分のインターフェイスは固定

されるので、 ツールは後のコンフ ィギュレーシ ョ ンでのこのよ うな変更に対応するこ とはできません。 RM のすべて

の入力および出力にレジスタを付けるこ とをお勧めします。

パーシャル リコンフ ィギュレーシ ョ ン 65UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 66: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

効率をできる限り高めるため、 リ コンフ ィギャラブル パーティシ ョ ンのすべてのポートがスタティ ッ ク デザイン側

でアクティブに使用されるよ うにします。 たとえば、 リ コンフ ィギャラブル パーティシ ョ ンのスタティ ッ ク ド ラ イ

バーが定数 (0 または 1) で駆動される場合、 LUT インスタンスを作成し、 ローカルで定数ド ライバーに接続してイン

プ リ メン ト し、 適化で削除されないよ うにします。 同様に、 未接続の出力がリ コンフ ィギャラブル パーティシ ョ

ンの出力にある と、 デザイン全体に無駄が出ます。 これらの方法はインプリ メンテーシ ョ ン ツールで適用されるよ

うにし、 デザイン アセンブリの段階ですべてのリ コンフ ィギャラブル モジュールが同じポート を持つよ うにする必

要があ り ます。

推奨: 合成後にすべてのリ コンフ ィギャラブル パーティシ ョ ンのインターフェイスを確認し、 定数ポート または未接

続のポートの数をできるだけ少なく して ください。 無駄なロジッ クをなくすこ とによ り、 リ ソース使用率が下がり、

配線密集やタイ ミ ング ク ロージャの問題に対処しやすくな り ます。

パーティシ ョ ン インターフェイスを使用する場合、 次の 6 つの状況が考えられます。

1. スタティ ッ ク側と リ コンフ ィギャラブル モジュール側の両方がアクティブ ロジッ ク (パーティシ ョ ンの入力ま

たは出力)

これが 適な状況です。 パーティシ ョ ン ピンが挿入されます。

推奨: パーティシ ョ ン入力が VCC または GND で駆動される場合は、 これらの制約を リ コンフ ィギャラブル モジュー

ルに設定してください。 これによ り LUT の使用数が削減され、 インプリ メンテーシ ョ ン ツールによ り これらの定数

を RM ロジッ ク と共に 適化できるよ うになり ます。

2. スタティ ッ ク側にはアクティブ ド ラ イバーがあるが、 リ コンフ ィギャラブル モジュールにはアクティブ ロード

がない (パーティシ ョ ンの入力)

すべてのリ コンフ ィギャラブル モジュールの I/O 要件が同じである とは限らないので、 この状況が認められま

す。 パーティシ ョ ン ピンが挿入され、 未使用の入力ポートは未接続のままになり ます。

たとえば、 1 つのモジュールで CLK_A が必要で、 2 番目のモジュールで CLK_B が必要な場合、 クロ ッ ク スパイ

ンはリ コンフ ィギャラブル パーティシ ョ ンのクロ ッ ク領域にあらかじめ配線されますが、 モジュールは必要な

クロ ッ ク ソースのみを使用します。 ただし、 パーティシ ョ ン入力がリ コンフ ィギャラブル モジュールで使用さ

れない場合は、 パーティシ ョ ン インスタンシエーシ ョ ンから削除する必要があ り ます。

3. スタティ ッ ク側にはアクティブ ロードがあるが、 リ コンフ ィギャラブル モジュールにはアクティブ ド ラ イバー

がない (パーティシ ョ ンの出力)

これは先ほどの状況と似ており、 認められます。 パーティシ ョ ン ピンが挿入され、 リ コンフ ィギャラブル モ

ジュール内でグランド (論理 0) によ り駆動されます。

4. スタティ ッ ク側にはアクティブ ド ラ イバーがないが、 リ コンフ ィギャラブル モジュールにはアクティブ ロード

がある (パーティシ ョ ンの入力)

この状況ではエラーが発生するので、 パーティシ ョ ン インターフェイスを変更して解決する必要があ り ます。

次に、 表示されるエラー メ ッセージの例を示します。

ERROR: [Opt 31-65] LUT input is undriven either due to a missing connection from a design error, or a connection removed during opt_design.

このエラー メ ッセージの後に、 リ コンフ ィギャラブル モジュール内の LUT インスタンスが続きます。

パーシャル リコンフ ィギュレーシ ョ ン 66UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 67: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

5. リ コンフ ィギャラブル モジュールにはアクティブ ド ラ イバーがあるが、 スタティ ッ ク側にはアクティブ ロード

がない (パーティシ ョ ンの出力)

この状況ではエラーは発生しませんが、 リ コンフ ィギャラブル モジュール ロジッ クが残るので、 適ではあ り

ません。 パーティシ ョ ン ピンは挿入されません。 これらのパーティシ ョ ン出力は削除する必要があ り ます。

6. スタティ ッ ク側と リ コンフ ィギャラブル モジュール側のどちらにもパーティシ ョ ン ポート用のド ライバーまた

はロードがない (パーティシ ョ ンの入力または出力)

何も挿入されず、 使用されないので、 インプリ メンテーシ ョ ンが非効率になるこ とはあ り ませんが、 インスタ

ンシエーシ ョ ン ポート リ ス トの面では不要です。

パーティシ ョ ン ピンの配置

RP の各ピンにはパーティシ ョ ン ピン (PartPin) があ り ます。 デフォルトでは、 これらの PartPin はツールによ り自動

的に RP Pblock 範囲内に配置されます (必須)。 多くの場合、 この自動配置で十分ですが、 タイ ミ ング ク リ ティカルな

インターフェイス信号や密集度の高いデザインでは、 PartPin の配置を制御する必要がある場合があ り ます。 次に、

これを実行する例を示します。

• ピンの一部またはすべての HD.PARTPIN_RANGE 制約を定義します。

set_property HD.PARTPIN_RANGE SLICE_Xx0Yx0:SLICE_Xx1Yy1 SLICE_XxNYyN:SLICE_XxMYyM [get_pins <rp_cell_name>/*]

デフォルトでは、 HD.PARTPIN_RANGE は Pblock 範囲全体に設定されます。 ユーザー範囲を定義するこ とによ

り、 PartPin が指定のエリ アに配置され、 タイ ミ ングを向上したり、 密集を緩和したりできます。

重要: PartPin の配置を調べる際は、 境界沿い、 特に Pblock の角では、 配線リ ソースに制限があるので注意してくだ

さい。 PartPin の配置では、 パーティシ ョ ン ピンが分散され、 境界沿いではインターコネク ト ごとのパーティシ ョ ン

ピンの数が 小限になり、 Pblock の中央に向かって PartPin の密集度が増加するよ う配置されます。 カスタム

HD.PARTPIN_RANGE 制約を定義する際は、分散させるのに十分な範囲を指定してください。 そ う しないと、 PartPin

の周辺で配線が密集します。

パーシャル リコンフ ィギュレーシ ョ ン 67UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 68: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

アクテ ィブ Low のリセッ ト とクロック イネーブル

ザイ リ ンクス 7 シ リーズ FPGA には、 制御信号 ( リセッ ト またはクロ ッ ク イネーブル) にローカル インバーターはあ

り ません。 次はリセッ ト を例と した説明ですが、 同じ説明はクロ ッ ク イネーブルにも適用されます。

デザインがアクティブ Low リセッ ト を使用する場合、 LUT を使用して信号を反転する必要があ り ます。 すべてのリ

セッ トがアクティブ Low の PR 以外のデザインでは、複数の LUT が推論されますが、1 つの LUT に組み合わせて I/O

エレ メン トに挿入できます (LUT はなくなる )。 アクティブ High とアクティブ Low のリセッ トが使用される PR 以外

のデザインでは、 LUT インバーターを 1 つの LUT に組み合わせるこ とができ、 その LUT がデザインに残り ますが、

リセッ ト ネッ トの配線およびタイ ミ ングにはほとんど影響あ り ません (LUT の出力はグローバル リ ソースに配置さ

れる )。 パーティシ ョ ンにアクティブ Low リセッ トが使用されるデザインでは、 パーティシ ョ ン内でインバーターを

推論させるこ とが可能ですが、 取り出して組み合わせるこ とはできません。 そのため、 リセッ ト をグローバル リ

ソースに配置できなくな り、 リセッ トのタイ ミ ングも悪くな り、 デザインの配線が既に密集している場合は配線の

問題が発生する可能性があ り ます。

この状況を回避するには、 アクティブ Low の制御信号を使用しないよ うにします。 ただし、 AXI インターフェイス

を含む IP コアを使用する場合など、 これが不可能な場合もあ り ます。 その場合、 アクティブ Low のリセッ ト を 上

位の信号に割り当て、 その信号をデザイン全体で使用します。

次に例を示します。

reset_n <= !reset;

すべてに reset_n 信号を使用し、 !reset を信号またはポートに割り当てないでください。

これによ り、 デザイン全体のリセッ ト ネッ トにのみ LUT が推論され、 デザイン パフォーマンスへの影響が 小限に

抑えられます。

パーシャル リコンフ ィギュレーシ ョ ン 68UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 69: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

デカップリング機能

リ コンフ ィギャラブル ロジッ クはデバイスが動作中に変更されるので、 パーシャル リ コンフ ィギュレーシ ョ ン中

は、 リ コンフ ィギャラブル モジュールの出力に接続されているスタティ ッ ク ロジッ クで リ コンフ ィギャラブル モ

ジュールからのデータを無視する必要があ り ます。 パーシャル リ コンフ ィギュレーシ ョ ンが完了し、 リ コンフ ィ

ギュレーシ ョ ンされたロジッ クが リセッ ト されるまで、 リ コンフ ィギャラブル モジュールは有効なデータを出力し

ません。 リ コンフ ィギャラブル モジュールの機能を予測またはシ ミ ュレーシ ョ ンする方法はあ り ません。

デカップ リ ング ス ト ラテジの解決方法を決めておく必要があ り ます。 この問題を回避する も一般的な方法は、 リ

コンフ ィギャラブル モジュールからのすべての出力信号 (インターフェイスのスタティ ッ ク側) にレジスタを付ける

こ とです。 リ コンフ ィギュレーシ ョ ンが完了するまでロジッ クを分離するには、 イネーブル信号を使用できます。

ほかに、 各出力ポートに単純な 2:1 マルチプレクサーを付ける方法、 高度なバス コン ト ローラー ファンクシ ョ ンを

使用する方法などがあ り ます。

スタティ ッ ク デザインには、 データおよびインターフェイスの管理に必要なロジッ クを含める必要があ り ます。 ハ

ンドシェークやインターフェイスのディ スエーブル (バス構造で無効な ト ランザクシ ョ ンを回避するために必要な場

合あ り ) などのメカニズムを利用できます。 また、 PR モジュールのダウンタイム パフォーマンスの影響 ( リ コンフ ィ

ギュレーシ ョ ン中またはリ コンフ ィギュレーシ ョ ン後に PR モジュールに含まれる共有リ ソースが使用できない) を

考慮するのも良いでし ょ う。

Partial Reconfiguration Decoupler IP を使用する と、 MUX を挿入して AXI4-Lite、 AXI4-Stream、 およびカスタム イン

ターフェイスを効率よ く分離できます。 Partial Reconfiguration Decoupler IP の詳細は、 ザイ リ ンクス ウェブサイ ト を

参照してください。

パーシャル リコンフ ィギュレーシ ョ ン 69UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 70: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

ブラック ボックス

RP は擬似ブラ ッ ク ボッ クス と してインプリ メン トできます。 この擬似ブラ ッ ク ボッ クスは、 Vivado ではグレー

ボッ クス と呼ばれます。 これには、 RP をスタティ ッ ク デザインでブラ ッ ク ボッ クス とする必要があ り ます (ボ ト ム

アップ合成結果または update_design -black_box の実行から )。 ブラ ッ ク ボッ クス RP セルに対して

update_design -buffer_ports コマンドを使用して、 ブラ ッ ク ボッ クスのすべての入力および出力に LUT1

バッファーを配置できます。

update_design -cell <rp_cellName> -buffer_ports

これで、 このデザインをインプ リ メン ト して LUT1 バッファー (および既に配置配線されていない場合はスタティ ッ

ク ロジッ ク ) を配置配線できます。

挿入されたすべての LUT1 出力バッファーは、 0 (グランド ) に接続されます。 RP 出力で 1 (VCC) に駆動する必要があ

る場合は、 HD.PARTPIN_TIEOFF という RP ピン プロパティで制御できます。 このプロパティは

write_bitstream の前までのすべての段階で設定でき、 指定のポートに接続されている LUT1 バッファーの LUT

論理式を制御します。 デフォルト値は 0 で、 LUT がルート スルー (出力 0) と してコンフ ィギュレーシ ョ ンされます。

このプロパティを 1 に設定する と、 LUT はインバーター (出力 1) と してコンフ ィギュレーシ ョ ンされます。 デザイ

ンによっては、 出力値の変更が必要な場合があ り ます。

set_property HD.PARTPIN_TIEOFF 1 [get_pins <RP_cellName>/<output_pinName>]

グレー ボッ クスにはユーザー ロジッ クは含まれず、 ツールで挿入された LUT1 バッファーのみが含まれます。 グ

レー ボッ クス ビッ ト ス ト リームにはこれらの LUT の情報と、 RP フレーム内のリ ソースを使用するスタティ ッ ク ロ

ジッ ク /配線の情報が含まれます。 その領域を通過するスタティ ッ ク配線 (パーティシ ョ ン ピン ノードまでのイン

ターフェイス ネッ ト を含む) は、 この領域に存在します。 これらの信号のプログラム情報は、 ブラ ッ ク ボッ クスの

プログラム ビッ ト ス ト リームに含まれます。

グレー ボッ クスを使用するのは、 フル コンフ ィギュレーシ ョ ン BIT ファ イルのサイズ削減およびコンフ ィギュレー

シ ョ ン時間の短縮に効果的な方法です。 圧縮オプシ ョ ンをオンする と、 BIT ファ イルのサイズも削減できる可能性

があ り ます。 このオプシ ョ ンでは、 コンフ ィギュレーシ ョ ン フレーム構造の繰り返しを検索し、 BIT ファイルに保

存する必要のあるコンフ ィギュレーシ ョ ン データの量を削減します。 圧縮によ り、 コンフ ィギュレーシ ョ ン時間お

よびリ コンフ ィギュレーシ ョ ン時間が短縮されます。 圧縮オプシ ョ ンを配線済み PR デザインに適用する と、 フル

BIT ファ イルおよびパーシャル BIT ファ イルすべてが圧縮 BIT ファ イルと して作成されます。 圧縮をオンにするに

は、 write_bitstream を実行する前に次のプロパティを設定します。

set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]

パーシャル リコンフ ィギュレーシ ョ ン 70UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 71: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

インプリ メンテーシ ョ ンでの効果的な方法

FPGA デザインの 適化には、 常にト レードオフがあ り ます。 パーシャル リ コンフ ィギュレーシ ョ ンも例外ではあ

り ません。 パーティシ ョ ンを越える 適化は実行されず、 リ コンフ ィギャラブル フレームには特定のレイアウ ト制

約が必要です。 これらは、 リ コンフ ィギュレーシ ョ ン デザインを構築する際の追加のコス トです。 タイ ミ ングおよ

びエリアの追加のオーバーヘッ ドは、 デザインによって異なり ます。 影響を 小限に抑えるには、 このガイ ドに示

されているデザイン ガイ ド ラ インに従います。

リ コンフ ィギャラブル デザインのコンフ ィギュレーシ ョ ンを構築する際、 初に も困難なコンフ ィギュレーシ ョ

ンをインプ リ メン トするよ うにします。 選択した物理領域に、 各リ コンフ ィギャラブル パーティシ ョ ンの各リ コン

フ ィギャラブル モジュール用に十分な リ ソース (特にブロ ッ ク RAM、 DSP48 など) があるこ とを確認し、 各 RP でタ

イ ミ ングまたはエリ アに関して も困難な RM を選択します。 その後のコンフ ィギュレーシ ョ ンの RM がすべて

初の RM よ り小型または低速であれば、 要件を満たすのが楽になり ます。 タイ ミ ングは、 すべてのリ コンフ ィギャ

ラブル モジュールの要件が満たされるよ うに設定する必要があ り ます。

どの リ コンフ ィギャラブル モジュールが も困難かが判断しにくい場合は、 各モジュールをスタティ ッ ク と共にイ

ンプ リ メン ト し、 それぞれに対してスタティ ッ クを配置配線します。 リ ソース使用率統計およびタイ ミ ング レポー

ト を確認し、 どのコンフ ィギュレーシ ョ ンがデザイン要件を も簡単に満たしているか、 許容誤差が も厳しいの

はどれか、 も大きいマージンでタイ ミ ングを満たしていないのはどれかを調べます。

重要: 要件との差が も大きいコンフ ィギュレーシ ョ ンに集中し、 要件が満たされるまでデザイン ソース、 制約、 お

よびス ト ラテジを反復実行します。 ある時点で、 1 つのコンフ ィギュレーシ ョ ンをスタティ ッ ク デザインに使用す

る結果と決定する必要があ り ます。 スタティ ッ ク ロジッ クのそのインプリ メンテーシ ョ ンをほかのコンフ ィギュ

レーシ ョ ンすべてで使用します。

インプリ メンテーシ ョ ン要件の作成

パーシャル リ コンフ ィギュレーシ ョ ンのインプリ メンテーシ ョ ンでは、 基本的な規則に従う必要があ り ます。 これ

らの規則は、 パーシャル ビッ ト ス ト リームを正し く作成し、 アクティブ デバイスに安全に読み込むこ とができるよ

うにするためのものです。 これらの規則では、 次を前提と しています。

• リ コンフ ィギャラブル パーティシ ョ ンの論理および物理インターフェイスは、 各リ コンフ ィギャラブル モ

ジュールをインプ リ メン ト したと きに一貫している必要があ り ます。

• リ コンフ ィギャラブル モジュールのロジッ クおよび配線は、 物理領域内に完全に含まれている必要があ り、 こ

れがパーシャル ビッ ト ス ト リームに変換されます。

• 専用初期化機能を使用する場合は、 スタティ ッ ク デザインのロジッ クはリ コンフ ィギャラブル領域に含めない

よ うにする必要があ り ます。

パーシャル リコンフ ィギュレーシ ョ ン 71UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 72: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

これらの要件には、 適化、 配置、 および配線において特定のインプリ メンテーシ ョ ン規則が必要になり ます。 こ

れらの規則を適用するこ とによ り、 タイ ミ ング ク ロージャを含むデザイン要件を満たすのが困難になる場合があ り

ます。 これらの要件を 1 つずつ設定し、 各ステップで結果を解析するよ うにしてください。 も困難なコンフ ィ

ギュレーシ ョ ンと タイ ミ ング制約のフル セッ トから始め、 デザインのインプリ メンテーシ ョ ンを配置配線まで実行

して結果を解析し、 次のステップに進むための十分なタイ ミ ング スラ ッ ク と リ ソースがあるこ とを確認します。

1. デザインを Pblock なしでインプリ メン ト します。 ボ ト ムアップ合成を使用して、 境界にレジスタを付ける、

ベースライン結果を達成するなど、 通常の階層デザインの推奨事項に従います。

2. 後でリ コンフ ィギャラブルと して指定するデザイン パーティシ ョ ンに Pblock を追加します。 このフロアプラン

は、 手順 1 のボ ト ムアップ合成の結果に基づいて指定できます。 リ コンフ ィギャラブル モジュールからのロ

ジッ クは Pblock に配置する必要があ り ますが、 スタティ ッ ク ロジッ ク も Pbock に配置できます。

これらの Pblock を作成する際、 PR 特定のデザイン ルール チェッ クを実行するため、 HD.RECONFIGURABLE プ

ロパティ (およびオプシ ョ ンで RESET_AFTER_RECONFIG プロパティ ) を一時的に追加できます。 これによ り、

作成したフロアプランが PR のサイズおよびアライ メン ト要件を満たしているかを確認できます。

3. フロアプランを作成したら、 Pblock に EXCLUDE_PLACEMENT プロパティを追加してスタティ ッ ク デザイン リ

ソースの配置を リ コンフ ィギャラブル リ ソースから分離します。 これによ り、 スタティ ッ ク ロジッ クが確実に

Pblock 外に配置されます。

4. Pblock に CONTAIN_ROUTING プロパティを適用して、 リ コンフ ィギャラブル モジュールの配線が Pblock 内に制

限されるよ うにします。 このステップと前のステップのプロパティを設定したら、 残りの規則は境界の 適化

と PR 特定のデザイン ルール チェッ クに関連するもののみです。

5. 後に、 リ コンフ ィギャラブル パーティシ ョ ン Pblock に HD.RECONFIGURABLE を設定して リ コンフ ィギャラ

ブルに指定します。 EXCLUDE_PLACEMENT および CONTAIN_ROUTING プロパティは重複となるので、 削除でき

ます。

これらのいずれかのステップでデザイン要件が満たされない場合は、 新たに適用したインプリ メンテーシ ョ ン条件

でデザイン構造と制約を見直す必要があ り ます。

パーシャル リコンフ ィギュレーシ ョ ン 72UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 73: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

コンフ ィギュレーシ ョ ン解析レポート

パーシャル リ コンフ ィギュレーシ ョ ン デザイン フローでは、 配置配線でインプリ メン トする必要のあるデザイン

バージ ョ ンが複数使用されます。 これらの異なるコンフ ィギュレーシ ョ ンでは共通のスタティ ッ ク デザイン結果が

使用されますが、 各リ コンフ ィギャラブル パーティシ ョ ン内のモジュールは異なり ます。 動的に置き換えられるこ

れらの異なるモジュールを考慮して、 タイ ミ ング制約およびフロアプランを設定する必要があ り ます。

PR コンフ ィギュレーシ ョ ン解析レポートは、 選択した各リ コンフ ィギャラブル モジュールを比較し、 PR デザイン

に関する情報を提供します。 リ ソース使用量、 フロアプラン、 ク ロ ッキング、 タイ ミ ング メ ト リ クスが解析される

ので、 PR デザイン全体を管理するのに役立ちます。

PR コンフ ィギュレーシ ョ ン解析レポートは、 現在のと ころ [Tcl Console] ウ ィンド ウまたは Tcl スク リプ トで実行可

能です。 このコマンドを実行するには、 上位デザインを開いておく必要があ り ます。

report_pr_configuration_analysis -cells <RP_name> -dcps <list_of_RM_checkpoints>

1 つのセル (RP) と、そのセルに挿入可能な複数の DCP (それぞれが 1 つの RM を表す) を選択してその RP の包括的な

解析を実行するか、 後続の DCP がない複数のセルを選択してスタティ ッ ク デザインと各 RP へのインターフェイス

の 上位解析を実行します。

デフォルトでは、 PR デザインに対して 3 つの解析が実行されます。 これらのオプシ ョ ンを 1 つまたは複数選択し、

実行する解析を指定できます。

• -complexity オプシ ョ ン: RP に必要な各リ ソース タイプの 大数など、 リ ソース使用量をレポート します。

• -clocking オプシ ョ ン: 各 RP のクロ ッ ク使用率およびロードに関する情報をレポート します。 デザインの全

体的なに必要なクロ ッ ク分配をプランニングするのに役立ちます。

• -timing オプシ ョ ン: 境界インターフェイスのタイ ミ ングの詳細をレポート します。 RM の入出力でのボ トル

ネッ クを解析するのに役立ちます。

さ らに、 -rent オプシ ョ ンを使用する と、 複雑性レポートに Rent メ ト リ クスが追加されます。 Rent 指数は配線の複

雑性を示すもので、 どれだけ密集があるかを示す指標と して使用できます。 Rent 指数の詳細は、 『Vivado Design Suite

ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 18] のこのセクシ ョ ンを参照してくださ

い。 このオプシ ョ ンを指定する と、 大型デザインで実行時間が長くなるこ とがあ り ます。

この解析を実行する と、 各 RM が指定したチェッ クポイン トの情報に基づいて解析されます。 合成後のチェッ クポ

イン ト を指定するこ と もできますが、 RM にアウ ト オブ コンテキス トで合成された IP が含まれている場合や、 デ

バッグ コアが挿入されている場合、 チェッ クポイン トにそれらの情報は含まれません。 も完全な情報は、 リ ンク

および拡張がすべて終了した opt_design の後にならないと入手できません。 opt_design の後に各コンフ ィギュ

レーシ ョ ンに対して write_checkpoint -cell を実行して RM チェッ クポイン ト を完全に統合してから、 これら

のファイルを使用してコンフ ィギュレーシ ョ ン解析レポート を実行するこ とをお勧めします。

次に、 3 つのリ コンフ ィギャラブル モジュールがある リ コンフ ィギャラブル パーティシ ョ ンを 1 つ含むデザインの

レポートからの例を示します。

パーシャル リコンフ ィギュレーシ ョ ン 73UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 74: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

複雑性

次に、 -complexity オプシ ョ ンでレポート される リ ソース使用率の表を示します。

+------------------------+---------+------------+------------+------------+------------+------------+| Categories |Grid Type| Current | RM1 | RM2 | RM3 | Max |+------------------------+---------+------------+------------+------------+------------+------------+|Slice Logic | | | | | | || Slice LUTs | SLICE | 936(23.40%)| 936(23.40%)| 927(23.17%)|1091(27.28%)|1091(27.28%)|| LUT as Logic | SLICE | 836(20.90%)| 836(20.90%)| 827(20.67%)| 977(24.43%)| 977(24.43%)|| LUT as Memory | SLICE | 100(5.00%)| 100(5.00%)| 100(5.00%)| 114(5.70%)| 114(5.70%)|| LUT as Distributed RAM| SLICE | 32(1.60%)| 32(1.60%)| 32(1.60%)| 42(2.10%)| 42(2.10%)|| LUT as Shift Register | SLICE | 68(3.40%)| 68(3.40%)| 68(3.40%)| 72(3.60%)| 72(3.60%)|| Slice Registers | SLICE |1775(22.19%)|1775(22.19%)|1613(20.16%)|1654(20.68%)|1775(22.19%)|| Register as Flip Flop | SLICE |1775(22.19%)|1775(22.19%)|1613(20.16%)|1654(20.68%)|1775(22.19%)|| CARRY8 | SLICE | 14(2.80%)| 14(2.80%)| 16(3.20%)| 16(3.20%)| 16(3.20%)|| F7 Muxes | SLICE | 6(0.30%)| 6(0.30%)| 6(0.30%)| 6(0.30%)| 6(0.30%)|| Unique Control Sets | SLICE | 105(21.00%)| 105(21.00%)| 100(20.00%)| 102(20.40%)| 105(21.00%)||Memory | | | | | | || RAMB18 | RAMB18 | 1(5.00%)| 1(5.00%)| 3(15.00%)| 2(10.00%)| 3(15.00%)|| PPLOCs (INT Tile Ratio)| - | 28(0.09)| 28(0.09)| 28(0.09)| 28(0.09)| 28(0.09)|+------------------------+---------+------------+------------+------------+------------+------------+

スライス レジスタ リ ソースは RM1、 ブロ ッ ク RAM は RM2、 スライス LUT は RM3 で も多く使用されているのが

わかり ます。 各リ ソース タイプの 大値は、 [Max] 列に示されます。 この列のデータを Pblock リ ソース サイズのプ

ランニングに使用します。 追加のオーバーヘッ ドを含めるこ とをお勧めします。 リ コンフ ィギャラブル パーティ

シ ョ ンの集積度は、 完成したデザインと同様です。

クロッキング

-clocking オプシ ョ ンを使用する と、 デザインで使用されるすべてのクロ ッ クのサマ リ と、 各リ コンフ ィギャラブ

ル モジュールのクロ ッ ク ロードごとの情報が示されます。 各クロ ッ ク領域の RM ク ロ ッ ク ロード数もレポート され

ます。

Static Clock Summary+------------------------------------------------------------------------+------------+-------------+| Clock Name |Static Loads|RP1 Max Loads|+------------------------------------------------------------------------+------------+-------------+|mb_prc_wrapper/mb_prc_i/ddr4/inst/u_ddr4_infrastructure/dbg_clk | 2889 | 0 ||mb_prc_wrapper/mb_prc_i/ddr4/inst/u_ddr4_infrastructure/CLK | 1639 | 0 ||dbg_hub/inst/BSCANID.u_xsdbm_id/itck_i | 496 | 365 ||mb_prc_wrapper/mb_prc_i/ddr4/inst/u_ddr4_infrastructure/addn_clkout1 | 8534 | 1403 ||mb_prc_wrapper/mb_prc_i/ddr4/inst/u_ddr4_infrastructure/c0_ddr4_ui_clk | 15098 | 0 ||mb_prc_wrapper/mb_prc_i/ddr4/inst/u_ddr4_infrastructure/addn_ui_clkout2 | 11791 | 0 |+------------------------------------------------------------------------+------------+-------------+Reconfigurable Module Clocking RP1+---------------------------------------------------+-------+---------+---------+---------+---------+| Clock Name |Current|RM1 Loads|RM2 Loads|RM3 Loads|Max Loads|+---------------------------------------------------+-------+---------+---------+---------+---------+|Static Clocks | | | | | || dbg_hub/inst/BSCANID.u_xsdbm_id/itck_i | 365 | 365 | 360 | 350 | 365 || mb_prc_wrapper/mb_prc_i/ddr4/inst/ | | | | | || u_ddr4_infrastructure/addn_clkout1 | 1403 | 1403 | 1385 | 1344 | 1403 |+---------------------------------------------------+-------+---------+---------+---------+---------+

パーシャル リコンフ ィギュレーシ ョ ン 74UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 75: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

タイ ミング

-timing オプシ ョ ンは、 RP 境界のワース ト インターフェイス パスのロジッ ク レベル数をレポート します。 デフォ

ルトでは 10 個のワース ト パスが解析されますが、 この数は -nworst オプシ ョ ンを使用して変更できます。 [Logic

Path] フ ィールドに、 ロジッ ク レベル数と、 各レベルがスタティ ッ ク領域 (S) にあるかリ コンフ ィギャラブル パー

ティシ ョ ン (RM) にあるかが示されます。 次に、 1 つの境界パスの例を示します。

Reconfigurable Module Boundary Timing RP1+-----------------------+---------------------------------------------------------------------------+| Characteristics | Paths |+-----------------------+---------------------------------------------------------------------------+| Path #1 | ------- || RP Boundary Pin | S_BSCAN_shift || RM With Worst Path | RP1 1st Configuration || Static Logic Levels | 3 || RM Logic Levels | 2 || Logic Path | FDRE(S) LUT3(S) LUT6(S) LUT3(S) LUT4(RM) LUT6(RM) FDRE(RM) || Start Point Clock | itck_i || End Point Clock | itck_i || High Fanout | 45 || Boundary Fanout | 1 |+-----------------------+---------------------------------------------------------------------------+

この情報は、 境界パスを 適化するのに役立ちます。 パイプライン レジスタを挿入する と、 これらのタイ ミ ング問題

を分割し、 リ コンフ ィギャラブル ロジッ ク とスタティ ッ ク ロジッ クの間にデカップリ ング ポイン ト を作成できます。

まとめ

report_pr_configuration_analysis コマンドを、 各リ コンフ ィギャラブル モジュールのロジッ クを確立した

後、 デザインのフロアプランを確定する前の、 デザイン フロー早期に実行して ください。 このレポート を使用する

と、 デザインのリ コンフ ィギャラブル パーティシ ョ ンの各 Pblock を 適化するのに役立ち、 デザイン全体のクロ ッ

ク使用率に関するガイダンスが与えられ、 プロジェク ト全体の各コンフ ィギュレーシ ョ ンのタイ ミ ング ク ロージャ

を達成するために有益な情報を得るこ とができます。

PR デザインの制約の管理

パーシャル リ コンフ ィギュレーシ ョ ンでもその他のデザインと同様の制約が必要ですが、 さ らに追加の物理制約

(Pblock) が必要であ り、 RM のセッ トで定義されるさまざまなコンフ ィギュレーシ ョ ンを定義する制約が必要な場合

があ り ます。 制約は、 グローバルにまたは特定の範囲内に定義します。

• グローバル: デザイン全体に適用する制約で、 すべてのオブジェク ト参照 (セル/ピン/ネッ ト /ポート ) はデザイン

階層全体に対するものになり ます。

• 範囲内: 上位モジュール以外のモジュールに対して記述された制約で、 そのモジュールの 1 つまたはすべての

インスタンスに適用されます。 この後のパーシャル リ コンフ ィギュレーシ ョ ンに関する内容では、 範囲内の制

約はリ コンフ ィギャラブル モジュールの 1 つまたは複数のインスタンスに適用される と想定します。 XDC の適

用範囲の詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 17] のこのセクシ ョ ンを参照

してください。

パーシャル リコンフ ィギュレーシ ョ ン 75UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 76: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

制約の作成

制約は、 制約のタイプによって複数のファイルに分割する必要があ り ます。 パーシャル リ コンフ ィギュレーシ ョ ン

では、 デザイン制約を次の 3 つのタイプに分割するこ とをお勧めします。

• スタティ ッ ク : スタティ ッ ク オブジェク ト (セル、 ピン、 ネッ ト 、 ポート ) のみを参照する物理またはタイ ミ ン

グ制約で、 RP 内のオブジェク トは参照しません。 これらはグローバル制約で、 スタティ ッ ク合成にまたは初期

コンフ ィギュレーシ ョ ンのインプリ メンテーシ ョ ンで適用されます。 スタティ ッ ク部分がインポート される 2

つ目以降のコンフ ィギュレーシ ョ ンにこれらの制約を再適用するこ とはお勧めしません。 これらの制約はスタ

ティ ッ ク DCP に既に存在しており、 再適用する と意図しない制約の相互作用が発生する可能性があ り ます。

• 境界: スタティ ッ ク部分および RP の両方の参照オブジェク ト を参照するタイ ミ ング制約 (set_false_path な

ど)。 これらの制約は RP ピン オブジェク ト を参照して記述し、 RM 内のオブジェク トは参照しないでください。

たとえば、 次のよ うな 2 つの制約がある と します。

set_false_path -from [get_pins static_reset/C] -through [get_pins rp_inst/rst]set_false_path -from [get_pins static_reset/C] -to [get_pins rp_inst/*foo*/D]

初の制約は、 初期コンフ ィギュレーシ ョ ン後に RM がブラ ッ ク ボッ クスに変換されたと きに失われるこ とは

ないので、 こちらの制約が推奨されます。 RM が削除された後も RP インターフェイスはスタティ ッ ク デザイン

に存在し、 制約で参照される rp_inst/rst ピンもデザインに存在します。 2 番目の制約のよ うに制約が RM 内

のオブジェク ト を使用して定義されている場合、 制約は無効となり、 RM が削除された後デザインから破棄され

ます。 この構文を使用する場合、 これらの制約を各コンフ ィギュレーシ ョ ンで適用し直す必要があ り ます。

• RM: RM ロジッ クのみを参照する物理またはタイ ミ ング制約。 これらの制約はすべて範囲が RM に限定される

べきですが、 どのよ うに適用されるかは制約のタイプによって異なり ます。

° 汎用 RM 制約: RM の各インスタンスに適用されます。 フォルス パス、 マルチサイ クル例外、 ローカル RM

ク ロ ッ クの create_clock などのタイ ミ ング制約がその例です。 これらの制約は、 その物理的なロケー

シ ョ ンにかかわらず、 すべての RM に適用されます。

° RP 特定の RM 制約: RM がインプリ メン ト されるロケーシ ョ ン (Pblock) に特定の制約。 特定のブロ ッ ク

RAM の配置、 エンベデッ ド I/O の PACKAGE_PIN 制約などの物理制約がその例です。

重要: RP にエンベデッ ド I/O が含まれる場合、 I/O ピンがすべての RM で同一である場合でも、 各コンフ ィギュレー

シ ョ ンで I/O 制約 (PACKAGE_PIN、 IOSTANDARD、 方向) を適用し直す必要があ り ます。 Vivado データベースでは

ポートは 上位オブジェク トですが、 ポートに関連付けられている I/O バッファーが RP の一部である場合は、 RM

が削除される と きにその ポートの I/O 制約情報も削除されます。

また、 物理制約 (Pblock、 LOC、 PACKAGE_PIN など) と タイ ミ ング制約を別の XDC ファ イルに分けるこ とをお勧め

します。 このよ うにする と、 制約をいつ適用するか (合成またはインプリ メンテーシ ョ ン) を制御しやすくな り、 制

約の変更が必要な場合に制約ファイルの管理が簡単になり ます。

パーシャル リコンフ ィギュレーシ ョ ン 76UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 77: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

制約の適用

制約を分割する と、 制約をいつ、 どのよ うに適用するかを管理しやすくなり ます。

• スタティ ッ ク タイ ミ ング制約: スタティ ッ ク合成で適用し、 スタティ ッ ク合成 DCP に渡されるよ うに合成およ

びインプ リ メンテーシ ョ ンで使用されるよ うマークします。 これらの制約が適切に適用され、 合成後の DCP に

存在していれば、 インプ リ メンテーシ ョ ン時に再適用する必要はあ り ません。

• スタティ ッ ク物理制約: 初期コンフ ィギュレーシ ョ ンのインプリ メンテーシ ョ ンで適用します。 これらの制約は

スタティ ッ ク タイ ミ ング制約と共に配線後のスタティ ッ ク DCP に含まれるので、 これらの制約はその後のコン

フ ィギュレーシ ョ ンで適用し直す必要はあ り ません。

• 境界タイ ミ ング制約: 初期コンフ ィギュレーシ ョ ンのインプリ メンテーシ ョ ンで適用します。 制約で RM 内部の

オブジェク ト を参照していなければ、 これらの制約をその後のコンフ ィギュレーシ ョ ンで適用し直す必要はあ

り ません。

• 汎用 RM 制約: スタティ ッ ク合成で適用し、 合成およびインプリ メンテーシ ョ ンで使用されるよ うマークしま

す。 これらの制約は RM DCP に存在し、 DCP がフル デザインにリ ンク される と きに適用されます。

重要: OOC 合成のみに使用される OOC 特定のタイ ミ ング制約 (モジュール ポートの create_clock など) がある場

合は、 これらの制約がデザイン全体に適用されないよ うに out_of_context で使用するよ うマークします。 この

よ うにしないと、 上位制約が適用されたと きにこれらの下位 OOC 制約と競合し、 意図しない制約の相互作用が発

生するこ とがあ り ます。

• RP 特定の RM 制約: 特定の RP ロケーシ ョ ンの特定の RM が含まれるコンフ ィギュレーシ ョ ンのインプ リ メン

テーシ ョ ンで適用します。 IOB を含む RM 内のすべての物理制約は RM が削除される と きに削除されるので、

適用し直す必要があ り ます。

配線後の RM DCP が再利用される場合は、 物理情報 (ブロッ ク RAM、 IOB など) はすべて RM DCP に含まれるので、

適用し直す必要はあ り ません。 ただし、 write_checkpoint -cell を使用して作成された RM DCP には RM 特定

のタイ ミ ング制約は含まれないので、 汎用 RM 制約と RM オブジェク ト を参照する境界タイ ミ ング制約を適用する

必要があ り ます。

パーシャル リコンフ ィギュレーシ ョ ン 77UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 78: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

リ コンフ ィギャラブル パーティシ ョ ン境界の定義

パーシャル リ コンフ ィギュレーシ ョ ンは、 フレームごとに実行されます。 そのため、 作成されたパーシャル BIT

ファ イルは、 複数のコンフ ィギュレーシ ョ ン フレームで構築されます。 パーシャル BIT ファ イルのサイズは、 含ま

れるフレームの数およびタイプによ り ます。 サイズは、 write_bitstream -rawbitfile コマンドで作成された

ロー ビッ ト ファ イル (.rbt) のヘッダーで確認できます。

パーティシ ョ ンの境界はリ コンフ ィギャラブル フレームの境界に揃っている必要はあ り ませんが、 揃っている と、

も効果的な配置配線結果が得られます。 次の両方の条件が満たされていれば、 リ コンフ ィギュレーシ ョ ンされる

フレームにスタティ ッ ク ロジッ クを含めるこ とができます。

• スタティ ッ ク ロジッ クが Pblock で定義されたエリ ア グループの外にある。

• スタティ ッ ク ロジッ クにブロ ッ ク RAM、 分散 (LUT) RAM、 SRL などのダイナミ ッ ク エレ メン トが含まれてい

ない (7 シ リーズ デバイスのみ)。

スタティ ッ ク ロジッ クを リ コンフ ィギャラブル フレームに配置する場合、 スタティ ッ ク ロジッ クの機能が正確に再

書き込みされ、 グ リ ッチは発生しません。

T 形や L 形などの形状のパーティシ ョ ンも使用できますが、 できるだけ使用しないでください。 配線リ ソースを完

全にこれらの領域に収める必要があるので、 配置配線が困難になる可能性があ り ます。 パーティシ ョ ンの境界を接

触させるこ とはできますが、 これらのパーティシ ョ ンはスタティ ッ ク デザインに接続されるので、 多少間が空いて

いるほうが配線制限を回避できます。 リ コンフ ィギャラブル パーティシ ョ ンをネス ト させたり ( リ コンフ ィギャラブ

ル パーティシ ョ ン内に別のリ コンフ ィギャラブル パーティシ ョ ンを含める )、 重ねたりするこ とはできません。 デザ

イン ルール チェッ ク ([Reports] → [Report DRC]) によ り、 PR デザインのパーティシ ョ ンおよび設定が確認されます。

物理的な リ コンフ ィギャラブル フレームごとに存在させるこ とができる リ コンフ ィギャラブル パーティシ ョ ンは 1

つだけです。

リ コンフ ィギャラブル フレームは、 リ コンフ ィギュレーシ ョ ン可能な 小の物理領域で、 その高さはクロ ッ ク領域

または I/O バンクの境界に揃っています。 リ コンフ ィギャラブル フレームに複数のリ コンフ ィギャラブル パーティ

シ ョ ンからのロジッ クを含めるこ とはできません。 複数のリ コンフ ィギャラブル パーティシ ョ ンからのロジッ クを

含める と、 間違った リ コンフ ィギャラブル モジュールからの情報で領域がリ コンフ ィギュレーシ ョ ンされてしま う

可能性があ り、 競合が発生する原因となり ます。 ツールは、 このよ うな リ スクの高い状況を回避するよ うに設計さ

れています。

デッ ドロック状態の回避

RM 境界を越える ト ランザクシ ョ ンには、 完了までに複数サイクルかかるものがあ り ます。 ト ランザクシ ョ ンが開始

し、 完了する前に RM を削除する とシステムがデッ ド ロ ッ ク状態になり ます。 たとえば、 ト ランザクシ ョ ンを開始

したマスターが削除されたスレーブからの応答を待機する場合などです。

また、 RM 自体がデッ ド ロ ッ ク状態を発生させるこ とがあ り ます。 たとえば、 ソフ ト ウェアが RM レジスタの特定の

値をポーリ ングしている と します。 RM を削除する と、 ソフ ト ウェアが待機し続けるため、 停止する可能性があ り ま

す。 大型のブロ ッ ク転送が完了するのを待機している間に停止するこ と もあ り ます。

パーシャル リ コンフ ィギュレーシ ョ ン デザインには何らかのハンドシェーク機構を組み込み、 リ コンフ ィギャラブ

ル モジュールの削除が安全なと きにのみ実行されるよ うにする必要があ り ます。 この要求/肯定応答のペアはユー

ザー デザインの一部と し、 どのよ うな方法でも組み込むこ とができます。

パーシャル リコンフ ィギュレーシ ョ ン 78UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 79: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 5 章: すべてのザイリンクス デバイスでの設計に関する考慮事項とガイ ド ライン

デザイン リビジ ョ ン チェ ック

第 8 章 「デバイスのコンフ ィギュレーシ ョ ン」 で説明するよ うに、 パーシャル ビッ ト ス ト リームにはプログラム情

報以外のものはほとんど含まれません。 BIT ファ イルの一部であるアドレス指定によ りダイの位置が決まるので

ビッ ト ス ト リームのターゲッ ト位置を特定する必要はあ り ませんが、 パーシャル ビッ ト ス ト リームが現在動作中の

デザインと互換性があるかど うかをチェッ クする機能はハードウェアにはあ り ません。 パーシャル ビッ ト ス ト リー

ムをそのリ コンフ ィギャラブル モジュールのリ ビジ ョ ンと共にインプリ メン ト されていないスタティ ッ ク デザイン

に読み込むと、 予期しない動作が発生するこ とがあ り ます。

パーシャル ビッ ト ス ト リームにデザイン、 リ ビジ ョ ン、 モジュールを識別する接頭辞を付けるこ とをお勧めします。

コンフ ィギュレーシ ョ ン コン ト ローラーでこの識別子を読み取り、 パーシャル ビッ ト ス ト リームが動作中のデザイ

ンと互換性があるこ とを確認できます。 不一致が検出される と、 コンフ ィギュレーシ ョ ン メモ リに読み込まれる前

に互換性のないビッ ト ス ト リームが却下されます。 この機能をデザインの一部と して含める必要があ り、

『PRC/EPRC: パーシャル リ コンフ ィギュレーシ ョ ンのデータ インテグ リティおよびセキュ リティ コン ト ローラー』

(XAPP887) [参照 34] に説明されている暗号化または CRC チェッ ク と同様のものか、 それら と組み合わせたものにで

きます。

ビッ ト ス ト リーム機能は、 デザイン リ ビジ ョ ンにタグを付けるのに単純なメカニズムを提供します。

BITSTREAM.CONFIG.USR_ACCESS プロパティを使用する と、 リ ビジ ョ ン ID を直接ビッ ト ス ト リームに入力でき

ます。 この ID は USR_ACCESS レジスタに配置され、 FPGA ロジッ クから同じ名前のライブラ リ プリ ミ ティブを使

用してアクセスできます。 パーシャル リ コンフ ィギュレーシ ョ ン デザインでこの値を読み出し、 パーシャル ビッ ト

ス ト リームのヘッダーにユーザーが追加できる情報と比較して、 デザインのリ ビジ ョ ンが一致しているこ とを確認

できます。 このオプシ ョ ンの詳細は、 『 Vivado Design Suite を使用した USER_ACCESS によるビッ ト ス ト リーム識

別』 (XAPP1232) [参照 35] を参照してください。

注意: TIMESTAMP 機能は使用しないでください。 この値は write_bitstream の各実行で一貫していません。

write_bitstream のすべての実行で、 一貫した明示的な ID のみを使用して ください。

シミ ュレーシ ョ ンおよび検証

パーシャル リ コンフ ィギュレーシ ョ ン デザインのコンフ ィギュレーシ ョ ンは、 それ自体で完全なデザインです。 す

べての標準シ ミ ュレーシ ョ ン、 タイ ミ ング解析、 および検証手法が PR デザインでサポート されています。 パーシャ

ル リ コンフ ィギュレーシ ョ ンのみをシ ミ ュレーシ ョ ンするこ とはできません。 具体的には、 パーシャル ビッ ト ス ト

リームを ICAP のよ うなコンフ ィギュレーシ ョ ン ポートに転送し、 リ コンフ ィギャラブル パーティシ ョ ンでの変更

結果 (中間状態を含む) を確認するこ とはできません。

パーシャル リコンフ ィギュレーシ ョ ン 79UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 80: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章

7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

概要

この章では、 7 シ リーズおよび Zynq®-7000 SoC デバイスに特定のパーシャル リ コンフ ィギュレーシ ョ ン デザイン要

件について説明します。

ザイ リ ンクス デバイスのパーシャル リ コンフ ィギュレーシ ョ ン機能を使用するには、 デザイン仕様を注意深く解析

し、 PR デザインの要件、 特性、 制限を考慮する必要があ り ます。 これによ り、 設計およびデバッグ プロセスが単純

になり、 デザインが誤動作する リ スクを回避できます。

リ コンフ ィギャラブル モジュール内のデザイン エレメン ト

すべてのロジッ クが リ コンフ ィギュレーシ ョ ン可能なわけではあ り ません。 グローバル ロジッ クおよびクロ ッ ク リ

ソースは、 リ コンフ ィギュレーシ ョ ン中も動作するよ うにし、 フル デバイス コンフ ィギュレーシ ョ ン後の初期化

シーケンスが適用されるよ うにするため、 スタティ ッ ク領域に配置する必要があ り ます。

リ コンフ ィギャラブル モジュールには、 次のロジッ クを配置できます。

• デバイスの CLB スライスにマップされているすべてのロジッ ク コンポーネン ト : LUT (ルッ クアップ テーブル)、

FF (フ リ ップフロップ)、 SRL (シフ ト レジスタ)、 RAM、 ROM など。

• ブロ ッ ク RAM および FIFO:

° RAMB18E1、 RAMB36E1、 BRAM_SDP_MACRO、 BRAM_SINGLE_MACRO、 BRAM_TDP_MACRO

° FIFO18E1、 FIFO36E1、 FIFO_DUALCLOCK_MACRO、 FIFO_SYNC_MACRO

注記: IN_FIFO および OUT_FIFO デザイン エレ メン トは RM には配置できません。 これらのデザイン エレ メン

トは、 スタティ ッ ク ロジッ クに配置する必要があ り ます。

• DSP ブロッ ク : DSP48E1

• PCIe® (PCI Express): PCIe IP を使用して入力。

パーシャル リコンフ ィギュレーシ ョ ン 80UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 81: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

次を含むその他のロジッ クはスタティ ッ ク ロジッ クに配置し、 RM には配置しないでください。

• ク ロ ッ クおよびクロ ッ ク調整ロジッ ク : BUFG、 BUFR、 MMCM、 PLL などのコンポーネン ト

• I/O および I/O 関連のコンポーネン ト : ISERDES、 OSERDES、 IDELAYCTRL など

• シ リアル ト ランシーバー (MGT) および関連のコンポーネン ト

• アーキテクチャ機能コンポーネン ト : BSCAN、 STARTUP、 XADC など

グローバル クロックの規則

特定のリ コンフ ィギャラブル パーティシ ョ ンの各リ コンフ ィギャラブル モジュールのクロ ッ ク情報は 初のインプ

リ メンテーシ ョ ンの時点では不明なので、 その RP 上のパーティシ ョ ン ピンを駆動する各 BUFG 出力が Pblock に含

まれるすべてのクロ ッ ク領域にあらかじめ配線されます。 これはつま り、 その領域で RP にロードがあるかど うかに

かかわらず、 それらのクロ ッ ク領域のクロ ッ ク スパインをスタティ ッ ク ロジッ クが使用できない可能性がある とい

う こ とです。

7 シ リーズ デバイスでは、 大 12 個までのクロ ッ ク スパインを各クロ ッ ク領域への事前配線に使用できます。 スタ

ティ ッ ク ロジッ クおよびリ コンフ ィギャラブル ロジッ クの両方で、 この制限数を考慮する必要があ り ます。 たとえ

ば、 スタティ ッ ク ロジッ ク用にクロ ッ ク領域に 3 つのグローバル ク ロ ッ クが配線される場合、 これらの 3 つの 上

位クロ ッ クに加え、 そのクロ ッ ク領域を含む RP で 9 個のグローバル ク ロ ッ クを使用できる という こ とです。

82 ページの図 6-1 に示す例では、 icap_clk が配置前にクロ ッ ク領域 X0Y1、 X0Y2、 および X0Y3 に配線され、 ス

タティ ッ ク ロジッ クでその領域のその他のクロ ッ ク スパインを使用できます。

パーシャル リコンフ ィギュレーシ ョ ン 81UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 82: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

推奨: RP を駆動するグローバル ク ロ ッ クの数が多い場合は、 クロ ッ ク領域を完全に含むエリ ア グループを作成し、

スタティ ッ ク ロジッ クを配置および配線しやすくするよ うにするこ とをお勧めします。 ロードの数が少ないか、 要

件がそれほど厳し くないグローバル ク ロ ッ クは、 リージ ョナル ク ロ ッ ク (BUFR、 BUFH など) に変更できます。 ク

ロ ッ クをグローバル リ ソースからローカル リ ソースに変更する と、 RP で固有のクロ ッ クが多数必要な場合に、 さ

らに柔軟なフロアプランが可能になり ます。

X-Ref Target - Figure 6-1

図 6-1: グローバル クロックからリコンフ ィギャラブル パーティシ ョ ンへの事前配線

パーシャル リコンフ ィギュレーシ ョ ン 82UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 83: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

7 シリーズ デバイスでの Pblock の作成

第 3 章の 「リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用」 で説明したよ うに、 RESET_AFTER_RECONFIG を使用

する場合は、 リ コンフ ィギャラブル パーティシ ョ ンの高さがクロ ッ ク領域の境界に揃っているこ とが必要です。

RESET_AFTER_RECONFIG を使用しない場合は、 リ コンフ ィギャラブル パーティシ ョ ン Pblock の高さは任意の値

に選択できます。

リ コンフ ィギャラブル パーティシ ョ ンの幅も、 インターコネク トおよびクロ ッ ク リ ソースを効率的に使用できるよ

うに適切に設定する必要があ り ます。 Pblock の長方形の左辺および右辺は、 インターコネク ト列 (INT-INT) の間では

なく、 2 つのリ ソース列 (CLB-CLB、 CLB-ブロ ッ ク RAM、 CLB-DSP など) の間に配置する必要があ り ます。 これに

よ り、 配置配線ツールでスタティ ッ ク ロジッ クおよびリ コンフ ィギャラブル ロジッ クの両方にすべてのリ ソースが

活用されます。 この手法に従っていない場合、 インプリ メンテーシ ョ ン DRC によ りガイダンスが提供されます。

リコンフ ィギャラブル パーティシ ョ ンの自動調整

Pblock に SNAPPING_MODE プロパティを設定する と、 7 シ リーズ デザインで隣接違反が発生しないよ うにするため、

Pblock のサイズが自動的に調整されます。 SNAPPING_MODE の値を ON または ROUTING に設定する と、 Pblock の範

囲のセッ トが新し く作成され、 インプリ メンテーシ ョ ンで使用されます。 これらの範囲はメモ リに格納され、 XDC

には記述されません。 SNAPPING_MODE プロパティのみが、 通常の Pblock 制約と共に記述されます。

7 シ リーズ デバイスでは、 インターコネク ト タイルと呼ばれる配線リ ソースが、 近くにまたは隣接して配置されま

す。 パーシャル コンフ ィギュレーシ ョ ン用にフロアプランを実行する と きは、 隣接した境界がどこに存在するのか

を理解しておく こ とが重要です。 Pblock がこのよ うなペアになって並んでいるインターコネク ト タイルを分割する

場合、 隣接違反と呼ばれます。 隣接するインターコネク トの詳細は、 86 ページの 「リ コンフ ィギャラブル パーティ

シ ョ ン Pblock の手動作成」 を参照してください。

SNAPPING_MODE を使用した場合、 元の Pblock の長方形は変更されませんが、 サイズが変更され、 移動され、 追加

の長方形で拡張されるこ とがあ り ます。 元の Pblock の長方形が変更される と、 それから作成された範囲も自動的に

再計算されます。 SNAPPING_MODE プロパティはバッチ モードでサポート されるので、 SNAPPING_MODE を設定す

るのに Vivado® IDE で現在の Pblock を開く必要はあ り ませんが、 83 ページの図 6-2 に示すよ うに、 インタラ クティ

ブ フロアプランを実行する と きにこのオプシ ョ ンを設定できます。

X-Ref Target - Figure 6-2

図 6-2: Vivado IDE での SNAPPING_MODE プロパティの設定

パーシャル リコンフ ィギュレーシ ョ ン 83UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 84: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

次の構文を使用するか、 上記のよ うに Pblock プロパティを選択して SNAPPING_MODE プロパティを設定する と、 イ

ンプ リ メンテーシ ョ ンで自動的に修正された Pblock 範囲が認識されます。

set_property SNAPPING_MODE ON [get_pblocks <pblock_name>]

次の表に、 7 シ リーズ デバイス用の SNAPPING_MODE プロパティ値を示します。

SNAPPING_MODE プロパティは、 RESET_AFTER_RECONFIG と共に使用するこ と もできます。

RESET_AFTER_RECONFIG を使用するには、 Pblock の高さがフレーム (またはクロ ッ ク領域) に揃っている必要があ

り ます。 SNAPPING_MODE を ON または ROUTING に設定し、 RESET_AFTER_RECONFIG を TRUE に設定する と、 生

成された領域にこの要件を満たすのに必要なすべてのサイ トが自動的に含まれます。

表 6-1: SNAPPING_MODE プロパティ値 (7 シリーズ デバイス)

プロパティ 値 説明

SNAPPING_MODE OFF 7 シ リーズの場合のデフォルトです。 調整は実行されず、

DERIVED_RANGES == GRID_RANGES です。

ON すべての隣接違反を修正します。

ROUTING 次の例外を除き、 ON の場合と同じです。

• 配線を改善するため中央クロ ッ ク列をまたぐ隣接違反は修正されません。

• 配線を改善するため、 RP Pblock 内または隣接するボンディングされていない I/O および GT サイ ト を使用します。 これらのリ ソースは、 サイ トがボンディングされておらず、 列全体 (ク ロ ッ ク領域の高さ ) が Pblock の長方形に含まれている場合にのみ PR 配線に使用可能です。

これは、 7 シ リーズおよび Zynq デバイスに推奨される値です。

パーシャル リコンフ ィギュレーシ ョ ン 84UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 85: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

図 6-3 に、 ユーザーが作成した元の Pblock を紫色で示します。 RESET_AFTER_RECONFIG がイネーブルになってお

り、 左辺と右辺の両方がインターコネク ト列を分離しています。 SNAPPING_MODE を適用する と、 調整された

Pblock (黄色) は INT-INT 境界を回避するため幅が細くなり、 ク ロ ッ ク領域の高さに揃う よ うに縦に長くな り ます。

X-Ref Target - Figure 6-3

図 6-3: 元の Pblock と SNAPPING_MODE により調整された Pblock

パーシャル リコンフ ィギュレーシ ョ ン 85UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 86: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

リコンフ ィギャラブル パーティシ ョ ン Pblock の手動作成

隣接問題を修正する リ コンフ ィギャラブル パーティシ ョ ン Pblock の自動調整が望まし くない場合は、 Pblock 範囲を

手動で作成する必要があ り ます。 これは、 コンフ ィギュレーシ ョ ン ブロ ッ クやクロ ッ ク バッファー リ ソースを含む

中央列などのリ コンフ ィギャラブル不可能なサイ トにまたがる Pblock を厳密に制御するのに役立ちます。

図 6-4 に示す白でハイライ ト された Pblock では、 左辺と右辺が CLB 列の間に描かれています。 インターコネク ト タ

イルを表示するには、 [Device] ウ ィンド ウで ボタンをク リ ッ ク して [Routing Resurces] をオンにします。

リ コンフ ィギャラブル パーティシ ョ ン Pblock には、描画した形状の中にすべてのリ コンフ ィギャラブル エレ メン ト

タイプを含める必要があ り ます。 つま り、 選択した長方形に CLB (スライス)、 ブロ ッ ク RAM、 および DSP エレ メン

トが含まれる場合、 3 つのタイプすべてが Pblock に含まれている必要があ り ます。 1 つでも欠けている と、 DRC に

よ り分割されたインターコネク トが検出されたこ とを示すアラートが表示されます。

リ コンフ ィギャラブル パーティシ ョ ンが、 中央列のクロ ッ ク リ ソースやコンフ ィギュレーシ ョ ン コンポーネン ト

(ICAP、 BSCAN) などのリ コンフ ィギュレーシ ョ ン不可能なサイ ト を含む場合や、 I/O などのリ コンフ ィギュレー

シ ョ ン不可能なコンポーネン トに隣接している場合は、 ほかにも考慮すべき事項があ り ます。 Pblock のいずれかの

辺が異なる リ ソース タイプのインターコネク ト列を分割する場合、 インプリ メンテーシ ョ ン ツールによ り このレイ

アウ トは許容されますが、 境界の各辺の列への配置が制限されます。 ICAP や BSCAN など、 デザインでこの禁止サ

イ トが必要な場合は、 Pblock を複数の長方形に分割し、 リ コンフ ィギャラブル ロジッ クの リ ソース使用を明確に定

義するか、 SNAPPING_MODE を使用する必要があ り ます。

X-Ref Target - Figure 6-4

図 6-4: リコンフ ィギャラブル パーティシ ョ ン Pblock の左辺と右辺の両方が CLB 列の間にある (適切な配置)

パーシャル リコンフ ィギュレーシ ョ ン 86UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 87: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

インプ リ メンテーシ ョ ン ツールでは、 PROHIBIT 制約を作成するこ とによ り、 隣接するインターコネク ト サイ トの

両側への配置が自動的に回避されます。 隣接違反のために禁止されたサイ トがデザインで不要な場合は、 デザイン

で隣接違反をそのままにしておく こ と も許容されます。 そのよ うにする と、 PR 領域に配線タイルの追加の列が含ま

れ、 リ コンフ ィギャラブル不可能なサイ トにまたがる PR 領域の密集を防ぐこ とができます。 この場合、 DRC によ

り ク リ ティカル警告が表示されますが、 配置と配線リ ソースの ト レードオフを理解している場合はこの警告は無視

しても問題あ り ません。

この動作の唯一の例外は、 クロ ッ ク列の周囲です。 ク ロ ッ ク列の境界で違反が発生した場合は、 違反のある RM 側

に PROHIBIT 制約が生成されますが (通常は SLICE 禁止)、 ク ロ ッキング リ ソースには PROHIBIT 制約は生成され

ず、 スタティ ッ ク ロジッ クで使用できます。 SNAPPING_MODE の値を ROUTING にするのは、 この例外の利点を活

かすためです。 たとえば、 図 6-5 に示す初期フロアプランには、 ク ロ ッ ク バッファー リ ソース

(BUFHCE/BUFGCTRL) を含む中央列が含まれています。 これらのリ ソースは、 図 6-5 でハイライ ト されておらず、

Pblock ブロ ッ クに含まれていません。 このクロ ッ ク列をまたぐ と違反は発生しますが、 それでも リ ソースはスタ

ティ ッ ク ロジッ クで使用できます。

X-Ref Target - Figure 6-5

図 6-5: リ コンフ ィギャラブル不可能なサイ ト を含む Pblock

パーシャル リコンフ ィギュレーシ ョ ン 87UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 88: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

禁止サイ トは、 図 6-6 に示すよ うに、 配置済みまたは配線済みチェッ クポイン トで斜線の付いた赤丸で示されます。

この自動禁止機能によ り、 CLB 自体は使用されませんが、 コンフ ィギャラブル サイ ト (CLB) に関連付けられた配線

インターコネク トはリ コンフ ィギャラブル モジュールに使用できます。 図 6-6 では、 左側の INT 列は RM に使用可

能ですが、 右側の INT 列はクロ ッ ク タイルの一部であ り、 7 シ リーズ デバイスではリ コンフ ィギュレーシ ョ ン不可

能なので、 スタティ ッ ク ロジッ クのみで使用可能です。

隣接違反によ りデザインに必要なサイ ト (ICAP や BSCAN) が禁止される場合は、 デバイスに使用可能なサイ トが十

分ないこ とを示す配置エラーが表示されます。

ERROR: [Common 17-69] Command failed: Placer could not place all instances

この制限を回避するには、 図 6-7 に示すよ うに複数の Pblock の長方形を作成してインターコネク ト列が分割されな

いよ うするか、 Pblock に SNAPPING_MODE プロパティを使用します。

推奨: 通常は、 リ コンフ ィギャラブルではないサイ ト タイプ (IOB、 コンフ ィギュレーシ ョ ン、 ク ロ ッ ク列など) をま

たぐこ とは、 できる限り避けてください。 Pblock がこれらのサイ トのいずれかをまたぐ必要がある場合、 も リ ス

クが低いのはクロ ッ ク列です (その理由は先に説明)。 境界をできる限り効率よ く またぐよ うにするには、

SNAPPING_MODE ROUTING を使用してください。

X-Ref Target - Figure 6-6

図 6-6: チェ ックポイン トの禁止サイ ト

パーシャル リコンフ ィギュレーシ ョ ン 88UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 89: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

X-Ref Target - Figure 6-7

図 6-7: リ コンフ ィギャラブル不可能なリソースを含めないように複数の Pblock の長方形を作成

パーシャル リコンフ ィギュレーシ ョ ン 89UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 90: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

図 6-8 に分割部分を拡大し、 スライス (CLB) と インターコネク ト (INT) リ ソース タイプを示します。 2 つの Pblock 長

方形間のギャップによ り、 BUFHCE コンポーネン トに完全にアクセスでき、 スタティ ッ ク リ ソースを使用して完全

に配線できます。 また、 CLB の 1 つの列をスタティ ッ ク デザインで使用できます。 これらのギャ ップをまたぐこ と

ができる配線リ ソースはあ り ますが、 そ うする と全体的な配線能力が大幅に低下します。 このアプローチは難点が

多いため、 可能であれば回避してください。 IOB やコンフ ィギュレーシ ョ ン タイルなどのほかのスタティ ッ ク境界

をまたぐ場合は、 PR 領域の配線ギャップが 2 つの INT リ ソースになり、 配線が困難になり ます。

T 形や L 形などの形状のパーティシ ョ ンも使用できますが、 全体的な形状はできるだけシンプルにするこ とをお勧

めします。 配線リ ソースを完全にこれらの領域に収める必要があるので、 配置配線が困難になる可能性があ り ます。

パーティシ ョ ンの境界を接触させるこ とはできますが、 多少間が空いている方が配線制限が原因で問題が発生する

可能性を回避できます。 リ コンフ ィギャラブル パーティシ ョ ンをネス ト させたり ( リ コンフ ィギャラブル パーティ

シ ョ ン内に別のリ コンフ ィギャラブル パーティシ ョ ンを含める )、 重ねたりするこ とはできません。

後に、 物理的な リ コンフ ィギャラブル フレームごとに存在させるこ とができる リ コンフ ィギャラブル パーティ

シ ョ ンは 1 つだけです。 リ コンフ ィギャラブル フレームは、 リ コンフ ィギュレーシ ョ ン可能な 小の物理領域で、

クロ ッ ク領域の境界に揃えられています。 リ コンフ ィギャラブル フレームに複数のリ コンフ ィギャラブル パーティ

シ ョ ンからのロジッ クを含めるこ とはできません。 複数のリ コンフ ィギャラブル パーティシ ョ ンからのロジッ クを

含める と、 間違った リ コンフ ィギャラブル モジュールからの情報で領域がリ コンフ ィギュレーシ ョ ンされてしま う

可能性があ り、 競合が発生する原因となり ます。 Vivado ツールは、 このよ うな リ スクのある状況を回避するよ うに

設計されています。

X-Ref Target - Figure 6-8

図 6-8: クロック配線用に予約された列

パーシャル リコンフ ィギュレーシ ョ ン 90UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 91: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

高速ト ランシーバーの使用

ザイ リ ンクス高速ト ランシーバー (GTP、 GTX、 GTH、 GTZ) は 7 シ リーズ デバイスではリ コンフ ィギュレーシ ョ ン

不可能であ り、 スタティ ッ ク ロジッ クに配置する必要があ り ます。 ただし、 ト ランシーバーの設定は動作中に DRP

ポート を使用してアップデートできます。 ト ランシーバー設定および DRP アクセスの詳細は、 『7 シ リーズ FPGA

GTX/GTH ト ランシーバー ユーザー ガイ ド』 (UG476) [参照 19] および 『7 シ リーズ FPGA GTP ト ランシーバー ユー

ザー ガイ ド』 (UG482) [参照 20] を参照してください。

パーシャル リ コンフ ィギュレーシ ョ ン デザイン チェ ックリス ト (7 シリーズ デバイス)パーシャル リ コンフ ィギュレーシ ョ ンを使用する 7 シ リーズ FPGA デザインでは、 次の事項が推奨されます。

クロッキング ネッ トワーク

グローバル ク ロ ッ ク バッファー、 リージ ョナル ク ロ ッ ク バッファー、 またはクロ ッ ク調整ブロ ッ ク (MMCM、 PLL)

を使用していますか。

これらのブロ ッ クは、 スタティ ッ ク ロジッ クに配置する必要があ り ます。

詳細は、 「 リ コンフ ィギャラブル モジュール内のデザイン エレ メン ト 」 を参照してください。 グローバル ク

ロ ッ クのインプ リ メンテーシ ョ ンの詳細は、 「グローバル ク ロ ッ クの規則」 を参照して ください。

コンフ ィギュレーシ ョ ン機能ブロック

デバイス機能ブロ ッ ク (BSCAN、 CAPTURE、 DCIRESET、 FRAME_ECC、 ICAP、 STARTUP、 USR_ACCESS) を使用

していますか。

これらの機能ブロ ッ クは、 スタティ ッ ク ロジッ クに配置する必要があ り ます。

詳細は、 「 リ コンフ ィギャラブル モジュール内のデザイン エレ メン ト 」 を参照してください。

高速ト ランシーバー ブロック

デザインに高速ト ランシーバーが含まれていますか。

高速ト ランシーバーは、 スタティ ッ ク ロジッ クに配置する必要があ り ます。

特定の要件は、 「高速ト ランシーバーの使用」 を参照してください。

System Generator DSP コア、 HLS コア、 または IP インテグレーター ブロック図

パーシャル リ コンフ ィギュレーシ ョ ン デザインで System Generator DSP コア、 HLS コア、 または IP インテグレー

ター ブロ ッ ク図を使用していますか。

パーシャル リ コンフ ィギュレーシ ョ ンの基本的な要件を満たしていれば、 どのタイプのソースでも使用できま

す。 System Generator、 HLS、 Vivado IP インテグレーターなどのツールで処理されたコードは 終的に合成され

ます。 結果のデザイン チェッ クポイン ト またはネッ ト リ ス ト を RP に含めるこ とができるよ うにするには、 リ

コンフ ィギャラブル エレ メン ト (CLB、 ブロ ッ ク RAM、 DSP) のみで構成されるよ うにする必要があ り ます。

パーシャル リコンフ ィギュレーシ ョ ン 91UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 92: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

I/O のリコンフ ィギャラブル パーティシ ョ ンへの配置

リ コンフ ィギャラブル パーティシ ョ ンに I/O が含まれていますか。

I/O はすべて、 スタティ ッ ク ロジッ クに配置する必要があ り ます。

詳細は、 「 リ コンフ ィギャラブル モジュール内のデザイン エレ メン ト 」 を参照してください。

ロジックのリコンフ ィギャラブル パーティシ ョ ンへの配置

一緒に配置する必要のあるロジッ クが同じ リ コンフ ィギャラブル パーティシ ョ ンに配置されていますか。

一緒に配置する必要のあるロジッ クは、 同じ RP および RM に配置する必要があ り ます。

詳細は、 「ロジッ クのパッ ク」 を参照してください。

クリテ ィ カル パスのリコンフ ィギャラブル パーティシ ョ ンへの配置

ク リ ティカル パスが同じパーティシ ョ ン内に制約されていますか。

リ コンフ ィギャラブル パーティシ ョ ンの境界では 適化およびパッ クに制限があるので、 ク リ ティカル パスは

同じパーティシ ョ ン内に制約する必要があ り ます。

詳細は、 「ロジッ クのパッ ク」 を参照してください。

フロアプラン

リ コンフ ィギャラブル パーティシ ョ ンを効率的にフロアプランできますか。

詳細は、 「7 シ リーズ デバイスでの Pblock の作成」 を参照してください。

デカップリング ロジックの使用 (推奨)

RM の出力にデカップリ ング ロジッ クを作成しましたか。

リ コンフ ィギュレーシ ョ ン中、 RP の出力は不定の状態になるので、 スタティ ッ ク データが破損するのを回避す

るためデカップ リ ング ロジッ クを使用する必要があ り ます。

詳細は、 「デカップ リ ング機能」 を参照してください。

リコンフ ィギュレーシ ョ ン後にリセッ ト を適用 (推奨)

リ コンフ ィギュレーシ ョ ン後に RAM のロジッ クを リセッ ト していますか。

リ コンフ ィギュレーシ ョ ン後、 新しいロジッ クが初期値で開始しない場合があ り ます。

RESET_AFTER_RECONFIG プロパティを使用しない場合は、 ローカル リセッ ト を使用して、 デカップ リ ングを

解放したと きにロジッ クが予測される状態で開始するよ うにする必要があ り ます。 リ コンフ ィギュレーシ ョ ン

中は、 初期化問題を回避するため、 リ コンフ ィギャラブル パーティシ ョ ンへのクロ ッ クおよびその他の入力も

ディ スエーブルになり ます。 RESET_AFTER_RECONFIG プロパティを設定するこ と も可能です。 このオプシ ョ

ンは、 リ コンフ ィギュレーシ ョ ン中、 内部信号を一定に保持し、 リ コンフ ィギュレーシ ョ ンされたロジッ クに

マスク付きのグローバル リセッ ト を適用します。

詳細は、 「 リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用」 を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン 92UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 93: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 6 章: 7 シリーズおよび Zynq デバイスでの設計に関する考慮事項とガイ ド ライン

ロジック解析ブロックを使用したデバッグ

パーシャル リ コンフ ィギュレーシ ョ ンで Vivado ロジッ ク解析を使用していますか。

Vivado ロジッ ク解析 (ILA/VIO デバッグ コア) はパーシャル リ コンフ ィギュレーシ ョ ン デザインで使用できます

が、 これらのコアをデバッグ ハブに接続する際には注意が必要です。 「Vivado デバッグ コアの使用」 に説明す

る自動推論ソ リ ューシ ョ ンを使用してください。

効率的なリコンフ ィギャラブル パーティシ ョ ン Pblock

デザインに対して効率的な リ コンフ ィギャラブル パーティシ ョ ン Pblock を作成していますか。

RESET_AFTER_RECONFIG プロパティを使用する場合、 リ コンフ ィギャラブル パーティシ ョ ン Pblock の高さは

クロ ッ ク領域境界の上辺および下辺に揃える必要があ り ます。 RESET_AFTER_RECONFIG を使用しない場合

は、 リ コンフ ィギャラブル パーティシ ョ ン Pblock の高さは任意に選択できます。

詳細は、 「7 シ リーズ デバイスでの Pblock の作成」 を参照してください。

コンフ ィギュレーシ ョ ンの検証

コンフ ィギュレーシ ョ ン間の一貫性はどのよ うに検証しますか。

pr_verify コマンドを使用して、 すべてのコンフ ィギュレーシ ョ ンのインポート される リ ソースに一致してい

るこ とを確認できます。

詳細は、 「コンフ ィギュレーシ ョ ンの検証」 を参照してください。

コンフ ィギュレーシ ョ ンの要件

デザインおよびデバイスにおけるパーシャル リ コンフ ィギュレーシ ョ ンに特定のコンフ ィギュレーシ ョ ン要件があ

るこ とを理解していますか。

各デバイス ファ ミ リに特定のコンフ ィギュレーシ ョ ン要件および考慮事項があ り ます。

詳細は、 「デバイスのコンフ ィギュレーシ ョ ン」 を参照してください。

効率的な Pblock に関する推奨事項

RP Pblock がデバイスの中央のクロ ッ ク列またはコンフ ィギュレーシ ョ ン列をまたいでいますか。

7 シ リーズ デバイスの隣接 INIT タイル要件と CONTAIN_ROUTING 要件のため、Pblock がデバイス上のこれらの

特別ブロ ッ クにまたがる と、 配線が非常に困難になるか、 配線不可能になり ます。 できる限り、 RP Pblock がこ

れらのエリ アにまたがらないよ うにしてください。

隣接要件の詳細は、 「 リ コンフ ィギャラブル パーティシ ョ ンの自動調整」 および 「 リ コンフ ィギャラブル パー

ティシ ョ ン Pblock の手動作成」 を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン 93UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 94: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章

UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

概要

この章では、 UltraScale™ および UltraScale+™ デバイスに特定のパーシャル リ コンフ ィギュレーシ ョ ン デザイン要

件について説明します。

ザイ リ ンクス デバイスのパーシャル リ コンフ ィギュレーシ ョ ン機能を使用するには、 デザイン仕様を注意深く解析

し、 PR デザインの要件、 特性、 制限を考慮する必要があ り ます。 これによ り、 設計およびデバッグ プロセスが単純

になり、 デザインが誤動作する リ スクを回避できます。

リ コンフ ィギャラブル モジュール内のデザイン エレメン ト

UltraScale および UltraScale+ デバイスでは、 ほぼすべてのコンポーネン ト タイプをパーシャル リ コンフ ィギュレー

シ ョ ン可能です。

リ コンフ ィギャラブル モジュールには、 次のロジッ クを配置できます。

• FPGA の CLB スライスにマップされているすべてのロジッ ク コンポーネン ト : LUT (ルッ クアップ テーブル)、

FF (フ リ ップフロ ップ)、 SRL (シフ ト レジスタ )、 RAM、 ROM など。

• ブロ ッ ク RAM および FIFO: RAMB18E2、 RAMB36E2、 FIFO18E2、 FIFO36E2

• DSP ブロッ ク : DSP48E2

• PCIe® (PCI Express)、 CMAC (100G MAC)、 および ILKN (Interlaken MAC) ブロ ッ ク

• SYSMON (XADC およびシステム モニター )

• ク ロ ッ クおよびクロ ッ ク調整ロジッ ク : BUFG、 BUFGCE、 BUFGMUX、 MMCM、 PLL などのコンポーネン ト

• I/O および I/O 関連のコンポーネン ト : ISERDES、 OSERDES、 IDELAYCTRL など

• シ リアル ト ランシーバー (MGT) および関連のコンポーネン ト

パーシャル リコンフ ィギュレーシ ョ ン 94UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 95: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

コンフ ィギュレーシ ョ ン コンポーネン トのみをデザインのスタティ ッ ク部分に配置する必要があ り ます。 それらの

コンポーネン トは、 次のとおりです。

• BSCAN

• CFG_IO_ACCESS

• DCIRESET

• DNA_PORT

• EFUSE_USR

• FRAME_ECC

• ICAP

• MASTER_JTAG

• STARTUP

• USR_ACCESS

UltraScale および UltraScale+ デバイスでの Pblock の作成

UltraScale アーキテクチャでは、 リ コンフ ィギュレーシ ョ ン可能な 小ユニッ トが以前のアーキテクチャよ り も小さ

くなっています。 リ コンフ ィギュレーシ ョ ンに必要な 小リ ソースはリ ソース タイプによって異なり、 プログラマ

ブル ユニッ ト (PU) と呼ばれます。UltraScale アーキテクチャでは隣接のサイ ト と配線リ ソース (インターコネク ト タ

イル) が共有されるので、 PU はペアで定義されます。

サイ ト タイプに基づく リ コンフ ィギュレーシ ョ ン可能な 小 PU の例を示します。

• CLB PU: 隣接する 2 つの CLB、 および共有インターコネク ト

• ブロ ッ ク RAM PU: 1 つのブロ ッ ク RAM/FIFO、 隣接する 5 つの CLB、 および共有インターコネク ト

• DSP PU: 1 つの DSP、 隣接する 5 つの CLB、 および共有インターコネク ト

• IOB PU: ク ロ ッ ク領域の全高さ と同じ I/O で、 BITSLICE_CONTROL、 BITSLICE_RX_TX、 BITSLICE_TX、

BUFGCE、 BUFGCE_DIV、 BUFGCTRL、 IOB、 MMCME3_ADV、 PLLE3_ADV、 PLL_SELECT_SITE、 RIU_OR

などが含まれます。 近接の CLB は 60 個で、 インターコネク トが共有されています。

パーシャル リコンフ ィギュレーシ ョ ン 95UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 96: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

Pblock の PU の自動調整

UltraScale および UltraScale+ デバイスでは、 RESET_AFTER_RECONFIG オプシ ョ ンはあ り ません。 パーシャル リ コ

ンフ ィギュレーシ ョ ンの 後に常に GSR が発行され、 7 シ リーズ デバイスのよ うにこの機能を有効にするための

Pblock のサイズ/形状に関する要件はあ り ません。 ただし、 Pblock が 小 PU サイズの規則に違反しないよ うにする

ため、 SNAPPING_MODE プロパティ も常にオンになっており、 Pblock が PR に有効なものになるよ う自動的に調整さ

れます。

図 7-1 および 図 7-2 に、 SNAPPING_MODE によ り Pblock が PU に合わせてどのよ うに調整されるかを示します。

図 7-1 では、 元の矩形は大きいですが、 選択されたタイルのみが RP Pblock に含まれます。 上のブロ ッ ク RAM およ

び DSP サイ トは、 Pblock に完全に含まれていないので、 含まれません。 関連の CLB サイ ト も、 PU の規則に基づき、

含まれません。 左辺と右辺のどちらの Pblock に含まれない CLB サイ トがあ り ますが、 これは隣接する CLB が元の

矩形に含まれないからです。

X-Ref Target - Figure 7-1

図 7-1: SNAPPING_MODE の例 - UltraScale

パーシャル リコンフ ィギュレーシ ョ ン 96UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 97: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

SNAPPING_MODE によ り上記の Pblock が RP に有効なものになり ますが、 これらのサイ トすべてを含めるつも りで

ある場合もあ り ます。 元の Pblock 矩形を少し調整するこ とによ り、 SNAPPING_MODE で PR 領域に含める予定のサ

イ トが除外されないよ うにするこ とができます。 図 7-2 では、 Pblock が左、 右、 上方向に 1 CLB 分ずつ拡張されて

います。 RP Pblock に含まれるハイライ ト されているタイルは、 元の矩形に一致します。

注記: 図 7-1 および図 7-2 は、 リ コンフ ィギャラブル パーティシ ョ ンの Pblock に対して Vivado Design Suite ツールで

自動的に作成されるハイライ ト スク リプ ト を使用して作成されています。 デバッグまたは検証用にこれらの図を再

現するには、 次の手順に従います。

1. リ コンフ ィギャラブル パーティシ ョ ンを作成し、 調整します。 Pblock には、 HD.RECONFIGURABLE プロパティ

を設定する必要があ り ます。

2. source コマンドを使用して Vivado で生成されたハイライ ト スク リプ ト を実行します。

source ./hd_visual/<pblock_name>_AllTiles.tcl

注記: hd_visual ディレク ト リのスク リプ トは、 Pblock 制約が処理される と きに更新されます。 つま り、 Pblock を

含むデザインを開いたり、 開いているデザインで Pblock を作成または修正する と きなどに、 更新されます。

X-Ref Target - Figure 7-2

図 7-2: PU に揃えられた Pblock

パーシャル リコンフ ィギュレーシ ョ ン 97UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 98: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

RP とスタテ ィ ック ロジックでのコンフ ィギュレーシ ョ ン フレームの共有

UltraScale および UltraScale+ デバイスの Pblock ではフレーム (ク ロ ッ ク領域の高さ ) に揃える必要はあ り ませんが、

パーシャル リ コンフ ィギュレーシ ョ ンではコンフ ィギュレーシ ョ ン フレーム全体がプログラムされます。 つま り、

RP 外にあるロジッ クが上書きされる という こ とです。 これによ り PR で問題が発生するこ とはあ り ませんが、 以前

のアーキテクチャではリ コンフ ィギャラブル ロジッ ク と同じフレームに配置できるスタティ ッ ク ロジッ クのタイプ

に制限があ り ました。

UltraScale および UltraScale+ デバイスでは、 どのスタティ ッ ク ロジッ クでも、 RP Pblock に含まれないサイ トであれ

ば、 RM と同じコンフ ィギュレーシ ョ ン フレームに配置できます。 これには、 ブロ ッ ク RAM、 DSP、 および LUT

RAM が含まれます。 ただし、 コンフ ィギュレーシ ョ ン フレームごとに 1 つの RP しか含めるこ とができないという

制限があ り ます。 つま り、 同じ クロ ッ ク領域に 2 つの RP を縦に並べるこ とはできません。

CONTAIN_ROUTING エリアの拡張

UltraScale および UltraScale+ デバイスの RP Pblock の配線要件は、 配線およびタイ ミ ング結果を改善できるよ うに緩

和されています。 配線を Pblock 内のリ ソースに厳密に限定する代わりに、 配線フッ トプ リ ン トが拡張されています。

このフッ トプ リ ン トには、 Pblock に属する とは限らない Pblock の境界内のリ ソースと Pblock 矩形外のリ ソースが含

まれます。 これは、 Pblock の境界外に RM ネッ トおよびパーティシ ョ ン ピンがある可能性があるこ とを意味します。

ただし、 それらのパーティシ ョ ン ピンまたは含まれるネッ トは、 拡張された配線フッ トプ リ ン ト内にあ り ます。

拡張配線フッ トプ リ ン トは、 hd_visual Tcl スク リプ トの 1 つを実行する と可視化できます。 これらのスク リプ トは、

パーシャル リ コンフ ィギュレーシ ョ ン フロー中に自動的に生成され、 現在の作業ディ レク ト リの ./hd_visual サ

ブディ レク ト リにあ り ます。 拡張配線フッ トプ リ ン ト を表示させる可視化スク リプ トは、

./hd_visual/<pblock_name>_Routing_AllTiles.tcl という名前です。 拡張配線フッ トプ リ ン トは、 実際に

は配線中に決定されるので、 このファイルは route_design が完了するまで使用できません。 拡張配線フッ トプ リ ン ト

を表示させるには、 配線済みデザインを開いた後に、 Tcl コンソールからこのファイルを実行します。 配線に使用で

きるタイルがすべて選択され、 必要に応じてハイライ ト またはマークできます。 次の図では、 ユーザー定義の

Pblock の配置を青、 拡張配線ゾーンを黄色で示しています。

source ./hd_visual/pblock_inst_shift_low_Routing_AllTiles.tcl

パーシャル リコンフ ィギュレーシ ョ ン 98UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 99: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

r

RM で使用されるフレームはすべてパーシャル ビッ ト ファ イルに含めておく必要があるため、 配線フッ トプ リ ン ト

を拡張する と、 パーシャル ビッ ト ファ イルが大き くな り ます。 サイズの拡大は、 元の Pblock のサイズと形によ り ま

す。 既に矩形である Pblock は拡大できますが、 ク ロ ッ ク領域の境界を越えて垂直方向に拡大するこ とはできません。

右側または左側の新しいクロ ッ ク領域に拡張するこ とは可能です。 Pblock の境界を内部クロ ッ ク領域のエッジの手

前で止める と、 RP が配線しやすくなるこ とがあ り ます。 デバイスのエッジ (左または下のエッジなど) に揃っている

Pblock エッジは、 配線を拡張するためだけに内側に移動しないでください。 スタティ ッ ク領域でエッジ沿いのリ

ソースにアクセスできるよ うになる と、 配置の問題が発生する可能性があ り ます。 この配線拡張機能をオンにして

おく こ とをお勧めしますが、 パーシャル ビッ ト ス ト リームのサイズがデザインのパフォーマンスよ り も重要な場合

は、 次のパラ メーターを設定してこの機能をオフにできます。

set_param hd.routingContainmentAreaExpansion false

I

重要: 拡張配線フッ トプ リ ン トは、 7 シ リーズ デバイスではサポート されていません。

X-Ref Target - Figure 7-3

図 7-3: ハイライ ト された Pblock および拡張配線フッ トプリン ト

パーシャル リコンフ ィギュレーシ ョ ン 99UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 100: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

RP 内のクロックのフロアプラン規則

UltraScale および UltraScale+ デバイスでは、 BUFG_*、 PLL、 および MMCM など、 RP 内のクロ ッキング リ ソースが

サポート されます。 この機能を使用するデザインは、 「グローバル ク ロ ッ クの規則」 で説明される一般的なデザイン

制限と次のフロアプラン規則に従う必要があ り ます。 これらの規則は、 RP 内のクロ ッ クが RP Pblock に属するフ

レーム内の必要な配線リ ソースに到達するよ うにするため必要です。

1. できるだけ長方形の Pblock を作成します。 Pblock が複数の長方形で形成される場合、 Pblock の一番高い列が

clock_region に揃えられている必要があ り ます。

2. 内部 RM ク ロ ッ クの CLOCK_ROOT プロパティは、 Pblock の一番高い列の 1 つと して設定する必要があ り ます。

ツールは CLOCK_ROOT に対して正しい列を選択しよ う と試みますが、 選択できない場合もあ り ます。

a. CLOCK_ROOT は、 クロ ッ ク ネッ トに USER_CLOCK_ROOT プロパティが存在する場合は自動的に選択さ

れません。 USER_CLOCK_ROOT プロパティが Pblock の完全な高さでない列に設定されている場合、 配線

できない接続が出る可能性があ り ます。

b. BUFG_GT の構成によっては、 CLOCK_ROOT が BUFG_GT と同じ領域に存在するこ とが必須条件であるこ

とがあ り ます。 USER_CLOCK_ROOT プロパティが Pblock の一番高い列以外の列に設定されている場合、

配線できない接続が出る可能性があ り ます。 これを回避するには、 そのクロ ッ ク ネッ ト を 2 つの

BUFG_GT (1 つはユーザー ロジッ ク用、 も う 1 つはダイレク ト GT 接続用) に分割してみる と、 各ク ロ ッ ク

に独自の CLOCK_ROOT ができます。

図 7-4 に示すよ うに、 CLOCK_ROOT が X2Y2 (Pblock の左上) 領域に定義されている と、 ク ロ ッ クで X2Y1 領域

を使用できないため、 X3Y1 (Pblock の右下) 領域のロードに配線できません。 その反対に、 CLOCK_ROOT が

X3Y2 または X3Y1 のいずれかに定義される場合は、 クロ ッ ク配線の制限は何も適用されません。

X-Ref Target - Figure 7-4

図 7-4: L 型 Pblock の CLOCK_ROOT 制限

パーシャル リコンフ ィギュレーシ ョ ン 100UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 101: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

3. CLOCK_ROOT が一番高い列に設定できない場合、 RP 領域内の入れ子になった Pblock を使用して、 そのクロ ッ

クのロードをクロ ッ クによ りアクセス可能な領域に含めるこ とができます。 入れ子になった Pblock がある と、

不規則な形の Pblock になるので、 ク ロ ッ クでアクセスできない領域にロードが配置されなくな り ます。

4. 図 7-5 に示すよ うに、 clock_region 全体にまたがる大きなギャ ップが作成されるよ うな U 型または H 型の

Pblock は作成しないでください。

図 7-6 に示すよ うに、 PR Pblock の行に IOB 1 列分などの小さなギャ ップがあるのはかまいませんが、 こ う した

ギャ ップはできるだけ避けてください。 RM 配線がこれらのギャ ップを越える必要があるため、 配線の密集の原

因となり ます。

X-Ref Target - Figure 7-5

図 7-5: clock_region にギャップが作成される Pblock (サポートなし )

X-Ref Target - Figure 7-6

図 7-6: 小さいギャップがある Pblock (サポートあり )

パーシャル リコンフ ィギュレーシ ョ ン 101UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 102: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

図 7-7 に示すよ うな小さな階段型の Pblock が必要になるこ と もあ り ます。 このよ うな う Pblock はサポート され

ますが、 角の周辺で配線が密集する可能性があ り ます。

5. ク ロ ッキング リ ソースを含む PR Pblock は、 その他の RP と ク ロ ッ ク領域の一部を共有するこ とはできません。

スタティ ッ ク ロジッ クを含むクロ ッ ク領域は共有できます。 これは、 これらのクロ ッ ク リ ソースによ り駆動さ

れるロジッ クが RP の内側または外側のどこにあるかにかかわらず同じです。

グローバル クロックの規則

UltraScale よ り前のアーキテクチャ と同様に、 リ コンフ ィギャラブル パーティシ ョ ンを駆動するすべてのクロ ッ ク

は、 サイ トが RP に含まれる各クロ ッ ク領域にあらかじめ配線されます。 これは、 リ コンフ ィギャラブル パーティ

シ ョ ンのサイズにかかわらず、 リ コンフ ィギャラブル パーティシ ョ ンを駆動するグローバル ク ロ ッ クの総数は 大

24 である という こ とです。 ク ロ ッ ク ソースが RM 内にある場合は、 これらのクロ ッ ク ソースを各クロ ッ ク領域にあ

らかじめ配線する必要はないので、 ク ロ ッ ク使用率を高めるこ とができます。 そのため、 RP の Pblock のサイズおよ

び形状に注意するこ とが重要です。 7 シ リーズ デバイスではクロ ッ ク領域ごとに使用可能なグローバル ク ロ ッ クは

12 個でしたが、 UltraScale アーキテクチャでは 24 個です。

注記: BUFGCTRL コンポーネン トの場合は、 RESET_AFTER_RECONFIG がイネーブルになっていても、 パーシャル

リ コンフ ィギュレーシ ョ ン中に PRESELECT_I0 および PRESELECT_I1 プロパティが無視されます。 選択したク

ロ ッ ク ソースは、 BUFGCTRL インスタンスのセレク トおよびクロ ッ ク イネーブル入力のみに左右されます。

Vivado 2017.4 から、 リ コンフ ィギャラブル モジュール内のクロ ッ ク ソースで、 ロジッ クをスタティ ッ ク デザインま

たはほかのリ コンフ ィギャラブル モジュールに駆動できるよ うにな り ました。 一貫したクロ ッ ク スパインの使用な

ど、 下位レベルの詳細の多くは Vivado で処理されます。 デザイン ルール チェッ クによ り、 基本的な規則が適用され

ているこ とが確認されます。 ただし、 いくつかの考慮事項があ り ます。

X-Ref Target - Figure 7-7

図 7-7: 階段型 Pblock (サポートあり )

パーシャル リコンフ ィギュレーシ ョ ン 102UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 103: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

• 1 つの RP では、 RM 間でクロ ッ ク リ ソースを一貫したものにする必要があ り ます。 MMCM パラ メーターなど

のクロ ッ クの特性を変更するこ とはできますが、 ク ロ ッ ク ド ラ イバーのタイプ (BUFG など) は同じにし、 固定

したスタティ ッ ク デザインで配線リ ソースが一貫したものになるよ うにする必要があ り ます。

• リ コンフ ィギュレーシ ョ ン中はクロ ッ クの動作が不確定になるので、 デカップリ ングするこ とを考慮してくだ

さい。 ク ロ ッ クにはファンアウ トの大きい配線リ ソースが使用されるので、 標準インターフェイス とは異なり、

2:1 マルチプレクサーやレジスタは適していません。 その代わりに BUFGMUX を使用して リ コンフ ィギュレー

シ ョ ン中のクロ ッ ク ソースを遮断できます。 別の方法と して、 ク ロ ッ ク ソースのリ コンフ ィギュレーシ ョ ン

中、 スタティ ッ ク領域またはほかの RM 内の同期エレ メン ト をディ スエーブルにするか、 リセッ トに保持する

こ と もできます。

I/O 規則

UltraScale および UltraScale+ デバイスでは、 I/O ロジッ ク とバッファーを RP に含めるこ とができます。 I/O は 1 つの

RM から別の RM に変更できますが、 いくつかの規則に従う必要があ り ます。

I/O サイ ト を使用するすべてのコンフ ィギュレーシ ョ ン間で、 次のチェッ クが実行されます。 I/O サイ トが使用から

未使用にまたは未使用から使用に変更された場合、 これらのチェッ クはそれらのコンフ ィギュレーシ ョ ンに対して

は実行されません。 I/O が使用されないコンフ ィギュレーシ ョ ンがある場合は、 これらのポートに PULLTYPE 属性

を使用して適切なプロパティを設定してください。 PULLTYPE の設定に関する詳細は、 『Vivado Design Suite プロパ

ティ リ ファレンス ガイ ド』 (UG912) [参照 31] のこのセクシ ョ ンを参照してください。

• I/O が使用される と きは常に、 I/O の方向および規格は、 すべての RM で同じにする必要があ り ます。

• DCI_CASCADE では、 RM 間のメンバー バンクの割り当てをオーバーラ ップさせるこ とはできません。

° 有効な例: コンフ ィギュレーシ ョ ン 1 では DCI_CASCADE にバンク 12、 13 が含まれ、 コンフ ィギュレー

シ ョ ン 2 では DCI_CASCADE にバンク 14、 15 および 16 が含まれる場合。 この場合、 オーバーラ ップする

バンクはあ り ません。

° 有効な例: コンフ ィギュレーシ ョ ン 1 では DCI_CASCADE にバンク 12 および 13 が含まれ、 コンフ ィギュ

レーシ ョ ン 2 では DCI_CASCADE にバンク 13、 14、 15 および 16 が含まれる場合。 この場合、 バンク 13 が

オーバーラ ップしています。

• DCI_CASCADE では、 メンバー バンクを リ コンフ ィギャラブル領域に完全に制約する必要があ り ます。 同じ

DCI_CASCADE のすべてのメンバー バンクを同じ RP Pblock または完全にスタティ ッ ク領域に配置する必要があ

り ます。 DCI_CASCADE の使用は、 リ コンフ ィギャラブル モジュール間で一貫したものにする必要があ り ます。

1 つのコンフ ィギュレーシ ョ ンから別のコンフ ィギュレーシ ョ ンでの IOB の変更は、 上記の規則に制限されます。

これは、 次の I/O 特性がパーシャル リ コンフ ィギュレーシ ョ ンで変更される可能性を示しています。

• 使用状況 (I/O ごとの使用済み vs 未使用)

• 駆動電流 (12 mA、 8 mA など)

• ド ラ イバー出力インピーダンス (40Ω、 48Ω など)

• ド ラ イバー入力インピーダンス (40Ω、 48Ω など)

• ド ラ イバー スルー レート (slow、 fast など)

• ODT 終端 (40、 60 など)

パーシャル リコンフ ィギュレーシ ョ ン 103UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 104: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

ただし、 I/O サイ ト を RP に追加する場合、 PU 全体 (I/O バンク、 BITSLICE、 MMCM、 PLL、 および CLB の 1 つの列

と共通のインターコネク ト を含む) を含める必要があ り ます。 この基本的な領域のすべてのコンポーネン トはリ コン

フ ィギュレーシ ョ ンおよび再初期化されるので、 これらのほかのサイ ト タイプを リ コンフ ィギャラブル領域に含め

る と便利です。 その理由は次のとおりです。

• I/O サイ ト を追加する と、 その I/O の配線リ ソースを使用できるよ うになり、 密集を緩和できます。 I/O サイ ト

がスタティ ッ ク領域に配置されている と、 密集が悪化し、 リ コンフ ィギャラブル領域にギャップができる可能

性があ り ます。

• MMCM や PLL などのほかのクロ ッ ク リ ソースのリ コンフ ィギュレーシ ョ ンが可能になり ます。

• BITSLICE や BITSLICE_CONTROL などのほかの I/O ロジッ ク サイ トの リ コンフ ィギュレーシ ョ ンが可能になり

ます。

リ コンフ ィギュレーシ ョ ン中に I/O の使用や特性が変更されても されなくても、 バンク全体がリ コンフ ィギュレー

シ ョ ンされます。 リ コンフ ィギュレーシ ョ ン中は RP Pblock によ り定義されるバンクに含まれるすべての I/O が専用

グローバル ト ラ イステート (GTS) 信号によ り保持されます。 この信号は、 リ コンフ ィギュレーシ ョ ンの 後に解放

されます。

リ コンフ ィギャラブル モジュールに MMCM または PLL コンポーネン トが含まれている場合、 これらのコンポーネ

ン トのロ ッ ク サイ クルが待機なしの状態に設定される と、 パーシャル ビッ ト ス ト リームのサイズが 小になり ま

す。 同様に、 IO と DCI の一致要件は、 ロ ッ ク サイ クルが待機なしに設定される と、 小のビッ ト ス ト リーム サイズ

になり ます。 これらのオプシ ョ ンは次のコマンドを使用して設定します。

set_property BITSTREAM.STARTUP.LCK_CYCLE NoWait [current_design] set_property BITSTREAM.STARTUP.MATCH_CYCLE NoWait [current_design]

パーシャル リ コンフ ィギュレーシ ョ ン フロー中、 RM は update_design -black_box を使用する と区分けされ

ます。 このコマンドでは、 PACKAGE_PIN および IOSTANDARD などのエンベデッ ド IO バッファーおよびそれに関連

する制約がすべて削除されます。 ブラ ッ ク ボッ クス RP に新しい RM が配置されたら、 これらの IOB 制約をデザイ

ンに適用し直す必要があ り ます。

高速ト ランシーバーの使用

ザイ リ ンクス高速ト ランシーバー (GTH、 GTY) は、 リ コンフ ィギャラブル パーティシ ョ ン内でサポート されます。

ほかのリ コンフ ィギャラブル サイ ト タイプと同様に、 PU 全体を含める必要があ り ます。 UltraScale GT ト ランシー

バーの PU には、 次のものが含まれます。

• 4 つの GT_CHANNEL サイ ト (GT クワ ッ ド )

• 関連の GT_COMMON サイ ト

• 関連の BUFG_GT_SYNC サイ ト

• 関連の BUFG_GT サイ ト

• 関連のインターコネク トおよび CLB サイ ト

必要な GT PU は、 クロ ッ ク領域の高さ全体です。 以前のアーキテクチャ と同様に、 GT コンポーネン ト をスタティ ッ

ク ロジッ クに配置し、 その機能を DPR を使用して変更するこ と も可能です。 UltraScale および UltraScale+ ト ラン

シーバーの使用に関する詳細は、 『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576) [参

照 23] および『UltraScale アーキテクチャ GTY ト ランシーバー ユーザー ガイ ド』 (UG578) [参照 24] のを参照してくだ

さい。

パーシャル リコンフ ィギュレーシ ョ ン 104UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 105: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

UltraScale および UltraScale+ デバイス デザインでのパーシャル リ コンフ ィギュレーシ ョ ン チェ ックリス ト

パーシャル リ コンフ ィギュレーシ ョ ンを使用する UltraScale および UltraScale+ デバイス デザインでは、 次の事項が

推奨されます。

クロッキング ネッ トワーク

グローバル ク ロ ッ ク バッファーまたはクロ ッ ク調整ブロ ッ ク (MMCM、 PLL) を使用していますか。

これらのブロ ッ クはリ コンフ ィギュレーシ ョ ン可能ですが、 このフレーム タイプのすべてのエレ メン ト を リ コ

ンフ ィギュレーシ ョ ンする必要があ り ます。 これには、 I/O バンク全体、 その共有領域のすべてのクロ ッ ク エレ

メン ト、 およびインターコネク ト を共有する CLB の 1 つの列が含まれます。

詳細は、 「 リ コンフ ィギャラブル モジュール内のデザイン エレ メン ト 」 を参照してください。 グローバル ク

ロ ッ クのインプ リ メンテーシ ョ ンの詳細は、 「グローバル ク ロ ッ クの規則」 を参照して ください。

さ らに、 現在のと ころ、 Vivado Design Suite の DRC によ り次の制限が適用されます。 BUFGCTRL、 BUFG_CE、

BUFG_GT のクロ ッキング リ ソースの使用はサポート されていますが、 次の制限があ り ます。

° 長方形の Pblock を使用するこ とをお勧めします。 ク ロ ッ ク ロジッ クを含む RP では長方形以外の形状もサ

ポート されますが、 Pblock の も高い列がクロ ッ ク領域の高さおよび幅に揃っているこ とが条件です。 ま

た、 RP Pblock の一番高い列が IOB を含み、 この範囲に RP Pblock を定義する長方形すべての高さが含まれ

ているこ と も必須条件です (図 7-8 を参照)。 つま り、 IOB 範囲の縦の列が Pblock のすべての行にアクセス

できるこ とが必要だという こ とです。 横にした L 型の Pblock は、 形状の縦の部分に IOB 範囲が含まれる場

合を除き、 サポート されません。

X-Ref Target - Figure 7-8

図 7-8: Pblock の も高い列がクロック領域に揃っている例

パーシャル リコンフ ィギュレーシ ョ ン 105UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 106: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

° ギャ ップは、 範囲に含まれているサイ トが両側にある範囲に含まれていないサイ ト タイプと して定義され

ます。 次のギャップは許容されません。

- IOB/XIPHY 範囲内のギャップ (図 7-9 に示す IOB 列のギャップなど)。

- DSP 範囲のギャップ。

° 次の場合、 2 つの RP Pblock でクロ ッ ク領域の形状を指定するこ とはできません。

- 少なく と もいずれかの Pblock にグローバル ク ロ ッ ク ソースが含まれる。

- も う 1 つの Pblock がグローバル ク ロ ッ ク ソースの範囲を指定する。

コンフ ィギュレーシ ョ ン機能ブロック

デバイス機能ブロ ッ ク (BSCAN、 DCIRESET、 FRAME_ECC、 ICAP、 STARTUP、 USR_ACCESS) を使用しています

か。

これらの機能ブロ ッ クは、 スタティ ッ ク ロジッ クに配置する必要があ り ます。

詳細は、 「 リ コンフ ィギャラブル モジュール内のデザイン エレ メン ト 」 を参照してください。

Pblock 境界

Pblock 境界は設定しましたか。

UltraScale および UltraScale+ デバイスの場合、 PR 領域の X 軸境界を CLB、 ブロ ッ ク RAM、 DSP などを含む PU

で設定できます。 Pblock は有効な配置になるよ うに Vivado で自動的に調整されます。 PR 領域の Y 軸境界は、

クロ ッ ク領域および I/O バンクにするこ とができますが、 BUFGCTRL/BUFG_CE/BUFG_GT が RP で使用される

場合は、 フル ク ロ ッ ク領域を使用する必要があ り ます。

X-Ref Target - Figure 7-9

図 7-9: サポート されない IOB 列内のギャップ

パーシャル リコンフ ィギュレーシ ョ ン 106UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 107: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

SSI テク ノロジ

Pblock は SSI デバイスの SLR をまたぎますか。

SSI デバイスを使用している場合は、 PR 領域を 1 つの SLR 内に収めるこ とを推奨します。 ただし、 UltraScale お

よび UltraScale+ デバイスでは、 PR Pblock が 1 つの SLR をまたぐ必要がある場合、 この境界を越えて配線できる

よ う必要な Laguna サイ ト を含める必要があ り ます。 これには、 SLR 境界の両側の PR 領域に、 少なく と も 1 つ

のクロ ッ ク領域全体が含まれている必要があ り ます。

SSI テク ノ ロジ デバイスおよび Laguna の詳細は、 『UltraScale アーキテクチャ コンフ ィギャラブル ロジッ ク ブ

ロ ッ ク ユーザー ガイ ド』 (UG574) [参照 27] の 「スタ ッ ク ド シ リ コン インターコネク ト (SSI) テク ノ ロジを使用

するデバイス」 セクシ ョ ンを参照してください。

高速ト ランシーバー ブロック

デザインに高速ト ランシーバーが含まれていますか。

高速ト ランシーバーはリ コンフ ィギュレーシ ョ ン可能です。 すべてのコンポーネン ト タイプ (GT_CHANNEL、

GT_COMMON、 BUFG_GT) を含むクワッ ド全体を リ コンフ ィギュレーシ ョ ンする必要があ り ます。

特定の要件は、 「高速ト ランシーバーの使用」 を参照してください。

System Generator DSP コア、 HLS コア、 または IP インテグレーター ブロック図

パーシャル リ コンフ ィギュレーシ ョ ン デザインで System Generator DSP コア、 HLS コア、 または IP インテグレー

ター ブロ ッ ク図を使用していますか。

パーシャル リ コンフ ィギュレーシ ョ ンの基本的な要件を満たしていれば、 どのタイプのソースでも使用できま

す。 System Generator、 HLS、 IP インテグレーターなどのツールで処理されたコードは 終的に合成されます。

結果のデザイン チェッ クポイン ト またはネッ ト リ ス ト を RP に含めるこ とができるよ うにするには、 リ コン

フ ィギャラブル エレ メン トのみで構成されるよ うにする必要があ り ます。

I/O のリコンフ ィギャラブル パーティシ ョ ンへの配置

リ コンフ ィギャラブル パーティシ ョ ンに I/O が含まれていますか。

I/O をパーシャル リ コンフ ィギュレーシ ョ ンできます。 I/O バンク全体を、すべての I/O ロジッ ク (XiPhy) および

クロ ッ ク リ ソース と共にリ コンフ ィギュレーシ ョ ンする必要があ り ます。 IOSTANDARD および方向は変更で

きず、 DCI カスケード規則に従う必要があ り ますが、 その他の IO 特性は RM から次の RM に変更できます。

詳細は、 「 リ コンフ ィギャラブル モジュール内のデザイン エレ メン ト 」 を参照してください。

ロジックのリコンフ ィギャラブル パーティシ ョ ンへの配置

一緒に配置する必要のあるロジッ クが同じ リ コンフ ィギャラブル パーティシ ョ ンに配置されていますか。

一緒に配置する必要のあるロジッ クは、 同じ RP および RM に配置する必要があ り ます。

詳細は、 「ロジッ クのパッ ク」 を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン 107UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 108: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

クリテ ィ カル パスのリコンフ ィギャラブル パーティシ ョ ンへの配置

ク リ ティカル パスが同じパーティシ ョ ン内に制約されていますか。

リ コンフ ィギャラブル パーティシ ョ ンの境界では 適化およびパッ クに制限があるので、 ク リ ティカル パスは

同じパーティシ ョ ン内に制約する必要があ り ます。

詳細は、 「ロジッ クのパッ ク」 を参照してください。

フロアプラン

リ コンフ ィギャラブル パーティシ ョ ンを効率的にフロアプランできますか。

詳細は、 「UltraScale および UltraScale+ デバイスでの Pblock の作成」 を参照してください。

デカップリング ロジックの使用 (推奨)

RM の出力にデカップリ ング ロジッ クを作成しましたか。

リ コンフ ィギュレーシ ョ ン中、 RP の出力は不定の状態になるので、 スタティ ッ ク データが破損するのを回避す

るためデカップ リ ング ロジッ クを使用する必要があ り ます。

詳細は、 「デカップ リ ング機能」 を参照してください。

リコンフ ィギュレーシ ョ ン後にリセッ ト を適用 (推奨)

リ コンフ ィギュレーシ ョ ン後に RAM のロジッ クを リセッ ト していますか。

リ コンフ ィギュレーシ ョ ン後にリセッ トは、 UltraScale および UltraScale+ デバイスでは常にイネーブルになって

います。

詳細は、 「 リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用」 を参照してください。

ロジック解析ブロックを使用したデバッグ

パーシャル リ コンフ ィギュレーシ ョ ンで Vivado ロジッ ク解析を使用していますか。

Vivado ロジッ ク解析 (ILA/VIO デバッグ コア) はパーシャル リ コンフ ィギュレーシ ョ ン デザインで使用できます

が、 これらのコアをデバッグ ハブに接続する際には注意が必要です。 「Vivado デバッグ コアの使用」 に説明す

る自動推論ソ リ ューシ ョ ンを使用してください。

効率的なリコンフ ィギャラブル パーティシ ョ ン Pblock

デザインに対して効率的な リ コンフ ィギャラブル パーティシ ョ ン Pblock を作成していますか。

リ コンフ ィギャラブル パーティシ ョ ン Pblock の高さに制限はあ り ませんが、 複数のリ コンフ ィギャラブル パー

ティシ ョ ンを 1 つのクロ ッ ク領域内で縦に並べるこ とはできません。

詳細は、 「UltraScale および UltraScale+ デバイスでの Pblock の作成」 を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン 108UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 109: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 7 章: UltraScale および UltraScale+ デバイスでの設計に関する考慮事項とガイ ド ライン

コンフ ィギュレーシ ョ ンの検証

コンフ ィギュレーシ ョ ン間の一貫性はどのよ うに検証しますか。

pr_verify コマンドを使用して、 すべてのコンフ ィギュレーシ ョ ンのインポート される リ ソースに一致してい

るこ とを確認できます。

詳細は、 「コンフ ィギュレーシ ョ ンの検証」 を参照してください。

コンフ ィギュレーシ ョ ンの要件

デザインおよびデバイスにおけるパーシャル リ コンフ ィギュレーシ ョ ンに特定のコンフ ィギュレーシ ョ ン要件があ

るこ とを理解していますか。

各デバイス ファ ミ リに特定のコンフ ィギュレーシ ョ ン要件および考慮事項があ り ます。

詳細は、 「デバイスのコンフ ィギュレーシ ョ ン」 を参照してください。

パーシャル リコンフ ィギュレーシ ョ ン 109UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 110: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 8 章

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

概要

この章では、 デバイスをパーシャル BIT ファ イルでコンフ ィギュレーシ ョ ンする際のシステム デザインに関する考

慮事項と、 パーシャル リ コンフ ィギュレーシ ョ ンに便利な FPGA のアーキテクチャ機能について説明します。 パー

シャル リ コンフ ィギュレーシ ョ ンはほとんどの点で標準のコンフ ィギュレーシ ョ ンと同じなので、 このセクシ ョ ン

では PR 特定の詳細についてのみ説明します。

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

パーシャル リ コンフ ィギュレーシ ョ ンでは、 次のコンフ ィギュレーシ ョ ン モードがサポート されています。

• ICAP: ユーザー コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンに適したモードです。 ICAP コン ト ローラーと ICAP イ

ンターフェイスを作成する必要があ り ます。

• MCAP: (UltraScale™ および UltraScale+™ デバイスのみ) デバイスに含まれる特定の 1 つの PCIe® ブロ ッ クから

ICAP に専用接続を提供します。

• PCAP: Zynq-7000 SoC および Zynq UltraScale+ デザインの主なコンフ ィギュレーシ ョ ン方法です。

• JTAG: テス ト またはデバッグを実行するのに適したインターフェイスです。 Vivado ロジッ ク解析で駆動可能です。

• スレーブ SelectMAP またはスレーブ シ リ アル: 同じインターフェイスでフル コンフ ィギュレーシ ョ ンおよび

パーシャル リ コンフ ィギュレーシ ョ ンを実行するのに適したモードです。

マスター モードは、 IPROG によ り コンフ ィギュレーシ ョ ン メモ リがク リ アされるので、 直接サポート されていま

せん。

パーシャル リコンフ ィギュレーシ ョ ン 110UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 111: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

パーシャル BIT ファ イルを読み込むのに JTAG 以外の外部コンフ ィギュレーシ ョ ン モード使用するには、 これらの

ピンを初期デバイス コンフ ィギュレーシ ョ ン後に使用できるよ う予約する必要があ り ます。 これには

BITSTREAM.CONFIG.PERSIST プロパティを使用して多目的 I/O をコンフ ィギュレーシ ョ ンで使用するよ う保持

し、 コンフ ィギュレーシ ョ ン幅を設定します。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデ

バッグ』 (UG908) [参照 25] のこのセクシ ョ ンを参照してください。 このプロパティを設定する Tcl コマンドは次のよ

うになり ます。

set_property BITSTREAM.CONFIG.PERSIST <value> [current_design]

<value> には、 No または Yes を入力します。

注記: コンフ ィギュレーシ ョ ン ピンが保持される場合は、 ICAP はディ スエーブルになり ます。 この 2 つの機能を同

時に使用するこ とはできません。 ICAP の詳細は、 ご使用のデバイスによって 『7 シ リーズ FPGA コンフ ィギュレー

シ ョ ン ユーザー ガイ ド』 (UG470) [参照 7] または 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ

ド』 (UG570) [参照 8] を参照してください。

パーシャル ビッ ト ス ト リームには、 パーシャル リ コンフ ィギュレーシ ョ ンに必要なコンフ ィギュレーシ ョ ン コマン

ドおよびデータがすべて含まれています。 パーシャル ビッ ト ス ト リームにコンフ ィギュレーシ ョ ン フレームのアド

レス指定情報が含まれているので、 パーシャル ビッ ト ス ト リームを FPGA に読み込む際に RM の物理位置を指定す

る必要はあ り ません。 有効なパーシャル ビッ ト ス ト リームが FPGA の間違った場所に送信されるこ とはあ り ません。

パーシャル リ コンフ ィギュレーシ ョ ン コン ト ローラーによ り メモ リからパーシャル ビッ ト ス ト リームが取り出さ

れ、 コンフ ィギュレーシ ョ ン ポートに配布されます。 パーシャル リ コンフ ィギュレーシ ョ ン制御ロジッ クは、 外部

デバイス (プロセッサなど) またはリ コンフ ィギュレーシ ョ ンする FPGA のプログラマブル ロジッ クに配置できます。

ユーザーが設計した内部 PR コン ト ローラーによ り、 ICAP インターフェイスを介してパーシャル ビッ ト ス ト リーム

が読み込まれます。 スタティ ッ ク デザインのほかのロジッ ク と同様、 内部パーシャル リ コンフ ィギュレーシ ョ ン制

御回路は、 パーシャル リ コンフ ィギュレーシ ョ ン プロセス中、 割り込みなしで動作します。

内部コンフ ィギュレーシ ョ ンには、 カスタム ステート マシンまたは MicroBlaze™ などのエンベデッ ド プロセッサを

含めるこ とができます。 Zynq-7000 AP および MPSoC では、 プロセッサ サブシステム (PS) を使用してパーシャル リ

コンフ ィギュレーシ ョ ン イベン ト を制御できます。

表 8-1: サポート されるコンフ ィギュレーシ ョ ン ポート

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

7 シリーズ Zynq UltraScale UltraScale+ Zynq UltraScale+ MPSoC

JTAG あ り あ り あ り あ り あ り

ICAP あ り あ り あ り あ り あ り

PCAP 該当なし あ り 該当なし 該当なし あ り

MCAP 該当なし 該当なし あ り あ り あ り

スレーブ シ リ アル あ り 該当なし あ り あ り 該当なし

スレーブ SelectMap あ り 該当なし あ り あ り 該当なし

SPI (任意の幅)*

*. パーシャル ビッ ト ス ト リームの格納には SPI および BPI フラ ッシュを使用できますが、 UltraScale+ よ り前のデバイスではパー

シャル ビッ ト ス ト リームをコンフ ィギュレーシ ョ ン エンジンに送信するために STARTUP プリ ミ ティブは使用できません。 ス

タティ ッ ク デザインの場合は、 ユーザー IO を介してフラ ッシュに接続する必要があ り、 コン ト ローラーを使用する と、 ビッ ト

ス ト リームをフェッチして、 ICAP に送信できます。

なし 該当なし なし あ り 該当なし

BPI sync モード * なし 該当なし なし あ り 該当なし

BPI async モード あ り 該当なし あ り あ り 該当なし

マスター モード なし 該当なし なし なし 該当なし

パーシャル リコンフ ィギュレーシ ョ ン 111UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 112: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

注記: Zynq-7000 SoC デバイスでは、プログラマブル ロジッ ク (PL) はパーシャル リ コンフ ィギュレーシ ョ ンできます

が、 プロセッシング システムはできません。

パーシャル リ コンフ ィギュレーシ ョ ン デザインおよび PR 制御ロジッ クをデバッグするため、 Vivado® ロジッ ク解

析を使用して、 JTAG ポート を介してフル ビッ ト ス ト リームまたはパーシャル ビッ ト ス ト リームを FPGA に読み込

むこ とができます。

ビッ ト ス ト リームをコンフ ィギュレーシ ョ ン ポートに読み込む方法の詳細は、 次の資料の 「コンフ ィギュレーシ ョ

ン インターフェイス」 の章を参照してください。

• 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470) [参照 7]

• 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 8]

• 『Zynq-7000 SoC テクニカル リ ファレンス マニュアル』 (UG585) [参照 9]

ビッ トス ト リーム タイプの定義

ザイ リ ンクス デバイスでパーシャル リ コンフ ィギュレーシ ョ ン用にデバイスをコンパイルする場合、 異なるタイプ

のビッ ト ス ト リームが作成されます。 このセクシ ョ ンでは、 7 シ リーズおよび UltraScale デバイス用のビッ ト ス ト

リームの各タイプを詳し く説明し、 その用語を定義します。 ビッ ト ス ト リームのタイプには次のものがあ り ます。

• 「フル コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム」

• 「パーシャル ビッ ト ス ト リーム」

• 「ブランキング ビッ ト ス ト リーム」

• 「ク リ ア ビッ ト ス ト リーム」

フル コンフ ィギュレーシ ョ ン ビッ トス ト リーム

PR デザインはすべて、 フル コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを使用して、 フル デバイスの標準コンフ ィ

ギュレーシ ョ ンから始めます。 フォーマッ トおよび構造はフラ ッ ト デザイン ソ リ ューシ ョ ンと同じで、 FPGA の初

期プログラムにこのビッ ト ス ト リームをどのよ うに使用できるかにおいても違いはあ り ません。 ただし、 フル プロ

グラムが実行された後、 デバイスのパーシャル リ コンフ ィギュレーシ ョ ンの準備のため、 デザイン自体が処理され

る点に注意してください。 暗号化や圧縮などの標準機能はサポート されます。

ブラ ッ ク ボッ クス と して設定されている リ コンフ ィギャラブル パーティシ ョ ン (RP) がサポート されているため、機

能のないリ コンフ ィギャラブル モジュール (RM) を初回コンフ ィギュレーシ ョ ンの一部と して配布できます。 これ

は後で必要な RM に置き換えるこ とができます。 ビッ ト ス ト リーム圧縮はこの場合効果的で、 ビッ ト ス ト リームの

サイズおよび初回コンフ ィギュレーシ ョ ンにかかる時間を削減できます。

パーシャル リコンフ ィギュレーシ ョ ン 112UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 113: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

フル BIT ファイルのダウンロード

デジタル システムの FPGA は、 パワーオン リセッ ト後に、 直接 PROM から、 またはマイクロプロセッサによ り汎用

メモ リ空間からフル BIT ファ イルをダウンロードするこ とによ り コンフ ィギュレーシ ョ ンします。 フル BIT ファ イ

ルには、 FPGA を リセッ ト し、 完全なデザインでコンフ ィギュレーシ ョ ンし、 BIT ファ イルが破損していないこ とを

検証するのに必要な情報がすべて含まれています。 次の図はこのプロセスを説明しています。

初期コンフ ィギュレーシ ョ ンが完了し、 検証されたら、 FPGA はユーザー モードになり、 ダウンロード されたデザ

インが動作し始めます。 BIT ファ イルが破損しているこ とが検出された場合は、 DONE 信号はアサート されず、

FPGA はユーザー モードになるこ とはないので、 破損したデザインが動作し始めるこ とはあ り ません。

パーシャル ビッ トス ト リーム パーシャル ビッ ト ス ト リームは、 あらかじめ定義されているデバイス領域の機能を置き換えるため、 標準デバイス

操作中に配布されます。 これらのビッ ト ス ト リームの構造はフル ビッ ト ス ト リームのものと同じですが、 デバイス

の特定エリアをプログラムするため特定アドレス セッ トに限定されています。 フレームごとの CRC チェッ ク (ビッ

ト ス ト リーム インテグ リティのため) や自動初期化 (領域が既知のステートで始まるよ うにするため) などの専用 PR

機能が利用でき、 また暗号化や圧縮などのフル ビッ ト ス ト リーム機能も利用できます。

パーシャル ビッ ト ス ト リームのサイズは、 リ コンフ ィギュレーシ ョ ンする領域のサイズに直接比例しています。 た

とえば、 リ コンフ ィギャラブル パーティシ ョ ンがデバイス リ ソースの 20% を占めている場合、 パーシャル ビッ ト

ス ト リームはフル ビッ ト ス ト リームの約 20% になり ます。

パーシャル ビッ ト ス ト リームは完全自己完結型であるため、 適切なコンフ ィギュレーシ ョ ン ポートに配布されま

す。 フル コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの場合と同じよ うに、 アドレス指定、 ヘッダー、 フッ ターのす

べての詳細がこれらのビッ ト ス ト リームに含まれています。 パーシャル ビッ ト ス ト リームは、 JTAG やスレーブ シ

リアル、 スレーブ SelectMap などの外部非コンフ ィギュレーシ ョ ン モードで FPGA に配布されます。 初回コンフ ィ

ギュレーシ ョ ン アクセスには、 ICAP (すべてのデバイス)、 PCAP (Zynq-7000 SoC デバイス)、 および MCAP (PCIe を

介した UltraScale および UltraScale+ デバイス) が含まれます。

パーシャル ビッ ト ス ト リームは、 write_bitstream が PR コンフ ィギュレーシ ョ ンで実行される と、 自動的に作成

されます。 各パーシャル ビッ ト ス ト リームのファイル名は、 上位デザイン名にリ コンフ ィギャラブル パーティ

シ ョ ンの Pblock 名と _partial が追加されたものになり ます。 たとえば、 フル デザイン BIT ファイル

top_first.bit の場合、 パーシャル BIT ファイルの名前は top_first_pblock_red_partial.bit になり ます。

X-Ref Target - Figure 8-1

図 8-1: フル BIT ファイルでのコンフ ィギュレーシ ョ ン

パーシャル リコンフ ィギュレーシ ョ ン 113UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 114: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

推奨: Pblock インスタンス内に含まれている RM に関係なく Pblock インスタンスは常に同じなので、 わかりやすい基

本コンフ ィギュレーシ ョ ン名を使用するか、 またはどのモジュールなのかを明確にするためパーシャル BIT ファ イ

ルの名前を変更するこ とを推奨します。

パーシャル BIT ファイルのダウンロード

パーシャル リ コンフ ィギュレーシ ョ ンされる FPGA は、 パーシャル BIT ファ イルの読み込み中、 ユーザー モードで

す。 これによ り、 リ コンフ ィギャラブル部分が変更されている間、 FPGA ロジッ クのリ コンフ ィギュレーシ ョ ンされ

ない部分は動作し続けるこ とができます。 図 8-2 にこのプロセスを示します。

パーシャル BIT ファ イルには簡略化されたヘッダーが含まれており、 FPGA をユーザー モードにするスタート アッ

プ シーケンスはあ り ません。 BIT ファ イルには、 デフォルト設定ではフレーム アドレス と コンフ ィギュレーシ ョ ン

データ、 および 終チェッ クサム値がのみが含まれます。 必要に応じて、 ビッ ト ス ト リームのインテグ リティ

チェッ ク用に追加の CRC チェッ クを挿入できます。

リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用する機能を使用している場合、 リ コンフ ィギュレーシ ョ ンが開始し

たと きに DONE ピンが Low になり、 パーシャル リ コンフ ィギュレーシ ョ ンが正し く完了する と High になり ます。

パーシャル ビッ ト ス ト リームは、 内部で監視するこ と もできます。

注記: UltraScale デバイスの場合は、 2 つのビッ ト ス ト リームによ りパーシャル リ コンフ ィギュレーシ ョ ン シーケン

スが構成されるので、 ク リ ア ビッ ト ス ト リームの始めに DONE ピンが Low になり、 パーシャル ビッ ト ス ト リーム

の 後まで Low のままになり ます。 DONE ピンはク リ ア ビッ ト ス ト リームの 後に High には戻り ません。

リ コンフ ィギュレーシ ョ ン後にリセッ ト を適用する機能を使用していない場合、 コンフ ィギュレーシ ョ ンがいつ完

了したかを知るためデータを監視する必要があ り ます。 パーシャル BIT ファ イルの 後には DESYNCH ワード

(0000000D) があ り、 コンフ ィギュレーシ ョ ン エンジンに BIT ファ イルの送信が完了したこ とを示します。 このワー

ドは、 一連のパディング NO OP コマンドの後に挿入されており、 DESYNCH に到達したと きにはすべてのコンフ ィ

ギュレーシ ョ ン データがデバイス全体のターゲッ ト フレームに既に送信されているこ とになり ます。 パーシャル

BIT ファ イル全体がコンフ ィギュレーシ ョ ン ポートに送信されたら、 リ コンフ ィギュレーシ ョ ンされた領域をアク

ティブにできます。

X-Ref Target - Figure 8-2

図 8-2: パーシャル BIT ファイルでのコンフ ィギュレーシ ョ ン

パーシャル リコンフ ィギュレーシ ョ ン 114UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 115: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

ブランキング ビッ トス ト リーム

ブランキング ビッ ト ス ト リームは、 特定タイプのパーシャル ビッ ト ス ト リームで、 論理ブラ ッ ク ボッ クスを表しま

す。 これは完全に空ではないので、 Vivado ではグレー ボッ クス と呼ばれます。 これは既存のリ コンフ ィギャラブル

モジュールの機能を新しい機能に置き換えたもので、 すべての該当モジュール I/O の接続した LUT から構成された

単純なものです。

グレー ボッ クスのリ コンフ ィギャラブル モジュールを作成するには、 完全に配置配線されたデザイン コンフ ィギュ

レーシ ョ ンの論理および物理記述を削除して、 接続された LUT に置き換えます。 使用している メモ リにある配線済

みコンフ ィギュレーシ ョ ン (スタティ ッ ク デザインがロ ッ ク されている状態) で、 次のステップを実行します。

update_design -cell <foo> -black_box update_design -cell <foo> -buffer_portsplace_designroute_design

デザインに挿入されている LUT をインプリ メン トするには、 デザインを配置配線する必要があ り ます。 グレー ボッ

クス RM の出力はデフォルトでグランドに接続されていますが、 ポートに HD.PARTPIN_TIEOFF を設定するこ とに

よ り Vcc に設定できます。

圧縮を使用する と、 ブランキング ビッ ト ス ト リームのサイズを大幅に削減できます。 これらのビッ ト ス ト リームに

は、 接続された LUT だけでなく、 FPGA のこの領域を通過するスタティ ッ ク配線も含まれています。 グレー ボッ ク

ス バージ ョ ンは別のコンフ ィギュレーシ ョ ン チェッ クポイン ト と して保存され、 ブランキング ビッ ト ス ト リームは

標準パーシャル ビッ ト ス ト リームと同じ方法で生成されて名前が付けられます。

Vivado ソフ ト ウェアの以前のバージ ョ ンでは、 グ リ ッチが発生する可能性を回避するため、 7 シ リーズと Zynq デバ

イスにブランキング ビッ ト ス ト リームを使用するこ とが推奨されていました。 Vivado 2016.1 からは、 各パーシャル

ビッ ト ス ト リームに特定のブランキング イベン ト を挿入するこ とで、 このよ うなまれなグ リ ッチ状況は自動的に回

避されるよ うになっています。 ブランキング ビッ ト ス ト リームは、 リ コンフ ィギャラブル パーティシ ョ ンからロ

ジッ クを削除するためには使用できますが、 グ リ ッチ イベン ト を回避するために使用する必要はあ り ません。 ブラ

ンキング イベン ト を自動的に組み込むとパーシャル BIT ファ イルのサイズが増加します。 圧縮を使用してこの増加

を抑えるこ とができます。

クリア ビッ トス ト リーム

前述のビッ ト ス ト リーム タイプとは異なり、 このタイプは UltraScale デバイス専用です。 UltraScale+ にはこの要件

はあ り ません。 このアーキテクチャには、 新しいモジュールを読み込む前に既存モジュールを消去しなければなら

ないという要件が新し く追加されています。 ク リ ア ビッ ト ス ト リームは、 リ コンフ ィギュレーシ ョ ンする領域のグ

ローバル信号マスクを確立するこ とによ り、 リ コンフ ィギャラブル パーティシ ョ ンの次のパーシャル ビッ ト ス ト

リームを配布できるよ うにします。 正確には既存のモジュールが削除されるわけではあ り ませんが (論理モジュール

は残っている )、 そ う考える と理解しやすいです。 ク リ ア ビッ ト ス ト リームが配布されない場合、 次のリ コンフ ィ

ギャラブル モジュールは初期化されません。

ク リ ア ビッ ト ス ト リームはパーシャル ビッ ト ス ト リームではあ り ません。 このビッ ト ス ト リームは、 ターゲッ ト領

域のフレームの 10% 未満しか占めず、 対応するパーシャル ビッ ト ス ト リームのサイズの 10% 未満です。 機能は変更

しませんが、 領域のロジッ クを駆動するク ロ ッ クをシャ ッ ト ダウンします。 ク リ ア ビッ ト ス ト リームは、 パーシャ

ル ビッ ト ス ト リームの間に配布する必要があ り、 できるだけ間を置かずに次のパーシャル ビッ ト ス ト リームを配布

する必要があ り ます。

パーシャル リコンフ ィギュレーシ ョ ン 115UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 116: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

各ク リア ビッ ト ス ト リームは、 特定のリ コンフ ィギャラブル モジュール用に作成されており、 そのモジュールが使

用された後に適用する必要があ り、 次のパーシャル ビッ ト ス ト リームが配布される直前にコンフ ィギュレーシ ョ ン

エンジンに送信する必要があ り ます。 たとえば、 モジュール A からモジュール B に変更するには、 A のク リ ア ビッ

ト ス ト リームを、 B のパーシャル ビッ ト ス ト リームが配布される直前に配布する必要があ り ます。 モジュール B か

らモジュール A に戻すには、 B のク リ ア ビッ ト ス ト リームを A のパーシャル ビッ ト ス ト リームが配布される直前に

配布する必要があ り ます。 パーシャル ビッ ト ス ト リームがブランキング ビッ ト ス ト リームであっても、 この規則に

従います。

ク リ ア ビッ ト ス ト リームは自動的に生成され、 名前はパーシャル ビッ ト ス ト リームの名前に _clear が付いたもの

になり ます。 上記の例の場合、 UltraScale デバイス デザインが top_first である とする と、 ク リ ア BIT ファ イル名

は top_first_pblock_red_partial_clear.bit になり ます。

ICAP を介したパーシャル リ コンフ ィギュレーシ ョ ン (Zynq デバイス)Zynq-7000 および Zynq MPSoC デバイスのプログラマブル ロジッ ク (PL) の主なコンフ ィギュレーシ ョ ン メカニズム

は、 プロセッシング システム (PS) を介したもので、 PCAP にビッ ト ス ト リームが配布されます。 これが、 パーシャ

ル リ コンフ ィギュレーシ ョ ンの も一般的なメカニズムです。 PR Controller IP またはカスタム デザインのコン ト

ローラー モジュールを介してパーシャル リ コンフ ィギュレーシ ョ ンを PL 内で完全に管理するため、FPGA デバイス

の場合と同様に、 パーシャル ビッ ト ス ト リームも ICAP に配布できます。

PCAP と ICAP を同時に使用するこ とはできません。 ICAP と PCAP を切り替えるこ とは可能ですが、 インターフェイ

スを変更する前に、 コマンドまたはデータが送信または受信中でないこ とを確認する必要があ り ます。 この確認を

怠る と、 予期せぬ動作が発生する可能性があ り ます。

Zynq-7000 デバイスで ICAP をイネーブルにするには、 制御レジスタ (devc.CTRL) のビッ ト 27 (PCAP_PR) を設定し

ます。 このビッ トは、PL リ コンフ ィギュレーシ ョ ンに対して ICAP または PCAP を選択します。デフォルトは PCAP

(1) ですが、 このコンフ ィギュレーシ ョ ン ポート をイネーブルにするため、 ICAP (0) に変更できます。 ビッ ト 28

(PCAP_MODE) も 1 に設定する必要があ り ます (1 がデフォルト値)。 詳細は、 『Zynq-7000 SoC テクニカル リ ファレン

ス マニュアル』 (UG585) [参照 9] を参照してください。

Zynq MPSoC デバイスで ICAP をイネーブルにするには、 pcap_ctrl (CSU) レジスタの PCAP_PR フ ィールドを設定

します。 このビッ トは、 PL リ コンフ ィギュレーシ ョ ンに対して ICAP (または MCAP) あるいは PCAP を選択します。

デフォルトは PCAP (1) ですが、 このコンフ ィギュレーシ ョ ン ポート をイネーブルにするため、 ICAP/MCAP (0)

に変更できます。詳細は、『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085) [参照 32] および

『Zynq UltraScale+ MPSoC レジスタ リ ファレンス』 (UG1087) [参照 33] を参照して ください。

パーシャル リコンフ ィギュレーシ ョ ン 116UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 117: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

Tandem コンフ ィギュレーシ ョ ンおよびパーシャル リコンフ ィギュレーシ ョ ン

UltraScale デバイスには、 デバイス上にある特定の 1 つの PCIe ブロッ クからコンフ ィギュレーシ ョ ン エンジンへの

専用接続である MCAP が導入されており、 パーシャル ビッ ト ス ト リームを効率的に配布できます。 PCIe ブロ ッ クを

コンフ ィギュレーシ ョ ン エンジンに接続するのに明示的な配線は必要なく、 リ ソースを大幅に節約できます。

MCAP は、 パーシャル リ コンフ ィギュレーシ ョ ンまたは Tandem コンフ ィギュレーシ ョ ン機能を使用してザイ リ ン

クス PCIe IP をカスタマイズする と イネーブルになり ます。 これらの機能は、 PCI Express をサポートする次の 3 つの

IP コアで使用できます。

• 『UltraScale Architecture Gen3 Integrated Block for PCI Express 製品ガイ ド』 (PG156) [参照 14]

注記: この資料には、 主な Tandem および PR ソ リ ューシ ョ ンが含まれます。

• 『AXI Bridge for PCI Express Gen3 Subsystem 製品ガイ ド』 (PG194) [参照 26]

• 『DMA/Bridge Subsystem for PCI Express 製品ガイ ド』 (PG195) [参照 29]

• 『UltraScale+ Devices Integrated Block for PCI Express 製品ガイ ド』 (PG213) [参照 30]

Tandem コンフ ィギュレーシ ョ ンでは、 IP をイネーブルにする 2 段階の手法を使用して、 PCI Express 仕様で示される

コンフ ィギュレーシ ョ ン時間の要件が満たされます。 次のユース ケースでは、 この手法がサポート されています。

• Tandem PROM: フラ ッシュから 1 つの 2 段階ビッ ト ス ト リームを読み込みます。

• Tandem PCIe: フラ ッシュから 1 段階目のビッ ト ス ト リームを読み込んで、 2 段階目のビッ ト ス ト リームを PCIe

リ ンクを介して MCAP へ送信します。

• フ ィールド アップデート を使用した Tandem: Tandem PROM (UltraScale のみ) または Tandem PCIe (UltraScale ま

たは UltraScale+) 初期コンフ ィギュレーシ ョ ンの後、 PCIe リ ンクはアクティブのまま、 ユーザー デザイン全体

をアップデート します。 アップデート領域 (フロアプラン) およびデザイン構造は前もって定義されています。

Tcl スク リプ トは提供されています。

• Tandem + パーシャル リ コンフ ィギュレーシ ョ ン: これはよ り一般的な例で、 Tandem コンフ ィギュレーシ ョ ンの

後にパーシャル リ コンフ ィギュレーシ ョ ン (PR) (あらゆるサイズまたは数の PR 領域) を実行します。

• PCIe を使用したパーシャル リ コンフ ィギュレーシ ョ ン: PCIe/MCAP をパーシャル ビッ ト ス ト リームの配信パス

と して使用して、 標準コンフ ィギュレーシ ョ ンの後 PR を実行します。

Tandem とパーシャル リ コンフ ィギュレーシ ョ ンのソ リ ューシ ョ ンには、 その他の要件があ り ます。 このアプローチ

には、 HD.TANDEM_IP_PBLOCK の Pblock とデザインの HD.RECONFIGURABLE 部分が重ならないよ うにする必要が

あ り ます。 標準 PR デザインなど、 それ以外の場合、 どの数またはサイズのリ コンフ ィギュレーシ ョ ン パーティ

シ ョ ンでも定義できます。

パーシャル リコンフ ィギュレーシ ョ ン 117UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 118: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

これらの機能をイネーブルにするには、 コアをカスタマイズする際に適切なオプシ ョ ンを選択してください。

[Basic] タブで次を実行します。

1. [Mode] を [Advanced] に変更します。

2. UltraScale の場合、 [Tandem Configuration or Partial Reconfiguration] オプシ ョ ンを次のいずれかに変更します。

° [Tandem]: Tandem PROM、 Tandem PCIe、 または Tandem + パーシャル リ コンフ ィギュレーシ ョ ンの場合

° [Tandem with Field Updates]: 定義済みフ ィールド アップデートの場合

° [PR over PCIe]: Tandem コンフ ィギュレーシ ョ ンをイネーブルにせず、 パーシャル コンフ ィギュレーシ ョ ン

用に MCAP リ ンクをイネーブルにする場合

3. UltraScale+ の場合、 [Tandem Configuration or Partial Reconfiguration] オプシ ョ ンを次のいずれかに変更します。

° [Tandem PROM]: Tandem PROM または Tandem + パーシャル リ コンフ ィギュレーシ ョ ンの場合

° [Tandem PCIe]: Tandem PCIe または Tandem + パーシャル リ コンフ ィギュレーシ ョ ンの場合

° [Tandem PCIe with Field Updates]: 定義済みフ ィールド アップデートの場合のみ。 Tandem PROM では

UltraScale+ のフ ィールド アップデートはサポート されません。

° [PR over PCIe]: Tandem コンフ ィギュレーシ ョ ンをイネーブルにせず、 パーシャル コンフ ィギュレーシ ョ ン

用に MCAP リ ンクをイネーブルにする場合

X-Ref Target - Figure 8-3

ほとんどの場合、 選択する必要のある PCIe ブロ ッ クはデバイスの 下位インスタンスですが、 3 つの SLR (Super

Logic Region) を持つ SSI デバイスでは中央の SLR の 下位 PCIe インスタンスです。 次の表 8-2 は、 各デバイスでサ

ポート されているブロ ッ クを示しています。 その他の PCIe ブロ ッ クには、 専用 MCAP 機能はあ り ません。

必要な PCIe ブロ ッ ク ロケーシ ョ ン、 デザイン フロー例、 要件、 制限事項、 推奨事項などの Tandem コンフ ィギュ

レーシ ョ ンの詳細は、 UltraScale デバイスの場合は 『UltraScale Architecture Gen3 Integrated Block for PCI Express』

(PG156) [参照 14] のこのセクシ ョ ンを、 UltraScale+ デバイスの場合は 『UltraScale+ Devices Integrated Block for PCI

Express 製品ガイ ド』 (PG213) [参照 30] を参照してください。

.

X-Ref Target - Figure 8-4

図 8-4: [Basic] タブでのコアのカスタマイズ

表 8-2: UltraScale: デバイス別の PR をサポートする PCIe ブロックおよびリセッ ト ロケーシ ョ ン

デバイス パッケージ PCIe ブロックPCIe リセッ ト ロケー

シ ョ ンステータス

Kintex® UltraScale

XCKU025 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン

XCKU035 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン

XCKU040 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン

パーシャル リコンフ ィギュレーシ ョ ン 118UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 119: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

XCKU060 PCIE_3_1_X0Y0 IOB_X2Y103 プロダクシ ョ ン

XCKU085 PCIE_3_1_X0Y0 IOB_X2Y103 プロダクシ ョ ン

XCKU095 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン

XCKU115 PCIE_3_1_X0Y0 IOB_X2Y103 プロダクシ ョ ン

Virtex® UltraScale

XCVU065 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン

XCVU080 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン

XCVU095 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン

XCVU125 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン

XCVU160 PCIE_3_1_X0Y1 IOB_X1Y363 プロダクシ ョ ン

XCVU190 PCIE_3_1_X0Y2 IOB_X1Y363 プロダクシ ョ ン

XCVU440 PCIE_3_1_X0Y2 IOB_X1Y363 プロダクシ ョ ン

表 8-3: UltraScale+: デバイス別の PR をサポートする PCIe ブロック ロケーシ ョ ン

デバイス パッケージ PCIe ブロック ステータス*

*. フ ィールド アップデートのない AXI ス ト リーミ ング用。 このコアでは、 すべてのデバイスでフ ィールド アップデートがベー

タでサポート されます。 このコアの DMA バージ ョ ンでは、 VU13P、 VU9P、 VU7P、 VU3P、 KU15P、 ZU19EG デバイスがサ

ポート されます。

Kintex® UltraScale+

KU3P PCIE40E4_X0Y0 プロダクシ ョ ン

KU5P PCIE40E4_X0Y0 プロダクシ ョ ン

KU11P PCIE40E4_X1Y0 プロダクシ ョ ン

KU15P PCIE40E4_X1Y0 プロダクシ ョ ン

Virtex® UltraScale+

VU3P PCIE40E4_X1Y0 プロダクシ ョ ン

VU5P PCIE40E4_X1Y0 プロダクシ ョ ン

VU7P PCIE40E4_X1Y0 プロダクシ ョ ン

VU9P PCIE40E4_X1Y2 プロダクシ ョ ン

VU11P PCIE40E4_X0Y0 プロダクシ ョ ン

VU13P PCIE40E4_X0Y1 プロダクシ ョ ン

Zynq MPSoC

ZU4EV/EG/CC PCIE40E4_X0Y1 プロダクシ ョ ン

ZU5EV/EG/CC PCIE40E4_X0Y1 プロダクシ ョ ン

ZU7EV/EG/CC PCIE40E4_X0Y1 プロダクシ ョ ン

ZU11EG PCIE40E4_X1Y0 プロダクシ ョ ン

ZU17EG PCIE40E4_X1Y0 プロダクシ ョ ン

ZU19EG PCIE40E4_X1Y0 プロダクシ ョ ン

表 8-2: UltraScale: デバイス別の PR をサポートする PCIe ブロックおよびリセッ ト ロケーシ ョ ン (続き)

デバイス パッケージ PCIe ブロックPCIe リセッ ト ロケー

シ ョ ンステータス

パーシャル リコンフ ィギュレーシ ョ ン 119UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 120: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

注記: この表にリ ス ト されていないデバイスのプログラマブル ロジッ ク部分には PCIe サイ トはあ り ません。

UltraScale とは異なり、 UltraScale+ には PCIe リセッ ト ピンへの専用接続はあ り ませんが、 バンク 65 のピンを使用す

るこ とを推奨します。

MCAP は、 32 ビッ ト データパスで 200 MHz で動作できます。通常、 ビッ ト ス ト リームはホス ト PC から PCI Express

コンフ ィギュレーシ ョ ン パケッ ト を介して MCAP に読み込まれます。 これらのシステムでは、 ホス ト PC およびホ

ス ト PC ソフ ト ウェアが MCAP パフォーマンスおよびビッ ト ス ト リームのスループッ ト を制限する主な要因です。

特定のホス ト PC およびホス ト PC ソフ ト ウェアの PCIe パフォーマンスはシステムによって大き く異なるので、全体

的な MCAP パフォーマンス スループッ ト も大き く異なる可能性があ り ます。

詳細およびサンプル ド ラ イバーは、 アンサー レコードの 「UltraScale デバイスにおける Tandem PCIe およびパーシャ

ル リ コンフ ィギュレーシ ョ ンを使用した PCI Express リ ンクでのビート ス ト リームの読み込み」 (ザイ リ ンクス アン

サー 64761) [参照 5] を参照してください。

内部コンフ ィギュレーシ ョ ン ポートに配布するための BIN ファイルのフォーマッ ト

パーシャル BIT ファ イルの基本フォーマッ トはフル BIT ファ イルのものと同じですが、 パーシャル BIT ファ イルは

ターゲッ ト領域のコンフ ィギュレーシ ョ ン フレーム セッ トに縮小されており、 アクティブ デバイスのイベン ト

セッ トに制限されています。 パーシャル BIT ファ イルでは次のこ とが可能です。

• JTAG やスレーブ コンフ ィギュレーシ ョ ン ポート などの外部インターフェイスに配布可能。

• 内部コンフ ィギュレーシ ョ ン ポート ICAP (7 シ リーズまたは UltraScale デバイス)、 PCAP (Zynq デバイスのみ)

または MCAP (UltraScale デバイスのみ) に配布するため BIN ファ イルにリ フォーマッ ト可能。

BIN ファ イルは write_cfgmem ユーティ リ ティ を使用して生成します。 次の 3 つの重要なオプシ ョ ンがあ り ます。

• このファ イル タイプを生成するには、 -format を BIN に設定します。

• SelectMap 幅を選択するには -interface を使用し、 PCAP には SMAPx32、 UltraScale ICAP には MCAP を使用

します。

° SMAPx16 および SMAPx8 (デフォルト ) は、 7 シ リーズ ICAP にも使用できます。

° SMAPx8 は 7 シ リーズの暗号化されたパーシャル ビッ ト ス ト リームに必要です。

• PCAP または MCAP をターゲッ トにするには、 -disablebitswap を使用する必要があ り ます。

ICAP (7 シリーズ デバイス)

write_cfgmem -format BIN -interface SMAPx8 -loadbit "up 0x0 <partial_bitfile>”

ICAP (UltraScale デバイス)

write_cfgmem -format BIN -interface SMAPx32 -loadbit "up 0x0 <partial_bitfile>”

パーシャル リコンフ ィギュレーシ ョ ン 120UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 121: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

PCAP (Zynq-7000 SoC デバイス) または MCAP (UltraScale デバイスごとに 1 つの PCIe ブロックを使用する場合)

write_cfgmem -format BIN -interface SMAPx32 -disablebitswap -loadbit "up 0x0 <partial_bitfile>”

UltraScale デバイスでの BIT ファイルのサマリ

このセクシ ョ ンは UltraScale デバイスにのみ該当し、 7 シ リーズ、 UltraScale+、 Zynq、 Zynq MPSoC デバイスは対象

外です。 グローバル信号 (GSR) の適用を詳細に制御でき、 新しいエレ メン ト タイプを リ コンフ ィギュレーシ ョ ンで

きるので、 新しいコンフ ィギュレーシ ョ ン プロセスが必要です。 新しいリ コンフ ィギャラブル モジュールのパー

シャル ビッ ト ス ト リームを読み込む前に、 既存のリ コンフ ィギャラブル モジュールをク リ アする必要があ り ます。

ク リ ア ビッ ト ス ト リームは、 リ コンフ ィギュレーシ ョ ンする領域のグローバル信号マスクを確立するこ とによ り、

リ コンフ ィギャラブル パーティシ ョ ンの次のパーシャル ビッ ト ス ト リームを配布できるよ うにします。 正確には既

存のモジュールが削除されるわけではあ り ませんが、 そ う考える と理解しやすいです。

リ コンフ ィギャラブル パーティシ ョ ンを含むデザイン コンフ ィギュレーシ ョ ンで write_bitstream コマンドを

実行する と、 RP ごとにク リ ア BIT ファ イルが作成されます。 たとえば、 2 つのリ コンフ ィギャラブル パーティシ ョ

ン (RP1 および RP2) にそれぞれ 2 つずつリ コンフ ィギャラブル モジュール (RP1 用に A1 と B1、 RP2 用に A2 と B2)

があるデザインを考えてみます。 2 つのコンフ ィギュレーシ ョ ン (configA および configB) を配置配線まで実行し、

pr_verify での検証も完了しており、 問題は検出されていません。 ビッ ト ス ト リームを生成する と、 各コンフ ィ

ギュレーシ ョ ンに対して 5 つのビッ ト ス ト リームが生成されます。 configA に対しては、 次のよ うなビッ ト ス ト リー

ム ファ イルが生成されます。

• configA.bit: 電源投入時にデバイスのコンフ ィギュレーシ ョ ンに使用される完全なデザイン ビッ ト ス ト リー

ム。 スタティ ッ ク デザインとファンクシ ョ ン A1 および A2 が含まれます。

• configA_RP1_A1_partial.bit: ファンクシ ョ ン A1 用の BIT ファ イル。 この リ コンフ ィギャラブル パー

ティシ ョ ンから RM がク リ アされた後に読み込まれます。

• configA_RP1_A1_partial_clear.bit: ファンクシ ョ ン A1 用のク リ ア BIT ファ イル。 ファンクシ ョ ン A1

の後、 RP1 にほかのパーシャル BIT ファ イルを読み込む前にこのファイルを読み込む必要があ り ます。

• configA_RP2_A2_partial.bit: ファンクシ ョ ン A2 用の BIT ファ イル。 この リ コンフ ィギャラブル パー

ティシ ョ ンから RM がク リ アされた後に読み込まれます。

• configA_RP2_A2_partial_clear.bit: ファンクシ ョ ン A2 用のク リ ア BIT ファ イル。 ファンクシ ョ ン A2

の後、 RP2 にほかのパーシャル BIT ファ イルを読み込む前にこのファイルを読み込む必要があ り ます。

同様に、 configB に対しても 5 つのビッ ト ス ト リームが生成されます。

• configB.bit: 電源投入時にデバイスのコンフ ィギュレーシ ョ ンに使用される完全なデザイン ビッ ト ス ト リー

ム。 スタティ ッ ク デザインとファンクシ ョ ン B1 および B2 が含まれます。

• configB_RP1_B1_partial.bit: ファンクシ ョ ン B1 用の BIT ファ イル。 この リ コンフ ィギャラブル パー

ティシ ョ ンから RM がク リ アされた後に読み込まれます。

• configB_RP1_B1_partial_clear.bit: ファンクシ ョ ン B1 用のク リ ア BIT ファ イル。 ファンクシ ョ ン B1

の後、 RP1 にほかのパーシャル BIT ファ イルを読み込む前にこのファイルを読み込む必要があ り ます。

• configB_RP2_B2_partial.bit: ファンクシ ョ ン B2 用の BIT ファ イル。 この リ コンフ ィギャラブル パー

ティシ ョ ンから RM がク リ アされた後に読み込まれます。

パーシャル リコンフ ィギュレーシ ョ ン 121UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 122: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

• configB_RP2_B2_partial_clear.bit: ファンクシ ョ ン B2 用のク リ ア BIT ファ イル。 ファンクシ ョ ン B2

の後、 RP2 にほかのパーシャル BIT ファ イルを読み込む前にこのファイルを読み込む必要があ り ます。

リ コンフ ィギュレーシ ョ ンのシーケンスは、 まず現在のリ コンフ ィギャラブル モジュールにク リ ア BIT ファ イルを

読み込み、 その直後に新しいリ コンフ ィギャラブル モジュールを読み込みます。 たとえば、 リ コンフ ィギャラブル

パーティシ ョ ン RP1 をファンクシ ョ ン A1 からファンクシ ョ ン B1 に変更するには、 まずク リ ア BIT ファ イル

configA_RP1_A1_partial_clear.bit を読み込み、 その後 configB_RP1_B1_partial.bit を読み込みま

す。 初のビッ ト ス ト リームはマスクを開いて領域を準備し、 2 番目のビッ ト ス ト リームは新しいファンクシ ョ ンを

読み込んでその領域のみを初期化し、 マスクを閉じます。

ク リ ア BIT ファ イルを読み込まないと、 初期化ルーチン (GSR) で何も実行されません。 異なる リ コンフ ィギャラブ

ル パーティシ ョ ンのク リ ア BIT ファ イルが読み込まれる と、 リ コンフ ィギュレーシ ョ ンされたパーティシ ョ ンでは

なくその RP が初期化されます。 正しい RP に間違ったク リ ア BIT ファ イルが使用される と、 次のパーシャル BIT

ファ イルが読み込まれるまで、 現在の RM またはスタティ ッ ク デザインが変更される可能性があ り ます。

FPGA をコンフ ィギュレーショ ンするシステム デザイン

パーシャル BIT ファ イルは、 フル BIT ファ イルと同様に FPGA にダウンロードできます。 外部マイ クロプロセッサ

によ り、 どのパーシャル BIT ファ イルをダウンロードすべきか、 その BIT ファ イルが外部メモ リ空間のどこにある

かが判断され、 パーシャル BIT ファ イルが JTAG、 Select MAP、 シ リ アル インターフェイスなどの標準 FPGA コン

フ ィギュレーシ ョ ン ポートに送信されます。 FPGA は、 パーシャル BIT ファ イルを受信している という特別な指示

なしで、 パーシャル BIT ファ イルを正し く処理します。

フル BIT ファ イルをダウンロードする前には、通常 FPGA コンフ ィギュレーシ ョ ン インターフェイスの INIT または

PROG 信号をアサート します。 パーシャル BIT ファ イルをダウンロードする前に、 これを実行しないでください。

INIT または PROG 信号をアサートする と、 パーシャル BIT ファ イルでなく フル BIT ファ イルが送信されます。

動作中のデザインにパーシャル BIT ファ イルが送信されるこ とを示す (イネーブル信号を保持、 クロ ッ クをディ ス

エーブルにするなど) には、 専用 FPGA コンフ ィギュレーシ ョ ン ピンを使用するのではなく、 デザイン内で実行する

必要があ り ます。 図 8-5 に、 マイ クロプロセッサを介したコンフ ィギュレーシ ョ ン プロセスを示します。

パーシャル リコンフ ィギュレーシ ョ ン 122UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 123: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

パーシャル リ コンフ ィギュレーシ ョ ンでは、 標準コンフ ィギュレーシ ョ ン インターフェイスに加え、 内部コンフ ィ

ギュレーシ ョ ン アクセス ポート (ICAP) によるコンフ ィギュレーシ ョ ンがサポート されています。 ICAP プロ ト コル

は SelectMAP と同じで、 ターゲッ ト デバイスのコンフ ィギュレーシ ョ ン ユーザー ガイ ドに説明されています。

FPGA デザインの HDL 記述に ICAP ライブラ リ プリ ミ ティブをインスタンシエート し、 パーシャル BIT ファ イルを

コンフ ィギュレーシ ョ ン ポートに送信する前に解析および制御できます。 パーシャル BIT ファ イルは、 汎用 I/O ま

たはギガビッ ト ト ランシーバーを介して FPGA にダウンロード し、 その後 FPGA プログラマブル ロジッ クの ICAP

に転送できます。

PR ポート とフォーマッ トの規則:

• 暗号化されたパーシャル ビッ ト ス ト リームは、 初期コンフ ィギュレーシ ョ ンも暗号化されている場合にのみ、

どのポートにも送信できます。 すべてのビッ ト ス ト リームに同じキーを使用する必要があ り ます。

• デバイスの初期ビッ ト ス ト リームが暗号化されている場合、 暗号化されていないパーシャル ビッ ト ス ト リーム

は ICAP にのみ送信できます。

• パーシャル ビッ ト ス ト リームの認証は、 Virtex および Kintex デバイスではサポート されておらず、 Zynq デバイ

スでのみサポート されます。

• 暗号化 7 シ リーズ BIT ファ イルのパーシャル リ コンフ ィギュレーシ ョ ンでは、 8 ビッ ト バスのみの ICAP を使

用する必要があ り ます。

• ビッ ト ス ト リーム リードバッ ク セキュ リティがレベル 2 に設定されていなければ、 外部コンフ ィギュレーシ ョ

ン ポート を介した リ コンフ ィギュレーシ ョ ンが可能です。

X-Ref Target - Figure 8-5

図 8-5: マイクロプロセッサを介したコンフ ィギュレーシ ョ ン

X12033

Self-reconfiguringFPGA

ICAP uP

uP

RP A

JTAGport

RP A

FPGA

fullconfiguration

RM A1config.

RM A2config.

RM A3config.

Off-chip memory or System ACE

パーシャル リコンフ ィギュレーシ ョ ン 123UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 124: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

パーシャル BIT ファイルの整合性

パーシャル BIT ファ イルのエラー検出と回復には、 完全な BIT ファ イルを読み込むのと比較して、 独自の要件があ

り ます。 フル BIT ファ イルが FPGA に読み込まれる と きにエラーが検出される と、 FPGA はユーザー モードになり

ません。 エラーは破損したデザインがコンフ ィギュレーシ ョ ン メモ リに読み込まれた後に検出され、 対応する信号

がアサート されてエラー状態が示されます。 FPGA はユーザー モードにならないので、 破損したデザインがアク

ティブになるこ とはあ り ません。 コンフ ィギュレーシ ョ ン エラーから回復するためのシステムの動作は、 異なる

BIT ファ イルをダウンロードするなど、 ユーザーが決める必要があ り ます。

パーシャル BIT ファ イルをダウンロードをする場合、 エラーの検出と回復にこの方法は使用できません。 パーシャ

ル BIT ファ イルを読み込むと きには、 FPGA は既にユーザー モードで動作しています。 コンフ ィギュレーシ ョ ン回

路では BIT ファ イルを読み込んだ後にのみエラー検出がサポート されるので、 破損したパーシャル BIT ファ イルが

アクティブになってしまい、 その状態で動作を続ける と FPGA が破損する可能性があ り ます。

パーシャル リ コンフ ィギュレーシ ョ ン中に CRC エラーが検出される と、 FPGA の INIT_B ピンがアサート されます

(INIT_B が Low になる と CRC エラー )。 UltraScale デバイスでは、 これが ICAP の PRERROR 出力ピンに反映されま

す。 初期コンフ ィギュレーシ ョ ン中にシステムで INIT_B を使用して CRC エラーを監視する場合、 パーシャル リ コ

ンフ ィギュレーシ ョ ン中の CRC エラーでも同じ応答が発生する可能性があ り ます。 FPGA の内部から CRC エラーを

検出するには、 CRC ステータスを ICAP ブロ ッ クを介して監視できます。 ステータス レジスタ (STAT) で

CRC_ERROR フラグ (ビッ ト 0) がアサート され、 パーシャル BIT ファ イルに CRC エラーがあるこ とが示されます。

パーシャル BIT ファ イルのエラーでは、 データ エラーとアドレス エラーを考慮する必要があ り ます。 パーシャル

BIT ファ イルには、 基本的にアドレス情報とデータ情報が含まれます。 スタティ ッ ク配線がリ コンフ ィギャラブル

領域を通過するこ とができるので、 まれではあ り ますが、 どちらのエラーもスタティ ッ ク デザインを破損する可能

性があ り ます。 完全に安全に回復する唯一の方法は完全な BIT ファ イルをダウンロードするこ とで、 そ うする とス

タティ ッ ク ロジッ クのステートが確実なものになり ますが、 FPGA 全体を リセッ トする必要があ り ます。

多くのシステムでは、 FPGA 全体を リセッ トするこ とは重要ではないか、 パーシャル BIT ファ イルがローカルに格納

されているので、 複雑な回復メカニズムは必要あ り ません。 パーシャル BIT ファ イルがローカルに格納されている

場合、 BIT ファ イルが破損する可能性はほとんどあ り ません。 無線リ ンクを介してパーシャル BIT ファ イルを送信

するなど BIT ファ イルが破損する可能性のあるシステムでは、 問題を回避するため専用のシ リ コン機能を使用する

必要があ り ます。

7 シ リーズ FPGA、 UltraScale FPGA、および Zynq-7000 SoC のコンフ ィギュレーシ ョ ン エンジンにはフレームごとの

CRC チェッ クを実行する機能があ り、 CRC チェッ クでエラーが検出された場合はフレームはコンフ ィギュレーシ ョ

ン メモ リに読み込まれません。 エラーが検出される と INIT_B ピンが Low になり、 パーシャル BIT ファ イルを再試

行するか、 ゴールデン パーシャル BIT ファ イルを使用するかなど、 次の処理を決定できます。 部分的に読み込まれ

た リ コンフ ィギュレーシ ョ ン領域には有効なプログラムはあ り ませんが、 システムがエラーから回復する間、 CRC

チェッ クによ りデバイスの残りの部分 (スタティ ッ ク領域およびほかのリ コンフ ィギャラブル モジュール) は動作を

続けます。

これらのデバイスでこの機能を有効にするには、 write_bitstream を実行する前に PerFrameCRC プロパティを

設定します。 このプロパティのデフォルト値は No で、 Yes に設定する と追加の CRC チェッ クが挿入されます。 これ

によ り、 圧縮されていない BIT ファ イルのサイズが 4 ~ 5% 増加します。 この機能は、 ビッ ト ス ト リーム圧縮とは互

換性があ り ません。 このプロパティを設定するのに特別に考慮すべき点はほかにあ り ませんが、 INIT_B ピンによ り

エラーが示された場合の処理を選択するため、 パーシャル リ コンフ ィギュレーシ ョ ン コン ト ローラー ソ リ ューシ ョ

ンを設計する必要があ り ます。

パーシャル リコンフ ィギュレーシ ョ ン 124UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 125: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

PerFrameCRC プロパティを設定する構文は、 次のとおりです。

set_property bitstream.general.perFrameCRC yes [current_design]

フレームごとの CRC チェッ クの使用/不使用にかかわらず、 パーシャル BIT ファ イルが読み込まれる と、 デバイスの

コンフ ィギュレーシ ョ ン全体が変わり ます。 SEU を軽減するための POST_CRC 機能がイネーブルになっている場

合、 パーシャル ビッ ト ス ト リームが読み込まれ、 コンフ ィギュレーシ ョ ン インターフェイスが非同期化された後、

SEU 軽減エンジンによ りエンベデッ ド SEU CRC 値が自動的に再算出されます。CRC 再キャ リブレーシ ョ ンが完了す

る と、 FRAME_ECCE2 の FRAME_VALID 出力がト グルし、 SEU 検出が再開したこ とが示されます。

コンフ ィギュレーシ ョ ン フレーム

ザイ リ ンクス FPGA および SoC デバイスのすべてのユーザー プログラマブル機能は、 電源投入時にコンフ ィギュ

レーシ ョ ンする必要のある揮発性メモ リ セルによ り制御されます。 これらのメモ リ セルは、 ま とめて 「コンフ ィ

ギュレーシ ョ ン メモ リ 」 と呼ばれます。 コンフ ィギュレーシ ョ ン メモ リは、 LUT 論理式、 信号配線、 IOB 電圧規

格、 およびデザインのすべての特性を定義します。

ザイ リ ンクス FPGA および SoC アーキテクチャでは、 コンフ ィギュレーシ ョ ン メモ リはデバイス周囲にフレームと

してタイル状に並べられています。 これらのフレームはデバイス コンフ ィギュレーシ ョ ン メモ リ空間のアドレス指

定可能な 小セグメン ト なので、すべての操作をコンフ ィギュレーシ ョ ン フレーム全体に実行する必要があ り ます。

リ コンフ ィギャラブル フレームは、 これらのコンフ ィギュレーシ ョ ン フレーム上に構築され、 パーシャル リ コン

フ ィギュレーシ ョ ンを実行する際の 小の構築ブロッ クです。

• 7 シ リーズ FPGA の基本領域:

° CLB: 高さ 50 x 幅 1

° DSP48: 高さ 10 x 幅 1

° ブロ ッ ク RAM: 高さ 10 x 幅 1

• UltraScale および UltraScale+ FPGA の基本領域:

° CLB: 高さ 60 x 幅 1

° DSP48: 高さ 24 x 幅 1

° ブロ ッ ク RAM: 高さ 12 x 幅 1

° I/O およびクロ ッキング: 52 個の I/O (1 つのバンク ) と、 関連の XiPhy、 MMCM、 および PLL リ ソース

° ギガビッ ト ト ランシーバー : 高さ 4 (1 つのクワッ ド と関連のクロ ッ ク リ ソース)

パーシャル リコンフ ィギュレーシ ョ ン 125UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 126: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

コンフ ィギュレーシ ョ ン時間

コンフ ィギュレーシ ョ ンの速度は、 パーシャル BIT ファ イルのサイズおよびコンフ ィギュレーシ ョ ン ポートの帯域

幅に直接関係しています。 表 8-4 に、 7 シ リーズの異なるコンフ ィギュレーシ ョ ン ポートの 大帯域幅を示します。

ビッ ト ス ト リームの正確な長さは、 write_bitstream コマンドで -raw_bitfile オプシ ョ ンを使用して作成され

た .rbt ファ イルに含まれます。 この数値と帯域幅から、 コンフ ィギュレーシ ョ ンの総時間を算出します。 次に、

ロー ビッ ト ファ イルのヘッダーの例を示します。

Xilinx ASCII BitstreamCreated by Bitstream 2015.1Design name: led_shift_count;UserID=0XFFFFFFFFArchitecture:kintex7Part: 7k325tffg900Date: Mon Mar 16 16:42:05 2015Bits: 121107211111111111111111111111111111111

表 8-4: 7 シリーズ アーキテクチャのコンフ ィギュレーシ ョ ン ポートの 大帯域幅

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

大クロック レート データ幅 大帯域幅

ICAP 100 MHz 32 ビッ ト 3.2 Gb/s

SelectMAP 100 MHz 32 ビッ ト 3.2 Gb/s

シ リ アル モード 100 MHz 1 ビッ ト 100 Mb/s

JTAG 66 MHz 1 ビッ ト 66 Mb/s

パーシャル リコンフ ィギュレーシ ョ ン 126UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 127: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

コンフ ィギュレーシ ョ ン デバッグ

ICAP インターフェイスは、 ビッ ト ス ト リームを配信するためのポート と して使用される場合に、 コンフ ィギュレー

シ ョ ン プロセスを監視するために使用できます。 ICAP ブロッ クの O ポートは 32 ビッ ト バスですが、 下位バイ ト

のみが使用されます。 次の表に、 下位バイ トの各ビッ トの説明を示します。

このバイ トの上位 4 ビッ トがステータスを示します。 これらのステータス ビッ トは、 同期ワードが受信されたか、

コンフ ィギュレーシ ョ ン エラーが発生したかを示します。 次の表に、 これらの状態の値を示します。

表 8-5: ICAP の O ポート ビッ ト

ICAP の O ポート ビッ ト ステータス ビッ ト 説明

O[7] CFGERR_B コンフ ィギュレーシ ョ ン エラー (アクティブ Low)

0: コンフ ィギュレーシ ョ ン エラーが発生。

1: コンフ ィギュレーシ ョ ン エラーなし。

O[6] DALIGN 同期ワードの受信 (アクティブ High)

0: 同期ワードは受信されていない。

1: インターフェイス ロジッ クから同期ワードを受信。

O[5] RIP リードバッ ク (アクティブ High)

0: リードバッ クは実行されていない。

1: リードバッ クを実行中。

O[4] IN_ABORT_B アボート (アクティブ Low)

0: アボート を実行中。

1: アボートは実行されていない。

O[3:0] 1 予約済み

表 8-6: ICAP の同期ビッ ト

O[7:0] 同期ワードの有無コンフ ィギュレーシ ョ ン

エラーの有無

9F なし なし

DF あ り なし

5F あ り あ り

1F なし あ り

パーシャル リコンフ ィギュレーシ ョ ン 127UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 128: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

図 8-6 に、 完了したフル コンフ ィギュレーシ ョ ン、 その後に CRC エラーを含むパーシャル リ コンフ ィギュレーシ ョ

ン、 後に正常に完了したパーシャル リ コンフ ィギュレーシ ョ ンを示します。 上記の表と この後の説明から、 どの

よ うに ICAP の O ポート を使用してコンフ ィギュレーシ ョ ン プロセスを監視するかがわかり ます。 CRC エラーが発

生したら、 これらの信号をコンフ ィギュレーシ ョ ン ステート マシンで使用してエラーから回復できます。 これらの

信号は Vivado ロジッ ク解析でデバッグ用にコンフ ィギュレーシ ョ ン エラーをキャプチャするのにも使用できます。

この情報を使用して、 Vivado ロジッ ク解析をパーシャル リ コンフ ィギュレーシ ョ ンのさまざまなポイン ト をキャプ

チャするのに使用できます。

Vivado ロジッ ク解析画面のマーカーは、 次をものを示します。

• 1st_done

初期フル ビッ ト ス ト リーム コンフ ィギュレーシ ョ ンの完了を示します。DONE ピン (図の波形の done_pad) が

High になり ます。

• cfgerr

パーシャル ビッ ト ス ト リームの読み込み中に CRC エラーが検出されたこ とを示します。 ステータスは O[31:0] (

図の波形の icap_o_top[31:0]) で確認できます。

° Icap_o_top[31:0] は 0x9F から開始します。

° SYNC ワードが受信される と、 Icap_o_top[31:0] が 0xDF になり ます。

° CRC エラーが受信される と、 Icap_o_top[31:0] が 1 サイクル間 0x5F になり、 その後 0x1F になり ます。

° INIT_B が Low になり ます (図の波形の init_pad)。

X-Ref Target - Figure 8-6

図 8-6: パーシャル リコンフ ィギュレーシ ョ ン用の Vivado ロジック解析の画面

パーシャル リコンフ ィギュレーシ ョ ン 128UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 129: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

• RCRC

パーシャル ビッ ト ス ト リームが再び読み込まれたこ とを示します。 RCRC コマンドは cfgerr ステータスを リ

セッ ト し、 INIT_B ピンを High にします (図の波形の init_pad)。

° SYNC ワードが受信される と Icap_o_top[31:0] は 0x1F から 0x5F に変わり ます。

° RCRC コマンドが受信される と Icap_o_top[31:0] は 0x5F から 0xDF に変わり ます。

• pr_done

パーシャル ビッ ト ス ト リームが正し く完了したこ とを示します。

° DESYNC コマンドが受信され、 コンフ ィギュレーシ ョ ン エラーが検出されなかった場合、

Icap_o_top[31:0] は 0xDF から 0x9F に変わり ます。

上記の手法に加え、 UltraScale アーキテクチャには ICAP 上にパーシャル リ コンフ ィギュレーシ ョ ンで使用可能な 2

つの専用ポートがあ り ます。

• PRDONE ピンは、 外部 DONE ピンのステート を反映するよ う設計されていますが、 特に SSI デバイスでは動作

が一貫していないので、 これらのデバイスでは使用しないでください。 パーシャル リ コンフ ィギュレーシ ョ ン

の完了を検知するには、 マスター SLR にある STARTUP ブロ ッ クの EOS ピンを使用してください。

• PRERROR ピン: 外部 INIT_B ピンのステート を反映します。 BIT ファ イルの 後の標準完全 CRC 値またはフ

レームごとの CRC 値で CRC エラーが発生する と Low になり ます。

Vivado デバッグ コアの使用

Vivado デバッグ コア (ILA、 VIO など) は、 リ コンフ ィギャラブル モジュール内も含め、 パーシャル リ コンフ ィギュ

レーシ ョ ン デザインのどこにでも配置できます。 デザイン全体の通信のために中央デバッグ ハブにこれらのコアを

接続するには、 特定の設計手法が必要です。

スタティ ッ ク領域の中央デバッグ ハブ間の接続は自動的に設定でき、 リ コンフ ィギャラブル パーティシ ョ ンのポー

ト名に特定の命名規則を使用するこ とによ り ト リガーできます。 これらの 12 本のピンは必須で、 命名規則に従って

いればハブが推論されます。 次に、 Verilog および VHDL の例を示します。

スタティ ッ ク デザインの Verilog インスタンシエーシ ョ ン:

my_count counter_inst (.clk(my_clk),.dout(dout),.S_BSCAN_drck(),.S_BSCAN_shift(),.S_BSCAN_tdi(),.S_BSCAN_update(),.S_BSCAN_sel(),.S_BSCAN_tdo(),.S_BSCAN_tms(),.S_BSCAN_tck(),.S_BSCAN_runtest(),.S_BSCAN_reset(),.S_BSCAN_capture(),.S_BSCAN_bscanid_en()

);

パーシャル リコンフ ィギュレーシ ョ ン 129UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 130: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

スタティ ッ ク デザインの VHDL コンポーネン ト宣言およびインスタンシエーシ ョ ン:

component my_count isPort ( clk : in STD_LOGIC;dout : out STD_LOGIC;S_BSCAN_drck: IN std_logic := '0';S_BSCAN_shift: IN std_logic := '0';S_BSCAN_tdi: IN std_logic := '0';S_BSCAN_update: IN std_logic := '0';S_BSCAN_sel: IN std_logic := '0'; S_BSCAN_tdo: OUT std_logic;S_BSCAN_tms: IN std_logic := '0';S_BSCAN_tck: IN std_logic := '0';S_BSCAN_runtest: IN std_logic := '0';S_BSCAN_reset: IN std_logic := '0';S_BSCAN_capture: IN std_logic := '0';S_BSCAN_bscanid_en: IN std_logic := '0'

);end component;…counter_inst: my_countport map (clk => my_clk,dout => dout,S_BSCAN_drck => open, S_BSCAN_shift => open, S_BSCAN_tdi => open, S_BSCAN_update => open, S_BSCAN_sel => open, S_BSCAN_tdo => open, S_BSCAN_tms => open, S_BSCAN_tck => open, S_BSCAN_runtest => open, S_BSCAN_reset => open, S_BSCAN_capture => open, S_BSCAN_bscanid_en => open

);

注記: open キーワードを使用するには、 これらの入力ポートで初期値を受信する必要があ り、 初期値は 0 である必

要があ り ます。 1 に接続されているポートは、 ローカル デバッグ ハブには接続されません。

リ コンフ ィギャラブル モジュールの 上位 RTL 内では、 これらの 12 本のポートは未接続のままにします。 合成時

に、 デバッグ ハブはスタティ ッ ク領域に 1 つ、 各リ コンフ ィギャラブル モジュールに 1 つずつ、 ブラ ッ ク ボッ クス

と して挿入されます。 これらの挿入された IP は、 opt_design 中に展開されます。 これは、 RM (グレー ボッ クス

RM を含む) 内にデバッグ コアがない場合でも、 各 RM に対して実行されます。

複数の BSCAN インスタンスに接続する必要がある場合など、 これらのポートに命名規則に従った名前を使用しない

場合、 属性を使用してデバッグ ハブを挿入できます。 デバッグ ポート を割り当てるには、 次の構文でポート名以外

のものを変更しないでください。 これらの属性は、 すべての RM 上位ソース ファ イルで使用されます。

パーシャル リコンフ ィギュレーシ ョ ン 130UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 131: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

RM 上位の Verilog 属性:

(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN drck" *) (* DEBUG="true" *) input my_drck; (* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN shift" *) (* DEBUG="true" *) input my_shift; (* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN tdi" *) (* DEBUG="true" *) input my_tdi; (* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN update" *) (* DEBUG="true" *) input my_update;

(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN sel" *) (* DEBUG="true" *) input my_sel;

(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN tdo" *) (* DEBUG="true" *) output my_tdo;

(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN tms" *) (* DEBUG="true" *) input my_tms;

(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN tck" *) (* DEBUG="true" *) input my_tck;

(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN runtest" *) (* DEBUG="true" *) input my_runtest; (* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN reset" *) (* DEBUG="true" *) input my_reset; (* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN capture" *) (* DEBUG="true" *) input my_capture;

(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN bscanid_en" *) (* DEBUG="true" *) input my_bscanid_en;

パーシャル リコンフ ィギュレーシ ョ ン 131UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 132: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

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

RM 上位の VHDL 属性:

attribute X_INTERFACE_INFO : string; attribute DEBUG : string; attribute X_INTERFACE_INFO of my_drck: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN drck"; attribute DEBUG of my_drck: signal is "true"; attribute X_INTERFACE_INFO of my_shift: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN shift"; attribute DEBUG of my_shift: signal is "true"; attribute X_INTERFACE_INFO of my_tdi: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN tdi"; attribute DEBUG of my_tdi: signal is "true"; attribute X_INTERFACE_INFO of my_update: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN update"; attribute DEBUG of my_update: signal is "true"; attribute X_INTERFACE_INFO of my_sel: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN sel"; attribute DEBUG of my_sel: signal is "true"; attribute X_INTERFACE_INFO of my_tdo: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN tdo"; attribute DEBUG of my_tdo: signal is "true"; attribute X_INTERFACE_INFO of my_tms: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN tms"; attribute DEBUG of my_tms: signal is "true"; attribute X_INTERFACE_INFO of my_tck: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN tck"; attribute DEBUG of my_tck: signal is "true"; attribute X_INTERFACE_INFO of my_runtest: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN runtest";

attribute DEBUG of my_runtest: signal is "true"; attribute X_INTERFACE_INFO of my_reset: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN reset"; attribute DEBUG of my_reset: signal is "true"; attribute X_INTERFACE_INFO of my_capture: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN capture";

attribute DEBUG of my_capture: signal is "true"; attribute X_INTERFACE_INFO of my_bscanid_en: signal is "xilinx.com:interface:bscan:1.0 S_BSCAN bscanid_en"; attribute DEBUG of my_bscanid_en: signal is "true";

このソ リ ューシ ョ ンの現時点での 1 つの制限は、 リ コンフ ィギャラブル モジュール内のすべてのデバッグ コアをイ

ンスタンシエートする必要がある という こ とです。 MARK_DEBUG 挿入フローはサポート されていません。

このコアの挿入例および Vivado ハードウェア マネージャー内の機能については、 『Vivado Design Suite チュート リ ア

ル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947) [参照 1] のこのセクシ ョ ンを参照してください。

パーシャル リコンフ ィギュレーシ ョ ン 132UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 133: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 9 章

既知の問題および制限

既知の問題

現在の Vivado® Design Suite リ リースでパーシャル リ コンフ ィギュレーシ ョ ンを使用する場合、 直面する可能性のあ

る既知の問題がいくつかあ り ます。 これらの問題が発生した場合、 またはほかの問題が発生した場合は、 ザイ リ ン

クス サポートに連絡し、 問題が発生したサンプル デザインをご送付ください。 これらのテス ト ケースは、 ソ リ ュー

シ ョ ンを向上するために活用させていただきます。

致命的なエラー、 内部エラー、 不完全な配線 (部分的なアンテナ)、 配置配線、 pr_verify、 および

write_bitstream を阻害するその他の規則違反が発生した場合は、 ザイ リ ンクスにご連絡ください。 適切に解析

し、 修正を適用する上で、 エラーが発生したデザインを含めていただく こ とが重要となり ます。

• 7 シ リーズ SSI デバイス (7V2000T、 7VX1140T) の初回コンフ ィギュレーシ ョ ンを SPI インターフェイスを介し

て実行する場合は、 パーシャル ビッ ト ス ト リームをマスター (またはその他の) ICAP に送信するこ とはできま

せん。 JTAG などの外部ポートに送信する必要があ り ます。 初期コンフ ィギュレーシ ョ ンをほかのコンフ ィギュ

レーシ ョ ン ポート を介して実行した場合は、 マスター ICAP をパーシャル ビッ ト ス ト リームの配布ポート と し

て使用できます。 回避策については、 ザイ リ ンクス サポートにご連絡ください。

• 1 つのリ コンフ ィギャラブル モジュールの複数の出力を同じソースで駆動しないでください。 RM の各出力に

は、 それぞれド ライバーが必要です。

• UltraScale または UltraScale+ デバイスのエンジニア リ ング シ リ コン (ES) は、 公式にはパーシャル リ コンフ ィ

ギュレーシ ョ ンをサポート していません。 ES デバイスでの PR 機能の詳細は、 ザイ リ ンクス サポート までご連

絡ください。

パーシャル リコンフ ィギュレーシ ョ ン 133UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 134: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

第 9 章: 既知の問題および制限

既知の制限

現在のリ リースではまだ開発されていない、 またはサポート されていない機能があ り ます。 これらの機能は、 今後

のリ リースで追加される可能性があ り ます。 その一部を次に示します。

• Zynq UltraScale+ MPSoC Xilfpga ライブラ リでは、 パーシャル BIT ファイルの配布はまだサポート されていませ

ん。 ユーザーが独自のソフ ト ウェア管理ソ リ ューシ ョ ンを記述する必要があり ます。 この制限は、 今後のリ リー

スで削除される予定です。 詳細は、 Xilfpga Wiki ページ http://www.wiki.xilinx.com/xilfpga を参照してください。

• Pblock の範囲を選択して リ コンフ ィギャラブル パーティシ ョ ンのサイズおよび形状を定義する際、 7 シ リーズ

または Zynq-7000 デバイスの場合は、 CLOCKREGION リ ソース タイプを使用しないでください。 Pblock の範囲

には、 SLICE、 RAMB18、 RAMB36、 および DSP48 リ ソース タイプのみを含めます。

• リ コンフ ィギャラブル パーティシ ョ ン内で Vivado デバッグ コアの挿入機能を使用しないでください。 このフ

ローでは、 BSCAN プリ ミ ティブを含むデバッグ ハブが挿入されますが、 これはリ コンフ ィギャラブル ビッ ト

ス ト リーム内では許容されません。 Vivado Debug コアをインスタンシエートするか IP 内に含める と、 「Vivado

デバッグ コアの使用」 に説明するよ うにデバッグ コアを推論できるよ うになり ます。

• UpdateMEM では、 パーシャルまたは Tandem ビッ ト ス ト リームはサポート されません。 メモ リ ファ イルを PR

デザインに関連付けるには、 ELF 関連付けフローを適用する必要があ り ます。 詳細は、 『Vivado Design Suite

ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 28] のこのセクシ ョ ン

を参照してください。

• Soft Error Mitigation (SEM) IP コアは、 モノ リ シッ ク デバイスでの PR と共にサポート されます。 UltraScale デバ

イスでは、 SSI デバイスにパーシャル リ コンフ ィギュレーシ ョ ンを使用する場合は SEM IP コアはサポート され

ません。 UltraScale +デバイスでは、 SSI デバイスに PR を使用する場合に SEM IP コアがサポート されます。 PR

デザインでの SEM IP の使用に関する詳細は、 『モノ リ シッ ク デバイスでの Soft Error Mitigation IP およびパー

シャル リ コンフ ィギュレーシ ョ ンのデモ』 (XAPP1261) [参照 4] を参照してください。

• 7 シ リーズおよび UltraScale デバイスでは、 STARTUP プリ ミ ティブでパーシャル リ コンフ ィギュレーシ ョ ンの

読み込みはサポート されません。 AXI SPI IP や AXI EMC IP などの IP は、 外部フラ ッシュから クロ ッ ク供給し

たり、 パーシャル ビッ ト ス ト リームを配布する目的で、 STARTUP プリ ミ ティブを使用するよ う設定しないでく

ださい。

• 暗号化に関する 2 つのユース ケースは、 UltraScale および UltraScale+ デバイスの新しい機能を使用する場合は

サポート されません。

a. 初期コンフ ィギュレーシ ョ ンに RSA 認証を選択した場合は、 暗号化パーシャル リ コンフ ィギュレーシ ョ ン

はサポート されません。 FPGA では、 パーシャル ビッ ト ス ト リームの RSA 認証はサポート されません。

b. 初期コンフ ィギュレーシ ョ ン ビッ ト ス ト リームで eFUSE または BBRAM に格納されている難読化 AES-256

キーを使用する場合は、 暗号化パーシャル ビッ ト ス ト リームでも同じ難読化キーを使用する必要があ り ま

す。 初期化ビッ ト ス ト リームと異なるキーを使用する暗号化 PR ビッ ト ス ト リームはサポート されません。

これらどちらの場合でも、 暗号化されていないパーシャル ビッ ト ス ト リームを ICAP に転送してデバイスを

パーシャル リ コンフ ィギュレーシ ョ ンできます。

• ビッ ト ス ト リーム圧縮およびフレームごとの CRC チェッ クは、 パーシャル ビッ ト ス ト リームでは同時にイネー

ブルにはできません。

パーシャル リコンフ ィギュレーシ ョ ン 134UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 135: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

パーシャル リコンフ ィギュレーシ ョ ン 135UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

付録 A

階層デザイン フロー

概要

パーシャル リ コンフ ィギュレーシ ョ ンは、 理想的な階層デザイン ツールです。 デザインのスタティ ッ ク部分をイン

プ リ メン ト し、 タイ ミ ングを満たし、 その結果を再利用できる機能は、 ほかの階層デザイン (HD) フローのニーズを

満たします。 ほかの HD ユース ケースの問題を解決するためにパーシャル リ コンフ ィギュレーシ ョ ンを使用する障

害となっていたのが、PR ライセンス料でした。現在では PR 機能のライセンスは Vivado Design Edition および System

Edition に含まれており、 通常の PR ユース ケースだけでなく、 プラ ッ ト フォーム再利用 HD フローにも、 広く PR

ツール スイート を活用できます。

プラ ッ ト フォーム再利用では、 上位 (プラ ッ ト フォーム) と下位パーティシ ョ ンを分離できるツールの機能を利用

します。 プラ ッ ト フォーム再利用は、 次を例とするさまざまな状況で使用できます。

• デザイン サイ クルおよびタイ ミ ング ク ロージャの削減。 上位でタイ ミ ング ク ロージャを達成するこ とによ

り、 インターフェイス ロジッ ク (メモ リ コン ト ローラー、 ネッ ト ワーク IP、 高速インターコネク ト など) が変更

されたと きに、 パーティシ ョ ン ロジッ クを開発しているプラ ッ ト フォームの配置配線結果を固定して再利用で

きます。

• プラ ッ ト フォームをエンドユーザーに配布。 この場合、 プラ ッ ト フォームを 1 人のユーザーが開発し、 完全に

配置配線し、 DCP (パーティシ ョ ンのブラ ッ ク ボッ クスを含む) を固定して、 別のユーザーがカスタマー パー

ティシ ョ ン ロジッ クを開発するために使用できるよ う配布できます。

これらのフローでは、 パーシャル リ コンフ ィギュレーシ ョ ン フローを使用して、 初期デザインをインプリ メン ト

し、 パーティシ ョ ンを削除して、 スタティ ッ ク /プラ ッ ト フォーム ロジッ クを固定します。 グレー ボッ クス サポー

ト などのパーシャル リ コンフ ィギュレーシ ョ ンのすべての機能を使用でき、 PR フローのすべての要件に従う必要が

あ り ます。 ツールの視点から見る と、 フロー間に違いはなく、 すべての PR DRC が適用されます。

このフローではパーシャル BIT ファ イルは不要なので、 write_bitstream コマンドの -no_partial_bitfile

オプシ ョ ンを使用してパーシャル ビッ ト ス ト リームを生成しないよ うにするこ とをお勧めします。

Page 136: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

付録 B

その他のリソースおよび法的通知

ザイリンクス リソース

アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照して

ください。

ソリューシ ョ ン センター

デバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 デザイ

ン アシスタン ト 、 デザイン アドバイザリ、 ト ラブルシューティングのヒン ト などが含まれます。

Xilinx Documentation Navigator およびデザイン ハブ

Xilinx Documentation Navigator (DocNav) では、 ザイ リ ンクスの資料、 ビデオ、 サポート リ ソースにアクセスでき、 特

定の情報を取得するためにフ ィルター機能や検索機能を利用できます。 DocNav を開くには、 次のいずれかを実行し

ます。

• Vivado IDE で [Help] → [Documentation and Tutorials] をク リ ッ ク します。

• Windows で [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [DocNav] をク リ ッ ク します。

• Linux コマンド プロンプ トに 「docnav」 と入力します。

ザイ リ ンクス デザイン ハブには、 資料やビデオへのリ ンクがデザイン タスクおよびト ピッ クごとにま とめられてお

り、 これらを参照するこ とでキー コンセプ ト を学び、 よ く ある質問 (FAQ) を参考に問題を解決できます。 デザイン

ハブにアクセスするには、 次のいずれかを実行します。

• DocNav で [Design Hubs View] タブをク リ ッ ク します。

• ザイ リ ンクス ウェブサイ トのデザイン ハブ ページを参照します。

注記: DocNav の詳細は、 ザイ リ ンクス ウェブサイ トの Documentation Navigator ページを参照してください。

注意: DocNav からは、 日本語版は参照できません。 ウェブサイ トのデザイン ハブ ページをご利用ください。

パーシャル リコンフ ィギュレーシ ョ ン 136UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 137: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

付録 B: その他のリソースおよび法的通知

参考資料

注記: 日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947)

2. 『Partial Reconfiguration Controller LogiCORE IP 製品ガイ ド』 (PG193: 英語版、 日本語版)

3. 『Partial Reconfiguration Decoupler LogiCORE IP 製品ガイ ド』 (PG227)

4. 『モノ リ シッ ク デバイスでの Soft Error Mitigation IP およびパーシャル リ コンフ ィギュレーシ ョ ンのデモ』 (XAPP1261: 英語版、 日本語版)

5. UltraScale デバイスにおける Tandem PCIe およびパーシャル リ コンフ ィギュレーシ ョ ンでの PCI Express リ ンクを介したビート ス ト リームの読み込み (ザイ リ ンクス アンサー 64761)

6. 『Zynq-7000 SoC プロセッサにおける Vivado Design Suite を使用したハード ウェア アクセラレータのパーシャル リ コンフ ィギュレーシ ョ ン』 (XAPP1231: 英語版、 日本語版)

7. 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470: 英語版、 日本語版)

8. 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570: 英語版、 日本語版)

9. 『Zynq-7000 SoC テクニカル リ ファレンス マニュアル』 (UG585: 英語版、 日本語版)

10. 『パーシャル リ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG702) - ISE デザイン ツール用

11. 『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949)

12. 『7 Series FPGAs Integrated Block for PCI Express LogiCORE IP 製品ガイ ド』 (PG054: 英語版、 日本語版)

13. 『Virtex-7 FPGA Gen3 PCIe Integrated Block for PCI Express 製品ガイ ド』 (PG023)

14. 『UltraScale FPGAs Gen3 Integrated Block for PCI Express LogiCORE IP 製品ガイ ド』 (PG156: 英語版、 日本語版)

15. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)

16. 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901)

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

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

19. 『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』 (UG476: 英語版、 日本語版)

20. 『7 シ リーズ FPGA GTP ト ランシーバー ユーザー ガイ ド』 (UG482: 英語版、 日本語版)

21. 『MMCM および PLL のダイナミ ッ ク リ コンフ ィギュレーシ ョ ン』 (XAPP888: 英語版、 日本語版)

22. 『UltraScale アーキテクチャ ク ロ ッキング リ ソース ユーザー ガイ ド』 (UG572: 英語版、 日本語版)

23. 『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576: 英語版、 日本語版)

24. 『UltraScale アーキテクチャ GTY ト ランシーバー ユーザー ガイ ド』 (UG578: 英語版、 日本語版)

25. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)

26. 『AXI Bridge for PCI Express Gen3 Subsystem 製品ガイ ド』 (PG194)

27. 『UltraScale アーキテクチャ コンフ ィギャラブル ロジッ ク ブロ ッ ク ユーザー ガイ ド』 (UG574: 英語版、日本語版)

28. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994)

29. 『DMA/Bridge Subsystem for PCI Express 製品ガイ ド』 (PG195)

30. 『UltraScale+ Devices Integrated Block for PCI Express v1.2 製品ガイ ド』 (PG213: 英語版、 日本語版)

31. 『Vivado Design Suite プロパティ リ ファレンス ガイ ド』 (UG912)

32. 『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085: 英語版、 日本語版)

33. 『Zynq UltraScale+ MPSoC レジスタ リ ファレンス』 (UG1087)

パーシャル リコンフ ィギュレーシ ョ ン 137UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 138: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

付録 B: その他のリソースおよび法的通知

34. 『PRC/EPRC: パーシャル リ コンフ ィギュレーシ ョ ンのデータ インテグ リティおよび セキュ リティ コン ト ローラー』 (XAPP887)

35. 『Vivado Design Suite を使用した USER_ACCESS によるビッ ト ス ト リーム識別』 (XAPP1232: 英語版、 日本語版)

36. 『3D IC 用のエンベデッ ド プロセッシングを使用したローカル パーシャル リ コンフ ィギュレーシ ョ ン』 (XAPP1099: 英語版 、 日本語版)

37. スタート アップ後にフ リ ップフロ ップおよび SRL を正し く同期化させるためのデザイン アドバイザリ (ザイ リ ンクス アンサー 44174)

38. Vivado Design Suite の資料

ト レーニング リソース

ザイ リ ンクスでは、 この資料に含まれるコンセプ ト を説明するさまざまな ト レーニング コースおよび QuickTake ビデ

オを提供しています。 次のリ ンクから関連する ト レーニング リ ソースを参照してください。

1. Vivado Design Suite QuickTake ビデオ チュート リ アル

2. Vivado Design Suite QuickTake ビデオ: Vivado でのパーシャル リ コンフ ィギュレーシ ョ ン

3. Vivado Design Suite QuickTake ビデオ: UltraScale でのパーシャル リ コンフ ィギュレーシ ョ ン

4. Vivado Design Suite QuickTake ビデオ: UltraScale+ でのパーシャル リ コンフ ィギュレーシ ョ ン

5. ト レーニング コース : Vivado を使用した Zynq でのパーシャル リ コンフ ィギュレーシ ョ ン フロー

6. ト レーニング コース : ザイ リ ンクス パーシャル リ コンフ ィギュレーシ ョ ンのツールおよびテクニッ ク

パーシャル リコンフ ィギュレーシ ョ ン 138UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com

Page 139: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド パーシャル リコンフィギュレーション UG909 (v2018.1) 2018 年 4 月 27 日 この資料は表記の

付録 B: その他のリソースおよび法的通知

お読みください: 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供

され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれ

らに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または

貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わな

い (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害に

は、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の

損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可能で

あったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情報に

含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いま

せん。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一

定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補助的条件

に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプリ ケー

シ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を

使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。

自動車用のアプリケーシ ョ ンの免責条項

オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性

の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セー

フティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用

前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品

を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。

© Copyright 2012-2018 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含

まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 PCI、 PCIe、 および PCI Express は PCI-SIG の商標であ り、 ライセンスに基づいて使用されています。 すべてのその他の商標は、 それぞれの保有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの

右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で

入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受

け付けており ません。 あらかじめご了承ください。

パーシャル リコンフ ィギュレーシ ョ ン 139UG909 (v2018.1) 2018 年 4 月 27 日 japan.xilinx.com