...

パーシャル リコンフィギュレーション ユーザー ガイド (UG702)

by user

on
Category: Documents
18

views

Report

Comments

Transcript

パーシャル リコンフィギュレーション ユーザー ガイド (UG702)
パーシ ャル
リ コ ン フ ィ ギ ュ レーシ ョ ン
ユーザー ガ イ ド
[Guide Subtitle]
[optional]
UG702 (v13.4) 2012 年 1 月 18 日 [optional]
Xilinx is disclosing this user guide, manual, release note, and/or specification (the “Documentation”) to you solely for use in the development of designs
to operate with Xilinx hardware devices. You may not reproduce, distribute, republish, download, display, post, or transmit the Documentation in any
form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of
Xilinx. Xilinx expressly disclaims any liability arising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the
Documentation without notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you of any
corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that may be provided to you in
connection with the Information.
THE DOCUMENTATION IS DISCLOSED TO YOU “AS-IS” WITH NO WARRANTY OF ANY KIND. XILINX MAKES NO OTHER
WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT
WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING
ANY LOSS OF DATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION.
CRITICAL APPLICATIONS DISCLAIMER
XILINX PRODUCTS (INCLUDING HARDWARE, SOFTWARE AND/OR IP CORES) ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE,
OR FOR USE IN ANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS IN LIFE-SUPPORT OR SAFETY DEVICES OR
SYSTEMS, CLASS III MEDICAL DEVICES, NUCLEAR FACILITIES, APPLICATIONS RELATED TO THE DEPLOYMENT OF AIRBAGS, OR
ANY OTHER APPLICATIONS THAT COULD LEAD TO DEATH, PERSONAL INJURY OR SEVERE PROPERTY OR ENVIRONMENTAL
DAMAGE (INDIVIDUALLY AND COLLECTIVELY, “CRITICAL APPLICATIONS”). FURTHERMORE, XILINX PRODUCTS ARE NOT
DESIGNED OR INTENDED FOR USE IN ANY APPLICATIONS THAT AFFECT CONTROL OF A VEHICLE OR AIRCRAFT, UNLESS THERE
IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OF SOFTWARE IN THE XILINX DEVICE TO
IMPLEMENT THE REDUNDANCY) AND A WARNING SIGNAL UPON FAILURE TO THE OPERATOR. CUSTOMER AGREES, PRIOR TO
USING OR DISTRIBUTING ANY SYSTEMS THAT INCORPORATE XILINX PRODUCTS, TO THOROUGHLY TEST THE SAME FOR SAFETY
PURPOSES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY
OF ANY USE OF XILINX PRODUCTS IN CRITICAL APPLICATIONS.
AUTOMOTIVE APPLICATIONS DISCLAIMER
XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE IN ANY APPLICATION REQUIRING FAIL-SAFE
PERFORMANCE, SUCH AS APPLICATIONS RELATED TO: (I) THE DEPLOYMENT OF AIRBAGS, (II) CONTROL OF A VEHICLE, UNLESS
THERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OF SOFTWARE IN THE XILINX DEVICE TO
IMPLEMENT THE REDUNDANCY) AND A WARNING SIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD
TO DEATH OR PERSONAL INJURY. CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USE OF XILINX PRODUCTS IN
SUCH APPLICATIONS.
© Copyright 2012 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE, and other designated brands included herein are trademarks of Xilinx in the
United States and other countries. All other trademarks are the property of their respective owners.
本資料は英語版 (v 13.4) を翻訳 し た も ので、 内容に相違が生 じ る場合には原文を優先 し ます。
資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。
日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま でお知 ら せ く
だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け
付けてお り ません。 あ ら か じ めご了承 く だ さ い。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
japan.xilinx.com
UG702 (v13.4) 2012 年 1 月 18 日
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
改訂内容
2010 年 5 月 3 日
12.1
ISE 12.1 初期 リ リ ース
2010 年 7 月 23 日
12.2
ISE 12.2 リ リ ース用にア ッ プデー ト
2010 年 10月 5日
12.3
ISE 12.3 リ リ ース用にア ッ プデー ト
2011 年 3月 1 日
13.1
ISE 13.1 リ リ ース用にア ッ プデー ト
2011 年 7 月 6 日
13.2
ISE 13.2 リ リ ース用にア ッ プデー ト :
• 7 シ リ ーズのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン サポー ト に関す る 記述 と 、パー
シ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンが 7 シ リ ーズ デバ イ ス に ど の よ う に適用 さ れ る
かの情報を追加
• パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン フ ロ ーにおけ る BitGen の
-g USR_ACCESS オプシ ョ ンの使用について記述
• ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) デバ イ ス でパーシ ャ ル リ コ ン フ ィ
ギ ュ レーシ ョ ン フ ロ ーに適用 さ れ る 規則について記述
• リ ージ ョ ナル ク ロ ッ ク の記述を 7 シ リ ーズ デバ イ ス に適用す る よ う ア ッ プデー ト
• パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンで使用可能な コ ン フ ィ ギ ュ レーシ ョ ン モー
ド に BPI お よ び SPI モー ド を追加 (7 シ リ ーズ デバ イ ス のみ)
• 13.2 リ リ ース用に既知の問題 と 既知の制限を ア ッ プデー ト
• 付録 C 「その他の リ ソ ース」 の資料の順序を変更
2011 年 10 月 19 日
2012 年 1 月 18 日
13.3
13.4
ISE 13.3 リ リ ース用にア ッ プデー ト :
•
第 4 章 「PlanAhead サポー ト 」 で 13.3 PlanAhead デザ イ ン フ ロ ーの手順を修正
•
第 4 章 「PlanAhead サポー ト 」 のダ イ ア ロ グ ボ ッ ク ス の図を 13.3 リ リ ース用に
ア ッ プデー ト
•
第 6 章の最大バン ド 幅の表 (表 6-1) に BPI お よ び SPI モー ド を追加
•
第 1 章の 「デザ イ ン要件 と ガ イ ド ラ イ ン」 に リ コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク
に対 し て ロ ーカル リ セ ッ ト を送信す る必要があ る こ と を追記
•
コ マ ン ド ラ イ ン ユーザーが前にプ ロ モー ト し た コ ン フ ィ ギ ュ レーシ ョ ンに関す
る デー タ を保存す る 方法を追加。 詳細は、 第 3 章の 「パーテ ィ シ ョ ン と イ ン ポー
ト 」 を参照
ISE 13.4 リ リ ース用にア ッ プデー ト :
• SSI デバ イ ス サポー ト に関する 情報をすべて削除
• 第 1 章の 「デザ イ ン要件 と ガ イ ド ラ イ ン」 のサポー ト デバ イ ス の リ ス ト を ア ッ
プデー ト
UG702 (v13.4) 2012 年 1 月 18 日
•
ス タ テ ィ ッ ク ロ ジ ッ ク に配置す る必要があ り 、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ
シ ョ ンに配置すべ き でない ロ ジ ッ ク を ア ッ プデー ト 。 「 リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ール内のデザ イ ン エ レ メ ン ト 」 を参照 し て く だ さ い。
•
「パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンのデザ イ ン チ ェ ッ ク リ ス ト 」 の問題に詳
細を追加。 リ コ ン フ ィ ギ ュ レーシ ョ ン後の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの
ロ ジ ッ ク の リ セ ッ ト に関す る情報を追加
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
japan.xilinx.com
UG702 (v13.4) 2012 年 1 月 18 日
目次
改訂履歴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
第 1 章 : 概要
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
ISE 13.4 のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンの基準 . . . . . . . . . . . . . . . . . . . . . . . . 10
第 2 章 : よ く 使用 さ れる ア プ リ ケーシ ョ ン
ネ ッ ト ワー ク マルチポー ト イ ン タ ーフ ェ イ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PCIe イ ン タ ーフ ェ イ ス を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ャ ラ ブル パケ ッ ト プ ロ セ ッ サ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
非対称鍵暗号化方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ま とめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
17
18
19
20
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
サンプル デザ イ ンの構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
サンプル プ ロ ジ ェ ク ト フ ァ イ ルの構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
合成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ン と イ ン ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
イ ンプ リ メ ン テーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BIT フ ァ イ ルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
レ ポー ト フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
24
25
26
27
37
40
42
43
pr_verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
フ ロ ーの違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
第 4 章 : PlanAhead サポー ト
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト と し てのプ ロ ジ ェ ク ト の設定 . . . . . . . . . . .
ネ ッ ト リ ス ト デザ イ ン を開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
リ コ ン フ ィ ギ ャ ラ ブル イ ン ス タ ン ス の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
プ ロ ジ ェ ク ト への リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンのデザ イ ン ルール チ ェ ッ ク . . . . . . . . . . . . . . . . . . . . . . . .
コ ン フ ィ ギ ュ レーシ ョ ンの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
コ ン フ ィ ギ ュ レーシ ョ ンの制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
コ ン フ ィ ギ ュ レーシ ョ ンの検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BIT フ ァ イ ルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PlanAhead プ ロ ジ ェ ク ト のデ ィ レ ク ト リ 構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
59
60
61
63
70
71
74
79
81
82
第 5 章 : コマン ド ラ イ ン スク リ プ ト
Tcl ス ク リ プ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
data.tcl の フ ォーマ ッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
推奨フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
必要な フ ァ イ ル と デ ィ レ ク ト リ 構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
83
84
89
90
5
第 6 章 : FPGA デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
コ ン フ ィ ギ ュ レーシ ョ ン モー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
フル BIT フ ァ イ ルのダ ウ ン ロ ー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
パーシ ャ ル BIT フ ァ イ ルのダ ウ ン ロ ー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
FPGA デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンする ためのシ ス テ ム デザ イ ン . . . . . . . . . . . . . . . . . . . 96
パーシ ャ ル BIT フ ァ イ ルの整合性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
パーシ ャ ル ビ ッ ト ス ト リ ームの CRC チ ェ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
コ ン フ ィ ギ ュ レーシ ョ ン フ レーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
コ ン フ ィ ギ ュ レーシ ョ ン時間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
コ ン フ ィ ギ ュ レーシ ョ ンのデバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
第 7 章 : デザイ ンの注意事項
デザ イ ン階層 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ク ロ ッ ク 規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ア ク テ ィ ブ Low の リ セ ッ ト と ク ロ ッ ク イ ネーブル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デカ ッ プ リ ン グ機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ンの リ ビ ジ ョ ン チ ェ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン境界の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
プロ キシ ロ ジ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ブラ ッ ク ボッ ク ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
モジ ュ ール レベルの制約フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
イ ンプ リ メ ン テーシ ョ ン ス ト ラ テジ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
シ ミ ュ レーシ ョ ン と 検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
高速 ト ラ ン シーバーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
その他のザ イ リ ン ク ス ツール と の連動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンのデザ イ ン チ ェ ッ ク リ ス ト . . . . . . . . . . . . . . . . . . . . . . .
107
113
116
116
117
117
118
119
120
121
121
121
121
123
付録 A : 既知の問題 と 制限
既知の問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
既知の制限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
付録 B : パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ア ッ プグ レー ド ガ イ ド
早期ア ク セ ス版 と 製品版の違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
デザ イ ンのア ッ プグ レー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
ま と め . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
付録 C : その他の リ ソ ース
6
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
第1章
概要
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン と は、 パーシ ャ ル コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ルを読み
込んで動作中の FPGA デザ イ ンに変更を加え る こ と です。 こ のガ イ ド では、 「パーテ ィ シ ョ ン」 と
い う モジ ュ ール デザ イ ン の手法を使用 し て、 部分的に リ コ ン フ ィ ギ ュ レーシ ョ ン可能な FPGA デ
ザ イ ン を作成お よ び イ ンプ リ メ ン ト す る 方法について説明 し ます。デザ イ ンのモジ ュ ール イ ン ス タ
ン ス は、 新 し いハー ド ウ ェ ア フ ァ ン ク シ ョ ン を定義す る パーシ ャ ル BIT フ ァ イ ルに変換 さ れます。
『差分ベース のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (XAPP290) に記述 さ れ る差分方法な ど のそ
の他の手法については、 こ のガ イ ド では説明 し ません。 その他のマニ ュ アルは、 付録 C 「その他の
リ ソ ース」 を参照 し て く だ さ い。
こ のガ イ ド の対象は、 次の と お り です。
•
部分的に リ コ ン フ ィ ギ ュ レーシ ョ ン可能な FPGA デザ イ ン を作成する 設計者
•
ザ イ リ ン ク ス ISE® Design Suite お よ び PlanAhead™ ソ フ ト ウ ェ ア な ど の FPGA デザ イ ン ソ
フ ト ウ ェ アに既に精通 し てい る方
•
ISE Design Suite 13.4 用に記述 さ れてい ます。こ の リ リ ース でサポー ト さ れ る のは、Virtex®-4、
Virtex-5、 Virtex-6、 Artix™-7、 Kintex™-7、 Virtex-7 デバ イ ス のパーシ ャ ル リ コ ン フ ィ ギ ュ
レーシ ョ ンのみです。
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ンの概要
FPGA では、 デザ イ ン を変更 し て も 製造 し 直す必要な く 、 オンサ イ ト プ ロ グ ラ ム ま たは リ プ ロ グ ラ
ムが柔軟に実行で き ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン (PR) は、 こ の柔軟性を さ ら に推
進 し た も ので、 パーシ ャ ル コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ル (通常はパーシ ャ ル BIT フ ァ イ ル) を
読み込む こ と で、 動作中の FPGA デザ イ ン を変更で き ま す。 フ ル BIT フ ァ イ ルで FPGA を コ ン
フ ィ ギ ュ レーシ ョ ン し た後に、 パーシ ャ ル BIT フ ァ イ ルを ダ ウ ン ロ ー ド す る と 、 デバ イ ス の リ コ ン
フ ィ ギ ュ レ ーシ ョ ン さ れな い部分で実行 さ れて い る ア プ リ ケーシ ョ ン に影響 を 与え る こ と な く 、
FPGA の リ コ ン フ ィ ギ ャ ラ ブル領域を変更で き ます。
図 1-1 は、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの概念を示 し てい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
7
第 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 デザ イ ン も 可能に し ます。
用語
次に、 こ のマニ ュ アルで使用 さ れ る パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン特有の用語を示 し ます。
ボ ト ムア ッ プ合成
1 つのプ ロ ジ ェ ク ト ま たは複数プ ロ ジ ェ ク ト でモジ ュ ールご と にデザ イ ン を合成す る 方法で、 パー
テ ィ シ ョ ン ご と に別々のネ ッ ト リ ス ト が必要です。 モジ ュールの境界を越えた最適化は実行 さ れな
いので、 デザ イ ンの各部分が別々に合成 さ れます。 最上位 ロ ジ ッ ク は、 パーテ ィ シ ョ ンにブ ラ ッ ク
ボ ッ ク ス を使用 し て合成す る必要があ り ます。
8
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
用語
コ ン フ ィ ギ ュ レーシ ョ ン
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン ご と に 1 つの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを含む完全
なデザ イ ンです。パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン FPGA プ ロ ジ ェ ク ト には、多 く の コ ン フ ィ
ギ ュ レ ーシ ョ ン が含 ま れ る こ と が あ り ま す。 コ ン フ ィ ギ ュ レ ーシ ョ ン はそれぞれ 1 つの フ ル BIT
フ ァ イ ルを生成す る ほか、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールご と に 1 つのパーシ ャ ル BIT フ ァ イ
ルを生成 し ます。
コ ン フ ィ ギ ュ レーシ ョ ン フ レーム
FPGA コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ 空間の中でア ド レ ス指定可能な最小のセグ メ ン ト です。 リ コ
ン フ ィ ギ ャ ラ ブル フ レームは、 こ れ ら の最下位エ レ メ ン ト か ら 構築 さ れます。
フ レーム
フ レーム ( こ のガ イ ド では 「コ ン フ ィ ギ ュ レーシ ョ ン フ レーム」 を除 く ) は、 FPGA デバ イ ス内の
最小の リ コ ン フ ィ ギ ャ ラ ブル領域を表 し ます。 リ コ ン フ ィ ギ ャ ラ ブル フ レームのビ ッ ト ス ト リ ーム
サ イ ズは、 フ レーム内に含まれ る ロ ジ ッ ク タ イ プに よ っ て異な り ます。
内部 コ ン フ ィ ギ ュ レーシ ョ ン ア ク セス ポー ト (ICAP)
基本的には SelectMAP イ ン タ ーフ ェ イ ス の内部バージ ョ ンです。詳細は、該当デバ イ ス の コ ン フ ィ
ギ ュ レーシ ョ ン ユーザー ガ イ ド を参照 し て く だ さ い。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン (PR)
パーシ ャ ル コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ルを ダ ウ ン ロ ー ド し て、 動作中の FPGA デザ イ ンの ロ
ジ ッ ク の一部を変更す る こ と を示 し ます。
パーテ ィ シ ョ ン
階層の境界でユーザーに よ り 定義 さ れたデザ イ ンの論理セ ク シ ョ ン で、 デザ イ ンの再利用に使用 さ
れます。 パーテ ィ シ ョ ンは、 新規 と し て イ ンプ リ メ ン ト さ れ る か、 前の イ ンプ リ メ ン テーシ ョ ンか
ら 保持 さ れます。保持 さ れたパーテ ィ シ ョ ンには、同一の機能だけでな く 、同一の イ ンプ リ メ ン テー
シ ョ ン結果 も 保持 さ れます。
パーテ ィ シ ョ ン ピ ン
ス タ テ ィ ッ ク ロ ジ ッ ク と リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク 間の論理お よ び物理接続です。 すべての
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン ポー ト に対 し て自動的に作成 さ れます。
プ ロキシ ロ ジ ッ ク
専用配線以外で、 パーテ ィ シ ョ ン ピ ン ご と に ソ フ ト ウ ェ アで自動的に挿入 さ れ る 1 つの LUT1 エ
レ メ ン ト です。 プ ロ キ シ ロ ジ ッ ク は固定 さ れ る 必要があ り 、 ス タ テ ィ ッ ク ロ ジ ッ ク と リ コ ン フ ィ
ギ ャ ラ ブル ロ ジ ッ ク 間の イ ン タ ーフ ェ イ ス と し ての既知のポ イ ン ト です。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
9
第 1 章 : 概要
リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの一部であ る 論理エ レ メ ン ト で、 パーシ ャ ル BIT フ ァ イ ルが読
み込まれ る と 変更 さ れます。 LUT、 フ リ ッ プ フ ロ ッ プ、 BRAM、 DSP ブ ロ ッ ク お よ び I/O な ど、 ほ
と ん ど の タ イ プの論理 コ ン ポーネ ン ト を リ コ ン フ ィ ギ ュ レーシ ョ ン で き ます。
リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール (RM)
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン で あ る イ ン ス タ ン ス に よ っ て イ ン ス タ ン シエー ト さ れ る と
イ ン プ リ メ ン ト さ れ る 、 ネ ッ ト リ ス ト ま たは HDL 記述の こ と です。 1 つの リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ンに対 し て、 複数の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールがあ る こ と も あ り ます。
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン (RP)
イ ン ス タ ン ス を リ コ ン フ ィ ギ ュ レーシ ョ ン可能 と し て定義す る イ ン ス タ ン シエーシ ョ ンの属性セ ッ
ト です。 イ ン ス タ ン ス の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン属性は、 NGDBuild、 MAP、 お よ び
PAR な ど の ソ フ ト ウ ェ ア ツールで検出 さ れ、 正 し く 処理 さ れます。
イ ン ス タ ン ス が リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の場合、 「 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ
シ ョ ン」 と い う 用語は 「 イ ン ス タ ン ス」 と 同 じ 意味で使用 さ れ る こ と があ り ます。
ス タ テ ィ ッ ク ロジ ッ ク
リ コ ン フ ィ ギ ャ ラ ブル モジ ュールには含まれない論理エ レ メ ン ト です。 こ の論理エ レ メ ン ト が リ コ
ン フ ィ ギ ュ レーシ ョ ン さ れ る こ と はな く 、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンが リ コ ン フ ィ ギ ュ
レーシ ョ ン さ れてい る と き も 、 常にア ク テ ィ ブです。 ス タ テ ィ ッ ク ロ ジ ッ ク は、 「最上位 ロ ジ ッ ク 」
と も 呼ばれます。
ISE 13.4 のパーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン デザイ ンの基準
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン (PR) は、 ISE® Design Suite のア ド バン ス フ ロ ーです。 こ
の ソ フ ト ウ ェ アには さ ま ざ ま な機能が含まれてい ますが、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ
ロ ジ ェ ク ト を開始す る 前に、 まず次の要件を理解 し てお く 必要があ り ます。
各項目の詳細は、 こ のユーザー ガ イ ド の後のセ ク シ ョ ンで説明 し ます。
デザイ ン要件 と ガ イ ド ラ イ ン
•
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンには、ISE 12.1 以降のバージ ョ ン を使用す る必要があ り
ます。
•
デバ イ ス サポー ト : Virtex-4、 Virtex-5、 Virtex-6、 Artix-7、 Kintex-7、 Virtex-7
•
10
•
Virtex-4、 Virtex-5、 Virtex-6、 Kintex-7 デバ イ ス はすべてサポー ト さ れてい ます。
•
Artix-7 デバ イ ス は XC7A100T の 1 つだけがサポー ト さ れます。
•
Virtex-7 デバ イ ス は、 XC7V585T、 XC7VX330T、 XC7VX415T、 XC7VX485T、
XC7VX550T、 XC7VX690T の 6 つがサポー ト さ れます。
•
Artix-7 XC7A200T/XC7A350T、 Virtex-7 XC7VX980T、 Zynq™-7000 デバ イ ス は今後
の ISE リ リ ース でサポー ト さ れ る 予定です。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは、 PlanAhead™ お よ び コ マ ン ド ラ イ ン でのみサポー
ト さ れます。 Project Navigator ではサポー ト さ れません。
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
ISE 13.4 のパーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン デザイ ンの基準
•
エ レ メ ン ト タ イ プご と に リ コ ン フ ィ ギ ャ ラ ブル領域を定義す る には、 フ ロ アプ ラ ンが必要にな
り ます。
•
•
ボ ト ム ア ッ プ合成 (複数のネ ッ ト リ ス ト フ ァ イ ルを作成) と リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール
のネ ッ ト リ ス ト フ ァ イ ルの管理は、 ユーザーの責任で行っ て く だ さ い。
•
•
可能であれば、 フ レーム / ク ロ ッ ク 領域の境界にア ラ イ メ ン ト し てお く と 、 効率的です。
合成は PlanAhead の外部で実行 し ます。 ど の合成ツールで も 使用で き ます。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中に リ コ ン フ ィ ギ ャ ラ ブル領域 と デザ イ ンの ス タ テ ィ ッ
ク 部分の接続を解除する には、 デカ ッ プ リ ン グ ロ ジ ッ ク を使用 し て く だ さ い。
•
リ コ ン フ ィ ギ ャ ラ ブル エ レ メ ン ト が FPGA 外にあ る場合、 デカ ッ プ リ ン グはオ フチ ッ プ
で実行す る 必要があ り ます。
•
グ ロ ーバル セ ッ ト / リ セ ッ ト (GSR) コ マ ン ド はパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの後に
は実行 さ れないので、 リ コ ン フ ィ ギ ュ レーシ ョ ン さ れ る ロ ジ ッ ク に対 し て ロ ーカル リ セ ッ ト を
実行 し て、 問題のない既知の状態で開始 さ れ る よ う に し てお く 必要があ り ます。
•
標準的な タ イ ミ ン グ制約がサポー ト さ れ る ほか、必要に応 じ てその他の タ イ ミ ン グ バジ ェ ッ ト
機能 も 使用で き ます。
•
デザ イ ン を問題な く 完成 さ せ る ために、 独自のデザ イ ン ルール チ ェ ッ ク (DRC) が含まれてい
ます。
•
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン では、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン
の開始 と 、 パーシ ャ ル BIT フ ァ イ ルを FPGA 内で配布す る か、 シ ス テ ム デザ イ ンの一部 と し
て配布す る か を考慮す る必要があ り ます。
•
すべての イ ンプ リ メ ン テーシ ョ ン オプシ ョ ン をパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン フ ロ ー
で使用で き る わけではあ り ません。 MAP コ マ ン ド の -global_opt オプシ ョ ン と その子オプ
シ ョ ンお よ び SmartGuide™ は、 デザ イ ン全体の最適化を実行する ので、 パーテ ィ シ ョ ン ま た
はパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン フ ロ ーでは使用で き ません。
•
-power オプシ ョ ンは、 MAP と PAR の ど ち ら に も 使用で き ますが、 すべてのオプシ ョ ン を使
用で き る わけではあ り ません。 MAP で high お よ び xe 値を指定す る と 、 デザ イ ン を フ ラ ッ ト
化す る 必要のあ る 高度な ク ロ ッ ク ゲーテ ィ ン グ機能が使用 さ れ る の、 パーシ ャ ル リ コ ン フ ィ
ギ ュ レーシ ョ ンでは使用で き ません。
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンには、パーテ ィ シ ョ ンに イ ンプ リ メ ン ト さ れ る さ ま ざ ま
な リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールで使用 さ れ る すべての ピ ン が含 ま れてい る 必要が あ り ま
す。 こ のため、 モジ ュールに よ っ ては一部の入力ま たは出力が未使用にな り ますが、 こ れは予
測 さ れ る こ と であ り 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン の柔軟性に組み込ま れてい ます。
未使用の入力は、 モジ ュール内で ど こ に も 接続 さ れない ま ま にな り 、 イ ンプ リ メ ン テーシ ョ ン
ツールでそれ示す メ ッ セージが表示 さ れますが、 こ れ ら の メ ッ セージは無視 し て も 問題あ り ま
せん。 ブ ラ ッ ク ボ ッ ク ス RM ( ロ ジ ッ ク な し ) の場合、 すべてのパーテ ィ シ ョ ン ピ ン出力が定
数の ロ ジ ッ ク 1 で駆動 さ れます。 未使用のパーテ ィ シ ョ ン ピ ンのあ る ロ ジ ッ ク RM の場合は、
こ れ ら の出力が定数に接続 さ れますが、 その値は ロ ジ ッ ク 0 か ロ ジ ッ ク 1 にな り ます。 設計者
が特定の値を必要 と す る 場合は、 こ れ ら のポー ト は RM の必要な値に接続す る 必要が あ り ま
す。 リ コ ン フ ィ ギ ャ ラ ブル パー テ ィ シ ョ ン には、 1 つの モ ジ ュ ールに使用 さ れ て も 別の モ
ジ ュ ールでは使用 さ れない ピ ン が含 ま れ る こ と があ る ので、 パーシ ャ ル リ コ ン フ ィ ギ ュ レ ー
シ ョ ン フ ロ ーでは、 PXML フ ァ イ ルで BoundaryOpt 制約をパーテ ィ シ ョ ンに適用す る こ と は
で き ません。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
11
第 1 章 : 概要
デザイ ン パ フ ォ ーマ ン ス
•
パフ ォーマ ン ス の測定基準はデザ イ ンに よ っ て異な り ますが、階層デザ イ ン手法を使用す る と 、
悪影響を最低限に抑え る こ と がで き ます。 階層デザ イ ンの詳細は、 『階層デザ イ ン手法ガ イ ド 』
(UG748) お よ びホ ワ イ ト ペーパー 『再現可能な結果を活用 し たデザ イ ンの保持』 (WP362) を参
照 し て く だ さ い。 ただ し 、 ほ と ん ど のデザ イ ンがシ リ コ ン分離に必要なその他の制限の影響を
受け ます。
通常、 次の よ う にな り ます。
•
ク ロ ッ ク 周波数が 10% 低下
•
パ ッ ク 密度が 80% ス ラ イ ス未満
•
こ れ ら の追加要件を考慮す る と 、 ほ と ん ど の場合デザ イ ン実行時間は増加 し ます。 MAP が最
も 影響を受け ますが、 NGDBuild お よ び PAR も 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ
イ ン を処理す る ために実行時間が長 く な る場合があ り ます
•
リ コ ン フ ィ ギ ャ ラ ブル領域が小 さ すぎた り 、 長方形以外の形で形成 さ れ る場合は、 配線が困難
にな る こ と も あ り ます。
設計に関する考慮事項
•
すべてではあ り ませんが、ほ と ん ど の コ ン ポーネ ン ト タ イ プは リ コ ン フ ィ ギ ュ レーシ ョ ン で き
ます。
•
グ ロ ーバル ク ロ ッ ク と ク ロ ッ ク 調整 ロ ジ ッ ク は、 ス タ テ ィ ッ ク 領域に含め る 必要があ り
ます。
-
BUFG、 MMCM、 PLL、 DCM お よ び同様の も のが含まれます。
-
BSCAN や STARTUP な ど のアーキ テ ク チ ャ 特有の コ ン ポーネ ン ト は、 デザ イ ンの ス
タ テ ィ ッ ク 領域に含め る 必要があ り ます。
•
リ コ ン フ ィ ギ ャ ブル パーテ ィ シ ョ ンへのグ ロ ーバル ク ロ ッ ク リ ソ ース には、 デバ イ ス と こ れ
ら の リ コ ン フ ィ ギ ャ ブル パーテ ィ シ ョ ン に占有 さ れ る ク ロ ッ ク 領域に よ っ て、 制限があ り ま
す。 詳細は、 第 7 章 「デザ イ ンの注意事項」 を参照 し て く だ さ い。
•
IP を イ ンプ リ メ ン ト す る のに使用 さ れ る コ ン ポーネ ン ト のために、 IP の制限が適用 さ れ る こ
と があ り ます。 具体的な例は、 次の と お り です。
•
ChipScope ICON (BUFG)
•
グ ロ ーバル バ ッ フ ァ ーの付いた EDK ブ ロ ッ ク
•
MIG コ ン ト ロ ー ラ ー (MMCM)
•
ス タ テ ィ ッ ク 領域 と リ コ ン フ ィ ギ ャ ラ ブル領域の間には、 専用配線があ る場合以外は、 双方向
イ ン タ ーフ ェ イ ス を使用す る こ と はで き ません。 た と えば、 ス タ テ ィ ッ ク ロ ジ ッ ク であ る 最上
位 I/O パ ッ ド に配線 さ れて い る リ コ ン フ ィ ギ ャ ラ ブル領域の IOBUF な ど の I/O バ ッ フ ァ ー
は、双方向 イ ン タ ーフ ェ イ ス を介 し て リ コ ン フ ィ ギ ャ ラ ブル領域 と ス タ テ ィ ッ ク ロ ジ ッ ク を ま
た ぐ こ と があ り ます。
•
専用の暗号化は、 7 シ リ ーズお よ び Virtex-6 でサポー ト さ れ る ほか、 Virtex-5 の場合は IP コ ア
を介 し てサポー ト さ れます。
•
•
12
ユーザーは独自の ソ フ ト ウ ェ ア暗号化エン ジ ン を構築 し てパーシ ャ ル BIT フ ァ イ ルを変
更で き 、 FPGA 内のハー ド ウ ェ ア暗号化エン ジ ンで暗号化のニーズに対応で き ます。
7 シ リ ーズお よ び Virtex デバ イ ス の場合、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの最後に専用
の CRC 機能はあ り ますが、 パーシ ャ ル BIT フ ァ イ ルの整合性は、 BIT フ ァ イ ル配布機能の一
部 と し て挿入 さ れ る IP コ ア を使用 し てチ ェ ッ ク で き ます。
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
ISE 13.4 のパーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン デザイ ンの基準
特定の IP ソ リ ュ ーシ ョ ン も あ り ま すが ( ザ イ リ ン ク ス ア プ リ ケーシ ョ ン ノ ー ト
『PRC/EPRC :
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン のデー タ イ ン テ グ リ テ ィ お よ びセ キ ュ リ テ ィ コ ン ト ロ ー
ラ ー』 (XAPP887) 参照)、 前述の よ う に、 独自の ソ リ ュ ーシ ョ ン を 開発 し て、 デザ イ ン内で CRC
チ ェ ッ ク を実行す る こ と も で き ます。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは、 ザ イ リ ン ク ス FPGA に含ま れ る 優れた機能で、 シ リ コ
ンの機能 と ソ フ ト ウ ェ アの機能を理解す る こ と が重要なポ イ ン ト と な り ます。 開発プ ロ セ ス におけ
る ト レー ド オ フ を理解 し て考慮す る必要はあ り ますが、 全体的に見る と 、 FPGA デザ イ ンの イ ンプ
リ メ ン テーシ ョ ンは よ り 柔軟にな り ます。
パー シ ャ ル リ コ ン フ ィ ギ ュ レ ー シ ョ ン は、 ザ イ リ ン ク ス サ ポー ト 、 デザ イ ン サー ビ ス お よ び
Titanium テ ク ニ カル サービ ス で完全にサポー ト さ れてい ます。 こ れ ら のサポー ト サービ ス に よ り 、
ユーザーのデザ イ ンに合っ た ソ リ ューシ ョ ン を提供 し てい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
13
第 1 章 : 概要
14
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
第2章
よ く 使用 さ れる ア プ リ ケーシ ョ ン
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン では、 マ イ ク ロ プ ロ セ ッ サの機能 と 同様に、 FPGA ハー ド
ウ ェ ア リ ソ ース を時分割 し て タ ス ク を切 り 替え る こ と がで き ます。 FPGA デバ イ ス の場合、 ハー ド
ウ ェ アで タ ス ク を切 り 替え る ので、 ソ フ ト ウ ェ ア イ ンプ リ メ ン テーシ ョ ンの柔軟性 と ハー ド ウ ェ ア
イ ンプ リ メ ン テーシ ョ ンのパフ ォーマ ン ス の両方の利点を生かす こ と がで き ます。 こ こ では、 さ ま
ざ ま な例を使用 し て、 こ のテ ク ノ ロ ジの詳細を説明 し ます。
ネ ッ ト ワー ク マルチポー ト イ ン タ ー フ ェ イ ス
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは、 サ イ ズ、 重量、 消費電力、 コ ス ト な ど を削減す る こ と
で FPGA アプ リ ケーシ ョ ン を最適化 し ます。時間に依存 し ないフ ァ ン ク シ ョ ン を リ コ ン フ ィ ギ ャ ラ
ブル モジ ュ ール と し て識別、 分離、 イ ン プ リ メ ン ト し 、 必要に応 じ て デバ イ ス に入れた り 出 し た
り で き ま す。 よ く あ る 例は、 ネ ッ ト ワ ー ク ス イ ッ チです。 ス イ ッ チのポー ト では複数の イ ン タ ー
フ ェ イ ス プ ロ ト コ ルがサポー ト さ れ る こ と も あ り ますが、FPGA デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ
ン前に ど のプ ロ ト コ ルが使用 さ れ る かは予測で き ません。 すべてのポー ト をデ ィ ス エーブルに し て
FPGA デバ イ ス を リ コ ン フ ィ ギ ュ レーシ ョ ンす る のを避け る には、 図 2-1 に示す よ う に、 可能性の
あ る すべての イ ン タ ーフ ェ イ ス プ ロ ト コ ルを全ポー ト に イ ンプ リ メ ン ト し ます。
X-Ref Target - Figure 2-1
FPGA
Switch
Fabric
10 GigE
tx/rx
OC48
tx/rx
Fibre
tx/rx
10 GigE
tx/rx
OC48
tx/rx
Fibre
tx/rx
10 GigE
tx/rx
OC48
tx/rx
Fibre
tx/rx
10 GigE
tx/rx
OC48
tx/rx
Fibre
tx/rx
Port 1
Port 2
Port 3
Port 4
X12002
図 2-1 : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し ない場合のネ ッ ト ワー ク ス イ ッ チ
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
15
第 2 章 : よ く 使用 さ れる ア プ リ ケーシ ョ ン
こ の場合、 各ポー ト に 1 つの規格 し か使用 さ れないので、 効率の悪いデザ イ ンにな り ます。 図 2-2
に示す よ う に、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用す る と 、 各ポー ト イ ン タ ーフ ェ イ ス
を リ コ ン フ ィ ギ ャ ラ ブル モジ ュールにす る こ と で、 効率の良いデザ イ ン を作成で き ます。 こ れに よ
り 、複数のプ ロ ト コ ル エン ジ ン を 1 つのポー ト に接続す る ために必要であ っ た MUX エ レ メ ン ト は
必要な く な り ます。
X-Ref Target - Figure 2-2
Config Memory Storage
FPGA
10 GigE
Port 1
tx/rx
10 GigE
tx/rx
tx/rx
OC48
tx/rx
Fibre
tx/rx
Port 2
OC48
Switch
Fabric
Fibre
tx/rx
Port 3
Port 4
OC48
tx/rx
X12003
図 2-2 : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し た場合のネ ッ ト ワー ク ス イ ッ チ
こ の基本的な方法は、 さ ま ざ ま なデザ イ ンで利用で き ます。 た と えば、 相互に排他的な機能を持つ
多 く のアプ リ ケーシ ョ ンの 1 つであ る SDR (Software Defined Radio) で機能を多重分割する と 、柔
軟性お よ び リ ソ ース使用率がかな り 改善 さ れます。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し たデザ イ ンの利点は、 効率だけではあ り ません。 た
と えば、 図 2-2 に示す よ う に、 ス タ テ ィ ッ ク ロ ジ ッ ク ( こ の例では ス イ ッ チ フ ァ ブ リ ッ ク ) に影響
を与え る こ と な く 、 新規プ ロ ト コ ルをいつで も サポー ト で き ます。 新 し い規格がポー ト に読み込ま
れて も 、 それ以外のポー ト には ま っ た く 影響はあ り ません。 追加 さ れ る規格は、 すべて を設計 し 直
さ な く て も 、 作成 し て、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ に追加で き る ので、 ス イ ッ チ フ ァ ブ リ ッ
ク お よ びそのポー ト での柔軟性お よ び信頼度が増 し 、 ダ ウ ン タ イ ム も 削減で き ま す。 デバ ッ グ モ
ジ ュ ールを作成 し 、ポー ト でエ ラ ーが発生 し た場合に未使用のポー ト に解析/修正 ロ ジ ッ ク が読み込
まれ る よ う にす る と 、 リ アル タ イ ムで問題を処理で き ます。
図 2-2 の例では、 各プ ロ ト コ ルの タ ーゲ ッ ト と な る独自の物理 ロ ケーシ ョ ンに対 し て、 独自のパー
シ ャ ル BIT フ ァ イ ルを生成す る 必要があ り ます。 パーシ ャ ル BIT フ ァ イ ルは、 デバ イ ス の明示的
な領域に関連付け ら れます。 こ の例では、 16 個のパーシ ャ ル BIT フ ァ イ ルが 4 つの ロ ケーシ ョ ン
の 4 つのプ ロ ト コ ルに対応 し てい ます。 今後のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン の改善に よ
り 、 BIT フ ァ イ ルを異な る 物理 ロ ケーシ ョ ンに配置で き る よ う にな る 可能性 も あ り ます。
16
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
PCIe イ ン タ ー フ ェ イ ス を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン
PCIe イ ン タ ー フ ェ イ ス を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは、シ ス テ ム アーキテ ク チ ャ と よ り 互換性のあ る イ ン タ ー
フ ェ イ ス規格を使用 し て、新 し い コ ン フ ィ ギ ュ レーシ ョ ン ポー ト を作成で き ます。た と えば、FPGA
デバ イ ス を PCIe バ ス のペ リ フ ェ ラ ルにす る こ と がで き る ので、 シ ス テ ム ホ ス ト で PCIe 接続を介
し て FPGA を コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 パ ワ ーオ ン リ セ ッ ト 後は、 FPGA デバ イ ス を フ
ル BIT フ ァ イ ルで コ ン フ ィ ギ ュ レーシ ョ ンする 必要があ り ますが、フル BIT フ ァ イ ルには PCIe イ
ン タ ーフ ェ イ ス と ICAP (Internal Configuration Access Port) への接続 し か含 ま れていない場合 も
あ り ます。
ビ ッ ト ス ト リ ーム圧縮を使用す る と 、 サ イ ズ を削減で き る ので、 こ の最初のデバ イ ス読み込みにっ
か る コ ン フ ィ ギ ュ レーシ ョ ン時間 も 短縮で き、 FPGA コ ン フ ィ ギ ュ レーシ ョ ンで PCIe の列挙仕様
を満た し やす く な り ます。
こ れで、 図 2-3 に示す よ う に、 シ ス テ ム ホ ス ト で PCIe ポー ト を介 し てパーシ ャ ル BIT フ ァ イ ルを
ダ ウ ン ロ ー ド し 、 ほ と ん ど の FPGA の機能を コ ン フ ィ ギ ュ レーシ ョ ンで き る よ う にな り ます。
X-Ref Target - Figure 2-3
Full
Bit File
ICAP
PCIe
Static
Partial
Bit File
X12021
図 2-3 : PCIe イ ン タ ー フ ェ イ ス を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン
PCIe 規格には、 要求を処理で き ない場合で も 、 要求の受信を確認す る ためのペ リ フ ェ ラ ル ( こ の場
合は FPGA デバ イ ス ) が必要です。 FPGA デバ イ ス全体を コ ン フ ィ ギ ュ レーシ ョ ン し 直す と 、 こ の
要件に違反 し て し ま う 可能性があ り ます。 PCIe は ス タ テ ィ ッ ク ロ ジ ッ ク の一部なので、 パーシ ャ
ル リ コ ン フ ィ ギ ュ レーシ ョ ンのプ ロ セ ス中 も 常にア ク テ ィ ブです。 そのため、 FPGA デバ イ ス は リ
コ ン フ ィ ギ ュ レーシ ョ ン中で も PCIe コ マ ン ド に応答で き る よ う にな っ てい ます。 こ の使用例は、ア
プ リ ケーシ ョ ン ノ ー ト XAPP883 『パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し た PCI Express
テ ク ノ ロ ジの高速 コ ン フ ィ ギ ュ レーシ ョ ン』 に掲載 さ れてい ます。 こ のアプ リ ケーシ ョ ン ノ ー ト に
は、 ML605 評価ボー ド を タ ーゲ ッ ト と する リ フ ァ レ ン ス デザ イ ンが含まれてい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
17
第 2 章 : よ く 使用 さ れる ア プ リ ケーシ ョ ン
ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ャ ラ ブル パケ ッ ト プ ロ セ ッ サ
パケ ッ ト プ ロ セ ッ サにパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用す る と 、 受信す る パケ ッ ト の
種類に基づいて、 その処理フ ァ ン ク シ ョ ン をすばや く 変更で き ます。 図 2-4 では、 パケ ッ ト にパー
シ ャ ル BIT フ ァ イ ルを含むヘ ッ ダーがあ る か、 特殊パケ ッ ト にパーシ ャ ル BIT フ ァ イ ルが含ま れ
てい ます。 パーシ ャ ル BIT フ ァ イ ルが処理 さ れ る と 、 FPGA デバ イ ス の コ プ ロ セ ッ サを リ コ ン フ ィ
ギ ュ レーシ ョ ンす る ために使用 さ れます。 こ れは、 パーシ ャ ル BIT フ ァ イ ルの定義済み ラ イ ブ ラ リ
ではな く 、 受信 し たデー タ パケ ッ ト に基づいて FPGA デバ イ ス を リ コ ン フ ィ ギ ュ レーシ ョ ンす る
例です。
X-Ref Target - Figure 2-4
FPGA
1
2
Partially
Reconfigurable
Co-processor
ICAP
Data
Packet Processor
PBF: Partial
Bit FIle
Data
PBF
H
Data
2
PBF
1
H
X12005
図 2-4 : ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ャ ラ ブル パケ ッ ト プ ロ セ ッ サ
18
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
非対称鍵暗号化方式
非対称鍵暗号化方式
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン な し ではデザ イ ン で き ない新 し いア プ リ ケーシ ョ ン も あ り
ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン と 非対称暗号を組み合わせる こ と に よ り 、 FPGA コ ン
フ ィ ギ ュ レーシ ョ ン フ ァ イ ルを非常に安全な方法で保護で き ます。 非対称鍵暗号の詳細は、 「公開
鍵暗号」 を参照 し て く だ さ い。
図 2-5 では、青いボ ッ ク ス のすべての フ ァ ン ク シ ョ ン を FPGA の物理パ ッ ケージ内に イ ンプ リ メ ン
ト で き ます。 cleartext 情報 と Private Key は、 保護 さ れた コ ン テナー外部には出せません。
X-Ref Target - Figure 2-5
cleartext
Key Co-generation
Public Key
f
ciphertext
Private Key
f
cleartext
X12022
図 2-5 : 非対称鍵暗号化方式
こ のデザ イ ン を実際に イ ンプ リ メ ン ト す る場合、最初の BIT フ ァ イ ルは所有権情報を含ま ない暗号
化 さ れていないデザ イ ンです。 最初のデザ イ ンには、 公開鍵 と 秘密鍵のペア を生成す る アルゴ リ ズ
ム と 、 ホ ス ト 、 FPGA、 ICAP を接続する イ ン タ ーフ ェ イ ス のみが含まれてい ます。
最初の BIT フ ァ イ ルが読み込まれ る と 、 FPGA デバ イ ス で公開鍵 と 秘密鍵のペアが生成 さ れます。
公開鍵はホ ス ト に送信 さ れ、ホ ス ト でパーシ ャ ル BIT フ ァ イ ルを暗号化す る のにその鍵が使用 さ れ
ます。図 2-6 に示す よ う に、暗号化 さ れたパーシ ャ ル BIT フ ァ イ ルが FPGA デバ イ ス にダ ウ ン ロ ー
ド さ れ、 解読 さ れ、 ICAP に送信 さ れ る と 、 FPGA が部分的に リ コ ン フ ィ ギ ュ レーシ ョ ン さ れます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
19
第 2 章 : よ く 使用 さ れる ア プ リ ケーシ ョ ン
X-Ref Target - Figure 2-6
FPGA
Host
Bit File
Library
Config 1
Generate Key Pair
Encrypt
Algorithm
Config 2
Config 3
Public
Public
Private
External
Interface
Decrypt
Algorithm
ICAP
X12023
図 2-6 : 暗号化 さ れたパーシ ャ ル BIT フ ァ イルの読み込み
パーシ ャ ル BIT フ ァ イ ルが FPGA デザ イ ンの大部分を占め る よ う に し 、 ス タ テ ィ ッ ク デザ イ ンの
ロ ジ ッ ク が FPGA リ ソ ース のわずか し か使用 し ない よ う にする こ と も 可能です。
こ の方法には、 次の よ う な利点があ り ます。
•
公開鍵 と 秘密鍵のペアはど の時点で も 再生成で き ます。 新 し い コ ン フ ィ ギ ュ レーシ ョ ンがホ ス
ト か ら ダ ウ ン ロ ー ド さ れ る と 、 異な る 公開鍵で暗号化で き ます。 FPGA デバ イ ス がパ ワーオン
リ セ ッ ト 後な ど に同 じ パーシ ャ ル BIT フ ァ イ ルを使用 し て コ ン フ ィ ギ ュ レーシ ョ ンす る 場合、
同 じ BIT フ ァ イ ルであ っ て も 別の公開鍵ペアが使用 さ れます。
•
秘密鍵は SRAM に格納 さ れます。 FPGA デバ イ ス の電源が失われ る と 、 秘密鍵は存在 し な く
な り ます。
•
FPGA デバ イ ス に電源が入っ た状態でシ ス テ ムが盗難にあ っ た と し て も 、秘密鍵は汎用のFPGA
フ ァ ブ リ ッ ク に格納 さ れてい る ため、 非常に見つけに く く な っ てい ます。 秘密鍵は特定の レ ジ
ス タ に格納 さ れてい る わけではあ り ません。 設計者は、 秘密鍵を格納する各レ ジ ス タ ビ ッ ト を、
物理的に リ モー ト の領域お よ び無関連の領域に手動で配置で き ます。 暗号化機能の例は、 アプ
リ ケーシ ョ ン ノ ー ト XAPP887 『PRC/EPRC : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンのデータ
イ ン テグ リ テ ィ およ びセキ ュ リ テ ィ コ ン ト ロ ー ラ ー』 を参照 し て く だ さ い。こ のアプ リ ケーシ ョ
ン ノ ー ト には、 Virtex®-5 および Virtex-6 のサンプル デザ イ ンが含まれてい ます。
ま とめ
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン は、 サ イ ズ、 重量、 消費電力、 コ ス ト を削減す る だけでな
く 、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン な し には イ ンプ リ メ ン ト で き ない新 し い タ イ プの FPGA
デザ イ ン も 可能に し ます。
20
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
第3章
ソ フ ト ウ ェ ア ツール フ ロー
こ の章では、 基本的な ソ フ ト ウ ェ ア ツール フ ロ ー、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン FPGA
を サポー ト す る シ ス テ ム を構築 し 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン を構成す る 方
法、 お よ び制約の適用を説明 し ます。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン FPGA デザ イ ン を イ ン プ リ メ ン ト す る 方法は、 ロ ジ ッ ク を
共有す る 複数デザ イ ン を イ ンプ リ メ ン ト す る方法 と 類似 し てい ます。 複数デザ イ ン間で共通 ロ ジ ッ
ク が使用 さ れ る よ う にす る ため、 パーテ ィ シ ョ ンが使用 さ れます。 図 3-1 は、 こ の概念を示 し てい
ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
21
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
X-Ref Target - Figure 3-1
HDL Sources
Top
Static
Static
Module
Reconfig
Module
Reconfig
Module
Reconfig
Module
Top
SM
RMA
RMB
RMN
Synthesize
Netlists
(EDIF or NGC)
Design 1
Module
Constraints
RMA.bit
Implement
Full_1.bit
Module
Constraints
tic
Design 2
ta
S
py
Co
Static
Constraints
RMB.bit
Implement
Full_2.bit
Module
Constraints
tic
Design N
ta
S
py
Co
Static
Constraints
RMN.bit
Implement
Full_N.bit
Static
Constraints
図 3-1 : パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ソ フ ト ウ ェ ア フ ローの概要
一番上の薄いグ レ ーのボ ッ ク ス は、 HDL ソ ース を合成 し て各モジ ュ ールのネ ッ ト リ ス ト を作成す
る 段階を示 し てい ます。 その後、 適切なネ ッ ト リ ス ト を各デザ イ ンに イ ンプ リ メ ン ト し 、 その コ ン
フ ィ ギ ュ レーシ ョ ン用の フル BIT フ ァ イ ル と パーシ ャ ル BIT フ ァ イ ルを生成 し ます。 ス タ テ ィ ッ
ク ロ ジ ッ ク は、 最初の イ ン プ リ メ ン テーシ ョ ン か ら の も のがその後のすべてのデザ イ ン イ ン プ リ
メ ン テーシ ョ ンで共有 さ れます。
サン プル デザイ ンの構造
こ のガ イ ド では、 デザ イ ン フ ロ ー と 手法を説明す る のに Color2 サンプル デザ イ ン を使用 し ます。
こ のデザ イ ンは、 原色の赤、 青、 お よ び緑 と 、 それ ら を異な る 割合で混合 し た非原色のカ ラ ー バー
を DVI サポー ト モニ タ ーに表示 し ます。パーシ ャ ル リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは、赤、青、
緑のモジ ュ ールです。 各モジ ュールには、 赤、 青、 緑ご と に高速お よ び低速の も のがあ り ます。 こ
の速度は、 LED がデモ ボー ド で点滅す る 速 さ を示 し てい ま す。 こ のデザ イ ン は、 Virtex®-6 ML605 評価版プ ラ ッ ト フ ォーム を タ ーゲ ッ ト と し てい ます。
参照デザ イ ンのデザ イ ン フ ァ イ ルは、 次のサ イ ト か ら ダ ウ ン ロ ー ド で き ます。
http://japan.xilinx.com/tools/partial-reconfiguration
22
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
サン プル デザイ ンの構造
図 3-2 は、 階層ネ ッ ト リ ス ト を図示 し てい ます。 Top、 IIC_init、 DVI_IF、 VGA はデザ イ ンの ス
タ テ ィ ッ ク 領域にあ る モジ ュ ールで、 ほかのモジ ュ ールが リ コ ン フ ィ ギ ュ レーシ ョ ン中で も 通常の
動作状態 を 保ち ま す。 Red、 Blue、 Green は、 それぞれ赤、 青、 緑の リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールの イ ン ス タ ン シエーシ ョ ン を示 し てい ます。 各色モジ ュールには、 それぞれ高速 と 低速が
あ り ます。
X-Ref Target - Figure 3-2
TOP
DVI_IF
ICC_init
VGA
Static Modules
Red
Blue
Green
Reconfigurable Partitions
X12025
図 3-2 : Color2 デザイ ン階層
次は、 Color2 と い う パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト 全体のデザ イ ン ソ ー ス
の階層 と リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの コ ー ド 例です。
Design source hierarchy and Reconfigurable Module variants for overall
PR project named Color2:
Top.v ......... top module which is static
red.......... instantiation of a Reconfigurable Module
red_fast.v......Reconfigurable Module
red_slow.v......""
blue ......... instantiation of a Reconfigurable Module
blue_fast.v .....Reconfigurable Module
blue_slow.v .....""
green......... instantiation of a Reconfigurable Module
green_fast.v.....Reconfigurable Module
green_slow.v.....""
DVI_IF.v ....... static module
IIC_init.v ......""
VGA.v.........""
Red、 Green、 Blue は、 リ コ ン フ ィ ギ ャ ラ ブル イ ン ス タ ン ス です。 デザ イ ン のその他すべての ロ
ジ ッ ク は ス タ テ ィ ッ ク です。
Red、 Green、 Blue イ ン ス タ ン ス には、 ロ ジ ッ ク は含まれません。 こ れ ら の イ ン ス タ ン ス は単に イ
ン ス タ ン シエーシ ョ ン文で、 red_fast お よ び blue_slow な ど のモジ ュール定義に イ ンプ リ メ ン
ト する ロ ジ ッ ク が含まれます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
23
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
サン プル プ ロ ジ ェ ク ト フ ァ イルの構造
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン FPGA デザ イ ン プ ロ ジ ェ ク ト は、平均的な FPGA デザ イ ン
プ ロ ジ ェ ク ト よ り も 複雑ですが、明確に定義 さ れた フ ァ イ ル と デ ィ レ ク ト リ 構造があ る と 、プ ロ ジ ェ
ク ト が管理 し やす く な り ます。
プ ロ ジ ェ ク ト には、 各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に複数の リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールがあ り ます。 モジ ュ ールはボ ト ム ア ッ プ方式で合成 さ れ る ので、 各 リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ンに関連す る ネ ッ ト リ ス ト が複数生成 さ れます。 イ ンプ リ メ ン テーシ ョ ンは ト ッ プダ
ウ ン方式で実行 さ れ、「コ ン フ ィ ギ ュ レーシ ョ ン」 と い う 特定のネ ッ ト リ ス ト セ ッ ト が定義 さ れます。
ソ ース、 制約、 合成結果、 イ ンプ リ メ ン テーシ ョ ン結果の混同を避け る ため、 デザ イ ン イ ンプ リ メ
ン テーシ ョ ン の各段階に別々のデ ィ レ ク ト リ を使用す る こ と をお勧め し ま す。 パーシ ャ ル リ コ ン
フ ィ ギ ュ レーシ ョ ン デザ イ ン で よ く 使用 さ れ るデ ィ レ ク ト リ 構造は、 次の と お り です。
project_name ..... プ ロ ジ ェ ク ト 全体の名前
Docs......... ユーザーま たはデザ イ ン ド キ ュ メ ン ト
Implementation....ザ イ リ ン ク ス ソ フ ト ウ ェ ア イ ンプ リ メ ン テーシ ョ ン結果
modules....... ス タ テ ィ ッ ク ま たは リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのネ ッ ト リ ス ト
configurations ... コ ン フ ィ ギ ュ レーシ ョ ンの イ ンプ リ メ ン テーシ ョ ン結果
Source........ ソ ース フ ァ イ ル
modules.......ス タ テ ィ ッ ク お よ び リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの HDL ソ ース
フ ァ イル
UCF......... 制約フ ァ イ ル
Synth ........ 合成結果
modules....... 各ス タ テ ィ ッ ク および リ コ ン フ ィ ギ ャ ラ ブル モジ ュールのネ ッ ト リ ス ト
Tools ........Tcl ス ク リ プ ト ま たはその他のユーザー ス ク リ プ ト
フ ァ イ ルに Color2 デザ イ ンが記述 さ れてい る と す る と 、フ ロ ー ベース のデ ィ レ ク ト リ 構造は次の
よ う にな り ます。
Color2.......... プ ロ ジ ェ ク ト 全体の名前
Docs
readme.txt
Source ........HDL ソ ース フ ァ イ ル
Static....... ス タ テ ィ ッ ク ロ ジ ッ ク のすべての HDL の コ レ ク シ ョ ン
Top ....... 最上位ス タ テ ィ ッ ク モジ ュ ール
DVI_IF...... 下位ス タ テ ィ ッ ク モジ ュ ール
IIC_init.....""
VGA .......""
red_fast......Red の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール
red_slow......""
blue_fast .....Blue の リ コ ン フ ィ ギ ャ ラ ブル モジ ュール
blue_slow .....""
green_fast.....Green の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール
green_slow.....""
UCF ........ 制約フ ァ イ ル
Synth......... 合成済みネ ッ ト リ ス ト
static....... top、 DVI_IF、 IIC_init、 お よ び VGA
red_fast
red_slow
blue_fast
blue_slow
green_fast
green_slow
Implementation .... ス ク リ プ ト か ら 実行 し た イ ンプ リ メ ン テーシ ョ ン結果
FastConfig..... イ ンプ リ メ ン テーシ ョ ン結果 と BIT フ ァ イ ル
24
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
合成
SlowConfig.....""
FSFConfig .....""
BlankConfig .... 3 つの色のブ ラ ッ ク ボ ッ ク ス
PlanAhead....... PlanAhead か ら 実行 し た イ ンプ リ メ ン テーシ ョ ン結果
FFF ........ イ ンプ リ メ ン テーシ ョ ン結果 と BIT フ ァ イ ル
SSS ........""
FSF ........""
BB......... こ れ ら の色のブ ラ ッ ク ボ ッ ク ス
Tools.........Tcl ス ク リ プ ト ま たはその他のユーザー ス ク リ プ ト
合成
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは、 それぞれボ ト ム ア ッ プ形式でほかのモジ ュ ール と は別に合成
さ れ ま す。 こ れは、 グ ラ フ ィ カル イ ン タ ーフ ェ イ ス か コ マ ン ド ラ イ ン のいずれかか ら 個別のプ ロ
ジ ェ ク ト を使用す る と 実行で き ま す。 こ れ ら のモジ ュ ールのポー ト はパ ッ ケージ ピ ン に接続 さ れ
ず、 その上の ス タ テ ィ ッ ク ロ ジ ッ ク に接続 さ れ る ので、 モジ ュ ールご と に、 I/O 挿入をデ ィ ス エー
ブルに し て く だ さ い。 I/O ポー ト は、 リ コ ン フ ィ ギ ュ レーシ ョ ンに含め る こ と がで き ます。 詳細は、
第 7 章の 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの I/O」 を参照 し て く だ さ い。
ス タ テ ィ ッ ク モジ ュ ールは、 一緒に合成 し て 1 つのネ ッ ト リ ス ト を生成す る か、 個別に合成 し て複
数の ス タ テ ィ ッ ク ネ ッ ト リ ス ト を生成で き ます。 NGDBuild で ス タ テ ィ ッ ク モジ ュ ール と リ コ ン
フ ィ ギ ャ ラ ブル モ ジ ュ ールが ま と め ら れ、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の定義で ス タ
テ ィ ッ ク と リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク 間の イ ン タ ーフ ェ イ ス が表 さ れ ます。 ス タ テ ィ ッ ク モ
ジ ュ ールま たは リ コ ン フ ィ ギ ャ ラ ブル モジ ュールの合成には、 異な る オプシ ョ ン を使用で き ます。
次に、 Color2 サンプル デザ イ ンで最低限生成 さ れ る ネ ッ ト リ ス ト を示 し ます。
Netlists generated for the PR project named Color2:
Netlist for Top which contains DVI_IF, IIC_init and VGA modules
Netlists for the reconfigurable instance Red:
-------------Netlist for red_fast
Netlist for red_slow
Netlists for the reconfigurable instance Blue:
-------------Netlist for blue_fast
Netlist for blue_slow
Netlists for the reconfigurable instance Green:
-------------Netlist for green_fast
Netlist for green_slow
注意 : ネ ッ ト リ ス ト 名は HDL フ ァ イ ル名ではな く 、モジ ュール名に関連 し てい ます。Red のモ
ジ ュ ール/ ネ ッ ト リ ス ト 名は、それぞれ同 じ に し ておかない と 、ス タ テ ィ ッ ク ロ ジ ッ ク モジ ュ ー
ルの イ ン ス タ ン シエーシ ョ ンか ら リ コ ン フ ィ ギ ャ ラ ブル モジ ュールを呼び出す こ と がで き な
く な り ます。 ま た、 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのポー ト も 同 じ に し ない と 、 デザ イ ン
のアセ ンブ リ が う ま く い き ません。
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの各 イ ン ス タ ン シエーシ ョ ンには、固有のモジ ュ ール名を付け る
必要があ り ます。 こ のサンプル デザ イ ンでは、 Red は 1 度だけ イ ン ス タ ン シエー ト で き ます。 こ れ
に よ り 、イ ンプ リ メ ン テーシ ョ ン ツールで ど の リ コ ン フ ィ ギ ャ ラ ブル モジ ュールが ど の リ コ ン フ ィ
ギ ャ ラ ブル パーテ ィ シ ョ ンに関連付け ら れてい る かが正 し く 判断 さ れます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
25
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
実際には、 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのネ ッ ト リ ス ト 名は同一なので、 各ネ ッ ト リ ス ト が
別のデ ィ レ ク ト リ に配置 さ れてい る必要があ り ます。
Netlist directory for the PR project named Color2:
Static/Top.ngc (contains logic for all static logic including
DVI_IF, IIC_init and VGA)
Netlists for the reconfigurable instance Red:
-------------red_fast/red.ngc
red_slow/red.ngc
Netlists for the reconfigurable instance Blue:
-------------blue_fast/blue.ngc
blue_slow/blue.ngc
Netlists for the reconfigurable instance Green:
-------------green_fast/green.ngc
green_slow/green.ngc
コ ン フ ィ ギ ュ レーシ ョ ン
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ソ フ ト ウ ェ アでは、 ス タ テ ィ ッ ク ロ ジ ッ ク と 各 リ コ ン フ ィ
ギ ャ ラ ブル パーテ ィ シ ョ ン ご と に 1 つの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを含む完全なデザ イ ン
が イ ン プ リ メ ン ト さ れ ま す。 イ ン プ リ メ ン テーシ ョ ンはそれぞれの コ ン テ キ ス ト で実行 さ れ ます。
こ れに よ り 、 リ ソ ース使用率、 グ ロ ーバル信号、 デザ イ ン制約、 その他の要件な ど の情報すべてが
ツールに渡 さ れます。 すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを イ ンプ リ メ ン ト する には、 リ コ
ン フ ィ ギ ャ ラ ブル モジ ュールの可能な組み合わせのサブセ ッ ト を選択 し 、 それ ら を固有のデザ イ ン
と し て イ ン プ リ メ ン ト す る 必要があ り ま す。 各固有の イ ン プ リ メ ン テーシ ョ ンは、 「 コ ン フ ィ ギ ュ
レーシ ョ ン」 と 呼ばれます。
各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンはオプシ ョ ンでブ ラ ッ ク ボ ッ ク ス と し て設定で き る ので、
空の ビ ッ ト ス ト リ ーム を リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに し てお く こ と がで き ます。 そのため、
Color2 デザ イ ン で イ ン プ リ メ ン ト 可能な リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール と パーシ ャ ル BIT
フ ァ イ ルは、 次の と お り です。
Red { red_fast, red_slow, black box }
Blue { blue_fast, blue_slow, black box }
Green { green_fast, green_slow, black box }
各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に 3 つの選択肢があ り 、 こ のデザ イ ン には 3 つの リ コ ン
フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンがあ る ので、 コ ン フ ィ ギ ュ レーシ ョ ン と し て定義で き る組み合わせ
は 27 個あ り ますが、各組み合わせご と に コ ン フ ィ ギ ュ レーシ ョ ン を作成する 必要はあ り ません。モ
ジ ュ ールのパーシ ャ ル BIT フ ァ イ ルはそれ以外の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールか ら は独立 し
てい る ので、 各モジ ュ ールを含む コ ン フ ィ ギ ュ レーシ ョ ンのみを 1 回 イ ンプ リ メ ン ト す る だけで十
分です。
26
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
制約
Color2 デザ イ ンで最低限必要な コ ン フ ィ ギ ュ レーシ ョ ン数は、 次の コ ー ド 例の よ う にな り ます。
Minimum number of FPGA designs (Configurations) required to implement
the PR project Color2:
First Configuration
------------------Top
Red
red_fast
Blue
blue_fast
Green
green_fast
DVI_IF
IIC_init
VGA
Second Configuration
-------------------Top
Red
red_slow
Blue
blue_slow
Green
green_slow
DVI_IF
IIC_init
VGA
Third Configuration
------------------Top
Red
black box
Blue
black box
Green
black box
DVI_IF
IIC_init
VGA
Red、 Green、 Blue にはそれぞれ 3 つの異な る モジ ュ ールがあ る ので、 すべての リ コ ン フ ィ ギ ャ
ラ ブル モジ ュ ールを イ ン プ リ メ ン ト す る のに必要な コ ン フ ィ ギ ュ レーシ ョ ン数は最低 3 つにな り
ます。 必要に応 じ て、 さ ら に コ ン フ ィ ギ ュ レーシ ョ ン を作成 し て、 独自の フル BIT フ ァ イ ルを作成
す る こ と も で き ます。
た と えば、 red_fast、 blue_slow、 green_fast モジ ュ ールを含む 4 つ目の コ ン フ ィ ギ ュ レ ー
シ ョ ン を作成で き ます。 こ の場合、 3 つの リ コ ン フ ィ ギ ャ ラ ブル モジ ュールすべてが こ の コ ン フ ィ
ギ ュ レーシ ョ ンで再使用 さ れます。 こ れ ら のモジ ュールの イ ンプ リ メ ン テーシ ョ ン結果 と パーシ ャ
ル BIT フ ァ イ ルは、 複数の コ ン フ ィ ギ ュ レーシ ョ ンで同 じ にな り ます。
パーシ ャ ル ビ ッ ト ス ト リ ーム を作成す る と 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト
で作成 さ れた フ ル ビ ッ ト ス ト リ ーム ま た はパーシ ャ ル ビ ッ ト ス ト リ ー ム の ど の組み合わせで も
FPGA デバ イ ス に読み込め る よ う にな り ますが、 その特定の組み合わせが予測どお り に動作す る か
ど う か を確認す る には、 その組み合わせのモジ ュールの コ ン フ ィ ギ ュ レーシ ョ ン を作成す る必要が
あ る 場合があ り ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンのデザ イ ン レベルのシ ミ ュ
レーシ ョ ン と 検証フ ロ ーは、 通常のデザ イ ン と 同 じ です。
制約
ス タ テ ィ ッ ク ロ ジ ッ ク の制約は通常 UCF フ ァ イ ルに格納 さ れ、 すべての コ ン フ ィ ギ ュ レーシ ョ ン
間で共有 さ れ ます。 ngdbuild -uc オプシ ョ ン を使用す る と 、 1 つの共通 UCF フ ァ イ ルがすべて
の コ ン フ ィ ギ ュ レーシ ョ ンで共有 さ れ、 すべての ス タ テ ィ ッ ク 制約が同 じ にな る よ う にす る こ と が
で き ます。
ス タ テ ィ ッ ク ロ ジ ッ ク 制約に含め る こ と ので き ないモジ ュ ール特有の制約があ る こ と も あ り ます。
た と えば、 あ る タ イ ミ ン グ制約を red_fast にのみ存在する パス に設定する 場合、 こ の制約を上記
の最初の コ ン フ ィ ギ ュ レ ーシ ョ ン にのみ適用で き ま す。 こ れには、 PlanAhead™ を使用 し て制約
フ ァ イ ルを管理す る か、 特定モジ ュ ールのネ ッ ト リ ス ト 内に制約を埋め込みます。 ngdbuild -uc
オプシ ョ ンは、 コ マ ン ド ラ イ ン ご と に何度で も 使用で き る ので、 各 run で複数の UCF フ ァ イ ルを
指定す る こ と も で き ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
27
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
エ リ ア グループ制約
AREA_GROUP は、 論理デザ イ ン エ レ メ ン ト を特定の ラ ベル ま たはグループに関連付け る グループ
制約です。 AREA_GROUP 制約 と パーテ ィ シ ョ ン定義は、 ス タ テ ィ ッ ク ロ ジ ッ ク を リ コ ン フ ィ ギ ャ
ラ ブル ロ ジ ッ ク と 区別す る ために必要で、 ス タ テ ィ ッ ク 領域内の ロ ジ ッ ク が リ コ ン フ ィ ギ ャ ラ ブル
モジ ュ ールに統合 さ れない よ う に し た り 、 リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク が ス タ テ ィ ッ ク 領域の ロ
ジ ッ ク に統合 さ れない よ う に し ま す。 AREA_GROUP 制約は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ
ン ご と に定義す る 必要があ り ます。次の例では、reconfig_red と い う リ コ ン フ ィ ギ ャ ラ ブル パー
テ ィ シ ョ ンに pblock_reconfig_red と い う AREA_GROUP 制約を設定 し てい ます。
INST “reconfig_red” AREA_GROUP = “pblock_reconfig_red”;
各 リ コ ン フ ィ ギ ャ ラ ブル領域に AREA_GROUP RANGE 制約を少な く と も 1 つ定義 し て、 パーシ ャ ル
リ コ ン フ ィ ギ ュ レーシ ョ ン領域の形や配置を設定す る必要があ り ます。主な範囲 (RANCE) 制約は、
通常パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン領域に含ま れ る ス ラ イ ス を定義す る ス ラ イ ス範囲です。
ス ラ イ ス には、 基本的な LUT お よ び FF な ど の論理エ レ メ ン ト が含まれます。 リ コ ン フ ィ ギ ャ ラ ブ
ル モジ ュ ールにブ ロ ッ ク RAM、 I/O、 その他の論理エ レ メ ン ト も 含 ま れ る 場合は、 別の範囲制約
を作成す る 必要があ り ます。
AREA_GROUP RANGE 制約を設定す る にはい く つかの要件があ り ますが、 それ ら は PlanAhead で管
理で き ます。
•
AREA_GROUP RANGE 制約は リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン領域のサ イ ズ と 形を定義
す る ので、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン ご と に必要です。
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内に配置 さ れ る リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに含
ま れ る すべてのデバ イ ス リ ソ ース ( ス ラ イ ス、 I/O、 ブ ロ ッ ク RAM、 DSP ブ ロ ッ ク な ど ) に、
それぞれ対応す る AREA_GROUP RANGE 制約を指定する 必要があ り ます。シ ン グル サ イ ト の リ
ソ ース で も 関連す る RANGE 制約が必要です。
•
リ コ ン フ ィ ギ ュ レーシ ョ ン し ないエ レ メ ン ト 、 ま たは リ コ ン フ ィ ギ ュ レーシ ョ ン で き ないエ レ
メ ン ト には、 AREA_GROUP RANGE 制約を作成 し ないで く だ さ い。 た と えば、 DCM、 PLL、 ま
たは BUFG には AREA_GROUP RANGE 制約を作成 し ないで く だ さ い。
•
1 つの リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を複数の AREA_GROUP RANGE 制約で定義す る
場合、 こ れ ら は隣接 し てい る必要があ り ます。
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの AREA_GROUP RANGE 制約は、別の リ コ ン フ ィ ギ ャ ラ
ブル パーテ ィ シ ョ ンの AREA_GROUP RANGE 制約 と は重複 し ない よ う に し ます。 ま た、 リ コ ン
フ ィ ギ ャ ブル パーテ ィ シ ョ ン 2 つが同 じ リ コ ン フ ィ ギ ャ ブル フ レーム を占め る こ と はあ り ま
せん。
•
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの ス ラ イ ス領域は、 左下 (minX, minY) か ら 右上
(maxX, maxY) ま で を定義する 必要があ り ます。 次に例を示 し ます。
INST “reconfig_red” AREA_GROUP = “pblock_reconfig_red”;
AREA_GROUP “pblock_reconfig_red” RANGE = SLICE_X20Y76:SLICE_X25Y79;
INST “reconfig_blue” AREA_GROUP = “pblock_reconfig_blue”;
AREA_GROUP “pblock_reconfig_blue” RANGE = SLICE_X28Y64:SLICE_X33Y67;
INST “reconfig_green” AREA_GROUP = “pblock_reconfig_green”;
AREA_GROUP “pblock_reconfig_green” RANGE = SLICE_X20Y50:SLICE_X25Y53;
•
28
ス ラ イ ス、 ブ ロ ッ ク RAM、 DSP48、 IOB、 MGT な ど ほ と ん ど の ロ ジ ッ ク タ イ プは、 リ コ ン
フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に含め る こ と がで き ま す。 DCM、 PLL、 PMCD の よ う な ク
ロ ッ ク 調整 ロ ジ ッ ク な ど を含むグ ロ ーバル ク ロ ッ ク ロ ジ ッ ク は、 ス タ テ ィ ッ ク モジ ュ ール内
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
制約
に含め る 必要があ り ます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの規則の詳細は、 第 7 章 「デ
ザ イ ンの注意事項」 を参照 し て く だ さ い。
•
ス ラ イ ス範囲は、 CLB の境界に設定 さ れ る 必要があ り ます (CLB は分割 し ない)。 こ の規則に
従 う と 、 AREA_GROUP RANGE 制約に Virtex-5 デバ イ ス の CLB 全体が含まれます。
•
AREA_GROUP の ス ラ イ ス範囲の横軸 (minX) は常に偶数
•
AREA_GROUP ス ラ イ ス範囲の横軸 (maxX) は常に奇数
こ の規則に従 う と 、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの RANGE が Virtex-5 デバ イ ス の
CLB の境界に設定 さ れます。 こ の場合、 リ コ ン フ ィ ギ ャ ラ ブル フ レーム規則には従っ た こ と に
な り ません。 第 7 章 「デザ イ ンの注意事項」 で説明 さ れ る リ コ ン フ ィ ギ ャ ラ ブル フ レーム規則
に従 う よ う に し て く だ さ い。
•
ブ ロ ッ ク RAM の AREA_GROUP RANGE の座標は (minX, minY) お よ び (maxX, maxY) で、 奇
数ま たは偶数の ど ち ら で も か ま い ません。 AREA_GROUP のブ ロ ッ ク RAM 範囲は、 PlanAhead
ま たは FPGA Editor で表示 し て確認で き ます。
30 ページの図 3-3 に、 AREA_GROUP RANGE の例を示 し ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
29
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
X-Ref Target - Figure 3-3
SLICE
X42
Y157
SLICE
X42
Y156
AG_PRregionA
BRAM
X3
Y18
BRAM
X0
Y0
SLICE SLICE
X3
X2
Y1
Y1
SLICE SLICE
X3
X2
Y0
Y0
X12026
図 3-3 : パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン領域のス ラ イ ス範囲 と BRAM 範囲
次の コ ー ド 例は、 ス ラ イ スお よ び BRAM の AREA_GROUP RANGE 制約を示 し てい ます。
AREA_GROUP “AG_PRregionA” RANGE = SLICE_X2Y0:SLICE_X43Y157;
AREA_GROUP “AG_PRregionA” RANGE = RAMB16_X0Y0:RAMB16_X3Y18;
PlanAhead ソ フ ト ウ ェ アでは、 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのサ イ ズが概算 さ れ、 使用 さ れ
る リ ソ ース が表示 さ れ る ので、 ブ ロ ッ ク RAM ま たは I/O に必要な AREA_GROUP RANGE を決定す
る 際に便利です。
30
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
制約
た だ し 、 リ コ ン フ ィ ギ ャ ラ ブル パー テ ィ シ ョ ン の形や配置に関す る 推奨案は表示 さ れ ま せん。
AREA_GROUP RANGE は、各 リ ソ ース タ イ プの最大の リ コ ン フ ィ ギ ャ ラ ブル モジ ュールを配置す る
のに十分な大 き さ であ る必要があ り ます。使用する ス ラ イ ス数が最 も 多い リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ール と 、 使用す る BRAM 数が最 も 多い リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは異な る 可能性があ
り ます。 ま た、 AREA_GROUP RANGE は、 デザ イ ンが タ イ ミ ン グ を満たす こ と がで き る よ う な形お
よ び配置にす る 必要 も あ り ます。
パーテ ィ シ ョ ン ピ ン
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン には、 ス タ テ ィ ッ ク ロ ジ ッ ク と リ コ ン フ ィ ギ ャ ラ ブル ロ
ジ ッ ク 間のポー ト の境界に 「パーテ ィ シ ョ ン ピ ン」 と い う コ ン ポーネ ン ト が含まれます。 パーテ ィ
シ ョ ン ピ ンは、 ス タ テ ィ ッ ク ロ ジ ッ ク と 各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン間の異な る リ コ
ン フ ィ ギ ャ ラ ブル モジ ュ ールの回路接続を同 じ にす る ために必要です。 ま た、 パーテ ィ シ ョ ン ピ
ンは リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの境界を始点、 終点、 通過点 と す る ネ ッ ト に タ イ ミ ン グ
制約を作成す る 際に便利な コ ン ポーネ ン ト です。
パーテ ィ シ ョ ン ピ ンは イ ンプ リ メ ン テーシ ョ ン ソ フ ト ウ ェ アで自動的に挿入 さ れます。第 7 章 「デ
ザ イ ンの注意事項」 で説明 さ れ る制御配線を除 き、 特別な イ ン ス タ ン シエーシ ョ ンや考慮は必要あ
り ません。
注記 : パーテ ィ シ ョ ン ピ ンは、 リ コ ン フ ィ ギ ャ ラ ブル領域への入力ま たは出力接続にす る こ と がで
き ます。 パーテ ィ シ ョ ン ピ ンは、 双方向にはで き ません。
パーテ ィ シ ョ ン ピ ンの タ イ ミ ン グ制約の フ ォ ーマ ッ ト は、 32 ページの図 3-4 に示すパ ス構造のい
ずれかにな り ます。 黄色の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのボ ッ ク ス は論理範囲を表 し てお り 、
物理範囲ま たはフ ロ アプ ラ ン と はかぎ り ません。
パス
パス
パス
パス
パス
A)
B)
C)
D)
X、
パーテ ィ シ ョ ン ピ ンへの ス タ テ ィ ッ ク ネ ッ ト 入力
パーテ ィ シ ョ ン ピ ンの リ コ ン フ ィ ギ ャ ラ ブル ネ ッ ト 出力
パーテ ィ シ ョ ン ピ ンへの リ コ ン フ ィ ギ ャ ラ ブル ネ ッ ト 入力
パーテ ィ シ ョ ン ピ ンの ス タ テ ィ ッ ク ネ ッ ト 出力
Y、 Z) パ ス にパーテ ィ シ ョ ン ピ ン を含む register-to-register パ ス
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
31
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
X-Ref Target - Figure 3-4
Top (static)
RP_A
RM_A1
A
B
1
C
2
D
RP_B
RM_B1
X
6
7
Z
8
Y
9
X12027
図 3-4 : リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに入出力 さ れる タ イ ミ ング パス
タ イ ミ ン グ制約を作成す る 前に、 PIN-TPSYNC 制約を使用 し てネ ッ ト を リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールへの入力 と リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールか ら の出力にグループ分けす る 必要があ り
ます。
ピ ン名の構文は、 <Partition_name>.<port_name> です。 次の コ ー ド はその具体例です。
PIN “RP_A.1” TPSYNC = group_RP_A_input;
PIN “RP_A.2” TPSYNC = group_RP_A_output;
32
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
制約
パーテ ィ シ ョ ン ピ ン に TPSYNC 制約を使用す る と 、 こ れ ら のパ ス に PERIOD 制約を使用す る よ り
も 包括的に制約を適用で き ます。 TPSYNC を使用する と 、 ス タ テ ィ ッ ク 領域か ら パーテ ィ シ ョ ン ピ
ン ま での遅延が最小にな る よ う に初期配置を実行で き ます。 こ れに よ り 、 リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールへの タ イ ミ ン グ バジ ェ ッ ト が多 く な る ので、イ ンプ リ メ ン テーシ ョ ン ツールで リ コ ン フ ィ
ギ ャ ラ ブル モジ ュ ールの タ イ ミ ン グ要件が満た し やす く な り ます。
PIN-TPSYNC グループ制約では、 標準の UCF の ワ イ ル ド カー ド 表記規則がサポー ト さ れます。 た
と えば、 RP_A へのデー タ バ ス入力があ る と す る と 、 次の よ う に こ の制約を使用 し た前述の例の入
力グループに追加で き ます。
PIN “RP_A.data*” TPSYNC = group_RP_A_input;
パー テ ィ シ ョ ン ピ ン RP_A.1 へ の ス タ テ ィ ッ ク ネ ッ ト すべ て、 お よ び パ ー テ ィ シ ョ ン ピ ン
RP_A.1 か ら の リ コ ン フ ィ ギ ャ ラ ブル ネ ッ ト すべて (上記のパ ス A と B) に対 し て タ イ ミ ン グ制約
を作成す る には、 次を使用 し ます。
TIMESPEC TS_from_static_to_PP_input = TO “group_RP_A_input” 4.5 ns;
TIMESPEC TS_from_PP_input_to_RM = FROM “group_RP_A_input” 4.5 ns;
パーテ ィ シ ョ ン ピ ン RP_A.2 への リ コ ン フ ィ ギ ャ ラ ブル ネ ッ ト すべて、 お よ びパーテ ィ シ ョ ン ピ
ン RP_A.2 か ら の ス タ テ ィ ッ ク ル ネ ッ ト すべて (上記のパス C と D) に対 し て タ イ ミ ン グ制約を作
成す る には、 次を使用 し ます。
TIMESPEC TS_from_RM_to_PP_output = TO “group_RP_A_output” 4.5 ns;
TIMESPEC TS_from_PP_output_to_static = FROM “group_RP_A_output” 4.5 ns;
こ れ ら の制約が非同期パ ス に適用 さ れ る こ と も あ る ので、 リ コ ン フ ィ ギ ャ ラ ブル パ スへのパ ス と リ
コ ン フ ィ ギ ャ ラ ブル パ ス か ら のパ スすべて を同期 し てお く こ と をお勧め し ます。
最初の イ ンプ リ メ ン テーシ ョ ンでは、 タ イ ミ ン グの点では リ コ ン フ ィ ギ ャ ラ ブル モジ ュールの 1 つ
のみが考慮 さ れます。 ツールで生成 さ れ る タ イ ミ ン グ バジ ェ ッ ト では、 その他すべての リ コ ン フ ィ
ギ ャ ラ ブル モジ ュールに対し て タ イ ミ ン グ マージ ンが十分でな く 、 後で イ ンプ リ メ ン ト し た と き に
タ イ ミ ン グが満た さ れない可能性があ り ます。 TPSYNC オプシ ョ ン を使用す る と 、 デザ イ ン の ス タ
テ ィ ッ ク 部分を各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュール と は別に制約で き る ので、 ス タ テ ィ ッ ク 領域 と
各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュールに タ イ ミ ン グ バジ ェ ッ ト が適切に分配 さ れ る よ う にな り ます。
TPSYNC の詳細は、 付録 A 「既知の問題 と 制限」 を参照 し て く だ さ い。
標準の PERIOD タ イ ミ ン グ制約は、パーテ ィ シ ョ ン ピ ン を含む register-to-register パ ス に使用 さ れ
ます。 前述のネ ッ ト X、 Y、 Z には、 次の よ う に制約が設定 さ れます。
NET clk TNM_NET = clk_group;
TIMESPEC TS_clk_period = PERIOD clk_group 10 ns;
こ の制約を使用す る と 、 register-to-register パ ス にパーテ ィ シ ョ ン ピ ンの遅延が含 ま れ、 タ イ ミ ン
グ制約が満た さ れます。 ネ ッ ト 遅延の ど の部分がネ ッ ト の ス タ テ ィ ッ ク 部分お よ び リ コ ン フ ィ ギ ャ
ラ ブ ル部分 に 分配 さ れ る か は指定 さ れ ま せ ん。 こ の た め、 PERIOD 制約 を FROM、 TO、 お よ び
FROM:TO 制約 と 組み合わせて使用 し 、 パ ス全体のバジ ェ ッ ト を正確に分配す る必要があ り ます。
パーテ ィ シ ョ ンに直接入力パ ッ ド を接続 し た り 、 パーテ ィ シ ョ ンか ら 出力パ ッ ド に出力を直接接続
す る と 、 最適な タ イ ミ ン グ パフ ォ ーマ ン ス が得 ら れない可能性があ り ます。 パーテ ィ シ ョ ン ピ ン
は、 組み合わせ ロ ジ ッ ク と パ ス遅延で構成 さ れてい ます。 パーテ ィ シ ョ ン ピ ン を使用する と 、 IOB
パ ッ キ ン グが実行 さ れないので、パ ッ キ ン グが必要な場合に入力お よ び出力で タ イ ミ ン グ エ ラ ーが
発生す る こ と があ り ます。
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の境界を通過す る グ ロ ーバル ク ロ ッ ク を除 く すべての信号
が レ ジ ス タ を介す る よ う に し 、 タ イ ミ ン グ制約を簡略化 し て、 タ イ ミ ン グ制約が満た さ れ る可能性
が向上 さ れ る よ う に し ま す。 ただ し 、 パ ッ ド が リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の同期 コ ン
ポーネ ン ト に直接接続 さ れてい る場合は、 OFFSET 制約を使用 し てパ ス を正 し く 制約 し ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
33
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
入力パ ッ ド に よ り パーテ ィ シ ョ ン内の同期 コ ン ポーネ ン ト が駆動 さ れ る 場合は、 OFFSET IN 制約
を入力に適用で き ます。 こ れに よ り 、 パーテ ィ シ ョ ン ピ ンの遅延が考慮 さ れ る よ う にな り ます。 グ
ロ ーバル OFFSET IN は次の よ う に適用で き ます。
OFFSET = IN 3 ns VALID 8 ns BEFORE “clk”;
同期 コ ン ポーネ ン ト がパーテ ィ シ ョ ン出力を駆動 し 、 パーテ ィ シ ョ ン出力が出力パ ッ ド を駆動す る
場合は、 OFFSET OUT 制約を出力に適用で き ます。 こ れに よ り 、 パーテ ィ シ ョ ン ピ ンの遅延が考
慮 さ れ る よ う にな り ます。 グ ロ ーバル OFFSET OUT は次の よ う に適用で き ます。
OFFSET = OUT 5 ns AFTER “clk”;
オプシ ョ ンで、 パーテ ィ シ ョ ン ピ ン を リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの area_group 範囲
内のサ イ ト に物理的に固定す る こ と も で き ます。 こ れ ら はパーテ ィ シ ョ ン リ コ ン フ ィ ギ ュ レーシ ョ
ン ソ フ ト ウ ェ アで自動的に配置 さ れ る ので、 必ず し も 固定する 必要はあ り ませんが、 固定 し てお く
と 、 イ ンプ リ メ ン テーシ ョ ン結果を さ ら に詳細に制御す る こ と がで き ます。 こ の方法は、 最終手段
と し て、 タ イ ミ ン グ制約を使用 し た自動配置を実行 し た後にのみ実行 し て く だ さ い。 次の UCF コ
マ ン ド は、 パーテ ィ シ ョ ン ピ ン をサ イ ト に物理的に固定 し ます。
PIN “RP_A.1” LOC = SLICE_X4Y4;
ICAP 用の タ イ ミ ング制約
FPGA のパーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン の コ ン フ ィ ギ ュ レ ーシ ョ ン ポー ト と し て ICAP
(Internal Configuration Access Port) を使用す る場合、 タ イ ミ ン グ制約を使用する と 、 こ の イ ン タ ー
フ ェ イ ス で達成可能なパフ ォーマ ン ス を理解 し やす く な り ます。
7 シ リ ーズおよび Virtex-6 の ICAP の タ イ ミ ング制約
7 シ リ ーズお よ び Virtex-6 FPGA では、 ICAP が TRACE で同期 コ ン ポーネ ン ト と し て記述 さ れて
い ます。 こ れは、 PERIOD、 FROM:TO、 お よ びすべてのグループ ベース の制約が ICAP サ イ ト への
パ ス と ICAP サ イ ト か ら のパ ス に正 し く 適用 さ れ る こ と を意味 し ます。 ICAP コ ン ポーネ ン ト が該
当す る タ イ ミ ン グ グループに追加 さ れていれば、 その他に制約は必要あ り ません。
Virtex-5 および Virtex-4 の ICAP の タ イ ミ ング制約
Virtex-5 お よ び Virtex-4 FPGA の場合、 PERIOD 制約は ICAP へのパ ス と ICAP か ら のパ ス に適用
さ れ ません。 ICAP 入力お よ び出力は TRACE で同期 と は認識 さ れ ません。 BUSY、 CE、 WRITE
信号 も 同様です。 こ のため、 ICAP への入力 と ICAP か ら の出力には、 例外制約の NET MAXDELAY
を設定す る 必要があ り ます。
NET MAXDELAY 制約を使用 し た場合、 構文は次の よ う にな り ます。
NET
NET
NET
NET
NET
“to_icap<*>” MAXDELAY = 15 ns;
“from_icap<*>” MAXDELAY = 15 ns;
“busy_from_icap” MAXDELAY = 15 ns;
“write_to_icap” MAXDELAY = 15 ns;
“ce_to_icap” MAXDELAY = 15 ns;
こ の例では、 to_icap お よ び from_icap ネ ッ ト ワー ク は任意の幅のバス です。 ア ス タ リ ス ク は、
バ ス 全体 (0、 1、 2...) を表 し てい ます。 NET MAXDELAY 制約は、 ネ ッ ト 遅延のみに適用 さ れ ます。
セ ッ ト ア ッ プ タ イ ムや clock-to-out タ イ ムは考慮 さ れません。
ICAP コ ン ポーネ ン ト は同期エ レ メ ン ト ではないので、 タ イ ム グループには追加で き ません。 こ の
ため、 TPSYNC 制約を使用 し て ICAP を同期 コ ン ポーネ ン ト にす る こ と はで き ません。 ICAP は特
殊な コ ン ポーネ ン ト なので、デザ イ ンで使用す る際には タ イ ミ ン グ を特に考慮す る必要があ り ます。
34
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
制約
パーテ ィ シ ョ ン ピ ン情報の抽出
パーテ ィ シ ョ ン ピ ンは イ ン プ リ メ ン テーシ ョ ン ツールで追加 さ れ る ので、 論理 ソ ース デザ イ ンに
は存在 し ません。 パーテ ィ シ ョ ン ピ ンは予測可能な形式で命名 さ れますが、 正 し い名前が確実に使
われてい る か ど う か を確認す る には、 デザ イ ン を イ ンプ リ メ ン テーシ ョ ンす る必要があ り ます。 こ
の後、 pr2ucf ユーテ ィ リ テ ィ を使用する と 、 イ ンプ リ メ ン ト 済みデザ イ ンか ら パーテ ィ シ ョ ン ピ
ン の配置を抽出で き ま す。 こ のユーテ ィ リ テ ィ は、 Configuration デ ィ レ ク ト リ 内の配置配線済み
NCD フ ァ イ ルに対 し て実行 し ます。
pr2ucf design_routed.ncd –o partition_pins.ucf
PIN ロ ケーシ ョ ン制約は、 partition_pins.ucf フ ァ イ ルか ら design.ucf フ ァ イ ルへ コ ピー
す る と デザ イ ンの UCF フ ァ イ ルにバ ッ ク ア ノ テー ト で き ますが、 こ れは 1 つの コ ン フ ィ ギ ュ レー
シ ョ ンか ら 次の コ ン フ ィ ギ ュ レーシ ョ ンへ配置を保持す る ためには必要あ り ません。
パーテ ィ シ ョ ン ピ ンは、 リ コ ン フ ィ ギ ャ ラ ブル領域内に物理的に配置 さ れていて も 、 論理的には ス
タ テ ィ ッ ク ロ ジ ッ ク の一部なので、 パーテ ィ シ ョ ン ピ ンに設定す る制約は最上位 UCF に含め る 必
要があ り ます。 パーテ ィ シ ョ ン ピ ン の配置を FPGA Editor で表示す る と 、 ほかの ロ ジ ッ ク と の関
連を確認で き ます。
Constraints Editor
少な く と も 1 つの コ ン フ ィ ギ ュ レーシ ョ ン に対 し て最初の イ ン プ リ メ ン テーシ ョ ン を実行 し た後、
Constraints Editor を使用し てパーテ ィ シ ョ ン ピ ン グループおよびタ イ ミ ン グ制約を作成で き ます。
デザ イ ン フ ァ イ ルを指定す る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れた ら 、 最新の コ ン フ ィ ギ ュ レーシ ョ
ンの NGD フ ァ イ ルを選択 し ます。 ただ し 、 UCF は新 し い フ ァ イ ル (Constraints Editor を開 く 前に
作成 さ れた フ ァ イ ル) にす る 必要が あ り ま す。 既に PlanAhead ソ フ ト ウ ェ ア に イ ン ポー ト 済みの
UCF フ ァ イ ル名や現在コ ン フ ィ ギ ュ レーシ ョ ンに含まれてい る フ ァ イ ル名にはで き ません。
Constraints Editor の [Constraint Type] リ ス ト に [Group Constraints] が あ り ま す。 [By
Combinatorial Pins] を ダブル ク リ ッ ク し 、 パーテ ィ シ ョ ン ピ ン に基づいて 制約を作成 し ます。 開
いたダ イ ア ロ グ ボ ッ ク ス の [Design element type] フ ィ ール ド で [Partition Pins] を選択す る と 、 デ
ザ イ ン内のパーテ ィ シ ョ ン ピ ン イ ン ス タ ン ス を簡単に見つけ る こ と がで き ます。 こ こ で作成 し た
グ ルー プ を 使用 し て、 タ イ ミ ン グ 仕様 を 定義 し て く だ さ い。 図 3-5 は、 [Group Constraints by
Combinatorial Pins] ダ イ ア ロ グ ボ ッ ク ス を示 し てい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
35
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
X-Ref Target - Figure 3-5
図 3-5 : Constraints Editor でのパーテ ィ シ ョ ン ピ ン グループの作成
Constraints Editor で生成 し た新 し い制約は、 PlanAhead ソ フ ト ウ ェ アに イ ン ポー ト し て、 デザ イ ン
に反映 さ せ る 必要があ り ます。 [File] → [Add Sources] を ク リ ッ ク し 、 [Add or Create Constraints]
をオンに し て、 Constraints Editor でア ッ プデー ト し た UCF を指定 し て制約を イ ン ポー ト し ます。
PlanAhead の リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール制約
PlanAhead には、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン を効率的に管理す る 機能が組み
込 ま れてい ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン に制約を設定す る のは複雑なの
で、 PlanAhead を使用 し て こ れ ら の制約を管理す る には計画が必要です。
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール制約を PlanAhead のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ
イ ンに含め る には、 主に 3 つの方法があ り ます。
•
36
最上位 UCF : 制約は PlanAhead プ ロ ジ ェ ク ト 作成前に存在 し 、 1 つま たは複数の最上位 UCF
フ ァ イ ルに含め ます。 こ れ ら の制約は、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ロ ジ ッ ク への完全
な階層パス を含み、指定 し た イ ン ス タ ン ス を含むすべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに
適用 さ れます。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ロ ジ ッ ク に関連する 制約は、 最上位 UCF か
ら 抽出 さ れ、 PlanAhead で生成 さ れたパーテ ィ シ ョ ン UCF に追加 さ れ ます。 こ の方法は、 リ
コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ロ ジ ッ ク に制約を付け る 際には推奨 さ れません。
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
パーテ ィ シ ョ ン と イ ンポー ト
•
リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの UCF : 制約は PlanAhead プ ロ ジ ェ ク ト 作成前に存在 し 、
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール レベルの UCF フ ァ イ ルに含め ます。 こ れ ら の制約の階層は
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール階層に特定の も のです (最上位か ら の完全な階層パ ス ではな
い)。 複数の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに同 じ 制約が必要な場合は、 その制約を各 リ コ
ン フ ィ ギ ャ ラ ブル モジ ュ ール UCF に複製す る必要があ り ます。 こ の方法は、 リ コ ン フ ィ ギ ャ
ラ ブル モジ ュ ール特定の制約を追加す る際に推奨 さ れ る方法です。
•
GUI 手法 : 制約は、 PlanAhead プ ロ ジ ェ ク ト を作成 し た後に PlanAhead の GUI ま たは Tcl コ
マ ン ド を使用 し て作成 し ます。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール特定の制約は、 制約の作成時
にア ク テ ィ ブな リ コ ン フ ィ ギ ャ ラ ブル モジ ュールにのみ適用 さ れ、PlanAhead で生成 さ れた リ
コ ン フ ィ ギ ャ ラ ブル モジ ュ ール UCF に追加 さ れ ま す (最上位の タ ーゲ ッ ト UCF には含 ま れ
ない)。 その代わ り 、 こ れ ら の制約をユーザー定義の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール UCF に
手動で追加 し 、 [Update Reconfigurable Module] コ マ ン ド を使用 し て リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールを ア ッ プデー ト す る こ と をお勧め し ます。
PlanAhead の UCF に関する規則
PlanAhead フ ロ ーを使用す る 場合は、 UCF 制約に関す る 規則に従 う 必要があ り ま す。 こ れ ら の規
則は、制約管理シ ス テ ムが今後の PlanAhead リ リ ース で修正 さ れ る と 変更 さ れ る 可能性 も あ り ます
が、 ISE® 13.4 ソ フ ト ウ ェ アの場合は、 次の規則に従っ て く だ さ い。
•
PlanAhead プ ロ ジ ェ ク ト 用に UCF を指定する 際は、 [Copy into Project] オプシ ョ ン を使用 し
ま す。 こ の オ プ シ ョ ン を 使用す る と 、 PlanAhead に読み込 ま れ る リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ール制約が自動的に処理 さ れます。 こ れに よ り 、 PlanAhead での変更が ロ ーカル コ ピーの
UCF にのみ反映 さ れ る よ う にな り ます。
•
すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール制約を リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール用の UCF
フ ァ イ ルに含め ます。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール制約を最上位 UCF に含めた り 、 GUI
を使用 し て リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの UCF を作成す る と 、 動作が不正にな る こ と が
あ り ます。
PlanAhead UCF の既知の問題
•
最上位 UCF に リ コ ン フ ィ ギ ャ ラ ブル モジ ュール用の制約が含まれ る場合、 こ れ ら の制約はそ
の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールが該当す る リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に対 し
て定義 さ れ る ま で読み込まれません。 こ の場合、 [Netlist Design] ビ ュ ーをいっ たん閉 じ 、 リ コ
ン フ ィ ギ ャ ラ ブル モジ ュ ールのネ ッ ト リ ス ト を追加 し てか ら 、 開き 直 し て く だ さ い。 こ れは既
知の問題で、 今後の リ リ ース で修正 さ れ る予定ですが、 上記の方法で回避で き ます。
•
[Netlist Design] ビ ュ ーは、 run を起動する 前に開 く 必要があ り ます。 こ う し ない と 、 run フ ァ
イ ルが記述 さ れ る 前に、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ロ ジ ッ ク に制約が正 し く 適用 さ れ
ない こ と があ り ます。
•
PlanAhead の GUI で制約を変更 し た場合は、 プ ロ ジ ェ ク ト を保存 し 、 run を開始す る前に
[Netlist Design] ビ ュ ーをいっ たん閉 じ てか ら 開 き 直 し て く だ さ い。
パーテ ィ シ ョ ン と イ ンポー ト
パーテ ィ シ ョ ン を使用す る と 、 ス タ テ ィ ッ ク ロ ジ ッ ク な ど の共通モジ ュ ールをすべての コ ン フ ィ
ギ ュ レーシ ョ ンで同 じ にで き ます。 パーテ ィ シ ョ ンは、 イ ン ス タ ン ス ( ま たは最上位モジ ュール) に
設定 さ れ る 属性で、ザ イ リ ン ク ス ソ フ ト ウ ェ アで ロ ジ ッ ク が こ れ ら の属性に従っ て特定の方法で イ
ンプ リ メ ン ト さ れます。 パーテ ィ シ ョ ンには、 パーテ ィ シ ョ ン ロ ジ ッ ク の イ ンプ リ メ ン ト 方法を さ
ら に詳細に指定す る RECONFIGURABLE お よ び STATE な ど の属性があ り ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
37
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
RECONFIGURABLE 属性は、 イ ン ス タ ン ス ま たはモジ ュールが最終的にパーシ ャ ル BIT フ ァ イ ルに
イ ンプ リ メ ン ト さ れ る 方法を指定 し ます。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュールには リ コ ン フ ィ ギ ャ ラ
ブル以外のモジ ュ ールには必要のない物理要件が多 く 含ま れてい る ので、 RECONFIGURABLE 属性
は イ ン プ リ メ ン テーシ ョ ン ツ ール フ ロ ー を 実行す る 前に設定す る 必要が あ り ま す。 こ れは、 モ
ジ ュ ールの最終的な イ ンプ リ メ ン テーシ ョ ンに大 き く 影響 し ます。
STATE 属性では、 モジ ュールを イ ンプ リ メ ン ト す る か、 前の イ ンプ リ メ ン テーシ ョ ン済みデザ イ ン
か ら イ ン ポー ト (保持) す る か を指定で き ます。
パーテ ィ シ ョ ン を イ ン ポー ト す る場合、 配置配線を含む イ ンプ リ メ ン テーシ ョ ンは イ ン ポー ト 元の
デザ イ ン と 同 じ にな り ます。 た と えば、 最初の コ ン フ ィ ギ ュ レーシ ョ ンで ス タ テ ィ ッ ク ロ ジ ッ ク を
イ ンプ リ メ ン ト し 、 こ の結果をエ ク ス ポー ト (プ ロ モー ト ) す る と 、 こ の後の イ ンプ リ メ ン テーシ ョ
ンでは、 こ のプ ロ モー ト さ れた コ ン フ ィ ギ ュ レーシ ョ ンか ら の ス タ テ ィ ッ ク パーテ ィ シ ョ ンが イ ン
ポー ト さ れます。 ス タ テ ィ ッ ク ロ ジ ッ ク を変更 し て再びエ ク ス ポー ト し た場合、 その後の コ ン フ ィ
ギ ュ レーシ ョ ンには こ の新 し い ス タ テ ィ ッ ク ロ ジ ッ ク を イ ン ポー ト し 、 コ ン フ ィ ギ ュ レーシ ョ ン を
イ ンプ リ メ ン ト し 直 し て、 ア ッ プデー ト す る必要があ り ます。
イ ン プ リ メ ン テーシ ョ ン ツ ールは前の結果 を 使用 し てパーテ ィ シ ョ ン情報 を イ ン ポー ト し ま す。
PlanAhead では、 プ ロ モー ト さ れた コ ン フ ィ ギ ュ レーシ ョ ン デー タ が自動的に管理 さ れます。 コ マ
ン ド ラ イ ン ユーザーの場合 も ユーザー自身が簡単に管理で き る よ う にな っ てい ます。コ ン フ ィ ギ ュ
レーシ ョ ンの繰 り 返 し が完了 し た ら 、こ れ ら の フ ァ イ ルが上書 き さ れない よ う に、単に コ ン フ ィ ギ ュ
レーシ ョ ン を安全なデ ィ レ ク ト リ に コ ピー し ます。 こ の コ ン フ ィ ギ ュ レーシ ョ ン を イ ン ポー ト し た
ら 、 xpartition.pxml フ ァ イ ルの ImportLocation を こ のデ ィ レ ク ト リ に設定 し ま す。 こ のデ ィ レ ク
ト リ の イ ン ポ ー ト フ ァ イ ル に は、 xpartition.pxml と *_prev_* フ ァ イ ル が すべ て 含 ま れ ま す。
PlanAhead プ ロ ジ ェ ク ト で は、 こ れ ら の フ ァ イ ル の 名前は そ れ ぞ れ <design>_prev_built.ngd、
<design>_prev_mapped.ncd、<design>_prev_mapped.ngm および <design>_routed_prev_routed.ncd の
よ う にな り ま す。 ま た、 各段階の レ ポー ト フ ァ イ ルはすべて維持 さ れ、 保存 さ れた コ ン フ ィ ギ ュ
レーシ ョ ン を記述す る のに使用で き ます。
PXML フ ァ イルの役割
パーテ ィ シ ョ ン情報は、 イ ン プ リ メ ン テーシ ョ ン デ ィ レ ク ト リ の xpartition.pxml フ ァ イ ルに
格納 さ れます。各 コ ン フ ィ ギ ュ レーシ ョ ンには、それぞれのデザ イ ン デ ィ レ ク ト リ に独自の PXML
フ ァ イ ルがあ り ます。
xpartition.pxml フ ァ イ ルには、 次の特徴があ り ます。
•
XML 形式のテ キ ス ト フ ァ イ ルです。
•
PlanAhead ソ フ ト ウ ェ ア ま たは提供 さ れてい る gen_xp.tcl ス ク リ プ ト で自動的に生成 さ れま
す。 gen_xp.tcl の詳細は、 第 5 章 「 コ マ ン ド ラ イ ン ス ク リ プ ト 」 を参照 し て く だ さ い。
•
ユーザーが作成ま たは変更で き ます。
•
MAP や PAR な ど の イ ンプ リ メ ン テーシ ョ ン ツールの入力にな り ます。
•
リ ビ ジ ョ ン管理の必要に応 じ て ソ ース と し て扱 う こ と がで き ます。
NGDBuild、 MAP、 お よ び PAR な ど のザ イ リ ン ク ス ソ フ ト ウ ェ ア では、 自動的に イ ン プ リ メ ン
テーシ ョ ン デ ィ レ ク ト リ か ら xpartition.pxml が検索 さ れ使用 さ れ ます。 パーテ ィ シ ョ ン情報
を含む XML フ ァ イ ルには、xpartition.pxml と い う 名前を付け、 イ ンプ リ メ ン テーシ ョ ン デ ィ
レ ク ト リ に含めない と 、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンが認識 さ れません。
xpartition.pxml フ ァ イ ル を 変更 し た 場合は、 フ ロ ー の一部 を 実行 し 直す必要 が あ り ま す。
STATE 属性を変更 し た場合は、 MAP ま たは PAR のいずれか を実行 し 直 し ます。 MAP と PAR の
両方を実行 し 直す と 、配置配線で xpartition.pxml フ ァ イ ルか ら の STATE 属性が使用 さ れます。
38
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
パーテ ィ シ ョ ン と イ ンポー ト
PAR のみを実行 し 直 し た場合、 配置では前の run か ら の STATE 属性が保持 さ れ、 配線でのみ現在
の xpartition.pxml フ ァ イ ル の STATE 属性 が 使用 さ れ ま す。 ImportLocation ま た は
Reconfigurable 属性を変更 し た場合は、 NGDBuild、 MAP、 お よ び PAR のすべて を実行 し 直す
必要があ り ます。
注記 : PXML フ ァ イ ルのパーテ ィ シ ョ ンに適用 さ れ る BoundaryOpt 属性は、 パーシ ャ ル リ コ ン
フ ィ ギ ュ レーシ ョ ン フ ロ ーでは使用で き ません。
次のセ ク シ ョ ン では、 1 つ目か ら 3 つ目ま での コ ン フ ィ ギ ュ レーシ ョ ン PXML フ ァ イ ルを示 し て
い ます。
1 つ目の コ ン フ ィ ギ ュ レーシ ョ ン PXML フ ァ イル
最初の コ ン フ ィ ギ ュ レーシ ョ ン PXML フ ァ イ ルは、 次の よ う にな り ます。
First Configuration's xpartition.pxml file:
<Project FileVersion=”1.2” Name=”FFF” ProjectVersion=”2.0”>
<Partition Name=”/top” State=”implement”
ImportLocation=”NONE” >
<Partition Name=”/top/red” State=”implement”
ImportLocation=”NONE” Reconfigurable=”true”
ReconfigModuleName=”red_fast”>
<Partition Name=”/top/blue” State=”implement”
ImportLocation=”NONE" Reconfigurable="true"
ReconfigModuleName="blue_fast">
<Partition Name="/top/green" State="implement"
ImportLocation="NONE" Reconfigurable="true"
ReconfigModuleName="green_fast">
</Partition>
</Partition>
</Project>
2 つ目の コ ン フ ィ ギ ュ レーシ ョ ン PXML フ ァ イル
ス タ テ ィ ッ ク ロ ジ ッ ク を イ ンポー ト する 2 つ目の コ ン フ ィ ギ ュ レーシ ョ ンは、次の よ う にな り ます。
Second Configuration's xpartition.pxml file:
<Project FileVersion=”1.2” Name=”SSS” ProjectVersion=”2.0”>
<Partition Name=”/top” State=”import”
ImportLocation=”../XFFF" >
<Partition Name="/top/red"
State="implement" ImportLocation="NONE" Reconfigurable="true"
ReconfigModuleName="red_slow" >
<Partition Name="/top/blue"
State="implement" ImportLocation="NONE" Reconfigurable="true"
ReconfigModuleName="blue_slow" >
<Partition Name="/top/green"
State="implement" ImportLocation="NONE" Reconfigurable="true"
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
39
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
ReconfigModuleName="green_slow" >
</Partition>
</Partition>
</Project>
3 つ目の コ ン フ ィ ギ ュ レーシ ョ ン PXML フ ァ イル
ス タ テ ィ ッ ク ロ ジ ッ ク と 3 つの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールすべて を イ ン ポー ト す る 3 つ目
の コ ン フ ィ ギ ュ レーシ ョ ンは、 次の よ う にな り ます。
Third Configuration's xpartition.pxml file:
<Project FileVersion="1.2“ Name=”FSF" ProjectVersion="2.0">
<Partition Name="/top" State="import"
ImportLocation="../XFFF" >
<Partition Name="/top/red" State="import"
ImportLocation="../XFFF" Reconfigurable="true"
ReconfigModuleName="red_fast" >
<Partition Name="/top/blue" State="import"
ImportLocation="../XSSS" Reconfigurable="true"
ReconfigModuleName="blue_slow" >
<Partition Name="/top/green" State="import"
ImportLocation="../XFFF" Reconfigurable="true"
ReconfigModuleName="green_fast" >
</Partition>
</Partition>
</Project>
ス タ テ ィ ッ ク ロ ジ ッ ク と Red お よ び Green モジ ュ ールは 1 つ目の コ ン フ ィ ギ ュ レーシ ョ ンか ら イ
ン ポー ト さ れ、 Blue モジ ュ ールは 2 つ目の コ ン フ ィ ギ ュ レーシ ョ ンか ら イ ン ポー ト さ れます。
イ ン プ リ メ ン テーシ ョ ン
FPGA デザ イ ン を イ ンプ リ メ ン ト す る には、 NGDBuild、 MAP、 お よ び PAR をパーシ ャ ル リ コ ン
フ ィ ギ ュ レ ーシ ョ ン デザ イ ン以外のデザ イ ン と 同 じ よ う に実行す る 必要が あ り ま す。 ほ と ん ど の
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン特有の情報は、 xpartition.pxml フ ァ イ ル と UCF フ ァ イ
ルに含ま れます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン特有の コ マ ン ド ラ イ ン オプシ ョ ンはあ り
ま せん。 次に、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン を イ ン プ リ メ ン ト す る コ マ ン ド 例
を示 し ます。
ngdbuild -sd ../red_fast -sd ../blue_fast –sd ../green_fast -uc
../UCF/design.ucf ../Static/top.edf FFF.ngd
map -w -o FFF_map.ncd FFF.ngd FFF.pcf
par -w FFF_map.ncd FFF.ncd FFF.pcf
すべての イ ン プ リ メ ン テーシ ョ ン オプシ ョ ン がパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン に使用で き
る わけではあ り ません。 使用で き ないオプシ ョ ンは次の と お り です。
40
•
MAP コ マ ン ド の -global_opt オプシ ョ ン と それに関す る 子 コ マ ン ド
•
MAP コ マ ン ド の -power オプシ ョ ンの high お よ び xe 値
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
イ ン プ リ メ ン テーシ ョ ン
•
BoundaryOpt 制約 (PXML フ ァ イ ルでパーテ ィ シ ョ ンに適用 さ れ る )
•
SmartGuide™
配置配線問題のデバ ッ グ
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン デザ イ ン が配置 さ れれ る と 、 次の よ う にな り ま す (図 3-6
参照)。
•
ス タ テ ィ ッ ク 配線は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を通 し て配線で き ます。
•
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内の配線は、 その リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに
関連す る エ リ ア グループの外部には配線で き ません。
•
イ ン ポー ト さ れた配線が イ ンプ リ メ ン ト さ れた配線 よ り 優先 さ れます。
X-Ref Target - Figure 3-6
図 3-6 : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの配線制限
そのため、 配置配線問題をデバ ッ グす る際は次の点を考慮す る必要があ り ます。
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのエ リ ア グループは、 フ ラ ッ ト なデザ イ ンの同 じ エ リ
ア グループ よ り も 大 き く す る必要があ り ます。
•
配置ツールでは こ れ ら の配線制限が考慮 さ れ る ので、 使用で き ない配線 リ ソ ース があ る と 配置
エ ラ ーが発生す る こ と があ り ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
41
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
配置でエ ラ ーが発生 し た場合は、xpartition.pxml フ ァ イ ルで reconfigurable=”true” を削
除 し て、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン 以外 を テ ス ト し てみ ま す。 こ の修正 を 加え る 前、
フ ァ イ ルは次の よ う にな っ てい ます。
修正を加え る と 、 フ ァ イ ルは次の よ う にな り ます。
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン以外の部分には同 じ 配線制限がないので、 リ コ ン フ ィ ギ ャ ラ
ブル パーテ ィ シ ョ ンが こ の変更で問題な く 配置配線 さ れた場合、エ リ ア グループ を その リ コ ン フ ィ
ギ ャ ラ ブル パーテ ィ シ ョ ン を配置配線す る のに十分な大 き さ にす る必要があ り ます。
こ の変更後は、 NGDBuild、 MAP、 お よ び PAR を実行 し 直 し て く だ さ い。
BIT フ ァ イルの生成
NCD フ ァ イ ルで bitgen コ マ ン ド を実行す る と 、 フル BIT フ ァ イ ル と パーシ ャ ル BIT フ ァ イ ルの
両方が生成 さ れます。パーシ ャ ル BIT フ ァ イ ルを生成す る のに特別なオプシ ョ ンは必要あ り ません
が、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン機能専用のオプシ ョ ンについては、 こ のセ ク シ ョ ンの後
半に リ ス ト し てい ます。
bitgen -w FFF.ncd
デザ イ ン に リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン が含 ま れ る 場合、 それぞれに対 し てパーシ ャ ル
BIT フ ァ イ ルが自動的に生成 さ れます。 フル BIT フ ァ イ ルには、 コ ン フ ィ ギ ュ レーシ ョ ン で使用 さ
れたパーシ ャ ル モジ ュ ールが含まれます。
た と えば、サンプル デザ イ ンの 1 つ目の コ ン フ ィ ギ ュ レーシ ョ ンでは次のフ ァ イ ルが生成 さ れます。
fff.bit
( ス タ テ ィ ッ ク ロ ジ ッ ク お よ び red_fast、 blue_fast、 green_fast モジ ュ ール)
fff_reconfig_red_red_fast_partial.bit
( リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン red に定義 し た範囲にあ る ロ ジ ッ ク のみ)
fff_reconfig_blue_blue_fast_partial.bit
( リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン blue に定義 し た範囲にあ る ロ ジ ッ ク のみ)
fff_reconfig_green_green_fast_partial.bit
42
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
レ ポー ト フ ァ イル
( リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン green に定義 し た範囲にあ る ロ ジ ッ ク のみ)
次の BitGen オプシ ョ ン をパーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン デザ イ ン の該当箇所に設定す る
必要があ り ます。
•
–g ActiveReconfig:Yes
通常パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンで使用 さ れ、FPGA がシ ャ ッ ト ダ ウ ン さ れない よ う
に し ます (GHIGH と GSR がアサー ト さ れない よ う にす る )。
•
-g Binary:Yes
コ ン フ ィ ギ ュ レーシ ョ ン デー タ のみを含むバ イ ナ リ コ ン フ ィ ギ ュ レーシ ョ ン (BIT フ ァ イ ル
か ら ヘ ッ ダー情報を削除 し た も の と 同 じ ) を生成 し ます。 BIT フ ァ イ ルには さ ま ざ ま な長 さ の
ヘ ッ ダー情報が含まれ る ので ( ワー ド 境界にあ る と はかぎ ら ない)、 カ ス タ ム コ ン フ ィ ギ ュ レー
シ ョ ン イ ン タ ーフ ェ イ ス では BIN フ ァ イ ルを使用す る 方が適切です。
•
-g ConfigFallback:Disable
パーシ ャ ル ビ ッ ト ス ト リ ームで コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ー (CRC エ ラ ー ) は発生 し た場
合に、 フル デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ンが ト リ ガー さ れない よ う に し ます。 こ のオプシ ョ
ンは、 Virtex-5 お よ びそれ以降のアーキ テ ク チ ャ で使用 し て く だ さ い。
•
–g CRC:enable
こ れがデフ ォ ル ト です。 CRC をデ ィ ス エーブルにす る のはお勧め し ません。
•
-g Persist:Yes
多目的 コ ン フ ィ ギ ュ レーシ ョ ン ピ ンがユーザー I/O と し て使用 さ れない よ う に し ます。 こ れ
は、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンに ス レーブ SelectMAP ま たは ス レーブ シ リ アル
モー ド を使用す る 場合に設定す る必要があ り ます。こ のオプシ ョ ンは CONFIG_MODE 制約 と
共に使用 し て、適切な コ ン フ ィ ギ ュ レーシ ョ ン ピ ンのセ ッ ト が コ ン フ ィ ギ ュ レーシ ョ ン後に使
用 さ れ る よ う 予約で き ます。 CONFIG_MODE の値 (S_SELECTMAP、 S_SERIAL な ど ) につ
いては、 『制約ガ イ ド 』 (UG625) を参照 し て く だ さ い。
パーテ ィ シ ョ ン ベー ス のパーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン フ ロ ーでは BitGen の -r オプ
シ ョ ン を使用 し ないで く だ さ い。 -r オプシ ョ ン では相違ベー ス の フ ロ ーがサポー ト さ れ、 配線済
みデザ イ ン に小 さ な変更を加え た場合、 パーシ ャ ル BIT フ ァ イ ルを生成す る 際にその変更点が比
較 さ れ ます。
こ れ ら も 含めた BitGen オプシ ョ ンの詳細は、 『 コ マ ン ド ラ イ ン ツール ユーザー ガ イ ド 』 (UG628)
の 「BitGen」 の章を参照 し て く だ さ い。
レ ポー ト フ ァ イル
NGDBuild、 MAP、 PAR、 TRACE お よ び BitGen の レ ポー ト フ ァ イ ルには、 リ コ ン フ ィ ギ ャ ラ ブ
ル パーテ ィ シ ョ ンに特有の情報が含まれます。 レ ポー ト フ ァ イ ルには、 次の も のがあ り ます。
•
「NGDBuild レ ポー ト 」
•
「MAP レ ポー ト 」
•
「PAR レ ポー ト 」
•
「TRACE レ ポー ト 」
•
「BitGen レ ポー ト 」
次のサンプル レ ポー ト は、 省略 し て表示 し てい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
43
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
NGDBuild レ ポー ト
NGDBuild レ ポー ト は、 最上位ス タ テ ィ ッ ク パーテ ィ シ ョ ン も 含め、 ど のパーテ ィ シ ョ ンが イ ンプ
リ メ ン ト さ れ、ど のパーテ ィ シ ョ ンが保持 さ れたかが表示 さ れます。 こ の例では、最上位ス タ テ ィ ッ
ク パーテ ィ シ ョ ンが保持 さ れ、3 つの リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンが イ ンプ リ メ ン ト さ れ
てい ます。
Partition Implementation Status
------------------------------Preserved Partitions:
Partition "/top"
Implemented Partitions:
Partition "/top/reconfig_red" (Reconfigurable Module "red_fast"):
Attribute STATE set to IMPLEMENT.
Partition "/top/reconfig_blue" (Reconfigurable Module "blue_fast"):
Attribute STATE set to IMPLEMENT.
Partition "/top/reconfig_green" (Reconfigurable Module "green_fast"):
Attribute STATE set to IMPLEMENT.
MAP レポー ト
MAP レ ポー ト (.mrp) には、 NGDBuild レ ポー ト と 同様すべてのパーテ ィ シ ョ ンが イ ンプ リ メ ン ト
さ れた こ と が示 さ れますが、 最上位ス タ テ ィ ッ ク パーテ ィ シ ョ ンだけは表示 さ れません。
Section 9 - Area Group and Partition Summary
-------------------------------------------Partition Implementation Status
------------------------------Preserved Partitions:
Partition "/top"
Implemented Partitions:
Partition "/top/reconfig_red" (Reconfigurable Module "red_fast"):
Attribute STATE set to IMPLEMENT.
Partition "/top/reconfig_blue" (Reconfigurable Module "blue_fast"):
Attribute STATE set to IMPLEMENT.
Partition "/top/reconfig_green" (Reconfigurable Module
"green_fast"):
Attribute STATE set to IMPLEMENT.
「Partition Resource Summary」 には、 デザ イ ン の各パーテ ィ シ ョ ン で使用 さ れた リ ソ ー ス 数が レ
ポー ト さ れ ます。 ま た、 ど のエ リ ア グループが ど の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に関連
し てい る か も レ ポー ト さ れます。
44
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
レ ポー ト フ ァ イル
次の例では、 AREA GROUP pblock_reconfig_red が リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の
/top/reconfig_red と 関連 し てい る こ と がわか り ます。
Partition Resource Summary:
--------------------------Resources are reported for each Partition followed in parenthesis by resources
for the Partition plus all of its descendants.
Partition "/top":
State=implement
Slice Logic Utilization:
Number of Slice Registers:
Number of Slice LUTs:
Number used as logic:
Number used as Memory:
Slice Logic Distribution:
Number of occupied Slices:
Number of LUT Flip Flop pairs used:
Number with an unused Flip Flop:
Number with an unused LUT:
Number of fully used LUT-FF pairs:
IO Utilization:
Number of bonded IOBs:
Number of MMCM_ADV:
Number of OLOGICE1:
Number of STARTUP:
113
148
146
2
(188)
(274)
(272)
(2)
60
157
44
7
106
(105)
(288)
out of
out of
out of
26
1
17
1
Partition "/top/reconfig_blue" (Reconfigurable
State=implement
Slice Logic Utilization:
Number of Slice Registers:
25
Number of Slice LUTs:
42
Number used as logic:
42
Slice Logic Distribution:
Number of occupied Slices:
15
Number of LUT Flip Flop pairs used:
44
Number with an unused Flip Flop:
19
Number with an unused LUT:
1
Number of fully used LUT-FF pairs:
24
157
157
157
28%
4%
67%
(26)
(1)
(17)
(1)
Module "Blue_Fast") (Area Group "AG_reconfig_blue"):
(25)
(42)
(42)
(15)
(44)
out of
out of
out of
44
44
44
43%
2%
54%
次の MAP レ ポー ト のセ ク シ ョ ンには、 UCF フ ァ イ ルで定義 さ れた物理エ リ ア グループに含ま れ
る リ ソ ース の使用率が % で表示 さ れてい ます。 こ の例では、 AG_reconfig_blue エ リ ア グルー
プに ス ラ イ ス (LUT お よ び FF) の範囲が 1 つ関連付け ら れてい ます。AG_RP_green エ リ ア グルー
プにはブ ロ ッ ク RAM と ス ラ イ ス の範囲が指定 さ れてい ます。
Area Group Information
---------------------Area Group "AG_reconfig_blue"
No COMPRESSION specified for Area Group "AG_reconfig_blue"
RANGE:SLICE_X74Y0:SLICE_X83Y79
Slice Logic Utilization:
Number of Slice Registers:
25 out of 6,400
Number of Slice LUTs:
42 out of 3,200
Number used as logic:
42
Slice Logic Distribution:
Number of occupied Slices:
15 out of
800
Number of LUT Flip Flop pairs used:
44
Number with an unused Flip Flop:
19 out of
44
Number with an unused LUT:
1 out of
44
Number of fully used LUT-FF pairs:
24 out of
44
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
1%
1%
1%
43%
2%
54%
45
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
PAR レポー ト
NGDBuild レ ポー ト と MAP レ ポー ト と 同様、PAR レ ポー ト に も ど のパーテ ィ シ ョ ンが イ ンプ リ メ
ン ト さ れたかが表示 さ れます。
Partition Implementation Status
------------------------------Preserved Partitions:
Partition "/top"
Implemented Partitions:
Partition "/top/reconfig_red" (Reconfigurable Module "red_fast"):
Attribute STATE set to IMPLEMENT.
Partition "/top/reconfig_blue" (Reconfigurable Module "blue_fast"):
Attribute STATE set to IMPLEMENT.
Partition "/top/reconfig_green" (Reconfigurable Module "green_fast"):
Attribute STATE set to IMPLEMENT.
TRACE レ ポー ト
TRACE ツールは、 FPGA デザ イ ン の ス タ テ ィ ッ ク タ イ ミ ン グ解析を実行す る ために使用 さ れ ま
す。 こ のツールは、 タ イ ミ ン グ検証 と レ ポー ト の両方に使用 さ れます。 TRACE の使用方法は、 『 コ
マ ン ド ラ イ ン ツール ユーザー ガ イ ド 』 (UG628) の 「TRACE」 の章を参照 し て く だ さ い。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン フ ロ ーは、 常に完全なデザ イ ン と 連動 し ます。 こ
れに よ り 、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの タ イ ミ ン グ解析で、 ス タ テ ィ ッ ク 領域に適用 さ れた
制約が再利用 さ れ ます。 つま り 、 ス タ テ ィ ッ ク 領域の ク ロ ッ ク に適用 さ れた PERIOD 制約に よ り 、
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの該当す る パ ス の解析が実行 さ れ ます。 ス タ テ ィ ッ ク ロ ジ ッ ク
は常に解析 さ れます。
TRACE では複数の出力フ ァ イ ルを生成で き ます。 次の 3 つの フ ァ イ ルは、 ユーザー定義の制約を
デザ イ ンが どれ く ら い満た し てい る か を確認す る場合に使用で き ます。
•
TWR : ASCII 形式の タ イ ミ ン グ レ ポー ト
•
TWX : XML 形式の タ イ ミ ン グ レ ポー ト
•
TSI : ASCII 形式の制約相互作用レ ポー ト
TWR と TWX タ イ ミ ン グ レ ポー ト は、 各 コ ン フ ィ ギ ュ レーシ ョ ン を イ ンプ リ メ ン テーシ ョ ンす る
と 作成 さ れます。 別のオプシ ョ ン を使用 し たそれ以外の レ ポー ト が必要な場合は、 TRACE を コ マ
ン ド ラ イ ンか ら 実行す る か、PlanAhead ソ フ ト ウ ェ アの該当す る イ ンプ リ メ ン テーシ ョ ン オプシ ョ
ン を変更 し てか ら 、 イ ンプ リ メ ン テーシ ョ ン を実行 し 直 し ます。
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を含むデザ イ ン の ス タ テ ィ ッ ク タ イ ミ ン グ解析を実行す る
のは、 普通のデザ イ ン の ス タ テ ィ ッ ク タ イ ミ ン グ を解析す る 場合 と 同 じ ですが、 手法が異な り ま
す。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン の場合、 タ イ ミ ン グ解析は コ ン フ ィ ギ ュ レー
シ ョ ン ご と に実行す る 必要があ り ます。
次は、 TRACE コ マ ン ド ラ イ ンの例です。 こ の例で使用 さ れ る オプシ ョ ンの詳細は、 『 コ マ ン ド ラ
イ ン ツール ユーザー ガ イ ド 』 (UG628) の 「TRACE」 の章を参照 し て く だ さ い。
trce –v 10 –u 10 –tsi top.tsi –o top.twr –xml top.twx top top.pcf
46
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
レ ポー ト フ ァ イル
タ イ ミ ン グ レ ポー ト は、 パーテ ィ シ ョ ン ピ ン が始点のパ ス、 終点のパ ス、 お よ びパーテ ィ シ ョ ン
ピ ン を通過す る パス を検証す る ために も 使用で き ます。 こ の ロ ジ ッ ク は、 キーワー ド 「PROXY」 で
検索で き ます。 LUT 名に _PROXY が付いた名前は、 LUT がプ ロ キ シ ロ ジ ッ ク と し て使用 さ れ る こ
と を示 し 、 パーテ ィ シ ョ ン ピ ンが こ のプ ロ キ シ ロ ジ ッ ク に含まれ る こ と を意味 し ます。
次の例では、 こ れ ら の制約 と 共に、 TPSYNC 制約が red.addr バス に適用 さ れてい ます。
PIN “red.addr(*)” TPSYNC = “group_RP_red_input”;
TIMESPEC TS_from_static_to_PP_input = TO “group_RP_red_input” 4.5 ns;
こ のパス の ソ ース は、 ス タ テ ィ ッ ク 領域に含まれます。 デス テ ィ ネーシ ョ ンは、 プ ロ キ シ ロ ジ ッ ク
と し て挿入 さ れた LUT です。 こ のパ ス のデス テ ィ ネーシ ョ ン名は red.addr(11) です。 こ れは、
パーテ ィ シ ョ ン名が red で、 ポー ト 名が addr(11) であ る こ と を示 し てい ます。
こ の解析では、 レ ジ ス タ の clock-to-out タ イ ム と ネ ッ ト 遅延がパーテ ィ シ ョ ン ピ ン ま で考慮 さ れてい
る こ と がわか り ます。 パーテ ィ シ ョ ン ピ ン を介し た遅延は、 こ のパス解析では考慮 さ れていません。
Timing constraint:TS_from_static_to_PP_input = MAXDELAY TO TIMEGRP
“group_RP_red_input” 4.5 ns;
12 paths analyzed, 12 endpoints analyzed, 0 failing endpoints
0 timing errors detected.(0 setup errors, 0 hold errors)
Maximum delay is
1.111ns.
--------------------------------------------------------------------Slack:
3.389ns (requirement - data path)
Source:
count_34 (FF)
Destination:
red/addr(11)_PROXY (LUT) (red.addr(11))
Requirement:
4.500ns
Data Path Delay:
1.111ns (Levels of Logic = 0)
Source Clock:
gclk rising at 0.000ns
Maximum Data Path: count_34 to RP_red/addr(11)_PROXY
Location
Delay type
Delay(ns) Physical Resource
Logical Resource(s)
------------------------------------------ ---------------------SLICE_X47Y39.CQ Tcko
0.326
count[34]
count_34
SLICE_X45Y37.A1 net (fanout=2)
0.785
count[34]
------------------------------------------ ---------------------Total
1.111ns (0.326ns logic, 0.785ns route)
(29.3% logic, 70.7% route)
48 ページの図 3-7 は、 ス タ テ ィ ッ ク FF か ら パーテ ィ シ ョ ン ピ ン ま でのパ ス を示 し てい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
47
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
X-Ref Target - Figure 3-7
Path Analyzed
Partition pin
red. addr(11)
red
(partition)
LUT
FF
addr(11)_PROXY
count_34
X12028
図 3-7 : ス タ テ ィ ッ ク FF からパーテ ィ シ ョ ン ピ ン ま でのパス
次の例では、 こ れ ら の制約 と 共に、 TPSYNC 制約が red.d_out バス に適用 さ れてい ます。
PIN "red.d_out(*)" TPSYNC = "Bram_output_PPs";
TIMESPEC TS_from_PP_output_to_static = FROM "Bram_output_PPs" 5.0 ns;
こ のパ ス の ソ ース は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の出力のプ ロ キ シ ロ ジ ッ ク です。 デ
ス テ ィ ネーシ ョ ンは、 ス タ テ ィ ッ ク 領域の PAD です。 こ のパ ス の ソ ース名は red.d_out(5) で、
パーテ ィ シ ョ ン名が red、 ポー ト 名が d_out(5) であ る こ と を示 し てい ます。
次の解析では、 プ ロ キ シ ロ ジ ッ ク を介 し た伝搬時間 と 、 出力バ ッ フ ァ ーへのネ ッ ト 遅延、 出力バ ッ
フ ァ ーを介 し た PAD ま での伝搬遅延が考慮 さ れてい ます。
Timing constraint:TS_from_PP_output_to_static = MAXDELAY FROM TIMEGRP
"Bram_output_PPs" 5.0 ns;
8 paths analyzed, 8 endpoints analyzed, 0 failing endpoints
0 timing errors detected.(0 setup errors, 0 hold errors)
Maximum delay is
4.770ns.
---------------------------------------------------------------------Slack:
0.230ns (requirement - data path)
Source:
red/d_out(5)_PROXY (LUT) (red.d_out(5))
Destination:
out_bram[5] (PAD)
Requirement:
5.000ns
Data Path Delay:4.770ns (Levels of Logic = 2)
Maximum Data Path:U1_RP_Bram/d_out(5)_PROXY to out_bram[5]
Location
Delay type
Delay(ns) Physical Resource
Logical Resource(s)
(Partition Pin)
-------------------------------------------- ------------------SLICE_X33Y38.B
Tilo
0.080
red/d_out(5)_PROXY
red/d_out(5)_PROXY
(red.d_out(5))
G15.O
net (fanout=1)
2.514
out_bram_5_OBUF
G15.PAD
Tioop
2.176
out_bram[5]
out_bram_5_OBUF
out_bram[5]
-------------------------------------------- --------------------Total
4.770ns (2.256ns logic, 2.514ns rte)
(47.3% logic, 52.7% route)
図 3-8 は、 パーテ ィ シ ョ ン ピ ンか ら ス タ テ ィ ッ ク PAD ま での解析パ ス を示 し てい ます。
48
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
レ ポー ト フ ァ イル
X-Ref Target - Figure 3-8
Path Analyzed
Partition pin
red.d_out(5)
red
(partition)
LUT
d_out(5)_PROXY
out_bram[5]
(PAD)
X12029
図 3-8 : パーテ ィ シ ョ ン ピ ンから ス タ テ ィ ッ ク PAD ま でのパス
次 の 例 で は、 PERIOD 制約 が static_VGA_vgaclk2_i ク ロ ッ ク 信号 に 適用 さ れ、 関連す る
PERIOD 制約が VGA_CLK ク ロ ッ ク 信号に適用 さ れてい ます ( ど ち ら も ス タ テ ィ ッ ク 領域内)。
こ のパ ス の ソ ース と デス テ ィ ネーシ ョ ンは ス タ テ ィ ッ ク 領域の FF ( フ リ ッ プ フ ロ ッ プ) です。 ソ ー
ス と デス テ ィ ネーシ ョ ン間のパ スはプ ロ キシ ロ ジ ッ ク を通 り 、リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ
ン を通っ た後、 さ ら に多 く のプ ロ キ シ ロ ジ ッ ク を通過 し て、 最後に ス タ テ ィ ッ ク 領域の FF に到着
し ます。 こ のパ ス の最初のパーテ ィ シ ョ ン ピ ンの名前 red.VGA_in7 は、 パーテ ィ シ ョ ン名が red、
ポー ト 名が VGA_in7 であ る こ と を示 し てい ます。 こ のパ ス の 2 つ目のパーテ ィ シ ョ ン ピ ンの名前
red.VGA_out7 は、 パーテ ィ シ ョ ン名が red、 ポー ト 名が VGA_out7 であ る こ と を示 し てい ます。
次の解析フ ァ イ ルの例では、 パーテ ィ シ ョ ン ピ ン の伝搬遅延 も 含めたパ ス 全体が考慮 さ れてい ま
す。 こ のパス には違反があ り ますが、 こ の違反はパーテ ィ シ ョ ン内に レ ジ ス タ を追加す る と 回避で
き ます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を通 る 組み合わせパ ス は、 2 つの LUT 遅延が追加
さ れ る だけでな く 、 第 7 章の 「デカ ッ プ リ ン グ機能」 に示す ロ ジ ッ ク デカ ッ プ リ ン グが実行 さ れな
いため、 使用 し ない よ う に し て く だ さ い。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
49
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
Timing constraint:TS_static_VGA_vgaclk2_i = PERIOD TIMEGRP
“static_VGA_vgaclk2_i” TS_static_VGA_pixel_clock_i PHASE 3.167 ns HIGH 50%;
126 paths analyzed, 36 endpoints analyzed, 10 failing endpoints
10 timing errors detected.(10 setup errors, 0 hold errors, 0 component switching limit
errors)
Minimum period is 15.401ns.
---------------------------------------------------------------------------Slack:
-0.451ns (req-(data path-clock path skew + uncer'ty))
Source:
static_VGA/VGA_R_1[0] (FF)
Destination:
static_DVI_IF/ODDR_DVI_DATA11 (FF)
Requirement:
3.167ns
Data Path Delay:
3.387ns (Levels of Logic = 2)
Clock Path Skew:
0.084ns (1.427 - 1.343)
Source Clock:
static_VGA/pixel_clock rising at 0.000ns
Destination Clock:
VGA_CLK rising at 3.167ns
Clock Uncertainty:
0.315ns
Clock Uncertainty:
0.315ns ((TSJ^2 + TIJ^2)^1/2 + DJ) / 2 + PE
Total System Jitter (TSJ):0.070ns
Total Input Jitter (TIJ):
0.000ns
Discrete Jitter (DJ):
0.458ns
Phase Error (PE):
0.050ns
Maximum Data Path: static_VGA/VGA_R_1[0] to static_DVI_IF/ODDR_DVI_DATA11
Location
Delay type
Delay(ns) Physical Resource
Logical Resource(s)
(Partition Pin)
---------------------------------------------- ------------------SLICE_X25Y75.DQ
Tcko
0.326
VGA_R_bus_out[1]
static_VGA/VGA_R_1[0]
SLICE_X25Y76.C6
net (fanout=8)
0.248
VGA_R_bus_out[1]
SLICE_X25Y76.C
Tilo
0.080
red/VGA_out7_PROXY
red/VGA_in7_PROXY
(red.VGA_in7)
SLICE_X25Y76.D5
net (fanout=1)
0.164
red/VGA_out7
SLICE_X25Y76.D
Tilo
0.080
red/VGA_out7_PROXY
red/VGA_out7_PROXY
(red.VGA_out7)
OLOGIC_X2Y39.D1
net (fanout=1)
2.192
VGA_R[7]
OLOGIC_X2Y39.CLK
Todck
0.297
DVI_LCD_DATA11_c
static_DVI_IF/ODDR_DVI_DATA11
---------------------------------------------- ---------------------Total
3.387ns (0.783ns logic, 2.604ns rte)
(23.1% logic, 76.9% rte)
51 ページの図 3-9 は、 パーテ ィ シ ョ ン ピ ン を通 る FF か ら FF ま でのパ ス を示 し てい ます。
50
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
レ ポー ト フ ァ イル
X-Ref Target - Figure 3-9
Path Analyzed
Partition pin
red. VGA_in7
red
(partition)
Partition pin
red. VGA_out7
LUT
LUT
FF
FF
VGA_in7_PROXY
VGA_out7_PROXY
static_VGA/
VGA_R_1[0]
static_DVI_IF/
ODDR_DVI_DATA11
X12030
図 3-9 : パーテ ィ シ ョ ン ピ ン を通る FF から FF ま でのパス
BitGen レポー ト
BitGen を実行す る と 、各パーシ ャ ル BIT フ ァ イ ル と フル BIT フ ァ イ ルの レ ポー ト フ ァ イ ルが作成
さ れ ます。 フル BIT フ ァ イ ルの レ ポー ト には、 フル BIT フ ァ イ ルに含ま れ る リ コ ン フ ィ ギ ャ ラ ブ
ル モジ ュ ールすべてが リ ス ト さ れ、ActiveReconfig = No 設定でそれがパーシ ャ ル BIT フ ァ イ
ルではない こ と が示 さ れます。
...
Partition “/top/reconfig_red” (Reconfigurable Module “red_fast”)
Partition “/top/reconfig_blue” (Reconfigurable Module “blue_fast”)
Partition “/top/reconfig_green” (Reconfigurable Module “green_fast”)
...
Summary of Bitgen Options:
+----------------------+----------------------+
| ActiveReconfig
| No*
|
+----------------------+----------------------+
| Partial
| (Not Specified)*
|
+----------------------+----------------------+
...
* Default setting.
パーシ ャ ル BIT フ ァ イ ルの レ ポー ト には、 それがパーシ ャ ル BIT フ ァ イ ルであ る こ と と 、 関連付
け ら れてい る パーテ ィ シ ョ ン と リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールが示 さ れます。
...
Summary of Bitgen Options:
+----------------------+----------------------+
| ActiveReconfig
| Yes
|
+----------------------+----------------------+
| Partial
| reconfig_red
|
+----------------------+----------------------+
...
Creating bit stream for Partition “/top/reconfig_red”
(Reconfigurable Module “red_fast”)
Creating bit map...
Saving bit stream in “fff_reconfig_red_red_fast_partial.bit”.
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
51
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
pr_verify
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン がハー ド ウ ェ アで動作す る よ う にす る には、 すべ
ての コ ン フ ィ ギ ュ レーシ ョ ン間で ス タ テ ィ ッ ク ロ ジ ッ ク の配置配線が矛盾 し ない よ う にす る 必要
があ り ま す。 ま た、 プ ロ キ シ ロ ジ ッ ク も 同 じ 位置に配置 し 、 ク ロ ッ ク ス パ イ ン配線 も 一致す る よ
う にす る 必要があ り ます。 pr_verify ユーテ ィ リ テ ィ を使用する と 、 パーシ ャ ル リ コ ン フ ィ ギ ュ
レーシ ョ ン デザ イ ン用に作成 さ れた複数の コ ン フ ィ ギ ュ レーシ ョ ンか ら の配線済み NCD フ ァ イ ル
が比較 さ れ、 イ ン ポー ト さ れた リ ソ ース がすべて一致す る か ど う か確認 さ れます。 こ れ ら の リ ソ ー
ス には、 次が含まれます。
•
グ ロ ーバル ク ロ ッ ク スパ イ ン : 各グ ロ ーバル ク ロ ッ ク には、 すべての コ ン フ ィ ギ ュ レーシ ョ
ンで同 じ ク ロ ッ ク 領域内に配線 さ れた ク ロ ッ ク スパ イ ンが必要です。
•
リ ージ ョ ナル ク ロ ッ ク スパ イ ン : Virtex-5 以外のアーキ テ ク チ ャ では、すべての コ ン フ ィ ギ ュ
レーシ ョ ン で各 リ ージ ョ ナル ク ロ ッ ク に同 じ ク ロ ッ ク 領域内に配線 さ れた ク ロ ッ ク ス パ イ ン
が必要です。 詳細は、 第 7 章の 「 リ ージ ョ ナル ク ロ ッ ク 」 を参照 し て く だ さ い。
•
プ ロ キ シ ロ ジ ッ ク : プ ロ キ シ ロ ジ ッ ク は、論理的には ス タ テ ィ ッ ク デザ イ ンの一部ですが、 リ
コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン用に割 り 当て ら れたエ リ ア グループ内の同 じ 位置に配置
す る 必要があ り ます。
•
パーテ ィ シ ョ ン イ ン タ ーフ ェ イ ス : リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンには、それぞれ各 コ
ン フ ィ ギ ュ レ ーシ ョ ン の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールへの入力 と 出力に同 じ ポー ト を使
用す る 必要があ り ます。
pr_verify の使用方法
pr_verify は、 PlanAhead ま たは コ マ ン ド ラ イ ンのど ち ら かで実行で き ます。 PlanAhead での実
行方法については、 第 4 章の 「コ ン フ ィ ギ ュ レーシ ョ ンの検証」 を参照 し て く だ さ い。
コ マ ン ド ラ イ ン構文
pr_verify [-verbose] <design1[.ncd]> <design2[.ncd]> [<design[.ncd]>]
[-o <outfile>]
-verbose : すべての メ ッ セージが レ ポー ト さ れます。
-o <outfile> : 拡張子 も 含めた出力フ ァ イ ル名を指定 し ます。こ のオプシ ョ ン を使用 し ない
場合は、 デフ ォ ル ト の pr_verify.log フ ァ イ ルが作成 さ れます。
<design*[.ncd]> : 比較す る少な く と も 2 つの NCD フ ァ イ ルを入力 し ます。
こ のユーザー ガ イ ド のサ ン プル デザ イ ン の場合、 pr_verify コ マ ン ド ラ イ ンは次の よ う にな り
ます。
pr_verify -verbose ./FastConfig/FastConfig.ncd
./SlowConfig/SlowConfig.ncd ./FSFConfig/FSFConfig.ncd
./BlankConfig/BlankConfig.ncd
52
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
pr_verify
pr_verify
ロ グ フ ァ イル
上記の コ マ ン ド ラ イ ン例を実行す る と 、 次の よ う な pr_verify ロ グ フ ァ イ ルが出力 さ れます。
Command Line:/Xilinx/13.4/ISE_DS/ISE/bin/lin/unwrapped/pr_verify
./BlankConfig/BlankConfig.ncd ./FastConfig/FastConfig.ncd
./FSFConfig/FSFConfig.ncd ./SlowConfig/SlowConfig.ncd
Loading
Loading
Loading
Loading
./BlankConfig/BlankConfig.ncd:Mon Feb 14 14:53:16 2011
./FastConfig/FastConfig.ncd:Mon Feb 14 14:35:32 2011
./FSFConfig/FSFConfig.ncd:Mon Feb 14 14:47:54 2011
./SlowConfig/SlowConfig.ncd:Mon Feb 14 16 14:40:58 2011
---------------------------------------Analyzing Designs:
./BlankConfig/BlankConfig.ncd
./FastConfig/FastConfig.ncd
Number
Number
Number
Number
of
of
of
of
matched
matched
matched
matched
proxy logic bels
external nets
global clock nets
Reconfigurable Partitions
=
=
=
=
54
33
4
0
=
=
=
=
54
33
4
2
=
=
=
=
54
33
4
0
=
=
=
=
54
33
4
1
SUCCESS!
---------------------------------------Analyzing Designs:
./FastConfig/FastConfig.ncd
./FSFConfig/FSFConfig.ncd
Number
Number
Number
Number
of
of
of
of
matched
matched
matched
matched
proxy logic bels
external nets
global clock nets
Reconfigurable Partitions
SUCCESS!
---------------------------------------Analyzing Designs:
./FSFConfig/FSFConfig.ncd
./BlankConfig/BlankConfig.ncd
Number
Number
Number
Number
of
of
of
of
matched
matched
matched
matched
proxy logic bels
external nets
global clock nets
Reconfigurable Partitions
SUCCESS!
---------------------------------------Analyzing Designs:
./FSFConfig/FSFConfig.ncd
./SlowConfig/SlowConfig.ncd
Number
Number
Number
Number
of
of
of
of
matched
matched
matched
matched
proxy logic bels
external nets
global clock nets
Reconfigurable Partitions
SUCCESS!
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
53
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
---------------------------------------Analyzing Designs:
./SlowConfig/SlowConfig.ncd
./BlankConfig/BlankConfig.ncd
Number
Number
Number
Number
of
of
of
of
matched
matched
matched
matched
proxy logic bels
external nets
global clock nets
Reconfigurable Partitions
=
=
=
=
54
33
4
0
=
=
=
=
54
33
4
0
SUCCESS!
---------------------------------------Analyzing Designs:
./SlowConfig/SlowConfig.ncd
./FastConfig/FastConfig.ncd
Number
Number
Number
Number
of
of
of
of
matched
matched
matched
matched
proxy logic bels
external nets
global clock nets
Reconfigurable Partitions
SUCCESS!
/Xilinx/13.4/ISE_DS/ISE/bin/lin/unwrapped/pr_verify
./BlankConfig/BlankConfig.ncd ./FastConfig/FastConfig.ncd
./FSFConfig/FSFConfig.ncd ./SlowConfig/SlowConfig.ncd => PASS
ロ グ フ ァ イ ルに示 さ れ る よ う に、 NCD フ ァ イ ルが 2 つずつ比較 さ れ、 コ ン フ ィ ギ ュ レーシ ョ ンの
特定情報 と リ ソ ー ス が不一致で あ る も の が検出 さ れ ま す。 最後の行には、 そ の実行全体の結果
(PASS ま たは FAIL) が示 さ れます。
ロ グ フ ァ イ ルには、 次の リ ソ ース比較が示 さ れます。
•
Number of matched proxy logic bels
プ ロ キ シ ロ ジ ッ ク と し て使用 さ れ る LUT1 で、 2 つの コ ン フ ィ ギ ュ レーシ ョ ンに存在 し てお
り 、 位置が同 じ も のの数を示 し ます。 こ の数はすべての解析で同 じ にな る はずです。
•
Number of matched external nets
2 つの コ ン フ ィ ギ ュ レーシ ョ ンの リ コ ン フ ィ ギ ャ ラ ブル モジ ュールの入力ま たは出力ポー ト の
数を示 し ます。 こ の数はすべての解析で同 じ にな る はずです。
•
Number of matched global clock nets
2 つの コ ン フ ィ ギ ュ レーシ ョ ンで配線が同 じ グ ロ ーバル ク ロ ッ ク のネ ッ ト の数を示 し ます。 こ
の数はすべての解析で同 じ にな る はずです。
•
Number of matched Reconfigurable Partitions
2 つの コ ン フ ィ ギ ュ レーシ ョ ンで使用 さ れ、 イ ンプ リ メ ン テーシ ョ ンが同 じ リ コ ン フ ィ ギ ャ ラ
ブル モジ ュ ールの数を示 し ます。 こ の数はすべての解析で同 じ であ る 必要はあ り ません。 た と
えば、 BlankConfig お よ び FastConfig では ス タ テ ィ ッ ク のみが共通 し てい る ので、 こ れ ら
の コ ン フ ィ ギ ュ レーシ ョ ンの解析では一致す る リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンは 0 と
表示 さ れます。 FSFConfig と FastConfig では、 ス タ テ ィ ッ ク が含まれ、 Red_Fast と
Green_Fast が共通 し てい る ので、一致する リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンは 2 つにな
り ます。
54
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
フ ローの違い
フ ローの違い
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン の フ ロ ーは、 イ ン プ リ メ ン テーシ ョ ン ツールを使用 し た標
準的な フ ロ ー と ほ と ん ど同 じ ですが、 シ リ コ ンに安全な結果を作成す る には、 配置配線に制限を加
え る 必要があ り ます。 こ れ ら の制限は、 パフ ォーマ ン ス、 パ ッ キ ン グ密度、 イ ンプ リ メ ン テーシ ョ
ンの柔軟性な ど に影響 し ます。
表 3-1 : フ ローの違い
フ ロー
配置
配線
標準
デバ イ ス 制限以外の制限は あ り
ません。
デバ イ ス 制限以外の制限は あ り ま
せん。
パーテ ィ シ ョ ン
ま ず イ ン ポー ト さ れた ロ ジ ッ ク
が配置 さ れ ま す。 次に イ ン プ リ
メ ン ト さ れた ロ ジ ッ ク が配置 さ
れます。
ま ず イ ン ポー ト さ れ た ロ ジ ッ ク が
配線 さ れます。
次に イ ン プ リ メ ン ト さ れた ロ ジ ッ
ク が配線 さ れます。
エ リ ア グループ要件はあ り ま
せん。
パーシ ャ ル リ コ ン フ ィ
ギ ュ レーシ ョ ン
LOC 制約で強制的に位置を指
定 し な い限 り 、 リ コ ン フ ィ ギ ャ
ラ ブル パーテ ィ シ ョ ンのエ リ ア
グループに配置で き る のは リ コ
ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク のみ
です。
配線制限は、 配置段階で考慮 さ
れます。
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ
シ ョ ンのエ リ ア グループ外に ま た
が る 配線 リ ソ ー ス は、 リ コ ン フ ィ
ギ ャ ラ ブル ロ ジ ッ ク には使用で き
ません。
ま ず イ ン ポー ト さ れ た ロ ジ ッ ク が
配線 さ れます。
次に イ ン プ リ メ ン ト さ れた ロ ジ ッ
ク が配線 さ れます。
こ の よ う に フ ロ ーに違いがあ る ため、標準フ ロ ーま たはパーテ ィ シ ョ ン フ ロ ーで問題な く イ ンプ リ
メ ン ト さ れたデザ イ ン で も 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン フ ロ ーでは イ ン プ リ メ ン ト で
き なか っ た り 、 同 じ タ イ ミ ン グや密度が得 ら れない こ と があ り ます。 どれ く ら い違 う かは、 デザ イ
ンに よ っ て異な り ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
55
第 3 章 : ソ フ ト ウ ェ ア ツール フ ロー
56
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
第4章
PlanAhead サポー ト
こ の章では、 PlanAhead ソ フ ト ウ ェ ア を使用 し たパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン
の作成手順について説明 し ます。 説明は、 合成後か ら 開始 し ます。 デザ イ ンは RTL で コー ド 記述 さ
れ、 第 3 章 「 ソ フ ト ウ ェ ア ツール フ ロ ー」 の説明に従っ て合成 さ れてい る も の と し ます。
こ のユーザー ガ イ ド では、 PlanAhead の基礎知識があ る も の と し て説明 し ます。 PlanAhead の基礎
知識は、『PlanAhead ユーザー ガ イ ド 』 (UG632) お よ び『PlanAhead ソ フ ト ウ ェ ア チ ュ ー ト リ アル :
ク イ ッ ク フ ロ ー概要』 (UG673) を参照 し て く だ さ い。
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト の作成
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト を作成する には、 次の手順に従い ます。
1. New Project ウ ィ ザー ド を起動 し 、 プ ロ ジ ェ ク ト 名 と デ ィ レ ク ト リ を指定 し 、
[Specify synthesized (EDIF or NGC) netlist] をオンに し ます。 パーシ ャ ル リ コ ン フ ィ ギ ュ レー
シ ョ ン プ ロ ジ ェ ク ト は、 PlanAhead ソ フ ト ウ ェ アの RTL レベルでは開始で き ません。 [Enable
Partial Reconfiguration] を オンに し て、こ れをパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ
ク ト と し て定義 し ます。 図 4-1 は、 New Project ウ ィ ザー ド を示 し てい ます。
X-Ref Target - Figure 4-1
図 4-1 : New Project ウ ィ ザー ド
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
57
第 4 章 : PlanAhead サポー ト
2. ス タ テ ィ ッ ク ロ ジ ッ ク に関連する すべてのネ ッ ト リ ス ト ソ ース を追加 し ます。各フ ァ イ ルま た
はすべてのデ ィ レ ク ト リ を追加で き ますが、 ソ ース はすべて ス タ テ ィ ッ ク ロ ジ ッ ク のみが含ま
れてい る 状態の も のであ る必要があ り ます。 リ コ ン フ ィ ギ ャ ブル モジ ュ ールの ソ ース は、 後で
追加 し ます。 こ の例では、 すべての ス タ テ ィ ッ ク ロ ジ ッ ク が top.ngc に含まれ、 最上位 ソ ース
と し て識別 さ れてい ます。 図 4-2 は、 New Project ウ ィ ザー ド の [Add Netlist Sources] ページ
を示 し てい ます。
X-Ref Target - Figure 4-2
図 4-2 : ス タ テ ィ ッ ク ロ ジ ッ ク のみを含むネ ッ ト リ ス ト の追加
3. I/O お よ び タ イ ミ ン グ制約を含む最上位制約フ ァ イ ルを追加 し ます。複数の UCF フ ァ イ ルを使
用で き ます。 PlanAhead ソ フ ト ウ ェ アでは、 イ ンプ リ メ ン テーシ ョ ンの実行前に、 すべての最
上位 UCF フ ァ イ ル と モジ ュ ール レベルの UCF フ ァ イ ルが連結 さ れます。 図 4-3 は、 New
Project ウ ィ ザー ド の [Add Constraints] ページ を示 し てい ます。
58
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト と し てのプ ロ ジ ェ ク ト の設定
X-Ref Target - Figure 4-3
図 4-3 : New Project ウ ィ ザー ド の [Add Constraints] ページ
タ ーゲ ッ ト デバ イ ス は、 ネ ッ ト リ ス ト か ら 読み出 さ れます。
4. タ ーゲ ッ ト デバ イ ス が正 し いか ど う か を確認 し 、 必要であれば変更 し て、 [Next] を ク リ ッ ク し
ます。
5. ウ ィ ザー ド の残 り のページで [Next] を ク リ ッ ク し 、 最後のページで [Finish] を ク リ ッ ク し て、
プ ロ ジ ェ ク ト を作成 し ます。
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト と し てのプ ロ ジ ェ ク ト
の設定
プ ロ ジ ェ ク ト を 作成 し た と き にパーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン プ ロ ジ ェ ク ト と し て プ ロ
ジ ェ ク ト を定義 し なか っ た場合は、プ ロ ジ ェ ク ト をパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ
ク ト と し て定義す る プ ロ ジ ェ ク ト 設定を使用 し て、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン関連の コ
マ ン ド を実行で き る よ う に し ます。 こ のオプシ ョ ンは、 有効なパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ
ン ラ イ セ ン ス があ る 場合にのみ表示 さ れ、 XILINX 環境変数は以前のバージ ョ ンの ISE® ツールの
イ ン ス ト ール デ ィ レ ク ト リ には設定 さ れません。
プ ロ ジ ェ ク ト をパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト と し て設定す る には、 次の手
順に従い ます。
•
[Tools] → [Project Settings] を ク リ ッ ク し 、 [General] ページで [Partial Reconfiguration
Project] をオンに し ます。
注記 : プ ロ ジ ェ ク ト が既にパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト と し て設定 さ
れてい る 場合、 チ ェ ッ ク ボ ッ ク ス は表示 さ れ ま せん。 プ ロ ジ ェ ク ト がパーシ ャ ル リ コ ン フ ィ
ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト と し て設定 さ れ る と 、 こ の設定は変更で き な く な り ます。
プ ロ ジ ェ ク ト をパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト と し て設定す る と 、 フ ラ ッ ト
な ISE イ ンプ リ メ ン テーシ ョ ンには使用で き な く な り ます。 イ ン タ ーフ ェ イ ス と オプシ ョ ンはパー
シ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ソ フ ト ウ ェ アの機能を使用で き る よ う に変更 さ れ、 フ ラ ッ ト デ
ザ イ ンには不要であ っ た制限が含まれ る よ う にな り ます。
こ のオプシ ョ ン を選択す る と 、 PlanAhead の イ ン タ ーフ ェ イ ス がパーシ ャ ル リ コ ン フ ィ ギ ュ レ ー
シ ョ ン デザ イ ン用に変更 さ れ ます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン と し て イ ン ス タ ン ス を
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
59
第 4 章 : PlanAhead サポー ト
設定 し た り 、 イ ン ス タ ン ス に リ コ ン フ ィ ギ ャ ラ ブル モジ ュールを さ ら に追加 し た り す る その他の コ
マ ン ド は、 [Netlist] ビ ュ ーのポ ッ プア ッ プ メ ニ ュ ーか ら 実行で き ます。 こ のオプシ ョ ン を選択す る
と 、 図 4-4 に 示す よ う に、 右下 の ス テ ー タ ス バー の 表示 が [Post-Synthesis Flow] か ら [Partial
Reconfiguration Flow] に変わ り ます。
X-Ref Target - Figure 4-4
図 4-4 : PlanAhead のパーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト
ネ ッ ト リ ス ト デザイ ン を開 く
PlanAhead で Project Manager レ イ ア ウ ト が開 き ます。 デザ イ ン を開始す る には、 まずネ ッ ト リ ス
ト を メ モ リ に読み込む必要があ り ます。 Flow Manager で [Netlist Design] を ク リ ッ ク し ます。
ネ ッ ト リ ス ト が読み込まれ る と 、 未定義のモジ ュールがあ る こ と を示す警告 メ ッ セージが表示 さ れ
ます (図 4-5)。 こ の メ ッ セージは、 イ ン ポー ト さ れたネ ッ ト リ ス ト にデザ イ ン全体が記述 さ れてい
ない こ と を示 し てい ます。 リ ス ト さ れ る モジ ュ ールが リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールであ る こ と
を確認 し て く だ さ い。
X-Ref Target - Figure 4-5
図 4-5 : 必ず表示 さ れる警告 メ ッ セージ
60
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
リ コ ン フ ィ ギ ャ ラ ブル イ ン ス タ ン スの定義
図 4-4 に示すサ ン プル デザ イ ン の [Netlist] ビ ュ ーでは、 reconfig_blue、 reconfig_green、
reconfig_red と い う 3 つのブ ラ ッ ク ボ ッ ク ス イ ン ス タ ン ス にブ ラ ッ ク ボ ッ ク ス ア イ コ ンが表
示 さ れてい ます。 こ れは、 こ れ ら のブ ラ ッ ク ボ ッ ク ス にネ ッ ト リ ス ト が関連付け ら れていないか ら
です。
その他の [Netlist] ビ ュ ーのア イ コ ンについては、 『PlanAhead ユーザー ガ イ ド 』 (UG632) を参照 し
て く だ さ い。
こ れ ら に リ ン ク さ れた リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのネ ッ ト リ ス ト には、 blue、 green、 red の
それぞれに Fast と Slow があ り ます。
リ コ ン フ ィ ギ ャ ラ ブル イ ン ス タ ン スの定義
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を定義す る には、 下位 イ ン ス タ ン ス を右 ク リ ッ ク し 、 [Set
Partition] を ク リ ッ ク し ます。
1. 図 4-6 に示す よ う に [Set Partition] を ク リ ッ ク し ます。
X-Ref Target - Figure 4-6
図 4-6 : パーテ ィ シ ョ ン を リ コ ン フ ィ ギ ャ ラ ブル と し て設定
パーテ ィ シ ョ ンは、 リ コ ン フ ィ ギ ャ ラ ブルま たは通常のパーテ ィ シ ョ ンに設定で き ます。 こ こ
では、 こ のモジ ュ ールに関連付け ら れたネ ッ ト リ ス ト がないので、 リ コ ン フ ィ ギ ャ ラ ブル と し
て し か定義で き ません。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンには、 リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールのネ ッ ト リ ス ト を読み込む こ と がで き る ほか、 オプシ ョ ン でブ ラ ッ ク ボ ッ ク ス モ
ジ ュ ール と し て定義す る こ と も で き ます。
2. 図 4-7 に示す よ う に、 モジ ュ ール と Fast か Slow かが識別で き る よ う に、 リ コ ン フ ィ ギ ャ ラ ブ
ル モジ ュ ールの名前を入力 し ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
61
第 4 章 : PlanAhead サポー ト
X-Ref Target - Figure 4-7
図 4-7 : リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの命名
ネ ッ ト リ ス ト が存在す る こ と を示す最初のオプ シ ョ ン を オ ン に し た場合、 こ のモ ジ ュ ールの
ネ ッ ト リ ス ト を指定す る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 1 つの リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ンのすべての種類に同 じ ネ ッ ト リ ス ト 名を付け る必要があ る ので、 デ ィ レ ク ト リ
構造を使用 し て イ ン ス タ ン ス を区別 し ます。
3. [Set Partition] ダ イ ア ロ グ ボ ッ ク ス で NGC フ ァ イ ルへのパ ス を指定 し ます (図 4-8)。
X-Ref Target - Figure 4-8
図 4-8 : リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール 1 つが追加 さ れた リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ン
ほかのデ ィ レ ク ト リ の別のネ ッ ト リ ス ト を追加す る 場合は、 検索パ ス を こ こ で入力 し ます。 こ の リ
コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの物理制約を含む制約フ ァ イ ルは、 次のダ イ ア ロ グ ボ ッ ク ス で指
定で き ます。
62
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
プ ロ ジ ェ ク ト への リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの追加
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは、[Netlist] ビ ュ ーの リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの下
に表示 さ れます。
デザ イ ンには、 複数の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を含め る こ と がで き ます。 こ の場合、
デザ イ ンの各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに対 し て [Set Partition] コ マ ン ド を実行す る必
要があ り ます。こ のデザ イ ン例では、各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン (red、green、blue)
に対 し て fast バージ ョ ンのモジ ュ ールが読み込まれます。
プ ロ ジ ェ ク ト への リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの追加
図 4-9 に示す よ う に、 [Add Reconfigurable Module] コ マ ン ド を使用す る と 、 リ コ ン フ ィ ギ ャ ラ ブ
ル パーテ ィ シ ョ ンに リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを さ ら に追加で き ます。
X-Ref Target - Figure 4-9
図 4-9 : リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへの リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの追加
こ の コ マ ン ド を使用 し てすべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールをすべての リ コ ン フ ィ ギ ャ ラ
ブル パーテ ィ シ ョ ンに追加 し ます。 こ のサンプル デザ イ ンでは、red、green、blue の slow バー
ジ ョ ンが追加 さ れてい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
63
第 4 章 : PlanAhead サポー ト
ブ ラ ッ ク ボ ッ ク ス モ ジ ュ ールの追加
ブ ラ ッ ク ボ ッ ク ス モジ ュールを定義す る こ と も で き ます。
1. [Add Reconfigurable Module] コ マ ン ド を使用 し 、 [Add this Reconfigurable Module as a black
box without a netlist] をオンに し ます。こ のモジ ュールにはネ ッ ト リ ス ト が関連付け ら れてい ま
せん (図 4-10)。
X-Ref Target - Figure 4-10
図 4-10 : リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール と し てのブ ラ ッ ク ボ ッ ク スの追加
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは、 [Netlist] ビ ュ ーの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの下の
[Reconfigurable Modules] フ ォ ルダーに追加 さ れます。 チ ェ ッ ク マー ク は、 リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ンに対 し て ア ク テ ィ ブな リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを示 し ます。
図 4-11 は、 blue_fast が リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン reconfig_blue のア ク テ ィ ブ
な リ コ ン フ ィ ギ ャ ラ ブル モジ ュールであ る こ と を示 し てい ます。 ま た、 reconfig_blue は白い正
方形の中に黄色のひ し 形が表示 さ れたア イ コ ンにな っ てい ますが、 こ れはそのモジ ュールが リ コ ン
フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンであ る こ と を示 し てい ます。 グ レーの正方形の中に黄色のひ し 形が
表示 さ れた ア イ コ ン にな っ てい る場合は、そのモジ ュ ールがブ ラ ッ ク ボ ッ ク ス に定義 さ れた リ コ ン
フ ィ ギ ャ ラ ブル モジ ュ ールであ る こ と を示 し てい ます。
X-Ref Target - Figure 4-11
図 4-11 : すべての リ コ ン フ ィ ギャ ラ ブル モジ ュールが追加された リ コ ン フ ィ ギャ ラ ブル
パーテ ィ シ ョ ン
64
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
プ ロ ジ ェ ク ト への リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの追加
2. ポ ッ プア ッ プ メ ニ ューか ら [Set as Active Reconfigurable Module] コ マ ン ド を使用す る と 、 リ
コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのア ク テ ィ ブ モジ ュ ールをいつで も 変更で き ます。
こ の コ マ ン ド を実行す る と 、 選択 し たモジ ュールのネ ッ ト リ ス ト が ワー ク スペース に読み込ま
れます (図 4-12)。
X-Ref Target - Figure 4-12
図 4-12 : ア ク テ ィ ブ リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの変更
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
65
第 4 章 : PlanAhead サポー ト
デザイ ン ソ ースの管理
ソ ース フ ァ イ ルに変更を加え た場合、 新 し いネ ッ ト リ ス ト ま たは制約を PlanAhead に読み込む必
要があ り ます。 こ れ ら の フ ァ イ ルは、 [Netlist Design] ビ ュ ーの [Sources] タ ブで管理 さ れます
(図 4-13)。
X-Ref Target - Figure 4-13
図 4-13 : [Sources] タ ブ
ア ッ プデー ト す る ネ ッ ト リ ス ト を右 ク リ ッ ク し 、 [Update File] を ク リ ッ ク し て、 新 し いネ ッ ト リ ス
ト を読み込みます。 こ の新規ネ ッ ト リ ス ト を メ モ リ に読み込むために、 ソ ース を読み込み直すか ど
う か尋ね る メ ッ セージ が表示 さ れ ま す ( ス タ テ ィ ッ ク パーテ ィ シ ョ ン ま たは ア ク テ ィ ブ リ コ ン
フ ィ ギ ャ ラ ブル モジ ュ ールの一部であ る 場合)。
こ のプ ロ セ ス では、 ス タ テ ィ ッ ク ロ ジ ッ ク と リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク 間の イ ン タ ーフ ェ イ
ス の変更はない と 想定 さ れます。 ポー ト リ ス ト が変更 さ れた場合は、 新 し いネ ッ ト リ ス ト で新規プ
ロ ジ ェ ク ト を作成す る こ と をお勧め し ます。
66
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
プ ロ ジ ェ ク ト への リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの追加
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン領域の定義
すべ て の リ コ ン フ ィ ギ ャ ラ ブル パー テ ィ シ ョ ン に含 ま れ る すべ て の リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールのバージ ョ ン を PlanAhead ソ フ ト ウ ェ アで定義 し た ら 、次にデザ イ ンの物理レ イ ア ウ ト を
定義 し ま す。 PlanAhead の メ イ ン ツ ールバーで [Floorplanning] ビ ュ ー レ イ ア ウ ト を 選択 し て
[Physical Constraints] ビ ュ ー と FPGA の フ ロ アプ ラ ン ビ ュ ーを開 き ます (図 4-14)。
X-Ref Target - Figure 4-14
図 4-14 : PlanAhead ツールバーの Floorplanning ビ ュ ー レ イ アウ ト
デバ イ ス の リ コ ン フ ィ ギ ャ ラ ブル領域を定義す る には、 Pblock 長方形を作成す る 必要があ り ます。
) を ク リ ッ ク し ます。
長方形エ リ ア を [Device] ビ ューで描画する には、[Set Pblock Size] ボ タ ン (
注記 : [Tools] → [Floorplanning] → [Place Pblocks] コ マ ン ド を使用 し てデバ イ ス に Pblock を
自動配置 し ないで く だ さ い。 こ の コ マ ン ド を使用す る と 、 イ ンプ リ メ ン テーシ ョ ンに不向 き な
配置にな っ て し ま い ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
67
第 4 章 : PlanAhead サポー ト
1. 68 ページの図 4-15 に示す よ う に、 [Physical Constraints] ビ ュ ーで定義する Pblock を選択 し
て、 [Set Pblock Size] ボ タ ン を使用で き る よ う に し ます。
X-Ref Target - Figure 4-15
図 4-15 : リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの Pblock の描画
[Device] ビ ュ ーの ク ロ ッ ク 領域の境界を、 リ コ ン フ ィ ギ ャ ラ ブル領域を描画す る際のガ イ ド と
し て使用で き ます。 リ コ ン フ ィ ギ ャ ラ ブル領域の フ ロ アプ ラ ンの詳細は、 第 3 章の 「制約」 お
よ び第 7 章の「 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン境界の定義」 を参照 し て く だ さ い。Pblock
が定義 さ れ る と 、 その領域に制約す る リ ソ ース を選択す る ダ イ ア ロ グ ボ ッ ク ス (69 ページの
図 4-16) が表示 さ れます。
注記 : PlanAhead ソ フ ト ウ ェ アでは、リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内でエ リ ア グルー
プ サブモジ ュールは使用で き ません。
68
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
プ ロ ジ ェ ク ト への リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの追加
X-Ref Target - Figure 4-16
図 4-16 : Pblock を使用 し た範囲の定義
こ の よ う に選択す る と 、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに対 し て一連の AREA_GROUP
RANGE 制約が作成 さ れます。
2. リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに含 ま れないエ レ メ ン ト のチ ェ ッ ク ボ ッ ク ス を オ フ に し
ま す。
パーシ ャ ル BIT フ ァ イ ルは こ こ で選択 し た制約に基づいて作成 さ れ る ので、余分なエ レ メ ン ト
を含め る と 、 BIT フ ァ イ ルが不必要に大き く な り ます。
[Pblock Properties] ビ ュ ーの [General] タ ブ (図 4-17) には、 含め る こ と ので き る ほかの リ ソ ー
ス が表示 さ れ、 デザ イ ンに基づいてオン ま たはオ フ にで き ます。
3. 対応す る リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに含まれ る 各 ロ ジ ッ ク タ イ プに対 し て、RANGE を
定義 し ます。
各 リ コ ン フ ィ ギ ャ ラ ブル領域には、 そ こ に配置す る モ ジ ュ ール内に含 ま れ る ロ ジ ッ ク タ イ プの
RANGE を指定す る 必要があ り ます。
X-Ref Target - Figure 4-17
図 4-17 : リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの RANGE 制約に適用可能な タ ーゲ ッ ト
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
69
第 4 章 : PlanAhead サポー ト
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ンのデザイ ン ルール チ ェ ッ ク
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン デザ イ ン の違反は、 ザ イ リ ン ク ス 開発のデザ イ ン ルール
チ ェ ッ ク (DRC) 機能を使用す る と 検出で き ます。
1. [Tools] → [Run DRC] を ク リ ッ ク し て表示 さ れ る ダ イ ア ロ グ ボ ッ ク ス で、カ テ ゴ リ 別に表示 さ
れてい る DRC を オン ま たはオ フ に し ます。
2. こ れ ら のチ ェ ッ ク を定期的に実行 し 、デザ イ ンがパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの原則
に違反 し ていないか ど う か を確認 し ます。
図 4-18 は、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの DRC の リ ス ト を示 し てい ます。
X-Ref Target - Figure 4-18
図 4-18 : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの [Run DRC] ダ イ ア ログ ボ ッ ク ス
[DRC Results] ビ ュ ーにすべての警告お よ びエ ラ ーが表示 さ れます。違反を ク リ ッ ク す る と 、図 4-19
に示す よ う に [Violation Properties] ビ ューにその詳細が表示 さ れます。
X-Ref Target - Figure 4-19
図 4-19 : DRC チ ェ ッ クの結果
70
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
コ ン フ ィ ギ ュ レーシ ョ ンの作成
[Violation Properties] ビ ュ ーでパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン DRC に違反す る オブジ ェ ク
ト の リ ン ク を ク リ ッ ク す る と 、 ど こ にあ る のか を確認で き ます。
コ ン フ ィ ギ ュ レーシ ョ ンの作成
すべてのモジ ュ ールお よ び Pblock 範囲を定義 し た ら 、 コ ン フ ィ ギ ュ レーシ ョ ン を定義お よ び イ ン
プ リ メ ン ト で き ます。
最初の コ ン フ ィ ギ ュ レーシ ョ ンは、 自動的に生成 さ れます。 PlanAhead の下部にあ る [Design Runs]
ビ ュ ー を ク リ ッ ク し、 config_1 を ク リ ッ ク し ま す。 [Implementation Run Properties] ビ ュ ー の
[Partitions] タ ブに、 こ の コ ン フ ィ ギ ュ レーシ ョ ン用に選択 さ れた リ コ ン フ ィ ギ ャ ラ ブル モジ ュール
が表示 さ れます (図 4-20 参照)。各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの最初の リ コ ン フ ィ ギ ャ ラ
ブル モジ ュールが選択 さ れますが、 必要であれば変更で き ます。 [General] タ ブの コ ン フ ィ ギ ュ レー
シ ョ ン名 も 変更で き ます。 こ のデザ イ ンの場合、 名前が config_1 か ら FFF に変更 さ れてい ます。
X-Ref Target - Figure 4-20
図 4-20 : コ ン フ ィ ギ ュ レーシ ョ ンの リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの定義
イ ンプ リ メ ン テーシ ョ ン run のプ ロ パテ ィ は、 [Implementation Run Properties] ビ ュ ーの [Options]
タ ブ で変更す る か、 ま た は Flow Manager で [Implement] ボ タ ン の右側 の矢印 を ク リ ッ ク し て
[Implementation Settings] を ク リ ッ ク す る と 変更で き ます。 図 4-21 を参照 し て く だ さ い。
X-Ref Target - Figure 4-21
図 4-21 : イ ン プ リ メ ン テーシ ョ ン プ ロパテ ィ の設定
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
71
第 4 章 : PlanAhead サポー ト
[Configurations] ビ ュ ー ([Window] → [Configurations]) には、図 4-22 に示す よ う に、コ ン フ ィ ギ ュ
レーシ ョ ン と それに含まれ る リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール、 ス テー タ ス な ど が表示 さ れます。
X-Ref Target - Figure 4-22
図 4-22 : レポー ト さ れる各 コ ン フ ィ ギ ュ レーシ ョ ンの詳細
Flow Manager の [Implement] ボ タ ン の右側の矢印 を ク リ ッ ク し て [Create New Implementation
Runs] を ク リ ッ ク する か、 [Design Runs] ビ ュ ーの [Create New Runs] ボ タ ン を ク リ ッ ク す る と 、複
数の コ ン フ ィ ギ ュ レーシ ョ ン を作成で き ます (図 4-23 お よ び図 4-24 を参照)。
X-Ref Target - Figure 4-23
図 4-23 : [Create New Implementation Runs Option] オプ シ ョ ン
X-Ref Target - Figure 4-24
図 4-24 : [Create New Runs] ボ タ ン
コ ン フ ィ ギ ュ レーシ ョ ンは、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール と ブ ラ ッ ク ボ ッ ク ス を任意に組み
合わせて作成で き ます。 コ ン フ ィ ギ ュ レーシ ョ ンは、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ
イ ンの ど の段階でで も 作成で き ます。 [Partition Action] ボ タ ン を使用 し 、 各 コ ン フ ィ ギ ュ レーシ ョ
ンに必要な リ コ ン フ ィ ギ ャ ラ ブル モジ ュールを選択 し ます。
注記 : こ の時点で こ れ ら の run は起動 し ないで く だ さ い。
73 ページの図 4-25 は、 [Create New Runs] ダ イ ア ロ グ ボ ッ ク ス を示 し てい ます。
72
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
コ ン フ ィ ギ ュ レーシ ョ ンの作成
X-Ref Target - Figure 4-25
図 4-25 : 複数の run の作成
こ のサンプル デザ イ ンでは、 図 4-26 に示す よ う に 4 つの コ ン フ ィ ギ ュ レーシ ョ ンが作成 さ れてい
ます。
X-Ref Target - Figure 4-26
図 4-26 : 最初のコ ン フ ィ ギ ュ レーシ ョ ン
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
73
第 4 章 : PlanAhead サポー ト
コ ン フ ィ ギ ュ レーシ ョ ンの制御
さ ま ざ ま な コ ン フ ィ ギ ュ レ ー シ ョ ン を 確認す る に は、 タ イ ミ ン グ 解析や回路図 な ど の 従来 の
PlanAhead ソ フ ト ウ ェ アの解析機能を使用で き ます。
1. 図 4-27 に示す よ う に、 [Configurations] ビ ュ ーで コ ン フ ィ ギ ュ レーシ ョ ン を右 ク リ ッ ク し て
[Load Configuration] を ク リ ッ ク し 、 解析用にネ ッ ト リ ス ト を読み込みます。
こ れに よ り 、 [Netlist] ビ ュ ーでその コ ン フ ィ ギ ュ レーシ ョ ンの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ー
ルがア ク テ ィ ブにな り ます。
X-Ref Target - Figure 4-27
図 4-27 : 既存コ ン フ ィ ギ ュ レーシ ョ ンの読み込み
イ ンプ リ メ ン テーシ ョ ンお よ び制約を設定 し た ら 、 コ ン フ ィ ギ ュ レーシ ョ ン を イ ンプ リ メ ン ト
で き ます。
2. [Design Runs] ビ ュ ーで コ ン フ ィ ギ ュ レーシ ョ ン を右 ク リ ッ ク し 、[Launch Runs] を ク リ ッ ク し
ます。
Flow Manager で [Implement] ボ タ ン を ク リ ッ ク し て も 、ア ク テ ィ ブ デザ イ ン を起動で き ます。
図 4-28 は、 コ ン フ ィ ギ ュ レーシ ョ ンが実行 さ れてい る と こ ろ を示 し てい ます。
X-Ref Target - Figure 4-28
図 4-28 : コ ン フ ィ ギ ュ レーシ ョ ンのイ ン プ リ メ ン ト
3. コ ン フ ィ ギ ュ レーシ ョ ンが問題な く イ ンプ リ メ ン ト さ れ る と 、 その結果を今後の イ ンプ リ メ ン
テーシ ョ ン と コ ン フ ィ ギ ュ レーシ ョ ンに イ ン ポー ト で き る よ う にプ ロ モー ト で き ます。75 ペー
ジの図 4-29 に示すダ イ ア ロ グ ボ ッ ク ス の [Promote Partitions] を使用 し て、コ ン フ ィ ギ ュ レー
シ ョ ン をプ ロ モー ト し ます。
74
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
コ ン フ ィ ギ ュ レーシ ョ ンの制御
X-Ref Target - Figure 4-29
図 4-29 : [Implementation Completed] ダ イ ア ログ ボ ッ ク ス
図 4-30 に示す [Configurations] ビ ュ ーのポ ッ プア ッ プ メ ニ ュ ーか ら [Promote Partitions] を ク
リ ッ ク し て も コ ン フ ィ ギ ュ レーシ ョ ン をプ ロ モー ト で き ます。
X-Ref Target - Figure 4-30
図 4-30 : コ ン フ ィ ギ ュ レーシ ョ ンのプ ロ モー ト
コ ン フ ィ ギ ュ レーシ ョ ン同士は互いに依存 し てい ます。
•
ス タ テ ィ ッ ク ロ ジ ッ ク と 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは、 それを使用す る 各 コ ン フ ィ
ギ ュ レーシ ョ ンで同 じ であ る必要があ り ます。
•
すべての コ ン フ ィ ギ ュ レーシ ョ ンで同 じ ス タ テ ィ ッ ク ロ ジ ッ ク イ ンプ リ メ ン テーシ ョ ン を使
用す る 必要が あ り ま す。 コ ン フ ィ ギ ュ レ ー シ ョ ン の中には、 同 じ リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールを共有す る こ と が可能な も の も あ り ます。
•
コ ン フ ィ ギ ュ レーシ ョ ンがプ ロ モー ト さ れ る と 、 その イ ンプ リ メ ン テーシ ョ ンは コ ン フ ィ ギ ュ
レーシ ョ ンに含まれ るすべてのモジ ュールの最適な結果 と し て設定 さ れます。
•
コ ン フ ィ ギ ュ レーシ ョ ン をプ ロ モー ト ま たは リ セ ッ ト す る と 、 ほかの コ ン フ ィ ギ ュ レーシ ョ ン
も 影響を受け る こ と があ り ます。 こ の場合、 PlanAhead ソ フ ト ウ ェ アで警告 メ ッ セージが表示
さ れます (76 ページの図 4-31)。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
75
第 4 章 : PlanAhead サポー ト
X-Ref Target - Figure 4-31
図 4-31 : 最新でない コ ン フ ィ ギ ュ レーシ ョ ンの リ セ ッ ト
run をプ ロ モー ト する と 、 ほかの コ ン フ ィ ギ ュ レーシ ョ ンの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの ス
テー タ ス がア ッ プデー ト さ れます。
図 4-32 お よ び 77 ページの図 4-33 は、 コ ン フ ィ ギ ュ レーシ ョ ン FFF をプ ロ モー ト し たため、 コ ン
フ ィ ギ ュ レーシ ョ ン SSS の ス タ テ ィ ッ ク ロ ジ ッ ク の ス テー タ ス が Import に設定 さ れた と こ ろ を
示 し てい ます。
X-Ref Target - Figure 4-32
図 4-32 : コ ン フ ィ ギ ュ レーシ ョ ン FFF のプ ロ モー ト 前
76
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
コ ン フ ィ ギ ュ レーシ ョ ンの制御
X-Ref Target - Figure 4-33
図 4-33 : コ ン フ ィ ギ ュ レーシ ョ ン FFF のプ ロ モー ト 後
複数の コ ン フ ィ ギ ュ レーシ ョ ン を一度にプ ロ モー ト で き ます。 モジ ュールはプ ロ モー ト さ れた順に
コ ン フ ィ ギ ュ レーシ ョ ンか ら イ ン ポー ト さ れます。
図 4-34 の コ ン フ ィ ギ ュ レーシ ョ ン FSF には、Static、reconfig_blue、お よ び reconfig_red
が FFF か ら イ ン ポー ト さ れ、リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール reconfig_green は コ ン フ ィ ギ ュ
レーシ ョ ン FFF に イ ンプ リ メ ン ト さ れていないので、 SSS か ら イ ン ポー ト さ れます。
X-Ref Target - Figure 4-34
図 4-34 : プ ロ モー ト さ れた複数コ ン フ ィ ギ ュ レーシ ョ ン
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
77
第 4 章 : PlanAhead サポー ト
ス タ テ ィ ッ ク ロ ジ ッ ク お よ びすべて の リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールがほかの コ ン フ ィ ギ ュ
レーシ ョ ンか ら イ ン ポー ト さ れてい る場合、 コ ン フ ィ ギ ュ レーシ ョ ンはプ ロ モー ト で き ません。 こ
の例では、 FSF コ ン フ ィ ギ ュ レーシ ョ ンは FFF と SSS か ら 構築 さ れてい る ので、 FSF をプ ロ モー
ト する 必要はあ り ません。
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは イ ン プ リ メ ン ト ま たは イ ン ポー ト で き る ので、 異な る リ コ ン
フ ィ ギ ャ ラ ブル モジ ュ ールを試す こ と がで き ます。 こ の よ う に柔軟性があ る ため、 プ ロ モー ト す る
のに最適な コ ン フ ィ ギ ュ レーシ ョ ンが見つけやす く な っ てい ます。 イ ンプ リ メ ン ト す る か イ ン ポー
ト する かは、 図 4-35 に示す [Specify Partitions] ダ イ ア ロ グ ボ ッ ク ス か ら 設定で き ます。
X-Ref Target - Figure 4-35
図 4-35 : [Action] の選択 ([Implement] または [Import])
ス タ テ ィ ッ ク ロ ジ ッ ク お よ び リ コ ン フ ィ ギ ャ ラ ブ ル ロ ジ ッ ク に対 し て 77 ペー ジ の図 4-34 の
[Status] フ ィ ール ド に示 さ れ る ス テー タ ス は、 次の と お り です。
•
[Implement] ( コ ン フ ィ ギ ュ レーシ ョ ンの場合は [Not Started])
モジ ュ ールは定義 さ れてい ますが、 イ ンプ リ メ ン ト さ れてい ません。 イ ンプ リ メ ン テーシ ョ ン
が実行 さ れ る と 、 そのモジ ュールに指定 さ れたネ ッ ト リ ス ト 、 オプシ ョ ン、 制約を使用 し て配
置配線が最初か ら 実行 さ れます。
•
[Import]
モジ ュ ールは定義 さ れてお り 、 結果が別の コ ン フ ィ ギ ュ レーシ ョ ンか ら コ ピー さ れます。 イ ン
プ リ メ ン テーシ ョ ンが実行 さ れ る と 、 配置配線で こ のモジ ュールのプ ロ モー ト さ れたデ ィ レ ク
ト リ か ら 結果が コ ピー さ れ、 同 じ 結果が保持 さ れます。
•
[Implemented] ( コ ン フ ィ ギ ュ レーシ ョ ンの場合は [PAR Complete!])
選択 し た コ ン フ ィ ギ ュ レーシ ョ ンでモジ ュールの配置配線が問題な く 終了 し た こ と を示 し てい
ます。
•
[Imported]
モジ ュ ールがプ ロ モー ト さ れた run か ら 問題な く コ ピー さ れてい ます。
•
[Promoted]
モ ジ ュ ールはプ ロ モー ト さ れてお り 、 ほかの コ ン フ ィ ギ ュ レ ーシ ョ ン に含 ま れ る 重複す る モ
ジ ュ ールで [Import] に設定 さ れてい る も のには、 こ の結果が イ ン ポー ト さ れます。
78
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
コ ン フ ィ ギ ュ レーシ ョ ンの検証
こ れ ら の イ ンプ リ メ ン テーシ ョ ン run の結果は、PlanAhead プ ロ ジ ェ ク ト デ ィ レ ク ト リ の次の フ ォ
ルダーにあ り ます。
<project_name>.runs\<configuration_name>
プ ロ モー ト さ れ た run は PlanAhead プ ロ ジ ェ ク ト デ ィ レ ク ト リ の別の フ ォ ル ダーに あ り ま す。
<project_name>.promote\<configuration_name>
こ のデザ イ ン例の場合、 FFF、 SSS、 FSF、 BB に対 し て XFFF、 XSSS、 お よ び XBB と い う デ ィ レ ク
ト リ が作成 さ れます。 FSF は、 使用 さ れ る モジ ュ ールがすべてほかの コ ン フ ィ ギ ュ レーシ ョ ンか ら
イ ンプ リ メ ン ト さ れてい る ので、 プ ロ モー ト す る必要はあ り ません。
コ ン フ ィ ギ ュ レーシ ョ ンの検証
pr_verify は、デザ イ ンの コ ン フ ィ ギ ュ レーシ ョ ンの イ ンプ リ メ ン テーシ ョ ン を検証す る ため、す
べての イ ンプ リ メ ン ト 済み コ ン フ ィ ギ ュ レーシ ョ ンに対 し て呼び出す必要があ り ます。
1. [Configurations] ビ ュ ーで コ ン フ ィ ギ ュ レーシ ョ ン を右 ク リ ッ ク し て [Verify Configuration] を
ク リ ッ ク し 、pr_verify を起動 し ます (図 4-36)。こ れは、すべてのデザ イ ン ルールに し たがっ
てい る か ど う か を確認す る ため、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン で重要な手順
です。
X-Ref Target - Figure 4-36
図 4-36 : コ ン フ ィ ギ ュ レーシ ョ ンの検証
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
79
第 4 章 : PlanAhead サポー ト
2. 検証す る コ ン フ ィ ギ ュ レーシ ョ ン を選択す る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます (図 4-37)。コ
ン フ ィ ギ ュ レーシ ョ ン を選択 し 、 出力フ ァ イ ルを指定 し ます。
ハー ド ウ ェ アで問題が発生 し ない よ う に、 すべての コ ン フ ィ ギ ュ レーシ ョ ン を検証す る必要が
あ り ます。
X-Ref Target - Figure 4-37
図 4-37 : 検証する コ ン フ ィ ギ ュ レーシ ョ ンの選択
ワー ク スペース には、 ロ グ フ ァ イ ル も 表示 さ れます。 pr_verify 中にエ ラ ーが検出 さ れなければ、
BIT フ ァ イ ルを作成 し ます。
80
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
BIT フ ァ イルの生成
BIT フ ァ イルの生成
コ ン フ ィ ギ ュ レ ーシ ョ ン が問題な く イ ン プ リ メ ン ト さ れ、 pr_verify ですべて の コ ン フ ィ ギ ュ
レーシ ョ ンが検証 さ れた ら 、 BIT フ ァ イ ルを生成で き ます。
[Design Runs] ビ ュ ーのポ ッ プア ッ プ メ ニ ューか ら [Generate Bitstream] を ク リ ッ ク し ます
(図 4-38)。
X-Ref Target - Figure 4-38
図 4-38 : BIT フ ァ イルの生成
こ れに よ り 、 コ ン フ ィ ギ ュ レーシ ョ ンの フル BIT フ ァ イ ル と 選択 し た コ ン フ ィ ギ ュ レーシ ョ ンの各
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのパーシ ャ ル BIT フ ァ イ ルが生成 さ れます。
注記 : ブ ロ ッ ク RAM の内容を ア ッ プデー ト す る のに Data2MEM プ ロ グ ラ ム を実行す る必要があ
る 場合は (EDK プ ロ セ ッ サ シ ス テ ムの場合な ど )、BitGen コ マ ン ド を -bd オプシ ョ ン を使用 し て実
行す る と 、ビ ッ ト ス ト リ ーム生成の一部 と し て Data2MEM が実行 さ れます。詳細は、第 7 章の「EDK
と の連動」 を参照 し て く だ さ い。
注記 : 暗号化 さ れたパーシ ャ ル BIT フ ァ イ ル (bitgen -g encrypt で生成) は、 Virtex-6 デバ イ
ス でサポー ト さ れます。こ の場合、各 コ ン フ ィ ギ ュ レーシ ョ ンに対 し て同 じ NKY フ ァ イ ルを指定 し
て、 暗号キーの値が同 じ にな る よ う にす る 必要があ り ます。 暗号化 さ れたパーシ ャ ル BIT フ ァ イ ル
は、 Virtex-4 お よ び Virtex-5 デバ イ ス ではサポー ト さ れません。
こ のサ ンプル デザ イ ン では、 FFF コ ン フ ィ ギ ュ レーシ ョ ンに対 し て次の BIT フ ァ イ ルが生成 さ れ
ます。
•
fff.bit
•
fff_reconfig_blue_blue_fast_partial.bit
•
fff_reconfig_red_red_fast_partial.bit
•
fff_reconfig_green_green_fast_partial.bit
複数の コ ン フ ィ ギ ュ レ ーシ ョ ン を選択 し て、 1 度にプ ロ ジ ェ ク ト 全体の フ ル BIT フ ァ イ ル と パー
シ ャ ル BIT フ ァ イ ルすべて を作成する こ と も で き ます。
フル BIT フ ァ イ ル と パーシ ャ ル BIT フ ァ イ ルは コ ン フ ィ ギ ュ レーシ ョ ン別のデ ィ レ ク ト リ にそれ
ぞれ出力 さ れます。 詳細は、 「 コ ン フ ィ ギ ュ レーシ ョ ンの制御」 を参照 し て く だ さ い。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
81
第 4 章 : PlanAhead サポー ト
PlanAhead プ ロ ジ ェ ク ト のデ ィ レ ク ト リ 構造
PlanAhead では、 図 4-39 に示す よ う に、 すべての フ ァ イ ル、 コ ン フ ィ ギ ュ レーシ ョ ン、 イ ン プ リ
メ ン テーシ ョ ン な ど のデザ イ ン デー タ が単純で構造的な方法で分類 さ れ保存 さ れます。
X-Ref Target - Figure 4-39
図 4-39 : PlanAhead パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンのデ ィ レ ク ト リ 構造
こ の構造は、 PlanAhead ソ フ ト ウ ェ アの /project デ ィ レ ク ト リ と 類似 し てい ます。 プ ロ ジ ェ ク ト
のネ ッ ト リ ス ト と 制約は、 <project>.srcs デ ィ レ ク ト リ に イ ン ポー ト さ れ ま す。 こ のデ ィ レ ク
ト リ は、 GUI の表示 と 同様に構成 さ れてお り 、 ス タ テ ィ ッ ク ロ ジ ッ ク は sources_1 デ ィ レ ク ト リ
の下に、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ソ ース は適切な名前の付いたデ ィ レ ク ト リ の下に保存
さ れます。 BIT フ ァ イ ル も 含めた イ ンプ リ メ ン テーシ ョ ン run は、 該当す る フ ロ アプ ラ ンお よ び コ
ン フ ィ ギ ュ レ ーシ ョ ン の下の /PlanAhead.runs デ ィ レ ク ト リ に保存 さ れ ます。 プ ロ モー ト さ れ
た コ ン フ ィ ギ ュ レーシ ョ ンは /PlanAhead.promote デ ィ レ ク ト リ に保存 さ れ、X と い う 文字がそ
の前に追加 さ れます。
82
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
第5章
コマン ド ラ イ ン スク リ プ ト
こ の章では、 GUI を使用せずにツールセ ッ ト か ら フ ロ ーを自動化す る方法 と 推奨事項を示 し ます。
ザ イ リ ン ク ス では、 パーテ ィ シ ョ ン ベース のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン を定
義 し て イ ンプ リ メ ン ト す る Tcl ス ク リ プ ト 例を提供 し てい ます。 こ れ ら の ス ク リ プ ト は、 一般的な
フ ロ ーに使用で き 、 ま た カ ス タ ム フ ロ ーに合わせて修正で き ます。
こ れ ら の ス ク リ プ ト を実行す る には、Tcl シ ェ ルが使用で き る よ う にな っ てい る 必要があ り ます。ほ
と ん ど の Linux のデ ィ ス ト リ ビ ュ ーシ ョ ン では、 Tcl シ ェ ルはデフ ォ ル ト で /usr/bin デ ィ レ ク ト
リ に イ ン ス ト ール さ れてい ます。 Tcl シ ェ ルが イ ン ス ト ール さ れていない場合は、
http://www.activestate.com/activetcl か ら 無料でダ ウ ン ロ ー ド で き ま す。 こ のガ イ ド の ス ク リ プ ト
は、 Tcl バージ ョ ン 8.4 を使用 し てテ ス ト さ れてい ます。
Tcl ス ク リ プ ト
•
xpartition.tcl
パーテ ィ シ ョ ン ベース のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン を定義 し イ ンプ リ メ
ン ト し ます。 3 つの Tcl ス ク リ プ ト を呼び出 し て、 それ ら の関数を実行 し ます。 こ の ス ク リ プ ト
は完全な フ ロ ーを実行す る のに使用 し て く だ さ い。
•
gen_xp.tcl
各プ ロ ジ ェ ク ト に必要なパーテ ィ シ ョ ン フ ァ イ ルを作成お よ び変更 し ます。
xpartition.tcl ス ク リ プ ト か ら 呼び出 さ れます。
•
implement.tcl
パーテ ィ シ ョ ン ベース のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ン
を イ ンプ リ メ ン ト し ます。 xpartition.tcl ス ク リ プ ト か ら 呼び出 さ れます。
•
export.tcl
必要な フ ァ イ ルをエ ク ス ポー ト し 、 パーテ ィ シ ョ ン を今後の
xpartition.tcl ス ク リ プ ト か ら 呼び出 さ れます。
run に イ ン ポー ト し ます。
xpartition.tcl フ ァ イ ルは data.tcl フ ァ イ ルを引数 と し て使用 し ます。 data.tcl フ ァ イ ル
には、 パーテ ィ シ ョ ン定義、 コ ン フ ィ ギ ュ レーシ ョ ン、 イ ンプ リ メ ン テーシ ョ ンのオプシ ョ ンが含
ま れ ます。 こ の フ ァ イ ルを使用す る と 、 Tcl ス ク リ プ ト を変更 し な く て も デザ イ ン と そのオプシ ョ
ン を変更で き ます。
次は、 こ の Tcl ス ク リ プ ト を呼び出す コ マ ン ド ラ イ ン の例です。 こ れは、 第 3 章 「 ソ フ ト ウ ェ ア
ツール フ ロ ー」 で説明 さ れてい る よ う に、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト の
ルー ト フ ォ ルダーか ら 起動 し ます。
xtclsh .\Tools\xpartition.tcl .\Tools\data.tcl
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
83
第 5 章 : コ マン ド ラ イ ン ス ク リ プ ト
data.tcl のフ ォ ーマ ッ ト
data.tcl フ ァ イ ルは、 4 つのセ ク シ ョ ンに分割で き ます。 data.tcl では、 リ ス ト ま たはア レ イ 宣
言外で コ メ ン ト を記述す る のに # 記号が使用 さ れます。 リ ス ト お よ びア レ イ の メ ンバーが無視 さ れ
る よ う にする には、 削除する か、 リ ス ト ま たはア レ イ 外に コ メ ン ト と し て記述し て く だ さ い。
Color2 サンプル デザ イ ンには、 複数バージ ョ ンのデー タ フ ァ イ ルが含まれます。 こ れ ら は、 前述
の xtclsh コ マ ン ド と 同 じ よ う に使用で き ます。 こ れ ら のデー タ フ ァ イ ルは、 リ フ ァ レ ン ス と し て
含まれ、 必要に応 じ て変更で き ます。
•
data.tcl : 合成お よ び イ ンプ リ メ ン テーシ ョ ン を実行 し ます。 ス ク リ プ ト フ ロ ーを最初か ら
記述す る 場合に使用 し ます。
•
data_synth.tcl : 合成のみを実行 し ます。 コ マ ン ド ラ イ ンか ら 合成を実行 し 、 イ ンプ リ メ
ン テーシ ョ ン を PlanAhead ソ フ ト ウ ェ ア を使用 し て実行する 場合に便利です。
•
data_impl.tcl : イ ンプ リ メ ン テーシ ョ ンのみを実行 し ます。合成が既に実行 さ れていて、 タ
イ ミ ン グ制約や物理制約の調整な ど、 イ ンプ リ メ ン テーシ ョ ンに少 し 変更が必要な場合な ど に
便利です。
セ ク シ ョ ン 1 : プ ロ ジ ェ ク ト オプ シ ョ ンの設定
こ のセ ク シ ョ ンでは、 環境変数、 パーツ、 制約フ ァ イ ル、 パーテ ィ シ ョ ンお よ び リ コ ン フ ィ ギ ャ ラ
ブル モジ ュ ールな ど を含む変数を設定で き ます。
# 1:environment variables for all configurations
set ::env(XIL_TIMING_ALLOW_IMPOSSIBLE) 1
# 2:part definition
set PART xc5vlx50t-3-ff1136
# 3:constraints file
set UCF ../../Source/UCF/top_ml505.ucf
# 4:Partition names
# These names must match the actual instance names in the design
set TOP_PART
/top
set RED_PART
${TOP_PART}/reconfig_red
set GREEN_PART ${TOP_PART}/reconfig_green
set BLUE_PART
${TOP_PART}/reconfig_blue
# 5:RM names
set RED_FAST
set RED_SLOW
set RED_BB
set GREEN_FAST
set GREEN_SLOW
set GREEN_BB
set BLUE_FAST
set BLUE_SLOW
set BLUE_BB
set STATIC
84
Red_Fast
Red_Slow
Red_Blank
Green_Fast
Green_Slow
Green_Blank
Blue_Fast
Blue_Slow
Blue_Blank
Static
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
data.tcl のフ ォ ーマ ッ ト
# 1:environment variables for all configurations
次の フ ォーマ ッ ト を使用 し 、 イ ンプ リ メ ン テーシ ョ ンに必要な環境変数を定義 し ます。 こ れ ら
の変数はすべての コ ン フ ィ ギ ュ レーシ ョ ン で使用 さ れます。
set ::env(VARIABLE) value
# 2:part definition
イ ンプ リ メ ン テーシ ョ ンで タ ーゲ ッ ト と す るデバ イ ス を定義 し ます。
# 3:constraints file
制約フ ァ イ ルを指定 し ます。 すべての コ ン フ ィ ギ ュ レーシ ョ ン で使用 さ れます。
# 4:Partition names
こ れ ら の名前は、 デザ イ ンの実際の イ ン ス タ ン ス名 と 一致す る必要があ り ます。 デザ イ ンのす
べてのパーテ ィ シ ョ ンは、 リ コ ン フ ィ ギ ャ ラ ブルか ど う かに関係な く 、 こ こ で定義す る 必要が
あ り ます。 こ れ ら の名前は、 HDL の イ ン ス タ ン ス名 と 一致す る必要があ り ます。
# 5:RM names
すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュールを宣言 し ます。 こ れ ら は、 ボ ト ム ア ッ プ合成を実行
し た り 、 コ ン フ ィ ギ ュ レーシ ョ ン を定義す る のに使用 さ れます。 ス タ テ ィ ッ ク は宣言す る必要
はあ り ません。
セ ク シ ョ ン 2 : 合成のモ ジ ュ ール指定 と パーテ ィ シ ョ ン属性の定義
こ のセ ク シ ョ ンでは、 ど のモジ ュールを合成す る か定義 し 、 パーテ ィ シ ョ ンが リ コ ン フ ィ ギ ャ ラ ブ
ルか ど う か を宣言 し ます。
# 6:RM list
# Each RM in the list is synthesized with bottom-up synthesis.
# You must create a directory for each of the RMs in the list
set RMs [list $RED_FAST $RED_SLOW $GREEN_FAST $GREEN_SLOW $BLUE_FAST $BLUE_SLOW $STATIC]
# 7:Partition Attributes List
##############################################################################
# Create the per-partition attributes list.This list must be called
# "PartitionAttrsList".The format is:
# set PartitionAttrsList <partitionlist>
# where
# <partitionlist> ::= { <partitionattrs> ...}
# <partitionattrs> ::= { <partitionName> <attrslist> }
# <attrslist>
::= <namevalpair> ...
# <namevalpair> ::= { <attrName> <attrValue> }
##############################################################################
set PartitionAttrsList {
{/top {Reconfigurable false}}
{/top/reconfig_red {Reconfigurable true}}
{/top/reconfig_green {Reconfigurable true}}
{/top/reconfig_blue {Reconfigurable true}}
}
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
85
第 5 章 : コ マン ド ラ イ ン ス ク リ プ ト
# 6:RM list
# Each RM in the list is synthesized with bottom-up synthesis.
# You must create a directory for each of the RMs in the list
ボ ト ム ア ッ プ合成を実行す る必要のあ る リ コ ン フ ィ ギ ャ ラ ブル モジ ュールを指定 し ます。合成
は、 指定順に実行 さ れます。 必要なデ ィ レ ク ト リ 構造については、 後のセ ク シ ョ ン で説明 さ れ
ます。
# 7:Partition Attributes List
パーテ ィ シ ョ ンが リ コ ン フ ィ ギ ャ ラ ブルか ど う か指定で き ます。 3 つの リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ンでは Reconfigurable が true に設定 さ れてい ますが、 top には何 も 設定 さ れてい
ないので、 デフ ォ ル ト の false にな り ます。
セ ク シ ョ ン 3 : コ ン フ ィ ギ ュ レーシ ョ ンの定義
こ のセ ク シ ョ ンでは、 各 コ ン フ ィ ギ ュ レーシ ョ ンの詳細 と その イ ンプ リ メ ン ト 順を定義 し ます。
# 8:Configuration Information
##############################################################################
# Create the per-configuration variables.The format is:
#
set CONFIG1DATA <ConfigList>
#
set CONFIG2DATA <ConfigList>
#
...
#
set ALL_CFGS [list $CONFIG1DATA $CONFIG2DATA ...]
# where
#
<ConfigList>
::= { <ConfigNamePair> <Settings> }
#
<ConfigNamePair>
::= { 'ConfigName' <Name> }
#
<Settings>
::= { 'Settings' <SettingsList> }
#
<SettingsList>
::= <PartSettingsList> ...
#
<PartSettingsList> ::= <partitionName> <namevalpair> ...
##############################################################################
# Configuration FastConfig settings.
# Everything is implemented; there is no import location
set CONFIG_FastConfig {
{ConfigName FastConfig}
{Settings
{/top{State implement}}
{/top/reconfig_red
{State implement}{NetlistDir Red_Fast}{ModName Red_Fast}}
{/top/reconfig_green {State implement}{NetlistDir Green_Fast}{ModName Green_Fast}}
{/top/reconfig_blue {State implement}{NetlistDir Blue_Fast}{ModName Blue_Fast}}
}
}
# Configuration SlowConfig settings.
# Static is imported from the FastConfig
set CONFIG_SlowConfig {
{ConfigName SlowConfig}
{Settings
{/top{State import} {ImportLocation ../XFastConfig}}
{/top/reconfig_red
{State implement}{NetlistDir Red_Slow}{ModName Red_Slow}}
{/top/reconfig_green {State implement}{NetlistDir Green_Slow}{ModName Green_Slow} }
{/top/reconfig_blue {State implement}{NetlistDir Blue_Slow}{ModName Blue_Slow}}
}
}
86
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
data.tcl のフ ォ ーマ ッ ト
# Configuration FSFConfig settings.
# All 4 partitions are imported.
set CONFIG_FSFConfig {
{ConfigName FSFConfig}
{Settings
{/top{State import} {ImportLocation ../XFastConfig} }
{/top/reconfig_red {State import}{ImportLocation ../XFastConfig}{NetlistDir Red_Fast}
{ModName Red_Fast}}
{/top/reconfig_green {State import}{ImportLocation ../XFastConfig}{NetlistDir
Green_Fast} {ModName Green_Fast}}
{/top/reconfig_blue {State import}{ImportLocation ../XSlowConfig}{NetlistDir
Blue_Slow} {ModName Blue_Slow}}
}
}
# Configuration BlankConfig settings.
set CONFIG_BlankConfig {
{ConfigName BlankConfig}
{Settings
{/top{State import} {ImportLocation ../XFastConfig} }
{/top/reconfig_red {State implement}{NetlistDir Red_Blank}{ModName Red_Blank}}
{/top/reconfig_green {State implement}{NetlistDir Green_Blank}{ModName Green_Blank}}
{/top/reconfig_blue {State implement}{NetlistDir Blue_Blank}{ModName Blue_Blank}}
}
}
# 9:List of configurations in order of implementation
# finally, build the list of all the configuration data.
# This list will drive the implementation of all configurations,
# in the order they are listed
set ALL_CFGS [list $CONFIG_FastConfig $CONFIG_SlowConfig $CONFIG_FSFConfig
$CONFIG_BlankConfig]
#set ALL_CFGS [list $CONFIG_BlankConfig]
# 8:Configuration information
こ のセ ク シ ョ ンは、 各 コ ン フ ィ ギ ュ レーシ ョ ン を定義 し ます。
•
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに含まれ る も の
•
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを イ ン ポー ト す る か イ ンプ リ メ ン ト す る か
•
ど こ か ら イ ン ポー ト す る か
フ ォーマ ッ ト は次の と お り です。
set CONFIG_<config_name> {
{ConfigName <config_name>}
{Settings
{<partition_name>} {State <"implement"|"import">} > {ImportLocation
<directory to import from> } {NetlistDir <directory where RM netlist is
located>} {ModName <name of netlist file>}
}
}
ImportLocation は、 そのパーテ ィ シ ョ ンの State が import に設定 さ れてい る場合にのみ必要
です。NetlistDir は、合成が Tcl ス ク リ プ ト の外で実行 さ れた場合にのみ ModName と 異な り ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
87
第 5 章 : コ マン ド ラ イ ン ス ク リ プ ト
最初の コ ン フ ィ ギ ュ レ ーシ ョ ン では、 イ ン ポー ト す る プ ロ モー ト 済みの イ メ ージが ま だないので、
すべてのパーテ ィ シ ョ ンが イ ンプ リ メ ン ト さ れます。 イ ンプ リ メ ン テーシ ョ ンが終了す る と 、 すべ
ての コ ン フ ィ ギ ュ レーシ ョ ン が X<config_name> にエ ク ス ポー ト さ れ ます。 こ れは、 ほかの コ ン
フ ィ ギ ュ レーシ ョ ンの イ ン ポー ト デ ィ レ ク ト リ と し て も 使用で き ます。
# 9:All configurations with implementation order
# This list drives the implementation of all configurations,
# in the order they are listed
こ の リ ス ト の順序は重要です。 パーテ ィ シ ョ ンは、 最初の イ ンプ リ メ ン テーシ ョ ンが終わ る ま で イ
ン ポー ト で き ません。
セ ク シ ョ ン 4 : イ ン プ リ メ ン テーシ ョ ン オプ シ ョ ン
こ のセ ク シ ョ ンでは、 イ ンプ リ メ ン テーシ ョ ン オプシ ョ ン を変更す る変数を設定で き ます。
10:Implementation options
# set the optional implementation data flags.
# The format of the optional data is:
# RUN_RM_SYNTH=NO if the design has no modules to be synthesized bottom-up
# NGDBUILD_TOP=<top_path> is path to pre-existing top module for Ngdbuild
# NGDBUILD_SEARCH=<search_path ...> a string containing search path directories
# NGDBUILD_OPTS=<ngdbuild_command_line_options> optional cmd line options for Ngdbuild
# RUN_MAP=NO if you do not want to run Map
# MAP_OPTS=<map_command_line_options> optional command line options for Map
# RUN_PAR=NO if you do not want to run PAR
# PAR_OPTS=<par_command_line_options> optional command line options for Par
# RUN_BITGEN=NO if you do not want to generate bitstreams
array set IMPLEMENTATION_DATA { \
RUN_RM_SYNTH NO \
}
変数は、 次の と お り です。
•
SYNTH_TOOL xst/synplify_pro
ボ ト ム ア ッ プ合成を実行す る際に ど の合成ツールを使用す る か指定 し ます。 該当す る合成プ ロ
ジ ェ ク ト が Synth デ ィ レ ク ト リ に必要です。
•
RUN_RM_SYNTH YES/NO
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール リ ス ト のすべてのモジ ュールでボ ト ム ア ッ プ合成を実行す
る か ど う か設定 し ます。 最初の イ ンプ リ メ ン テーシ ョ ンでは YES に し 、 次に HDL が変更 さ れ
る ま で NO にす る 必要があ り ます。 デフ ォ ル ト は YES です。
•
NGDBUILD_TOP <path_to_top_level_netlist>
ス タ テ ィ ッ ク ロ ジ ッ ク が既に合成 さ れてい る 場合は、リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを使用
し て 合成 を 実行す る の で は な く 、 こ の 変数 を 使用 し て パ ス を 指定 で き ま す。 こ の変数は、
RUN_RM_SYNTH が NO に設定 さ れてい る 場合、ま たは ス タ テ ィ ッ ク が リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ール リ ス ト に含まれない場合に設定す る 必要があ り ます。
•
NGDBUILD_SEARCH <search_directories_for_NGDBUILD>
NGDBuild のマ ク ロ 検索パ ス と し て コ ア ネ ッ ト リ ス ト のあ る デ ィ レ ク ト リ を指定 し ます。複数
のデ ィ レ ク ト リ を指定す る には、 スペース で区切っ て { } で囲みます。 Tcl 命名規則に従い、
Windows と Linux の両方で UNIX タ イ プの ス ラ ッ シ ュ (/) を使用する 必要があ り ます。
88
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
推奨フ ロー
•
RUN_NGDBUILD YES/NO
NGDBuild をすべての イ ンプ リ メ ン テーシ ョ ンで実行する か ど う か制御 し ます。
•
RUN_MAP YES/NO
MAP をすべての イ ンプ リ メ ン テーシ ョ ンで実行す る か ど う か制御 し ます。
•
RUN_PAR YES/NO
PAR をすべての イ ンプ リ メ ン テーシ ョ ンで実行する か ど う か制御 し ます。
•
RUN_BITGEN YES/NO
BitGen をすべての イ ンプ リ メ ン テーシ ョ ンで実行す る か ど う か制御 し ます。
各 イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス に も 、 それぞれカ ス タ マ イ ズ さ れた コ マ ン ド ラ イ ン オプシ ョ
ン を使用で き ます。現在の ソ フ ト ウ ェ アでは、カ ス タ マ イ ズ さ れたオプシ ョ ンは、すべての コ ン フ ィ
ギ ュ レ ーシ ョ ン に対 し て設定 さ れ ま す。 コ マ ン ド ラ イ ン ツールを カ ス タ マ イ ズす る には、 次の 3
つの変数を使用 し ます。 こ れ ら 3 つの変数のデフ ォ ル ト では、 デフ ォ ル ト の イ ンプ リ メ ン テーシ ョ
ン オプシ ョ ン が使用 さ れ ます。 使用可能な コ マ ン ド ラ イ ン オプシ ョ ン の詳細は、 『コ マ ン ド ラ イ
ン ツール ユーザー ガ イ ド 』 (UG628) を参照 し て く だ さ い。
•
NGDBUILD_OPTS <ngdbuild_options>
オプシ ョ ンの NGDBuild コ マ ン ド ラ イ ン オプシ ョ ン
•
MAP_OPTS <map_options>
オプシ ョ ンの MAP コ マ ン ド ラ イ ン オプシ ョ ン
•
PAR_OPTS <par_options>
オプシ ョ ンの PAR コ マ ン ド ラ イ ン オプシ ョ ン
こ れ ら のオプシ ョ ンは、すべての コ ン フ ィ ギ ュ レーシ ョ ンに使用 さ れます。特定の コ ン フ ィ ギ ュ レー
シ ョ ン に対 し て別の コ マ ン ド ラ イ ン オプシ ョ ン を指定す る には、 -f オプ シ ョ ン を使用 し て、 各
デ ィ レ ク ト リ の コ マ ン ド フ ァ イ ルを選択 し ます。 次に例を示 し ます。
MAP_OPTS=<-f ./map.opt>
こ の例では、 各 イ ン プ リ メ ン テーシ ョ ンに対 し てデ ィ レ ク ト リ の map.opt フ ァ イ ルに含ま れ る オ
プ シ ョ ン が使用 さ れ ま す。 -f オプ シ ョ ン の詳細は、 『 コ マ ン ド ラ イ ン ツ ール ユーザー ガ イ ド 』
(UG628) を参照 し て く だ さ い。
推奨フ ロー
現在の と こ ろ、 こ れ ら の ス ク リ プ ト では pr_verify は実行 さ れませんが、 今後の リ リ ース で実行
さ れ る よ う にす る か ど う か調査中です。 そのため、 デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン前に、 生成
さ れた ビ ッ ト ス ト リ ーム を使用 し て pr_verify を実行す る必要があ り ます。
こ の手順を含めた フ ロ ーには、 次が推奨 さ れます。
1. Tcl ス ク リ プ ト を使用 し 、 bitgen も 含めた完全な フ ロ ーを実行 し ます。
2. デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンす る 前に pr_verify コ マ ン ド ラ イ ン を実行 し ます。 ロ グ
フ ァ イ ルで PASS と レ ポー ト さ れた ら 、 生成 さ れた ビ ッ ト ス ト リ ーム を使用で き ます。
pr_verify の実行の詳細は、 第 4 章の 「コ ン フ ィ ギ ュ レーシ ョ ンの検証」 を参照 し て く だ さ い。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
89
第 5 章 : コ マン ド ラ イ ン ス ク リ プ ト
必要な フ ァ イル と デ ィ レ ク ト リ 構造
Tcl ス ク リ プ ト には、 特定のデ ィ レ ク ト リ 構造が必要です。 ソ ース フ ァ イ ルはすべて Source デ ィ
レ ク ト リ にあ り 、 コ ン フ ィ ギ ュ レーシ ョ ンは Implementation デ ィ レ ク ト リ に イ ンプ リ メ ン ト さ
れ、 ス タ テ ィ ッ ク お よ び各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは Synth デ ィ レ ク ト リ で合成 さ れ、
フ ロ ーを実行す る ス ク リ プ ト はすべて Tools デ ィ レ ク ト リ に保存 さ れ ます。 図 5-1 は、 デ ィ レ ク
ト リ 構造の例を示 し てい ます。
X-Ref Target - Figure 5-1
図 5-1 : サン プル ス ク リ プ ト に必要なデ ィ レ ク ト リ 構造
こ れ ら のデ ィ レ ク ト リ のいずれかが存在 し ない場合、 内容が生成 さ れたか ど う かにかかわ ら ず、 ス
ク リ プ ト でプ ロ セ ス を実行で き ない可能性があ り ます。
ス ク リ プ ト が実行 さ れた ら 、 コ ン フ ィ ギ ュ レーシ ョ ンのデ ィ レ ク ト リ に移動 し 、 イ ンプ リ メ ン テー
シ ョ ン を実行 し ます。 レ ポー ト フ ァ イ ルは、 デバ ッ グに必要です。
90
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
必要な フ ァ イル と デ ィ レ ク ト リ 構造
合成 リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールのデ ィ レ ク ト リ
RUN_RM_SYNTH オプ シ ョ ン が YES に設定 さ れてい る 場合、 リ ス ト の各 リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールのデ ィ レ ク ト リ に合成入力フ ァ イ ル (.xst お よ び .prj) が含まれてい る 必要があ り ます。
XST フ ァ イ ルには、 合成 run の コ マ ン ド ラ イ ン オプシ ョ ン が含ま れ ます。 XST コ マ ン ド ラ イ ン
オプシ ョ ンの詳細は、『XST ユーザー ガ イ ド (Virtex-6、 Spartan-6、お よ び 7 シ リ ーズ用)』 (UG687)
を参照 し て く だ さ い。
次は、 XST フ ァ イ ルの例です。
run
-ifn red.prj
-ifmt mixed
-ofn red
-ofmt NGC
-p xc5vlx50t-3-ff1136
-top red
-opt_mode Speed
-opt_level 1
-power NO
-iuc NO
-keep_hierarchy NO
-netlist_hierarchy as_optimized
-rtlview Yes
-glob_opt AllClockNets
-read_cores YES
-write_timing_constraints NO
-hierarchy_separator /
-bus_delimiter <>
-case maintain
-slice_utilization_ratio 100
-bram_utilization_ratio 100
-dsp_utilization_ratio 100
-reduce_control_sets off
-verilog2001 YES
-fsm_extract YES
-fsm_encoding Auto
-safe_implementation No
-fsm_style lut
XST フ ァ イ ルでは、 入力フ ァ イ ル と し て適切な PRJ フ ァ イ ルが指定 さ れます。 PRJ フ ァ イ ルでは、
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのすべての HDL フ ァ イ ル と 、 ソ ース を コ ンパ イ ルす る ための言
語 と ラ イ ブ ラ リ が指定 さ れます。 次に例を示 し ます。
verilog work "../../Source/red_fast/led_fast.v"
verilog work "../../Source/red_fast/red_fast.v"
XST お よ び PRJ フ ァ イ ルの例は、 『XST ユーザー ガ イ ド (Virtex-6、 Spartan-6、 お よ び 7 シ リ ーズ
用)』 (UG687) に掲載 さ れてい る ほか、 ISE® Design Suite か ら も 生成 さ れます。
こ の サ ン プ ル デ ザ イ ン で は、 必要 な デ ィ レ ク ト リ は、 Red_Fast、 Red_Slow、 Red_Blank、
Green_Fast、 Green_Slow、 Green_Blank、 Blue_Fast、 Blue_Slow、 Blue_Blank、 お よ び
Static です。 NGDBUILD_TOP 変数が使用 さ れ、 $STATIC が リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの
リ ス ト か ら 削除 さ れ る 場合、 /Static デ ィ レ ク ト リ は必要あ り ません。
RUN_RM_SYNTH オプシ ョ ン が NO に設定 さ れてい る 場合、 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの
デ ィ レ ク ト リ に各モジ ュ ールのネ ッ ト リ ス ト が必要です。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
91
第 5 章 : コ マン ド ラ イ ン ス ク リ プ ト
コ ン フ ィ ギ ュ レーシ ョ ン デ ィ レ ク ト リ
コ ン フ ィ ギ ュ レ ーシ ョ ン のデ ィ レ ク ト リ には特定の内容は必要あ り ま せんが、 イ ン プ リ メ ン テー
シ ョ ン を実行す る ために作成す る必要があ り ます。上記の例の場合は、CfgFast、CfgSlow、CfgFSF
お よ び CfgBlank デ ィ レ ク ト リ です。
エ ク スポー ト デ ィ レ ク ト リ
エ ク ス ポー ト デ ィ レ ク ト リ は、 ス ク リ プ ト で作成 さ れ、 完了 し た イ ンプ リ メ ン テーシ ョ ン を含む コ
ン フ ィ ギ ュ レーシ ョ ン が含ま れ ます。 名前は、 コ ン フ ィ ギ ュ レーシ ョ ン名 (X<config_name>) に
基づい て付け ら れ ま す。 こ の例では、 XCfgFast、 XCfgSlow、 XCfgFSF、 XCfgBlank に な り ま
す。 こ れ ら のデ ィ レ ク ト リ の フ ァ イ ルは、 ス ク リ プ ト が実行 さ れ る たびに上書 き さ れます。 解析ま
たは比較のため実行結果を保存す る場合は、 別のデ ィ レ ク ト リ に コ ピー し てお き ます。
92
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
第6章
FPGA デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
こ の章では、 パーシ ャ ル BIT フ ァ イ ルを使用 し て FPGA デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンす る
際のシ ス テ ム デザ イ ンに関する 注意事項 と 、FPGA のアーキ テ ク チ ャ でパーシ ャ ル リ コ ン フ ィ ギ ュ
レーシ ョ ンに有益な機能について説明 し ます。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン のほ と ん ど の側面は標準の フル コ ン フ ィ ギ ュ レーシ ョ ン と
同 じ なので、 こ こ ではパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンのみに関連す る事項を説明 し ます。
パーシ ャ ル ビ ッ ト ス ト リ ームは、SelectMAP、シ リ アル、JTAG、ま たは ICAP (Internal Configuration
Access Port) の コ ン フ ィ ギ ュ レーシ ョ ン ポー ト を使用 し て読み込む こ と がで き ます。
SelectMAP ま たはシ リ アル モー ド を使用 し てパーシ ャ ル BIT フ ァ イ ルを読み込むには、 最初のデ
バ イ ス コ ン フ ィ ギ ュ レーシ ョ ンの後に使用で き る よ う 、 こ れ ら の ピ ン を予約 し てお く 必要があ り ま
す。こ れには、UCF 制約の CONFIG_MODE (幅 16 ま たは 32 を選択する ためにのみ必要) と bitgen
-g persist オプシ ョ ン を使用 し ます。
パーシ ャ ル ビ ッ ト ス ト リ ーム には、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン に必要なすべての コ ン
フ ィ ギ ュ レーシ ョ ン コ マ ン ド と デー タ が含ま れ ます。 コ ン フ ィ ギ ュ レーシ ョ ン フ レーム のア ド レ
ス指定情報はパーシ ャ ル ビ ッ ト ス ト リ ームに含まれ る ので、パーシ ャ ル ビ ッ ト ス ト リ ーム を FPGA
に読み込むのに、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの物理的な位置を知っ てお く 必要はあ り ま せ
ん。 パーシ ャ ル ビ ッ ト ス ト リ ームは、 FPGA デバ イ ス の間違っ た部分には送信 さ れ る こ と はあ り ま
せん。
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン コ ン ト ロ ー ラ ーに よ り 、 不揮発性 メ モ リ か ら パーシ ャ ル
ビ ッ ト ス ト リ ームが取 り 出 さ れ、 それが コ ン フ ィ ギ ュ レーシ ョ ン ポー ト に駆動 さ れます。 こ のパー
シ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン制御 ロ ジ ッ ク は、 外部デバ イ ス ( プ ロ セ ッ サな ど ) ま たは リ コ ン
フ ィ ギ ュ レーシ ョ ンす る FPGA デバ イ ス のフ ァ ブ リ ッ ク のいずれかに配置で き ます。ユーザーのデ
ザ イ ン し た内部パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン コ ン ト ロ ー ラ ーは、 パーシ ャ ル ビ ッ ト ス ト
リ ーム を ICAP イ ン タ ーフ ェ イ ス を介 し て読み込みます。内部パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ
ン制御回路は、 ス タ テ ィ ッ ク デザ イ ン のほかの ロ ジ ッ ク と 同様、 パーシ ャ ル リ コ ン フ ィ ギ ュ レー
シ ョ ン プ ロ セ ス中は割 り 込みな し で動作 し ます。
内部 コ ン フ ィ ギ ュ レ ーシ ョ ン には、 カ ス タ ム ス テー ト マシ ン ま たは MicroBlaze™ プ ロ セ ッ サや
PowerPC® 405 プ ロ セ ッ サ (PPC405) な ど のエンベデ ッ ド プ ロ セ ッ サを含め る こ と がで き ます。
ザ イ リ ン ク ス では、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン をデバ ッ グ し やす く す る ため、
iMPACT™ ツ ールでJTAG ポー ト を 介 し て FPGA デバ イ ス に フ ル ビ ッ ト ス ト リ ームお よ びパー
シ ャ ル ビ ッ ト ス ト リ ーム を読み込む こ と がで き る よ う に し てい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
93
第 6 章 : FPGA デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
ビ ッ ト ス ト リ ーム の コ ン フ ィ ギ ュ レーシ ョ ン ポー ト への読み込みについては、 次のユーザー ガ イ
ド の コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス の章を参照 し て く だ さ い。
•
『Virtex-4 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG071)
•
『Virtex-5 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG191)
•
『Virtex-6 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG360)
•
『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470)
コ ン フ ィ ギ ュ レーシ ョ ン モー ド
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは、 次の コ ン フ ィ ギ ュ レーシ ョ ン モー ド でサポー ト さ れて
い ます。
•
ICAP
ユーザー コ ン フ ィ ギ ュ レーシ ョ ン ソ リ ュ ーシ ョ ンには最適な イ ン タ ーフ ェ イ ス です。ICAP コ
ン ト ロ ー ラ ーの イ ン ス タ ン シエーシ ョ ン と ICAP イ ン タ ーフ ェ イ ス を駆動す る ロ ジ ッ ク が必要
にな り ます。
•
JTAG
簡単なテ ス ト やデバ ッ グに最適な イ ン タ ーフ ェ イ ス です。 JTAG をサポー ト す る ザ イ リ ン ク ス
コ ン フ ィ ギ ュ レーシ ョ ン ケーブルを使用 し 、 iMPACT ま たは ChipScope Analyzer か ら 駆動で
き ます。
•
ス レーブ SelectMAP ま たは ス レーブ シ リ アル
フル コ ン フ ィ ギ ュ レーシ ョ ンお よ びパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を同 じ イ ン タ ー
フ ェ イ ス で実行す る のに最適な イ ン タ ーフ ェ イ ス です。
マ ス タ ー モー ド は、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ を ク リ アする IPROG のため、 直接はサポー ト
さ れません。
94
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
フル BIT フ ァ イルのダウン ロー ド
フル BIT フ ァ イルのダウン ロー ド
デジ タ ル シ ス テ ム の FPGA デバ イ ス は、 パ ワ ー オ ン リ セ ッ ト 後に、 PROM か ら 直接ま たはマ イ
ク ロ プ ロ セ ッ サに よ り 汎用 メ モ リ 空間か ら フル BIT フ ァ イ ルを ダ ウ ン ロ ー ド す る こ と に よ り 、 コ ン
フ ィ ギ ュ レーシ ョ ン さ れます。 フル BIT フ ァ イ ルには、 FPGA デバ イ ス を リ セ ッ ト し 、 完成 し たデ
ザ イ ンで コ ン フ ィ ギ ュ レーシ ョ ン し 、 BIT フ ァ イ ルが破損 し ていないか ど う か を検証す る ために必
要な情報がすべて含まれます。 図 6-1 に、 こ のプ ロ セ ス を示 し ます。
X-Ref Target - Figure 6-1
Partial Configuration Bit File
Config. Data
Check Sum
Configuration Mode
Start
Vcc Rise
Vcc
Stable
Power-on
Reset
FPGA
Header
Download Full
Bit File
User Mode
DONE
Asserted
X12031
図 6-1 : フ ル BIT フ ァ イルを使用 し た コ ン フ ィ ギ ュ レーシ ョ ン
最初の コ ン フ ィ ギ ュ レ ーシ ョ ン が完了 し て検証 さ れ る と 、 FPGA デバ イ ス がユーザー モー ド にな
り 、 ダ ウ ン ロ ー ド し たデザ イ ンが動作 し 始め ます。 BIT フ ァ イ ルの破損が検出 さ れ る と 、 DONE 信
号はアサー ト さ れず、 FPGA デバ イ ス も ユーザー モー ド にな ら ず、 デザ イ ンが動作 し 始め る こ と は
あ り ません。
パーシ ャル BIT フ ァ イルのダウン ロー ド
部分的に リ コ ン フ ィ ギ ュ レーシ ョ ン さ れ る FPGA デバ イ ス は、 パーシ ャ ル BIT フ ァ イ ルが読み込
まれてい る 間、 ユーザー モー ド にな り ます。 こ れに よ り 、 リ コ ン フ ィ ギ ャ ラ ブル部分が変更 さ れて
い る 間、 リ コ ン フ ィ ギ ュ レーシ ョ ン さ れない FPGA ロ ジ ッ ク 部分は動作 し 続け る こ と がで き ます。
図 6-2 は、 こ のプ ロ セ ス を示 し てい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
95
第 6 章 : FPGA デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
X-Ref Target - Figure 6-2
Partial Configuration Bit File
FPGA
Config. Data
Configuration Mode
Start
Vcc Rise
Initial Configuration
User Mode
Done
Asserted
Download
Partial Bit File
X12032
図 6-2 : パーシ ャ ル BIT フ ァ イルを使用 し た コ ン フ ィ ギ ュ レーシ ョ ン
パーシ ャ ル BIT フ ァ イ ルには、 ヘ ッ ダーがな く 、 FPGA デバ イ ス を ユーザー モー ド にす る ス タ ー
ト ア ッ プ シーケ ン ス も あ り ません。 BIT フ ァ イ ルには、基本的に フ レーム ア ド レ ス と コ ン フ ィ ギ ュ
レーシ ョ ン デー タ 、 最終的なチ ェ ッ ク サム値のみが含ま れ ます。 パーシ ャ ル BIT フ ァ イ ルの情報
が専用モー ド ま たは ICAP を使用 し てすべて FPGA デバ イ ス に送信 さ れ る 場合、 完了を示す外部
DONE ピ ンはアサー ト さ れません。
コ ン フ ィ ギ ュ レーシ ョ ンが終了 し た と き にデー タ が送信 さ れたか ど う かは、 ユーザーがモニ タ ーす
る 必要があ り ます。 パーシ ャ ル BIT フ ァ イ ルの終わ り には、 BIT フ ァ イ ルが完全に送信 さ れ こ と を
コ ン フ ィ ギ ュ レ ーシ ョ ン エ ン ジ ン に知 ら せ る DESYNCH ワ ー ド (0000000D) が含 ま れ ま す。 こ の
ワー ド は NO OP コ マ ン ド のパデ ィ ン グ後に配置 さ れてお り 、 DESYNCH に到達すれば、 すべての コ
ン フ ィ ギ ュ レーシ ョ ン デー タ が既にデバ イ ス を介 し て タ ーゲ ッ ト フ レーム に送信 さ れてい る こ と
が確実にな り ます。 完全なパーシ ャ ル BIT フ ァ イ ルが コ ン フ ィ ギ ュ レーシ ョ ン ポー ト に送信 さ れ
た ら 、 リ コ ン フ ィ ギ ュ レーシ ョ ン領域を ア ク テ ィ ブな使用のために解放で き ます。
FPGA デバイ ス を コ ン フ ィ ギ ュ レーシ ョ ンする ためのシス テム デザイ ン
パーシ ャ ル BIT フ ァ イ ルはフル BIT フ ァ イ ル と 同 じ 方法で FPGA デバ イ ス にダ ウ ン ロ ー ド で き ま
す。 ど のパーシ ャ ル BIT フ ァ イ ルを ダ ウ ン ロ ー ド す る かは外部マ イ ク ロ プ ロ セ ッ サで決定 さ れ ま
す。 外部 マ ク ロ プ ロ セ ッ サ は、 外部 の メ モ リ 空間 に あ り 、 パー シ ャ ル BIT フ ァ イ ル を JTAG、
SelectMAP、 シ リ アル イ ン タ ーフ ェ イ ス な ど の標準的な FPGA コ ン フ ィ ギ ュ レーシ ョ ン ポー ト に
送信 し ます。 FPGA デバ イ ス では、 パーシ ャ ル BIT フ ァ イ ルを受信す る ための特別な命令がな く て
も 、 パーシ ャ ル BIT フ ァ イ ルが正 し く 処理 さ れます。
通常は、 フル BIT フ ァ イ ルを ダ ウ ン ロ ー ド する 前に FPGA コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ
イ ス の INIT ま たは PROG 信号を アサー ト し ておき ます。こ れ ら の信号を アサー ト す る と 、パーシ ャ
ル BIT フ ァ イ ルではな く フル BIT フ ァ イ ルの送信が指定 さ れ る ので、 パーシ ャ ル BIT フ ァ イ ルを
ダ ウ ン ロ ー ド す る 前にはアサー ト し ないで く だ さ い。
96
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
FPGA デバイ ス を コ ン フ ィ ギ ュ レーシ ョ ンする ためのシ ス テム デザイ ン
イ ネーブル信号を保持 し た り ク ロ ッ ク をデ ィ ス エーブルに し た り す る な ど、パーシ ャ ル BIT フ ァ イ
ルが送信 さ れ る こ と を動作中のデザ イ ンに通知す る操作は、専用の FPGA コ ン フ ィ ギ ュ レーシ ョ ン
ピ ン を使用す る のではな く 、 デザ イ ン内で実行する 必要があ り ます。 図 6-3 は、 マ イ ク ロ プ ロ セ ッ
サ を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス を示 し てい ます。
X-Ref Target - Figure 6-3
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
図 6-3 : マ イ ク ロ プ ロ セ ッ サを使用 し た コ ン フ ィ ギ ュ レーシ ョ ン
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン では、 標準的な コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス
だけでな く 、 ICAP (Internal Configuration Access Port) に よ る コ ン フ ィ ギ ュ レーシ ョ ン も サポー ト
さ れ ます。 ICAP プ ロ ト コ ルは SelectMAP と 同 じ です。 詳細は、 該当す る FPGA デバ イ ス の コ ン
フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド を 参照 し て く だ さ い。 ICAP ラ イ ブ ラ リ プ リ ミ テ ィ ブは、
FPGA デザ イ ンの HDL コ ー ド で イ ン ス タ ン シエー ト で き る ので、 コ ン フ ィ ギ ュ レーシ ョ ン ポー ト
に送信 さ れ る 前に、 パーシ ャ ル BIT フ ァ イ ルを解析お よ び制御で き ます。 パーシ ャ ル BIT フ ァ イ
ルは汎用 I/O ま た は ギ ガ ビ ッ ト ト ラ ン シーバー を 介 し て FPGA デバ イ ス に ダ ウ ン ロ ー ド で き 、
FPGA フ ァ ブ リ ッ ク の ICAP に転送 さ れます。
暗号化 さ れた 7 シ リ ーズお よ び Virtex®-6 のパーシ ャ ル BIT フ ァ イ ルのパーシ ャ ル リ コ ン フ ィ
ギ ュ レーシ ョ ン には、 ICAP を 8 ビ ッ ト バ ス で使用す る 必要があ り ます。 暗号化を使用す る 場合、
外部 コ ン フ ィ ギ ュ レーシ ョ ン ポー ト を介 し て リ コ ン フ ィ ギ ュ レーシ ョ ンす る こ と はで き ません。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
97
第 6 章 : FPGA デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
パーシ ャル BIT フ ァ イルの整合性
フル BIT フ ァ イ ル と 比べ る と 、 パーシ ャ ル BIT フ ァ イ ルのエ ラ ー検出 と 復元には独自の要件があ
り ま す。 フル BIT フ ァ イ ルが FPGA デバ イ ス に読み込 ま れ る 際にエ ラ ーが検出 さ れ る と 、 FPGA
デバ イ ス がユーザー モー ド にな る こ と はあ り ません。 エ ラ ーは、 破損デザ イ ンが コ ン フ ィ ギ ュ レー
シ ョ ン メ モ リ に読み込 ま れ、 特定信号がエ ラ ー状態を示すためにアサー ト さ れ る と 、 検出 さ れ ま
す。 FPGA デバ イ ス はユーザー モー ド にはな ら ないので、 破損デザ イ ンがア ク テ ィ ブにな る こ と は
あ り ません。 エ ラ ーが検出 さ れた場合は、 異な る BIT フ ァ イ ルを ダ ウ ン ロ ー ド す る な ど、 コ ン フ ィ
ギ ュ レーシ ョ ン エ ラ ーか ら 回復す る ためのシ ス テ ム動作を設計者が決定 し ます。
パーシ ャ ル BIT フ ァ イ ルの ダ ウ ン ロ ー ド では、 エ ラ ー検出 と 復元に こ の手法は使用で き ま せん。
パーシ ャ ル BIT フ ァ イ ルが読み込ま れ る 際、 FPGA デバ イ ス は既にユーザー モー ド にな っ てい ま
す。 コ ン フ ィ ギ ュ レーシ ョ ン回路では BIT フ ァ イ ルが読み込まれた後にのみエ ラ ー検出がサポー ト
さ れ る ので、 破損パーシ ャ ル BIT フ ァ イ ルがア ク テ ィ ブにな る こ と があ り 、 長時間動作 し た ま ま に
し てお く と 、 FPGA デバ イ ス にダ メ ージ を与え る こ と も あ り ます。
CRC エ ラ ーがパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中に検出 さ れ る と 、 FPGA の INIT_B ピ ンが
アサー ト さ れて Low にな り ます。シ ス テ ムで最初の コ ン フ ィ ギ ュ レーシ ョ ン中の CRC エ ラ ーを検
出す る ため INIT_B を モニ タ ーす る よ う に し てい る場合、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン中
の CRC エ ラ ーで も 処理が実行 さ れ る こ と に注意 し て く だ さ い。 FPGA 内に CRC エ ラ ーがあ る か
ど う か を検出す る には、 ICAP ブ ロ ッ ク を介 し て CRC ス テー タ ス を モニ タ ー し ます。 パーシ ャ ル
BIT フ ァ イ ルに CRC エ ラ ーがあ る と 、ス テー タ ス レ ジ ス タ (STAT) の CRC_ERROR フ ラ グ ( ビ ッ ト
0) がアサー ト さ れます。
考慮す る 必要のあ る パーシ ャ ル BIT フ ァ イ ルのエ ラ ーには、 デー タ エ ラ ー と ア ド レ ス エ ラ ーの 2
つがあ り ます (パーシ ャ ル BIT フ ァ イ ルは基本的にア ド レ ス と デー タ の情報です)。
デー タ 部分にエ ラ ーがあ る場合は、 簡単に復元で き ます。 新 し いパーシ ャ ル BIT フ ァ イ ル ( ま たは
空のパーシ ャ ル BIT フ ァ イ ル) を読み込んで、 破損を修復 し ます。
パーシ ャ ル BIT フ ァ イ ルのア ド レ ス部分にエ ラ ーがあ る 場合は、 簡単には復元で き ません。 破損が
FPGA の ス タ テ ィ ッ ク 部分を変更 し て し ま う 可能性があ り ます。 こ の場合、 安全に復元す る には、
新 し い フ ル BIT フ ァ イ ルを ダ ウ ン ロ ー ド し て、 ス タ テ ィ ッ ク ロ ジ ッ ク の ス テー ト を確定す る し か
方法はあ り ませんが、 こ の場合 FPGA デバ イ ス全体を リ セ ッ ト する 必要があ り ます。
多 く のシ ス テ ムは複雑な復元 メ カ ニズ ム を必要 と し ません。 こ れは、 FPGA デバ イ ス全体の リ セ ッ
ト が重要ではなか っ た り 、 パーシ ャ ル BIT フ ァ イ ルが ロ ーカルに保存 さ れ る か ら です。 こ の場合、
BIT フ ァ イ ルの破損の可能性はほ と ん ど あ り ません。 パーシ ャ ル BIT フ ァ イ ルを ラ ジオ リ ン ク を
介 し て送信す る 場合な ど、 BIT フ ァ イ ルが破損 し て し ま う 危険性のあ る シ ス テ ムには、 問題を軽減
する ためのデザ イ ン回路を含め る 必要があ り ます。 こ の場合、 パーシ ャ ル BIT フ ァ イ ルが ICAP に
読み込 ま れてデバ イ ス がパーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン さ れ る 直前に、 フ ァ イ ルを FPGA
フ ァ ブ リ ッ ク で ロ ーカルに処理す る方法があ り ます。
FPGA デザ イ ンの ス タ テ ィ ッ ク ロ ジ ッ ク には、 パーシ ャ ル BIT フ ァ イ ルが ICAP に送信 さ れ る 前
に解析す る 回路を含め る こ と がで き ます。 エ ラ ーが検出 さ れ る と 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レー
シ ョ ンが停止 し 再試行 さ れ る か、既知の問題のないパーシ ャ ル BIT フ ァ イ ルが代わ り に読み込まれ
ます。 図 6-4 は、 こ のプ ロ セ ス を示 し てい ます。
98
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
パーシ ャル BIT フ ァ イルの整合性
X-Ref Target - Figure 6-4
FPGA
Corruption
Buffer
CRC
Verify
Host
Bit Files
ICAP
X12034
図 6-4 : パーシ ャ ル BIT フ ァ イルのエ ラ ー検出
パーシ ャ ル BIT フ ァ イ ルには、 整合性をチ ェ ッ ク す る ために使用で き る CRC 情報が含ま れ ます。
ま たは、 ユーザーがカ ス タ ムの CRC 情報を生成 し てパーシ ャ ル BIT フ ァ イ ル と 共に送信す る こ と
も で き ます。 こ の方法は、 第 2 章 「 よ く 使用 さ れ る アプ リ ケーシ ョ ン」 に説明 さ れ る 「非対称鍵暗
号化方式」 のアプ リ ケーシ ョ ン と 類似 し てい ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
99
第 6 章 : FPGA デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
パーシ ャル ビ ッ ト ス ト リ ームの CRC チ ェ ッ ク
パーシ ャ ル ビ ッ ト ス ト リ ーム はア ク テ ィ ブ デザ イ ン に読み込 ま れ、 ビ ル ト イ ン CRC チ ェ ッ ク は
ビ ッ ト ス ト リ ーム の最後ま で実行 さ れないので、 ビ ッ ト ス ト リ ーム デー タ が FPGA に読み込ま れ
る 前にそれを確認す る CRC チ ェ ッ カーを イ ン プ リ メ ン ト す る こ と をお勧め し ます。 こ の問題の完
全な ソ リ ュ ーシ ョ ン には、 ソ フ ト ウ ェ ア ソ リ ュ ーシ ョ ン と ハー ド ウ ェ ア ソ リ ュ ーシ ョ ン の両方が
必要です。 ソ フ ト ウ ェ ア ソ リ ュ ーシ ョ ンでは、 ブ ロ ッ ク ま たはデー タ フ レームの CRC 値が計算 さ
れ、 ビ ッ ト ス ト リ ームにその CRC 値が挿入 さ れます。 ハー ド ウ ェ ア ソ リ ュ ーシ ョ ンでは、 CRC 値
が計算 し 直 さ れ、 ビ ッ ト ス ト リ ームに埋め込まれた ソ フ ト ウ ェ ア値 と 比較 さ れます。
こ の ソ リ ュ ーシ ョ ンは、格納 さ れた BIT フ ァ イ ルの整合性に問題が発生す る可能性があ る場合にの
み必要です。 た と えば、 パーシ ャ ル BIT フ ァ イ ルを現場のシ ス テ ムに リ モー ト でア ッ プ ロ ー ド す る
場合や、 放射線の影響を受け る可能性のあ る宇宙用アプ リ ケーシ ョ ン な ど で必要にな り ます。
図 6-5 に、 こ の よ う な ソ リ ュ ーシ ョ ンの概略図を示 し ます。
X-Ref Target - Figure 6-5
Software Solution
Original Partial
Bit File
Bit File split
into Sections
CRC generated
for each Section
Partial Bit File
reassembled w/CRC
Hardware Solution
ERROR
DONE
NO
Pass?
BRAM
Packets enter
FPGA
Config Data
stored w/o CRC
YES
ICAP
CRC calculated from
BRAM, check vs. Packet
Shift Data
to ICAP
X12035
図 6-5 : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザイ ンの CRC チ ェ ッ ク
こ の図の上半分は、 ソ フ ト ウ ェ ア ソ リ ュ ーシ ョ ンの概念を示 し てい ます。 こ れは、 ス ク リ プ ト を使
用 し て イ ン プ リ メ ン ト で き ま す。 ま た、 将来の ソ フ ト ウ ェ ア リ リ ー ス に含 ま れ る BitGen で も ソ
リ ュ ーシ ョ ン を提供す る予定です。
こ の図の下半分は、 ハー ド ウ ェ ア ソ リ ュ ーシ ョ ン の概念を示 し てい ま す。 将来の ソ フ ト ウ ェ ア リ
リ ース では、 BitGen の ソ リ ューシ ョ ン と 連動す る よ う な リ フ ァ レ ン ス デザ イ ン /IP コ ア を提供す る
予定です。
こ れ と 同 じ よ う な ソ リ ューシ ョ ン を使用 し て CRC エ ラ ーが検出 さ れた場合、データ を再送信 し て問
題を修正す る 方法はユーザー自身で見つけ る必要があ り ます。 デー タ 破損は破損デー タ が読み込ま
れ る前にわか る ので、 ス タ テ ィ ッ ク ロ ジ ッ ク を リ コ ン フ ィ ギ ュ レーシ ョ ンする必要はあ り ません。
100
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
コ ン フ ィ ギ ュ レーシ ョ ン フ レーム
コ ン フ ィ ギ ュ レーシ ョ ン フ レーム
Virtex お よ び 7 シ リ ーズ FPGA デバ イ ス内のユーザー プ ロ グ ラ マブル機能は、 電源投入時に コ ン
フ ィ ギ ュ レーシ ョ ン さ れ る必要のあ る揮発性 メ モ リ セルで制御 さ れます。 こ れ ら の メ モ リ セルは、
「 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ 」 と 総称 さ れ、 LUT 式、 信号配線、 IOB 電圧規格、 お よ びその他
デザ イ ンのすべての側面を定義 し ます。
Virtex お よ び 7 シ リ ーズ FPGA アーキ テ ク チ ャ の コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ は、 デバ イ ス の
周囲に タ イ ル状に並んだ フ レームに配置 さ れてい ます。 こ れ ら の フ レームは、 デバ イ ス の コ ン フ ィ
ギ ュ レーシ ョ ン メ モ リ 空間で最 も 小 さ なア ド レ ス指定可能なセグ メ ン ト なので、すべての操作を コ
ン フ ィ ギ ュ レーシ ョ ン フ レーム全体に対 し て実行す る必要があ り ます。各デバ イ ス の コ ン フ ィ ギ ュ
レーシ ョ ン フ レーム数は、 該当す る FPGA デバ イ ス フ ァ ミ リ の コ ン フ ィ ギ ュ レーシ ョ ン ユーザー
ガ イ ド (Virtex-4 の場合は表 7-1、 Virtex-5 の場合は表 6-1、 Virtex-6 の場合は表 6-22) を参照 し て
く だ さ い。 7 シ リ ーズ デバ イ ス には こ の情報はあ り ません。
リ コ ン フ ィ ギ ャ ラ ブル フ レームは、 こ れ ら の コ ン フ ィ ギ ュ レーシ ョ ン フ レーム上に構築 さ れ、パー
シ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を実行す る最小の構築ブ ロ ッ ク です。
•
7 シ リ ーズ FPGA のベース領域は高 さ 50 CLB X 幅 1 CLB
•
Virtex-6 FPGA のベース領域は高 さ 40 CLB X 幅 1 CLB
•
Virtex-5 FPGA のベース領域は高 さ 20 CLB X 幅 1 CLB
•
Virtex-4 FPGA のベース領域は高 さ 16 CLB X 幅 1 CLB
ブ ロ ッ ク RAM、 IOB、 I/O エ レ メ ン ト (ILOGIC、 OLOGIC、 IODELAY、 DSP48) な ど の別のエ レ メ
ン ト タ イ プに も 、 同様のベース領域があ り ます。 ベース領域の高 さ は ク ロ ッ ク 領域ま たは I/O バン
ク に対応 し ます。 こ れ ら のベース領域のサ イ ズ を調べ る には、 PlanAhead™ ソ フ ト ウ ェ アの フ ロ ア
プ ラ ン機能を使用 し て く だ さ い。
PlanAhead のマニ ュ アルの 「フ レーム」 お よ び上記の 「 リ コ ン フ ィ ギ ャ ラ ブル フ レーム」 は、 デバ
イ ス の コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド の 「 コ ン フ ィ ギ ュ レーシ ョ ン フ レーム」 と は意味
が異な り ます。 フ レームは、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの [PR Statistics] タ ブに示 さ れ
る よ う に、 最小の リ コ ン フ ィ ギ ャ ラ ブル構築ブ ロ ッ ク であ り 、 こ れ以上分割で き ません。 1 つの リ
コ ン フ ィ ギ ャ ラ ブル フ レーム よ り も 小 さ いエ リ ア グループ を選択 し た場合で も 、 フ レーム全体が
リ コ ン フ ィ ギ ュ レーシ ョ ン さ れます。
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに対応す る Pblock を描画す る と 、 そのパーテ ィ シ ョ ンの詳
細が [Pblock Properties] ビ ュ ーに表示 さ れ ます。 [Statistics] タ ブには、 その Pblock に含ま れ る フ
レーム (領域) 数 と リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのビ ッ ト ス ト リ ーム サ イ ズの概算が表示
さ れます。 Pblock のサ イ ズ を変更す る と 、 こ の情報 も それに合わせて変更 さ れます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
101
第 6 章 : FPGA デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
コ ン フ ィ ギ ュ レーシ ョ ン時間
コ ン フ ィ ギ ュ レーシ ョ ン の速度は、 パーシ ャ ル BIT フ ァ イ ル と コ ン フ ィ ギ ュ レーシ ョ ン ポー ト の
バン ド 幅に直接関連 し ます。 表 6-1 は、 Virtex、 Kintex™-7、 Artix™-7 アーキ テ ク チ ャ の コ ン フ ィ
ギ ュ レーシ ョ ン ポー ト のバン ド 幅を示 し てい ます。
表 6-1 : Virtex アーキテ ク チ ャの コ ン フ ィ ギ ュ レーシ ョ ン ポー ト の最大バン ド 幅
コ ン フ ィ ギュ
レーシ ョ ン モー ド
最大ク ロ ッ ク レー ト
デー タ 幅
最大バン ド 幅
ICAP
100MHz
32 ビ ッ ト
3.2Gbps
SelectMAP モー ド
100MHz
32 ビ ッ ト
3.2Gbps
シ リ アル モー ド
100MHz
1 ビッ ト
100Mbps
JTAG
66MHz
1 ビッ ト
66Mbps
PlanAhead の [PR Statistics] タ ブに レ ポー ト さ れ る リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのビ ッ ト
ス ト リ ームのサ イ ズは、 作成 さ れ る パーシ ャ ル BIT フ ァ イ ルのサ イ ズの正確な予測です。 こ の数値
はバ イ ト 数なので、 ビ ッ ト ス ト リ ームのサ イ ズ を ビ ッ ト 数に変換す る には、 こ の数値を 8 倍 し ます。
例 : Virtex-5 デバ イ ス用の小 さ いパーシ ャ ル BIT フ ァ イ ルがあ り 、 200 個の ス ラ イ ス に ま たが る 領
域が含まれ、 リ コ ン フ ィ ギ ャ ラ ブル フ レーム 5 個 (幅 5 CLB X 高 さ 20 CLB = 100 CLB) が含まれ
る よ う に描画 さ れてい る と し ます。 コ ン フ ィ ギ ュ レーシ ョ ン時間は、 PlanAhead ソ フ ト ウ ェ アで表
示 さ れ る ビ ッ ト ス ト リ ーム サ イ ズ (29,520 バ イ ト ま たは 236,160 ビ ッ ト ) を使用 し て、 RBT ( ロ ー
ビ ッ ト ) フ ァ イ ルが生成 さ れ る 前に概算で き ます。SelectMAP モー ド ま たは ICAP を使用 し た場合、
こ のパーシ ャ ル BIT フ ァ イ ルを読み込むのにかか る 時間は次の と お り です。
236,160 ビ ッ ト / 3,200,000,000 bps = 0.0000738 秒
つま り 、 約 73.8 マ イ ク ロ 秒です。 パーシ ャ ル BIT フ ァ イ ルのサ イ ズはフ レーム数 と 共に増加す る
ので、 コ ン フ ィ ギ ュ レーシ ョ ン時間 も 、 フ レームの位置お よ び内容に よ っ て多少ずれ る こ と も あ り
ますが、 ほぼ直線的に増加 し ます。 ま た、 最後の フ レームが読み込まれた後に少量のオーバーヘ ッ
ド があ り ます。
ビ ッ ト ス ト リ ーム の正確な長 さ は、 BitGen で -b オプシ ョ ン を使用す る と 、 RBT フ ァ イ ルに表示
さ れます。 こ の数値 と バン ド 幅を使用 し て、 コ ン フ ィ ギ ュ レーシ ョ ンの合計時間を算出 し ます。 上
記の例で作成 さ れた ビ ッ ト ス ト リ ームのヘ ッ ダーは、 次の よ う な RBT ヘ ッ ダーにな り ます。 実際
の コ ン フ ィ ギ ュ レーシ ョ ン時間は、 約 75.6 マ イ ク ロ 秒です。
Xilinx ASCII Bitstream
Created by Bitstream L.46
Design name: FFF_routed.ncd;UserID=0xFFFFFFFF
Architecture: virtex5
Part:
5vlx50tff1136
Date:
Mon Feb 14 14:00:59 2011
Bits:
242016
11111111111111111111111111111111
102
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
コ ン フ ィ ギ ュ レーシ ョ ンのデバ ッ グ
コ ン フ ィ ギ ュ レーシ ョ ンのデバ ッ グ
ICAP イ ン タ ーフ ェ イ ス は、 JTAG や Slave SelectMAP な ど のほかの コ ン フ ィ ギ ュ レーシ ョ ン手段
が使用 さ れ る 場合で も 、 コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス をモニ タ ーする ために使用で き ます。 実
際、コ ン フ ィ ギ ュ レーシ ョ ンの ス テー タ ス は読み出 し 命令がな く て も ICAP の O ポー ト か ら 自動的
に出力 さ れます。
ICAP ブ ロ ッ ク の O ポー ト は 32 ビ ッ ト バ ス ですが、 最下位バ イ ト のみが使用 さ れます。 下位バ イ
ト のマ ッ プは、 次の よ う にな り ます。
表 6-2 : ICAP の O ポー ト のビ ッ ト
ビ ッ ト 番号
ス テー タ ス ビ ッ ト
O[7]
CFGERR_B
説明
コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ー ( ア ク テ ィ ブ Low)
0 = コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーが発生
1 = コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーな し
O[6]
DALIGN
同期ワー ド の受信 ( ア ク テ ィ ブ High)
0 = 同期ワー ド の受信な し
1 = イ ン タ ーフ ェ イ ス ロ ジ ッ ク で同期ワー ド を受信
O[5]
RIP
リ ー ド バ ッ ク を実行中 (ア ク テ ィ ブ High)
0 = 処理中の リ ー ド バ ッ ク な し
1 = リ ー ド バ ッ ク を処理中
O[4]
IN_ABORT_B
ABORT を実行中 (ア ク テ ィ ブ Low)
0 = 停止を実行中
1 = 実行中の停止な し
O[3:0]
1
予約済み
こ のバ イ ト の最上位ニブルが ス テー タ ス を レ ポー ト し ま す。 こ れ ら の ス テー タ ス ビ ッ ト は、 同期
ワー ド が受信 さ れたか、 コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーが発生 さ れたかを示 し ます。 次の表は、 こ
れ ら の状況に対す る 値を示 し てい ます。
表 6-3 : ICAP 同期ビ ッ ト
O[7:0]
CFGERR
同期ワー ド
9F
同期な し
CFGERR な し
DF
同期あ り
CFGERR な し
5F
同期あ り
CFGERR
1F
同期な し
CFGERR
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
103
第 6 章 : FPGA デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
図 6-6 は、 フル コ ン フ ィ ギ ュ レーシ ョ ンの終了後、 CRC エ ラ ーを含むパーシ ャ ル リ コ ン フ ィ ギ ュ
レーシ ョ ンが実行 さ れ、最後に問題のないパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンが実行 さ れた と こ
ろ を示 し てい ま す。 上記の表 と 下記の説明か ら 、 ICAP の O ポー ト を使用 し て コ ン フ ィ ギ ュ レ ー
シ ョ ン プ ロ セ ス を監視す る 方法がわか り ます。 CRC エ ラ ーが発生 し た場合は、 こ れ ら の信号を コ
ン フ ィ ギ ュ レ ーシ ョ ン ス テー ト マ シ ン で使用 し て、 エ ラ ーか ら 回復で き ま す。 こ れ ら の信号は、
ChipScope で も デバ ッ グ目的で コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーを検出する ために使用で き ます。こ
の情報を使用す る と 、ChipScope でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの さ ま ざ ま な地点を キ ャ
プチ ャ す る こ と も 可能です。
X-Ref Target - Figure 6-6
図 6-6 : パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ンの ChipScope 表示
ChipScope で表示 さ れ る マーカーは、 次の と お り です。
•
1st_done
最初の フル ビ ッ ト ス ト リ ームの コ ン フ ィ ギ ュ レーシ ョ ンが終了 し た こ と を示 し ます。DONE ピ
ン (波形の done_pad) は High にな り ます。
•
cfgerr
パーシ ャ ル ビ ッ ト ス ト リ ームの読み込み中に CRC エ ラ ーが検出 さ れた こ と を示 し ます。 ス
テー タ ス は O[31:0] (波形の icap_o_top[31:0]) で確認で き ます。
•
Icap_o_top[31:0] は 0x9F か ら 開始 し ます。
•
SYNC ワ ー ド が確認 さ れ る と 、 Icap_o_top[31:0] は 0xDF に変わ り ます。
•
CRC エ ラ ーが検出 さ れ る と 、 Icap_o_top[31:0] は 1 サ イ ク ル間 0x5F にな っ た後、 0x1F
に変わ り ます。
•
104
INIT_B ピ ンは Low にな り ます (波形の init_pad)。
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
コ ン フ ィ ギ ュ レーシ ョ ンのデバ ッ グ
•
RCRC
パーシ ャ ル ビ ッ ト ス ト リ ームが再び読み込まれた こ と を示 し ます。RCRC コ マ ン ド は cfgerr ス
テー タ ス を リ セ ッ ト し 、 INIT_B ピ ン (波形の 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 に変わ り ます。
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ではパーシ ャ ル BIT フ ァ イ ルすべて が読み込 ま れ る ま で
CRC が実行 さ れないので、 破損デー タ が既に FPGA に読み込まれて し ま っ てい る 可能性があ る こ
と に注意 し て く だ さ い。 破損がア ド レ ス ビ ッ ト で発生 し てい る 場合は、 ス タ テ ィ ッ ク ロ ジ ッ ク も
破損 し てい る 可能性が あ り ま す。 ス テー タ ス は INIT_B コ ン フ ィ ギ ュ レ ーシ ョ ン レ ジ ス タ ビ ッ ト
で示 さ れ ま す。 信頼度の高いシ ス テ ム が必要な場合は、 パーシ ャ ル ビ ッ ト ス ト リ ーム を コ ン フ ィ
ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス に送信す る前に CRC チ ェ ッ ク を必ず実行 し て く だ さ い。 読み込
み前にパーシ ャ ル ビ ッ ト ス ト リ ームで CRC チ ェ ッ ク を実行す る方法については、 こ の章の 「パー
シ ャ ル ビ ッ ト ス ト リ ームの CRC チ ェ ッ ク 」 セ ク シ ョ ン を参照 し て く だ さ い。
CRC エ ラ ーが発生す る と 、 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス はデフ ォ ル ト でデバ イ ス の
フル リ コ ン フ ィ ギ ュ レーシ ョ ン命令を発行 し よ う と し ますが、 こ れは通常は推奨 さ れません。 こ れ
を回避す る には、 第 3 章の 「BIT フ ァ イ ルの生成」 の推奨事項に従っ て く だ さ い。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
105
第 6 章 : FPGA デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
106
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
第7章
デザイ ンの注意事項
こ の章では、 パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン に特有のデザ イ ン 要件お よ びザ イ リ ン ク ス
FPGA デザ イ ン ソ フ ト ウ ェ ア ツールのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン機能について説明 し
ます。
ザ イ リ ン ク ス の FPGA デバ イ ス のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン機能を利用す る には、 ま
ずデザ イ ン仕様を よ く 解析 し 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン に関す る 要件、 特
徴、 制限な ど を考慮す る 必要があ り ま す。 こ れに よ り 、 デザ イ ン プ ロ セ スお よ びデバ ッ グ プ ロ セ
ス の両方が簡略化 さ れ、 発生す る可能性のあ る問題を回避で き ます。
デザイ ン階層
適切なデザ イ ン階層手法を使用す る こ と で、FPGA デザ イ ンでパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ
ン を実行す る 際の複雑 さ や困難な点を軽減で き ます。 明確なデザ イ ン イ ン ス タ ン ス階層に よ り 、 物
理制約お よ び タ イ ミ ン グ制約がシ ンプルにな り ます。 ス タ テ ィ ッ ク ロ ジ ッ ク と リ コ ン フ ィ ギ ャ ラ ブ
ル ロ ジ ッ ク の境界に レ ジ ス タ を付け る と 、 タ イ ミ ン グ ク ロ ージ ャ が容易にな り ます。 ロ ジ ッ ク は、
同 じ 階層レベルにグループご と に ま と め る 必要があ り ます。
こ れ ら は、 よ く 知 ら れてい る デザ イ ン手法ですが、 標準の FPGA デザ イ ン では使用 さ れない こ と が
多々あ り ま す。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン では、 こ れ ら のデザ イ ン規則に厳
密に従 う 必要はあ り ませんが、 規則に従わない こ と に よ る 悪影響は大き く な り ます。 パーシ ャ ル リ
コ ン フ ィ ギ ュ レーシ ョ ンは便利なデザ イ ン手法ですが、デザ イ ンが複雑にな る ため、特にハー ド ウ ェ
アでデバ ッ グす る 場合に問題 と な る こ と も あ り ます。
デザ イ ン階層の詳細は、 次を参照 し て く だ さ い。
•
『再現可能な結果を活用 し たデザ イ ンの保持』 (WP362)
•
『階層デザ イ ン手法ガ イ ド 』 (UG748)
リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール内のデザイ ン エ レ メ ン ト
すべての ロ ジ ッ ク を リ コ ン フ ィ ギ ュ レーシ ョ ン で き る わけではあ り ません。 グ ロ ーバル ロ ジ ッ ク お
よ び ク ロ ッ ク リ ソ ース は、 リ コ ン フ ィ ギ ュ レーシ ョ ン中 も 動作可能な状態に し 、 フル デバ イ ス コ
ン フ ィ ギ ュ レーシ ョ ンの最後に初期化シーケ ン ス が実行 さ れ る よ う にす る ため、 ス タ テ ィ ッ ク 領域
に配置す る 必要があ り ます。 ス タ テ ィ ッ ク ロ ジ ッ ク に配置する 必要があ り 、 リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ンに配置すべ き でない ロ ジ ッ ク は、 次の と お り です。
•
ク ロ ッ ク 調整ブ ロ ッ ク :
•
PLL - PLL_ADV、 PLL_BASE、 PLLE2_ADV、 PLLE2_BASE
•
PMCD
•
DCM - DCM_ADV、 DCM_BASE、 DCM_PS
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
107
第 7 章 : デザイ ンの注意事項
•
MMCM - MMCM_ADV、 MMCM_BASE、 MMCME2_ADV、 MMCME2_BASE
•
PHASER - Phaser ブ ロ ッ ク はザ イ リ ン ク ス IP 用に予約 さ れてお り 、 ユーザーは使用で き
ません。
•
グ ロ ーバルま たは複数領域 ク ロ ッ ク バ ッ フ ァ ー : BUFG、 BUFGCE、 BUFGCTRL、
BUFGMUX、 BUFGMUX_1、 BUFHCE、 BUFMR、 BUFMRCE
BUFR は、 こ の章の 「 ク ロ ッ ク 規則」 セ ク シ ョ ンで説明 し てい る よ う に、 制限はあ り ますが、 リ
コ ン フ ィ ギ ャ ラ ブル モジ ュールに配置で き ます。
•
•
マルチギガ ビ ッ ト ト ラ ン シーバー (MGT) ブ ロ ッ ク :
•
RocketIO MGT (Virtex-4) ト ラ ン シーバー ? GT11_CUSTOM、GT11_DUAL、GT11CLK、
GT11CLK_MGT
•
GTH ト ラ ン シーバー - GTHE1_QUAD、 GTHE2_CHANNEL、 GTHE2_COMMON、
IBUFDS_GTHE1
•
GTX ト ラ ン シーバー - GTX_DUAL、 GTXE1、 GTXE1_QUAD、 GTXE2_CHANNEL、
GTXE2_COMMON、 IBUFDS_GTXE1
•
GTP ト ラ ン シーバー GTP_DUAL、 GTPE2_CHANNEL、 GTPE2_COMMON
•
GTZ ト ラ ン シーバー - GTZE2_OCTAL
各デバ イ ス専用のブ ロ ッ ク :
•
BSCAN - BSCAN_VIRTEX4、 BSCAN_VIRTEX5、 BSCAN_VIRTEX6、 BSCANE2
•
CAPTURE - CAPTURE_VIRTEX4、 CAPTURE_VIRTEX5、 CAPTURE_VIRTEX6、
CAPTUREE2
•
DCIRESET
•
DNA_PORT
•
FRAME_ECC - FRAME_ECC_VIRTEX4、 FRAME_ECC_VIRTEX5、
FRAME_ECC_VIRTEX6、 FRAME_ECCE2
•
ICAP - ICAP_VIRTEX4、 ICAP_VIRTEX5、 ICAP_VIRTEX6、 ICAPE2
•
IN_FIFO
•
OUT_FIFO
•
KEY_CLEAR
•
STARTUP - STARTUP_VIRTEX4、 STARTUP_VIRTEX5、 STARTUP_VIRTEX6、
STARTUPE2
•
FRAME_ECC - FRAME_ECC_VIRTEX4、 FRAME_ECC_VIRTEX5、
FRAME_ECC_VIRTEX6、 FRAME_ECCE2
•
XADC
DPR を使用 し たダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン
ス タ テ ィ ッ ク 領域に留ま る必要のあ る ロ ジ ッ ク は、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンには使用
で き ませんが、 DPR ( ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト ) を使用す る と ダ イ ナ ミ ッ ク
に リ コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 DPR は MMCM、 PLL、 マルチギガ ビ ッ ト ト ラ ン シーバー
(MGT) な ど の ロ ジ ッ ク ブ ロ ッ ク を コ ン フ ィ ギ ュ レーシ ョ ンす る ために使用で き ます。
DPR およびダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ンに関する詳細は、 次の資料を参照し て く だ さ い。
•
108
『Virtex-4 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG071)
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
デザイ ン階層
•
『Virtex-5 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG191)
•
『Virtex-6 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG360)
•
『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470)
DPR を使用 し て特定の ロ ジ ッ ク ブ ロ ッ ク を コ ン フ ィ ギ ュ レーシ ョ ンす る には、 次の資料を参照 し
て く だ さ い。
•
『7 シ リ ーズ FPGA GTX ト ラ ン シーバー ユーザー ガ イ ド 』 (UG476)
•
『Virtex-6 FPGA GTX ト ラ ン シーバー ユーザー ガ イ ド 』 (UG366)
•
『MMCM お よ び PLL ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン (7 シ リ ーズ )』 (XAPP888)
•
『MMCM ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン (Virtex-6)』 (XAPP878)
ロ ジ ッ ク のパ ッ ク
一緒にパ ッ ク す る 必要の ロ ジ ッ ク は、 ス タ テ ィ ッ ク ま たは リ コ ン フ ィ ギ ャ ラ ブルに関係な く 、 同 じ
グループに配置す る 必要があ り ます。 た と えば、 I/O レ ジ ス タ は I/O ポー ト と 一緒のグループに し
ます。 パーテ ィ シ ョ ンの境界は、 最適化の障害にな り ます。 プ ロ キ シ ロ ジ ッ ク の挿入に よ り 不適切
な結果にな っ た り 、 配線不可能な状況にな る こ と があ る ので、 階層の境界を選択す る際には注意が
必要です。
リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールの I/O
デバ イ ス ピ ンは リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内に配置で き る ので、 リ コ ン フ ィ ギ ュ レーシ ョ
ン で き ます。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールには、 内部 ロ ジ ッ ク をパ ッ ケージ ピ ン に接続す る
のに必要な I/O 回路 (IBUF、OBUF、IOBUF な ど ) を必ず含め、そのポー ト は名前のみで ス タ テ ィ ッ
ク ロ ジ ッ ク に接続す る 必要があ り ます。
つま り 、 I/O 機能はモジ ュ ール内に含め る 必要があ り ますが、 完全なデザ イ ンのポー ト リ ス ト は最
上位デザ イ ン記述に残 し ます。 サブモジ ュール I/O のその他の要件は、 次の と お り です。
•
•
HDL
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに含まれ る 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに
は、 同 じ セ ッ ト のモジ ュール ポー ト が必要です。
•
外部ポー ト は、 すべて最上位で宣言す る必要があ り ます。
•
自動 IOB 挿入は、 最上位の合成ではオン、 モジ ュール レベルの合成ではオ フ に し ます。
•
異な る 合成ツールでは、 サブモジ ュ ールの ピ ン宣言の処理方法が異な り ます。 XST お よ び
Synplify の例は、 こ の後のサブセ ク シ ョ ンに示 し ます。
UCF
•
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに配置 さ れ る すべての I/O には、 ロ ケーシ ョ ン制約が必
要です。 ロ ケーシ ョ ン制約は、 さ ま ざ ま なモジ ュ ール間で一貫す る よ う に、 最上位 UCF
に記述す る 必要があ り ますが、 必要であればサブモジ ュ ールの UCF に記述す る こ と も で
き ます。
•
た と えば、 PlanAhead で リ コ ン フ ィ ギ ャ ラ ブル モジ ュールを フ ロ アプ ラ ン し て、 リ コ ン
フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内の 1 つの リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの I/O の位
置を変更 し た場合、 その リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ( ア ク テ ィ ブ リ コ ン フ ィ ギ ャ ラ
ブル モジ ュ ール) のみの位置が UCF で変更 さ れ ます。 こ の後、 その リ コ ン フ ィ ギ ャ ラ ブ
ル パーテ ィ シ ョ ン のそれ以外の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールすべてで、 その I/O を
新 し い位置に制約す る 必要があ り ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
109
第 7 章 : デザイ ンの注意事項
•
リ コ ン フ ィ ギ ャ ラ ブル領域には、 IOB サ イ ト を含む AREA_GROUP RANGE 制約 と 、 必要に
応 じ て ILOGIC ま たは OLOGIC な どのほかの タ イ プの制約を含め る必要があ り ます。
次の コ ー ド 例では、 port_in ポー ト と port_out ポー ト が最上位か ら リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールの I/O ロ ジ ッ ク へ接続 さ れ、 clk、 reset、 data_in、 data_out ポー ト が最上位の I/O
ロ ジ ッ ク に接続 さ れてい ま す。 ス タ テ ィ ッ ク か ら サブモジ ュ ールを イ ン ス タ ン シエー ト す る には、
port_in お よ び port_out への参照を含め、 サブモジ ュ ールに該当す る ポー ト への I/O ロ ジ ッ ク
の イ ン ス タ ン シエーシ ョ ン を含め る必要があ り ます。
•
XST
•
XST では、 BUFFER_TYPE 属性を使用 し て、 I/O バ ッ フ ァ ーを挿入す る か し ないか を指定
で き ます。 XST を使用 し た場合に推奨 さ れ る フ ロ ーでは、 デフ ォ ル ト で最上位 I/O が挿入
さ れ る よ う に し 、 最上位で I/O バ ッ フ ァ ーを挿入すべ き でない I/O に、 こ の属性を使用 し
て I/O バ ッ フ ァ ーが挿入 さ れない よ う に設定 し ます。 こ の属性は、 最上位のポー ト 定義で
ポー ト に適用 し ます。 IBUF お よ び OBUF な ど の I/O コ ン ポーネ ン ト は、 サブモジ ュ ール
の HDL で イ ン ス タ ン シエー ト す る必要があ り ます。
次の コ ー ド は、 XST の Verilog お よ び VHDL の例です。
//XST Verilog example
//top level HDL
module top (clk, reset, data_in, data_out, port_in, port_out);
input clk, reset, data_in
(* buffer_type = “none” *) input port_in;
output data_out
(* buffer_type = “none” *) output port_out;
...
--XST VHDL example
–-top level HDL
...
entity top is
port(
clk
: in std_logic;
reset
: in std_logic;
data_in : in std_logic;
data_out : out std_logic;
port_in : in std_logic;
port_out : out std_logic
);
attribute buffer_type: string;
attribute buffer_type of port_in : signal is "none";
attribute buffer_type of port_out : signal is "none";
end my_rm;
...
•
Synopsys
•
Synopsys では、 こ の機能が syn_black_box お よ び black_box_pad_pin 制約を使用
し てサポー ト さ れます。 方法は異な り 、 すべてのポー ト は最上位に リ ス ト さ れた ま ま です
が、 Synopsys にブ ラ ッ ク ボ ッ ク ス モジ ュールの定義で I/O バ ッ フ ァ ーがサブモジ ュ ール
( ま だ最上位 HDL にあ り ) で検出 さ れた こ と が知 ら さ れます。 XST の場合 と 同様、 リ コ ン
フ ィ ギ ャ ラ ブル I/O ロ ジ ッ ク は各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールで イ ン ス タ ン シエー
110
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
デザイ ン階層
ト す る 必要があ り ます。 次に、 Synplicity の Verilog フ ァ イ ル と VHDL フ ァ イ ルの例を示
し ます。
//Synopsys Verilog example
//reconfigurable module declaration within Top level HDL
module my_rm (clk, reset, data_in, data_out, port_in, port_out)
/*synthesis syn_black_box black_box_pad_pin="port_in, port_out"*/;
input clk, reset, data_in;
input port_in;
output data_out;
output port_out;
endmodule
--Synopsys VHDL example
–-reconfigurable module entity declaration within Top level HDL
...
entity my_rm is
port(
clk
: in std_logic;
reset
: in std_logic;
data_in : in std_logic;
data_out : out std_logic;
port_in : in std_logic;
port_out : out std_logic
);
attribute syn_black_box : boolean;
attribute syn_black_box of my_rm: component is true;
attribute black_box_pad_pin : string;
attribute black_box_pad_pin of my_rm: component is "port_in,
port_out";
end my_rm;
...
--Synopsys VHDL example
--reconfigurable module entity declaration within Top level HDL
...
entity my_rm is
port(
clk
: in std_logic;
reset
: in std_logic;
data_in
: in std_logic;
data_out : out std_logic;
port_in
: in std_logic;
port_out : out std_logic
);
attribute
attribute
attribute
attribute
syn_black_box : boolean;
syn_black_box of my_rm: component is true;
black_box_pad_pin : string;
black_box_pad_pin of my_rm: component is "port_in, port_out";
end my_rm;
...
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
111
第 7 章 : デザイ ンの注意事項
IOB への I/O レ ジ ス タ のパ ッ ク
入力お よ び出力レ ジ ス タ は、 で き る だけ関連す る入力ま たは出力バ ッ フ ァ ー と 同 じ パーテ ィ シ ョ ン
に含め る こ と をお勧め し ます。 こ れに よ り 、 レ ジ ス タ が I/O ロ ジ ッ ク に接続 さ れ る と 、 イ ンプ リ メ
ン テーシ ョ ン ツールで認識 さ れ る よ う にな り ます。 レ ジ ス タ と 関連バ ッ フ ァ ー間にパーテ ィ シ ョ ン
の境界があ る と 、 イ ンプ リ メ ン テーシ ョ ン ツールでパーテ ィ シ ョ ンの境界を超え る も のは認識 さ れ
ないので、 I/O ロ ジ ッ ク に レ ジ ス タ が正 し く 配置 さ れません。
入力お よ び出力レ ジ ス タ を関連す る入力ま たは出力バ ッ フ ァ ー と 同 じ パーテ ィ シ ョ ンに含め る こ と
がで き ない場合、 次の規則に従っ ていれば、 イ ンプ リ メ ン テーシ ョ ン ツールで こ の状況が処理 さ れ
ます。
•
レ ジ ス タ に、 UCF 制約の IOB=FORCE を指定し ます。 こ れに よ り 、 パーテ ィ シ ョ ンの境界を
越 え て レ ジ ス タ が I/O バ ッ フ ァ ー に 接続 さ れ て い る こ と が ツ ー ル で 認識 さ れ、 レ ジ ス タ
(ILOGIC/OLOGIC) が I/O ロ ジ ッ ク に配置 さ れます。 IOB=FORCE を使用する と 、 レ ジ ス タ が
I/O ロ ジ ッ ク に配置で き ない場合に イ ンプ リ メ ン テーシ ョ ンでエ ラ ーが発生 し ます。 こ れは、 レ
ジ ス タ の ク ロ ッ ク が BUFIO か ら 供給 さ れ る 場合や イ ン タ ーフ ェ イ ス の タ イ ミ ン グが固定遅延
を必要 と す る 場合な ど、 レ ジ ス タ を I/O ロ ジ ッ ク に配置す る 必要があ る場合に有益です。 こ の
よ う な場合、map -pr b オプシ ョ ン を使用 し て も 、 フ ラ ッ ト フ ロ ーの場合やバ ッ フ ァ ー と レ ジ
ス タ が同 じ パーテ ィ シ ョ ンにあ る場合 と 異な り 、 レ ジ ス タ は I/O ロ ジ ッ ク に配置 さ れません。
•
IOB=FORCE 制約は、 レ ジ ス タ の イ ン ス タ ン ス名に設定 し ます (INST
"rp_module/out1_ff" IOB=FORCE;)。 こ の制約 を レ ジ ス タ の出力 ま たは入力ネ ッ ト に設
定 し ないで く だ さ い。
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの AREA_GROUP 制約に、 入力/出力レ ジ ス タ を配置す る
I/O ロ ジ ッ ク を 含 め ま す。 た と え ば、 レ ジ ス タ に 接続 さ れ る I/O バ ッ フ ァ ー に 関連す る
ILOGIC/OLOGIC を含む RANGE 値を設定する 必要があ り ます。 I/O ロ ジ ッ ク サ イ ト が リ コ ン
フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの AREA_GROUP に含ま れない場合、 そのサ イ ト はツールで使
用で き ず、 パーシ ャ ル ビ ッ ト ス ト リ ームに含ま れません。
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの出力ポー ト に PARTITION_PIN_DIRECT_ROUTE 制
約 を 設定 し 、 バ ッ フ ァ ー と レ ジ ス タ の間にプ ロ キ シ ロ ジ ッ ク が挿入 さ れな い よ う に し ま す。
バ ッ フ ァ ー と レ ジ ス タ の間にプ ロ キ シ ロ ジ ッ ク が挿入 さ れ る と 、 レ ジ ス タ が I/O ロ ジ ッ ク に
パ ッ ク さ れません。 ま た、 こ の よ う に設定する と こ の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに
関連す る すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに同 じ IOB=FORCE 制約が設定 さ れ、 こ の
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのブ ラ ッ ク ボ ッ ク ス リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール
の生成機能がオ フ にな り ます。
デザイ ン イ ン ス タ ン スの階層
最 も 簡潔なのは、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を最上位モジ ュールに イ ン ス タ ン シエー ト
す る 方法です。各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンはそれぞれ 1 つの イ ン ス タ ン ス に対応 し て
い る 必要があ り ます。 イ ン ス タ ン ス には、 それが関連付け ら れた複数のモジ ュールが含まれます。
リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールのサブ モ ジ ュ ール
リ コ ン フ ィ ギ ャ ラ ブル モジ ュールの ロ ジ ッ ク は、すべて同 じ デ ィ レ ク ト リ に保存す る必要があ り ま
す。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールにサブモジ ュ ール ネ ッ ト リ ス ト フ ァ イ ルが必要な場合、 そ
れ ら の フ ァ イ ルが リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ネ ッ ト リ ス ト のルー ト と 同 じ ロ ーカル フ ォ ル
ダーにない と 、 PlanAhead™ ソ フ ト ウ ェ アで読み込まれません。 PlanAhead では、 各 コ ン フ ィ ギ ュ
レーシ ョ ン を制約 し 、 イ ンプ リ メ ン ト す る ため、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールすべての内容が
必要です。
112
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
ク ロ ッ ク規則
ほかのネ ッ ト リ ス ト (IP コ ア ネ ッ ト リ ス ト な ど ) を ほかのデ ィ レ ク ト リ か ら 統合す る 必要があ る 場
合は、ngcbuild ユーテ ィ リ テ ィ を使用する と 、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールをパーシ ャ ル リ
コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト で簡単に参照で き る よ う に 1 つのネ ッ ト リ ス ト に ま と め る
こ と がで き ます。 NGCBuild では、 ngdbuild で有効なオプシ ョ ン (-sd お よ び -uc を含む) をす
べて使用で き 、EDIF ま たは NGC ソ ース フ ァ イ ルを入力 し て制約がア ノ テー ト さ れた 1 つの NGC
フ ァ イ ルを生成で き ます。
ク ロ ッ ク規則
こ のセ ク シ ョ ンでは、 グ ロ ーバル ク ロ ッ ク と リ ージ ョ ナル ク ロ ッ ク の規則について説明 し ます。
グ ローバル ク ロ ッ ク
特定の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に含 ま れ る すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ー
ルの ク ロ ッ ク 情報は最初の イ ン プ リ メ ン テーシ ョ ン段階ではわか ら ないので、 パーシ ャ ル リ コ ン
フ ィ ギ ュ レーシ ョ ン ツールでは、 その リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのパーテ ィ シ ョ ン ピ
ン を駆動す る 各 BUFG 出力を AREA GROUP に含まれ る すべての ク ロ ッ ク 領域にあ ら か じ め配線 (前
配線) し ます。 つま り 、 こ れ ら の ク ロ ッ ク 領域の ク ロ ッ ク スパ イ ンは、 リ コ ン フ ィ ギ ャ ラ ブル パー
テ ィ シ ョ ンの ロ ー ド がその領域にあ る か ど う かにかかわ ら ず、 ス タ テ ィ ッ ク ロ ジ ッ ク では使用で き
ない可能性があ り ます。
ど の ク ロ ッ ク 領域 ( ど の リ コ ン フ ィ ギ ャ ブル パーテ ィ シ ョ ン ) に も 前 も っ て配線可能な グ ロ ーバル
ク ロ ッ ク の数は、 使用 さ れ る デバ イ ス フ ァ ミ リ に よ っ て異な り ま す。 各 ク ロ ッ ク 領域に対す る ク
ロ ッ ク スパ イ ンの数 も さ ま ざ ま で、 Virtex-4 の場合は最大 8、 Virtex-5 の場合は 10、 Virtex-6 お よ
び 7 シ リ ーズの場合は 12 です。 こ れ ら の数は、 ス タ テ ィ ッ ク お よ び リ コ ン フ ィ ギ ャ ブル ロ ジ ッ ク
の両方が含まれます。 た と えば、 Virtex-7 デバ イ ス で 1 つの ク ロ ッ ク 領域にグ ロ ーバル ク ロ ッ ク が
3 つ配線 さ れ る 場合、 こ の領域を含む RP では、 こ れ ら の 3 つの最上位 ク ロ ッ ク だけでな く 、 合計
で 9 個のグ ロ ーバル ク ロ ッ ク を使用で き ます。
図 7-1 の例では、 配置前に icap_clk が ク ロ ッ ク 領域 X0Y1、 X0Y2、 X0Y3 に配線 さ れ る ので、 ス
タ テ ィ ッ ク ロ ジ ッ ク ではその領域のそれ以外の ク ロ ッ ク スパ イ ン を使用で き ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
113
第 7 章 : デザイ ンの注意事項
X-Ref Target - Figure 7-1
図 7-1 : グローバル ク ロ ッ ク から リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンへの前配線
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を駆動す る グ ロ ーバル ク ロ ッ ク 数が多い場合は、 完全な ク
ロ ッ ク 領域を囲むエ リ ア グループ を作成 し て、 ス タ テ ィ ッ ク ロ ジ ッ ク を配置配線 し やす く し て く
だ さ い。各領域の ク ロ ッ ク スパ イ ンの数については、http://japan.xilinx.com/support/documentation
か ら タ ーゲ ッ ト デバ イ ス のユーザー ガ イ ド を参照 し て く だ さ い。
リ ージ ョ ナル ク ロ ッ ク
パーテ ィ シ ョ ン ピ ン を駆動す る ス タ テ ィ ッ ク ロ ジ ッ ク の BUFR には、 プ ロ キ シ ロ ジ ッ ク が挿入 さ
れ ます。 こ の ロ ジ ッ ク は、 ス タ テ ィ ッ ク ロ ジ ッ ク か ら リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に接
続 さ れ る その他すべてのネ ッ ト と 同様に、 異な る コ ン フ ィ ギ ュ レーシ ョ ン間で同 じ 位置に配置す る
ために必要です。 プ ロ キ シ ロ ジ ッ ク は リ ージ ョ ナル ク ロ ッ ク に遅延を追加 し ます。 こ のため、 タ
イ ミ ン グが悪化す る こ と があ り ます。
タ イ ミ ン グの悪化を防ぐ には、 BUFR と それ ら の ロ ー ド すべて を、 ス タ テ ィ ッ ク か リ コ ン フ ィ ギ ャ
ラ ブルかにかかわ ら ず、 同 じ パーテ ィ シ ョ ン内に制約 し ます。 こ れに よ り 、 リ ージ ョ ナル ク ロ ッ ク
の ロ ー ド 間の ス キ ュ ーを最小限に抑え る こ と がで き、 タ イ ミ ン グ を満たす可能性が上が り ます。
114
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
ク ロ ッ ク規則
リ ージ ョ ナル ク ロ ッ ク には、サポー ト さ れ る FPGA アーキテ ク チ ャ に よ っ て異な る制限があ り ます。
•
Virtex-4
リ ージ ョ ナル ク ロ ッ ク にはプ ロ キ シ ロ ジ ッ ク は挿入 さ れず、 リ ージ ョ ナル ク ロ ッ ク スパ イ ン
は前配線 さ れます。 スパ イ ンは、 その ク ロ ッ ク スパ イ ン を必要 と す る各 ク ロ ッ ク 領域へ前配線
さ れます。 た と えば、 リ ージ ョ ナル ク ロ ッ ク が 2 つの ク ロ ッ ク 領域の一部を含む リ コ ン フ ィ
ギ ャ ラ ブル パーテ ィ シ ョ ンのポー ト を駆動す る場合、 リ ージ ョ ナル ク ロ ッ ク スパ イ ンは両方
の ク ロ ッ ク 領域でその リ ージ ョ ナル ク ロ ッ ク 用に予約 さ れます。各 ク ロ ッ ク 領域で使用で き る
リ ージ ョ ナル ク ロ ッ ク スパ イ ンは 2 つだけなので、 リ ージ ョ ナル ク ロ ッ ク で駆動 さ れ る リ コ
ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの領域がで き る だけ ク ロ ッ ク 領域の境界に対応す る よ う に
し て く だ さ い。ま た、BUFR は特定の BUFR 位置に指定 さ れ る よ う に制約を設定 し て く だ さ い。
リ ージ ョ ナル ク ロ ッ ク の制限については、 『Virtex-4 FPGA ユーザー ガ イ ド 』 (UG070) の 「 ク
ロ ッ ク リ ソ ース」 の章を参照 し て く だ さ い。
•
Virtex-5
ス タ テ ィ ッ ク と リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンに ま たが る リ ージ ョ ナル ク ロ ッ ク に、プ
ロ キ シ ロ ジ ッ ク が挿入 さ れます。 プ ロ キシ ロ ジ ッ ク は リ ージ ョ ナル ク ロ ッ ク に遅延を追加 し
ます。 こ のため、 タ イ ミ ン グが悪化す る こ と があ り ます。 タ イ ミ ン グの悪化を防 ぐ には、 BUFR
と それ ら の ロ ー ド すべて を、 ス タ テ ィ ッ ク か リ コ ン フ ィ ギ ャ ラ ブルかにかかわ ら ず、 同 じ パー
テ ィ シ ョ ン内に制約 し ます。 こ れに よ り 、 リ ージ ョ ナル ク ロ ッ ク の ロ ー ド 間の ス キ ューを最小
限に抑え る こ と がで き、タ イ ミ ン グ を満たす可能性が上が り ます。ま た、BUFR は特定の BUFR
位置に指定 さ れ る よ う に制約を設定 し て く だ さ い。 その他すべての リ ージ ョ ナル ク ロ ッ ク の制
限が適用 さ れます。 リ ージ ョ ナル ク ロ ッ ク の制限については、 『Virtex-5 FPGA ユーザー ガ イ
ド 』 (UG190) の 「 ク ロ ッ ク リ ソ ース」 の章を参照 し て く だ さ い。
•
Virtex-6
リ ージ ョ ナル ク ロ ッ ク にはプ ロ キ シ ロ ジ ッ ク は挿入 さ れません。 BUFR が ス タ テ ィ ッ ク ロ
ジ ッ ク にあ り 、 その ロ ー ド が リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンにあ る 場合、 リ ージ ョ ナル
ク ロ ッ ク ス パ イ ンは前配線 さ れます。 スパ イ ンは、 その ク ロ ッ ク スパ イ ン を必要 と す る 各 ク
ロ ッ ク 領域へ前配線 さ れます。 た と えば、 リ ージ ョ ナル ク ロ ッ ク が 2 つの ク ロ ッ ク 領域の一部
を含む リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのポー ト を駆動する 場合、リ ージ ョ ナル ク ロ ッ ク
ス パ イ ンは両方の ク ロ ッ ク 領域でその リ ージ ョ ナル ク ロ ッ ク 用に予約 さ れます。
Virtex-6 は、 同 じ ク ロ ッ ク 領域内に複数の BUFR 列を持つ最初のアーキ テ ク チ ャ です。 パー
シ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは、1 つの ク ロ ッ ク 領域内で使用 さ れ る すべての BUFR が
同 じ パーテ ィ シ ョ ンに含まれ る必要があ り ます。た と えば、外部 BUFR と 内部 BUFR が同 じ ク
ロ ッ ク 領域で使用 さ れ る場合、 両方を ス タ テ ィ ッ ク 内に含め る か、 同 じ リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ン内に含め る必要があ り ます。リ ージ ョ ナル ク ロ ッ ク の制限については、『Virtex6 FPGA ク ロ ッ ク リ ソ ース ユーザー ガ イ ド 』 (UG362) を参照 し て く だ さ い。
•
Artix-7、 Kintex-7 お よ び Virtex-7
7 シ リ ーズの BUFR は、 それ以前のアーキ テ ク チ ャ と は異な り 、 配置 さ れてい る ク ロ ッ ク 領域
内の ロ ー ド し か駆動で きず、 複数領域サポー ト はあ り ません。 BUFR を リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ンに配置す る場合は、 その ロ ー ド も すべてその リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ
シ ョ ンに配置す る 必要があ り ます。ス タ テ ィ ッ ク ロ ジ ッ ク 内の BUFR は、ス タ テ ィ ッ ク ロ ジ ッ
ク 内の ロ ー ド お よ びプ ロ キシ ロ ジ ッ ク が挿入 さ れていない リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ
シ ョ ン内の ロ ー ド を駆動で き 、 リ ージ ョ ナル ク ロ ッ ク スパ イ ンは前配線 さ れます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
115
第 7 章 : デザイ ンの注意事項
7 シ リ ーズ アーキ テ ク チ ャ には、 BUFR に加え、 マルチ リ ージ ョ ナル ク ロ ッ ク バ ッ フ ァ ー
(BUFMRCE) も 含まれてい ます。 BUFMRCE は、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの
ロ ー ド を駆動で き 、プ ロ キ シ ロ ジ ッ ク が挿入 さ れない と い う 点は BUFR と 似てい ますが、 リ コ
ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内には配置で き ず、ス タ テ ィ ッ ク ロ ジ ッ ク 内に配置す る必要
があ り ます。 リ ージ ョ ナル ク ロ ッ ク の制限については、 『7 シ リ ーズ FPGA ク ロ ッ ク リ ソ ース
ユーザー ガ イ ド 』 (UG362) を参照 し て く だ さ い。
ア ク テ ィ ブ Low の リ セ ッ ト と ク ロ ッ ク イ ネーブル
ザ イ リ ン ク ス FPGA アーキ テ ク チ ャ には、 制御信号 ( リ セ ッ ト ま たは ク ロ ッ ク イ ネーブル) に ロ ー
カル イ ンバー タ ーがあ り ません。
次は、 リ セ ッ ト を例に説明 し てい ますが、 ク ロ ッ ク イ ネーブルで も 同 じ です。
デザ イ ンでア ク テ ィ ブ Low の リ セ ッ ト が使用 さ れ る 場合、信号を反転 さ せ る のに LUT を使用す る
必要があ り ます。 すべて ア ク テ ィ ブ Low の リ セ ッ ト を使用す る パーテ ィ シ ョ ン のないデザ イ ン で
は、 複数の LUT が推論 さ れますが、 こ れ ら は 1 つの LUT に ま と めて、 I/O エ レ メ ン ト に配置で き
ます (LUT は削除)。 ア ク テ ィ ブ High と ア ク テ ィ ブ Low の両方を使用す る パーテ ィ シ ョ ンのない
デザ イ ン では、 LUT イ ンバー タ ーをデザ イ ンに残っ た 1 つの LUT に ま と め る こ と がで き ますが、
リ セ ッ ト ネ ッ ト の配線お よ び タ イ ミ ン グにはそれほ ど影響せず、 LUT の出力はグ ロ ーバル リ ソ ー
ス に配置 し た ま ま にで き ます。 パーテ ィ シ ョ ン でア ク テ ィ ブ Low の リ セ ッ ト を使用す る デザ イ ン
の場合、 パーテ ィ シ ョ ン内で イ ンバー タ ーを推論 さ せ る こ と は可能ですが、 取 り 出 し た り 統合 し た
り す る こ と はで き ません。 そのため、 リ セ ッ ト を グ ロ ーバル リ ソ ース に配置す る こ と は不可能 と な
る ので、 デザ イ ンが既に密集 し てい る場合に リ セ ッ ト の タ イ ミ ン グが悪 く な り 、 配線問題が発生す
る こ と があ り ます。
こ れ を 回 避 す る 最 適 な 方法 は、 ア ク テ ィ ブ Low の 制御信号 を 使用 し な い こ と で す が、 AXI
(Advanced eXtensible Interface) イ ン タ ーフ ェ イ ス を含む IP コ ア を使用する 場合な ど、 それが無理
な こ と も あ り ま す。 その場合は、 ア ク テ ィ ブ Low の リ セ ッ ト を最上位信号に割 り 当て、 その新 し
い信号をデザ イ ンで使用 し ます。
例:
reset_n <= !reset;
すべての場合に reset_n 信号を使用 し 、信号ま たはポー ト に !reset を割 り 当てないで く だ さ い。
こ れに よ り 、LU T はデザ イ ン全体の リ セ ッ ト ネ ッ ト 用にのみ推論 さ れ る ので、デザ イ ンのパフ ォー
マ ン ス にはあ ま り 影響 し ません。
デ カ ッ プ リ ング機能
リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク は FPGA デバ イ ス の動作中に変更 さ れ る ので、 パーシ ャ ル リ コ ン
フ ィ ギ ュ レーシ ョ ン中は、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの出力に接続 さ れ る ス タ テ ィ ッ ク ロ
ジ ッ ク で リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールか ら のデー タ を無視す る 必要が あ り ま す。 リ コ ン フ ィ
ギ ャ ラ ブル モジ ュ ールは、 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン が完了 し て リ コ ン フ ィ ギ ュ レー
シ ョ ン さ れた ロ ジ ッ ク が リ セ ッ ト さ れ る ま で、 有効なデー タ を出力 し ません。 こ の問題を回避す る
のに よ く 使用 さ れ る のは、 リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ールか ら のすべての出力信号 ( イ ン タ ー
フ ェ イ ス の ス タ テ ィ ッ ク 側) に レ ジ ス タ を付け る方法です。 イ ネーブル信号を使用 し て、 リ コ ン フ ィ
ギ ュ レーシ ョ ンが完了す る ま で ロ ジ ッ ク を分離で き ます。
116
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
デザイ ンの リ ビ ジ ョ ン チ ェ ッ ク
ス タ テ ィ ッ ク 部分には、 デー タ お よ び イ ン タ ーフ ェ イ ス管理に必要な ロ ジ ッ ク が含まれてい る必要
があ り 、 ハン ド シ ェ ー ク や イ ン タ ーフ ェ イ ス デ ィ ス エーブル (バ ス構造で無効な ト ラ ンザ ク シ ョ ン
を回避す る ために必要な場合あ り ) な ど の機能を イ ンプ リ メ ン ト で き ます。 こ れは、 パーシ ャ ル リ
コ ン フ ィ ギ ュ レ ーシ ョ ン モ ジ ュ ールのダ ウ ン タ イ ム ( リ コ ン フ ィ ギ ュ レ ーシ ョ ン中 ま たは リ コ ン
フ ィ ギ ュ レーシ ョ ン後にパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン モジ ュ ールに含ま れ る 共通 リ ソ ー
ス が使用不可能) のパフ ォーマ ン ス に対す る影響を考慮す る際に も 便利です。
リ コ ン フ ィ ギ ュ レーシ ョ ンが終了 し た ら 、 リ コ ン フ ィ ギ ュ レーシ ョ ン済みの ロ ジ ッ ク の ロ ーカル リ
セ ッ ト を アサー ト し 、 問題のない既知の開始 ス テー ト にす る 必要があ り ま す。 フ ル デバ イ ス コ ン
フ ィ ギ ュ レーシ ョ ン と 異な り 、 ロ ジ ッ ク を初期ス テー ト に強制的に指定す る GSR ( グ ロ ーバル セ ッ
ト リ セ ッ ト ) や GTS ( グ ロ ーバル ト ラ イ ス テー ト ) な ど の専用フ ァ ン ク シ ョ ンはあ り ません。 リ コ
ン フ ィ ギ ュ レ ーシ ョ ン フ レ ーム の周囲の ロ ジ ッ ク は リ コ ン フ ィ ギ ュ レ ーシ ョ ン中で も 動作 し てい
る ので、新規 ロ ジ ッ ク の使用が開始 し た と き の ス テー ト や動作は予測で き ません。 こ れは、汎用フ ァ
ブ リ ッ ク ロ ジ ッ ク だけでな く 、 I/O ロ ジ ッ ク で も 同 じ です。
デザイ ンの リ ビ ジ ョ ン チ ェ ッ ク
第 6 章 「FPGA デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン」 で説明 し た よ う に、 パーシ ャ ル ビ ッ ト ス ト
リ ームには、 プ ロ グ ラ ム情報 と その他の情報が少 し 含まれます。 ビ ッ ト ス ト リ ームの タ ーゲ ッ ト ロ
ケーシ ョ ン は指定す る 必要はあ り ま せんが ( ダ イ ロ ケーシ ョ ン は BIT フ ァ イ ルの一部で あ る ア ド
レ ス指定に よ り 決定)、 ハー ド ウ ェ アでは こ のパーシ ャ ル ビ ッ ト ス ト リ ーム と 現在動作中のデザ イ
ン と の互換性はチ ェ ッ ク さ れ ま せん。 パーシ ャ ル ビ ッ ト ス ト リ ー ム を リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールの異な る リ ビ ジ ョ ン を使用 し て イ ン プ リ メ ン ト さ れた ス タ テ ィ ッ ク デザ イ ン に読み込む
と 、 予測不可能な動作にな る こ と があ り ます。
パーシ ャ ル ビ ッ ト ス ト リ ームには、 デザ イ ン、 リ ビ ジ ョ ン、 お よ びモジ ュールを示す固有の識別子
を先頭に付けてお く こ と をお勧め し ます。識別子は コ ン フ ィ ギ ュ レーシ ョ ン コ ン ト ロ ー ラ ーで認識
さ れ、 そのパーシ ャ ル ビ ッ ト ス ト リ ーム と 既存デザ イ ン と の互換性が確認 さ れます。 不一致が検出
さ れ る と 、互換性のないビ ッ ト ス ト リ ームは コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ に読み込まれ る前に拒
否 さ れます。 こ の機能は必ずデザ イ ン に含め る 必要があ り 、 『PRC/EPRC : パーシ ャ ル リ コ ン フ ィ
ギ ュ レーシ ョ ンのデー タ イ ン テ グ リ テ ィ お よ びセキ ュ リ テ ィ コ ン ト ロ ー ラ ー』 (XAPP887) で説明
さ れ る よ う に、 暗号化お よ び CRC チ ェ ッ ク と 同様に、 ま たは連動 さ せて使用で き ます。
BitGen には、 デザ イ ン の リ ビ ジ ョ ン を指定す る 機能があ り ま す。 -g USR_ACCESS オプシ ョ ン を
使用す る と 、 ビ ッ ト ス ト リ ーム に直接 リ ビ ジ ョ ン ID を入力で き ま す。 こ の ID は USR_ACCESS
レ ジ ス タ に配置 さ れ、FPGA フ ァ ブ リ ッ ク か ら 同 じ 名前の ラ イ ブ ラ リ プ リ ミ テ ィ ブ を使用 し てア ク
セ ス で き ま す。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン で こ の値を読み出 し 、 パーシ ャ ル
ビ ッ ト ス ト リ ームの情報 と 比較 し て、 リ ビ ジ ョ ンが一致 し てい る か ど う か を確認で き ます。 こ のオ
プシ ョ ンの詳細は、 『 コ マ ン ド ラ イ ン ツール ユーザー ガ イ ド 』 (UG628) の 「BitGen」 の章お よ び
『USR_ACCESS を使用する ビ ッ ト ス ト リ ーム認識』 (XAPP497) を参照 し て く だ さ い。
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン境界の定義
パーシ ャ ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン は、 フ レ ーム ご と に実行 さ れ ま す。 こ のため、 パーシ ャ ル
BIT フ ァ イ ルが作成 さ れ る 際、 特定の数の コ ン フ ィ ギ ュ レーシ ョ ン フ レームが使用 さ れます。 パー
テ ィ シ ョ ンの物理領域が定義 さ れ る と 、 PlanAhead ソ フ ト ウ ェ アで消費 さ れ る リ コ ン フ ィ ギ ャ ラ ブ
ル領域の数 と 対応す る ビ ッ ト ス ト リ ーム のサ イ ズの概算が レ ポー ト さ れ ま す。 PlanAhead の概算
は、 2 ~ 3 % の誤差内で算出 さ れます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
117
第 7 章 : デザイ ンの注意事項
パーテ ィ シ ョ ンの境界を リ コ ン フ ィ ギ ャ ラ ブル フ レームの境界 と 揃え る必要はあ り ませんが、揃え
る と 効率的な配置配線結果が得 ら れます。 ス タ テ ィ ッ ク ロ ジ ッ ク が次の条件を両方満たす場合、 リ
コ ン フ ィ ギ ュ レーシ ョ ン さ れ る フ レームに含め る こ と がで き ます。
•
Pblock で定義 さ れ る エ リ ア グループの外部にあ る (LOC 制約で強制的に内部に配置 さ れてい
ない場合)
•
ブ ロ ッ ク RAM、 分散 (LUT) RAM、 SRL な ど のダ イ ナ ミ ッ ク エ レ メ ン ト を含ま ない
ス タ テ ィ ッ ク ロ ジ ッ ク が リ コ ン フ ィ ギ ュ レ ーシ ョ ン さ れ た フ レ ー ム に配置 さ れ る と 、 そ の ス タ
テ ィ ッ ク ロ ジ ッ ク の機能その ま ま記述 し 直 さ れ、 グ リ ッ は発生 し ません。
T 型や L 型な ど、 長方形以外のパーテ ィ シ ョ ン も 使用で き ますが、 お勧め し ません。 こ れは、 配線
リ ソ ース は こ れ ら の領域内に完全に含まれ る必要があ り 、 こ の よ う な形の領域には配置配線 し に く
いか ら です。 パーテ ィ シ ョ ンの境界が接触 し ていて も か ま い ませんが、 お勧め し ません。 分離する
こ と で配線の制限に関す る問題を回避で き る こ と があ り ます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ
ン を ネ ス ト さ せた り (パーテ ィ シ ョ ン内のパーテ ィ シ ョ ン )、 重複 さ せた り す る こ と はで き ません。
デザ イ ン ルール チ ェ ッ ク ([Tools] → [Run DRC]) を実行す る と 、 パーシ ャ ル リ コ ン フ ィ ギ ュ レー
シ ョ ン プ ロ ジ ェ ク ト のパーテ ィ シ ョ ンお よ び設定に問題がないか ど う か確認で き ます。
作成 さ れ る パーシ ャ ル BIT フ ァ イ ルは、ユーザーの設定 し た AREA_GROUP RANGE 制約に基づいて
い ます。 で き る だけ小 さ い容量の BIT フ ァ イ ルを生成 し 、 複雑な構造やエ ラ ーを回避す る には、 リ
コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールすべてに存在す る エ レ メ
ン ト に対 し てのみ AREA_GROUP RANGE 制約を定義 し ます。PlanAhead を使用す る場合は、[Pblock
Properties] ビ ュ ーの [General] タ ブ で不必要 な エ レ メ ン ト タ イ プ を オ フ に し ま す (69 ペー ジ の
図 4-17)。
各物理的 リ コ ン フ ィ ギ ャ ラ ブル フ レ ー ム に含め る こ と ので き る リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ
シ ョ ンは 1 つだけです。
リ コ ン フ ィ ギ ャ ラ ブル フ レ ームは リ コ ン フ ィ ギ ュ レ ーシ ョ ン可能な最小サ イ ズの物理領域で、 ク
ロ ッ ク 領域 ま たは I/O バン ク バ ウ ン ダ リ と 並んで配置 さ れ ます。 リ コ ン フ ィ ギ ャ ブル フ レーム に
は、 複数の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンか ら の ロ ジ ッ ク を含め る こ と はで き ません。 複数
の リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンか ら の ロ ジ ッ ク が含まれ る と 、不正な リ コ ン フ ィ ギ ャ ラ ブ
ル モジ ュ ールか ら の情報で領域が リ コ ン フ ィ ギ ュ レ ーシ ョ ン さ れ、 競合が発生す る こ と が あ り ま
す。 ソ フ ト ウ ェ アは、 こ の よ う な問題を回避す る よ う に設計 さ れてい ます。
プ ロキシ ロ ジ ッ ク
パーテ ィ シ ョ ン ピ ン は、 ス タ テ ィ ッ ク ロ ジ ッ ク と リ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク 間の イ ン タ ー
フ ェ イ ス と し て定義 さ れます。 こ の定義に特別な ロ ジ ッ ク や タ グは必要あ り ません。 こ れ ら は ソ フ
ト ウ ェ アで自動的に処理 さ れます。 ほ と ん ど の場合、 こ の ノ ー ド を表すために、 こ の イ ン タ ーフ ェ
イ ス ポ イ ン ト に LUT1 が挿入 さ れます。こ の LUT は ス タ テ ィ ッ ク ロ ジ ッ ク の階層レベルにあ る の
で、 すべての コ ン フ ィ ギ ュ レーシ ョ ンで同 じ 論理お よ び物理 ロ ケーシ ョ ンにあ り ます。 物理 ロ ケー
シ ョ ン自体は接続 さ れ る リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内にあ る ので、 リ コ ン フ ィ ギ ュ レー
シ ョ ン では リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内部の ロ ジ ッ ク が こ の既知の イ ン タ ーフ ェ イ ス ポ イ
ン ト に接続 さ れます。
第 3 章の 「制約」 に示す と お り 、 プ ロ キ シ ロ ジ ッ ク には UCF で制約を設定で き ます。 pr2ucf ユー
テ ィ リ テ ィ を使用す る と 、 イ ンプ リ メ ン ト さ れた コ ン フ ィ ギ ュ レーシ ョ ンか ら のすべてのプ ロ キ シ
ロ ジ ッ ク の制約を生成で き ます。プ ロ キ シ ロ ジ ッ ク の ロ ケーシ ョ ン制約を指定す る必要はあ り ませ
ん。 こ のセ ク シ ョ ン では、 個々のパーテ ィ シ ョ ン ピ ンお よ びパーテ ィ シ ョ ン ピ ン のグループに タ
イ ミ ン グ制約を設定す る ための情報 も 示 し ます。
118
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
ブラ ッ ク ボッ クス
制御 さ れた配線
接続には、1 つのデザ イ ン エ レ メ ン ト か ら 別のデザ イ ン エ レ メ ン ト ま での特別な配線 リ ソ ース を必
要 と す る も のがあ り ます。 パーテ ィ シ ョ ンの境界が こ の接続に ま たが る 場合に、 プ ロ キ シ ロ ジ ッ ク
を そのパス に挿入す る と エ ラ ーが発生 し ます。 こ の よ う な場合、 イ ンプ リ メ ン テーシ ョ ン ツールで
プ ロ キ シ ロ ジ ッ ク が挿入 さ れない よ う に設定す る必要があ り ます。 こ れには、
PARTITION_PIN_DIRECT_ROUTE と い う UCF 制約を該当する 配線のパーテ ィ シ ョ ン ピ ンに適
用 し ます。
次は、 そのエ ラ ー メ ッ セージ と UCF 構文の例です。
ERROR:NgdBuild:1319 - Detected a controlled route on Partition Pin
'aurora_201_i.TX_CLK_OUT'.The connection between GTP_DUAL pin
'aurora_201_i/aurora_mod_i/GTP_DUAL_INST.TXOUTCLK0' in Partition
'/fpga_chip_top/aurora_201_i' and
DCM_ADV pin 'aurora_201_clk_mod_i/clock_divider_i.CLKIN' in Partition
'/fpga_chip_top' should reside within the same Partition.If this is
not possible, create the following constraint and run pr_verify to
validate that this route is the same in each configuration:
PIN aurora_201_i.TX_CLK_OUT PARTITION_PIN_DIRECT_ROUTE = TRUE;
メ ッ セージに記述 さ れ る よ う に、 制御 さ れた完全な配線 ( ソ ース エ レ メ ン ト と デス テ ィ ネーシ ョ ン
エ レ メ ン ト のペア ) は、 未接続の ワ イ ヤが作成 さ れない よ う に、 各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ー
ル内に配置す る 必要があ り ます。 こ のため、 制御 さ れた配線はブ ラ ッ ク ボ ッ ク ス の リ コ ン フ ィ ギ ャ
ラ ブル モジ ュ ールには使用で き ません。
ブラ ッ ク ボッ クス
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ソ フ ト ウ ェ アでは、 ブ ラ ッ ク ボ ッ ク ス を リ コ ン フ ィ ギ ャ ラ
ブル モジ ュ ール と し て イ ンプ リ メ ン ト で き ます。 こ れは、 フル コ ン フ ィ ギ ュ レーシ ョ ン BIT フ ァ
イ ルの容量を削減す る 効率的な方法で、最初の コ ン フ ィ ギ ュ レーシ ョ ン時間 も 削減で き ます。ブ ラ ッ
ク ボ ッ ク ス のパーテ ィ シ ョ ン を作成する には、ネ ッ ト リ ス ト フ ァ イ ルを指定せずに リ コ ン フ ィ ギ ャ
ラ ブル モジ ュ ールを作成 し ます。 PlanAhead には、 こ の ソ ース がブ ラ ッ ク ボ ッ ク ス モジ ュ ール と
し て表示 さ れます。
ブ ラ ッ ク ボ ッ ク ス には論理記述で制約が設定 さ れたユーザー ロ ジ ッ ク はあ り ま せんが、 物理領域
は完全に空ではあ り ま せん。 上記の 「プ ロ キ シ ロ ジ ッ ク 」 セ ク シ ョ ン に示す よ う に、 リ コ ン フ ィ
ギ ャ ラ ブル パーテ ィ シ ョ ンへの イ ン タ ーフ ェ イ ス と し て各パーテ ィ シ ョ ン ピ ンに LUT1 が挿入 さ
れ ます。 こ れ ら のプ ロ キ シ LUT は リ コ ン フ ィ ギ ャ ラ ブル領域内にあ る 必要があ る ので、 領域外の
接続 と 共にブ ラ ッ ク ボ ッ ク ス に表示 さ れます。
BitGen の圧縮機能 を使用する と (-g compress)、BIT フ ァ イ ルの容量を削減で き る こ と があ り ま
す。 こ のオプシ ョ ンは反復す る コ ン フ ィ ギ ュ レーシ ョ ン フ レーム構造を検索 し 、 BIT フ ァ イ ルに格
納す る 必要のあ る コ ン フ ィ ギ ュ レーシ ョ ン デー タ 量を削減 し ます。 こ れに よ り 、 コ ン フ ィ ギ ュ レー
シ ョ ン時間 も 削減 さ れます。 こ の圧縮オプシ ョ ンが配線済みのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ
ン デザ イ ン に使用 さ れ る と 、 すべて の BIT フ ァ イ ル ( フ ルお よ びパーシ ャ ル) が圧縮 さ れた BIT
フ ァ イ ル と し て作成 さ れ ま す。 こ のオプ シ ョ ン は、 ブ ラ ッ ク ボ ッ ク ス リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールを含むパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン を構築す る 際に使用す る と 特に有
益です。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
119
第 7 章 : デザイ ンの注意事項
モ ジ ュ ール レベルの制約フ ァ イル
デザ イ ン全体を適切に制約す る には、 デザ イ ンの ス タ テ ィ ッ ク 部分 と リ コ ン フ ィ ギ ャ ラ ブル部分の
両方に制約を設定す る 必要があ り ます。 こ れには、 複数の方法があ り ます。 ス タ テ ィ ッ ク ロ ジ ッ ク
は、 PlanAhead ソ フ ト ウ ェ ア ま たは Tcl ス ク リ プ ト で使用 さ れ る 最上位ネ ッ ト リ ス ト と メ イ ン の
UCF の制約で制御 さ れます。 I/O ロ ケーシ ョ ン制約な ど、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの
すべてのパ タ ーンで共有 さ れ る制約は、 最上位 UCF に含め る必要があ り ます。
特定の リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールにのみ適用 さ れ る 制約は、次の 3 つの方法のいずれかで指
定で き ます。
•
ネ ッ ト リ ス ト の一部 と し て指定
合成ツールではデザ イ ン ネ ッ ト リ ス ト 内に制約を埋め込む こ と がで き る ので、 こ れ ら の制約は
その フ ァ イ ルの残 り の内容 と 共に読み込まれます。
•
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ネ ッ ト リ ス ト の UCF 内で指定
ネ ッ ト リ ス ト を リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール と し て PlanAhead に読み込む際に、 UCF を
指定す る こ と がで き ます (図 7-2)。こ の UCF の制約はモジ ュ ール レベルを対象 と す る ので、 リ
コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内の イ ン ス タ ン スへの参照には イ ン ス タ ン スへの フル階層パ
ス は使用で き ません。
X-Ref Target - Figure 7-2
図 7-2 : リ コ ン フ ィ ギ ャ ラ ブル モ ジ ュ ール ネ ッ ト リ ス ト と 共に指定する UCF フ ァ イル
•
ngcbuild を使用 し て リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール ネ ッ ト リ ス ト と 統合す る UCF 内で
指定
NGCBuild を コ マ ン ド ラ イ ンで実行する と 、 ネ ッ ト リ ス ト と 制約を統合で き ます。 詳細は、
107 ページの 「デザ イ ン階層」 を参照 し て く だ さ い。
こ の方法は、 1 つのネ ッ ト リ ス ト に UCF か ら の情報を含め る ために使用で き ます。 こ の UCF
の制約 も モジ ュ ール レベルを対象 と する ので、リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内の イ ン ス タ
ン スへの参照には イ ン ス タ ン スへの フル階層パ スは使用で き ません。
120
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
イ ン プ リ メ ン テーシ ョ ン ス ト ラ テ ジ
イ ン プ リ メ ン テーシ ョ ン ス ト ラ テ ジ
FPGA デザ イ ン を最適化す る 際には、 ト レ ー ド オ フ があ り ま す。 パーシ ャ ル リ コ ン フ ィ ギ ュ レ ー
シ ョ ン も 同様です。 パーテ ィ シ ョ ンは最適化の障害 と な あ り 、 リ コ ン フ ィ ギ ャ ラ ブル フ レームには
特定の レ イ ア ウ ト 制約が必要です。 こ れ ら は、 リ コ ン フ ィ ギ ャ ラ ブル デザ イ ン を構築す る際に追加
さ れ る 障害です。タ イ ミ ン グお よ びエ リ アのニーズに よ る追加のオーバーヘ ッ ド は、デザ イ ンに よ っ
て異な り ます。 影響を最小限に抑え る には、 こ のガ イ ド で説明 さ れ るデザ イ ンの注意事項に従 う よ
う に し て く だ さ い。
リ コ ン フ ィ ギ ャ ラ ブル デザ イ ン の コ ン フ ィ ギ ュ レ ーシ ョ ン を構築す る 際は、 最 も 困難な コ ン フ ィ
ギ ュ レーシ ョ ン を最初に イ ンプ リ メ ン ト し て く だ さ い。各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの
各 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに十分な リ ソ ー ス (特にブ ロ ッ ク RAM、 DSP48、 I/O な ど の
リ ソ ース ) が含まれ る よ う 物理領域を選択 し 、 各 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンで タ イ ミ ン
グ ま たはエ リ アにおいて最 も 困難な リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールを選択 し ま す。 ほかの コ ン
フ ィ ギ ュ レーシ ョ ンの リ コ ン フ ィ ギ ャ ラ ブル モジ ュールがそれ よ り も 小型か遅い場合、 それ ら の要
件を満た し やす く な り ます。 すべての リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールのニーズ を満たすために、
タ イ ミ ン グ バジ ェ ッ ト を作成す る必要があ り ます。
イ ンプ リ メ ン テーシ ョ ンで発生 し た配置配線の問題を解決す る方法は、 第 3 章の 「配置配線問題の
デバ ッ グ」 を参照 し て く だ さ い。
シ ミ ュ レーシ ョ ン と 検証
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン の コ ン フ ィ ギ ュ レーシ ョ ンは、 それ自体で完全な
デザ イ ンです。 標準的なシ ミ ュ レーシ ョ ン、 タ イ ミ ン グ解析、 検証方法はすべてパーシ ャ ル リ コ ン
フ ィ ギ ュ レーシ ョ ン デザ イ ン でサポー ト さ れ ま す。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン自体は
シ ミ ュ レーシ ョ ンで き ません。
高速 ト ラ ン シーバーの使用
ザ イ リ ン ク ス の高速 ト ラ ン シーバー (GT11、 GTP、 GTX) の多 く の ピ ンには、 専用接続があ り ます。
専用接続では、こ れ ら の ピ ンに接続 さ れ る I/O を汎用 I/O と は別の方法で処理す る必要があ り ます。
ツールで直接接続を認識 さ せ る には、 ト ラ ン シーバー と 関連す るすべての I/O ロ ジ ッ ク が同 じ パー
テ ィ シ ョ ン内に配置 さ れ る よ う に制約を設定す る必要があ り ます。 こ れには、すべてのパ ッ ド 、バ ッ
フ ァ ー、 ト ラ ン シーバー ロ ジ ッ ク が含まれます。
その他のザイ リ ン ク ス ツール と の連動
こ のセ ク シ ョ ンには、 次の内容が含まれます。
•
「ChipScope Pro と の連動」
•
「System Generator for DSP お よ び CORE Generator と の連動」
ChipScope Pro と の連動
ChipScope™ Pro Aalyzer は、 ロ ジ ッ ク アナ ラ イ ザー、 バ ス アナ ラ イ ザー、 仮想 I/O ソ フ ト ウ ェ ア
コ ア を直接デザ イ ンに挿入 し 、 エンベデ ッ ド ハー ド プ ロ セ ッ サお よ び ソ フ ト プ ロ セ ッ サ を含むす
べての内部信号ま たは ノ ー ド を表示で き ます。 デザ イ ンの計測には、 次のいずれか を使用 し ます。
•
ザ イ リ ン ク ス CORE Generator™ ソ フ ト ウ ェ ア
•
ChipScope Pro Core Inserter
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
121
第 7 章 : デザイ ンの注意事項
ど ち ら のツール も パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンに対応 し てい ますが、 それぞれ制限があ り
ます。
ザ イ リ ン ク ス CORE Generator ソ フ ト ウ ェ ア を使用す る 場合、 ネ ッ ト リ ス ト ベー ス の コ ア を作成
し 、 デザ イ ンに イ ン ス タ ン シエー ト し ます。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの境界が変更 さ
れなければ、 こ れ ら の コ ア を簡単に イ ン ス タ ン シエー ト し て、 該当のデザ イ ン部分をデバ ッ グで き
ます。 すべての ChipScope Pro コ アがデザ イ ンの ス タ テ ィ ッ ク 部分に配置 さ れ る場合、 こ れは簡単
に管理で き ます。 ICON コ アは、 BUFG お よ び BSCAN エ レ メ ン ト の両方を含むので、 ス タ テ ィ ッ
ク ロ ジ ッ ク に配置す る 必要があ り ます。
ILA ま たは VLO コ ア を リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン に イ ン ス タ ン シエー ト す る 場合は、
別の手法が必要です。 フ ロ アプ ラ ン で指定す る領域には、 ChipScope Pro コ ア を イ ンプ リ メ ン ト す
る のに必要なエ レ メ ン ト (特に必要な フ ァ ン ク シ ョ ン を構築す る のに十分なブ ロ ッ ク RAM) をすべ
て含め る 必要があ り ます。 こ の要件のサ イ ズお よ び物理 ロ ケーシ ョ ンに よ っ ては、 リ コ ン フ ィ ギ ャ
ラ ブル パーテ ィ シ ョ ンに多大な影響を及ぼす可能性があ り ます。
ICON コ ア と ILA ま たは VIO コ ア を接続す る CONTROL バス は、 HDL イ ン ス タ ン シエーシ ョ ン
を簡潔にす る ため、 双方向 と し て定義 し ます。 こ のバ スは、 ICON か ら ILA に送信 さ れ る 35 個の
信号 と 、 ILA か ら ICON に送信 さ れ る 1 つの信号か ら 構成 さ れ ま す。 リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールでは、 プ ロ キ シ ロ ジ ッ ク 挿入のため双方向信号は使用で き ないので、 各 ChipScope Pro コ
ア に ラ ッ パ ー を 作 成 し て こ れ ら の 入 出 力 ポ ー ト を 入 力 と 出 力 に 変 換 す る 必 要 が あ り ま す。
ChipScope Pro コ ア を リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに挿入する 方法の詳細 と 、 ICON、 ILA、 お
よ び VIO コ アの HDL ラ ッ パーの例は、 ア ンサー 42899 を参照 し て く だ さ い。
複数領域 ( ス タ テ ィ ッ ク お よ び リ コ ン フ ィ ギ ャ ラ ブル) で信号をデバ ッ グす る 必要があ る 場合、 デ
バ ッ グはで き ま すが、 適切な信号 (デー タ 、 ト リ ガー、 ま たは制御バ ス ) を リ コ ン フ ィ ギ ャ ラ ブル
パーテ ィ シ ョ ン か ら 最上位に送信す る 必要が あ り ま す。 こ れには、 各 リ コ ン フ ィ ギ ャ ラ ブル モ
ジ ュ ールご と にパーテ ィ シ ョ ン イ ン タ ーフ ェ イ ス を変更す る 必要があ り ます。 こ の ス ト ラ テ ジは、
CORE Generator フ ロ ーでのみサポー ト さ れます。
ChipScope Pro Core Inserter ソ フ ト ウ ェ アでは、 HDL ソ ース ではな く 、 ネ ッ ト リ ス ト 自体でデザ イ
ン が変更 さ れ ま す。 こ の フ ロ ーは PlanAhead でサポー ト さ れ ま すが、 プ ロ ーブ ポ イ ン ト は ス タ
テ ィ ッ ク ロ ジ ッ ク 内の信号にのみ制限 さ れ ます。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの ロ ジ ッ ク に
プ ロ ーブ ポ イ ン ト を設定す る と 、 パーテ ィ シ ョ ン イ ン タ ーフ ェ イ ス が変更 さ れ る ので、 設定で き
ない こ と を示す メ ッ セージが表示 さ れます。
System Generator for DSP お よび CORE Generator と の連動
ザ イ リ ン ク ス の ア ド バ ン ス ツ ールお よ び IP ま た はサー ド パー テ ィ ソ ー ス を 使用す る 場合 も 、
ChipScope Pro ソ フ ト ウ ェ アの場合 と 同様の規則に従 う 必要があ り ます。 こ れ ら のツールはデザ イ
ン を HDL ま たはネ ッ ト リ ス ト レベルで構築お よ び変更す る ので、パーシ ャ ル リ コ ン フ ィ ギ ュ レー
シ ョ ン フ ロ ーに必要なボ ト ム ア ッ プ合成手法で う ま く 動作 し ます。 リ コ ン フ ィ ギ ャ ラ ブル領域の定
義 (適切なエ レ メ ン ト が含 ま れ る よ う にす る ) と リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン の タ イ ミ ン
グには注意が必要ですが、 こ れ ら の一般的な要件以外は、 ど ち ら のツール も パーシ ャ ル リ コ ン フ ィ
ギ ュ レーシ ョ ン と 問題な く 連動 し ます。
ア ド バン ス ツールお よ び IP を使用 し たパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの場合は、 こ れ ら の
デザ イ ン ブ ロ ッ ク の内容に注意が必要です。 グ ロ ーバル ク ロ ッ ク ま た は ク ロ ッ ク 調整 ロ ジ ッ ク
(BUFG、 DCM、 PLL な ど ) は リ コ ン フ ィ ギ ュ レーシ ョ ン さ れ る モジ ュ ールには配置で き ません。
ブ ロ ッ ク に リ コ ン フ ィ ギ ャ ラ ブルでは な いデザ イ ン エ レ メ ン ト が含 ま れ る 場合は、 ChipScope
ICON コ ア と 同様、 そのブ ロ ッ ク を ス タ テ ィ ッ ク ロ ジ ッ ク に配置す る必要があ り ます。
122
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ンのデザイ ン チ ェ ッ ク リ ス ト
EDK と の連動
EDK で開発 し たプ ロ セ ッ サ デザ イ ンのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン フ ロ ーについては、
『プ ロ セ ッ サ ペ リ フ ェ ラ ルのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン チ ュ ー ト リ アル : PlanAhead デ
ザ イ ン ツール』 (UG744) を参照 し て く だ さ い。 こ のチ ュー ト リ アルは、次のパーシ ャ ル リ コ ン フ ィ
ギ ュ レーシ ョ ンの ウ ェ ブサ イ ト か ら ダ ウ ン ロ ー ド で き ます。
http://japan.xilinx.com/tools/partial-reconfiguration
EDK と パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの連動の詳細 :
•
PlanAhead プ ロ ジ ェ ク ト を作成 し 、 EDK で開発 し たデザ イ ンの最上位ネ ッ ト リ ス ト を指定す
る 場合、 implementation デ ィ レ ク ト リ (../implementation/top_level_
filename.ngc) のネ ッ ト リ ス ト ではな く 、 synthesis デ ィ レ ク ト リ (../synthesis/
top_level_filename.ngc) の最上位ネ ッ ト リ ス ト を指定 し ます。
リ コ ン フ ィ ギ ャ ラ ブル モジ ュール と し て使用す る ネ ッ ト リ ス ト はすべて、PlanAhead の起動前
に EDK の implementation デ ィ レ ク ト リ か ら 削除 し てお く 必要があ り ます。 削除 さ れた
ネ ッ ト リ ス ト は EDK の synthesis デ ィ レ ク ト リ の最上位ネ ッ ト リ ス ト か ら 呼び出 さ れ る の
で、 PlanAhead で こ れ ら のネ ッ ト リ ス ト をブ ラ ッ ク ボ ッ ク ス と し て処理す る か ど う か を選択で
き ます。 PlanAhead でブ ラ ッ ク ボ ッ ク ス を作成で き る よ う に し た ら 、 削除 さ れたネ ッ ト リ ス ト
と 同 じ ポー ト 定義を使用 し て EDK の外部でネ ッ ト リ ス ト を作成 し 、 こ れ ら のネ ッ ト リ ス ト を
PlanAhead を使用 し て新 し い リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール と し て追加 し ます。
•
EDK プ ロ セ ッ サ シ ス テ ム デザ イ ンの BIT フ ァ イ ルを生成する 場合は、 BIT フ ァ イ ルで
Data2MEM プ ロ グ ラ ム を 実行 し 、 コ ン パ イ ル済みの ソ フ ト ウ ェ ア プ ロ グ ラ ム を 使用 し て ブ
ロ ッ ク RAM の内容 を ア ッ プデー ト す る 必要が あ り ま す。 PlanAhead 環境で実行す る 場合、
Data2MEM プ ロ グ ラ ム を直接呼び出す リ ン ク はあ り ません。 ただ し 、 BitGen の -bd オプシ ョ
ン を 使 用 す る と 、 BitGen で Data2MEM を 直接呼び出す こ と が で き ま す。 PlanAhead で
[Generate Bitstream] コ マ ン ド を実行する と 、使用可能な BitGen オプシ ョ ン を含むダ イ ア ロ グ
ボ ッ ク ス が表示 さ れます。 -bd オプシ ョ ンは、 こ の リ ス ト に表示 さ れます。 -bd オプシ ョ ンの
値フ ィ ール ド で、 EDK で生成 し た ELF フ ァ イ ルを指定で き ます。
こ のオプシ ョ ンは、BitGen コ マ ン ド ラ イ ンか ら も 使用で き ます。次は、その コ マ ン ド の例です。
bitgen -bd <path_to_ELF_file>/executable.elf
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ンのデザイ ン チ ェ ッ ク リ ス ト
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用す るデザ イ ンでは、 次の項目を考慮 し て く だ さ い。
•
グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ーま たは ク ロ ッ ク 調整ブ ロ ッ ク (DCM、 MMCM、 PLL) を使用
し てい ますか。
•
•
グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ーお よ び ク ロ ッ ク 調整ブ ロ ッ ク は、 ス タ テ ィ ッ ク ロ ジ ッ ク
に配置す る 必要があ り ます。
-
詳細は、 こ の章の 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト 」 を参
照 し て く だ さ い。
-
グ ロ ーバル ク ロ ッ ク イ ンプ リ メ ン テーシ ョ ンの詳細は、 「グ ロ ーバル ク ロ ッ ク 」 を参
照 し て く だ さ い。
リ ージ ョ ナル ク ロ ッ ク バ ッ フ ァ ーを使用 し てい ますか。
•
リ ージ ョ ナル ク ロ ッ ク バ ッ フ ァ ーの要件は、 アーキ テ ク チ ャ に よ っ て異な り ます。
-
リ ージ ョ ナル ク ロ ッ ク の要件は、 「グ ロ ーバル ク ロ ッ ク 」 を参照 し て く だ さ い。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
123
第 7 章 : デザイ ンの注意事項
•
デバ イ ス機能ブ ロ ッ ク (BSCAN、 CAPTURE、 DCIRESET、 FRAME_ECC、 ICAP、
KEY_CLEAR、 STARTUP、 USR_ACCESS) を使用 し てい ますか。
•
デバ イ ス機能ブ ロ ッ ク は、 ス タ テ ィ ッ ク ロ ジ ッ ク に配置す る こ と をお勧め し ます。
•
一緒にパ ッ ク す る 必要のあ る ロ ジ ッ ク が同 じ リ コ ン フ ィ ギ ャ ラ ブル
れてい ますか。
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの境界に よ り 、最適化お よ びパ ッ キ ン グが制限 さ れ
る こ と があ る ので、 ク リ テ ィ カル パ ス は同 じ パーテ ィ シ ョ ン内に含め る 必要があ り ます。
-
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの I/O の要件は さ ま ざ ま です。
-
リ コ ン フ ィ ギ ュ レーシ ョ ン中は リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンの出力は不定の ス
テー ト にな る ので、デー タ が破損 し ない よ う デカ ッ プ リ ン グ ロ ジ ッ ク を使用す る必要があ
り ます。
-
モジ ュールの ロ ジ ッ ク を リ セ ッ ト し ま
リ コ ン フ ィ ギ ュ レーシ ョ ン後は、 新規 ロ ジ ッ ク が初期値か ら 変更 さ れてい る可能性があ り
ます。 デカ ッ プ リ ン グが リ リ ース さ れた と き に予測どお り の値にな っ てい る よ う にす る に
は、 ロ ーカル リ セ ッ ト を使用す る必要があ り ます。
-
こ の要件については、 こ の章の 「デカ ッ プ リ ン グ機能」 を参照 し て く だ さ い。
デザ イ ンに高速 ト ラ ン シーバーが含まれますか。
•
高速 ト ラ ン シーバーは ス タ テ ィ ッ ク パーテ ィ シ ョ ンに残っ てい る 必要があ り ます。
•
詳細は、 こ の章の 「デカ ッ プ リ ン グ機能」 を参照 し て く だ さ い。
リ コ ン フ ィ ギ ュ レーシ ョ ン後に リ コ ン フ ィ ギ ャ ラ ブル
すか。
•
•
詳細は、 こ の章の 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの I/O」 を参照 し て く だ さ い。
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールの出力にデカ ッ プ リ ン グ ロ ジ ッ ク を作成 し ま し たか。
•
•
詳細は、 こ の章の 「 ロ ジ ッ ク のパ ッ ク 」 を参照 し て く だ さ い。
リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに I/O が含まれますか。
•
•
詳細は、 こ の章の 「 ロ ジ ッ ク のパ ッ ク 」 を参照 し て く だ さ い。
ク リ テ ィ カル パ ス が同 じ パーテ ィ シ ョ ンに含ま れますか。
•
•
パーテ ィ シ ョ ンに配置 さ
一緒にパ ッ ク す る必要のあ る ロ ジ ッ ク は、すべて同 じ リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ
ン / リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールに配置す る 必要があ り ます。
•
詳細は、 こ の章の 「 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ール内のデザ イ ン エ レ メ ン ト 」 を参
照 し て く だ さ い。
こ の要件については、 こ の章の 「高速 ト ラ ン シーバーの使用」 を参照 し て く だ さ い。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン に ChipScope Pro Analyzer を使用 し てい ま
すか。
•
ChipScope Pro はパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンに使用で き ますが、 一部の要件を
満た し てい る 必要があ り ます。
•
詳細は、 こ の章の 「ChipScope Pro と の連動」 を参照 し て く だ さ い。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンに System Generator for DSP ま たは CORE
Generator を使用 し てい ますか。
•
System Generator と CORE Generator はパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンに使用で
き ますが、 特定の要件を満た し てい る 必要があ り ます。
-
124
詳細は、 こ の章の 「System Generator for DSP お よ び CORE Generator と の連動」 を
参照 し て く だ さ い。
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ンのデザイ ン チ ェ ッ ク リ ス ト
•
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンに EDK を使用 し てい ますか。
•
EDK はパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンに使用で き ますが、 特定の要件を満た し て
い る 必要があ り ます。
-
詳細は、 こ の章の 「EDK と の連動」 を参照 し て く だ さ い。
-
詳細は、『プ ロ セ ッ サ ペ リ フ ェ ラ ルのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン チ ュ ー ト
リ アル : PlanAhead デザ イ ン ツール』 (UG744) を参照 し て く だ さ い。
こ のチ ュ ー ト リ アルは、次のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの ウ ェ ブサ イ ト か
ら ダ ウ ン ロ ー ド で き ます。
http://japan.xilinx.com/tools/partial-reconfiguration.htm
•
暗号化 さ れたパーシ ャ ル BIT フ ァ イ ルを Virtex-4 お よ び Virtex-5 デバ イ ス で使用す る必要が
あ り ますか。
•
暗号化 さ れたパーシ ャ ル BIT フ ァ イ ルは、Virtex-4 お よ び Virtex-5 デバ イ ス ではサポー ト
さ れません。
-
詳細は、 付録 A の 「既知の制限」 を参照 し て く だ さ い。
-
Virtex-5 用に暗号化 さ れたパーシ ャ ル BIT フ ァ イ ルを構築する 方法については、 ザ イ
リ ン ク ス アプ リ ケーシ ョ ン ノ ー ト 『PRC/EPRC : パーシ ャ ル リ コ ン フ ィ ギ ュ レー
シ ョ ンのデー タ イ ン テ グ リ テ ィ お よ びセキ ュ リ テ ィ コ ン ト ロ ー ラ ー』 (XAPP887) を
参照 し て く だ さ い。
•
ブ ロ ッ ク RAM の内容を ア ッ プデー ト する 必要があ り ますか。
•
パーシ ャ ル ビ ッ ト ス ト リ ームでは Data2MEM はサポー ト さ れません。
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンすべてにザ イ リ ン ク ス ガ イ ド ラ イ ンに従っ たエ リ ア グ
ループが設定 さ れてい ますか。
•
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのエ リ ア グループには要件が複数あ り ます。
•
詳細は、 第 3 章の 「エ リ ア グループ制約」 を参照 し て く だ さ い。
リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのエ リ ア グループを効率的な方法で作成 し ま し たか。
•
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンはフ レーム ベース で実行 さ れ る ので、 推奨 さ れ る
作成方法を使用 し て く だ さ い。
•
詳細は、 付録 A の 「既知の制限」 を参照 し て く だ さ い。
詳細は、 こ の章の 「 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン境界の定義」 を参照 し て く
だ さ い。
すべての コ ン フ ィ ギ ュ レーシ ョ ンが一貫 し てい る こ と を確認 し ま し たか。
•
pr_verify を使用 し て、すべての コ ン フ ィ ギ ュ レーシ ョ ンに イ ン ポー ト さ れ る リ ソ ース が一
致 し てい る こ と を確認で き ます。
•
詳細は、 第 3 章の 「pr_verify」 を参照 し て く だ さ い。
デバ イ ス特有の コ ン フ ィ ギ ュ レーシ ョ ン要件を認識 し てい ますか。
•
デバ イ ス フ ァ ミ リ にはそれぞれ独自の コ ン フ ィ ギ ュ レーシ ョ ン要件があ り ます。
-
第 6 章 「FPGA デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン」 を参照 し て く だ さ い。
-
詳細は、 該当す るデバ イ ス フ ァ ミ リ の コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド を参
照 し て く だ さ い。 付録 C 「その他の リ ソ ース」 に コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ
イ ド への リ ン ク があ り ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
125
第 7 章 : デザイ ンの注意事項
126
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
付録 A
既知の問題 と 制限
こ の付録では、 13.4 のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ソ フ ト ウ ェ アの既知の問題お よ び制
限を リ ス ト し ます。
既知の問題
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン の既知の問題の リ ス ト は、 ア ン サー 35019 を参照 し て く だ
さ い。
既知の問題は、 次の と お り です。
•
Tcl ス ク リ プ ト の スペル ミ ス が レ ポー ト さ れない
Color2 デザ イ ンに含まれ る サンプルの Tcl ス ク リ プ ト を使用する場合、 イ ン ス タ ン ス名 ( コ ン
フ ィ ギ ュ レーシ ョ ン、 リ コ ン フ ィ ギ ャ ラ ブル モジ ュール、パス な どの名前) はユーザー デザ イ ン
を反映す る よ う に変更 し てお く 必要があ り ます。名前の スペルが間違っ ていて も 、間違っ てい る
こ と を示すエ ラ ー メ ッ セージは表示 さ れないので、 合成およ び イ ンプ リ メ ン テーシ ョ ンで正 し
いフ ァ イ ル名お よび設定が適用 さ れてい る こ と を、 レ ポー ト フ ァ イ ルで確認し て く だ さ い。
既知の制限
既知の制限には、 次の よ う な も のがあ り ます。
•
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ソ フ ト ウ ェ アでは Spartan® デバ イ ス フ ァ ミ リ はサ
ポー ト さ れません。
•
Artix™-7 デバ イ ス のビ ッ ト ス ト リ ームの生成はハー ド ウ ェ ア検証中であ り 、 現在の と こ ろ
デ ィ ス エーブルにな っ てい ます。
•
ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジ を使用す る Virtex®-7 FPGA の場合
は、 ISE ツールでパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を イ ンプ リ メ ン ト で き ません。
•
PlanAhead では、 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン内でエ リ ア グループ サブモジ ュール
は使用で き ません。
•
暗号化 さ れたパーシ ャ ル BIT フ ァ イ ル (bitgen -g encrypt で生成) は、 Virtex-4 お よ び
Virtex-5 デバ イ ス では直接サポー ト さ れ ま せん。 Virtex-5 用に暗号化 さ れたパーシ ャ ル BIT
フ ァ イ ルを生成す る方法は、 ザ イ リ ン ク ス アプ リ ケーシ ョ ン ノ ー ト 『PRC/EPRC : パーシ ャ
ル リ コ ン フ ィ ギ ュ レ ーシ ョ ン のデー タ イ ン テ グ リ テ ィ お よ びセ キ ュ リ テ ィ コ ン ト ロ ー ラ ー』
(XAPP887) を参照 し て く だ さ い。
暗号化 さ れたパーシ ャ ル BIT フ ァ イ ルは、7 シ リ ーズお よ び Virtex-6 デバ イ ス でサポー ト さ れ
ます。 こ の場合、各 コ ン フ ィ ギ ュ レーシ ョ ンに対 し て同 じ NKY フ ァ イ ルを指定 し て、暗号キー
の値が同 じ にな る よ う にす る 必要があ り ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2011 年 1 月 18 日
japan.xilinx.com
127
付録 A : 既知の問題 と 制限
暗号化 さ れた Virtex-6 のパーシ ャ ル BIT フ ァ イ ルのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン
には、 8 ビ ッ ト バ ス の場合にのみ、 ICAP を使用す る 必要があ り ます。 暗号化が使用 さ れ る 場
合は、 外部 コ ン フ ィ ギ ュ レーシ ョ ン ポー ト を介 し て リ コ ン フ ィ ギ ュ レーシ ョ ンす る こ と はで
き ません。
128
•
PlanAhead では、 Data2MEM プ ロ グ ラ ム を直接実行 し て、 ブ ロ ッ ク RAM の内容 (EDK プ ロ
セ ッ サ シ ス テ ム な ど ) を ア ッ プデー ト す る こ と はで き ません。 ただ し 、 BitGen コ マ ン ド を -bd
オプシ ョ ン で実行す る と 、 ビ ッ ト ス ト リ ーム生成の一部 と し て Data2MEM を実行で き ま す。
詳細は、 第 7 章の 「EDK と の連動」 を参照 し て く だ さ い。
•
双方向パーテ ィ シ ョ ン ピ ンはサポー ト さ れません。 ス タ テ ィ ッ ク ロ ジ ッ ク と リ コ ン フ ィ ギ ャ
ラ ブル ロ ジ ッ ク 間の イ ン タ ーフ ェ イ ス には、 単一方向ピ ンのみを使用す る必要があ り ます。
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2011 年 1 月 18 日
付録 B
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン
ア ッ プグ レー ド ガ イ ド
こ の付録では、9.2.04i モジ ュ ール デザ イ ン早期ア ク セ ス (EA) ソ リ ュ ーシ ョ ン で作成 し たデザ イ ン
をパーテ ィ シ ョ ン ベース の ISE® 13 デザ イ ンにア ッ プグ レー ド す る方法を説明 し ます。
ISE 13 のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン フ ロ ーは基本的に ISE 12 のデザ イ ン フ
ロ ー と 同 じ で、 ア ッ プグ レー ド 方法 も 同 じ です。
早期ア ク セス版 と 製品版の違い
ア ッ プグ レー ド 可能なデザイ ン
Virtex®-4 お よ びそれ以降のデバ イ ス を タ ーゲ ッ ト にす る 早期ア ク セ ス (EA) デザ イ ンは、ISE 13 用
にア ッ プグ レー ド で き ます。こ の場合、ISE 13 で PlanAhead™ プ ロ ジ ェ ク ト を新規に作成す る必要
があ り ます。 こ のプ ロ ジ ェ ク ト を作成する には、 第 4 章 「PlanAhead サポー ト 」 の手順に従っ て く
だ さ い。
バス マ ク ロのイ ン ス タ ン シ エーシ ョ ンの必要な し
バス マ ク ロ (BM) は必要な く な り ま し た。パーテ ィ シ ョ ン ピ ンは自動的に管理 さ れます。 バ ス マ ク
ロ 機能の一部は、 こ の自動化で置 き換え ら れてい ます。 早期ア ク セ ス では同期お よ び非同期のバ ス
マ ク ロ の両方が使用で き ま し た。 最適な階層デザ イ ン手法に従っ て境界に レ ジ ス タ を付け、 リ コ ン
フ ィ ギ ャ ラ ブル ロ ジ ッ ク をデカ ッ プ リ ン グす る には、 HDL に レ ジ ス タ を追加 し て、 同期バス マ ク
ロ に含まれてい る 出力レ ジ ス タ の機能を置 き換え る こ と がで き ます。
パーテ ィ シ ョ ンの境界には レ ジ ス タ を付け、 こ れ ら の レ ジ ス タ に イ ネーブルを使用す る よ う に し て
く だ さ い。 リ コ ン フ ィ ギ ュ レーシ ョ ン中の領域の動作は不明なので、 リ コ ン フ ィ ギ ュ レーシ ョ ン中
の ロ ジ ッ ク の出力が使用 さ れ る と 、デザ イ ンが破損す る 可能性があ り ます。 こ のため、境界に イ ネー
ブル付き レ ジ ス タ を付け、 リ コ ン フ ィ ギ ュ レーシ ョ ン中は リ コ ン フ ィ ギ ャ ラ ブル領域をデ ィ ス エー
ブル し てお く 必要があ り ます。
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン特有の環境変数の廃止
早期ア ク セ ス では さ ま ざ ま な環境変数を設定す る必要があ り ま し たが、 ISE 13 ではその必要はあ り
ません。 早期ア ク セ ス用に設定 し た環境変数は、 すべて解除 し て く だ さ い。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2011 年 1 月 18 日
japan.xilinx.com
129
付録 B : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ア ッ プグ レー ド ガ イ ド
MODE 制約の廃止
早期ア ク セ ス では、 ど のエ リ ア グループが リ コ ン フ ィ ギ ャ ラ ブルか を ツールで指定す る 必要があ り
ま し た。 こ れには、 UCF に専用の制約 (MODE=RECONFIG) が追加 さ れてい ま し たが、 こ れ ら の
制約は必要な く な り ま し た。 こ の機能は PlanAhead の [Set Reconfigurable] オプシ ョ ン で置 き 換え
ら れてお り 、 xpartition.pxml に Reconfigurable=TRUE と い う 情報が追加 さ れ る よ う にな っ て
い ます。
NGDBuild -modular オプ シ ョ ンの廃止
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン を実行 し てい る こ と を NGDBuild で指定す る必要
はな く な っ てい ます。 こ れは、 xpartition.pxml フ ァ イ ルで処理 さ れ る よ う にな り ま し た。 詳細
は、 こ の後のセ ク シ ョ ン を参照 し て く だ さ い。
パーテ ィ シ ョ ン情報の xpartition.pxml フ ァ イルへの保存
ISE 13 では、 PXML フ ァ イ ルでパーテ ィ シ ョ ン特有の情報が管理 さ れます。 こ の フ ァ イ ルは
xpartition.pxml と い う 名前で、 こ の名前は変更で き ません。 こ の フ ァ イ ルは ASCII XML 形式
で、 イ ンプ リ メ ン テーシ ョ ン ご と に作成 さ れます。 ほ と ん ど のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ
ン特有の情報 (AREA GROUP RANGE 制約用に保存 さ れ る すべての情報) は、xpartition.pxml
フ ァ イ ルに含まれます。 ツールでは自動的に xpartition.pxml フ ァ イ ルがチ ェ ッ ク さ れます。 リ
コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ン を含むデザ イ ンには、xpartition.pxml フ ァ イ ルが必ず必要
で、少な く と も 1 つのパーテ ィ シ ョ ンが定義 さ れてい る必要があ り ます。 こ の フ ァ イ ルがない場合、
デザ イ ンはフ ラ ッ ト デザ イ ン と し て処理 さ れます。
xpartition.pxml フ ァ イ ルは PlanAhead で生成 さ れ、ユーザーは変更で き ません。デザ イ ン を イ
ンプ リ メ ン ト す る のにザ イ リ ン ク ス HD Tcl ス ク リ プ ト を使用す る場合は、 イ ンプ リ メ ン テーシ ョ
ン ス ク リ プ ト が実行 さ れた と き に こ の フ ァ イ ルが作成 さ れます。
コ マ ン ド ラ イ ン オプ シ ョ ン は Tcl フ ローのみ
早期ア ク セ ス では、ツールは コ マ ン ド ラ イ ンか ら 直接実行で き ま し た。ツールは ISE 13 で も コ マ ン
ド ラ イ ンか ら 実行で き ますが、 ISE 13 ツールでデザ イ ンがパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン
デザ イ ン と し て処理 さ れ る ためには、 PMXL フ ァ イ ルが必要です。 こ のため、 Tcl に PMXL フ ァ イ
ルを生成す る フ ロ ーを記述す る必要があ り ます。
メ モ : ザ イ リ ン ク ス HD Tcl ス ク リ プ ト を使用する 場合、 run を作成する と き に [Generate Scripts
Only] オプシ ョ ン を使用 し て基本的な フ ラ ッ ト フ ロ ーの ス ク リ プ ト を生成 し てお く こ と がで き ま
す。 リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ シ ョ ンのプ ロ モー ト 、 イ ンプ リ メ ン ト 、 イ ン ポー ト な ど の機能
を実行す る ザ イ リ ン ク ス HD Tcl ス ク リ プ ト を記述する 場合は、 第 5 章 「コ マ ン ド ラ イ ン ス ク リ プ
ト 」 を参照 し て く だ さ い。
UCF は NGDBuild でのみ必要
早期ア ク セ ス では、 変換 (Translate) 後の イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス (MAP およびプ ロ セ ス )
に UCF が必要で し たが、 ダ ウ ン ス ト リ ーム イ ンプ リ メ ン テーシ ョ ン プ ロ セ スに必要な情報はすべ
てデザ イ ンのデータ ベース フ ァ イ ルに含まれ る よ う にな っ たので、 UCF は必要な く な り ま し た。
130
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2011 年 1 月 18 日
デザイ ンのア ッ プグレー ド
完全デザイ ンの タ イ ミ ング制約の管理
ISE 13 では完全なデザ イ ン を イ ンプ リ メ ン ト す る ので、タ イ ミ ン グ制約 と タ イ ミ ン グ バジ ェ ッ ト を
作成す る 必要があ り ます。 タ イ ミ ン グ管理については、 第 3 章 「 ソ フ ト ウ ェ ア ツール フ ロ ー」 を参
照 し て く だ さ い。
BUFR にパーテ ィ シ ョ ン ピ ンが必要 (Virtex-5)
早期ア ク セ ス では、 BUFR には複数の制限があ り ま し たが、 ネ ッ ト ワー ク にはバス マ ク ロ は必要あ
り ませんで し た。 ISE 13 では、 ク ロ ッ ク 領域の前配線要件を満たすためにパーテ ィ シ ョ ン ピ ンが
BUFR ネ ッ ト ワ ー ク に追加 さ れてい ます。 こ れは、 Virtex-5 にのみ該当 し ます。
デザイ ンのア ッ プグ レー ド
早期ア ク セ ス デザ イ ンは、 ISE 13 用に簡単にア ッ プグ レー ド で き ます。 まず、 HDL でバス マ ク ロ
を削除ま たは置 き 換え、 該当する ネ ッ ト リ ス ト を再生成 (再合成) し ます。 ネ ッ ト リ ス ト が正 し く 設
定 さ れた ら 、ISE 13 で新 し い PlanAhead プ ロ ジ ェ ク ト を作成 し ます。9.2.04i PlanAhead のプ ロ ジ ェ
ク ト を 13.4 PlanAhead に直接ア ッ プグ レー ド し ないで く だ さ い。
バス マ ク ロの削除
デザ イ ン を ア ッ プグ レー ド す る には、 まず HDL でバ ス マ ク ロ を削除 し ます。 バス マ ク ロ を削除す
る 方法は 2 つあ り ます。
•
•
バス マ ク ロ の イ ン ス タ ン シエーシ ョ ンの削除
•
利点 : HDL を き れいな ま ま で残せ る
•
欠点 : 時間がかか り 、 すべての イ ン ス タ ン ス に対 し て実行す る必要があ る
バス マ ク ロ の再定義
•
利点 : 大量のバ ス マ ク ロ を置換す る最 も 速い方法
•
欠点 : バ ス マ ク ロ の イ ン ス タ ン シエーシ ョ ンがデザ イ ン中に残っ た ま ま にな る
バス マ ク ロ を削除せずにバ ス マ ク ロ の NMC フ ァ イ ルを削除する と 、変換 (NGDBuild) プ ロ セ ス で
次の よ う なエ ラ ー メ ッ セージが表示 さ れます。
ERROR:NgdBuild:604 - logical block 'my_RP/my_BM_GENERATE[7].my_BM'
with type 'busmacro_xc5v_async_enable' could not be resolved.A pin
name misspelling can cause this, a missing edif or ngc file, case
mismatch between the block name and the edif or ngc file name, or the
misspelling of a type name.Symbol 'busmacro_xc5v_async_enable' is
not supported in target 'virtex5'.
VHDL バス マ ク ロの削除
バス マ ク ロのイ ン ス タ ン シ エーシ ョ ンのみの削除
次の例では、 非同期バ ス マ ク ロ が使用 さ れてい ます。 こ の例では、 バス マ ク ロ の削除を簡単に説明
す る ため、バス マ ク ロ の入力を直接バ ス マ ク ロ の出力に接続 し てい ますが、 こ れは実際には必要な
く 、 1 つのネ ッ ト ワー ク でバ ス マ ク ロ 入力 と バ ス マ ク ロ 出力を置換で き ます。 逆に、 複数のバ ス マ
ク ロ に関連す る 制御 ロ ジ ッ ク があ り 、制御 ロ ジ ッ ク が 2 つの信号の イ ン タ ーフ ェ イ ス と な る ため、こ
れ ら のバス マ ク ロ タ イ プを保持す る には入力信号 と 出力信号の両方が必要です。
バス マ ク ロ を再定義す る方法については、 後述 し ます。
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2011 年 1 月 18 日
japan.xilinx.com
131
付録 B : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ア ッ プグ レー ド ガ イ ド
手順 1 : すべてのバス マ ク ロから コ ンポーネ ン ト 宣言を削除 し ます。
例 : 削除す る VHDL バ ス マ ク ロ 宣言
component busmacro_xc5v_async is
port (
input0 : in std_logic;
input1 : in std_logic;
input2 : in std_logic;
input3 : in std_logic;
output0 : out std_logic;
output1 : out std_logic;
output2 : out std_logic;
output3 : out std_logic
);
end component;
手順 2 : バス マ ク ロのイ ン ス タ ン シ エーシ ョ ン を 1:1 の信号マ ッ プ代入文に置き換え ます。
例 : 変更前の VHDL バス マ ク ロ の イ ン ス タ ン シエーシ ョ ン
Control1_0_BM
port map (
input0 =>
input1 =>
input2 =>
input3 =>
output0 =>
output1 =>
output2 =>
output3 =>
);
: busmacro_xc5v_async
MY_ADDR_SPACE,
PLB_SAValid,
PLB_rdPrim,
PLB_wrPrim,
MY_ADDR_SPACE_pr,
PLB_SAValid_pr,
PLB_rdPrim_pr,
PLB_wrPrim_pr
例 : バス マ ク ロ を置換す る VHDL コ ー ド (1:1 の代入文)
MY_ADDR_SPACE_pr <= MY_ADDR_SPACE;
PLB_SAValid_pr <= PLB_SAValid;
PLB_rdPrim_pr <= PLB_rdPrim;
PLB_wrPrim_pr <= PLB_wrPrim;
こ れは単純な非同期バ ス マ ク ロ ですが、バ ス マ ク ロ の置換方法をわか り やす く 示 し てい ます。バ ス
マ ク ロ には、制御 ロ ジ ッ ク 付 き のバ ス マ ク ロ お よ び同期バ ス マ ク ロ も あ り ます。こ れ ら のバス マ ク
ロ は、 レ ジ ス タ 推論 と 必要な制御 ロ ジ ッ ク ( イ ネーブル、 ク ロ ッ ク イ ネーブルな ど ) に置換す る必要
があ り ます。 次は、 制御 ロ ジ ッ ク 付 き の非同期バ ス マ ク ロ の例です。
例 : 変更前の VHDL バス マ ク ロ の イ ン ス タ ン シエーシ ョ ン ( イ ネーブル付 き )
Control2_0_BM : busmacro_xc5v_async_enable
port map (
input0 => Sl_addrAck_pr,
input1 => Sl_SSize_pr(0),
input2 => Sl_SSize_pr(1),
input3 => Sl_wait_pr,
enable0 => busmacro_enable,
enable1 => busmacro_enable,
enable2 => busmacro_enable,
enable3 => busmacro_enable,
output0 => Sl_addrAck,
output1 => Sl_SSize(0),
output2 => Sl_SSize(1),
output3 => Sl_wait
132
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2011 年 1 月 18 日
デザイ ンのア ッ プグレー ド
);
例 : バス マ ク ロ を置換す る VHDL コ ー ド ( イ ネーブル付 き )
Sl_addrAck <= Sl_addrAck_pr and busmacro_enable;
Sl_SSize(0) <= Sl_SSize_pr(0) and busmacro_enable;
Sl_SSize(1) <= Sl_SSize_pr(1) and busmacro_enable;
Sl_wait <= Sl_wait_pr and busmacro_enable;
バス マ ク ロの再定義
バス マ ク ロ は、バ ス マ ク ロ と 同 じ 名前で新規に作成 し たネ ッ ト リ ス ト に置換で き ます。同期バ ス マ
ク ロ は ロ ジ ッ ク のデカ ッ プ リ ン グに直接使用で き る ので、 こ の方法は同期バス マ ク ロ に推奨 さ れま
す。 ロ ジ ッ ク デザ イ ンは同 じ なので、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を再検証す る タ ス ク は
大幅に簡略化 さ れます。
HDL か ら のバ ス マ ク ロ と 同 じ イ ン タ ーフ ェ イ ス でネ ッ ト リ ス ト を作成 し 、 必要な内部代入を定義
し ます。 合成中は、 I/O バ ッ フ ァ ーの挿入をデ ィ ス エーブルに し て く だ さ い。 XST では、 こ のオプ
シ ョ ンは [Add I/O Buffers] (-iobuf) です。
メ モ : こ れ ら の ロ ジ ッ ク モジ ュ ールは、 置換 さ れたバス マ ク ロ が リ コ ン フ ィ ギ ャ ラ ブル パーテ ィ
シ ョ ンの入力であ っ て も 出力であ っ て も 、 ス タ テ ィ ッ ク ロ ジ ッ ク 内に配置 さ れます。
例 : busmacro_xc5v_async 用に再定義 さ れた VHDL バ ス マ ク ロ
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity busmacro_xc5v_async is
Port ( input0 : in
STD_LOGIC;
input1 : in
STD_LOGIC;
input2 : in
STD_LOGIC;
input2 : in
STD_LOGIC;
output0 : out STD_LOGIC;
output1 : out STD_LOGIC;
output2 : out STD_LOGIC;
output3 : out STD_LOGIC);
end busmacro_xc5v_async;
architecture Behavioral of busmacro_xc5v_async is
begin
output0 <= input0;
output1 <= input1;
output2 <= input2;
output3 <= input3;
end Behavioral;
こ の方法は、 作業量が多い よ う に見え ますが、 デザ イ ン全体でバス マ ク ロ が数百個 も 使用 さ れてい
る よ う な場合、 イ ン ス タ ン ス ご と に変更を加え る必要がないので、 変換が簡単に短時間で実行で き
ます。 こ れ ら のバ ス マ ク ロ を再定義する と 、 モジ ュ ールの問題を修正で き 、 変更がその タ イ プのバ
ス マ ク ロ すべてで一貫 し た も のにな り ます。次は、制御 ロ ジ ッ ク 付き の非同期バ ス マ ク ロ の例です。
例 : busmacro_xc5v_async_enable 用に再定義 さ れた イ ネーブル付き VHDL バス マ ク ロ
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity busmacro_xc5v_async_enable is
Port ( input0 : in
STD_LOGIC;
input1 : in
STD_LOGIC;
input2 : in
STD_LOGIC;
input2 : in
STD_LOGIC;
input2 : in
STD_LOGIC;
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2011 年 1 月 18 日
japan.xilinx.com
133
付録 B : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ア ッ プグ レー ド ガ イ ド
enable1 : in
STD_LOGIC;
enable2 : in
STD_LOGIC;
enable3 : in
STD_LOGIC;
output0 : out STD_LOGIC;
output1 : out STD_LOGIC;
output2 : out STD_LOGIC;
output3 : out STD_LOGIC);
end busmacro_xc5v_async_enable;
architecture Behavioral of busmacro_xc5v_async_enable is
begin
output0 <= input0 and enable0;
output1 <= input1 and enable1;
output2 <= input2 and enable2;
output3 <= input3 and enable3;
end Behavioral;
Verilog バス マ ク ロの削除
Verilog の場合 も VHDL と 同 じ フ ロ ーにな り ますが、Verilog フ ロ ーにはモジ ュール宣言が含まれま
せん。 VHDL の フ ロ ーに従い、 Verilog 構文を使用 し て く だ さ い。
13.4 での PlanAhead プ ロ ジ ェ ク ト の作成
プ ロ ジ ェ ク ト を作成す る には、第 4 章の 「パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト の作
成」 の手順に従っ て く だ さ い。
バス マ ク ロ の再定義プ ロ セ ス を使用す る場合、PlanAhead でプ ロ ジ ェ ク ト を作成す る際に、バ ス マ
ク ロ 置換ネ ッ ト リ ス ト を ス タ テ ィ ッ ク ロ ジ ッ ク ソ ース と し て含め る 必要があ り ます。
ま とめ
モジ ュール デザ イ ン早期ア ク セ ス パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン ツールを使用し て作成お
よび イ ンプ リ メ ン ト し たデザ イ ンは、簡単にパーテ ィ シ ョ ン ベース の ISE 13 用デザ イ ンに変換で き
ます。バス マ ク ロ は削除ま たは置換する必要があ り 、ロ ジ ッ ク のデカ ッ プ リ ン グ を考慮する必要があ
り ます。 ま た、 モジ ュール デザ イ ン特有のオプシ ョ ンは削除で き ます。 短時間で、 最新のパーシ ャ ル
リ コ ン フ ィ ギ ュ レーシ ョ ン ソ フ ト ウ ェ アで、 デザ イ ン を イ ンプ リ メ ン ト で き る よ う にな り ます。
134
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2011 年 1 月 18 日
付録 C
その他の リ ソ ース
追加資料は、 次のザ イ リ ン ク ス ウ ェ ブサ イ ト を参照 し て く だ さ い。
http://japan.xilinx.com/literature
シ リ コ ン、 ソ フ ト ウ ェ ア、 IP に関する 問題を ア ンサー デー タ ベース で検索 し た り 、 テ ク ニ カル サ
ポー ト の ウ ェ ブ ケース を開 く には、 次のザ イ リ ン ク ス ウ ェ ブサ イ ト にア ク セ ス し て く だ さ い。
http://japan.xilinx.com/support
パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンの構築に関す る その他の情報は、次を参照 し て く だ
さ い。
•
『ISE Design Suite を使用 し たザ イ リ ン ク ス FPGA のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』
(WP374) :
http://japan.xilinx.com/support/documentation/white_papers.htm
•
『パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン チ ュ ー ト リ アル : PlanAhead デザ イ ン ツール』
(UG743) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_4/PlanAhead_Tutorial_P
artial_Reconfiguration.pdf
•
『プ ロ セ ッ サ ペ リ フ ェ ラ ルのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン チ ュ ー ト リ アル :
PlanAhead デザ イ ン ツール』 (UG744) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_4/PlanAhead_Tutorial_R
econfigurable_Processor.pdf
•
『パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を使用 し た PCI Express テ ク ノ ロ ジの高速 コ ン フ ィ
ギ ュ レーシ ョ ン』 (XAPP883) :
http://japan.xilinx.com/support/documentation/application_notes/xapp883_Fast_Config_PCIe.pdf
•
『PRC/EPRC : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンのデー タ イ ン テ グ リ テ ィ お よ びセキ ュ リ
テ ィ コ ン ト ロ ー ラ ー』 (XAPP887) :
http://japan.xilinx.com/support/documentation/application_notes/xapp887_PRC_EPRC.pdf
•
『差分ベース のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (XAPP290) :
http://japan.xilinx.com/support/documentation/application_notes/xapp290.pdf
•
『階層デザ イ ン手法ガ イ ド 』 (UG748) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_4/Hierarchical_Design_
Methodolgy_Guide.pdf
•
『再現可能な結果を活用 し たデザ イ ンの保持』 (WP362) :
http://japan.xilinx.com/support/documentation/white_papers/wp362.pdf
•
『PlanAhead ユーザー ガ イ ド 』 (UG632) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_4/PlanAhead_UserGuide.pdf
パーシ ャル リ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
japan.xilinx.com
135
付録 C : その他の リ ソ ース
•
『 コ マ ン ド ラ イ ン ツール ユーザー ガ イ ド 』 (UG628) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_4/devref.pdf
•
『制約ガ イ ド 』 (UG625) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_4/cgd.pdf
•
『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470) :
http://japan.xilinx.com/support/documentation/7_series_user_guides.htm
•
『Virtex-6 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG360) :
http://japan.xilinx.com/support/documentation/virtex-6_user_guides.htm
•
『Virtex-5 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG191) :
http://japan.xilinx.com/support/documentation/virtex-5_user_guides.htm
•
『Virtex-4 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG071) :
http://japan.xilinx.com/support/documentation/virtex-4_user_guides.htm
•
『XST ユーザーガ イ ド (Virtex-4、 Virtex-5、 Spartan-3 お よ び CPLD デバ イ ス用)』 (UG627) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_4/xst.pdf
•
『XST ユーザーガ イ ド (VVirtex-6、 Spartan-6 お よ び 7 シ リ ーズ デバ イ ス用)』 (UG687) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_4/xst_v6s6.pdf
136
japan.xilinx.com
パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド
UG702 (v13.4) 2012 年 1 月 18 日
Fly UP