Vivado Design Suite ユーザー ガ イ ド パーシ ャル リ コ ン フ ィ ギ ュ レー ション UG909 (v2015.2) 2015 年 6 月 24 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資 料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情 報につきましては、必ず最新英語版をご参照ください。 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2015 年 6 月 24 日 2015.2 2015.2 リ リ ース用にデバ イ ス互換性に関す る 記述を更新 第1章: 「パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの要件 と ガ イ ド ラ イ ン」 に考慮事項を追加 第6章: 「UltraScale デバ イ ス での Pblock の作成」 に IOB の最小 PU を追加 第7章: 「 コ ン フ ィ ギ ュ レ ー シ ョ ン の 概要」 の BITSTREAM.CONFIG.PERSIST の 値 を 訂正。 Vivado ロ ジ ッ ク 解析に関連 し て ChipScope 記述を更新。 既知の問題 : 「7 シ リ ーズお よ び Zynq-7000 フ ァ ミ リ のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンに推奨 さ れ る ブ ラ ン キ ン グ ビ ッ ト ス ト リ ーム」 セ ク シ ョ ン を追加 2015 年 4 月 1 日 2015.1 第1章: 「概要」 で、 デバ イ ス サポー ト 情報を更新 し 、 UltraScale™ デバ イ ス を使用 し たパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンについてのビデオ チ ュ ー ト リ アルへの リ ン ク を追加。 「パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの要件 と ガ イ ド ラ イ ン」 でデバ イ ス サポー ト 情 報を更新。 第3章: セル レベルの タ イ ミ ン グ レ ポー ト を実行す る Vivado Design Suite の新機能についての 記述を 「 タ イ ミ ン グ制約」 で更新。 7 シ リ ーズの XADC コ ン ポーネ ン ト の DRP イ ン タ ーフ ェ イ ス を使用する デザ イ ンに関 す る 情報を追加する ため、 「 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用」 を更新。 第5章: 7 シ リ ーズ デバ イ ス 用の SNAPPING_MODE プ ロ パテ ィ 値を ま と めた表を追加。 ま た、 SNAPPING_MODE プ ロ パテ ィ の説明を わか り やす く す る た め変更。 詳細は、 「 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの自動調整」 を参照。 第6章: 「Pblock の PU の自動調整」 の最後に 「重要」 と い う 注記を追加。 「グ ロ ーバル ク ロ ッ ク の規則」 へ注記を追加 「UltraScale デバ イ ス デザ イ ンでのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン チ ェ ッ ク リ ス ト」: 「推奨 ク ロ ッ キ ン グ ネ ッ ト ワー ク 」 ア イ テ ムに対す る DRC ルールの制限事項を追加。 SSI テ ク ノ ロ ジに関する 記述を追加。 第7章: 「ビ ッ ト ス ト リ ーム タ イ プの定義」 セ ク シ ョ ン を追加 「ICAP を介 し たパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン (Zynq デバ イ ス)」 セ ク シ ョ ン を 追加 デバ イ ス ご と の PR を サ ポー ト す る PCIe® ブ ロ ッ ク お よ び リ セ ッ ト ロ ケ ーシ ョ ン を 表 7-1 で変更。 「内部 コ ン フ ィ ギ ュ レーシ ョ ン ポー ト へ配信す る ための BIN フ ァ イ ルの フ ォ ーマ ッ ト 」 セ ク シ ョ ン を追加 第8章: 82 ページ に UltraScale デバ イ ス のエン ジニ ア リ ン グ シ リ コ ン (ES) に関する 項目を追加 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 2 目次 改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 第 1 章 : は じ めに 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 設計に関す る 考慮事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの ラ イ セ ン ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 第 2 章 : 一般的な ア プ リ ケーシ ョ ン 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ネ ッ ト ワー ク 接続 さ れた複数の イ ン タ ーフ ェ イ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 標準バス イ ン タ ーフ ェ イ ス を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン可能なパケ ッ ト プ ロ セ ッ サ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 非対称キー暗号化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ま とめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 15 16 17 18 第 3 章 : Vivado ツール フ ロー ツール フ ロ ーの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン コ マ ン ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの制約 と プ ロ パテ ィ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ツール フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tcl ス ク リ プ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 20 24 33 36 第 4 章 : すべてのザイ リ ン ク ス デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デザ イ ン階層 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パーテ ィ シ ョ ン ピ ンの配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ア ク テ ィ ブ Low の リ セ ッ ト と ク ロ ッ ク イ ネーブル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デカ ッ プ リ ン グ機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ブラ ッ ク ボッ ク ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . イ ンプ リ メ ン テーシ ョ ンでの効果的な方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . リ コ ン フ ィ ギ ャ ブル パーテ ィ シ ョ ン境界の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デザ イ ン リ ビ ジ ョ ン チ ェ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . シ ミ ュ レーシ ョ ンお よ び検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 37 39 40 40 41 41 43 44 44 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . グ ロ ーバル ク ロ ッ ク の規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 シ リ ーズ デバ イ ス での Pblock の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 45 45 46 47 3 高速 ト ラ ン シーバーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン チ ェ ッ ク リ ス ト (7 シ リ ーズ デバ イ ス) . . . . . . . . . . . . . . . . . . . . 55 第 6 章 : UltraScale デバイ ス での設計に関する考慮事項 と ガ イ ド ラ イ ン 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UltraScale デバ イ ス での Pblock の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . グ ロ ーバル ク ロ ッ ク の規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I/O 規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 高速 ト ラ ン シーバーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UltraScale デバ イ ス デザ イ ン でのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン チ ェ ッ ク リ ス ト . . . . . . . . . . . . . . . . . . . 58 58 59 62 62 63 64 第 7 章 : デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ンの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン モー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ビ ッ ト ス ト リ ーム タ イ プの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ICAP を介 し たパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン (Zynq デバ イ ス) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MCAP を介 し た コ ン フ ィ ギ ュ レーシ ョ ン エン ジ ンへのア ク セ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 内部 コ ン フ ィ ギ ュ レーシ ョ ン ポー ト へ配信す る ための BIN フ ァ イ ルの フ ォーマ ッ ト . . . . . . . . . . . . . . . . . . . . . . UltraScale デバ イ ス での BIT フ ァ イ ルのサマ リ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FPGA を コ ン フ ィ ギ ュ レーシ ョ ンす る シ ス テ ム デザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パーシ ャ ル BIT フ ァ イ ルの整合性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン フ レーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン時間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン デバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 68 68 71 72 73 74 76 77 78 78 79 第 8 章 : 既知の問題および制限 既知の問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 既知の制限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 付録 A : その他の リ ソ ースおよび法的通知 ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . お読み く だ さ い : 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 85 85 85 86 87 4 第 1章 は じ めに 概要 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは、ア ク テ ィ ブなデザ イ ン内でモジ ュ ールを動的に変更す る こ と を可能に し ま す。 こ の フ ロ ーでは、 複数の コ ン フ ィ ギ ュ レーシ ョ ンの イ ンプ リ メ ン テーシ ョ ン (各 コ ン フ ィ ギ ュ レーシ ョ ンの フル ビ ッ ト ス ト リ ーム) と 、 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのパーシ ャ ル ビ ッ ト ス ト リ ームが必要です。 必要な コ ン フ ィ ギ ュ レーシ ョ ンの数は イ ンプ リ メ ン ト す る 必要のあ る モジ ュ ールの数に よ っ て異な り ますが、 すべて の コ ン フ ィ ギ ュ レーシ ョ ンで同 じ 最上位 (ス タ テ ィ ッ ク ) の配置配線結果が使用 さ れます。こ れ ら の ス タ テ ィ ッ ク の結 果は初期 コ ン フ ィ ギ ュ レーシ ョ ンか ら エ ク ス ポー ト さ れ、 その後のすべての コ ン フ ィ ギ ュ レーシ ョ ンにチ ェ ッ ク ポ イ ン ト を使用 し て イ ン ポー ト さ れます。 こ のガ イ ド は、 次の よ う に記述 さ れてい ます。 • パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン可能な FPGA デザ イ ン を作成する 設計者を対象 と し てい ます。 • FPGA 設計 ソ フ ト ウ ェ ア、 特にザ イ リ ン ク ス Vivado® Design Suite を使い慣れてい る こ と を前提 と し てい ます。 • Vivado Design Suite 2015.2 用に記述 さ れてい ます。 こ の リ リ ース では、 次の製品がサポー ト さ れます。 ° 7 シ リ ーズ デバ イ ス : すべての Virtex®-7、 Kintex®-7、 Artix®-7、 お よ び Zynq®-7000 All Programmable SoC デ バイ ス ° UltraScale™ デバ イ ス : KU035、 KU040、 KU060、 KU115、 VU095、 VU125、 VU160、 お よ び VU190 • ビ ッ ト ス ト リ ーム生成は、 デフ ォ ル ト で、 シ リ コ ン検証が完了す る ま で、 新規デバ イ ス に対 し てはデ ィ ス エーブ ルにな っ てい ます。 こ の リ リ ース では、 ビ ッ ト ス ト リ ーム生成は、 KU035 お よ び KU040 のプ ロ ダ ク シ ョ ン デバ イ ス に対 し てのみ イ ネーブルにな っ てい ます。 • Vivado ツールセ ッ ト で イ ンプ リ メ ン ト さ れ る パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンについて説明 し ます。 ビデオ : 7 シ リ ーズ デバ イ ス での Vivado パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ソ リ ュ ーシ ョ ンの概要は、 Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を実行を参照 し て く だ さ い。 ビデオ : UltraScale デバ イ ス での Vivado パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ソ リ ュ ーシ ョ ンの概要は、 Vivado Design Suite ビデオ チ ュ ー ト リ アル : UltraScale でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を実行を参照 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 5 第 1 章 : は じ めに パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ンについて FPGA テ ク ノ ロ ジには、 デザ イ ン を変更する 場合で も 、 再製造せずにオンサ イ ト でプ ロ グ ラ ミ ン グお よ び再プ ロ グ ラ ミ ン グで き る 柔軟性があ り ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン (PR) は こ の柔軟性を さ ら に一歩進め、 動作 中の FPGA デザ イ ン をパーシ ャ ル コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ル (パーシ ャ ル BIT フ ァ イ ル) を読み込む こ と に よ り 変更で き る よ う に し ます。 フル BIT フ ァ イ ルで FPGA を コ ン フ ィ ギ ュ レーシ ョ ン し た後、 パーシ ャ ル BIT フ ァ イ ル を ダ ウ ン ロ ー ド し て FPGA の リ コ ン フ ィ ギ ャ ラ ブル領域を変更 し ます。 こ の際、 リ コ ン フ ィ ギ ュ レーシ ョ ン さ れない 領域で実行 さ れてい る アプ リ ケーシ ョ ンが影響を受け る こ と はあ り ません。 図 1-1 に、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの基本的な概念を示 し ます。 X-Ref Target - Figure 1-1 FPGA A4.bit A3.bit A2.bit A1.bit Reconfig Block “A” X12001 図 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 デザ イ ン を可能に し ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 6 第 1 章 : は じ めに 用語 次の用語はパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン機能に特定の用語であ り 、 こ のガ イ ド で使用 さ れます。 ボ ト ムア ッ プ合成 1 つま たは複数のプ ロ ジ ェ ク ト で、 デザ イ ン をモジ ュ ールご と に合成する 手法。 ボ ト ム ア ッ プ合成では、 各パーテ ィ シ ョ ン用に記述 さ れた個別のネ ッ ト リ ス ト が必要で、 境界を越え る 最適化は実行 さ れず、 デザ イ ンの各部分が個別に 合成 さ れます。 最上位 ロ ジ ッ ク では、 パーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス と し て合成する 必要があ り ます。 コ ン フ ィ ギ ュ レーシ ョ ン 各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に対 し て 1 つの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを含む完全なデザ イ ン。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン FPGA プ ロ ジ ェ ク ト には、 複数の コ ン フ ィ ギ ュ レーシ ョ ン があ り ま す。 各 コ ン フ ィ ギ ュ レーシ ョ ン に対 し て、 フル BIT フ ァ イ ル 1 つ と 、 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールにパーシ ャ ル BIT フ ァ イ ルが 1 つずつ生成 さ れます。 コ ン フ ィ ギ ュ レーシ ョ ン フ レーム FPGA コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ 空間のア ド レ ス指定可能な最小セ グ メ ン ト 。 リ コ ン フ ィ ギ ャ ラ ブル フ レーム は、 最下位エ レ メ ン ト か ら 構成 さ れます。 7 シ リ ーズ デバ イ ス では、 基本 リ コ ン フ ィ ギ ャ ラ ブル フ レームは幅が 1 エ レ メ ン ト (CLB、 BRAM、 DSP)、 高 さ が 1 ク ロ ッ ク 領域です。 内部 コ ン フ ィ ギ ュ レーシ ョ ン ア ク セス ポー ト (ICAP) SelectMAP イ ン タ ーフ ェ イ ス の内部バージ ョ ン。 詳細は、 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470) [参照 3] ま たは 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570) [参照 4] を参照 し て く だ さ い。 メ デ ィ ア コ ン フ ィ ギ ュ レーシ ョ ン ア ク セス ポー ト (MCAP) 各 UltraScale デバ イ ス に含まれ る 特定の PCIe® ブ ロ ッ ク か ら ICAP への専用 リ ン ク 。 こ のエン ト リ ポ イ ン ト は、 ザ イ リ ン ク ス PCIe IP を コ ン フ ィ ギ ュ レーシ ョ ンす る と き に有効にで き ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン (PR) パーシ ャ ル ビ ッ ト ス ト リ ーム を ダ ウ ン ロ ー ド す る こ と に よ り 動作中の FPGA デザ イ ン の ロ ジ ッ ク のサブセ ッ ト を変 更す る こ と 。 パーテ ィ シ ョ ン デザ イ ンの再利用のために階層境界で定義 さ れたデザ イ ンの論理セ ク シ ョ ン。 新 し く イ ンプ リ メ ン ト する か、 以前の イ ンプ リ メ ン テーシ ョ ン を保持 し ます。 保持 さ れたパーテ ィ シ ョ ンは、 機能が同一であ る だけでな く 、 イ ンプ リ メ ン テーシ ョ ン も 同一です。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 7 第 1 章 : は じ めに パーテ ィ シ ョ ン ピ ン ス タ テ ィ ッ ク ロ ジ ッ ク と リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク の間の論理お よ び物理接続。 すべての リ コ ン フ ィ ギ ャ ラ ブ ル パーテ ィ シ ョ ン ポー ト に対 し て自動的に作成 さ れます。 プ ロ セ ッ サ コ ン フ ィ ギ ュ レーシ ョ ン ア ク セス ポー ト (PCAP) 内部 コ ン フ ィ ギ ュ レ ーシ ョ ン ア ク セ ス ポー ト (ICAP) と 類似 し た、 Zynq-7000 AP SoC デバ イ ス を コ ン フ ィ ギ ュ レー シ ョ ンす る 場合に使用 さ れ る プ ラ イ マ リ ポー ト 。 詳細は、 『Zynq-7000 All Programmable SoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG585) [参照 5] を参照 し て く だ さ い。 プ ログ ラ マ ブル ユニ ッ ト (PU) UltraScale アーキ テ ク チ ャ で、 リ コ ン フ ィ ギ ュ レーシ ョ ンに最低限必要な リ ソ ース。 PU のサ イ ズは リ ソ ース の タ イ プ に よ っ て異な り ます。 UltraScale アーキ テ ク チ ャ では隣接のサ イ ト と 配線 リ ソ ース ( イ ン タ ー コ ネ ク ト タ イ ル) が共有 さ れ る ので、 PU はペアで定義 さ れます。 リ コ ン フ ィ ギ ャ ラ ブル フ レーム FPGA 内で リ コ ン フ ィ ギ ュ レーシ ョ ン可能な最小領域。 リ コ ン フ ィ ギ ャ ラ ブル フ レームの ビ ッ ト ス ト リ ーム サ イ ズ は、 フ レームに含ま れ る ロ ジ ッ ク の タ イ プに よ っ て異な り ます。 リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの一部であ る 論理エ レ メ ン ト 。 パーシ ャ ル BIT フ ァ イ ルを読み込む と 、 こ れ ら の 論理エ レ メ ン ト が変更 さ れ ます。 LUT、 フ リ ッ プ フ ロ ッ プ、 ブ ロ ッ ク RAM、 DSP ブ ロ ッ ク な ど、 さ ま ざ ま な タ イ プ の論理 コ ン ポーネ ン ト を リ コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール (RM) リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に イ ン プ リ メ ン ト さ れ る ネ ッ ト リ ス ト ま たは HDL 記述。 1 つの リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに対 し て複数の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールが存在 し ます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン (RP) イ ン ス タ ン ス を リ コ ン フ ィ ギ ャ ラ ブル と 定義す る 属性セ ッ ト 。異な る リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールが イ ンプ リ メ ン ト さ れ る 階層 レベルです。 opt_design、 place_design、 route_design な ど の Tcl コ マ ン ド では、 イ ン ス タ ン ス に設定 さ れてい る HD.RECONFIGURABLE プ ロ パテ ィ が検出 さ れ、 正 し く 処理 さ れます。 ス タ テ ィ ッ ク ロ ジ ッ ク リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに含まれない論理エ レ メ ン ト 。ス タ テ ィ ッ ク ロ ジ ッ ク は、 リ コ ン フ ィ ギ ュ レー シ ョ ン さ れ る こ と はな く 、リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンが リ コ ン フ ィ ギ ュ レーシ ョ ン さ れてい る 間 も 常にア ク テ ィ ブです。 最上位 ロ ジ ッ ク と も 呼ばれます。 ス タ テ ィ ッ ク デザイ ン パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中に変更 さ れないデザ イ ン部分。 最上位モジ ュ ール と 、 リ コ ン フ ィ ギ ャ ラ ブル と 定義 さ れていないすべてのモジ ュ ールを含みます。ス タ テ ィ ッ ク デザ イ ンは、ス タ テ ィ ッ ク ロ ジ ッ ク と ス タ テ ィ ッ ク 配線で構築 さ れます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 8 第 1 章 : は じ めに 設計に関する考慮事項 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン (PR) は、 Vivado Design Suite のア ド バン ス フ ロ ーです。 PR プ ロ ジ ェ ク ト を開 始す る 前に、 次の要件お よ びガ イ ド ラ イ ン を理解 し てお く 必要があ り ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの要件 と ガ イ ド ラ イ ン • パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンには、 Vivado 2013.3 以降を使用する 必要があ り ます。 ° • ISE Design Suite で も サポー ト さ れてい ます。 Virtex-6、 Virtex-5、 Virtex-4 デバ イ ス を使用 し たパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでのみ、 ISE Design Suite を使用 し て く だ さ い。 詳細は、 ISE の 『パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG702) [参照 6] を参照 し て く だ さ い。 Vivado Design Suite 2015.2 では、 次のデバ イ ス がサポー ト さ れてい ます。 ° ° 7 シ リ ーズ : すべての Artix-7、 Kintex-7、 Virtex-7、 お よ び Zynq-7000 SoC デバ イ ス UltraScale : KU035、 KU040、 KU060、 VU095、 KU115、 VU125、 VU160、 VU190 の UltraScale デバ イ ス は、 イ ンプ リ メ ン テーシ ョ ンサポー ト のみで、 ビ ッ ト ス ト リ ーム生成はあ り ません。 ES2 (Virtex UltraScale) ま たは プ ロ ダ ク シ ョ ン (Kintex UltraScale お よ び Virtex UltraScale VU440) シ リ コ ンが必要です。 ES2 サポー ト は公式 ではないため、 開発目的のみに使用 し て く だ さ い。 • PR は Tcl ま たは コ マ ン ド ラ イ ン でのみサポー ト さ れます。 現時点ではプ ロ ジ ェ ク ト フ ロ ーのサポー ト はあ り ま せん。 • リ コ ン フ ィ ギ ャ ラ ブル領域を定義す る には、 エ レ メ ン ト タ イ プご と に フ ロ アプ ラ ンが必要です。 • ° 7 シ リ ーズ デバ イ ス で効率を最高に し 、 RESET_AFTER_RECONFIG 機能を使用す る には、 フ レームの高 さ と ク ロ ッ ク 領域の境界が揃っ てい る 必要があ り ます。 ° 幅に関す る 規則 も あ り ます。 詳細は、 第 3 章の 「 リ コ ン フ ィ ギ ャ ラ ブル領域の フ ロ アプ ラ ン を作成」 を参照 し て く だ さ い。 ボ ト ム ア ッ プ合成 (複数のネ ッ ト リ ス ト フ ァ イ ルを作成) お よ び リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ネ ッ ト リ ス ト フ ァ イ ルの管理は、 ユーザーの責任で行っ て く だ さ い。 ° 任意の合成ツールを使用で き ます。 リ コ ン フ ィ ギ ュ レーシ ョ ン モジ ュ ール ネ ッ ト リ ス ト を作成す る 際は、 I/O の挿入をデ ィ ス エーブルに し ます。 ° Vivado 合成では、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの合成に独立階層 (OOC) モジ ュ ール解析フ ロ ーを使用 し ます。 • 標準の タ イ ミ ン グ制約がサポー ト さ れ、 必要に応 じ て追加の タ イ ミ ン グ バジ ェ ッ ト 機能 も 使用で き ます。 • デザ イ ン を完成 さ せ る ために便利な専用のデザ イ ン ルール チ ェ ッ ク (DRC) が用意 さ れてい ます。 • PR デザ イ ン では、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの開始だけでな く 、 FPGA 内ま たはシ ス テ ム デザ イ ン の一部 と し てパーシ ャ ル BIT フ ァ イ ルを配布する こ と も 考慮する 必要があ り ます。 • Vivado Design Suite の 2015.1 リ リ ース では、 新 し い Partial Reconfiguration Controller IP がサポー ト さ れてい ます。 こ のカ ス タ マ イ ズ可能な IP は、 7 シ リ ーズ、 Zynq、 UltraScale デバ イ ス でのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの コ ア タ ス ク を管理 し ます。 ハー ド ウ ェ ア ま たは ソ フ ト ウ ェ アか ら の ト リ ガーの受信、 ハン ド シ ェー ク お よ び デカ ッ プ リ ン グ タ ス ク の管理、 メ モ リ ロ ケーシ ョ ン か ら のパーシ ャ ル ビ ッ ト ス ト リ ーム の取得、 そ し て ICAP へのその ビ ッ ト ス ト リ ームへの送信を行い ます。 PR Controller IP の詳細は、 ザ イ リ ン ク ス ウ ェ ブ サ イ ト を ご覧 く だ さ い。 • リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンには、そのパーテ ィ シ ョ ンに イ ンプ リ メ ン ト さ れ る さ ま ざ ま な リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールで使用 さ れ る すべての ピ ン を含め る 必要があ り ます。モジ ュ ールに よ っ ては入力ま たは出 力が使用 さ れない こ と も あ り ますが、 こ れは PR ソ リ ュ ーシ ョ ンの柔軟性のあ ら われです。 未使用の入力は、 モ ジ ュ ール内で未接続の ま ま にな り ます。 こ れがデザ イ ン上問題にな る 場合は、 出力を定数に駆動 し て く だ さ い。 • ビ ッ ト ス ト リ ームの生成でブ ラ ッ ク ボ ッ ク ス がサポー ト さ れます。 ポー ト を定数値に固定す る 方法の詳細は、 第 4 章の 「ブ ラ ッ ク ボ ッ ク ス」 を参照 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 9 第 1 章 : は じ めに • ユーザー リ セ ッ ト の場合は、 RM が レベルを認識する のかエ ッ ジ を認識する のか を判断 し て く だ さ い。 リ セ ッ ト 回路が レベルを認識す る 場合 (FIFO な ど の IP の場合)、 コ ン フ ィ ギ ュ レーシ ョ ンが完了する ま で RM リ セ ッ ト は 適用 し ないで く だ さ い。 デザイ ン パ フ ォ ーマ ン ス パフ ォーマ ン ス の評価基準はデザ イ ンに よ っ て異な り 、 『階層デザ イ ン設計手法ガ イ ド 』 (UG748) [参照 7] お よ び 『デ ザ イ ン保持を使用 し た再現可能な結果の取得』 (WP362) [参照 8] の階層デザ イ ン設計手法に従 う こ と に よ り 、 最高の 結果 を 得 る こ と がで き ま す。 こ れ ら の資料は ISE Design Suite 用に作成 さ れた も のですが、 その設計手法は Vivado Design Suite に も 適用で き ます。 設計に関する 追加の推奨事項は、 『UltraFast 設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949) [参照 9] を参照 し て く だ さ い。 ただ し 、 シ リ コ ンの分離に必要な制限事項があ っ て、 ほ と ん ど のデザ イ ンに影響 し ます。 配線の格納、 排他配置、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの境界を越え た最適化を実行 し ないな ど のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン規 則を適用す る と 、PR デザ イ ンの全体的な集積度お よ びパフ ォーマ ン ス は同等の フ ラ ッ ト デザ イ ン よ り 低 く な り ます。 PR デザ イ ンの全体的なデザ イ ン パフ ォーマ ン ス は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの数、 こ れ ら のパーテ ィ シ ョ ンへの イ ン タ ーフ ェ イ ス ピ ンの数、 Pblock のサ イ ズお よ び形状な ど の要素に左右 さ れます。 PR デザイ ンの条件 • コ ン ポーネ ン ト タ イ プに よ っ て、 リ コ ン フ ィ ギ ュ レーシ ョ ン可能な も の と そ う でない も のがあ り ます。 7 シ リ ーズ デバ イ ス では、 コ ン ポーネ ン ト の規則は次の と お り です。 ° リ コ ン フ ィ ギ ュ レーシ ョ ン可能な リ ソ ース には、 CLB、 ブ ロ ッ ク RAM、 DSP コ ン ポーネ ン ト 、 配線 リ ソ ー ス な ど があ り ます。 ° 次の ク ロ ッ ク お よ び ク ロ ッ ク 調整 ロ ジ ッ ク は リ コ ン フ ィ ギ ュ レーシ ョ ン不可能なので、 ス タ テ ィ ッ ク 領域に 配置す る 必要があ り ます。 - ° BUFG、 BUFR、 MMCM、 PLL な ど の コ ン ポーネ ン ト 次の コ ン ポーネ ン ト は リ コ ン フ ィ ギ ュ レーシ ョ ン不可能なので、 ス タ テ ィ ッ ク 領域に配置す る 必要があ り ま す。 - I/O お よ び I/O 関連の コ ン ポーネ ン ト (ISERDES、 OSERDES、 IDELAYCTRL な ど) - シ リ アル ト ラ ン シーバー (MGT) お よ び関連の コ ン ポーネ ン ト - アーキ テ ク チ ャ 機能 コ ン ポーネ ン ト (BSCAN、 STARTUP、 ICAP、 XADC な ど) UltraScale デバ イ ス では、 よ り 多 く の コ ン ポーネ ン ト タ イ プを リ コ ン フ ィ ギ ュ レーシ ョ ン可能です。 ° CLB、 ブ ロ ッ ク RAM、 DSP コ ン ポーネ ン ト 、 配線 リ ソ ース ° ク ロ ッ ク お よ び ク ロ ッ ク 調整 ロ ジ ッ ク : BUFG、 MMCM、 PLL な ど の コ ン ポーネ ン ト ° I/O お よ び I/O 関連の コ ン ポーネ ン ト (ISERDES、 OSERDES、 IDELAYCTRL な ど) 注記 : I/O コ ン ポーネ ン ト の変更 タ イ プは制限 さ れます。 詳細は、 第 6 章の 「I/O 規則」 を参照 し て く だ さ い。 ° シ リ アル ト ラ ン シーバー (MGT) お よ び関連の コ ン ポーネ ン ト ° PCIe、 CMAC、 Interlaken、 お よ び SYSMON ブ ロ ッ ク ° こ れ ら の新 し い コ ン ポーネ ン ト は、 特定の規則に従 う 必要があ り ます。 た と えば、 I/O のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは、バン ク 全体 と その フ レームに含まれ る すべての ク ロ ッ ク リ ソ ース を一緒に リ コ ン フ ィ ギ ュ レーシ ョ ンす る 必要があ り ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 10 第 1 章 : は じ めに ° BSCAN、 STARTUP、 ICAP、 FRAME_ECC な ど の コ ン フ ィ ギ ュ レーシ ョ ン コ ン ポーネ ン ト のみをデザ イ ン の ス タ テ ィ ッ ク 部分に配置す る 必要があ り ます。 • リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへのグ ロ ーバル ク ロ ッ ク リ ソ ース の配置は、 デバ イ スお よ び こ れ ら の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンで使用 さ れ る ク ロ ッ ク 領域に よ っ て制限 さ れます。 • IP を イ ンプ リ メ ン ト する のに使用 さ れ る コ ン ポーネ ン ト に よ っ て、IP の制限が発生す る 場合 も あ り ます。次に例 を示 し ます。 ° Vivado デバ ッ グ ハブ (BSCAN お よ び BUFG) ° エンベデ ッ ド グ ロ ーバル バ ッ フ ァ ーま たは I/O を含む IP モジ ュ ール ° MIG コ ン ト ロ ー ラ ー (MMCM お よ び BSCAN) • リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは、リ コ ン フ ィ ギ ュ レーシ ョ ン後に既知の状態か ら 開始す る よ う 初期化す る 必 要があ り ます。 こ れには、 ロ ーカル リ セ ッ ト を使用する か、 RESET_AFTER_RECONFIG 機能を選択 し て専用の GSR イ ベン ト を使用 し ます。 RESET_AFTER_RECONFIG は、 UltraScale デバ イ ス では常に イ ネーブルにな っ てい ます。 • パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中に リ コ ン フ ィ ギ ャ ラ ブル領域 と ス タ テ ィ ッ ク 部分の接続を解除す る に は、 デカ ッ プ リ ン グ ロ ジ ッ ク をお勧め し ます。 ° リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールへの ク ロ ッ ク お よ びその他の入力をデカ ッ プル し 、 リ コ ン フ ィ ギ ュ レー シ ョ ン中に メ モ リ に不正な書 き 込みが実行 さ れ る の を回避で き ま す。 こ れは、 RESET_AFTER_RECONFIG を使用 し ない場合に考慮す る 必要があ り ます。 • リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンはフ ロ アプ ラ ンす る 必要があ る ので、 モジ ュ ールは Pblock に収ま る ブ ロ ッ ク で、 タ イ ミ ン グ を満たす必要があ り ます。 モジ ュ ールが完了 し た ら 、 こ のデザ イ ン を PR でない通常の フ ロ ーで実行 し 、 配置、 配線、 お よ び タ イ ミ ン グ結果の初期評価を実行す る こ と をお勧め し ます。 通常の フ ロ ーで 問題が発生す る 場合は、 PR フ ロ ーに移行す る 前に解決 し てお く 必要があ り ます。 • RP 上の各モジ ュ ール ピ ンにはパーテ ィ シ ョ ン ピ ンがあ り ます。 こ れが ス タ テ ィ ッ ク ロ ジ ッ ク を RP に接続す る ポ イ ン ト と な り ます。 使用可能な配線 リ ソ ース の数に対 し てパーテ ィ シ ョ ン ピ ンの数が多すぎ る と 、 配線密集の 原因 と な る 可能性があ り ます。 RP 上の外部ピ ン の数を考慮 し 、 必要な ピ ン数が最小 と な る よ う モジ ュ ールを開 発 し ます。 • Virtex-7 SSI デバ イ ス (7V2000T、 7VX1140T、 7VH870T、 7VH580T) には、 次の 2 つの基本的な要件があ り ます。 ° ° リ コ ン フ ィ ギ ャ ラ ブル領域は、 完全に 1 つの SLR に含まれてい る 必要があ り ます。 こ れに よ り 、 グ ロ ーバ ル リ セ ッ ト イ ベン ト が リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のすべてのエ レ メ ン ト で正 し く 同期す る よ う に な り 、 すべての SLL (Super Long Line) がデザ イ ンの ス タ テ ィ ッ ク 部分に含まれます。 SLL はパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンで き ません。 7 シ リ ーズ SSI デバ イ ス の初期 コ ン フ ィ ギ ュ レーシ ョ ン を SPIx1 イ ン タ ーフ ェ イ ス を介 し て実行す る 場合 は、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのあ る SLR の ICAP か、 JTAG な ど の外部ポー ト に、 パーシ ャ ル ビ ッ ト ス ト リ ーム を送信す る 必要があ り ま す。 初期 コ ン フ ィ ギ ュ レ ーシ ョ ン を ほかの コ ン フ ィ ギ ュ レ ーシ ョ ン ポー ト を介 し て実行 し た場合は、 マ ス タ ー ICAP をパーシ ャ ル ビ ッ ト ス ト リ ームの送信ポー ト と し て使用で き ます。 • UltraScale デバ イ ス には、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン イ ベン ト に関 し て新たな要件があ り ます。 新 し い リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのパーシ ャ ル ビ ッ ト ス ト リ ーム を読み込む前に、 現在の リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール を ク リ ア し て、 リ コ ン フ ィ ギ ュ レ ーシ ョ ン の準備 を す る 必要が あ り ま す。 詳細は、 第 7 章の 「UltraScale デバ イ ス での BIT フ ァ イ ルのサマ リ 」 を参照 し て く だ さ い。 • パーシ ャ ル ビ ッ ト ス ト リ ームの専用暗号化は、 ネ イ テ ィ ブでサポー ト さ れてい ます。 • デバ イ ス で フ レーム ご と の CRC チ ェ ッ ク 機構を write_bitstream を使用 し て イ ネーブルにで き 、 各フ レーム を読み込む前に検証で き ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンはザ イ リ ン ク ス FPGA の高度な機能であ り 、 シ リ コ ンお よ びツールの性能を 理解 し てお く こ と が成功の鍵 と な り ます。 開発プ ロ セ ス では ト レー ド オ フ を理解 し 、 考慮す る 必要があ り ますが、 最 終的には FPGA デザ イ ンの よ り 柔軟性な イ ンプ リ メ ン テーシ ョ ン を達成す る こ と がで き ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 11 第 1 章 : は じ めに パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ンのラ イ セ ン ス パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは、 Vivado Design Suite にオプシ ョ ン で追加可能な ラ イ セ ン ス製品です。 価格 お よ び注文情報は、 販売代理店ま でお問い合わせ く だ さ い。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ラ イ セ ン ス は、 HD.RECONFIGURABLE プ ロ パテ ィ を最初に設定 し た と き と 、 こ のプ ロ パテ ィ が設定 さ れたデザ イ ン チ ェ ッ ク ポ イ ン ト が開かれた と き にチ ェ ッ ク さ れ ま す。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン を イ ンプ リ メ ン ト (配置お よ び配線) し 、パーシ ャ ル ビ ッ ト ス ト リ ーム を生成す る には、 ラ イ セ ン ス が必要です。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 12 第 2章 一般的な ア プ リ ケーシ ョ ン 概要 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの基本的な前提は、マ イ ク ロ プ ロ セ ッ サで タ ス ク を切 り 替え る こ と がで き る の と 同様に、 FPGA ハー ド ウ ェ ア リ ソ ース を時分割で き る と い う こ と です。 FPGA でハー ド ウ ェ アの タ ス ク が切 り 替え ら れ る ので、 ソ フ ト ウ ェ ア イ ンプ リ メ ン テーシ ョ ンの柔軟性 と ハー ド ウ ェ ア イ ンプ リ メ ン テーシ ョ ンのパフ ォ ーマ ン ス の両方において利点があ り ます。 こ のテ ク ノ ロ ジがいかに有益か を示すため、次にい く つかの状況を説明 し ます。 ネ ッ ト ワー ク接続 さ れた複数のイ ン タ ー フ ェ イ ス パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは、 従来の FPGA アプ リ ケーシ ョ ン を サ イ ズ、 重量、 消費電力、 コ ス ト を削 減す る こ と に よ り 最適化 し ます。 時間に依存 し ない機能を特定 し て分離 し 、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール と し て イ ンプ リ メ ン ト す る こ と に よ り 、 1 つのデバ イ ス内で必要に応 じ て機能を入れ替え ます。 40G OTN マ ッ ク ス ポ ン ダー アプ リ ケーシ ョ ンがその典型的な例です。 マ ッ ク ス ポ ン ダーの ク ラ イ ア ン ト 側のポー ト は、 複数の イ ン タ ーフ ェ イ ス プ ロ ト コ ルをサポー ト で き ますが、 FPGA が コ ン フ ィ ギ ュ レー ト さ れ る ま で、 ど のプ ロ ト コ ルが使用 さ れ る かシ ス テ ム で予測す る こ と は不可能です。 FPGA を リ コ ン フ ィ ギ ュ レ ーシ ョ ンす る 必要がない よ う に し 、 すべてのポー ト が デ ィ ス エーブルにな ら ない よ う にす る には、 14 ページの図 2-1 に示す よ う に、 すべての イ ン タ ーフ ェ イ ス プ ロ ト コ ルをすべてのポー ト に イ ンプ リ メ ン ト す る 必要があ り ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 13 第 2 章 : 一般的なア プ リ ケーシ ョ ン X-Ref Target - Figure 2-1 )3*$ *LJ(W[U[ 2&W[U[ 3RUW 278W[U[ *LJ(W[U[ 2&W[U[ 3RUW 278W[U[ 6ZLWFK )DEULF *LJ(W[U[ 2&W[U[ 3RUW 278W[U[ *LJ(W[U[ 2&W[U[ 3RUW 278W[U[ ; 図 2‐1 : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し ない場合のネ ッ ト ワー ク の切 り 替え あ る 時間に各ポー ト で使用 さ れ る のは 1 つの規格のみなので、 こ のデザ イ ンは非効率です。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用す る と 、 図 2-2 に示す よ う に各ポー ト イ ン タ ーフ ェ イ ス を リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール にす る こ と に よ り 、 よ り 効率的なデザ イ ン を作成で き ます。 こ れに よ り 、 複数のプ ロ ト コ ル エン ジ ン を 1 つのポー ト に接続す る ために必要だっ た MUX エ レ メ ン ト も 不要にな り ます。 X-Ref Target - Figure 2-2 &RQILJ0HPRU\ 6WRUDJH )3*$ *LJ(W[U[ 3RUW *LJ(W[U[ 2&W[U[ 2&W[U[ 278W[U[ 3RUW 6ZLWFK )DEULF 278W[U[ 2&W[U[ 3RUW 3RUW ; 図 2‐2 : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し た場合のネ ッ ト ワー ク の切 り 替え こ の基本的な概念を さ ま ざ ま なデザ イ ンで利用で き ます。 ソ フ ト ウ ェ ア無線 (SDR) は、 相互に排他的な機能を持ち、 こ の機能を時分割す る こ と で柔軟性お よ び リ ソ ース使用率が大幅に向上す る 多数のアプ リ ケーシ ョ ンの 1 つです。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンには、 効率性以外に も 利点があ り ます。 14 ページの図 2-2 の例では、 ス タ テ ィ ッ ク ロ ジ ッ ク (Switch Fabric) に影響を与え る こ と な く 、 新 し いプ ロ ト コ ルをいつで も サポー ト で き ます。 1 つのポー ト に新 し い規格を読み込んで も 、 ほかの既存のポー ト には影響はあ り ま せん。 追加の規格を作成 し て コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ ラ イ ブ ラ リ に追加で き る ので、 デザ イ ン全体を再設計す る 必要はあ り ません。 こ れに よ パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 14 第 2 章 : 一般的なア プ リ ケーシ ョ ン り 、 Switch Fabric お よ びポー ト のダ ウ ン タ イ ム を削減で き 、 柔軟性お よ び信頼性が向上 し ます。 デバ ッ グ モジ ュ ー ルを作成す る こ と も で き 、 ポー ト でエ ラ ーが発生 し た場合に未使用のポー ト を解析/修正 ロ ジ ッ ク と 共に読み込んで、 問題に リ アル タ イ ムで対処で き ます。 14 ページの図 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 )XOO %LW)LOH ,&$3 3&OH 6WDWLF 3DUWLDO %LW)LOH ; 図 2‐3 : PCIe イ ン タ ー フ ェ イ ス を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン PCIe 規格では、 要求をサービ ス で き ない場合に も 要求に応答する ため、 ペ リ フ ェ ラ ル ( こ の例の場合は FPGA) が必要 です。 FPGA 全体を リ コ ン フ ィ ギ ュ レ ーシ ョ ンす る こ と は、 こ の要件に違反 し ま す。 PCIe イ ン タ ーフ ェ イ ス は ス タ テ ィ ッ ク ロ ジ ッ ク の一部な ので、 パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン のプ ロ セ ス 中 も 常に ア ク テ ィ ブで あ り 、 FPGA は リ コ ン フ ィ ギ ュ レーシ ョ ン中で も PCIe コ マ ン ド に応答で き ます。 Tandem コ ン フ ィ ギ ュ レーシ ョ ンは関連 し た ソ リ ュ ーシ ョ ン であ り 、 一見 こ こ に示す例 と 同 じ であ る よ う に見え ます が、 パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン を使用 し た ソ リ ュ ーシ ョ ン は、 7 シ リ ーズ デバ イ ス の Tandem コ ン フ ィ ギ ュ レーシ ョ ン と は次の 2 つの点が異な り ます。 • PR での コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス は、 圧縮に よ り 小型化お よ び高速化 さ れた完全なデバ イ ス コ ン フ ィ ギ ュ レ ーシ ョ ン で あ り 、 ブ ラ ッ ク ボ ッ ク ス 領域を パーシ ャ ル ビ ッ ト ス ト リ ーム で上書 き す る こ と に よ り コ ン パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 15 第 2 章 : 一般的なア プ リ ケーシ ョ ン フ ィ ギ ュ レーシ ョ ン を完了 し ます。 Tandem コ ン フ ィ ギ ュ レーシ ョ ンは 2 段階の コ ン フ ィ ギ ュ レーシ ョ ン で、 各 コ ン フ ィ ギ ュ レーシ ョ ン フ レームがプ ロ グ ラ ム さ れ る のは 1 回だけです。 • 7 シ リ ーズ デバ イ ス の Tandem コ ン フ ィ ギ ュ レーシ ョ ンでは、ユーザー アプ リ ケーシ ョ ンのダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ンはで き ません。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは、 ダ イ ナ ミ ッ ク 領域に異な る ユー ザー アプ リ ケーシ ョ ン ま たはフ ィ ール ド ア ッ プデー ト を読み込む こ と がで き ます。 Tandem コ ン フ ィ ギ ュ レ ーシ ョ ン は、 エニ ュ メ レ ーシ ョ ン要件を満たすために PCIe エ ン ド ポ イ ン ト を高速 コ ン フ ィ ギ ュ レーシ ョ ンす る こ と を目的 と し た ソ リ ュ ーシ ョ ン と し て開発 さ れた も のです。 詳細は、 次の資料を参照 し て く だ さ い。 • 『7 Series FPGAs Integrated Block for PCI Express 製品ガ イ ド 』 (PG054) [参照 10] • 『Virtex-7 FPGA Gen3 PCIe Integrated Block for PCI Express 製品ガ イ ド 』 (PG023) [参照 11] • 『LogiCORE IP UltraScale FPGAs Gen3 Integrated Block for PCI Express 製品ガ イ ド 』 (PG156) [参照 12] ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン可能なパ ケ ッ ト プ ロ セ ッ サ パケ ッ ト プ ロ セ ッ サでは、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し て、 受信 さ れたパケ ッ ト タ イ プに基づい てすばや く プ ロ セ ッ シ ン グ機能を変更で き ます。図 2-4 では、パケ ッ ト にパーシ ャ ル BIT フ ァ イ ルを含むヘ ッ ダーか、 パーシ ャ ル BIT フ ァ イ ルを含む特別のパケ ッ ト があ り ます。 パーシ ャ ル BIT フ ァ イ ルは、 処理 さ れた後、 FPGA の コ プ ロ セ ッ サを リ コ ン フ ィ ギ ュ レーシ ョ ンす る ために使用 さ れます。 こ れは、 パーシ ャ ル BIT フ ァ イ ルの定義済み ラ イ ブ ラ リ に依存す る 代わ り に、 受信 さ れたデー タ パケ ッ ト に基づ く FPGA リ コ ン フ ィ ギ ュ レーシ ョ ンの例です。 X-Ref Target - Figure 2-4 )3*$ 3DUWLDOO\ 5HFRQILJXUDEOH &RSURFHVVRU ,&$3 'DWD 3DFNHW3URFHVVRU 3%)3DUWLDO %LW)LOH 'DWD 3%) + 'DWD 3%) + ; 図 2‐4 : ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン可能なパケ ッ ト プ ロ セ ッ サ パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 16 第 2 章 : 一般的なア プ リ ケーシ ョ ン 非対称キー暗号化 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン な し では不可能な アプ リ ケーシ ョ ン も あ り ます。FPGA コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ルを保護す る 非常にセキ ュ ア な方法を、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン と 非対称暗号化を組み合わ せ る こ と に よ り 構築で き ます。 非対称暗号化の詳細は、 ウ ィ キペデ ィ アの 「公開鍵暗号化」 ト ピ ッ ク を参照 し て く だ さ い。 図 2-5 では、 色が グ レ ーに な っ て い る ボ ッ ク ス の機能 を FPGA の物理パ ッ ケ ー ジ 内に イ ン プ リ メ ン ト で き ま す。 cleartext の情報お よ び秘密キーが保護 さ れた コ ン テナーの外に出る こ と はあ り ません。 X-Ref Target - Figure 2-5 FOHDUWH[W .H\&RJHQHUDWLRQ 3XEOLF.H\ I FLSKHUWH[W 3ULYDWH.H\ I FOHDUWH[W ; 図 2‐5 : 非対称キー暗号化 こ のデザ イ ンの実際の イ ンプ リ メ ン テーシ ョ ンでは、初期 BIT フ ァ イ ルは機密情報を含ま ない暗号化 さ れていないデ ザ イ ン です。 初期デザ イ ン には、 公開キー と 秘密キーのペア を生成す る アル ゴ リ ズ ム と 、 ホ ス ト 、 FPGA、 お よ び ICAP を接続す る イ ン タ ーフ ェ イ ス のみが含まれます。 初期 BIT フ ァ イ ルが読み込まれた後、 FPGA で公開キー と 秘密キーのペアが生成 さ れます。 公開キーはホ ス ト に送信 さ れ、 ホ ス ト は こ れを使用 し てパーシ ャ ル BIT フ ァ イ ルを暗号化 し ま す。 暗号化 さ れたパーシ ャ ル BIT フ ァ イ ルは FPGA にダ ウ ン ロ ー ド さ れ、 復号化 さ れて ICAP に送信 さ れて、 FPGA がパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン さ れ ます (17 ページの図 2-6)。 X-Ref Target - Figure 2-6 )3*$ +RVW %LW)LOH /LEUDU\ &RQILJ *HQHUDWH.H\3DLU (QFU\SW $OJRULWKP &RQILJ 3XEOLF 3ULYDWH ([WHUQDO ,QWHUIDFH 'HFU\SW $OJRULWKP ,&$3 3XEOLF &RQILJ ; 図 2‐6 : 暗号化 さ れたパーシ ャ ル BIT フ ァ イルの読み込み パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 17 第 2 章 : 一般的なア プ リ ケーシ ョ ン パーシ ャ ル BIT フ ァ イ ルが FPGA デザ イ ン の大部分で、 ス タ テ ィ ッ ク デザ イ ンは FPGA リ ソ ース のほんの一部のみ を占め る 場合 も あ り ます。 こ れには、 次の よ う な利点があ り ます。 • 公開キー と 秘密キーのペア をいつで も 再生成で き ます。 ホ ス ト か ら 新 し い コ ン フ ィ ギ ュ レーシ ョ ンがダ ウ ン ロ ー ド さ れた と き に、 異な る 公開キーで暗号化で き ます。 パ ワーオン リ セ ッ ト の後な ど FPGA が同 じ パーシ ャ ル BIT フ ァ イ ルで コ ン フ ィ ギ ュ レーシ ョ ン さ れ る 場合で も 、 異な る 公開キーが使用 さ れます。 • 秘密キーは SRAM に格納 さ れます。 FPGA の電源が切れ る と 、 秘密キー も 失われます。 • シ ス テ ムが盗難にあい、 FPGA の電源がオンの ま ま で も 、 秘密キーは汎用 FPGA プ ロ グ ラ マブル ロ ジ ッ ク に格納 さ れてい る ので、 見つけ る のは非常に困難です。 特別の レ ジ ス タ には格納 さ れません。 秘密キーを格納す る 各レ ジ ス タ ビ ッ ト を、 物理的に リ モー ト で無関係の領域に配置で き ます。 ま とめ パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは、 サ イ ズ、 重量、 消費電力、 コ ス ト を削減す る のに加え、 新 し い タ イ プの FPGA デザ イ ン を可能に し ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 18 第 3章 Vivado ツール フ ロー ツール フ ローの概要 Vivado® パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン (PR) フ ロ ーは、 標準デザ イ ン フ ロ ー と は異な る 点がい く つかあ り ま す。 イ ンプ リ メ ン テーシ ョ ン ツールに よ り 、 シ リ コ ンの要件を満たすために下位レベルの詳細が自動的に管理 さ れま す。 ユーザーが、 デザ イ ンの構造 と フ ロ アプ ラ ン を定義す る 必要があ り ます。 PR デザ イ ン の処理手順は、 次の と お り です。 1. ス タ テ ィ ッ ク モジ ュ ール と リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを別々に合成 し ます。 2. 物理制約 (Pblock) を作成 し て リ コ ン フ ィ ギ ャ ラ ブル領域を定義 し ます。 3. 各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに HD.RECONFIGURABLE プ ロ パテ ィ を設定 し ます。 4. 完全なデザ イ ン (ス タ テ ィ ッ ク モジ ュ ール と 、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン ご と に 1 つの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール) を コ ン テ キ ス ト で イ ンプ リ メ ン ト し ます。 5. 完全に配線済みのデザ イ ンのデザ イ ン チ ェ ッ ク ポ イ ン ト を保存 し ます。 6. こ のデザ イ ンか ら リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを削除 し 、 ス タ テ ィ ッ ク 部分のみのデザ イ ン チ ェ ッ ク ポ イ ン ト を保存 し ます。 7. ス タ テ ィ ッ ク 部分の配置 と 配線を固定 し ます。 8. ス タ テ ィ ッ ク デザ イ ンに新 し い リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを追加 し 、 新 し い コ ン フ ィ ギ ュ レーシ ョ ン を イ ンプ リ メ ン ト し て、 配線済みデザ イ ン全体のチ ェ ッ ク ポ イ ン ト を保存 し ます。 9. すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールが イ ンプ リ メ ン ト さ れ る ま で手順 8 を繰 り 返 し ます。 10. すべての コ ン フ ィ ギ ュ レーシ ョ ンに対 し て検証ユーテ ィ リ テ ィ (pr_verify) を実行 し ます。 11. 各 コ ン フ ィ ギ ュ レーシ ョ ンのビ ッ ト ス ト リ ーム を作成 し ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 19 第 3 章 : Vivado ツール フ ロー パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン コ マ ン ド PR フ ロ ーは、 現在の と こ ろ、 非プ ロ ジ ェ ク ト バ ッ チ モー ド /Tcl イ ン タ ーフ ェ イ ス (非プ ロ ジ ェ ク ト ベース の コ マ ン ド ) でのみサポー ト さ れてい ます。 ス ク リ プ ト 例は、 フ ロ ーの詳細な設定方法 と と も に、 『Vivado Design Suite チ ュ ー ト リ アル : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (UG947) [参照 1] にあ り ます。 詳細は、 こ のチ ュ ー ト リ アルを参 照 し て く だ さ い。 次のセ ク シ ョ ンでは、 PR フ ロ ーに必要な特定の コ マ ン ド お よ びオプシ ョ ンについて説明 し ます。 PR フ ロ ーを実行す る ための こ れ ら の コ マ ン ド の使用例 も 示 し ます。 各 コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 合成 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン可能なデザ イ ン を合成する のに、 特別な コ マ ン ド は必要あ り ませんが、 ボ ト ム ア ッ プ合成を実行す る 必要があ り ます。 現在の と こ ろ、 合成、 最適化、 ま たは イ ンプ リ メ ン テーシ ョ ン でサポー ト さ れない コ マ ン ド はあ り ません。 次の合成ツールがサポー ト さ れてい ます。 • XST (7 シ リ ーズ デバ イ ス のみサポー ト ) • Synplify • Vivado 合成 重要 : NGC フ ォ ーマ ッ ト フ ァ イ ルは、 Vivado Design Suite では UltraScale デバ イ ス に対 し てはサポー ト さ れ ま せん。 Vivado Design Suite で IP を再生成 し 、 ネ イ テ ィ ブ出力フ ァ イ ルを使用す る こ と をお勧め し ます。 ま たは、 NGC2EDIF コ マ ン ド を使用 し て NGC フ ァ イ ルを EDIF に変換 し 、 イ ン ポー ト す る こ と も で き ます。 ただ し 、 XST で生成 さ れた NGC フ ァ イ ルを使用す る のではな く 、 ネ イ テ ィ ブ Vivado IP を使用する こ と をお勧め し ます。 重要 : ボ ト ム ア ッ プ合成は、各モジ ュ ールにそれぞれ合成プ ロ ジ ェ ク ト があ る 合成フ ロ ーです。通常は、下位モジ ュ ー ルの自動 I/O バ ッ フ ァ ー挿入をオ フ に し ます。 こ の文書では、 Vivado 合成フ ロ ーのみについて説明 し ます。 最上位モ ジ ュ ールの合成 各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン (RP) のブ ラ ッ ク ボ ッ ク ス を含む最上位ネ ッ ト リ ス ト が必要です。 こ れには、 最上位合成にパーテ ィ シ ョ ン イ ン ス タ ン ス のモジ ュ ール/エ ン テ ィ テ ィ 宣言を含め、 ロ ジ ッ ク が含 ま れない よ う (モ ジ ュ ールは空) にす る 必要があ り ます。 最上位合成は、 通常すべての最上位ポー ト で I/O バ ッ フ ァ ーを推論ま たは イ ン ス タ ン シエー ト し ます。 バ ッ フ ァ ー挿 入の制御に関 し ては、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 14] の 「ア ウ ト オブ コ ン テ キ ス ト (OOC) フ ロ ーを使用 し たボ ト ム ア ッ プ フ ロ ーの設定」 を参照 し て く だ さ い。 synth_design -flatten_hierarchy rebuilt -top <top_module_name> -part <part> リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの合成 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを ス タ テ ィ ッ ク デザ イ ンの同 じ ブ ラ ッ ク ボ ッ ク ス に イ ン ス タ ン シエー ト す る 必 要があ る ので、 それ ら のモジ ュ ールの イ ン タ ーフ ェ イ ス が同一であ る 必要があ り ます。 ブ ロ ッ ク の名前 も 各 イ ン ス タ ン ス ですべて同 じ に し 、 イ ン タ ーフ ェ イ ス のプ ロ パテ ィ も すべて同一にする 必要があ り ます。 デザ イ ンの各 コ ン フ ィ ギ ュ レーシ ョ ンは、 フ ラ ッ ト デザ イ ンの よ う にアセ ンブル さ れます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 20 第 3 章 : Vivado ツール フ ロー リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを合成す る には、 すべてのバ ッ フ ァ ー挿入を オ フ にす る 必要があ り ま す。 こ れに は、 synth_design コ マ ン ド を -mode out_of_context オプシ ョ ン を使用 し て実行 し ます。 synth_design -mode out_of_context -flatten_hierarchy rebuilt -top <reconfig_module_name> -part <part> 表 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) を指定 し ます。 synth_design コ マ ン ド は、 デザ イ ン を合成 し て、 その結果を メ モ リ に格納 し ます。 結果を フ ァ イ ルに書 き 出すに は、 次の コ マ ン ド を使用 し ます。 write_checkpoint <file_name>.dcp 合成後に メ モ リ 内のデザ イ ン を閉 じ 、 イ ンプ リ メ ン テーシ ョ ン を合成 と は別に実行す る こ と をお勧め し ます。 デザイ ン モ ジ ュ ールの読み込み メ モ リ にデザ イ ンが読み込まれていない場合は、 デザ イ ン を読み込む必要があ り ます。 ス タ テ ィ ッ ク デザ イ ン で も リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールで も 、 こ れにはい く つかの方法があ り ます。 コ ン フ ィ ギ ュ レーシ ョ ン を イ ンプ リ メ ン ト し た後は、 チ ェ ッ ク ポ イ ン ト を使用 し て配置配線済みモジ ュ ール デー タ ベース を読み込みます。 方法 1 : ネ ッ ト リ ス ト デザイ ンの読み込み こ の方法は、 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‐2 : link_design コ マ ン ド のオプ シ ョ ン コ マ ン ド オプ シ ョ ン 説明 -part タ ーゲ ッ ト にす る ザ イ リ ン ク ス パーツ (例 : xc7k325tffg900-3) を指定 し ます。 -top イ ンプ リ メ ン ト さ れ る モジ ュ ールのモジ ュ ール/エン テ ィ テ ィ 名を 指定 し ます。 link_design の前に set_property -top <top_module_name> [current_fileset] が実行 さ れてい る 場合、 こ のオプシ ョ ン を使用する 必要はあ り ません。 方法 2 : チ ェ ッ ク ポ イ ン ト を開 く /読み込む ス タ テ ィ ッ ク (最上位) デザ イ ン の合成 ま たは イ ン プ リ メ ン テーシ ョ ン結果がチ ェ ッ ク ポ イ ン ト と し て保存 さ れてい る 場合は、 open_checkpoint コ マ ン ド を使用 し て読み込む こ と がで き ます。 こ の コ マ ン ド は ス タ テ ィ ッ ク デザ イ ン チ ェ ッ ク ポ イ ン ト を読み込み、 ア ク テ ィ ブ メ モ リ で開 き ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 21 第 3 章 : Vivado ツール フ ロー open_checkpoint <file> チ ェ ッ ク ポ イ ン ト が ス タ テ ィ ッ ク の も のではな く リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの も のであ る 場合、イ ン ス タ ン ス 名を read_checkpoint -cell を使用 し て指定する 必要があ り ます。チ ェ ッ ク ポ イ ン ト が イ ンプ リ メ ン テーシ ョ ン 後のチ ェ ッ ク ポ イ ン ト であ る 場合は、 -strict オプシ ョ ン も 使用す る 必要があ り ます。 こ のオプシ ョ ンは、 合成後 のチ ェ ッ ク ポ イ ン ト で使用 し て、 ポー ト が確実に一致す る よ う にす る こ と も で き ま す。 リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールのチ ェ ッ ク ポ イ ン ト を読み込むには、 指定のセルのブ ラ ッ ク ボ ッ ク ス が含まれてい る 最上位デザ イ ンが開い てい る 必要があ り ます。 その後、 次の コ マ ン ド を実行 し ます。 read_checkpoint -cell <cellname > <file> [-strict] 表 3‐3 : read_checkpoint オプ シ ョ ン オプ シ ョ ン名 説明 -cell リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの完全な階層名を指定 し ます。 -strict セル を 置 き 換 え る の に ポー ト が完全に一致 し て い る 必要が あ り 、 パーツ、 パ ッ ケージ、 ス ピー ド グ レー ド 値が同一であ る こ と を確認 し ます。 イ ンプ リ メ ン テーシ ョ ン デー タ を復元す る 際には使用す る 必要があ り ます。 <file> 読み込むチ ェ ッ ク ポ イ ン ト (DCP) の完全パ ス ま たは相対パ ス を指 定 し ます。 方法 3 : チ ェ ッ ク ポ イ ン ト を開 く /デザイ ン を ア ッ プデー ト こ の方法は、 合成結果がネ ッ ト リ ス ト (EDF ま たは EDN) の形式であ り 、 ス タ テ ィ ッ ク 部分が既に イ ンプ リ メ ン ト さ れてい る 場合に便利です。 次の例に、 こ の状況が発生す る 2 番目の コ ン フ ィ ギ ュ レーシ ョ ンの コ マ ン ド を示 し ます。 open_checkpoint <top>.dcp lock_design -level routing update_design -cells <rp1> -from_file <rp1_b>.{edf/edn} update_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) を作成 し ます。 こ の場合、 すべての EDIF (ま たは NGC) フ ァ イ ル を add_files コ マ ン ド を 使用 し て 追加 し 、 EDIF フ ァ イ ル か ら そ れ ぞ れ の セ ルへ の 対応 を 解決す る の に link_design コ マ ン ド を使用で き ます。 次に、 こ のプ ロ セ ス に使用する コ マ ン ド 例を示 し ます。 add_files [list rm.edf ip_1.edf … ip_n.edf] # Run if RM XDC exists add_files rm.xdc link_design -top <rm_module> -part <part> write_checkpoint rm_v#.dcp close_project パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 22 第 3 章 : Vivado ツール フ ロー 重要 : 1 つま たは複数の NGC ソ ース フ ァ イ ル も 含む RM の処理には、 こ の方法を使用 し てネ ッ ト リ ス ト を DCP に結 合ま たは変換す る こ と をお勧め し ます。 そ の後、 こ の 新 し く 作成 し た RM チ ェ ッ ク ポ イ ン ト を PR フ ロ ー で 使用 し ま す。 次 の コ マ ン ド 例 で は、 多数の update_design -cell コ マ ン ド を 1 つの read_checkpoint -cell コ マ ン ド で置き 換え てい ます。 add_files static.dcp link_design -top <top> part <part> lock_design -level routing read_checkpoint -cell <rm_inst> rm_v#.dcp 方法 2 : サブ モ ジ ュ ール ネ ッ ト リ ス ト を RM の最上位ネ ッ ト リ ス ト と 同 じ デ ィ レ ク ト リ に配置 update_design -cell コ マ ン ド を使用 し て PR デザ イ ンに最上位 RM ネ ッ ト リ ス ト を読み込む と き に、 すべての サブモジ ュ ール ネ ッ ト リ ス ト が RM の最上位ネ ッ ト リ ス ト と 同 じ デ ィ レ ク ト リ に存在 し てい る よ う に し ます。 こ の 場合、 下位ネ ッ ト リ ス ト を指定す る 必要はな く 、 update_design -cells コ マ ン ド で自動的に読み込まれます。 こ の方法は方法 1 ほ ど明示的ではあ り ませんが、 手順は少な く てすみます。 こ の場合に RM ネ ッ ト リ ス ト を読み込む コ マ ン ド は、 次の よ う にな り ます。 add_files static.dcp link_design -top <top> part <part> lock_design -level routing update_design -cells <rm_inst> -from_file rm_v#.edf 上記の最後の コ マ ン ド (update_design) に よ り 、 下位ネ ッ ト リ ス ト が rm_v#.edf と 同 じ デ ィ レ ク ト リ にあれば自 動的に読み込まれます。 イ ン プ リ メ ン テーシ ョ ン PR フ ロ ーでは、ハー ド ウ ェ アに さ ま ざ ま な コ ン フ ィ ギ ュ レーシ ョ ン を使用で き る ので、複数の イ ンプ リ メ ン テーシ ョ ン run が必要です。 PR デザ イ ン の各 イ ン プ リ メ ン テーシ ョ ンは コ ン フ ィ ギ ュ レーシ ョ ン と 呼ばれ ます。 デザ イ ン の 各モジ ュ ール (ス タ テ ィ ッ ク ま たは リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール) は、 イ ンプ リ メ ン ト する か イ ン ポー ト (既に イ ンプ リ メ ン ト さ れてい る 場合) で き ます。 デザ イ ンは 1 つの コ ン フ ィ ギ ュ レーシ ョ ン で イ ンプ リ メ ン ト し 、 後の コ ン フ ィ ギ ュ レーシ ョ ンで イ ン ポー ト さ れ る よ う に、ス タ テ ィ ッ ク デザ イ ンの イ ンプ リ メ ン テーシ ョ ン結果は各 コ ン フ ィ ギ ュ レーシ ョ ンで一貫 し てい る 必要があ り ます。 追加の コ ン フ ィ ギ ュ レーシ ョ ンは、 ス タ テ ィ ッ ク 部分を イ ン ポー ト し 、 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを イ ンプ リ メ ン ト / イ ン ポー ト する こ と に よ り 作成で き ます。 PR での イ ン プ リ メ ン テーシ ョ ン コ マ ン ド お よ びオプシ ョ ン のサポー ト に制限はあ り ま せんが、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの基本的な要件に従っ ていない場合、 一部の最適化お よ びサブルーチンが実行 さ れない こ と があ り ま す。 link_design ま たは open_checkpoint コ マ ン ド を使用 し て論理デザ イ ン を読み込む と 、 次の コ マ ン ド を実行で き る よ う にな り ます。 # Run if all constraints are not already loaded read_xdc # Optional command opt_design place_design # Optional command phys_opt_design パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 23 第 3 章 : Vivado ツール フ ロー route_design イ ン プ リ メ ン テーシ ョ ン デー タ の保持 PR フ ロ ーでは、 最初の コ ン フ ィ ギ ュ レーシ ョ ンか ら の ス タ テ ィ ッ ク ロ ジ ッ ク の配置配線結果を、 その後の コ ン フ ィ ギ ュ レーシ ョ ン用に固定す る 必要があ り ます。最初の コ ン フ ィ ギ ュ レーシ ョ ンの ス タ テ ィ ッ ク イ ンプ リ メ ン テーシ ョ ンは、 チ ェ ッ ク ポ イ ン ト と し て保存 し ます。 その後の コ ン フ ィ ギ ュ レーシ ョ ン でチ ェ ッ ク ポ イ ン ト を読み込む際、 配 置配線を固定 し て、 異な る コ ン フ ィ ギ ュ レーシ ョ ン間で ス タ テ ィ ッ ク デザ イ ンが完全に同一にな る よ う に し ます。 イ ン ポ ー ト し た チ ェ ッ ク ポ イ ン ト ( ス タ テ ィ ッ ク ま た は リ コ ン フ ィ ギ ャ ラ ブ ル) の 配置配線 を 固定す る に は、 lock_design コ マ ン ド を使用 し ます。 lock_design -level routing [cell_name] 上記の コ マ ン ド を使用 し て ス タ テ ィ ッ ク ロ ジ ッ ク を固定する 場合は、 [cell_name] の指定はオプシ ョ ンです。 lock_design -level routing イ ン ポー ト さ れた RM の結果を固定す る には、 イ ンプ リ メ ン テーシ ョ ン後のチ ェ ッ ク ポ イ ン ト 内で完全な階層名を指 定す る 必要があ り ます。 lock_design -level routing u0_RM_instance パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは、 サポー ト さ れ る 保持レベルは routing のみです。 こ の コ マ ン ド にはほ かの保持レベル も あ り ますが、 ほかの階層デザ イ ン フ ロ ーでのみ使用する よ う に し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ンの制約 と プ ロ パテ ィ パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン フ ロ ー特定のプ ロ パテ ィ と 制約がい く つかあ り ます。こ れ ら は PR 特定の イ ン プ リ メ ン テーシ ョ ン プ ロ セ ス を開始 し 、 パーシ ャ ル ビ ッ ト ス ト リ ームに特定の性質を適用 し ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン用には、 次の 4 種類の制約お よ びプ ロ パテ ィ があ り ます。 • モジ ュ ールを リ コ ン フ ィ ギ ャ ラ ブル と 定義 (必須) • リ コ ン フ ィ ギ ャ ラ ブル領域の フ ロ アプ ラ ン を作成 (必須) • コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用 (オプシ ョ ン、 強 く 推奨) • 表示ス ク リ プ ト を オン (オプシ ョ ン) モ ジ ュ ールを リ コ ン フ ィ ギ ャ ラ ブル と 定義 PR デザ イ ン を イ ンプ リ メ ン ト す る には、各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを その よ う に指定す る 必要があ り ます。 こ れには、 リ コ ン フ ィ ギ ュ レーシ ョ ンす る 各階層セルの最上位にプ ロ パテ ィ を設定す る 必要があ り ます。 た と えば、 inst_count と い う 名前の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンがあ り 、 こ のパーテ ィ シ ョ ンに 2 つの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール count_up お よ び count_down があ る デザ イ ン を考え た場合、 最初の コ ン フ ィ ギ ュ レーシ ョ ン を イ ン プ リ メ ン ト す る 前に次の コ マ ン ド を実行す る 必要があ り ます。 set_property HD.RECONFIGURABLE TRUE [get_cells inst_count] こ れに よ り 、 PR デザ イ ン を正 し く イ ンプ リ メ ン ト す る ために必要な ツールのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン 機能がア ク テ ィ ブにな り ます。 HD.RECONFIGURABLE プ ロ パテ ィ に よ り 、 い く つかの制約お よ び タ ス ク が適用 さ れ ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 24 第 3 章 : Vivado ツール フ ロー • 指定のセルお よ び イ ン タ ーフ ェ イ ス ネ ッ ト に DONT_TOUCH を設定 し ます。 こ れに よ り 、 モジ ュ ールの境界を 越えた最適化は実行 さ れな く な り ます。 • セルの Pblock に EXCLUDE_PLACEMENT を設定 し ます。 こ れに よ り 、 ス タ テ ィ ッ ク ロ ジ ッ ク が リ コ ン フ ィ ギ ャ ラ ブル領域に配置 さ れ る こ と はな く な り ます。 • セルの Pblock に CONTAIN_ROUTING を設定 し ます。 こ れに よ り 、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのすべて の配線が境界内に収め ら れます。 • DRC、 ク ロ ッ ク 配線な ど で特別の コ ー ド を イ ネーブルに し ます。 リ コ ン フ ィ ギ ャ ラ ブル領域の フ ロ ア プ ラ ン を作成 各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンには、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに使用可能な物理 リ ソ ース を定義 す る ため Pblock が必要です。 こ の Pblock は リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに設定する ので、 次の制限お よ び 要件が適用 さ れます。 • Pblock には、 有効な リ コ ン フ ィ ギ ャ ラ ブル エ レ メ ン ト タ イ プのみを含め ます。 領域がほかのサ イ ト タ イ プ と 重 な る 可能性 も あ り ま すが、 こ れ ら のほかのサ イ ト は resize_pblock コ マ ン ド に含めない よ う にす る 必要があ り ます。 • 各 コ ン ポーネ ン ト タ イ プの複数の Pblock 矩形を使用 し て リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン領域を作成で き ますが、 配線性のため、 こ れ ら の矩形は連続 し てい る 必要があ り ます。 リ コ ン フ ィ ギ ャ ラ ブルでない リ ソ ース の ために間隔を あ け る こ と は可能ですが、 一般的には、 全体の形がシ ンプルであれば、 デザ イ ンは配置配線 し やす く な り ます。 • 7 シ リ ーズ デバ イ ス で RESET_AFTER_RECONFIG プ ロ パテ ィ を使用す る 場合は、 Pblock の高 さ を ク ロ ッ ク 領域 の境界に揃え る 必要があ り ます。詳細は、「 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用」 を参照 し て く だ さ い。 • 7 シ リ ーズ デバ イ ス では、 Pblock の幅お よ び構成に よ り 、 イ ン タ ー コ ネ ク ト 列が分割 さ れない よ う にす る 必要が あ り ます。 詳細は、 第 5 章の 「7 シ リ ーズ デバ イ ス での Pblock の作成」 を参照 し て く だ さ い。 • Pblock がデザ イ ンのほかの Pblock と 重な ら ない よ う にす る 必要があ り ます。 • リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのネ ス ト ( コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内に別の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を含め る ) は現在の と こ ろサポー ト さ れてい ません。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内の フ ロ アプ ラ ン ニ ン グ ロ ジ ッ ク の標準 Pblock がサポー ト さ れてい ます。 表 3‐4 : Pblock の コ マ ン ド と プ ロパテ ィ コ マ ン ド /プ ロパテ ィ 名 説明 create_pblock 各 リ コ ン フ ィ ギ ャ ラ ブ ル パー テ ィ シ ョ ン イ ン ス タ ン ス の 初期 Pblock を 作成 し ま す。 add_cells_to_pblock Pblock に含まれ る イ ン ス タ ン ス を指定 し ます。 通常、 ボ ト ム ア ッ プ 合成で定義 さ れ る 階層レベルを指定 し ます。 resize_pblock Pblock のサ イ ト タ イ プ (SLICE、 RAMB36 な ど ) と サ イ ト 位置を 定義 し ま す。 RESET_AFTER_RECONFIG リ コ ン フ ィ ギ ャ ラ ブル領域での専用 GSR イ ベ ン ト の使用 を 制御 す る Pblock プ ロ パテ ィ です。 こ のプ ロ パテ ィ を 使用す る こ と を強 く お勧め し ま す。 た だ し 、 7 シ リ ーズお よ び Zynq デバ イ ス の場合 は、 Pblock の高 さ が ク ロ ッ ク 領域の境界に揃え ら れて い る 必要が あ り ま す。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 25 第 3 章 : Vivado ツール フ ロー 表 3‐4 : Pblock の コ マ ン ド と プ ロパテ ィ コ マ ン ド /プ ロパテ ィ 名 説明 CONTAIN_ROUTING Pblock に含まれない配線 リ ソ ース が使用 さ れない よ う にす る Pblock プ ロ パテ ィ です。こ のプ ロ パテ ィ は PR では必須で、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに対 し て自動的に TRUE に設定 さ れます。ス タ テ ィ ッ ク 配線で Pblock 内の リ ソ ー ス を使用す る こ と は許容 さ れ ます。 EXCLUDE_PLACEMENT 定義 さ れた Pblock 範囲内に Pblock に含ま れない ロ ジ ッ ク が配置 さ れない よ う にす る Pblock プ ロ パテ ィ です。 こ のプ ロ パテ ィ は PR で は必須で、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに対 し て自動的に TRUE に設定 さ れます。RESET_AFTER_RECONFIG が使用 さ れない 場合は、 LOC プ ロ パテ ィ を使用 し て ス タ テ ィ ッ ク ロ ジ ッ ク を リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内に配置で き ます。 次に、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの制約例を示 し ます。 #define a new pblock create_pblock pblock_count #add a hierarchical module to the pblock add_cells_to_pblock [get_pblocks pblock_count] [get_cells [list inst_count]] #define the size and components within the pblock resize_pblock [get_pblocks pblock_count] -add {SLICE_X136Y50:SLICE_X145Y99} resize_pblock [get_pblocks pblock_count] -add {RAMB18_X6Y20:RAMB18_X6Y39} resize_pblock [get_pblocks pblock_count] -add {RAMB36_X6Y10:RAMB36_X6Y19} パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 26 第 3 章 : Vivado ツール フ ロー Vivado IDE での フ ロ ア プ ラ ン プ ロ ジ ェ ク ト モー ド はサポー ト さ れてい ま せんが、 Vivado IDE を使用 し て表示お よ び配置 タ ス ク を実行で き ま す。 [Device] ウ ィ ン ド ウ を使用 し て、 フ ロ アプ ラ ン用に Pblock 制約を作成お よ び変更する のがその よ い例です。 まず、 合 成済み ス タ テ ィ ッ ク デザ イ ン と 最大の リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール を 開 き ま す。 次に、 『Vivado Design Suite チ ュ ー ト リ アル : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (UG947)[参照 1] のチ ュ ー ト リ アル デザ イ ン を使用 し た コ マ ン ド 例を示 し ます。 open_checkpoint synth/Static/top_synth.dcp read_checkpoint -cell [get_cells inst_count] synth/count_up/count_synth.dcp read_checkpoint -cell [get_cells inst_shift] synth/shift_right/shift_synth.dcp set_property HD.RECONFIGURABLE true [get_cells inst_count] set_property HD.RECONFIGURABLE true [get_cells inst_shift] こ れで フル コ ン フ ィ ギ ュ レーシ ョ ンが メ モ リ に読み込まれ、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンが定義 さ れます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン用の Pblock 制約を作成す る には、 [Netlist] ウ ィ ン ド ウ で イ ン ス タ ン ス ( こ の場 合は inst_count ま たは inst_shift) を右 ク リ ッ ク し 、 [Draw Pblock] を ク リ ッ ク し ます。 [Device] ウ ィ ン ド ウ で矩形を作成 し 、 こ の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの リ ソ ース を選択 し ます。 こ の Pblock を選択す る と 、 [Properties] ウ ィ ン ド ウ に使用可能な リ ソ ース数 と 必要な リ ソ ース数が表示 さ れます。 必要 な数は現在読み込ま れてい る リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに よ っ て異な り 、ほかのモジ ュ ールの要件は異な る 場 合が あ る こ と に注意 し て く だ さ い。 適切な形状 (L 字型な ど) を 作成す る た めに矩形を追加す る 必要が あ る 場合は、 [Device] ウ ィ ン ド ウ で Pblock を右 ク リ ッ ク し 、 [Add Pblock Rectangle] を ク リ ッ ク し ます。 デザ イ ン ルール チ ェ ッ ク (DRC) を実行 し て、 メ モ リ 内の コ ン フ ィ ギ ュ レーシ ョ ン で フ ロ アプ ラ ンお よ びその他の項 目を検証 し ます。 DRC を実行す る には、 [Tools] → [Report] → [Report DRC] を ク リ ッ ク し 、 [Partial Reconfiguration] が オンにな っ てい る こ と を確認 し ます (図 3-1)。Pblock に HD.RECONFIGURABLE が設定 さ れていない場合、1 つの DRC のみが実行可能で、 次の図に示 さ れてい る よ う にすべては表示 さ れません。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 27 第 3 章 : Vivado ツール フ ロー X-Ref Target - Figure 3-1 図 3‐1 : Vivado IDE でのパーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン DRC パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 28 第 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] → [Save Checkpoint] ま たは同等のア イ コ ン を使用 し てデザ イ ン全体を保存 し ないで く だ さ い。 読み込まれてい る デザ イ ン を こ の方法で保存す る と 、 合成済みス タ テ ィ ッ ク デザ イ ン チ ェ ッ ク ポ イ ン ト が リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール と 追加制約を含む新 し いバージ ョ ンで上書き さ れます。 タ イ ミ ング制約 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンの タ イ ミ ン グ制約は、 従来の フ ラ ッ ト デザ イ ンの タ イ ミ ン グ制約 と 似てい ます。 プ ラ イ マ リ ク ロ ッ ク と I/O には、 対応す る 制約を設定す る 必要があ り ます。 こ れ ら の制約については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 15]の 「 ク ロ ッ ク の定義」 お よ び 「I/O 遅延の制約」 を参照 し て く だ さ い。 デザ イ ンに正 し い制約を適用 し た ら 、ス タ テ ィ ッ ク タ イ ミ ン グ解析を実行 し てデザ イ ンのパフ ォーマ ン ス を検証 し ま す。 こ の検証は、 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに対 し てデザ イ ン全体の コ ン テ キ ス ト で実行す る 必要があ り ま す。 デザ イ ン の解析方法の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 16] を参照 し て く だ さ い。 Vivado Design Suite には、 セル レベルの タ イ ミ ン グ レ ポー ト を実行す る 機能があ り ます。 特定の フ ィ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールで タ イ ミ ン グ解析 を実行す る には、 report_timing ま たは report_timing_summary に対 し 、 -cell オプシ ョ ン を使用 し ます。 こ れは、 以前の コ ン フ ィ ギ ュ レーシ ョ ンか ら イ ン ポー ト さ れて ロ ッ ク さ れてい る ス タ テ ィ ッ ク デザ イ ンの コ ン フ ィ ギ ュ レーシ ョ ンで、 特に便利です。 現在の制約セ ッ ト では、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの境界にあ る イ ン タ ー コ ネ ク ト タ イ ルに制約を適用 し た り 、 タ イ ミ ン グ解析を実行 し た り す る こ と はで き ません。 イ ン タ ー コ ネ ク ト タ イ ルの制約お よ び解析については、 今 後の リ リ ース用に調査中です。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 29 第 3 章 : Vivado ツール フ ロー パーテ ィ シ ョ ン ピ ン リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に定義 さ れた Pblock 領域内には、 パーテ ィ シ ョ ン ピ ン と 呼ばれ る イ ン タ ー フ ェ イ ス ポ イ ン ト が自動的に作成 さ れます。 こ れ ら の仮想 I/O は イ ン タ ー コ ネ ク ト タ イ ル内にア ン カー ポ イ ン ト と し て作成 さ れ、 モジ ュ ール間で一定に保たれ ます。 こ れ ら のア ン カー ポ イ ン ト を作成す る のに、 LUT やフ リ ッ プ フ ロ ッ プな ど の物理 リ ソ ース は不要で、 遅延が追加 さ れ る こ と も あ り ません。 ツールに よ り ソ ース、 ロ ー ド 、 お よ び タ イ ミ ン グ要件に基づいて位置が選択 さ れますが、 ユーザーが こ れ ら の位置を 駆動す る こ と も で き ます。 次の制約を適用す る と 、 パーテ ィ シ ョ ン ピ ンの配置を制御で き ます。 表 3‐5 : パーテ ィ シ ョ ン ピ ンの配置を制御する プ ロパテ ィ コ マ ン ド /プ ロパテ ィ 名 説明 HD.PARTPIN_LOCS 配線 さ れ る 指定ポー ト に イ ン タ ー コ ネ ク ト タ イ ル (INT) を 指定 し ま す。 HD.PARTPIN_RANGE よ り も 優先 さ れます。 こ のプ ロ パテ ィ は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの境界の両側にあ る ロ ジ ッ ク の配 置お よ び配線に影響 し ます。 ク ロ ッ ク ポー ト には使用 し ないで く だ さ い。 ク ロ ッ ク ポー ト に使用す る と 、 ク ロ ッ ク に ロ ーカル配線が使用 さ れます。 こ のプ ロ パテ ィ を専用接続には使用 し ないで く だ さ い。 HD.PARTPIN_RANGE 指定 し た ポー ト を 配線す る た めに使用可能な コ ン ポーネ ン ト サ イ ト (SLICE、 DSP、 BRAM) ま た は イ ン タ ー コ ネ ク ト タ イ ル (INT) の範 囲 を 定義 し ま す。 ク ロ ッ ク ポー ト に使用す る と 、 ク ロ ッ ク に ロ ーカ ル配線が使用 さ れ る ので、 ク ロ ッ ク ポー ト には使用 し な いで く だ さ い。 こ のプ ロ パテ ィ は専用接続には使用 し な いで く だ さ い。 パーテ ィ シ ョ ン ピ ンの配置を制御す る プ ロ パテ ィ の例 • 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] を イ ネーブルにす る と 表示で き ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 30 第 3 章 : Vivado ツール フ ロー リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用す る 機能を使用す る と 、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中に リ コ ン フ ィ ギ ュ レーシ ョ ン さ れ る 領域が一定 し た状態に保持 さ れ、新 し い リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのすべての ロ ジ ッ ク が開始値に初期化 さ れます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中、 ス タ テ ィ ッ ク 配線は影響を受けずに 領域を通過す る こ と がで き 、デバ イ ス のほかの部分にあ る ス タ テ ィ ッ ク ロ ジ ッ ク (お よ びほかの PR 領域) は通常どお り 動作 し 続け ま す。 こ の機能を使用す る パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは、 FPGA の初期 コ ン フ ィ ギ ュ レ ー シ ョ ン と 同様に動作 し 、 同期エ レ メ ン ト が既知の初期ス テー ト にな り ます。 重要 : GSR (グ ロ ーバル セ ッ ト / リ セ ッ ト ) や GWE (グ ロ ーバル ラ イ ト イ ネーブル) な ど のグ ロ ーバル信号の解放は、 チ ッ プ全体で同期す る と は限 り ません。 モジ ュ ール内の機能が初期化 さ れた順次エ レ メ ン ト の開始が同期 し てい る こ と に依存 し てい る 場合は、そのモジ ュ ール内の ロ ジ ッ ク を駆動する ク ロ ッ ク ま たはそれ ら のエ レ メ ン ト の ク ロ ッ ク イ ネーブルを リ コ ン フ ィ ギ ュ レーシ ョ ン中デ ィ ス エーブルに し 、 リ コ ン フ ィ ギ ュ レーシ ョ ンの完了後に再び イ ネーブル に し ます。 詳細は、 「ス タ ー ト ア ッ プ後に フ リ ッ プ フ ロ ッ プお よ び SRL を正 し く 同期化 さ せる ためのデザ イ ン ア ド バ イ ザ リ 」 (ザ イ リ ン ク ス ア ンサー 44174) [参照 31] を参照 し て く だ さ い。 次に、 RESET_AFTER_RECONFIG プ ロ パテ ィ の構文を示 し ます。 set_property RESET_AFTER_RECONFIG true [get_pblocks <reconfig_pblock_name>] 7 シ リ ーズの XADC コ ン ポーネ ン ト の DRP イ ン タ ーフ ェ イ ス がデザ イ ンで使用 さ れ る 場合、 RESET_AFTER_RECONFIG が イ ネーブルの と き 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中に こ の イ ン タ ーフ ェ イ ス はブ ロ ッ ク さ れます ( リ セ ッ ト に保持 さ れ る )。 イ ン タ ーフ ェ イ ス は応答せず (ビ ジー状態)、 こ のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中はア ク セ ス がない状態にな り ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンが完了する と 、 イ ン タ ーフ ェ イ ス は再びア ク セ ス可能にな り ます。 7 シ リ ーズお よ び Zynq-7000 AP 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 (pblock_count) と その上の ク ロ ッ ク 領域境界の間に配置 さ れてい る ス タ テ ィ ッ ク ロ ジ ッ ク が GSR の影響を 受け る ので、 フ レームに揃え ら れていない Pblock (図の pblock_count な ど) には、 RESET_AFTER_RECONFIG を設定で き ません。 UltraScale デバ イ ス の場合 : GSR 制御が改善 さ れてい る ので、 両方の Pblock は自動的に RESET_AFTER_RECONFIG を使用 し ます。 SNAPPING_MODE 制約を使用す る と 、有効な リ コ ン フ ィ ギ ャ ラ ブル Pblock が自動的に作成 さ れます。詳細は、第 5 章 の 「 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの自動調整」 (7 シ リ ーズ デバ イ ス) ま たは第 6 章の 「Pblock の PU の自動 調整」 (UltraScale デバ イ ス) を参照 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 31 第 3 章 : Vivado ツール フ ロー X-Ref Target - Figure 3-2 図 3‐2 : RESET_AFTER_RECONFIG を使用可能な Pblock (左) と 使用不可能な Pblock (右) GSR の機能はパーシ ャ ル ビ ッ ト ス ト リ ーム内に組み込ま れてい る ので、 リ コ ン フ ィ ギ ュ レーシ ョ ン中に こ の機能を 含め る ための操作は必要あ り ません。 ただ し 、 こ のプ ロ セ ス は SHUTDOWN シーケ ン ス ( リ コ ン フ ィ ギ ュ レーシ ョ ン す る 領域のみにマ ス ク ) を使用す る ので、 リ コ ン フ ィ ギ ュ レーシ ョ ン を開始 し た と き に外部 DONE ピ ン を Low に し 、 正 し く 完了 し た ら High にす る 必要があ り ます。 ボー ド を セ ッ ト ア ッ プす る 際に、 こ の動作を考慮す る 必要があ り ま す。 STARTUP ブ ロ ッ ク はシ ャ ッ ト ダ ウ ン中デ ィ ス エーブルにな る ので、 STARTUP ブ ロ ッ ク の DONEO を DONE ピ ンの ス テー ト が変化 し ない よ う にす る ために使用す る こ と はで き ません。 ま た、 RESET_AFTER_RECONFIG を使用 し てい る 場合、STARTUP をパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン ク ロ ッ ク を生成す る な ど のほかの目的で使用す る こ と はで き ません。 別のや り 方 と し て、 こ のプ ロ パテ ィ を使用せず、 正 し く 機能す る ために初期化が必要な リ コ ン フ ィ ギ ュ レーシ ョ ン さ れた ロ ジ ッ ク に ロ ーカル リ セ ッ ト を適用する 方法があ り ます。 こ の方法では、Pblock の高 さ を ク ロ ッ ク 領域の境界に 揃え る 必要はあ り ません。 GSR ま たは ロ ーカル リ セ ッ ト を使用 し ない場合、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内の 同期エ レ メ ン ト が初期の開始値にな ら ない可能性があ り ます。 表示ス ク リ プ ト を オ ン パーシ ャ ル ビ ッ ト ス ト リ ームの一部であ る コ ン フ ィ ギ ュ レーシ ョ ン タ イ ルを、 Vivado IDE の [Device] ウ ィ ン ド ウ に 表示で き ます。 こ れ ら は、 イ ンプ リ メ ン テーシ ョ ン中に作成 さ れ る ス ク リ プ ト で特定 さ れます。 ス ク リ プ ト の作成を オンにす る には、 イ ンプ リ メ ン テーシ ョ ンの開始前に次のパ ラ メ ー タ ーを設定 し ます。 set_param HD.VISUAL true こ れに よ り 、 run ス ク リ プ ト を起動 し たデ ィ レ ク ト リ 内に hd_visual デ ィ レ ク ト リ が作成 さ れ、 こ のデ ィ レ ク ト リ に複数の ス ク リ プ ト が配置 さ れ ます。 こ れ ら の ス ク リ プ ト を使用す る には、 Vivado IDE に配線済みデザ イ ン チ ェ ッ パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 32 第 3 章 : Vivado ツール フ ロー ク ポ イ ン ト を読み込み、 ス ク リ プ ト のいずれか を実行 し ます。 こ れ ら のデザ イ ン特定の ス ク リ プ ト では、 ユーザーが 定義 し た コ ン フ ィ ギ ュ レーシ ョ ン タ イ ルをハ イ ラ イ ト 、パーシ ャ ル BIT フ ァ イ ルを作成す る のに使用 さ れた コ ン フ ィ ギ ュ レーシ ョ ン フ レーム を表示、 PR フ ロ アプ ラ ンか ら 除外 さ れたサ イ ト を示 し ます。 モジ ュ ール解析や Tandem コ ン フ ィ ギ ュ レーシ ョ ン な ど のほかの フ ロ ー用に も ス ク リ プ ト が作成 さ れますが、 こ れ ら は PR では使用 さ れません。 ツール フ ロー こ のセ ク シ ョ ンでは基本フ ロ ーを説明 し 、 こ の フ ロ ーを実行す る ためのサンプル コ マ ン ド を示 し ます。 合成 ス タ テ ィ ッ ク モジ ュ ールを含む各モジ ュ ールは、それぞれにネ ッ ト リ ス ト /チ ェ ッ ク ポ イ ン ト が作成 さ れ る よ う に、ボ ト ム ア ッ プ合成す る 必要があ り ます。 1. 最上位モジ ュ ールの合成 read_verilog top.v (お よ び リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのブ ラ ッ ク ボ ッ ク ス モジ ュ ール定義 を含むス タ テ ィ ッ ク デザ イ ン に関連す る その他の HDL) こ の後次を実行 し ます。 read_xdc top_synth.xdc synth_design -top top -part xc7k70tfbg676-2 write_checkpoint top_synth.dcp 2. リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの合成 read_verilog rp1_a.v synth_design -top rp1 -part xc7k70tfbg676-2 -mode out_of_context write_checkpoint rp1_a_synth.dcp 3. 残 り の各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの合成 read_verilog rp1_b.v synth_design -top rp1 -part xc7k70tfbg676-2 -mode out_of_context write_checkpoint rp1_b_synth.dcp イ ン プ リ メ ン テーシ ョ ン すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを少な く と も 1 回 イ ン プ リ メ ン ト す る のに必要な数の コ ン フ ィ ギ ュ レー シ ョ ン を作成 し ます。 最初の コ ン フ ィ ギ ュ レーシ ョ ンで、 最上位 と 最初の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの合成結 果を読み込みます。 モジ ュ ールを リ コ ン フ ィ ギ ャ ラ ブル と マー ク し 、 イ ンプ リ メ ン テーシ ョ ン を実行 し ます。 完全な 配線済み コ ン フ ィ ギ ュ レーシ ョ ンのチ ェ ッ ク ポ イ ン ト を保存 し 、リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを必要に応 じ て再 利用で き る よ う に リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのチ ェ ッ ク ポ イ ン ト を保存 し ます。 最後に、 デザ イ ンか ら リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを削除 し (update_design -cell -black_box)、ス タ テ ィ ッ ク デザ イ ンのみのチ ェ ッ ク ポ イ ン ト を保存 し ます。 コ ン フ ィ ギ ュ レーシ ョ ン 1 : open_checkpoint top_synth.dcp read_xdc top_impl.xdc read_checkpoint -cell rp1 rp1_a_synth.dcp set_property HD.RECONFIGURABLE true [get_cells rp1] パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 33 第 3 章 : Vivado ツール フ ロー opt_design place_design route_design write_checkpoint config1_routed.dcp write_checkpoint -cell rp1 rp1_a_route_design.dcp update_design -cell rp1 -black_box lock_design -level routing write_checkpoint static_routed.dcp 2 番目の コ ン フ ィ ギ ュ レーシ ョ ンでは、リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールがブ ラ ッ ク ボ ッ ク ス と し て含まれてい る ス タ テ ィ ッ ク 部分の配置配線済みチ ェ ッ ク ポ イ ン ト を読み込みます (閉 じ てい る 場合)。 その後 2 番目の リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの合成結果を 読み込み、 デザ イ ン を イ ン プ リ メ ン ト し ま す。 最後に、 リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの 2 番目のバージ ョ ンの イ ンプ リ メ ン テーシ ョ ン チ ェ ッ ク ポ イ ン ト を保存 し ます。 コ ン フ ィ ギ ュ レーシ ョ ン 2 : open_checkpoint static_routed.dcp read_checkpoint -cell rp1 rp1_b_synth.dcp opt_design place_design route_design write_checkpoint config2_routed.dcp write_checkpoint -cell rp1 rp1_b_route_design.dcp ヒ ン ト : 各 コ ン フ ィ ギ ュ レーシ ョ ン を別の フ ォ ルダーに分け、 すべての中間チ ェ ッ ク ポ イ ン ト 、 ロ グお よ びレ ポー ト フ ァ イ ル、 BIT フ ァ イ ル、 その他のデザ イ ン出力が個別に保存 さ れ る よ う に し ます。 複数の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンがあ る 場合は、 ほかの コ ン フ ィ ギ ュ レーシ ョ ン も 必要です。 追加の コ ン フ ィ ギ ュ レーシ ョ ンは、 以前に イ ン プ リ メ ン ト 済みの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを イ ン ポー ト し て、 ハー ド ウ ェ アに読み込むフル デザ イ ン を作成する こ と に よ り 、 作成す る こ と も 可能です。 こ れは、 適切な電源投入の組み合 わせで フル ビ ッ ト ス ト リ ーム を作成す る 場合、 ま たは ス タ テ ィ ッ ク タ イ ミ ン グ解析、消費電力解析、 シ ミ ュ レーシ ョ ン を実行す る のに便利です。 重要 : イ ン プ リ メ ン ト 済み リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール チ ェ ッ ク ポ イ ン ト を再利用す る 際の問題については、 第 8 章の 「既知の問題」 を参照 し て く だ さ い。 レポー ト イ ンプ リ メ ン テーシ ョ ン フ ロ ーの各段階では、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン特定のデザ イ ン ルール チ ェ ッ ク (DRC) が実行 さ れます。 イ ンプ リ メ ン テーシ ョ ンで表示 さ れ る メ ッ セージに注意 し 、 ク リ テ ィ カル警告が発生 し て いないか を確認 し ます。 こ れ ら の メ ッ セージは、 モジ ュ ール イ ン タ ーフ ェ イ ス、 フ ロ アプ ラ ン な ど、 PR デザ イ ンの 重要な部分を最適化す る のに役立ち ます。 生成 さ れ る レ ポ ー ト に は、 PR 特定 の セ ク シ ョ ン は あ り ま せ ん が、 有益 な 情報 が 含 ま れ て い ま す。 た と え ば、 report_utilization コ マ ン ド で -pblocks オプシ ョ ン を使用す る と 、 リ ソ ー ス使用率を取得で き ま す。 こ の コ マ ン ド を実行す る と 、指定 し た リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内で使用可能な リ ソ ース数 と 使用 さ れてい る リ ソ ー ス数が示 さ れます。 次に、 『Vivado Design Suite チ ュ ー ト リ アル : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (UG947) [参 照 1] のデザ イ ン を使用 し た コ マ ン ド 例を示 し ます。 report_utilization -pblocks [get_pblocks pblock_count] パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 34 第 3 章 : Vivado ツール フ ロー コ ン フ ィ ギ ュ レーシ ョ ンの検証 すべての コ ン フ ィ ギ ュ レーシ ョ ン を完全に配置配線 し た ら 、 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>] 表 3‐6 : pr_verify コ マ ン ド のオプ シ ョ ン コ マ ン ド オプ シ ョ ン 説明 -full_check デ フ ォ ル ト では、 最初の差異のみが レ ポー ト さ れ ま す。 こ のオプ シ ョ ン を選択す る と 、 pr_verify に よ り 配置ま たは配線の差異が すべて レ ポー ト さ れます。 -file 結果を保存する フ ァ イ ルの名前を指定 し ます。 こ のオプシ ョ ン を使 用 し ない場合、 出力は コ ン ソ ールに表示 さ れます。 -initial すべてのチ ェ ッ ク ポ イ ン ト の比較基準 と な る 1 つの配線済みデザ イ ン チ ェ ッ ク ポ イ ン ト を指定 し ます。 -additional -initial で指定 し た チ ェ ッ ク ポ イ ン ト と 比較す る 配線済みデザ イ ン チ ェ ッ ク ポ イ ン ト を 1 つま たは複数指定 し ます。 複数のチ ェ ッ ク ポ イ ン ト を リ ス ト する 場合は、 次の よ う に中か っ こ で囲みます。 {config2.dcp config3.dcp config4.dcp} -quiet コ マ ン ド エ ラ ーを 非表示に し ま す。 -verbose プ ロ グ ラ ム実行中 メ ッ セージの制限を解除 し 、 すべての メ ッ セージ を表示 し ます。 次に、 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 つずつ 作成 し ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 35 第 3 章 : Vivado ツール フ ロー write_bitstream コ マ ン ド の -file オプシ ョ ン で コ ン フ ィ ギ ュ レ ーシ ョ ン名 と リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ー ル名を指定す る こ と をお勧め し ます。 ベース BIT フ ァ イ ル名のみが変更可能なので、 各 コ ン フ ィ ギ ュ レーシ ョ ンに ど の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを選択 し てい る か を記録 し てお く こ と が重要です。 次に、 上記のデザ イ ン を使用 し て、 配線済みチ ェ ッ ク ポ イ ン ト ( コ ン フ ィ ギ ュ レーシ ョ ン) を読み込み、 すべての イ ン プ リ メ ン ト 済み リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのビ ッ ト ス ト リ ーム を作成する 例を示 し ます。 open_checkpoint config1_routed.dcp write_bitstream config1 こ の コ マ ン ド に よ り 、 config1.bit と い う フル デザ イ ン ビ ッ ト ス ト リ ームが作成 さ れます。 電源を投入 し た と き に、 こ のビ ッ ト ス ト リ ーム を使用 し てデバ イ ス を プ ロ グ ラ ム し ます。 こ の ビ ッ ト ス ト リ ームには、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの機能 も 含まれてい ます。 こ の コ マ ン ド は、 FPGA の動作中に こ れ ら のモジ ュ ールを リ コ ン フ ィ ギ ュ レーシ ョ ンす る パーシ ャ ル BIT フ ァ イ ル config1_pblock_rp1_partial.bit お よ び config1_pblock_rp2_partial.bit も 作成 し ます。 各 コ ン フ ィ ギ ュ レーシ ョ ンに対 し て こ れ ら の手順を繰 り 返 し ます。 ヒ ン ト : 各パーシ ャ ル BIT フ ァ イ ルの名前を リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール イ ン ス タ ン ス と 一致する よ う に変更 し 、 モジ ュ ールを識別で き る よ う に し ます。 現在の ソ リ ュ ーシ ョ ンでは、 コ ン フ ィ ギ ュ レーシ ョ ンのベース名お よ び Pblock の名前に基づいてパーシ ャ ル BIT フ ァ イ ルの名前が付け ら れます。 <base_name>_<pblock_name>_partial.bit 完全なデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ルが不要な場合は、 1 つのパーシ ャ ル ビ ッ ト ス ト リ ーム を それだけ 作成で き ます。完全なデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン チ ェ ッ ク ポ イ ン ト を メ モ リ に読み込んでい る 場合は、-cell オプシ ョ ン を使用 し てパーシ ャ ル ビ ッ ト ス ト リ ームが必要な イ ン ス タ ン ス を指定 し ます。 こ のパーシ ャ ル ビ ッ ト ス ト リ ームの名前は、 Pblock 名か ら 自動的に作成 さ れないので、 指定で き ます。 write_bitstream -cell rp1 RM_count_down_partial.bit こ れに よ り 、 指定 し た リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのパーシ ャ ル ビ ッ ト ス ト リ ームのみが作成 さ れます。 注意 : リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール チ ェ ッ ク ポ イ ン ト に対 し て直接 write_bitstream コ マ ン ド を実行 し ない で く だ さ い。 デザ イ ン全体のチ ェ ッ ク ポ イ ン ト のみを使用 し て く だ さ い。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール チ ェ ッ ク ポ イ ン ト は配置配線済みのサブモジ ュ ールであ り 、 最上位デザ イ ンの イ ンプ リ メ ン テーシ ョ ン情報は含まれていな いので、 適切なパーシ ャ ル BIT フ ァ イ ルは作成 さ れません。 ス タ テ ィ ッ ク デザ イ ンのみのパ ワ ーオン コ ン フ ィ ギ ュ レーシ ョ ンが必要な場合は、 update_design -black_box お よ び update_design -buffer_ports を実行後、 空の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を含むチ ェ ッ ク ポ イ ン ト に対 し て write_bitstream コ マ ン ド を実行 し ます。 こ のブ ラ ッ ク ボ ッ ク ス コ ン フ ィ ギ ュ レーシ ョ ン を圧縮 し 、 BIT フ ァ イ ルのサ イ ズお よ び コ ン フ ィ ギ ュ レーシ ョ ン時間を削減で き ます。 重要 : RP の出力は駆動 さ れないので、 電源が投入 さ れた と き にデカ ッ プ リ ン グ ロ ジ ッ ク を イ ネーブルにな る よ う に デザ イ ン を構築す る 必要があ り ます。 ビ ッ ト ス ト リ ームの圧縮、 暗号化、 その他のア ド バン ス機能 も 使用で き ます。 Tcl ス ク リ プ ト こ の フ ロ ーを実行す る ための ス ク リ プ ト については、 『Vivado Design Suite チ ュ ー ト リ アル : 階層デザ イ ン』 (UG946) [ 参照 1] を参照 し て く だ さ い。 こ れ ら のサンプル ス ク リ プ ト の詳細は、 チ ュ ー ト リ アルお よ びサンプル デザ イ ン ZIP フ ァ イ ルに含まれてい る readme.txt を参照 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 36 第 4章 すべてのザイ リ ン ク ス デバイ スでの設計に 関する考慮事項 と ガ イ ド ラ イ ン 概要 こ の章では、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン特定のデザ イ ン要件 と 、 ザ イ リ ン ク ス デザ イ ン ツールの PR 機 能について説明 し ます。 ザ イ リ ン ク ス FPGA のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン機能を使用する には、 デザ イ ン仕様を注意深 く 解析 し 、 PR デザ イ ンの要件、 特性、 制限を考慮す る 必要があ り ます。 こ れに よ り 、 設計お よ びデバ ッ グ プ ロ セ ス が簡潔にな り 、 デザ イ ンが不正に動作す る リ ス ク を回避で き ます。 こ の章では、 すべてのザ イ リ ン ク ス 7 シ リ ーズお よ び UltraScale™ デバ イ ス に適用 さ れ る デザ イ ン要件を示 し ます。 個々の FPGA お よ び SoC アーキテ ク チ ャ に特定のデザ イ ン要件は、 次の章を参照 し て く だ さ い。 • 第 5 章 「7 シ リ ーズお よ び Zynq デバ イ ス での設計に関する 考慮事項 と ガ イ ド ラ イ ン」 • 第 6 章 「UltraScale デバ イ ス での設計に関す る 考慮事項 と ガ イ ド ラ イ ン」 デザイ ン階層 適切な階層デザ イ ン を作成す る こ と に よ り 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン可能な FPGA デザ イ ン を イ ン プ リ メ ン ト す る 際の複雑 さ お よ び困難 さ の多 く を解決で き ます。デザ イ ン イ ン ス タ ン ス階層を明確に定義す る こ と に よ り 、 物理制約お よ び タ イ ミ ン グ制約が簡略化 さ れます。 ス タ テ ィ ッ ク ロ ジ ッ ク と リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク の 境界の信号に レ ジ ス タ を付け る と 、 タ イ ミ ン グ ク ロ ージ ャ を達成 し やす く な り ます。 同 じ 階層 レベルに配置す る ロ ジ ッ ク を グループ化す る こ と も 必要です。 こ れ ら は よ く 知 ら れてい る 設計事例ですが、 通常の FPGA デザ イ ンではそれに沿っ ていない こ と が よ く あ り ます。 こ う し たデザ イ ン規則に従 う こ と はパーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン デザ イ ン で も 厳密には必要あ り ま せんが、 従っ ておかない と 悪影響が出 る 可能性があ り ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの利点は大 き いですが、デ ザ イ ンが よ り 複雑にな る ので、 特にハー ド ウ ェ アでのデバ ッ グは困難です。 デザ イ ン階層の詳細は、 次を参照 し て く だ さ い。 • 『階層デザ イ ン設計手法ガ イ ド 』 (UG748) [参照 7] • 『デザ イ ン保持を使用 し た再現可能な結果の取得』 (WP362) [参照 8] DRP を使用 し たダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ス タ テ ィ ッ ク 領域にあ り 、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン さ れない ロ ジ ッ ク も 、ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP) を使用 し て動的に リ コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 DRP は、 MMCM、 PLL、 シ リ アル ト ラ ン シーバー (MGT) な ど の ロ ジ ッ ク エ レ メ ン ト を コ ン フ ィ ギ ュ レーシ ョ ンす る のに使用で き ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 37 第 4 章 : すべてのザイ リ ン ク ス デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン 特定のデザ イ ン リ ソ ース に対す る DRP の使用方法を含む DRP お よ びダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ンの詳 細は、 次の資料を参照 し て く だ さ い。 • 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470) [参照 3] • 『7 シ リ ーズ FPGA GTX/GTH ト ラ ン シーバー ユーザー ガ イ ド 』 (UG476) [参照 17] • 『7 シ リ ーズ FPGA GTP ト ラ ン シーバー ユーザー ガ イ ド 』 (UG482) [参照 18] • 『MMCM お よ び PLL のダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン』 (XAPP888) [参照 19] • 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570) [参照 4] • 『UltraScale アーキ テ ク チ ャ ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG572) [参照 20] • 『UltraScale アーキ テ ク チ ャ GTH ト ラ ン シーバー ユーザー ガ イ ド 』 (UG576) [参照 21] • 『UltraScale アーキ テ ク チ ャ GTH ト ラ ン シーバー ユーザー ガ イ ド 』 (UG576) [参照 22] ロ ジ ッ ク のパ ッ ク 同 じ 階層レベルにパ ッ ク す る 必要のあ る ロ ジ ッ ク は、 ス タ テ ィ ッ ク ま たは リ コ ン フ ィ ギ ャ ラ ブルにかかわ ら ず、 同 じ グループに配置す る 必要があ り ます。 た と えば、 LUT と フ リ ッ プ フ ロ ッ プ を同 じ ス ラ イ ス に配置する には、 同 じ パー テ ィ シ ョ ンに含め る 必要があ り ます。 パーテ ィ シ ョ ンの境界を超え る 最適化は実行 さ れません。 デザイ ン イ ン ス タ ン スの階層 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を最上位に イ ン ス タ ン シエー ト する のが最 も 簡単な方法ですが、こ れは必須で はな く 、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンはど の階層レベルに も 配置で き ます。 各 リ コ ン フ ィ ギ ャ ラ ブル パー テ ィ シ ョ ンは 1 つの イ ン ス タ ン ス に対応 し てい る 必要があ り ます。 RP で複数の最上位を持つ こ と はで き ない場合が あ り ます。 イ ン ス タ ン シエーシ ョ ンには、 関連す る モジ ュ ールが複数含まれます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのイ ン タ ー フ ェ イ ス パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン可能なデザ イ ンの基本的な要件の 1 つに、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール 間の一貫性があ り ます。 1 つのモジ ュ ールを別のモジ ュ ールに置 き 換え る ので、 ス タ テ ィ ッ ク デザ イ ン と リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの間の接続が、 論理的お よ び物理的に同一で あ る 必要が あ り ま す。 こ の一貫性 を得 る ため、 パーテ ィ シ ョ ン境界を越え る 最適化お よ び境界その も のの最適化は実行で き ません。 効率を で き る かぎ り 高め る ため、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのすべてのポー ト が ス タ テ ィ ッ ク デザ イ ン 側でア ク テ ィ ブに使用 さ れ る よ う に し ます。 た と えば、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の ス タ テ ィ ッ ク ド ラ イ バーが定数 (0 ま たは 1) で駆動 さ れ る 場合、 LUT イ ン ス タ ン ス を作成 し 、 ロ ーカルで定数 ド ラ イ バーに接続 し て イ ンプ リ メ ン ト し 、 最適化で削除 さ れない よ う に し ます。 同様に、 未接続の出力が リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの出力にあ る と 、 デザ イ ン全体に無駄が出ます。 こ れ ら の方法は イ ンプ リ メ ン テーシ ョ ン ツールで適用 さ れ る よ う に し 、 デザ イ ン アセ ンブ リ の段階ですべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールが同 じ ポー ト を持つ よ う にす る 必要 があ り ます。 推奨 : 合成後にすべての リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの イ ン タ ーフ ェ イ ス を確認 し 、定数ポー ト ま たは未接 続のポー ト の数を で き る だけ少な く し て く だ さ い。 無駄な ロ ジ ッ ク を な く す こ と に よ り 、 リ ソ ース使用率が下が り 、 配線密集や タ イ ミ ン グ ク ロ ージ ャ の問題に対処 し やす く な り ます。 パーテ ィ シ ョ ン イ ン タ ーフ ェ イ ス には、 次の 6 つの状況があ り ます。 1. ス タ テ ィ ッ ク 側 と リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール側の両方がア ク テ ィ ブ ロ ジ ッ ク (パーテ ィ シ ョ ンの入力ま たは出力) こ れが最適な状況です。 パーテ ィ シ ョ ン ピ ンが挿入 さ れます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 38 第 4 章 : すべてのザイ リ ン ク ス デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン 推奨 : パーテ ィ シ ョ ン入力が VCC ま たは GND で駆動 さ れ る 場合は、こ れ ら の制約を リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ー ルに設定 し て く だ さ い。 こ れに よ り LUT の使用数が削減 さ れ、 イ ンプ リ メ ン テーシ ョ ン ツールに よ り こ れ ら の定数 を RM ロ ジ ッ ク と 共に最適化で き る よ う にな り ます。 2. ス タ テ ィ ッ ク 側にはア ク テ ィ ブ ド ラ イ バーがあ る が、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールにはア ク テ ィ ブ ロ ー ド がない (パーテ ィ シ ョ ンの入力) すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの I/O 要件が同 じ であ る と は限 ら ない場合があ る ので、 こ の状況は許 容 さ れます。 パーテ ィ シ ョ ン ピ ンが挿入 さ れ、 未使用の入力ポー ト は未接続の ま ま にな り ます。 た と えば、 1 つのモジ ュ ールで CLK_A が必要で、 2 番目のモジ ュ ールで CLK_B が必要な場合、 ク ロ ッ ク スパ イ ンは リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの ク ロ ッ ク 領域にあ ら か じ め配線 さ れますが、モジ ュ ールは必要な ク ロ ッ ク ソ ース のみを使用 し ます。 ただ し 、 パーテ ィ シ ョ ン入力が リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールで使用 さ れ ない場合は、 パーテ ィ シ ョ ン イ ン ス タ ン シエーシ ョ ンか ら 削除する 必要があ り ます。 3. ス タ テ ィ ッ ク 側にはア ク テ ィ ブ ロ ー ド があ る が、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールにはア ク テ ィ ブ ド ラ イ バー がない (パーテ ィ シ ョ ンの出力) こ の状況は 2 と 似てお り 、 許容 さ れます。 パーテ ィ シ ョ ン ピ ンが挿入 さ れ、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール 内でグ ラ ン ド (論理 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 イ ン ス タ ン ス が続 き ます。 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>/*] パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 39 第 4 章 : すべてのザイ リ ン ク ス デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン デフ ォ ル ト では、 HD.PARTPIN_RANGE は Pblock 範囲全体に設定 さ れ ま す。 ユーザー範囲を定義す る こ と に よ り 、 PartPin が指定のエ リ アに配置 さ れ、 タ イ ミ ン グ を向上 し た り 、 密集を緩和 し た り で き ます。 重要 : PartPin の配置を調べ る 際は、 境界沿い、 特に Pblock の角では、 配線 リ ソ ース に制限があ り ます。 PartPin の配 置では、 パーテ ィ シ ョ ン ピ ン が分散 さ れ、 境界沿いでは イ ン タ ー コ ネ ク ト ご と のパーテ ィ シ ョ ン ピ ンの数が最小限 にな り 、 Pblock の中央に向か っ て PartPin の集積度が増加す る よ う 配置 さ れます。 カ ス タ ム HD.PARTPIN_RANGE 制 約を定義す る 際は、分散す る のに十分な範囲を指定 し て く だ さ い。そ う し ない と 、PartPin の周辺で配線が密集 し ます。 ア ク テ ィ ブ 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 が推論 さ れ、 デザ イ ン パフ ォーマ ン スへの影響が最小限に 抑え ら れます。 デ カ ッ プ リ ング機能 リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク は FPGA が動作中に変更 さ れ る ので、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中は、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの出力に接続 さ れてい る ス タ テ ィ ッ ク ロ ジ ッ ク で リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ー ルか ら のデー タ を無視す る 必要があ り ま す。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン が完了 し 、 リ コ ン フ ィ ギ ュ レー シ ョ ン さ れた ロ ジ ッ ク が リ セ ッ ト さ れ る ま で、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは有効なデー タ を出力 し ません。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの機能を予測ま たはシ ミ ュ レーシ ョ ンする 方法はあ り ません。 デカ ッ プ リ ン グ ス ト ラ テジの解決方法を決めてお く 必要があ り ます。 こ の問題を回避する 最 も 一般的な方法は、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールか ら のすべての出力信号 ( イ ン タ ーフ ェ イ ス の ス タ テ ィ ッ ク 側) に レ ジ ス タ を付け る こ と です。 リ コ ン フ ィ ギ ュ レーシ ョ ンが完了す る ま で ロ ジ ッ ク を分離す る には、 イ ネーブル信号を使用で き ます。 ほか に、各出力ポー ト に単純な 2:1 マルチプ レ ク サーを付け る 方法、高度なバ ス コ ン ト ロ ー ラ ー フ ァ ン ク シ ョ ン を使用す る 方法な ど があ り ます。 ス タ テ ィ ッ ク デザ イ ンには、デー タ お よ び イ ン タ ーフ ェ イ ス の管理に必要な ロ ジ ッ ク を含め る 必要があ り ます。 ハン ド シ ェ ー ク や イ ン タ ーフ ェ イ ス のデ ィ ス エーブル (バ ス構造で無効な ト ラ ンザ ク シ ョ ン を回避す る ために必要な場合 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 40 第 4 章 : すべてのザイ リ ン ク ス デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン あ り ) な ど の メ カ ニ ズ ム を利用で き ま す。 ま た、 PR モジ ュ ールのダ ウ ン タ イ ム パ フ ォ ーマ ン ス の影響 ( リ コ ン フ ィ ギ ュ レーシ ョ ン中ま たは リ コ ン フ ィ ギ ュ レーシ ョ ン後に PR モジ ュ ールに含ま れ る 共有 リ ソ ース が使用で き ない) を 考慮す る の も よ いで し ょ う 。 ブ ラ ッ ク ボ ッ ク ス RP はブ ラ ッ ク ボ ッ ク ス と し て イ ンプ リ メ ン ト で き ます。 こ れには、 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] イ ン プ リ メ ン テーシ ョ ン での効果的な方法 FPGA デザ イ ンの最適化には、 常に ト レー ド オ フ があ り ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン も 例外ではあ り ません。 パーテ ィ シ ョ ン を越え る 最適化は実行 さ れず、 リ コ ン フ ィ ギ ャ ラ ブル フ レームには特定の レ イ ア ウ ト 制約が 必要です。 こ れ ら は、 リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン を構築する 際の追加の コ ス ト です。 タ イ ミ ン グお よ びエ リ アの追加のオーバーヘ ッ ド は、 デザ イ ンに よ っ て異な り ます。 影響を最小限に抑え る には、 こ のガ イ ド に示 さ れてい る デザ イ ン ガ イ ド ラ イ ンに従い ます。 リ コ ン フ ィ ギ ャ ラ ブル デザ イ ン の コ ン フ ィ ギ ュ レーシ ョ ン を構築す る 際、 最初に イ ン プ リ メ ン ト す る コ ン フ ィ ギ ュ レーシ ョ ン を一番難 し い も のに し てお き ます。 選択 し た物理領域に、 各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール用に十分な リ ソ ース (特にブ ロ ッ ク RAM、 DSP48 な ど) があ る こ と を確認 し 、 各 RP で タ イ ミ ン グ ま たはエ リ アに関 し て、 一番難 し い RM を選択 し ます。 その後の コ ン フ ィ ギ ュ レーシ ョ ンの RM がすべ パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 41 第 4 章 : すべてのザイ リ ン ク ス デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン て最初の RM よ り 小型 ま たは低速であれば、 要件を満たすのが楽にな り ま す。 タ イ ミ ン グは、 すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの要件を満たせ る よ う に、 設定 し てお く 必要があ り ます。 ど の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールが最 も 困難かが判断 し に く い場合は、各モジ ュ ールを ス タ テ ィ ッ ク と 共に イ ン プ リ メ ン ト し 、 それぞれに対 し て ス タ テ ィ ッ ク を配置配線 し ます。 リ ソ ース使用率統計お よ び タ イ ミ ン グ レ ポー ト を 確認 し 、 ど の コ ン フ ィ ギ ュ レーシ ョ ンがデザ イ ン要件を最 も 簡単に満た し てい る か、 許容誤差が最 も 厳 し いのはどれ か、 最 も 大 き いマージ ンで タ イ ミ ン グ を満た し ていないのはどれかを調べます。 重要 : 要件 と の差が最 も 大 き い コ ン フ ィ ギ ュ レーシ ョ ンに集中 し 、 要件が満た さ れ る ま でデザ イ ン ソ ース、 制約、 お よ びス ト ラ テジ を反復実行 し ます。 あ る 時点で、 1 つの コ ン フ ィ ギ ュ レーシ ョ ン を ス タ テ ィ ッ ク デザ イ ンに使用す る 結果 と 決定す る 必要があ り ま す。 ス タ テ ィ ッ ク ロ ジ ッ ク のその イ ン プ リ メ ン テーシ ョ ン を ほかの コ ン フ ィ ギ ュ レー シ ョ ンすべてで使用 し ます。 イ ン プ リ メ ン テーシ ョ ン要件の作成 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの イ ンプ リ メ ン テーシ ョ ンでは、 基本的な規則に従 う 必要があ り ます。 こ れ ら の規則は、 パーシ ャ ル ビ ッ ト ス ト リ ーム を正 し く 作成 し 、 ア ク テ ィ ブ FPGA に安全に読み込む こ と がで き る よ う に す る ための も のです。 こ れ ら の規則では、 次を前提 と し てい ます。 • リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの論理お よ び物理 イ ン タ ーフ ェ イ ス は、 各 リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールを イ ンプ リ メ ン ト し た と き に一貫 し てい る 必要があ り ます。 • リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの ロ ジ ッ ク お よ び配線は、 物理領域内に完全に含まれてい る 必要があ り 、 こ れがパーシ ャ ル ビ ッ ト ス ト リ ームに変換 さ れます。 • 専用初期化機能を使用す る 場合は、 ス タ テ ィ ッ ク デザ イ ンの ロ ジ ッ ク は リ コ ン フ ィ ギ ャ ラ ブル領域に含めない よ う にす る 必要があ り ます。 こ れ ら の要件には、 最適化、 配置、 お よ び配線において特定の イ ンプ リ メ ン テーシ ョ ン規則が必要にな り ます。 こ れ ら の規則を適用す る こ と に よ り 、 タ イ ミ ン グ ク ロ ージ ャ を含むデザ イ ン要件を満たすのが困難にな る 場合があ り ま す。 こ れ ら の要件を 1 つずつ設定 し 、 各 ス テ ッ プで結果を解析す る よ う に し て く だ さ い。 一番難 し い コ ン フ ィ ギ ュ レーシ ョ ン と タ イ ミ ン グ制約の フル セ ッ ト か ら 始め、デザ イ ンの イ ンプ リ メ ン テーシ ョ ン を配置配線ま で実行 し て結 果を解析 し 、 次の ス テ ッ プに進むための十分な タ イ ミ ン グ ス ラ ッ ク と リ ソ ース があ る こ と を確認 し ます。 1. デザ イ ン を Pblock な し で イ ンプ リ メ ン ト し ます。 ボ ト ム ア ッ プ合成を使用 し て、 境界に レ ジ ス タ を付け る 、 ベー ス ラ イ ン結果を達成す る な ど、 通常の階層デザ イ ンの推奨事項に従い ます。 2. 後で リ コ ン フ ィ ギ ャ ラ ブルに指定 さ れ る デザ イ ン パーテ ィ シ ョ ンに Pblock を追加 し ます。 こ の フ ロ アプ ラ ンは、 手順 1 のボ ト ム ア ッ プ合成の結果に基づいて指定で き ます。リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールか ら の ロ ジ ッ ク は Pblock に配置す る 必要があ り ますが、 ス タ テ ィ ッ ク ロ ジ ッ ク も 配置で き ます。 こ れ ら の Pblock を作成す る 際、 PR 特定のデザ イ ン ルール チ ェ ッ ク を実行す る ため、 HD.RECONFIGURABLE プ ロ パテ ィ (お よ びオプシ ョ ンで RESET_AFTER_RECONFIG プ ロ パテ ィ ) を一時的に追加で き ます。 こ れに よ り 、 作成 し た フ ロ アプ ラ ンが PR のサ イ ズお よ びア ラ イ メ ン ト 要件を満た し てい る かを確認で き ます。 3. フ ロ アプ ラ ン を作成 し た ら 、 Pblock に EXCLUSIVE_PLACEMENT プ ロ パテ ィ を追加 し て ス タ テ ィ ッ ク デザ イ ン リ ソ ース の配置を リ コ ン フ ィ ギ ャ ラ ブル リ ソ ース か ら 離 し ます。 こ れに よ り 、 ス タ テ ィ ッ ク ロ ジ ッ ク が確実に Pblock 外に配置 さ れます。 4. Pblock に CONTAIN_ROUTING プ ロ パテ ィ を適用 し て、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの配線が Pblock 内に 制限 さ れ る よ う に し ます。 こ の ス テ ッ プ と 前の ス テ ッ プのプ ロ パテ ィ を設定 し た ら 、 残 り の規則は境界の最適化 と PR 特定のデザ イ ン ルール チ ェ ッ ク に関連す る も ののみです。 5. 最後に、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock に HD.RECONFIGURABLE を設定 し て リ コ ン フ ィ ギ ャ ラ ブルに指定 し ます。 EXCLUSIVE_PLACEMENT お よ び CONTAIN_ROUTING プ ロ パテ ィ は重複 と な る ので、 削除 で き ます。 こ れ ら のいずれかの ス テ ッ プでデザ イ ン要件が満た さ れない場合は、 新たに適用 し た イ ンプ リ メ ン テーシ ョ ン条件で デザ イ ン構造 と 制約を見直す こ と がで き ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 42 第 4 章 : すべてのザイ リ ン ク ス デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン リ コ ン フ ィ ギ ャ ブル パーテ ィ シ ョ ン境界の定義 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは、 フ レーム ご と に実行 さ れます。 そのため、 作成 さ れたパーシ ャ ル BIT フ ァ イ ルは、 複数の コ ン フ ィ ギ ュ レーシ ョ ン フ レーム で構築 さ れ ます。 パーシ ャ ル BIT フ ァ イ ルのサ イ ズは、 含ま れ る フ レームの数お よ び タ イ プに よ り ます。 サ イ ズは、 write_bitstream -rawbitfile コ マ ン ド で作成 さ れた ロ ー ビ ッ ト フ ァ イ ル (.rbt) のヘ ッ ダーで確認で き ます。 パーテ ィ シ ョ ン の境界は リ コ ン フ ィ ギ ャ ラ ブル フ レ ーム の境界に揃っ てい る 必要はあ り ま せんが、 揃っ てい る と 、 も っ と も 効果的な配置配線結果が得 ら れます。 次の両方の条件が満た さ れていれば、 リ コ ン フ ィ ギ ュ レーシ ョ ン さ れ る フ レームに ス タ テ ィ ッ ク ロ ジ ッ ク を含め る こ と がで き ます。 • ス タ テ ィ ッ ク ロ ジ ッ ク が Pblock で定義 さ れたエ リ ア グループの外にあ る • ス タ テ ィ ッ ク ロ ジ ッ ク にブ ロ ッ ク RAM、 分散 (LUT) RAM、 SRL な ど のダ イ ナ ミ ッ ク エ レ メ ン ト が含まれてい ない (7 シ リ ーズ デバ イ ス のみ) ス タ テ ィ ッ ク ロ ジ ッ ク を リ コ ン フ ィ ギ ャ ラ ブル フ レームに配置す る 場合、 ス タ テ ィ ッ ク ロ ジ ッ ク の機能が正確に再 度書 き 込まれ、 グ リ ッ チは発生 し ません。 T 形や L 形な ど の形状のパーテ ィ シ ョ ン も 使用で き ますが、 使用 し ない こ と をお勧め し ます。 配線 リ ソ ース を完全に こ れ ら の領域に収め る 必要があ る ので、 その よ う な領域の配置配線が難 し く な る こ と があ り ます。 パーテ ィ シ ョ ンの 境界を接触 さ せ る こ と はで き ますが、 こ れ ら のパーテ ィ シ ョ ンは ス タ テ ィ ッ ク デザ イ ンに接続 さ れ る ので、 多少隔た り があ る 方が、 配線に制限が出て く る 可能性を回避で き ます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を ネ ス ト さ せた り ( コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内に別の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を含め る )、 重ねた り す る こ と はで き ません。 デザ イ ン ルール チ ェ ッ ク ([Tools] → [Report] → [Report DRC]) に よ り 、 PR デザ イ ンのパーテ ィ シ ョ ンお よ び設定が確認 さ れます。 物理的な リ コ ン フ ィ ギ ャ ラ ブル フ レーム 1 つに対 し て、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンは 1 つだけです。 リ コ ン フ ィ ギ ャ ラ ブル フ レームは、 リ コ ン フ ィ ギ ュ レーシ ョ ン可能な最小の物理領域で、 その高 さ は ク ロ ッ ク 領域ま たは I/O バン ク の境界に揃っ てい ます。リ コ ン フ ィ ギ ャ ラ ブル フ レームに複数の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンか ら の ロ ジ ッ ク を含め る こ と はで き ません。複数の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンか ら の ロ ジ ッ ク を含め る と 、間違っ た リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールか ら の情報で領域が リ コ ン フ ィ ギ ュ レーシ ョ ン さ れて し ま う 可能性が あ り 、競合が発生す る 原因 と な り ます。 ツールは、 こ の よ う な リ ス ク の高い状況を回避す る よ う に設計 さ れてい ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 43 第 4 章 : すべてのザイ リ ン ク ス デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン デザイ ン リ ビ ジ ョ ン チ ェ ッ ク 第 7 章 「デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン」 で説明する よ う に、 パーシ ャ ル ビ ッ ト ス ト リ ームにはプ ロ グ ラ ム情報 以外の も のはほ と ん ど含まれません。 BIT フ ァ イ ルの一部であ る ア ド レ ス指定に よ り ダ イ の位置が決ま る のでビ ッ ト ス ト リ ームの タ ーゲ ッ ト 位置を特定す る 必要はあ り ませんが、パーシ ャ ル ビ ッ ト ス ト リ ームが現在動作中のデザ イ ン と 互換性があ る か ど う か をチ ェ ッ ク す る 機能はハー ド ウ ェ アにはあ り ません。パーシ ャ ル ビ ッ ト ス ト リ ーム を その リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの リ ビ ジ ョ ン と 共に イ ン プ リ メ ン ト さ れていない ス タ テ ィ ッ ク デザ イ ンに読み込む と 、 予測不可能な動作が発生す る こ と があ り ます。 パーシ ャ ル ビ ッ ト ス ト リ ームにデザ イ ン、 リ ビ ジ ョ ン、 モジ ュ ールを識別する 接頭辞を付け る こ と をお勧め し ます。 パーシ ャ ル ビ ッ ト ス ト リ ームがそれを含むデザ イ ン と 互換性があ る こ と を確認する ため、こ の識別子は コ ン フ ィ ギ ュ レーシ ョ ン コ ン ト ロ ー ラ ーに よ り 処理 さ れ ま す。 不一致が検出 さ れ る と 、 互換性のない ビ ッ ト ス ト リ ームは、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ に読み込 ま れ る 前に、 却下 さ れ ま す。 こ の機能をデザ イ ン の一部 と し て含め る 必要があ り 、 『PRC/EPRC : パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン のデー タ イ ン テ グ リ テ ィ お よ びセ キ ュ リ テ ィ コ ン ト ロ ー ラ ー』 (XAPP887) [参照 23] に説明 さ れてい る 暗号化ま たは CRC チ ェ ッ ク と 同様の も のか、 それ ら と 組み合わせた も のにす る こ と がで き ます。 ビ ッ ト ス ト リ ー ム 機 能 は、 デ ザ イ ン リ ビ ジ ョ ン に タ グ を つ け る の に 単純 な メ カ ニ ズ ム を 提供 し ま す。 BITSTREAM.CONFIG.USR_ACCESS プ ロ パテ ィ を使用する と 、 リ ビ ジ ョ ン ID を直接ビ ッ ト ス ト リ ームに入力で き ま す。 こ の ID は USR_ACCESS レ ジ ス タ に配置 さ れ、 FPGA ロ ジ ッ ク か ら 同 じ 名前の ラ イ ブ ラ リ プ リ ミ テ ィ ブ を使用 し てア ク セ ス で き ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン で こ の値を読み出 し 、 パーシ ャ ル ビ ッ ト ス ト リ ーム の情報 と 比較 し て、 デザ イ ン の リ ビ ジ ョ ン が一致 し て い る こ と を確認で き ま す。 こ の ス イ ッ チの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 24] の 「デバ イ ス コ ン フ ィ ギ ュ レー シ ョ ン ビ ッ ト ス ト リ ーム設定」、 お よ び 『Bitstream Identification with USR_ACCESS』 (XAPP497) [参照 25] を参照 し て く だ さ い。 注意 : TIMESTAMP 機能は使用 し な い で く だ さ い。 こ の値は write_bitstream の各実行で一貫 し て い ま せん。 write_bitstream のすべての実行で、 一貫 し た明示的な ID のみを使用 し て く だ さ い。 シ ミ ュ レーシ ョ ンおよび検証 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンの コ ン フ ィ ギ ュ レーシ ョ ンは、 それ自体で完全なデザ イ ン です。 す べての標準シ ミ ュ レーシ ョ ン、 タ イ ミ ン グ解析、 お よ び検証手法が PR デザ イ ンでサポー ト さ れてい ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンのみを シ ミ ュ レーシ ョ ンす る こ と はで き ません。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 44 第 5章 7 シ リ ーズおよび Zynq デバイ スでの設計に 関する考慮事項 と ガ イ ド ラ イ ン 概要 こ の章では、 7 シ リ ーズお よ び Zynq®-7000 AP SoC デバ イ ス に特定のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン要件について説明 し ます。 ザ イ リ ン ク ス FPGA のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン機能を使用する には、 デザ イ ン仕様を注意深 く 解析 し 、 PR デザ イ ンの要件、 特性、 制限を考慮す る 必要があ り ます。 こ れに よ り 、 設計お よ びデバ ッ グ プ ロ セ ス が簡潔にな り 、 デザ イ ンが不正に動作す る リ ス ク を回避で き ます。 リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール内のデザイ ン エ レメント すべての ロ ジ ッ ク が リ コ ン フ ィ ギ ュ レーシ ョ ン可能なわけではあ り ません。 グ ロ ーバル ロ ジ ッ ク お よ び ク ロ ッ ク リ ソ ース は、 リ コ ン フ ィ ギ ュ レーシ ョ ン中 も 動作す る よ う に し 、フル デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン後の初期化シー ケ ン ス が適用 さ れ る よ う にす る ため、 ス タ テ ィ ッ ク 領域に配置す る 必要があ り ます。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールには、 次の ロ ジ ッ ク を配置で き ます。 • FPGA の 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 を使用 し て入力 次を含むその他の ロ ジ ッ ク は ス タ テ ィ ッ ク ロ ジ ッ ク に配置 し 、 RM には配置 し ないで く だ さ い。 • ク ロ ッ ク お よ び ク ロ ッ ク 調整 ロ ジ ッ ク : BUFG、 BUFR、 MMCM、 PLL な ど の コ ン ポーネ ン ト • I/O お よ び I/O 関連の コ ン ポーネ ン ト : ISERDES、 OSERDES、 IDELAYCTRL な ど • シ リ アル ト ラ ン シーバー (MGT) お よ び関連の コ ン ポーネ ン ト • アーキ テ ク チ ャ 機能 コ ン ポーネ ン ト : BSCAN、 STARTUP、 XADC な ど パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 45 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン グローバル ク ロ ッ クの規則 特定の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの ク ロ ッ ク 情報は最初の イ ンプ リ メ ン テーシ ョ ンの時点では不明なので、 その RP 上のパーテ ィ シ ョ ン ピ ン を駆動す る 各 BUFG 出力が Pblock に含 まれ るすべての ク ロ ッ ク 領域にあ ら か じ め配線 さ れます。 こ れはつま り 、 その領域で RP に ロ ー ド があ る か ど う かに かかわ ら ず、 それ ら の ク ロ ッ ク 領域の ク ロ ッ ク ス パ イ ン を ス タ テ ィ ッ ク ロ ジ ッ ク が使用で き ない可能性があ る と い う こ と です。 7 シ リ ーズ デバ イ ス では、 最大 12 個ま での ク ロ ッ ク スパ イ ン を各 ク ロ ッ ク 領域への事前配線に使用で き ます。 ス タ テ ィ ッ ク ロ ジ ッ ク お よ び リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク の両方で、 こ の制限数を考慮 し てお く 必要があ り ます。 た と えば、 ス タ テ ィ ッ ク ロ ジ ッ ク 用に ク ロ ッ ク 領域に 3 つのグ ロ ーバル ク ロ ッ ク が配線 さ れ る 場合、 こ れ ら の 3 つの 最上位 ク ロ ッ ク に加え、 その ク ロ ッ ク 領域を含む RP で 9 個のグ ロ ーバル ク ロ ッ ク を使用で き る と い う こ と です。 図 5-1 に示す例では、 icap_clk が配置前に ク ロ ッ ク 領域 X0Y1、 X0Y2、 お よ び X0Y3 に配線 さ れ、 ス タ テ ィ ッ ク ロ ジ ッ ク でその領域のその他の ク ロ ッ ク ス パ イ ン を使用で き ます。 X-Ref Target - Figure 5-1 図 5‐1 : グローバル ク ロ ッ ク から リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへの事前配線 推奨 : RP を駆動す る グ ロ ーバル ク ロ ッ ク の数が多い場合は、 ク ロ ッ ク 領域を完全に含むエ リ ア グループ を作成 し 、 ス タ テ ィ ッ ク ロ ジ ッ ク を配置お よ び配線 し やす く する よ う にする こ と をお勧め し ます。 ロ ー ド の数が少ないか、要件 がそれほ ど厳 し く ないグ ロ ーバル ク ロ ッ ク は、 リ ージ ョ ナル ク ロ ッ ク (BUFR、 BUFH な ど) に変更で き ます。 ク ロ ッ パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 46 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン ク を グ ロ ーバル リ ソ ース か ら ロ ーカル リ ソ ース に変更す る と 、 RP で固有の ク ロ ッ ク が多数必要な場合に、 さ ら に柔 軟な フ ロ アプ ラ ンが可能にな り ます。 7 シ リ ーズ デバイ ス での Pblock の作成 第 3 章の 「 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用」 で説明 し た よ う に、 RESET_AFTER_RECONFIG を使用 す る 場合は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの高 さ が ク ロ ッ ク 領域の境界に揃っ てい る こ と が必要です。 RESET_AFTER_RECONFIG を使用 し ない場合は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock の高 さ は任意の値 に選択で き ます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の幅 も 、 イ ン タ ー コ ネ ク ト お よ び ク ロ ッ ク リ ソ ース を効率的に使用で き る よ う に適切に設定す る 必要があ り ます。 Pblock の矩形の左辺お よ び右辺は、 イ ン タ ー コ ネ ク ト 列 (INT-INT) の間ではな く 、 2 つの リ ソ ース列 (CLB-CLB、 CLB-BRAM、 CLB-DSP な ど) の間に配置す る 必要があ り ます。 こ れに よ り 、 配置 配線ツールで ス タ テ ィ ッ ク ロ ジ ッ ク お よ び リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク の両方にすべての リ ソ ー ス が活用 さ れま す。 こ の手法に従っ ていない場合、 イ ンプ リ メ ン テーシ ョ ン DRC に よ り ガ イ ダ ン ス が提供 さ れます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの自動調整 Pblock に SNAPPING_MODE プ ロ パテ ィ を設定す る と 、7 シ リ ーズ デザ イ ン で隣接違反が発生 し ない よ う にす る ため、 Pblock のサ イ ズが自動的に調整 さ れ ます。 SNAPPING_MODE の値を ON ま たは ROUTING に設定す る と 、 Pblock の 範囲のセ ッ ト が新 し く 作成 さ れ、 イ ンプ リ メ ン テーシ ョ ンで使用 さ れます。 こ れ ら の範囲は メ モ リ に格納 さ れ、 XDC には記述 さ れません。 SNAPPING_MODE プ ロ パテ ィ のみが、 通常の Pblock 制約 と 共に記述 さ れます。 7 シ リ ーズ デバ イ ス では、 イ ン タ ー コ ネ ク ト タ イ ル と 呼ばれ る 配線 リ ソ ー ス が、 近 く に ま たは隣接 し て配置 さ れ ま す。 パーシ ャ ル コ ン フ ィ ギ ュ レーシ ョ ン用に フ ロ アプ ラ ン を実行す る と き は、 隣接 し た境界が ど こ に存在す る のか を 理解 し てお く こ と が重要です。 Pblock が こ の よ う なペアにな っ て並んでい る イ ン タ ー コ ネ ク ト タ イ ルを分割す る 場 合、 隣接違反 と 呼ばれ ます。 隣接す る イ ン タ ー コ ネ ク ト の詳細については、 50 ページの 「 リ コ ン フ ィ ギ ャ ブル パー テ ィ シ ョ ン Pblock の手動作成」 を参照 し て く だ さ い。 SNAPPING_MODE を使用 し た場合、 元の Pblock 矩形は変更 さ れませんが、 サ イ ズが変更 さ れ、 移動 さ れ、 追加の矩 形で拡張 さ れ る こ と があ り ます。元の Pblock 矩形が変更 さ れ る と 、 それか ら 作成 さ れた範囲 も 自動的に再計算 さ れま す。 SNAPPING_MODE プ ロ パテ ィ はバ ッ チ モー ド でサポー ト さ れ る ので、 SNAPPING_MODE を ON に設定す る の に Vivado® IDE で現在の Pblock を開 く 必要はあ り ませんが、図 5-2 に示す よ う に、 イ ン タ ラ ク テ ィ ブ フ ロ アプ ラ ン を 実行す る と き に こ のオプシ ョ ン を設定で き ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 47 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン X-Ref Target - Figure 5-2 図 5‐2 : Vivado IDE での SNAPPING_MODE プ ロパテ ィ の設定 次の構文を使用す る か、 上記の よ う に Pblock プ ロ パテ ィ を選択 し て SNAPPING_MODE プ ロ パテ ィ を設定する と 、 イ ンプ リ メ ン テーシ ョ ンで自動的に修正 さ れた Pblock 範囲が認識 さ れます。 set_property SNAPPING_MODE ON [get_pblocks <pblock_name>] 次の表は 7 シ リ ーズ デバ イ ス用の SNAPPING_MODE プ ロ パテ ィ 値を ま と めた も のです。 表 5‐1 : SNAPPING_MODE プ ロパテ ィ 値 (7 シ リ ーズ デバイ ス) プ ロパテ ィ SNAPPING_ MODE 値 説明 OFF 7 シ リ ーズの場合のデフ ォ ル ト です。 調整は さ れず、 DERIVED_RANGES == GRID_RANGES です。 ON すべての隣接違反を修正 し ます。 ROUTING ON の場合 と 同 じ ですが、 配線を改善する ため中央 ク ロ ッ ク 列を ま た ぐ 違反が認め ら れ る 点が異な り ます。 こ の値は、 配線を改善す る ため 7 シ リ ーズの PR Pblock が、 中央 ク ロ ッ ク 列を ま た ぐ と き に必ず 使用する 必要があ り ます。 SNAPPING_MODE プ ロ パテ ィ は、 RESET_AFTER_RECONFIG と 共に使用す る こ と も で き ます。 RESET_AFTER_RECONFIG を使用す る には、 Pblock の高 さ が フ レーム (ま たは ク ロ ッ ク 領域) に揃っ てい る 必要があ り ます。 SNAPPING_MODE を ON ま たは ROUTING に設定 し 、 RESET_AFTER_RECONFIG を TRUE に設定する と 、 生成 さ れた領域に こ の要件を満たすのに必要なすべてのサ イ ト が自動的に含まれます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 48 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン 図 5-3 に、 ユーザーが作成 し た元の Pblock を紫色で示 し ます。 RESET_AFTER_RECONFIG が イ ネーブルにな っ てお り 、左辺 と 右辺の両方が イ ン タ ー コ ネ ク ト 列を分離 し てい ます。SNAPPING_MODE を適用す る と 、調整 さ れた Pblock (黄色) は INT-INT 境界を回避す る ため幅が細 く な り 、 ク ロ ッ ク 領域の高 さ に揃 う よ う に縦に長 く な り ます。 X-Ref Target - Figure 5-3 図 5‐3 : 元の Pblock と SNAPPING_MODE によ り 調整 さ れた Pblock パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 49 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン リ コ ン フ ィ ギ ャ ブル パーテ ィ シ ョ ン Pblock の手動作成 隣接問題を修正す る リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock の自動調整が望ま し く ない場合は、 Pblock 範囲を 手動で作成す る 必要があ り ます。 こ れは、 コ ン フ ィ ギ ュ レーシ ョ ン ブ ロ ッ ク や ク ロ ッ ク バ ッ フ ァ ー リ ソ ース を含む 中央列な ど の リ コ ン フ ィ ギ ャ ラ ブル不可能なサ イ ト に ま たが る Pblock を厳密に制御す る のに役立ち ます。 図 5-4 に示す白でハ イ ラ イ ト さ れた Pblock では、 左辺 と 右辺が CLB 列の間に描かれてい ます。 イ ン タ ーコ ネ ク ト タ イ ルを表示す る には、 [Device] ウ ィ ン ド ウ で ボ タ ン を ク リ ッ ク し て [Routing Resurces] をオンに し ます。 X-Ref Target - Figure 5-4 図 5‐4 : リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock の左辺 と 右辺の両方が CLB 列の間にある (適切な配置) リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock には、 描画 し た形状の中にすべての リ コ ン フ ィ ギ ャ ラ ブル エ レ メ ン ト タ イ プ を含め る 必要があ り ます。 つま り 、 選択 し た矩形に CLB (ス ラ イ ス)、 ブ ロ ッ ク RAM、 お よ び DSP エ レ メ ン ト が含まれ る 場合、 3 つの タ イ プすべてが Pblock に含まれてい る 必要があ り ます。 1 つで も 欠けてい る と 、 DRC に よ り 分割 さ れた イ ン タ ー コ ネ ク ト が検出 さ れた こ と がア ラ ー ト と し て知 ら さ れます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン が、 中央列の ク ロ ッ ク リ ソ ー ス や コ ン フ ィ ギ ュ レ ーシ ョ ン コ ン ポーネ ン ト (ICAP、 BSCAN) な ど の リ コ ン フ ィ ギ ュ レーシ ョ ン不可能なサ イ ト を含む場合や、 I/O な ど の リ コ ン フ ィ ギ ュ レーシ ョ ン不可能な コ ン ポーネ ン ト に隣接 し てい る 場合は、 ほかに も 考慮すべき 事項があ り ます。 Pblock のいずれかの辺が異 な る リ ソ ース タ イ プの イ ン タ ー コ ネ ク ト 列を分割す る 場合、 イ ン プ リ メ ン テーシ ョ ン ツールに よ り こ の レ イ ア ウ ト は許容 さ れ ますが、 境界の各辺の列への配置が制限 さ れ ま す。 ICAP や BSCAN な ど、 デザ イ ン で こ の禁止サ イ ト が 必要な場合は、 Pblock を複数の矩形に分割 し 、 リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク の リ ソ ース使用を明確に定義す る か、 SNAPPING_MODE を使用す る 必要があ り ます。 イ ン プ リ メ ン テーシ ョ ン ツールでは、 PROHIBIT 制約を作成す る こ と に よ り 、 隣接す る イ ン タ ー コ ネ ク ト サ イ ト の 両側への配置が自動的にで き な く な り ます。 隣接違反のために禁止 さ れたサ イ ト がデザ イ ンで不要な場合は、 デザ イ ン で隣接違反を その ま ま に し てお く こ と も 許容 さ れ ます。 その よ う にす る と 、 PR 領域に配線 タ イ ルの追加の列が含 まれ、 リ コ ン フ ィ ギ ャ ラ ブル不可能なサ イ ト に ま たが る PR 領域の密集を防ぐ こ と がで き ます。 こ の場合、 DRC に よ り ク リ テ ィ カル警告が表示 さ れますが、 配置 と 配線 リ ソ ース の ト レー ド オ フ を理解 し てい る 場合は こ の警告は無視 し て も 問題あ り ません。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 50 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン こ の動作の唯一の例外は、 ク ロ ッ ク 列の周囲です。 ク ロ ッ ク 列の境界で違反が発生 し た場合は、 違反が出てい る RM 側に PROHIBIT 制約が生成 さ れますが (通常は SLICE 禁止)、 ク ロ ッ キ ン グ リ ソ ース には PROHIBIT 制約は生成 さ れ ず、 ス タ テ ィ ッ ク ロ ジ ッ ク で使用す る こ と がで き ます。 SNAPPING_MODE の値が ROUTING にな っ てい る と 、 こ の 例外を利用で き ます。 た と えば、 図 5-5 に示す初期フ ロ アプ ラ ンには、 ク ロ ッ ク バ ッ フ ァ ー リ ソ ース (BUFHCE/BUFGCTRL) を含む中央列が含まれてい ます。 こ れ ら の リ ソ ース は、 図 5-5 でハ イ ラ イ ト さ れてお ら ず、 Pblock ブ ロ ッ ク に含まれてい ません。 こ の ク ロ ッ ク 列を ま た ぐ と 違反は発生 し ますが、 それで も リ ソ ースは ス タ テ ィ ッ ク ロ ジ ッ ク で使用で き ます。 X-Ref Target - Figure 5-5 図 5‐5 : リ コ ン フ ィ ギ ャ ラ ブル不可能なサイ ト を含む Pblock 禁止サ イ ト は、 図 5-6 に示す よ う に、 配置済みま たは配線済みチ ェ ッ ク ポ イ ン ト で斜線の付いた赤丸で示 さ れ ます。 こ の自動禁止機能に よ り 、 CLB 自体は使用 さ れませんが、 コ ン フ ィ ギ ャ ラ ブル サ イ ト (CLB) に関連付け ら れた配線 イ ン タ ー コ ネ ク ト は リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに使用で き ます。 図 5-6 では、 左側の INT 列は RM に使用可 能ですが、 右側の INT 列は ク ロ ッ ク タ イ ルの一部であ り 、 7 シ リ ーズ デバ イ ス では リ コ ン フ ィ ギ ュ レーシ ョ ン不可 能なので、 ス タ テ ィ ッ ク ロ ジ ッ ク のみで使用可能です。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 51 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン X-Ref Target - Figure 5-6 図 5‐6 : チ ェ ッ ク ポ イ ン ト の禁止サイ ト 隣接違反に よ り デザ イ ンに必要なサ イ ト (ICAP や BSCAN) が禁止 さ れ る 場合は、デバ イ ス に使用可能なサ イ ト が十分 ない こ と を示す配置エ ラ ーが表示 さ れます。 ERROR: [Common 17-69] Command failed: Placer could not place all instances こ の制限を回避す る には、図 5-7 に示す よ う に複数の Pblock 矩形を作成 し て イ ン タ ー コ ネ ク ト 列が分割 さ れない よ う す る か、 Pblock に SNAPPING_MODE プ ロ パテ ィ を使用 し ます。 推奨 : 一般的には、 リ コ ン フ ィ ギ ャ ラ ブルではないサ イ ト タ イ プ (IOB、 コ ン フ ィ ギ ュ レーシ ョ ン、 ク ロ ッ ク 列な ど) を超え る こ と は、 で き る かぎ り 避けて く だ さ い。 Pblock が こ れ ら のサ イ ト の どれかを ま た ぐ必要があ る 場合は、 も っ と も リ ス ク が 低 い の は ク ロ ッ ク 列 で す ( そ の 理 由 は 先 に 説 明)。 で き る か ぎ り 効率 よ く 境界 を 超 え る に は、 SNAPPING_MODE ROUTING を使用 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 52 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン X-Ref Target - Figure 5-7 図 5‐7 : リ コ ン フ ィ ギ ャ ラ ブル不可能な リ ソ ース を含めないよ う に複数の Pblock 矩形を作成 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 53 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン 図 5-8 に分割部分を拡大 し 、 ス ラ イ ス (CLB) と イ ン タ ーコ ネ ク ト (INT) リ ソ ース タ イ プ を示 し ます。 2 つの Pblock 矩 形の間のギ ャ ッ プに よ り 、 BUFHCE コ ン ポーネ ン ト に完全にア ク セ ス で き 、 ス タ テ ィ ッ ク リ ソ ース を使用 し て完全 に配線で き ます。 ま た、 CLB の 1 つの列を ス タ テ ィ ッ ク デザ イ ン で使用で き ます。 こ れ ら のギ ャ ッ プ を ま た ぐ こ と がで き る 配線 リ ソ -ス はあ り ますが、 そ う する と 全体的な配線能力が大幅に低下 し ます。 こ のアプ ロ ーチは難点が多 いため、 可能であれば回避 し て く だ さ い。 IOB やコ ン フ ィ ギ ュ レーシ ョ ン タ イ ルな ど のほかの ス タ テ ィ ッ ク 境界を ま た ぐ場合は、 PR 領域の配線ギ ャ ッ プが 2 つの INT リ ソ ース にな り 、 配線が難 し く な り ます。 X-Ref Target - Figure 5-8 図 5‐8 : ク ロ ッ ク 配線用に予約 さ れた列 T 形や L 形な ど の形状のパーテ ィ シ ョ ン も 使用で き ますが、 全体的な形状はで き る だけシ ンプルにす る こ と をお勧め し ます。 配線 リ ソ ース を完全に こ れ ら の領域に収め る 必要があ る ので、 その よ う な領域での配置配線が難 し く な る こ と があ り ます。 パーテ ィ シ ョ ンの境界を接触 さ せる こ と はで き ますが、 多少ギ ャ ッ プがあ る 方が配線制限が発生す る 可能性を回避で き ます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を ネ ス ト さ せた り ( コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内に別の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を含め る )、 重ねた り する こ と はで き ません。 最後に、 物理的な リ コ ン フ ィ ギ ャ ラ ブル フ レーム 1 つに対 し て 1 つの リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン し か存 在 さ せ る こ と はで き ま せん。 リ コ ン フ ィ ギ ャ ラ ブル フ レームは、 リ コ ン フ ィ ギ ュ レーシ ョ ン可能な最小の物理領域 で、 ク ロ ッ ク 領域の境界に揃え ら れてい ます。 リ コ ン フ ィ ギ ャ ラ ブル フ レーム に複数の リ コ ン フ ィ ギ ャ ラ ブル パー テ ィ シ ョ ンか ら の ロ ジ ッ ク を含め る こ と はで き ません。複数の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンか ら の ロ ジ ッ ク を含め る と 、間違っ た リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールか ら の情報で領域が リ コ ン フ ィ ギ ュ レーシ ョ ン さ れて し ま う 可能性があ り 、 競合が発生す る 原因 と な り ます。 Vivado ツールは、 こ の よ う な リ ス ク のあ る 状況を回避す る よ う に設 計 さ れてい ます。 高速 ト ラ ン シーバーの使用 ザ イ リ ン ク ス高速 ト ラ ン シーバー (GTP、 GTX、 GTH、 GTZ) は 7 シ リ ーズ デバ イ ス では リ コ ン フ ィ ギ ュ レーシ ョ ン 不可能であ り 、 ス タ テ ィ ッ ク ロ ジ ッ ク に配置す る 必要があ り ます。 ただ し 、 ト ラ ン シーバーの設定は動作中に DRP ポー ト を 使用 し て ア ッ プデー ト で き ま す。 ト ラ ン シーバー設定お よ び DRP ア ク セ ス の詳細は、 『7 シ リ ーズ FPGA GTX/GTH ト ラ ン シーバー ユーザー ガ イ ド 』 (UG476) [参照 17] お よ び 『7 シ リ ーズ FPGA GTP ト ラ ン シーバー ユー ザー ガ イ ド 』 (UG482) [参照 18] を参照 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 54 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン デザイ ン チ ェ ッ ク リ ス ト (7 シ リ ーズ デバイ ス) パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用する 7 シ リ ーズ FPGA デザ イ ンでは、 次の事項が推奨 さ れます。 ク ロ ッ キング ネ ッ ト ワー ク グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー、 リ ージ ョ ナル ク ロ ッ ク バ ッ フ ァ ー、 ま たは ク ロ ッ ク 調整ブ ロ ッ ク (MMCM、 PLL) を使用 し てい ますか。 こ れ ら のブ ロ ッ ク は、 ス タ テ ィ ッ ク ロ ジ ッ ク に配置する 必要があ り ます。 詳細は、45 ページの 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト 」 を参照 し て く だ さ い。 グ ロ ー バル ク ロ ッ ク の イ ンプ リ メ ン テーシ ョ ンの詳細は、 46 ページの 「グ ロ ーバル ク ロ ッ ク の規則」 を参照 し て く だ さ い。 コ ン フ ィ ギ ュ レーシ ョ ン機能ブ ロ ッ ク デバ イ ス 機能ブ ロ ッ ク (BSCAN、 CAPTURE、 DCIRESET、 FRAME_ECC、 ICAP、 STARTUP、 USR_ACCESS) を使用 し てい ますか。 こ れ ら の機能ブ ロ ッ ク は、 ス タ テ ィ ッ ク ロ ジ ッ ク に配置する 必要があ り ます。 詳細は、 45 ページの 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト 」 を参照 し て く だ さ い。 高速 ト ラ ン シーバー ブ ロ ッ ク デザ イ ンに高速 ト ラ ン シーバーが含まれてい ますか。 高速 ト ラ ン シーバーは、 ス タ テ ィ ッ ク ロ ジ ッ ク に配置する 必要があ り ます。 特定の要件は、 54 ページの 「高速 ト ラ ン シーバーの使用」 を参照 し て く だ さ い。 System Generator DSP コ ア、 HLS コ ア、 または IP イ ン テグ レー タ ー ブ ロ ッ ク 図 パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン デザ イ ン で System Generator DSP コ ア、 HLS コ ア、 ま たは IP イ ン テ グ レ ー タ ー ブ ロ ッ ク 図を使用 し てい ますか。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン の基本的な要件を満た し ていれば、 ど の タ イ プの ソ ー ス で も 使用で き ま す。 System Generator、 HLS、 Vivado IP イ ン テ グ レー タ ーな ど の ツールで処理 さ れた コ ー ド は最終的に合成 さ れ ます。 結果のデザ イ ン チ ェ ッ ク ポ イ ン ト ま たはネ ッ ト リ ス ト を RP に含め る こ と がで き る よ う にする には、 リ コ ン フ ィ ギ ャ ラ ブル エ レ メ ン ト (CLB、 ブ ロ ッ ク RAM、 DSP) のみで構成 さ れ る よ う にす る 必要があ り ます。 I/O の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへの配置 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに I/O が含まれてい ますか。 I/O はすべて、 ス タ テ ィ ッ ク ロ ジ ッ ク に配置する 必要があ り ます。 詳細は、 45 ページの 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト 」 を参照 し て く だ さ い。 ロ ジ ッ ク の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへの配置 一緒に配置す る 必要のあ る ロ ジ ッ ク が同 じ リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに配置 さ れてい ますか。 一緒に配置す る 必要のあ る ロ ジ ッ ク は、 同 じ RP お よ び RM に配置する 必要があ り ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 55 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン 詳細は、 38 ページの 「 ロ ジ ッ ク のパ ッ ク 」 を参照 し て く だ さ い。 ク リ テ ィ カル パスの リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへの配置 ク リ テ ィ カル パ ス が同 じ パーテ ィ シ ョ ン内に制約 さ れてい ますか。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの境界では最適化お よ びパ ッ ク に制限があ る ので、 ク リ テ ィ カル パ ス は 同 じ パーテ ィ シ ョ ン内に制約す る 必要があ り ます。 詳細は、 38 ページの 「 ロ ジ ッ ク のパ ッ ク 」 を参照 し て く だ さ い。 フ ロアプ ラ ン リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を効率的に フ ロ アプ ラ ンで き ますか。 詳細は、 47 ページの 「7 シ リ ーズ デバ イ ス での Pblock の作成」 を参照 し て く だ さ い。 デ カ ッ プ リ ング ロ ジ ッ クの使用 (推奨) RM の出力にデカ ッ プ リ ン グ ロ ジ ッ ク を作成 し ま し たか。 リ コ ン フ ィ ギ ュ レーシ ョ ン中、 RP の出力は不定の状態にな る ので、 ス タ テ ィ ッ ク デー タ が破損す る のを回避す る ためデカ ッ プ リ ン グ ロ ジ ッ ク を使用する 必要があ り ます。 詳細は、 40 ページの 「デカ ッ プ リ ン グ機能」 を参照 し て く だ さ い。 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用 (推奨) リ コ ン フ ィ ギ ュ レーシ ョ ン後に RAM の ロ ジ ッ ク を リ セ ッ ト し てい ますか。 リ コ ン フ ィ ギ ュ レ ー シ ョ ン 後、 新 し い ロ ジ ッ ク が 初 期 値 で 開 始 し な い 場 合 が あ り ま す。 RESET_AFTER_RECONFIG プ ロ パテ ィ を使用 し ない場合は、 ロ ーカル リ セ ッ ト を使用 し て、 デカ ッ プ リ ン グ を 解放 し た と き に ロ ジ ッ ク が予測 さ れ る 状態で開始す る よ う にす る 必要があ り ます。 リ コ ン フ ィ ギ ュ レーシ ョ ン中 は、 初期化問題を回避す る ため、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへの ク ロ ッ ク お よ びその他の入力 も デ ィ ス エーブルにな り ます。 RESET_AFTER_RECONFIG プ ロ パテ ィ を設定す る こ と も 可能です。 こ のオプシ ョ ンは、 リ コ ン フ ィ ギ ュ レーシ ョ ン中、 内部信号を一定に保持 し 、 リ コ ン フ ィ ギ ュ レーシ ョ ン さ れた ロ ジ ッ ク にマ ス ク 付 き のグ ロ ーバル リ セ ッ ト を適用 し ます。 詳細は、 第 3 章の 「 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用」 を参照 し て く だ さ い。 ロ ジ ッ ク 解析ブ ロ ッ ク を使用 し たデバ ッ グ パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンで Vivado ロ ジ ッ ク 解析を使用 し てい ますか。 Vivado ロ ジ ッ ク 解析 (ILA/VIO デバ ッ グ コ ア) をパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン で使用で き ます が、 ス タ テ ィ ッ ク ロ ジ ッ ク に配置する 必要があ り ます。 効率的な リ コ ン フ ィ ギ ャ ブル パーテ ィ シ ョ ン Pblock デザ イ ンに対 し て効率的な リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock を作成 し てい ますか。 RESET_AFTER_RECONFIG プ ロ パテ ィ を使用する 場合、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock の高 さ は ク ロ ッ ク 領域境界の上辺お よ び下辺に揃え る 必要があ り ます。 RESET_AFTER_RECONFIG を使用 し ない場合は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock の高 さ は任意に選択で き ます。 詳細は、 47 ページの 「7 シ リ ーズ デバ イ ス での Pblock の作成」 を参照 し て く だ さ い。 コ ン フ ィ ギ ュ レーシ ョ ンの検証 コ ン フ ィ ギ ュ レーシ ョ ン間の一貫性はど の よ う に検証 し ますか。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 56 第 5 章 : 7 シ リ ーズおよび Zynq デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン pr_verify コ マ ン ド を使用 し て、 すべての コ ン フ ィ ギ ュ レーシ ョ ンの イ ン ポー ト さ れ る リ ソ ース に一致 し てい る こ と を確認で き ます。 詳細は、 第 3 章の 「 コ ン フ ィ ギ ュ レーシ ョ ンの検証」 を参照 し て く だ さ い。 コ ン フ ィ ギ ュ レーシ ョ ンの要件 デザ イ ンお よ びデバ イ ス におけ る パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン に特定の コ ン フ ィ ギ ュ レーシ ョ ン要件があ る こ と を理解 し てい ますか。 各デバ イ ス フ ァ ミ リ に特定の コ ン フ ィ ギ ュ レーシ ョ ン要件お よ び考慮事項があ り ます。 詳細は、 第 7 章 「デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン」 を参照 し て く だ さ い。 効率的な Pblock に関する推奨事項 RP Pblock がデバ イ ス の中央の ク ロ ッ ク 列ま たは コ ン フ ィ ギ ュ レーシ ョ ン列を ま たいでい ますか。 7 シ リ ーズ デバ イ ス の隣接 INIT タ イ ル要件 と CONTAIN_ROUTING 要件のため、 Pblock がデバ イ ス上の こ れ ら の特別ブ ロ ッ ク に ま たが る と 、 配線が非常に困難にな る か、 配線不可能にな り ま す。 で き る かぎ り 、 RP Pblock が こ れ ら のエ リ アに ま たが ら ない よ う に し て く だ さ い。 隣接要件の詳細は、 47 ページの 「 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの自動調整」 お よ び50 ページの 「 リ コ ン フ ィ ギ ャ ブル パーテ ィ シ ョ ン Pblock の手動作成」 を参照 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 57 第 6章 UltraScale デバイ スでの設計に関する考慮事 項と ガイ ド ラ イ ン 概要 こ の章では、 UltraScale™ デバ イ ス に特定のパーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン デザ イ ン要件について説明 し ま す。 ザ イ リ ン ク ス FPGA のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン機能を使用する には、 デザ イ ン仕様を注意深 く 解析 し 、 PR デザ イ ンの要件、 特性、 制限を考慮す る 必要があ り ます。 こ れに よ り 、 設計お よ びデバ ッ グ プ ロ セ ス が簡潔にな り 、 デザ イ ンが不正に動作す る リ ス ク を回避で き ます。 リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール内のデザイ ン エ レメント UltraScale デバ イ ス では、 ほぼすべての コ ン ポーネ ン ト タ イ プをパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン可能です。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに配置可能な ロ ジ ッ ク には、 次の も のがあ り ます。 • FPGA の CLB ス ラ イ ス にマ ッ プ さ れてい る すべての ロ ジ ッ ク コ ン ポーネ ン ト : LUT (ル ッ ク ア ッ プ テーブル)、 FF (フ リ ッ プ フ ロ ッ プ)、 SRL (シ フ ト レ ジ ス タ )、 RAM、 ROM な ど • ブ ロ ッ ク RAM (BRAM) お よ び 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) お よ び関連の コ ン ポーネ ン ト コ ン フ ィ ギ ュ レーシ ョ ン コ ン ポーネ ン ト のみをデザ イ ンの ス タ テ ィ ッ ク 部分に配置する 必要があ り ます。それ ら の コ ン ポーネ ン ト は、 次の と お り です。 • BSCAN • CFG_IO_ACCESS • DCIRESET • DNA_PORT パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 58 第 6 章 : UltraScale デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン • EFUSE_USR • FRAME_ECC • ICAP • MASTER_JTAG • STARTUP • USR_ACCESS UltraScale デバイ ス での Pblock の作成 UltraScale アーキ テ ク チ ャ では、 リ コ ン フ ィ ギ ュ レーシ ョ ン可能な最小ユニ ッ ト が以前のアーキ テ ク チ ャ よ り も 小 さ く な っ てい ます。 リ コ ン フ ィ ギ ュ レーシ ョ ンに必要な最小 リ ソ ースは リ ソ ース タ イ プに よ っ て異な り 、 プ ロ グ ラ マブ ル ユニ ッ ト (PU) と 呼ばれます。 UltraScale アーキ テ ク チ ャ では隣接のサ イ ト と 配線 リ ソ ース ( イ ン タ ーコ ネ ク ト タ イ ル) が共有 さ れ る ので、 PU はペアで定義 さ れます。 サ イ ト タ イ プに基づ く リ コ ン フ ィ ギ ュ レーシ ョ ン可能な最小 PU の例を示 し ます。 • CLB PU : 隣接す る 2 つの CLB、 お よ び共有 イ ン タ ーコ ネ ク ト • ブ ロ ッ ク RAM PU : 1 つの BRAM/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 個で、 イ ン タ ー コ ネ ク ト が共有 さ れてい ます。 Pblock の PU の自動調整 UltraScale デバ イ ス では、 RESET_AFTER_RECONFIG 機能を使用す る 場合に Pblock の高 さ 要件はあ り ません。 そのた め、 こ の機能は常に ON にな っ てお り 、 満たす必要のあ る 特定の要件はあ り ません。 ただ し 、 Pblock が最小 PU サ イ ズの規則に違反 し ない よ う にす る ため、 SNAPPING_MODE プ ロ パテ ィ も 常にオ ン にな っ てお り 、 Pblock が PR に有 効な も のにな る よ う 自動的に調整 さ れます。 図 6-1 お よ び図 6-2 に、SNAPPING_MODE に よ り Pblock が PU に合わせて ど の よ う に調整 さ れ る か を示 し ます。図 6-1 では、 元の矩形は大 き いですが、 選択 さ れた タ イ ルのみが RP Pblock に含ま れます。 上のブ ロ ッ ク RAM お よ び DSP サ イ ト は、 Pblock に完全に含まれていないので、 含まれません。 関連の CLB サ イ ト も 、 PU の規則に基づき 、 含まれ ません。 左辺 と 右辺の両方に も Pblock に含まれない CLB サ イ ト があ り ますが、 こ れは隣接する CLB が元の矩形に含 まれないか ら です。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 59 第 6 章 : UltraScale デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン X-Ref Target - Figure 6-1 図 6‐1 : SNAPPING_MODE の例 ‐ UltraScale SNAPPING_MODE に よ り 上記の Pblock が RP に有効な も のにな り ますが、 こ れ ら のサ イ ト すべて を含め る つ も り で あ る 場合 も あ り ます。 元の Pblock 矩形を少 し 調整す る こ と に よ り 、 SNAPPING_MODE で PR 領域に含め る 予定のサ イ ト が除外 さ れない よ う にす る こ と がで き ます。 図 6-2 では、 Pblock が左、 右、 上方向に 1 CLB 分ずつ拡張 さ れてい ます。 RP Pblock に含まれ る ハ イ ラ イ ト さ れてい る タ イ ルは、 元の矩形に一致 し ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 60 第 6 章 : UltraScale デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン X-Ref Target - Figure 6-2 図 6‐2 : PU に揃え られた Pblock 注記 : 図 6-1 お よ び図 6-2 は、 HD.VISUAL パ ラ メ ー タ ーが設定 さ れてい る と き に、 Vivado Design Suite ツールで自動 的に作成 さ れ る ハ イ ラ イ ト ス ク リ プ ト を使用 し て作成 さ れてい ます。Pblock のデバ ッ グ ま たは検証目的に、 こ れ ら の 図を再現す る には、 次の ス ク リ プ ト を使用 し て く だ さ い。 1. Vivado Tcl コ ン ソ ールに次を入力 し ます。 set_param hd.visual 1 2. Pblock を作成 し 、 調整 し ます。 3. source コ マ ン ド を使用 し て Vivado で生成 さ れたハ イ ラ イ ト ス ク リ プ ト を実行 し ます。 source ./hd_visual/<pblock_name>_AllTiles.tcl 重要 : UltraScale デバ イ ス の SNAPPING_MODE プ ロ パテ ィ は常に ON に設定 さ れていて、 こ れを調整 し た り 、 OFF に 変更 し ないで く だ さ い。 SNAPPING_MODE は、 SSI デバ イ ス の IOB や Laguna な ど、 あ る タ イ プの ロ ジ ッ ク に対 し 特 別な動作を し ます。 こ う し た場合、 SNAPPING_MODE は、 すべての必要な リ ソ ース を含め る ため PR Pblock を外向 き に拡張 し ます。 RP と ス タ テ ィ ッ ク ロ ジ ッ ク での コ ン フ ィ ギ ュ レーシ ョ ン フ レー ムの共有 UltraScale デバ イ ス の Pblock では フ レーム ( ク ロ ッ ク 領域の高 さ ) に揃え る 必要はあ り ま せんが、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは コ ン フ ィ ギ ュ レーシ ョ ン フ レーム全体がプ ロ グ ラ ム さ れます。 つま り 、 RP 外にあ る ロ ジ ッ ク が上書 き さ れ る と い う こ と です。 こ れに よ り PR で問題が発生する こ と はあ り ませんが、 以前のアーキ テ ク チ ャ で パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 61 第 6 章 : UltraScale デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン は リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク と 同 じ フ レ ーム に配置で き る ス タ テ ィ ッ ク ロ ジ ッ ク の タ イ プに制限が あ り ま し た。 UltraScale デバ イ ス では、 ど の ス タ テ ィ ッ ク ロ ジ ッ ク で も 、 RP Pblock に含まれないサ イ ト であれば、 RM と 同 じ コ ン フ ィ ギ ュ レ ーシ ョ ン フ レ ーム に配置で き ま す。 こ れには、 ブ ロ ッ ク RAM、 DSP、 お よ び LUT RAM が含ま れ ま す。 ただ し 、 コ ン フ ィ ギ ュ レーシ ョ ン フ レーム ご と に 1 つの RP し か含め る こ と がで き ない と い う 制限があ り ます。 つま り 、 同 じ ク ロ ッ ク 領域に 2 つの RP を縦に並べ る こ と はで き ません。 グローバル ク ロ ッ クの規則 UltraScale よ り 前の アーキ テ ク チ ャ と 同様に、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を駆動す る すべての固有の ク ロ ッ ク が、 サ イ ト が RP に含まれ る 各 ク ロ ッ ク 領域にあ ら か じ め配線 さ れ ます。 そのため、 RP の Pblock のサ イ ズお よ び形状を よ く 考え てお く こ と が重要です。 7 シ リ ーズ デバ イ ス では ク ロ ッ ク 領域ご と に使用可能な グ ロ ーバル ク ロ ッ ク は 12 個で し たが、 UltraScale デバ イ ス では 24 個です。 注記 : BUFGCTRL コ ン ポーネ ン ト の場合は、 RESET_AFTER_RECONFIG が イ ネーブルにな っ ていて も 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中に PRESELECT_I0 お よ び PRESELECT_I1 プ ロ パテ ィ が無視 さ れます。選択 し た ク ロ ッ ク ソ ース は、 BUFGCTRL イ ン ス タ ン ス のセ レ ク ト お よ び ク ロ ッ ク イ ネーブル入力のみに左右 さ れます。 現在の と こ ろ、 RM でモジ ュ ールの ク ロ ッ ク 出力を駆動す る こ と はで き ま せん。 ス タ テ ィ ッ ク 領域で作成 さ れた ク ロ ッ ク では RP の入力ピ ン を駆動で き 、 RM 内で作成 さ れた ク ロ ッ ク では RM 内の ロ ジ ッ ク のみを駆動可能です。 た だ し 、 ク ロ ッ ク ネ ッ ト で RP の出力ピ ン を駆動す る こ と はで き ません。 こ の状況が検出 さ れ る と 、 DRC エ ラ ーが表示 さ れます。 I/O 規則 UltraScale デバ イ ス では、 I/O ロ ジ ッ ク と バ ッ フ ァ ーを RP に含め る こ と がで き ます。 I/O は 1 つの RM か ら 別の RM に変更で き ますが、 い く つかの規則に従 う 必要があ り ます。 I/O サ イ ト を使用す る すべての コ ン フ ィ ギ ュ レーシ ョ ン間で、 次のチ ェ ッ ク が実行 さ れます。 I/O サ イ ト が使用か ら 未 使用に ま たは未使用か ら 使用に変更 さ れた場合、 こ れ ら のチ ェ ッ ク はそれ ら の コ ン フ ィ ギ ュ レーシ ョ ンに対 し ては実 行 さ れません。 • 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 ま たは完全に ス タ テ ィ ッ ク 領域に配置す る 必要が あ り ます。 1 つの コ ン フ ィ ギ ュ レーシ ョ ンか ら 別の コ ン フ ィ ギ ュ レーシ ョ ンでの IOB の変更は、 上記の規則に制限 さ れます。 た だ し 、 I/O サ イ ト を RP に追加す る 場合、 PU 全体 (I/O バン ク 、 BITSLICE、 MMCM、 PLL、 お よ び CLB の 1 つの列 と 共通の イ ン タ ー コ ネ ク ト を含む) を含め る 必要が あ り ま す。 こ の基本的な領域のすべての コ ン ポーネ ン ト は リ コ ン フ ィ ギ ュ レーシ ョ ンお よ び再初期化 さ れ る ので、こ れ ら のほかのサ イ ト タ イ プ を リ コ ン フ ィ ギ ャ ラ ブル領域に含め る と 便利です。 その理由は次の よ う にな っ てい ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 62 第 6 章 : UltraScale デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン • I/O サ イ ト を追加す る と 、 その I/O の配線 リ ソ -ス を使用で き る よ う にな り 、 密集を緩和で き ます。 I/O サ イ ト が ス タ テ ィ ッ ク 領域に配置 さ れてい る と 、 密集が悪化 し 、 リ コ ン フ ィ ギ ャ ラ ブル領域にギ ャ ッ プがで き る 可能性が あ り ます。 • MMCM や PLL な ど のほかの ク ロ ッ ク リ ソ ース の リ コ ン フ ィ ギ ュ レーシ ョ ンが可能にな り ます。 • BITSLICE や BITSLICE_CONTROL な ど のほかの I/O ロ ジ ッ ク サ イ ト の リ コ ン フ ィ ギ ュ レーシ ョ ンが可能にな り ます。 高速 ト ラ ン シーバーの使用 ザ イ リ ン ク ス高速 ト ラ ン シーバー (GTH、GTY) は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内でサポー ト さ れます。 ほ かの リ コ ン フ ィ ギ ャ ラ ブル サ イ ト タ イ プ と 同様に、 PU 全体を含め る 必要があ り ます。 UltraScale GT ト ラ ン シーバー の PU には、 次の も のが含まれます。 • 4 つの GT_CHANNEL サ イ ト (GT ク ワ ッ ド ) • 関連の GT_COMMON サ イ ト • 関連の BUFG_GT_SYNC サ イ ト • 関連の BUFG_GT サ イ ト • 関連の イ ン タ ー コ ネ ク ト お よ び CLB サ イ ト 必要な GT PU は、 ク ロ ッ ク 領域の高 さ 全体です。 以前のアーキ テ ク チ ャ と 同様に、 GT コ ン ポーネ ン ト を ス タ テ ィ ッ ク ロ ジ ッ ク に配置 し 、 その機能を DPR を使用 し て変更する こ と も 可能です。 UltraScale ト ラ ン シーバーの使用に関す る 詳細は、 『UltraScale アーキ テ ク チ ャ GTH ト ラ ン シーバー ユーザー ガ イ ド 』 (UG576) [参照 21] お よ び 『UltraScale アーキ テ ク チ ャ GTY ト ラ ン シーバー ユーザー ガ イ ド 』 (UG578) [参照 22] のを参照 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 63 第 6 章 : UltraScale デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン UltraScale デバイ ス デザイ ン でのパーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン チ ェ ッ ク リ ス ト パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用する UltraScale デバ イ ス デザ イ ンでは、 次の事項が推奨 さ れます。 ク ロ ッ キング ネ ッ ト ワー ク グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ーま たは ク ロ ッ ク 調整ブ ロ ッ ク (MMCM、 PLL) を使用 し てい ますか。 こ れ ら のブ ロ ッ ク は リ コ ン フ ィ ギ ュ レーシ ョ ン可能ですが、こ の フ レーム タ イ プのすべてのエ レ メ ン ト を リ コ ン フ ィ ギ ュ レーシ ョ ンす る 必要があ り ます。 こ れには、 I/O バン ク 全体、 その共有領域のすべての ク ロ ッ ク エ レ メ ン ト 、 お よ び イ ン タ ー コ ネ ク ト を共有す る CLB の 1 つの列が含まれます。 詳細は、 58 ページの 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト 」 を参照 し て く だ さ い。 グ ロ ーバル ク ロ ッ ク の イ ンプ リ メ ン テーシ ョ ンの詳細は、 62 ページの 「グ ロ ーバル ク ロ ッ ク の規則」 を参 照 し て く だ さ い。 さ ら に、 現在の と こ ろ、 Vivado Design Suite の DRC に よ り 、 次の制限事項が強化 さ れてい ます。 BUFGCTRL、 BUFG_CE、 BUFG_GT の ク ロ ッ キ ン グ リ ソ ース の使用はサポー ト さ れてい ますが、 次の制限があ り ます。 - ク ロ ッ ク は RP を使用 し て完全に制約が付け ら れてい る 必要があ り ます。 ク ロ ッ ク は ス タ テ ィ ッ ク ま た はほかの RP で ロ ー ド を駆動で き ません。 - RP Pblock は完全に clock_region に揃っ てい る 必要があ り (垂直、 水平の両方向で)、 矩形であ る 必要 があ り ます (L 型ではいけない)。 - RP で リ ソ ース が必要でな く て も 、 領域のサ イ ト が Pblock に含まれてい る 場合は、 すべてのサ イ ト タ イ プがその RP Pblock の一部であ る 必要があ り ます (ス タ テ ィ ッ ク には使用で き ない I/O も こ の対象)。 コ ン フ ィ ギ ュ レーシ ョ ン機能ブ ロ ッ ク デバ イ ス機能ブ ロ ッ ク (BSCAN、 DCIRESET、 FRAME_ECC、 ICAP、 STARTUP、 USR_ACCESS) を使用 し てい ますか。 こ れ ら の機能ブ ロ ッ ク は、 ス タ テ ィ ッ ク ロ ジ ッ ク に配置する 必要があ り ます。 詳細は、 58 ページの 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト 」 を参照 し て く だ さ い。 SSI テ ク ノ ロ ジ Pblock は SSI デバ イ ス の SLR を ま た ぎ ますか。 SSI デバ イ ス を 使用 し て い る 場合は、 1 つの SLR 内に PR 領域 を 収め てお く こ と を 推奨 し ま す。 し か し 、 UltraScale デバ イ ス の場合は、 PR Pblock が 1 つの SLR を ま たいで し ま う 場合、 こ の境界を越え て配線で き る よ う 、 必要な Laguna サ イ ト を含め る 必要があ り ます。 こ のためには、 SLR 境界の両サ イ ド の PR 領域に、 少な く と も 1 つの フル ク ロ ッ ク 領域が含め ら れてい る 必要があ り ます。 Laguna リ ソ ース の範囲が決ま っ て い る 限 り 、 必要なサ イ ト を含め る ため、 SNAPPING_MODE が自動的に Pblock を拡張 し ま す。 PR Pblock を 定義す る と き に、 こ のサ イ ト タ イ プが選択 さ れてい る こ と を確認 し て く だ さ い。 SST テ ク ノ ロ ジ デバ イ スお よ び Laguna に関 し ては、『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド 』 (UG574) [参照 27] にあ る 「ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジ を使用す る デバ イ ス」 のセ ク シ ョ ン を参照 し て く だ さ い。 高速 ト ラ ン シーバー ブ ロ ッ ク デザ イ ンに高速 ト ラ ン シーバーが含まれてい ますか。 高速 ト ラ ン シーバーは リ コ ン フ ィ ギ ュ レ ーシ ョ ン可能です。 すべての コ ン ポーネ ン ト タ イ プ (GT_CHANNEL、 GT_COMMON、 BUFG_GT な ど) を含む ク ワ ッ ド 全体を リ コ ン フ ィ ギ ュ レーシ ョ ンする 必要があ り ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 64 第 6 章 : UltraScale デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン 特定の要件は、 63 ページの 「高速 ト ラ ン シーバーの使用」 を参照 し て く だ さ い。 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) お よ び ク ロ ッ ク リ ソ ース と 共に リ コ ン フ ィ ギ ュ レーシ ョ ンす る 必要があ り ます。 詳細は、 58 ページの 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト 」 を参照 し て く だ さ い。 ロ ジ ッ ク の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへの配置 一緒に配置す る 必要のあ る ロ ジ ッ ク が同 じ リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに配置 さ れてい ますか。 一緒に配置す る 必要のあ る ロ ジ ッ ク は、 同 じ RP お よ び RM に配置する 必要があ り ます。 詳細は、 38 ページの 「 ロ ジ ッ ク のパ ッ ク 」 を参照 し て く だ さ い。 ク リ テ ィ カル パスの リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへの配置 ク リ テ ィ カル パ ス が同 じ パーテ ィ シ ョ ン内に制約 さ れてい ますか。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの境界では最適化お よ びパ ッ ク に制限があ る ので、 ク リ テ ィ カル パ ス は 同 じ パーテ ィ シ ョ ン内に制約す る 必要があ り ます。 詳細は、 38 ページの 「 ロ ジ ッ ク のパ ッ ク 」 を参照 し て く だ さ い。 フ ロアプ ラ ン リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を効率的に フ ロ アプ ラ ンで き ますか。 詳細は、 59 ページの 「UltraScale デバ イ ス での Pblock の作成」 を参照 し て く だ さ い。 デ カ ッ プ リ ング ロ ジ ッ クの使用 (推奨) RM の出力にデカ ッ プ リ ン グ ロ ジ ッ ク を作成 し ま し たか。 リ コ ン フ ィ ギ ュ レーシ ョ ン中、 RP の出力は不定の状態にな る ので、 ス タ テ ィ ッ ク デー タ が破損す る のを回避す る ためデカ ッ プ リ ン グ ロ ジ ッ ク を使用する 必要があ り ます。 詳細は、 40 ページの 「デカ ッ プ リ ン グ機能」 を参照 し て く だ さ い。 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用 (推奨) リ コ ン フ ィ ギ ュ レーシ ョ ン後に RAM の ロ ジ ッ ク を リ セ ッ ト し てい ますか。 リ セ ッ ト 後に リ コ ン フ ィ ギ ュ レーシ ョ ンは、 UltraScale デバ イ ス では常に イ ネーブルにな っ てい ます。 詳細は、 31 ページの 「 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用」 を参照 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 65 第 6 章 : UltraScale デバイ スでの設計に関する考慮事項 と ガ イ ド ラ イ ン ロ ジ ッ ク 解析ブ ロ ッ ク を使用 し たデバ ッ グ パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンで Vivado ロ ジ ッ ク 解析を使用 し てい ますか。 Vivado ロ ジ ッ ク 解析 (ILA/VIO デバ ッ グ コ ア) をパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン で使用で き ます が、 ス タ テ ィ ッ ク ロ ジ ッ ク に配置する 必要があ り ます。 効率的な リ コ ン フ ィ ギ ャ ブル パーテ ィ シ ョ ン Pblock デザ イ ンに対 し て効率的な リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock を作成 し てい ますか。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン Pblock の高 さ に制限はあ り ませんが、 複数の リ コ ン フ ィ ギ ャ ラ ブル パー テ ィ シ ョ ン を 1 つの ク ロ ッ ク 領域内で縦に並べ る こ と はで き ません。 詳細は、 59 ページの 「UltraScale デバ イ ス での Pblock の作成」 を参照 し て く だ さ い。 コ ン フ ィ ギ ュ レーシ ョ ンの検証 コ ン フ ィ ギ ュ レーシ ョ ン間の一貫性はど の よ う に検証 し ますか。 pr_verify コ マ ン ド を使用 し て、 すべての コ ン フ ィ ギ ュ レーシ ョ ンの イ ン ポー ト さ れ る リ ソ ース に一致 し てい る こ と を確認で き ます。 詳細は、 第 3 章の 「 コ ン フ ィ ギ ュ レーシ ョ ンの検証」 を参照 し て く だ さ い。 コ ン フ ィ ギ ュ レーシ ョ ンの要件 デザ イ ンお よ びデバ イ ス におけ る パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン に特定の コ ン フ ィ ギ ュ レーシ ョ ン要件があ る こ と を理解 し てい ますか。 各デバ イ ス フ ァ ミ リ に特定の コ ン フ ィ ギ ュ レーシ ョ ン要件お よ び考慮事項があ り ます。 詳細は、 第 7 章 「デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン」 を参照 し て く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 66 第 7章 デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ンの概要 こ の章では、 デバ イ ス をパーシ ャ ル BIT フ ァ イ ルで コ ン フ ィ ギ ュ レーシ ョ ンす る 際のシ ス テ ム デザ イ ンに関す る 考 慮事項 と 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン に便利な FPGA のアーキ テ ク チ ャ 機能について説明 し ま す。 パー シ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンはほ と ん ど の点で標準の コ ン フ ィ ギ ュ レーシ ョ ン と 同 じ なので、こ のセ ク シ ョ ン で は PR 特定の詳細についてのみ説明 し ます。 パーシ ャ ル ビ ッ ト ス ト リ ーム を読み込むには、 SelectMAP、 シ リ アル、 JTAG、 ま たは ICAP (内部 コ ン フ ィ ギ ュ レー シ ョ ン ア ク セ ス ポー ト ) のいずれかの コ ン フ ィ ギ ュ レーシ ョ ン ポー ト を使用で き ます。Zynq®-7000 AP SoC デバ イ ス では、 JTAG ま たは PCAP (プ ロ セ ッ サ コ ン フ ィ ギ ュ レーシ ョ ン ア ク セ ス ポー ト ) を使用 し てパーシ ャ ル ビ ッ ト ス ト リ ーム を読み込みます。 UltraScale™ デバ イ ス では、 PCIe® ブ ロ ッ ク 内の MCAP ( メ デ ィ ア コ ン フ ィ ギ ュ レーシ ョ ン ア ク セ ス ポー ト ) も 有効な コ ン フ ィ ギ ュ レーシ ョ ン ポー ト です。 パーシ ャ ル BIT フ ァ イ ルを読み込むのに SelectMAP ま たはシ リ アル モー ド を使用する には、 こ れ ら のピ ン を初期デ バ イ ス コ ン フ ィ ギ ュ レーシ ョ ン後に使用で き る よ う 予約する 必要があ り ます。 こ れには BITSTREAM.CONFIG.PERSIST プ ロ パテ ィ を使用 し て多目的 I/O を コ ン フ ィ ギ ュ レーシ ョ ンで使用する よ う 保持 し 、 コ ン フ ィ ギ ュ レーシ ョ ン幅を設定 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 24] の 「デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム設定」 を参照 し て く だ さ い。 こ のプ ロ パテ ィ を設定す る Tcl コ マ ン ド は次の よ う にな り ます。 set_property BITSTREAM.CONFIG.PERSIST <value> [current_design] <value> には、 No ま たは Yes を入力 し ます。 パーシ ャ ル ビ ッ ト ス ト リ ームには、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンに必要な コ ン フ ィ ギ ュ レーシ ョ ン コ マ ン ド お よ びデー タ がすべて含ま れてい ます。 パーシ ャ ル ビ ッ ト ス ト リ ームに コ ン フ ィ ギ ュ レーシ ョ ン フ レーム のア ド レ ス指定情報が含ま れてい る ので、 パーシ ャ ル ビ ッ ト ス ト リ ーム を FPGA に読み込む際に RM の物理位置を指定す る 必要はあ り ません。 有効なパーシ ャ ル ビ ッ ト ス ト リ ームが FPGA の間違っ た場所に送信 さ れ る こ と はあ り ません。 パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン コ ン ト ロ ー ラ ーに よ り メ モ リ か ら パーシ ャ ル ビ ッ ト ス ト リ ーム が取 り 出 さ れ、 コ ン フ ィ ギ ュ レーシ ョ ン ポー ト に送 ら れ ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン制御 ロ ジ ッ ク は、 外部デ バ イ ス (プ ロ セ ッ サな ど) ま たは リ コ ン フ ィ ギ ュ レ ーシ ョ ンす る FPGA のプ ロ グ ラ マブル ロ ジ ッ ク に配置で き ま す。 ユーザーが設計 し た内部 PR コ ン ト ロ ー ラ ーに よ り 、 ICAP イ ン タ ーフ ェ イ ス を介 し てパーシ ャ ル ビ ッ ト ス ト リ ーム が読み込ま れ ます。 ス タ テ ィ ッ ク デザ イ ンのほかの ロ ジ ッ ク と 同様、 内部パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン制 御回路は、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス中、 割 り 込みな し で動作 し ます。 内部 コ ン フ ィ ギ ュ レーシ ョ ンには、 カ ス タ ム ス テー ト マシ ン ま たは MicroBlaze™ な ど のエンベデ ッ ド プ ロ セ ッ サを 含め る こ と がで き ま す。 Zynq-7000 AP SoC では、 プ ロ セ ッ サ サブシ ス テ ム (PS) を使用 し てパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン イ ベン ト を制御で き ます。 注記 : Zynq-7000 AP SoC デバ イ ス では、 プ ロ グ ラ マブル ロ ジ ッ ク (PL) はパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン で き ますが、 プ ロ セ ッ シ ン グ シ ス テ ムはで き ません。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンお よ び PR 制御 ロ ジ ッ ク をデバ ッ グす る ため、Vivado® ロ ジ ッ ク 解析 を使用 し て、JTAG ポー ト を介 し て フル ビ ッ ト ス ト リ ーム ま たはパーシ ャ ル ビ ッ ト ス ト リ ーム を FPGA に読み込む こ と がで き ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 67 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム を コ ン フ ィ ギ ュ レーシ ョ ン ポー ト に読み込む方法の詳細は、 次の資料の 「 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス」 の章を参照 し て く だ さ い。 • 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470) [参照 3] • 『Zynq-7000 All Programmable SoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG585) [参照 5] コ ン フ ィ ギ ュ レーシ ョ ン モー ド パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは、 次の コ ン フ ィ ギ ュ レーシ ョ ン モー ド がサポー ト さ れてい ます。 • ICAP : ユーザー コ ン フ ィ ギ ュ レーシ ョ ン ソ リ ュ ーシ ョ ンに適 し たモー ド です。ICAP コ ン ト ロ ー ラ ー と ICAP イ ン タ ーフ ェ イ ス を作成す る 必要があ り ます。 • MCAP (UltraScale デバ イ ス のみ) : デバ イ ス に含まれ る 特定の 1 つの PCIe® ブ ロ ッ ク か ら ICAP に専用接続を提 供 し ます。 • PCAP : Zynq-7000 AP SoC デザ イ ンのプ ラ イ マ リ コ ン フ ィ ギ ュ レーシ ョ ン方法です。 • JTAG : テ ス ト ま たはデバ ッ グ を実行す る のに適 し た イ ン タ ーフ ェ イ ス です。 Vivado ロ ジ ッ ク 解析で駆動可能で す。 • ス レーブ SelectMAP ま たは ス レーブ シ リ アル : 同 じ イ ン タ ーフ ェ イ ス で フル コ ン フ ィ ギ ュ レーシ ョ ンお よ び パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を実行する のに適 し たモー ド です。 マ ス タ ー モー ド は、 IPROG に よ り コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ が ク リ ア さ れ る ので、 直接サポー ト さ れてい ませ ん。 ビ ッ ト ス ト リ ーム タ イ プの定義 ザ イ リ ン ク ス デバ イ ス でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン用にデバ イ ス を コ ンパ イ ルす る 場合、 い ろいろ な タ イ プの ビ ッ ト ス ト リ ーム が作成 さ れ ます。 こ のセ ク シ ョ ン では、 7 シ リ ーズお よ び UltraScale デバ イ ス用の ビ ッ ト ス ト リ ームの各 タ イ プ を詳 し く 説明 し 、 その用語を定義 し ます。 ビ ッ ト ス ト リ ームの タ イ プには次の も のがあ り ます。 • 「フル コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム」 • 「パーシ ャ ル ビ ッ ト ス ト リ ーム」 • 「ブ ラ ン キ ン グ ビ ッ ト ス ト リ ーム」 • 「 ク リ ア ビ ッ ト ス ト リ ーム」 フ ル コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム PR デザ イ ンはすべて、 フル コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム を使用 し て、 フ ル デバ イ ス の標準 コ ン フ ィ ギ ュ レーシ ョ ンか ら 始め ます。 フ ォーマ ッ ト お よ び構造は 「フ ラ ッ ト 」 デザ イ ン ソ リ ュ ーシ ョ ンの場合 と 変わ り がな く 、 FPGA を初期プ ロ グ ラ ムする のに こ のビ ッ ト ス ト リ ームが ど の よ う に使用 さ れ る かにおいて も 、 違いはあ り ませ ん。 し か し 、 フル プ ロ グ ラ ミ ン グが実行 さ れた後、 デバ イ ス のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの準備のため に、 デザ イ ン自体が処理 さ れてい る 点に留意 し て く だ さ い。 暗号化や圧縮な ど の標準機能はすべてサポー ト さ れてい ます。 ブ ラ ッ ク ボ ッ ク ス と し て設定 さ れてい る リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン (RP) がサポー ト さ れてい る ため、 機 能のない リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール (RM) を初回コ ン フ ィ ギ ュ レーシ ョ ンの一部 と し て配信で き ます。 こ れは 後で必要な RM に置 き 換え る こ と がで き ます。 ビ ッ ト ス ト リ ーム圧縮は こ の場合効果的で、 ビ ッ ト ス ト リ ームのサ イ ズお よ び初回 コ ン フ ィ ギ ュ レーシ ョ ンにかか る 時間を削減で き ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 68 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン フ ル BIT フ ァ イルのダウ ン ロー ド デジ タ ル シ ス テ ムの FPGA は、 パ ワーオン リ セ ッ ト 後に、 直接 PROM か ら 、 ま たはマ イ ク ロ プ ロ セ ッ サに よ り 汎用 メ モ リ 空間か ら フル BIT フ ァ イ ルを ダ ウ ン ロ ー ド する こ と に よ り コ ン フ ィ ギ ュ レーシ ョ ン し ます。フル BIT フ ァ イ ル には、 FPGA を リ セ ッ ト し 、 完全なデザ イ ンで コ ン フ ィ ギ ュ レーシ ョ ン し 、 BIT フ ァ イ ルが破損 し ていない こ と を検 証す る のに必要な情報がすべて含まれてい ます。 次の図は こ のプ ロ セ ス を説明 し てい ます。 X-Ref Target - Figure 7-1 図 7‐1 : フル BIT フ ァ イルでの コ ン フ ィ ギ ュ レーシ ョ ン 初期 コ ン フ ィ ギ ュ レーシ ョ ンが完了 し 、 検証 さ れた ら 、 FPGA はユーザー モー ド にな り 、 ダ ウ ン ロ ー ド さ れたデザ イ ンが動作 し 始め ます。 BIT フ ァ イ ルが破損 し てい る こ と が検出 さ れた場合は、 DONE 信号はアサー ト さ れず、 FPGA はユーザー モー ド にな る こ と はないので、 破損 し たデザ イ ンが動作 し 始め る こ と はあ り ません。 パーシ ャ ル ビ ッ ト ス ト リ ーム パーシ ャ ル ビ ッ ト ス ト リ ームは、 あ ら か じ め定義 さ れてい る デバ イ ス領域の機能を置き 換え る ため、 標準デバ イ ス操 作中に配信 さ れます。 こ れ ら のビ ッ ト ス ト リ ームの構造はフル ビ ッ ト ス ト リ ームの も の と 同 じ ですが、 デバ イ ス の特 定エ リ ア を プ ロ グ ラ ムす る ため特定ア ド レ ス セ ッ ト に限定 さ れてい ます。 フ レーム ご と の CRC チ ェ ッ ク (ビ ッ ト ス ト リ ーム イ ン テ グ リ テ ィ のため) や自動初期化 (領域が既知の ス テー ト で始ま る よ う にす る ため) な ど の専用 PR 機能 が利用で き 、 ま た暗号化や圧縮な ど の フル ビ ッ ト ス ト リ ーム機能 も 利用で き ます。 パーシ ャ ル ビ ッ ト ス ト リ ームのサ イ ズは、 リ コ ン フ ィ ギ ュ レー ト し てい る 領域のサ イ ズに直接比例 し てい ます。 た と えば、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンがデバ イ ス リ ソ ース の 20% を占めてい る 場合、 パーシ ャ ル ビ ッ ト ス ト リ ームはフル ビ ッ ト ス ト リ ームの約 20% にな り ます。 パーシ ャ ル ビ ッ ト ス ト リ ームは完全自己完結型であ る ため、 適切な コ ン フ ィ ギ ュ レーシ ョ ン ポー ト に配信 さ れます。 フル コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ームの場合 と 同 じ よ う に、 ア ド レ ス指定、 ヘ ッ ダー、 フ ッ タ ー と い っ た すべての詳細が こ れ ら のビ ッ ト ス ト リ ームに含まれてい ます。 パーシ ャ ル ビ ッ ト ス ト リ ームは、 JTAG やス レーブ シ リ アル、 ス レーブ SelectMap な ど の外部非 コ ン フ ィ ギ ュ レ ーシ ョ ン モー ド で FPGA に配信 さ れ ま す。 初回 コ ン フ ィ ギ ュ レーシ ョ ン ア ク セ ス には、 ICAP (すべてのデバ イ ス)、 PCAP (Zynq-7000 SoC デバ イ ス)、 お よ び MCAP (PCIe を 介 し た UltraScale デバ イ ス) が含まれます。 パーシ ャ ル ビ ッ ト ス ト リ ームは、 write_bitstream が PR コ ン フ ィ ギ ュ レーシ ョ ンで実行 さ れ る と 、 自動的に作成 さ れ ます。 各パーシ ャ ル ビ ッ ト ス ト リ ーム の フ ァ イ ル名には、 最上位デザ イ ン名、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの Pblock 名、 plus _partial が使用 さ れます。 た と えば、 フル デザ イ ン ビ ッ ト フ ァ イ ル top_first.bit の場合、 パーシ ャ ル ビ ッ ト フ ァ イ ルの名前は top_first_pblock_red_partial.bit にな り ます。 推奨 : Pblock イ ン ス タ ン ス内に含まれてい る RM に関係な く Pblock イ ン ス タ ン ス は常に同 じ なので、わか り やすい基 本 コ ン フ ィ ギ ュ レーシ ョ ン名を使用す る か、ま たはど のモジ ュ ールなのか を明確にす る ため、パーシ ャ ル ビ ッ ト フ ァ イ ルの名前を変更す る こ と を推奨 し ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 69 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン パーシ ャ ル BIT フ ァ イルのダウ ン ロー ド パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン さ れ る FPGA は、 パーシ ャ ル BIT フ ァ イ ルの読み込み中、 ユーザー モー ド で す。 こ れに よ り 、 リ コ ン フ ィ ギ ャ ラ ブル部分が変更 さ れてい る 間、 FPGA ロ ジ ッ ク の リ コ ン フ ィ ギ ュ レーシ ョ ン さ れ ない部分は動作 し 続け る こ と がで き ます。 図 7-2 に こ のプ ロ セ ス を示 し ます。 X-Ref Target - Figure 7-2 図 7‐2 : パーシ ャ ル BIT フ ァ イルでのコ ン フ ィ ギ ュ レーシ ョ ン パーシ ャ ル BIT フ ァ イ ルには簡略にな っ たヘ ッ ダーが含まれてお り 、FPGA をユーザー モー ド にす る ス タ ー ト ア ッ プ シーケ ン ス はあ り ません。BIT フ ァ イ ルには、デフ ォ ル ト 設定ではフ レーム ア ド レ ス と コ ン フ ィ ギ ュ レーシ ョ ン デー タ 、 お よ び最終チ ェ ッ ク サム値がのみが含まれます。 必要に応 じ て、 ビ ッ ト ス ト リ ームの イ ン テ グ リ テ ィ チ ェ ッ ク 用 に追加の CRC チ ェ ッ ク を挿入で き ます。 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用す る 機能を使用 し てい る 場合、 リ コ ン フ ィ ギ ュ レーシ ョ ンが開始 し た と き に DONE ピ ンが Low にな り 、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンが正 し く 完了す る と High にな り ます。パー シ ャ ル ビ ッ ト ス ト リ ームは、内部で監視す る こ と も で き ます。UltraScale デバ イ ス では、 こ の動作は ICAP の PRDONE 出力ピ ンに反映 さ れます。 注記 : UltraScale デバ イ ス の場合は、 2 つの ビ ッ ト ス ト リ ーム でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン シーケ ン ス が 成 り 立つため、 DONE お よ び PRDONE ピ ンが、 ビ ッ ト ス ト リ ーム を ク リ ア し 始めた と き に Low にな り 、 パーシ ャ ル ビ ッ ト ス ト リ ームの終わ り ま で Low の ま ま にな り ます。 DONE/PRDONE ピ ンはビ ッ ト ス ト リ ーム を ク リ アに し た と き に High には戻 り ません。 リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ セ ッ ト を適用す る 機能を使用 し ていない場合、 コ ン フ ィ ギ ュ レーシ ョ ンがいつ完了 し た か を 知 る た め デー タ を 監視す る 必要 が あ り ま す。 パ ー シ ャ ル BIT フ ァ イ ル の 最後 に は DESYNCH ワ ー ド (0000000D) があ り 、 コ ン フ ィ ギ ュ レーシ ョ ン エ ン ジ ン に BIT フ ァ イ ルの送信が完了 し た こ と を示 し ます。 こ の ワ ー ド は、 一連のパデ ィ ン グ NO OP コ マ ン ド の後に挿入 さ れてお り 、 DESYNCH に到達 し た と き にはすべての コ ン フ ィ ギ ュ レーシ ョ ン デー タ がデバ イ ス全体の タ ーゲ ッ ト フ レームに既に送信 さ れてい る こ と にな り ます。パーシ ャ ル BIT フ ァ イ ル全体が コ ン フ ィ ギ ュ レーシ ョ ン ポー ト に送信 さ れた ら 、リ コ ン フ ィ ギ ュ レーシ ョ ン さ れた領域を ア ク テ ィ ブ にで き ます。 ブ ラ ンキング ビ ッ ト ス ト リ ーム ブ ラ ン キ ン グ ビ ッ ト ス ト リ ームは、 特定 タ イ プのパーシ ャ ル ビ ッ ト ス ト リ ーム で、 ブ ラ ッ ク ボ ッ ク ス を表 し ます。 こ れは既存の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの機能を新 し い機能に置 き 換え た も ので、 すべての該当モジ ュ ール I/O の接続 し た LUT か ら 構成 さ れた単純な も のです。 ブ ラ ッ ク ボ ッ ク ス の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール を作成す る には、 完全に配置配線 さ れたデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン の論理お よ び物理的記述を削除 し て、 接続 さ れた LUT に置 き 換え ます。 使用 し てい る メ モ リ にあ る 配線済み コ ン フ ィ ギ ュ レーシ ョ ン (ス タ テ ィ ッ ク デザ イ ンが ロ ッ ク さ れてい る 状態) で、 次の ス テ ッ プ を実行 し ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 70 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン update_design -cell <foo> -black_box update_design -cell <foo> -buffer_ports place_design route_design デザ イ ンに挿入 さ れてい る LUT を イ ンプ リ メ ン ト す る には、デザ イ ン を配置配線す る 必要があ り ます。ブ ラ ッ ク ボ ッ ク ス RM の出力はデフ ォ ル ト でグ ラ ン ド に接続 さ れてい ますが、望むポー ト に HD.PARTPIN_TIEOFF を設定 し て、Vcc に設定す る こ と がで き ます。 ブ ラ ン キ ン グ ビ ッ ト ス ト リ ームのサ イ ズ を大幅に低減する には、圧縮を使用する こ と がで き ます。 こ れ ら のビ ッ ト ス ト リ ームには、 接続 さ れた LUT だけでな く 、 FPGA の こ の領域を た ま た ま通過す る ス タ テ ィ ッ ク 配線 も 含まれてい ま す。 ブ ラ ッ ク ボ ッ ク ス の も のは別の コ ン フ ィ ギ ュ レーシ ョ ン チ ェ ッ ク ポ イ ン ト と し て保存 さ れ、 ブ ラ ン キ ン グ ビ ッ ト ス ト リ ームは標準パーシ ャ ル ビ ッ ト ス ト リ ーム と 同 じ 方法で生成 さ れ、 名前が付け ら れます。 ク リ ア ビ ッ ト ス ト リ ーム 上述の ビ ッ ト ス ト リ ーム タ イ プ と は異な り 、 こ の タ イ プは UltraScale デバ イ ス専用です。 こ のアーキ テ ク チ ャ には、 新 し いモジ ュ ールを読み込む前に既存モジ ュ ールを消去 し なければな ら ない と い う 要件が新 し く 追加 さ れてい ます。 ビ ッ ト ス ト リ ームの ク リ アは、 リ コ ン フ ィ ギ ュ レーシ ョ ンす る 領域のグ ロ ーバル信号マ ス ク を確立す る こ と に よ り 、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の後続パーシ ャ ル ビ ッ ト ス ト リ ーム を供給で き る よ う に し ます。 正確には既 存のモジ ュ ールが削除 さ れ る わけではあ り ま せんが (論理モジ ュ ールは残っ てい る )、 そ う 考え る と 理解 し やすいで す。 ク リ ア ビ ッ ト ス ト リ ームはパーシ ャ ル ビ ッ ト ス ト リ ーム ではあ り ません。 こ の ビ ッ ト ス ト リ ームは、 タ ーゲ ッ ト 領 域の フ レームの 10% 未満 し か占めないため、 対応す る パーシ ャ ル ビ ッ ト ス ト リ ームのサ イ ズの 10% 未満に し かな り ません。 機能性を変更す る こ と はあ り ませんが、 領域の ロ ジ ッ ク を駆動す る ク ロ ッ ク を シ ャ ッ ト ダ ウ ン し ます。 ク リ ア ビ ッ ト ス ト リ ームは、 パーシ ャ ル ビ ッ ト ス ト リ ーム の間に挟んで配信す る 必要があ り 、 ま た、 常にで き る 限 り 間 を置かず、 す ぐ に、 次のパーシ ャ ル ビ ッ ト ス ト リ ーム を後に続け る 必要があ り ます。 各 ク リ ア ビ ッ ト ス ト リ ームは、 特定の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに対 し て構成 さ れていて、 そのモジ ュ ール が使用 さ れた後に適用す る 必要があ り ます。 そ し て、 次のパーシ ャ ル ビ ッ ト ス ト リ ーム が配信 さ れ る 直前に、 コ ン フ ィ ギ ュ レーシ ョ ン エン ジ ンに送信す る 必要があ り ます。 た と えば、 モジ ュ ール A か ら モジ ュ ール B へ と 移行す る には、 A の ク リ ア ビ ッ ト ス ト リ ーム を、 B のパーシ ャ ル ビ ッ ト ス ト リ ーム が配信 さ れ る 直前に、 配信す る 必要があ り ます。 モジ ュ ール B か ら モジ ュ ール A に戻 る には、 B の ク リ ア ビ ッ ト ス ト リ ーム を、 A のパーシ ャ ル ビ ッ ト ス ト リ ームが配信 さ れ る 直前に、配信す る 必要があ り ます。パーシ ャ ル ビ ッ ト ス ト リ ームがブ ラ ン キ ン グ ビ ッ ト ス ト リ ー ムであ っ て も 、 こ のルールに従い ます。 ク リ ア ビ ッ ト ス ト リ ームは自動的に生成 さ れ、 パーシ ャ ル ビ ッ ト ス ト リ ーム と 同 じ 名前が付いてい ますが、 名前の 終わ り に _clear が付いてい ます。 上記の例の場合、 top_first が UltraScale デバ イ ス デザ イ ン であ る な ら ば、 ク リ ア ビ ッ ト フ ァ イ ル名は top_first_pblock_red_partial_clear.bit にな り ます。 ICAP を介 し たパーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン (Zynq デバイ ス) Zynq デバ イ ス のプ ロ グ ラ マブル ロ ジ ッ ク (PL) の主な コ ン フ ィ ギ ュ レ ーシ ョ ン メ カ ニ ズ ム は、 PCAP に ビ ッ ト ス ト リ ーム を配信す る プ ロ セ ッ シ ン グ シ ス テ ム (PS) を介 し た も のです。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの も っ と も 簡単な メ カ ニズ ム も こ れです。 し か し 、 PL 内で完全にパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を管理す る には (PR Controller IP ま た は カ ス タ ム デザ イ ン の コ ン ト ロ ー ラ ー モ ジ ュ ール を 介 し て)、 パーシ ャ ル ビ ッ ト ス ト リ ー ム も 、 FPGA デバ イ ス の場合 と 同 じ よ う に、 ICAP に配信で き ます。 PCAP と ICAP は相互排他的で、 同時に使用す る こ と はで き ません。 ICAP と PCAP を切 り 替え る こ と は可能ですが、 イ ン タ ーフ ェ イ ス を変更す る 前に、 コ マ ン ド ま たはデー タ が送信あ る いは受信中でない こ と を確認す る 必要があ り ま す。 こ の確認を怠 る と 、 予期せぬ動作が発生す る 可能性があ り ます。 コ ン ト ロ ール レ ジ ス タ (devc.CTRL) の ビ ッ ト 27 (PCAP_PR) は、 PL リ コ ン フ ィ ギ ュ レーシ ョ ンの ICAP か PCAP を選択 し ます。 デフ ォ ル ト は PCAP (1) です パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 71 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン が、 こ の コ ン フ ィ ギ ュ レーシ ョ ン ポー ト を イ ネーブルにす る ため、 ICAP (0) に変更す る こ と がで き ます。 ビ ッ ト 28 (PCAP_MODE) も 1 に設定す る 必要があ り ます (1 がデフ ォ ル ト 値)。 詳細は、 『Zynq-7000 All Programmable SoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG585) [参照 5] を参照 し て く だ さ い。 MCAP を介 し た コ ン フ ィ ギ ュ レーシ ョ ン エ ン ジ ンへ のア ク セス UltraScale デバ イ ス には、デバ イ ス上にあ る 特定の 1 つの PCIe ブ ロ ッ ク か ら コ ン フ ィ ギ ュ レーシ ョ ン エン ジ ンへの専 用接続が導入 さ れてお り 、 パーシ ャ ル ビ ッ ト ス ト リ ーム を効率的に供給で き ます。PCIe ブ ロ ッ ク を ICAP に接続す る のに明示的な配線は必要な く 、 リ ソ ース を大幅に節約で き ます。 こ の機能を有効にす る には、次の図に示す よ う に、UltraScale FPGA Gen3 Integrated Block for PCI Express IP の [Customize IP] ダ イ ア ロ グ ボ ッ ク ス で [Tandem Configuration or Partial Reconfiguration] を [PR over PCIe] に設定 し ま す。 こ のオプ シ ョ ン を設定で き る よ う にす る には、 [Mode] を [Advanced] に設定 し 、 [PCIe Block Location] を MCAP が イ ネーブルの 場所に設定 し 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンお よ び Tandem コ ン フ ィ ギ ュ レーシ ョ ン をサポー ト す る デバ イ ス を選択す る 必要があ り ます。 X-Ref Target - Figure 7-3 図 7‐3 : ザイ リ ン ク ス PCIe IP を生成する際に PCIe オプ シ ョ ン でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を選択 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 72 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン ほ と ん ど の場合、選択す る 必要のあ る PCIe ブ ロ ッ ク はデバ イ ス の最下位 イ ン ス タ ン ス ですが、3 つの SLR (Super Logic Region) を持つ SSI デバ イ ス では中央の SLR の最下位 PCIe イ ン ス タ ン ス です。 次の表に、 各デバ イ ス でサポー ト さ れ てい る ブ ロ ッ ク を示 し ます。 その他の PCIe ブ ロ ッ ク には、 専用 MCAP 機能はあ り ません。 表 7‐1 : デバイ ス ご と の PR をサポー ト する PCIe ブ ロ ッ ク および リ セ ッ ト ロ ケーシ ョ ン パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン をサポー ト する PCIe ブ ロ ッ ク イ ン ス タ ン ス PCIe リ セ ッ ト ロ ケーシ ョ ン XCKU035 PCIE_3_1_X0Y0 IOB_X1Y103 XCKU040 PCIE_3_1_X0Y0 IOB_X1Y103 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 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 デバイ ス Kintex® UltraScale Virtex® UltraScale MCAP は、 32 ビ ッ ト デー タ パ ス で 200MHz で動作で き ます。 通常、 ビ ッ ト ス ト リ ームはホ ス ト PC か ら PCI Express コ ン フ ィ ギ ュ レーシ ョ ン パケ ッ ト を介 し て MCAP に読み込ま れ ます。 こ れ ら のシ ス テ ム では、 ホ ス ト PC お よ びホ ス ト PC ソ フ ト ウ ェ アが MCAP パフ ォーマ ン スお よ びビ ッ ト ス ト リ ームの スループ ッ ト を制限す る 主な要因です。特 定のホ ス ト PC お よ びホ ス ト PC ソ フ ト ウ ェ アの PCIe パフ ォーマ ン スはシ ス テ ムに よ っ て大 き く 異な る ので、 全体的 な MCAP パフ ォーマ ン ス スループ ッ ト も 大 き く 異な る 可能性があ り ます。 詳細お よ びサンプル ド ラ イ バーに関 し ては、 ア ンサー レ コ ー ド の 「UltraScale デバ イ ス におけ る Tandem PCIe お よ び パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し た PCI Express リ ン ク でのビー ト ス ト リ ームの読み込み」 (AR# 64761) [参照 30] を参照 し て く だ さ い。 内部 コ ン フ ィ ギ ュ レーシ ョ ン ポー ト へ配信する ため の BIN フ ァ イルのフ ォ ーマ ッ ト パーシ ャ ル ビ ッ ト フ ァ イ ルの基本フ ォーマ ッ ト はフル ビ ッ ト フ ァ イ ルの も の と 同 じ ですが、パーシ ャ ル ビ ッ ト フ ァ イ ルは、 タ ーゲ ッ ト 領域の コ ン フ ィ ギ ュ レーシ ョ ン フ レーム セ ッ ト に縮小 さ れていて、 ア ク テ ィ ブ デバ イ ス の イ ベ ン ト セ ッ ト に制限 さ れてい ます。 パーシ ャ ル ビ ッ ト フ ァ イ ルでは次の こ と が可能です。 • JTAG やス レーブ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト な ど の外部 イ ン タ ーフ ェ イ ス に配信可能。 • 次の内部 コ ン フ ィ ギ ュ レーシ ョ ン ポー ト に配信す る ため BIN フ ァ イ ルに リ フ ォーマ ッ ト 可能 : ICAP (7 シ リ ーズ ま たは UltraScale デバ イ ス)、 PCAP (Zynq デバ イ ス のみ) ま たは MCAP (UltraScale デバ イ ス のみ) パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 73 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン 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> PCAP (Zynq‐7000 SoC デバイ ス) または MCAP (UltraScale デバイ ス ご と に 1 つの PCIe ブ ロ ッ ク を使 用する場合) write_cfgmem -format BIN -interface SMAPx32 -disablebitswap -loadbit "up 0x0 <partial_bitfile> UltraScale デバイ ス での BIT フ ァ イルのサマ リ グ ロ ーバル信号 (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 フ ァ イ ル。リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン RP1 か ら RM が ク リ ア さ れた後に読み込まれます。 • configA_RP1_A1_partial_clear.bit : フ ァ ン ク シ ョ ン A1 用の ク リ ア BIT フ ァ イ ル。 フ ァ ン ク シ ョ ン A1 の後、 RP1 にほかのパーシ ャ ル BIT フ ァ イ ルを読み込む前に こ の フ ァ イ ルを読み込む必要があ り ます。 • configA_RP2_A2_partial.bit : フ ァ ン ク シ ョ ン A2 用の BIT フ ァ イ ル。リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン RP2 か ら RM が ク リ ア さ れた後に読み込まれます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 74 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン • configA_RP2_A2_partial_clear.bit : フ ァ ン ク シ ョ ン A2 用の ク リ ア BIT フ ァ イ ル。 フ ァ ン ク シ ョ ン A2 の後、 RP2 にほかのパーシ ャ ル BIT フ ァ イ ルを読み込む前に こ の フ ァ イ ルを読み込む必要があ り ます。 同様に、 configB に対 し て も 5 つのビ ッ ト ス ト リ ームが生成 さ れます。 • configB.bit : 電源投入時にデバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ンに使用 さ れ る 完全なデザ イ ン ビ ッ ト ス ト リ ー ム。 ス タ テ ィ ッ ク デザ イ ン と フ ァ ン ク シ ョ ン B1 お よ び B2 が含まれます。 • configB_RP1_B1_partial.bit : フ ァ ン ク シ ョ ン B1 用の BIT フ ァ イ ル。リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン RP1 か ら RM が ク リ ア さ れた後に読み込まれます。 • configB_RP1_B1_partial_clear.bit : フ ァ ン ク シ ョ ン B1 用の ク リ ア BIT フ ァ イ ル。フ ァ ン ク シ ョ ン B1 の 後、 RP1 にほかのパーシ ャ ル BIT フ ァ イ ルを読み込む前に こ の フ ァ イ ルを読み込む必要があ り ます。 • configB_RP2_B2_partial.bit : フ ァ ン ク シ ョ ン B2 用の BIT フ ァ イ ル。リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン RP2 か ら RM が ク リ ア さ れた後に読み込まれます。 • 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 ま たは ス タ テ ィ ッ ク デザ イ ンが変更 さ れ る 可能性があ り ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 75 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン 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 コ ン フ ィ ギ ュ レーシ ョ ン ピ ン を使用す る のではな く 、 デザ イ ン内で実行す る 必要があ り ます。 図 7-4 に、 マ イ ク ロ プ ロ セ ッ サを介 し た コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス を示 し ます。 X-Ref Target - Figure 7-4 full configuration RM A1 config. RM A2 config. RM A3 config. Off-chip memory or System ACE ICAP uP FPGA Self-reconfiguring FPGA uP RP A RP A JTAG port X12033 図 7‐4 : マ イ ク ロ プ ロ セ ッ サを介 し た コ ン フ ィ ギ ュ レーシ ョ ン パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン では、 標準 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス に加え、 内部 コ ン フ ィ ギ ュ レーシ ョ ン ア ク セ ス ポー ト (ICAP) に よ る コ ン フ ィ ギ ュ レーシ ョ ン がサポー ト さ れてい ます。 ICAP プ ロ ト コ ル は SelectMAP と 同 じ で、 タ ーゲ ッ ト デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド に説明 さ れてい ます。FPGA デザ イ ン の HDL 記述に ICAP ラ イ ブ ラ リ プ リ ミ テ ィ ブ を イ ン ス タ ン シエー ト し 、 パーシ ャ ル BIT フ ァ イ ル を コ ン フ ィ ギ ュ レーシ ョ ン ポー ト に送信す る 前に解析お よ び制御で き ます。 パーシ ャ ル BIT フ ァ イ ルは、 汎用 I/O ま たはギ ガ ビ ッ ト ト ラ ン シーバーを介 し て FPGA にダ ウ ン ロ ー ド し 、その後 FPGAプ ロ グ ラ マブル ロ ジ ッ ク の ICAP に転送で き ます。 暗号化 7 シ リ ーズ BIT フ ァ イ ルのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは、8 ビ ッ ト バ ス のみの ICAP を使用す る 必要があ り ます。 ビ ッ ト ス ト リ ーム リ ー ド バ ッ ク セキ ュ リ テ ィ が レベル 2 に設定 さ れていなければ、 外部 コ ン フ ィ ギ ュ レーシ ョ ン ポー ト を介 し た リ コ ン フ ィ ギ ュ レーシ ョ ンが可能です。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 76 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン パーシ ャル 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 AP SoC の コ ン フ ィ ギ ュ レーシ ョ ン エン ジ ンにはフ レーム ご と の CRC チ ェ ッ ク を実行す る 機能が あ り 、 CRC チ ェ ッ ク でエ ラ ーが検出 さ れた場合は フ レ ーム は コ ン フ ィ ギ ュ レ ー シ ョ ン メ モ リ に読み込ま れ ません。 エ ラ ーが検出 さ れ る と INIT_B ピ ンが Low にな り 、 パーシ ャ ル BIT フ ァ イ ルを 再試行す る か、 ゴールデン パーシ ャ ル BIT フ ァ イ ルを使用す る かな ど、 次の処理を決定で き ます。 部分的に読み込 ま れた リ コ ン フ ィ ギ ュ レ ーシ ョ ン領域には有効なプ ロ グ ラ ミ ン グはあ り ま せんが、 シ ス テ ム がエ ラ ーか ら 回復す る 間、 CRC チ ェ ッ ク に よ り デバ イ ス の残 り の部分 (ス タ テ ィ ッ ク 領域お よ びほかの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール) は動作を続け ます。 こ れ ら のデバ イ ス で こ の機能を有効にす る には、 write_bitstream を実行す る 前に PerFrameCRC プ ロ パテ ィ を設 定 し ます。 こ のプ ロ パテ ィ のデフ ォ ル ト 値は No で、 Yes に設定する と 追加の CRC チ ェ ッ ク が挿入 さ れます。 こ れに よ り 、 圧縮 さ れていない BIT フ ァ イ ルのサ イ ズが 4 ~ 5% 増加 し ます。 こ のプ ロ パテ ィ を設定す る のに特別に考慮す べ き 点はあ り ませんが、INIT_B ピ ンに よ り エ ラ ーが示 さ れた場合の処理を選択する ため、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン コ ン ト ロ ー ラ ー ソ リ ュ ーシ ョ ン を設計す る 必要があ り ます。 PerFrameCRC プ ロ パテ ィ を設定す る 構文は、 次の と お り です。 set_property bitstream.general.perFrameCRC yes [current_design] フ レーム ご と の CRC チ ェ ッ ク の使用/不使用にかかわ ら ず、 パーシ ャ ル BIT フ ァ イ ルが読み込まれ る と 、 デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン全体が変わ り ます。SEU を軽減す る ための POST_CRC 機能が イ ネーブルにな っ てい る 場合、 パーシ ャ ル ビ ッ ト ス ト リ ーム が読み込ま れ、 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス が非同期化 さ れた後、 SEU 軽減エン ジ ンに よ り エンベデ ッ ド SEU CRC 値が自動的に再算出 さ れます。CRC 再キ ャ リ ブ レーシ ョ ンが完了す る と 、 FRAME_ECCE2 の FRAME_VALID 出力が ト グル し 、 SEU 検出が再開 し た こ と が示 さ れます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 77 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ン フ レーム ザ イ リ ン ク ス FPGA お よ び AP SoC デバ イ ス のすべてのユーザー プ ロ グ ラ マブル機能は、電源投入時に コ ン フ ィ ギ ュ レーシ ョ ンす る 必要のあ る 揮発性 メ モ リ セルに よ り 制御 さ れます。 こ れ ら の メ モ リ セルは、 ま と めて 「 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ 」 と 呼ばれ ます。 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ は、 LUT 論理式、 信号配線、 IOB 電圧規格、 お よ びデザ イ ンのすべての特性を定義 し ます。 ザ イ リ ン ク ス FPGA お よ び AP SoC アーキ テ ク チ ャ では、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ はデバ イ ス周囲に フ レーム と し て タ イ ル状に並べ ら れてい ます。 こ れ ら の フ レームはデバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ 空間のア ド レ ス 指定可能な最小セ グ メ ン ト なので、 すべての操作を コ ン フ ィ ギ ュ レーシ ョ ン フ レーム全体に実行す る 必要があ り ま す。 リ コ ン フ ィ ギ ャ ラ ブル フ レームは、こ れ ら の コ ン フ ィ ギ ュ レーシ ョ ン フ レーム上に構築 さ れ、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を実行す る 際の最小の構築ブ ロ ッ ク です。 • • 7 シ リ ーズ FPGA の基本領域 : ° CLB : 高 さ 50 x 幅 1 ° DSP48 : 高 さ 10 x 幅 1 ° ブ ロ ッ ク RAM : 高 さ 10 x 幅 1 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 つの ク ワ ッ ド と 関連の ク ロ ッ ク リ ソ ース) コ ン フ ィ ギ ュ レーシ ョ ン時間 コ ン フ ィ ギ ュ レーシ ョ ン の速度は、 パーシ ャ ル BIT フ ァ イ ルのサ イ ズお よ び コ ン フ ィ ギ ュ レーシ ョ ン ポー ト のバン ド 幅に直接関係 し てい ます。 表 7-2 に、 7 シ リ ーズの異な る コ ン フ ィ ギ ュ レーシ ョ ン ポー ト の最大バン ド 幅を示 し ま す。 表 7‐2 : 7 シ リ ーズ アーキテ ク チ ャの コ ン フ ィ ギ ュ レーシ ョ ン ポー ト の最大バン ド 幅 コ ン フ ィ ギ ュ レーシ ョ ン モー ド 最大ク ロ ッ ク レー ト デー タ 幅 最大バン ド 幅 ICAP 100MHz 32 ビ ッ ト 3.2Gb/s SelectMAP 100MHz 32 ビ ッ ト 3.2Gb/s シ リ アル モー ド 100MHz 1 ビッ ト 100Mb/s JTAG 66MHz 1 ビッ ト 66Mb/s ビ ッ ト ス ト リ ームの正確な長 さ は、 write_bitstream コ マ ン ド で -raw_bitfile オプシ ョ ン を使用 し て作成 さ れ た .rbt フ ァ イ ルに含 ま れ ます。 こ の数値 と バン ド 幅か ら 、 コ ン フ ィ ギ ュ レーシ ョ ン の総時間を算出 し ます。 次に、 ロ ー ビ ッ ト フ ァ イ ルのヘ ッ ダーの例を示 し ます。 Xilinx ASCII Bitstream パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 78 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン Created by Bitstream 2015.1 Design name: led_shift_count;UserID=0XFFFFFFFF Architecture:kintex7 Part: 7k325tffg900 Date: Mon Mar 16 16:42:05 2015 Bits: 1211072 11111111111111111111111111111111 コ ン フ ィ ギ ュ レーシ ョ ン デバ ッ グ JTAG ま たは ス レーブ SelectMAP な ど の ICAP 以外の コ ン フ ィ ギ ュ レーシ ョ ン方法を使用 し てい る 場合で も 、ICAP イ ン タ ーフ ェ イ ス を使用 し て コ ン フ ィ ギ ュ レ ーシ ョ ン プ ロ セ ス を開始で き ま す。 実際、 コ ン フ ィ ギ ュ レーシ ョ ン の ス テー タ ス は、 読み出 し コ マ ン ド を発行 し な く て も 、 自動的に ICAP の O ポー ト に送信 さ れます。 次に説明す る 手法に加え、 UltraScale アーキ テ ク チ ャ には ICAP 上にパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン で使用可 能な 2 つの専用ポー ト があ り ます。 • PRDONE 信号は、 外部 DONE ピ ンの ス テー ト を反映 し ます。 リ コ ン フ ィ ギ ュ レーシ ョ ンが開始す る と ( ク リ ア ビ ッ ト ス ト リ ーム の冒頭で)、 こ の信号は Low にな り 、 完了す る と (パーシ ャ ル ビ ッ ト ス ト リ ーム の終わ り に) High に戻 り ます。 • PRERROR 信号は、 外部 INIT_B ピ ンの ス テー ト を反映 し ます。 BIT フ ァ イ ルの最後の標準完全 CRC 値ま たはフ レーム ご と の CRC 値で CRC エ ラ ーが発生する と Low にな り ます。 ICAP ブ ロ ッ ク の O ポー ト は 32 ビ ッ ト バ ス ですが、 最下位バ イ ト のみが使用 さ れます。 次の表に、 最下位バ イ ト の 各ビ ッ ト の説明を示 し ます。 表 7‐3 : ICAP の O ポー ト ビ ッ ト ICAP の O ポー ト ビ ッ ト ス テー タ ス ビ ッ ト O[7] CFGERR_B O[6] DALIGN O[5] RIP O[4] IN_ABORT_B O[3:0] 1 説明 コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ー (ア ク テ ィ ブ Low) 0 : コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーが発生 1 : コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーな し 同期ワー ド の受信 (ア ク テ ィ ブ High) 0 : 同期ワ ー ド は受信 さ れていない 1 : イ ン タ ーフ ェ イ ス ロ ジ ッ ク か ら 同期 ワ ー ド を 受信 リ ー ド バ ッ ク (ア ク テ ィ ブ High) 0 : リ ー ド バ ッ ク は実行 さ れていない 1 : リ ー ド バ ッ ク を実行中 アボー ト (ア ク テ ィ ブ Low) 0 : アボー ト を実行中 1 : アボー ト は実行 さ れていない 予約済み こ のバ イ ト の上位 4 ビ ッ ト が ス テー タ ス を示 し ます。 こ れ ら の ス テー タ ス ビ ッ ト は、 同期ワ ー ド が受信 さ れたか、 コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーが発生 し たか を示 し ます。 次の表に、 こ れ ら の状態の値を示 し ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 79 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン 表 7‐4 : ICAP の同期ビ ッ ト O[7:0] 同期ワー ド の有無 コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーの有無 9F なし なし DF あり なし 5F あり あり 1F なし あり 図 7-5 に、 完了 し た フル コ ン フ ィ ギ ュ レーシ ョ ン、 その後に CRC エ ラ ーを含むパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン、 最後に正常に完了 し たパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を示 し ます。 上記の表 と こ の後の説明か ら 、 ど の よ う に ICAP の O ポー ト を使用 し て コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス を監視す る かがわか り ます。 CRC エ ラ ーが発生 し た ら 、 こ れ ら の信号を コ ン フ ィ ギ ュ レーシ ョ ン ス テー ト マシ ン で使用 し てエ ラ ーか ら 回復で き ます。 こ れ ら の信 号は Vivado ロ ジ ッ ク 解析でデバ ッ グ用に コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーを キ ャ プチ ャ す る のに も 使用で き ます。 こ の情報 を使用 し て、 Vivado ロ ジ ッ ク 解析を パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン の さ ま ざ ま な ポ イ ン ト を キ ャ プ チ ャ す る のに使用で き ます。 X-Ref Target - Figure 7-5 図 7‐5 : パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン用の Vivado ロ ジ ッ ク解析の画面 Vivado ロ ジ ッ ク 解析画面のマーカーは、 次を も のを示 し ます。 • 1st_done 初期フル ビ ッ ト ス ト リ ーム コ ン フ ィ ギ ュ レーシ ョ ンの完了を示 し ます。 DONE ピ ン (図の波形の done_pad) が High にな り ます。 • cfgerr パーシ ャ ル ビ ッ ト ス ト リ ームの読み込み中に CRC エ ラ ーが検出 さ れた こ と を示 し ます。 ス テー タ ス は O[31:0] ( 図の波形の icap_o_top[31:0]) で確認で き ます。 ° Icap_o_top[31:0] は 0x9F か ら 開始 し ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 80 第 7 章 : デバイ スのコ ン フ ィ ギ ュ レーシ ョ ン • ° SYNC ワー ド が受信 さ れ る と 、 Icap_o_top[31:0] が 0xDF にな り ます。 ° CRC エ ラ ーが受信 さ れ る と 、 Icap_o_top[31:0] が 1 サ イ ク ル間 0x5F にな り 、 その後 0x1F にな り ます。 ° INIT_B が Low にな り ます (図の波形の init_pad)。 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 に変わ り ます。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 81 第 8章 既知の問題および制限 既知の問題 現在の Vivado® Design Suite リ リ ース でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用する 場合、 直面す る 可能性のあ る 既知の問題がい く つかあ り ます。 こ れ ら の問題が発生 し た場合、 ま たはほかの問題が発生 し た場合は、 ザ イ リ ン ク ス に連絡 し 、 問題が発生 し たサ ン プル デザ イ ン を ご送付 く だ さ い。 こ れ ら のテ ス ト ケー ス は、 ソ リ ュ ーシ ョ ン を向 上す る ために活用 さ せていただ き ます。 • 致命的なエ ラ ー、 内部エ ラ ー、 不完全な配線 (部分的な ア ン テナ)、 配置配線、 pr_verify、 お よ び write_bitstream を阻害す る その他の規則違反が発生 し た場合は、 ザ イ リ ン ク ス にご連絡 く だ さ い。 適切な 分析を行い、 修正を適用す る 上で、 エ ラ ーが発生 し たデザ イ ン を含めていただ く こ と が重要にな り ます。 • イ ンプ リ メ ン ト 済み リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを再利用 し よ う と し て も 、 100% その ま ま再利用する こ と はで き ません。 今後の リ リ ース では、 イ ンプ リ メ ン ト 済み リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを示すチ ェ ッ ク ポ イ ン ト を 1 つの コ ン フ ィ ギ ュ レーシ ョ ンか ら 保存 し 、 別の コ ン フ ィ ギ ュ レーシ ョ ンで再利用で き る よ う にす る 予定です。 現在の リ リ ース では、 パーテ ィ シ ョ ン ピ ン と 内部 ロ ジ ッ ク の間の イ ン タ ーフ ェ イ ス ネ ッ ト を取 り 込む こ と はで き ないため、 こ れ ら の信号は再配線す る 必要があ り ます。 ° • 配線済み RM チ ェ ッ ク ポ イ ン ト を読み込んだ後に route_design コ マ ン ド を実行する と 、 配線がで き ま す。 し か し プ ロ セ ス は十分にテ ス ト さ れていないので、 お勧め し ません。 7 シ リ ーズ SSI デバ イ ス (7V2000T、 7VX1140T) の初回コ ン フ ィ ギ ュ レーシ ョ ン を SPI イ ン タ ーフ ェ イ ス を介 し て実行す る 場合は、 パーシ ャ ル ビ ッ ト ス ト リ ーム を マ ス タ ー (ま たはその他の) ICAP に送信す る こ と はで き ま せん。 JTAG な ど の外部ポー ト に送信す る 必要があ り ます。 初回 コ ン フ ィ ギ ュ レーシ ョ ン をほかの コ ン フ ィ ギ ュ レーシ ョ ン ポー ト を介 し て実行 し た場合は、 マ ス タ ー ICAP をパーシ ャ ル ビ ッ ト ス ト リ ームの送信ポー ト と し て使用で き ます。 ° 回避策については、 ザ イ リ ン ク ス サポー ト にご連絡 く だ さ い。 • 1 つの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの複数の出力を同 じ ソ ース で駆動 し ないで く だ さ い。 RM の各出力に は、 それぞれ ド ラ イ バーが必要です。 • UltraScale™ デバ イ ス のエン ジニア リ ン グ シ リ コ ン (ES) は、 公式にはパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を サポー ト し てい ません。 ES デバ イ ス での PR 機能の詳細については、 ザ イ リ ン ク ス サポー ト ま でご連絡 く だ さ い。 • UltraScale の PR の場合、 配置後のデザ イ ン ま たは配線後のデザ イ ンでは、 phys_opt_design の実行はサポー ト さ れてい ません。 こ れを実行す る と 、 PR に対す る 配置/配線が無効にな る 可能性があ り ます。 こ れは今後の バージ ョ ンの Vivado で修正 さ れ る 予定です。 7 シ リ ーズおよび Zynq‐7000 フ ァ ミ リ のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンに推奨 さ れる ブ ラ ンキング ビ ッ ト ス ト リ ーム こ の問題は、 ザ イ リ ン ク ス 7 シ リ ーズお よ び Zynq-7000 デバ イ ス を使用す る 、 すべてのバージ ョ ン の Vivado Design Suite お よ び ISE でのデザ イ ン に影響 し ま す。 こ の問題の詳細お よ び現在の ソ リ ュ ーシ ョ ンは次に説明 し ます。 今後 のバージ ョ ンの Vivado では、 こ の ソ リ ュ ーシ ョ ンは自動化 さ れ、 ユーザーが特に追加作業をす る 必要はな く な る 予 定です。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 82 第 8 章 : 既知の問題および制限 説明 リ コ ン フ ィ ギ ュ レーシ ョ ン中に、 リ コ ン フ ィ ギ ャ ラ ブルな領域を通過す る ス タ テ ィ ッ ク 信号にグ リ ッ チが発生 し て、 ス タ テ ィ ッ ク デザ イ ンの動作を妨げて し ま う 可能性が、 わずかですがあ り ます。 こ の状況が実際に発生する には、 複 数の要因が揃っ ていなければな ら ず、 それが発生す る 確率は非常に低い と 考え ら れます。 こ れ ら の要因には、 使用 さ れてい る 配線 リ ソ ース、コ ン フ ィ ギ ュ レーシ ョ ン フ レーム順序、パーシ ャ ル ビ ッ ト ス ト リ ームの配信順序、ス タ テ ィ ッ ク 信号の現在値な ど があ り ます。 こ のグ リ ッ チは、 ビ ッ ト ス ト リ ームの構成に一部拠 る ため、 こ の動作は繰 り 返 し 発生す る 可能性があ り ます。 た と え ば、あ る リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールか ら 別の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールへ移行する 場合 ( し か し 戻 る と き は関係がない)、 こ のグ リ ッ チが起 き る 可能性があ り ます。 ハー ド ウ ェ ア テ ス ト で ス タ テ ィ ッ ク デザ イ ンに こ の問 題が起 き ていな ければ、 展開 さ れた シ ス テ ム で こ の問題が起 き る こ と はないで し ょ う 。 し か し なが ら 、 リ コ ン フ ィ ギ ュ レーシ ョ ン中の ス タ テ ィ ッ ク デザ イ ンの イ ン テ グ リ テ ィ を確実にす る には、 ブ ラ ン キ ン グ ビ ッ ト ス ト リ ーム を 挿入す る こ と を推奨 し ます。 ソ リ ュ ーシ ョ ン ブ ラ ッ ク ボ ッ ク ス ま たはブ ラ ン キ ン グ タ イ プのパーシ ャ ル ビ ッ ト ス ト リ ーム を作成お よ び配信 し 、 次の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール (RM) を読み込む前に、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン (RP) の配線すべて を実質的に 削除 し ます。 こ のブ ラ ン キ ン グ ビ ッ ト ス ト リ ームには、 定義 さ れてい る 領域の ス タ テ ィ ッ ク 配線のみが含まれてい る ので、 グ リ ッ チは発生 し な く な り ま す。 UltraScale デバ イ ス の ク リ ア ビ ッ ト ス ト リ ーム と は異な り 、 ブ ラ ン キ ン グ ビ ッ ト ス ト リ ーム の配信は順序に左右 さ れず、 RP につ き 1 つだけ必要です。 詳細は、 70 ページの 「ブ ラ ン キ ン グ ビ ッ ト ス ト リ ーム」 を参照 し て く だ さ い。 ブ ラ ン キ ン グ ビ ッ ト ス ト リ ームの作成は簡単です。 • Vivado : 配線済みの フル デザ イ ン チ ェ ッ ク ポ イ ン ト か ら 、 各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに対 し て update_design -black_box を呼び出 し (PR フ ロ ーの必須 ス テ ッ プ)、 チ ェ ッ ク ポ イ ン ト を保存 し ま す。 write_bitstream は各 RP に対 し ブ ラ ン キ ン グ ビ ッ ト ス ト リ ーム を作成 し 、 -cell オプシ ョ ン を使用す る と 、 特定の RP を タ ーゲ ッ ト にす る こ と がで き ます。 • ISE : プ ラ イ マ リ デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンか ら ス タ テ ィ ッ ク 結果を イ ン ポー ト し て、 ブ ラ ッ ク ボ ッ ク ス を 使用 し て明示的なデザ イ ン コ ン フ ィ ギ ュ レ ーシ ョ ン を 作成 し ま す。 bitgen は各 RP に対 し ブ ラ ン キ ン グ ビ ッ ト ス ト リ ーム を作成 し ます。 詳細は、 『パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG702) [参 照 6] を参照 し て く だ さ い。 注記 : 注記 : ISE を使用 さ れてい る 方には、 さ ら に改善 さ れた機能や結果を利用で き る よ う 、 Vivado へ移行す る こ と を推奨 し ます。詳細は、『Vivado Design Suite: ISE か ら Vivado Design Suite への移行ガ イ ド 』 (UG911) [参照 29] を参照 し て く だ さ い。 ブ ラ ン キ ン グ ビ ッ ト ス ト リ ームのサ イ ズ を小 さ く する には、 ビ ッ ト ス ト リ ーム圧縮機能を使用で き ます。 ブ ラ ン キ ン グ ビ ッ ト ス ト リ ームは、 DONE な ど の ビヘ イ ビ アーそ し て配信に関 し て言えば、 あ る 1 点を除き 、 標準のパーシ ャ ル ビ ッ ト ス ト リ ーム を同 じ です。 ブ ラ ン キ ン グ ビ ッ ト ス ト リ ームの場合、 それを読み込む前に、デカ ッ プ リ ン グ ロ ジ ッ ク を イ ネーブルにす る 必要があ り 、 後続パーシ ャ ル ビ ッ ト ス ト リ ームが配信 さ れてい る 間、 その ロ ジ ッ ク を維持す る 必要があ り ます。 こ れはモジ ュ ールの出力がブ ラ ン キ ン グ モジ ュ ールに対 し ては駆動 さ れないか ら です。 標準お よ び ブ ラ ン キ ン グ パーシ ャ ル ビ ッ ト ス ト リ ーム を管理す る には、 Partial Reconfiguration Controller (PRC) IP を使用で き ま すが、 PRC 外の イ ベン ト シーケ ン ス はユーザーが定義す る 必要があ り ます。 PRC を使用 し た自動化アプ ロ ーチに関 し て、 さ ら に情報が必要な場合は、 ザ イ リ ン ク ス サポー ト ま でお問い合わせ く だ さ い。 今後のバージ ョ ンの Vivado では、 こ のブ ラ ン キ ン グ プ ロ セ ス が自動化 さ れ、 ユーザーが特に追加作業をす る 必要は な く な る 予定です。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 83 第 8 章 : 既知の問題および制限 既知の制限 現在の リ リ ース ではま だ開発 さ れていない、 ま たはサポー ト さ れていない機能があ り ます。 こ れ ら の機能は、 今後の リ リ ース で追加 さ れ る 可能性があ り ます。 その一部を次に示 し ます。 • すべての UltraScale™ デバ イ ス での ビ ッ ト ス ト リ ーム生成は ま だサポー ト さ れてお ら ず、 ES2 (Virtex UltraScale) ま たはプ ロ ダ ク シ ョ ン (Kintex UltraScale お よ び Virtex Ultrascale VU440) シ リ コ ンで検証中です。 こ の リ リ ース で は、 ビ ッ ト ス ト リ ーム生成は、 KU035 お よ び KU040 のプ ロ ダ ク シ ョ ン デバ イ ス に対 し てのみサポー ト さ れてい ます。 • Pblock の範囲を選択 し て リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのサ イ ズお よ び形状を定義する 際、7 シ リ ーズ ま たは Zynq デバ イ ス の場合は、 CLOCKREGION リ ソ ー ス タ イ プ を使用 し な いで く だ さ い。 Pblock の範囲には、 SLICE、 RAMB18、 RAMB36、 お よ び DSP48 リ ソ ース タ イ プのみを含め ます。 • プ ロ ジ ェ ク ト モー ド はサポー ト さ れてい ません。プ ロ ジ ェ ク ト を使用 し た コ ン フ ィ ギ ュ レーシ ョ ンの コ ンパ イ ル お よ びプ ロ ジ ェ ク ト コ マ ン ド (create_run、 launch_runs な ど) は使用で き ま せん。 同様に、 Vivado IDE で の PR プ ロ ジ ェ ク ト の管理 も サポー ト さ れてい ません。 チ ェ ッ ク ポ イ ン ト を IDE で開 き 、 解析機能を使用する こ と はで き ますが、 デザ イ ン run 機能は使用で き ません。 • リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内で Vivado デバ ッ グ コ アの挿入機能を使用 し ないで く だ さ い。 こ の フ ロ ーは、 BSCAN プ リ ミ テ ィ ブ を含むデバ ッ グ ハブ を挿入 し ま すが、 こ れは リ コ ン フ ィ ギ ャ ラ ブル ビ ッ ト ス ト リ ーム内では認め ら れません。 • パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン をザ イ リ ン ク ス PCIe® IP 内の Tandem コ ン フ ィ ギ ュ レーシ ョ ン機能 と 共 に使用 し ないで く だ さ い。 フ ィ ール ド ア ッ プデー ト の Tandem コ ン フ ィ ギ ュ レーシ ョ ンに関 し ては、 『UltraScale Gen3 Integrated Block for PCI Express 製品ガ イ ド 』 (PG156) [参照 26] を参照 し て く だ さ い。 • Data2MEM お よ び UpdateMEM では、 パーシ ャ ル ビ ッ ト ス ト リ ームはサポー ト さ れません。 メ モ リ フ ァ イ ルを PR デザ イ ン に関連付け る には、 ELF 関連付け フ ロ ーを適用す る 必要があ り ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 28] の 「ELF フ ァ イ ル のエンベデ ッ ド デザ イ ンへの追加お よ び関連付け」 を参照 し て く だ さ い。 • Soft Error Mitigation (SEM) IP コ アは、 SSI デバ イ ス にパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用す る 場合はサ ポー ト さ れません。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 84 付録 A その他の リ ソ ースおよび法的通知 ザイ リ ン ク ス リ ソ ース ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 ザ イ リ ン ク ス サポー ト サ イ ト を参照 し て く だ さ い。 ソ リ ュ ーシ ョ ン セ ン タ ー デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ーテ ィ ン グの ヒ ン ト な ど が含まれます。 参考資料 1. 『Vivado Design Suite チ ュ ー ト リ アル : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (UG947) 2. 『Partial Reconfiguration Controller IP 製品ガ イ ド 』 (PG193) 3. 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470 : 英語版、 日本語版) 4. 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570 : 英語版、 日本語版) 5. 『Zynq-7000 All Programmable SoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG585 : 英語版、 日本語版) 6. 『パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG702) - ISE デザ イ ン ツール用 7. 『階層デザ イ ン設計手法ガ イ ド 』 (UG748) - ISE デザ イ ン ツール用 8. 『再現可能な結果を活用 し たデザ イ ンの保持』 (WP362) - ISE デザ イ ン ツール用 9. 『UltraFast 設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949) 10. 『7 Series FPGAs Integrated Block for PCI Express 製品ガ イ ド 』 (PG054 : 英語版、 日本語版) 11. 『Virtex-7 FPGA Gen3 PCIe Integrated Block for PCI Express 製品ガ イ ド 』 (PG023) 12. 『UltraScale Architecture Gen3 Integrated Block for PCI Express LogiCORE IP 製品ガ イ ド 』 (PG156 : 英語版、日本語版) 13. 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) 14. 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) 15. 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) 16. 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) 17. 『7 シ リ ーズ FPGA GTX/GTH ト ラ ン シーバー ユーザー ガ イ ド 』 (UG476 : 英語版、 日本語版) 18. 『7 シ リ ーズ FPGA GTP ト ラ ン シーバー ユーザー ガ イ ド 』 (UG482 : 英語版、 日本語版) パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 85 付録 A : その他の リ ソ ースおよび法的通知 19. 『MMCM お よ び PLL のダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン』 (XAPP888) 20. 『UltraScale アーキ テ ク チ ャ ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG572 : 英語版、 日本語版) 21. 『UltraScale アーキ テ ク チ ャ GTH ト ラ ン シーバー ユーザー ガ イ ド 』 (UG576 : 英語版、 日本語版) 22. 『UltraScale アーキ テ ク チ ャ GTY ト ラ ン シーバー Advance 仕様ユーザー ガ イ ド 』 (UG578 : 英語版、 日本語版) 23. 『パーシ ャ ル (XAPP887) リ コ ン フ ィ ギ ュ レーシ ョ ンのデー タ イ ンテグ リ テ ィ および セキ ュ リ テ ィ コ ン ト ロ ー ラ ー』 24. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) 25. 『USR_ACCESS を使用す る ビ ッ ト ス ト リ ーム認識』 (XAPP497 : 英語版、 日本語版) 26. 『UltraScale Architecture Gen3 Integrated Block for PCI Express LogiCORE IP 製品ガ イ ド 』 (PG156 : 英語版、 日本語版) 27. 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド 』 (UG574) 28. 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) 29. 『Vivado Design Suite : ISE か ら Vivado Design Suite への移行手法ガ イ ド 』 (UG911) 30. 「UltraScale デバ イ ス におけ る Tandem PCIe お よ びパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し た PCI Express リ ン ク でのビー ト ス ト リ ームの読み込み」 (ザ イ リ ン ク ス ア ンサー 64761) 31. ス タ ー ト ア ッ プ後に フ リ ッ プ フ ロ ッ プお よ び SRL を正 し く 同期化 さ せる ためのデザ イ ン ア ド バ イ ザ リ (ザ イ リ ン ク ス ア ンサー 44174) 32. Vivado Design Suite の資料 ト レーニ ング リ ソ ース ザ イ リ ン ク ス では、本書に含まれ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ースお よ びオン ラ イ ン ビデオを 提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。 1. Vivado Design Suite ビデオ チ ュ ー ト リ アル 2. Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を実行 3. Vivado を使用 し た Zynq でのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン フ ロ ー 4. ザ イ リ ン ク ス パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンのツールお よ びテ ク ニ ッ ク パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 86 付録 A : その他の リ ソ ースおよび法的通知 お読み く だ さ い : 重要な法的通知 本通知に基づいて貴殿ま たは貴社 (本通知の被通知者が個人の場合には 「貴殿」 、 法人その他の団体の場合には 「貴社」 。 以下同 じ ) に開示 さ れ る 情報 (以下 「本情報」 と いい ます) は、 ザ イ リ ン ク ス の製品を選択お よ び使用す る こ と のためにのみ提供 さ れ ます。 適 用 さ れ る 法律が許容す る 最大限の範囲で、 (1) 本情報は 「現状有姿」、 お よ びすべて受領者の責任で (with all faults) と い う 状態で提供 さ れ、 ザ イ リ ン ク ス は、 本通知を も っ て、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますが こ れ ら に限 ら れません)、 すべての保証お よ び条件を負わない (否認す る ) も の と し ます。 ま た、 (2) ザ イ リ ン ク ス は、 本情報 (貴殿ま たは貴 社に よ る 本情報の使用を含む) に関係 し 、 起因 し 、 関連す る 、 いかな る 種類 ・ 性質の損失ま たは損害について も 、 責任を負わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかな る 責任の法理に よ る かを問わない) も の と し 、 当該損失ま たは損害には、 直接、 間接、 特別、 付随的、 結果的な損失 ま たは損害 (第三者が起 こ し た行為の結果被っ た、 デー タ 、 利益、 業務上の信用の損失、 その他あ ら ゆ る 種類の損失や損害を含みま す) が含 ま れ る も の と し 、 それは、 た と え当該損害や損失が合理的に予見可能で あ っ た り 、 ザ イ リ ン ク ス がそれ ら の可能性について助言を受け ていた場合であ っ た と し て も 同様です。 ザ イ リ ン ク ス は、 本情報に含ま れ る いかな る 誤 り も 訂正す る 義務を負わず、本情報ま たは製品仕様のア ッ プデー ト を貴殿ま たは貴社に知 ら せ る 義務 も 負い ません。事前 の書面に よ る 同意のない限 り 、 貴殿ま たは貴社は本情報を再生産、 変更、 頒布、 ま たは公に展示 し てはな り ません。 一定の製品は、 ザ イ リ ン ク ス の限定的保証の諸条件に従 う こ と と な る ので、 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販売条件 を参照 し て く だ さ い。 IP コ アは、 ザ イ リ ン ク ス が貴殿ま たは貴社に付与 し た ラ イ セ ン ス に含ま れ る 保証 と 補助的条件に従 う こ と に な り ます。 ザ イ リ ン ク ス の製品は、 フ ェ イ ルセーフ と し て、 ま たは、 フ ェ イ ルセーフ の動作を要求す る アプ リ ケーシ ョ ンに使用す る ために、設計 さ れた り 意図 さ れた り し てい ません。 その よ う な重大な アプ リ ケーシ ョ ンにザ イ リ ン ク ス の製品を使用す る 場合の リ ス ク と 責任は、 貴殿ま たは貴社が単独で負 う も のです。 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販売条件を参照 し て く だ さ い。 © Copyright 2015 Xilinx, Inc. Xilinx、 Xilinx の ロ ゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 お よ び こ の文書に含ま れ る その他の指定 さ れたブ ラ ン ド は、 米国お よ びその他各国のザ イ リ ン ク ス社の商標です。 すべてのその他の商標は、 それぞれの保有者 に帰属 し ます。 こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの 右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ーム か ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で 入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受 け付けてお り ません。 あ ら か じ めご了承 く だ さ い。 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン UG909 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 87
© Copyright 2024 Paperzz