階層デザイン手法ガイド

階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
階層デザイ ン手法ガ イ ド
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 might 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 might 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.
© Copyright 2011 Xilinx Inc. All Rights Reserved.XILINX, the Xilinx logo, the Brand Window and other designated brands
included herein are trademarks of Xilinx, Inc. All other trademarks are the property of their respective owners.The PowerPC
name and logo are registered trademarks of IBM Corp., and used under license.All other trademarks are the property of their
respective owners.
本資料は英語版 (v 13.2) を翻訳 し た も ので、 内容に相違が生 じ る 場合には原文を優先 し ます。
資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。
日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま でお知 ら せ く
だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け
付けてお り ません。 あ ら か じ めご了承 く だ さ い。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
2011 年 3 月 1 日
13.1
改訂内容
「チーム デザ イ ン フ ロ ー」 の章を追加
次に関する 新 し い情報を追加
• ブ ラ ッ ク ボ ッ ク ス のサポー ト
• ImportTag
• メ モ リ 量の削減方法
2011 年 7 月 6 日
13.2
• 「パーテ ィ シ ョ ンの ス テー ト 」 セ ク シ ョ ンにパーテ ィ シ ョ ンの ス テー ト を auto に設
定 し た場合の情報を追加
• 「プ ロ セ ッ サ シ ス テ ムのパーテ ィ シ ョ ン」 セ ク シ ョ ン を追加
• 「 イ ン ポー ト す る パーテ ィ シ ョ ンの属性値について」 セ ク シ ョ ン を追加
• 一部の機能が Virtex®-6、 Spartan®-6、 お よ び 7 シ リ ーズ FPGA デバ イ ス でのみサ
ポー ト さ れ る こ と を記述
• 「ImportTag 属性の設定」 セ ク シ ョ ンに Tcl コ ン ソ ールか ら の ImportTag 属性の設定
に関する 情報な ど、 新 し い情報を追加
• 「Preservation 属性の管理」 セ ク シ ョ ンで、 コ マ ン ド を [Implementation Settings] か
ら [Specify Partitions] に修正
階層デザイ ン手法ガ イ ド
japan.xilinx.com
UG748 (v13.2) 2011 年 7 月 6 日
目次
改訂履歴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 1 章 : パーテ ィ シ ョ ン
PXML フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
パーテ ィ シ ョ ン を使用する 状況の判断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
パーテ ィ シ ョ ン使用の利点 と 欠点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
パーテ ィ シ ョ ンの ス テー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
パーテ ィ シ ョ ンの保持レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
イ ンポー ト デ ィ レ ク ト リ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
異な る 階層への イ ンポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
大型デザ イ ンの メ モ リ 使用量の管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ブ ラ ッ ク ボ ッ ク ス の使用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
パーテ ィ シ ョ ンの コ ン テ キ ス ト ルール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
第 2 章 : 設計に関する考慮事項
最適化の制限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BoundaryOpt 属性を使用 し た IP コ アの最適化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ンの構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
階層デザ イ ン フ ロ ーの有効活用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
配線情報の保持に関する 制限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ンの フ ロ アプ ラ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
プ ロ セ ッ サ シ ス テ ムのパーテ ィ シ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
18
20
21
24
25
26
第 3 章 : 合成パーテ ィ シ ョ ン フ ロー
合成フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
合成ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
第 4 章 : コ マ ン ド ラ イ ン でのパーテ ィ シ ョ ン フ ロー
PXML フ ァ イ ルの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
イ ンプ リ メ ン テーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ンのエ ク ス ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ンの ス テー ト を import に変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ンでの反復作業 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ン を含むデザ イ ンでの SmartXplorer の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ンの削除 と 復元 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
38
39
40
40
41
42
第 5 章 : PlanAhead でのパーテ ィ シ ョ ン フ ロー
新規プ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ンの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PXML フ ァ イ ルの イ ン ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PXML フ ァ イ ルのエ ク ス ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BoundaryOpt 属性の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ImportTag 属性の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ンの フ ロ アプ ラ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ン デザ イ ンの合成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パーテ ィ シ ョ ン デザ イ ンの イ ンプ リ メ ン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
44
44
44
45
45
46
46
47
47
3
パーテ ィ シ ョ ンのプ ロ モー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
パーテ ィ シ ョ ン属性の管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
デザ イ ン実行の管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
第 6 章 : デザイ ン保持フ ロー
イ ンプ リ メ ン テーシ ョ ンの ラ ン タ イ ム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
コ マ ン ド ラ イ ン フ ロ ー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PlanAhead フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ネ ッ ト リ ス ト フ ロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
52
53
54
第 7 章 : チーム デザイ ン フ ロー
チーム デザ イ ン フ ロ ーのセ ッ ト ア ッ プ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
チーム メ ンバーの役割 り . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
チーム リ ーダーの役割 り . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
設計に関する 推奨事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ISE Design Suite コ マ ン ド ラ イ ン フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PlanAhead ソ フ ト ウ ェ ア フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
イ ン タ ーフ ェ イ ス タ イ ミ ン グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
62
64
68
69
72
75
第 8 章 : パーテ ィ シ ョ ンのデバ ッ グ
イ ンプ リ メ ン テーシ ョ ン エ ラ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
イ ンポー ト する パーテ ィ シ ョ ンの属性値について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BitGen の DRC エ ラ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ChipScope のサポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
83
83
83
付録 A : その他の リ ソ ース
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
ISE 資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
PlanAhead 資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第1章
パーテ ィ シ ョ ン
階層デザ イ ン フ ロ ーでは、 デザ イ ン を 「パーテ ィ シ ョ ン」 と 呼ばれ る 小型のブ ロ ッ ク に分割 し ま
す。 パーテ ィ シ ョ ンには、 次の よ う な特徴があ り ます。
•
ザ イ リ ン ク ス ソ フ ト ウ ェ アの階層デザ イ ン フ ロ ーの基本ブ ロ ッ ク です。
•
階層の境界を定義 し ます。
•
複雑なデザ イ ン を小型の作業 し やすいブ ロ ッ ク に分割 し ます。
•
階層モジ ュ ール イ ン ス タ ン ス の周囲に境界を作成 し 、 デザ イ ンのほかの部分か ら 分離 し ます。
•
イ ンプ リ メ ン ト お よ びエ ク ス ポー ト し たパーテ ィ シ ョ ンは、 単純な コ ピー / 貼 り 付け操作に よ
り デザ イ ンに挿入で き 、 配置配線結果が保持 さ れます。
PXML フ ァ イル
パーテ ィ シ ョ ンは、 PXML フ ァ イ ルを使用 し て定義お よ び制御 し ます。
PXML フ ァ イ ル と は、 次の よ う な フ ァ イ ルです。
•
xpartition.pxml と い う 名前が付いてい ます。
•
ツールを実行す る と 読み込ま れます。
•
次の方法で作成で き ます。
•
PXML テ ンプ レー ト を使用す る か ま たは使用せずに、 手動で作成
•
PlanAhead™ のグ ラ フ ィ カル ユーザー イ ン タ ーフ ェ イ ス (GUI) を使用 し て作成
PXML フ ァ イ ルの作成については、 次を参照 し て く だ さ い。
•
第 4 章 「 コ マン ド ラ イ ンでのパーテ ィ シ ョ ン フ ロ ー」
パーテ ィ シ ョ ン を使用する状況の判断
パーテ ィ シ ョ ンは、 パーテ ィ シ ョ ンが必要なモジ ュ ールにのみ使用 し て く だ さ い。 パーテ ィ シ ョ ン
を過度に使用す る と 、 ラ ン タ イ ムが増加 し 、 パフ ォーマン ス が低下す る こ と があ り ます。
次の よ う なモジ ュ ールでは、 フ ラ ッ ト 最適化を使用 し た方が良い結果が得 ら れます。
•
独立 し た フ ァ ン ク シ ョ ン ブ ロ ッ ク ではな く 、 個別の階層を持たない
•
ほかのブ ロ ッ ク と のグ ロ ーバル最適化が有効
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
5
第 1 章 : パーテ ィ シ ョ ン
パーテ ィ シ ョ ン を効果的に使用す る ための考慮事項は、 次を参照 し て く だ さ い。
•
第 2 章 「設計に関す る 考慮事項」
パーテ ィ シ ョ ン を設定す る のに適 し てい る のは、 次の も のです。
•
次の よ う な フ ァ ン ク シ ョ ン ブ ロ ッ ク
•
DSP モジ ュ ール
•
EDK シ ス テ ム
•
高パフ ォーマン ス コ ア
•
デバ イ ス に一緒に配置す る 必要のあ る ロ ジ ッ ク を含む イ ン ス タ ン ス
•
デザ イ ン ガ イ ド ラ イ ンに従っ たモジ ュ ール
パーテ ィ シ ョ ン使用の利点 と 欠点
階層フ ロ ーには、 利点 と 欠点があ り ます。 パーテ ィ シ ョ ン を使用す る と 、 パーテ ィ シ ョ ンの境界を
越えた最適化は実行 さ れません。
その点を考慮 し てデザ イ ン を設計 し ない と 、 パーテ ィ シ ョ ン を使用す る こ と が タ イ ミ ン グ、 リ ソ ー
ス使用量、 ラ ン タ イ ムに大 き く 影響を与え る 可能性があ り ます。 注意深 く 設計 し て も 、 最適化お よ
び配置に関す る ほかの制限 も あ る ので、 リ ソ ース使用量が増加 し 、 タ イ ミ ン グが悪化す る 場合があ
り ます。 適切に設計 さ れたデザ イ ンでは こ れ ら の影響は最小限に抑え ら れますが、 こ れ ら の制限を
念頭に置いてお く こ と は重要です。
パーテ ィ シ ョ ンの最適化への影響お よ び こ れ ら の影響を最小限に抑え る 設計方法については、 次を
参照 し て く だ さ い。
•
第 2 章 「設計に関す る 考慮事項」
パーテ ィ シ ョ ンのス テー ト
パーテ ィ シ ョ ンは、 その ス テー ト に よ っ て イ ンプ リ メ ン ト ま たは イ ン ポー ト で き ます。
•
パーテ ィ シ ョ ン を初めて ISE® Design Suite イ ンプ リ メ ン テーシ ョ ン ツールで実行す る 場合
は、 パーテ ィ シ ョ ンの ス テー ト を implement に設定 し ます。 イ ン プ リ メ ン テーシ ョ ン ツール
には、 次の も のがあ り ます。
•
NGDBuild
•
MAP
•
PAR
•
イ ンプ リ メ ン テーシ ョ ンが完了 し た ら 、 パーテ ィ シ ョ ン を エ ク ス ポー ト し 、 今後の実行で結果
を イ ン ポー ト で き ます。ただ し 、エ ク ス ポー ト さ れた結果は、内部 ロ ジ ッ ク お よ びパーテ ィ シ ョ
ン イ ン ターフ ェ イ ス が変更 さ れていない場合にのみ使用可能です。
•
パーテ ィ シ ョ ンの ス テー ト を auto に設定で き ます。
auto に設定す る と 、 NGDBuild で自動的に次の処理が実行 さ れます。
6
•
論理的に変更 さ れていないパーテ ィ シ ョ ンは イ ン ポー ト さ れます。
•
論理的に変更 さ れてい る パーテ ィ シ ョ ンは イ ンプ リ メ ン ト さ れます。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
パーテ ィ シ ョ ンのステー ト
パーテ ィ シ ョ ンの ス テー ト を auto に設定す る 場合、 次の よ う な条件があ り ます。
•
コ マ ン ド ラ イ ン フ ロ ーか ら のみサポー ト さ れます。
•
ImportLocation 属性を設定する 必要があ り ます。
ImportLocation
属性は最初の実行では設定 し な く て も か ま い ませんが、 イ ン ポー ト す る
パーテ ィ シ ョ ンがあ る 場合は、 イ ンプ リ メ ン ト さ れたパーテ ィ シ ョ ンがエ ク ス ポー ト さ れてい
る デ ィ レ ク ト リ に設定す る 必要があ り ます。
•
auto ス テー ト は、 NGDBuild で処理 さ れ る デザ イ ンへの論理的な変更のみに使用で き ます。
•
LOC や AREA_GROUP 制約の変更な ど の物理的な変更は、マ ッ プの段階ま で処理 さ れま
せん。
•
その場合は、 ス テー ト を implement に手動で変更する 必要があ り ます。
再イ ン プ リ メ ン ト が必要なパーテ ィ シ ョ ンの変更
パーテ ィ シ ョ ン モジ ュ ールに変更を加え た場合、 そのパーテ ィ シ ョ ンの配置配線が最新ではな く な
り 、変更 し たモジ ュ ールの再 イ ンプ リ メ ン ト が必要にな り ます。変更 し ていないパーテ ィ シ ョ ンは、
前回の実行結果を イ ン ポー ト で き ます。
パーテ ィ シ ョ ンに次の変更を加えた場合に、 再 イ ンプ リ メ ン ト が必要にな り ます。
•
ハー ド ウ ェ ア記述言語 (HDL) コ ー ド の変更
•
パーテ ィ シ ョ ンに関連 し たネ ッ ト リ ス ト が変更 さ れ る 変更
•
パーテ ィ シ ョ ンに関連す る 次の よ う な物理制約の変更 (state=auto では処理 さ れない)
•
•
AREA_GROUP
•
LOC
次の よ う な タ ーゲ ッ ト アーキテ ク チ ャ の変更
•
デバ イ ス
•
パ ッ ケージ
•
ス ピー ド グ レー ド
•
パーテ ィ シ ョ ンに接続 さ れた ChipScope™ Analyzer コ アの追加お よ び接続の変更
•
パーテ ィ シ ョ ン イ ン ターフ ェ イ ス の コ ン テ キ ス ト の変更
コ ン テキ ス ト ルールの詳細は、 次を参照 し て く だ さ い。
•
「パーテ ィ シ ョ ンの コ ン テ キ ス ト ルール」
エ ク ス ポー ト さ れたパーテ ィ シ ョ ンのア ッ プデー ト が必要な場合は、 パーテ ィ シ ョ ンの ス テー ト を
正 し く 管理す る ため、 PXML フ ァ イ ルで state 属性を変更 し ます。 変更 し ない と 、 イ ンプ リ メ ン
テーシ ョ ン エ ラ ーが発生 し ます。
再イ ン プ リ メ ン ト が不要なパーテ ィ シ ョ ンの変更
次の よ う なパーテ ィ シ ョ ンの変更では、 再 イ ンプ リ メ ン ト は必要あ り ません。
•
ロ ジ ッ ク の物理 ロ ケーシ ョ ンに影響 し ない次の よ う な制約の変更
•
•
次の よ う な イ ンプ リ メ ン テーシ ョ ン オプシ ョ ンの変更
•
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
TIMESPEC
par -xe
japan.xilinx.com
7
第 1 章 : パーテ ィ シ ョ ン
パーテ ィ シ ョ ンの保持レ ベル
パーテ ィ シ ョ ン を使用す る と 、 以前の結果を イ ン ポー ト す る こ と に よ り 実行結果を保持で き ます。
パーテ ィ シ ョ ン を イ ン ポー ト す る 際、 次を実行で き ます。
•
保持レベルを指定 し ます。 デフ ォ ル ト では、 配置配線が 100% 保持 さ れます。
•
デフ ォ ル ト を次を保持す る よ う 変更 し ます。
•
配置結果
配線は変更 さ れ る 場合があ り ます。
•
合成結果
配置お よ び配線が変更 さ れ る 場合があ り ます。
•
保持レベルに基づいて、 次の目的で多少の変更を加え ます。
•
タ イ ミ ン グの向上
•
配置ま たは配線の競合の解決
イ ン ポー ト す る パーテ ィ シ ョ ンに対 し ては、 保持レベルにかかわ ら ず、 まずすべての配置配線
情報が コ ピー さ れます。
保持レベルは、 イ ンプ リ メ ン テーシ ョ ン ツールで イ ン ポー ト さ れた配置配線を どれだけ変更で き る
かを指定す る も のです。 保持レベルを緩和する と デバ イ ス リ ソ ース が解放 さ れ、 イ ンプ リ メ ン テー
シ ョ ン ツールでほかのパーテ ィ シ ョ ン を よ り 柔軟に配置配線で き る よ う にな り ます。
保持レベルは、 次の よ う に適用 さ れます。
•
パーテ ィ シ ョ ン ご と に設定で き ます。
•
イ ン ポー ト す る パーテ ィ シ ョ ンのみに適用 さ れます。
タ イ ミ ン グ ク リ テ ィ カルなパーテ ィ シ ョ ン モジ ュ ールで タ イ ミ ン グが満た さ れ、 変更す る 予定が
ない場合は (IP コ アな ど )、 配線ま で を保持す る のが適切です。
パーテ ィ シ ョ ンが タ イ ミ ン グ ク リ テ ィ カルでな く 、 タ イ ミ ン グが満た さ れていない場合は、 保持レ
ベルを緩和 し て ツールで ソ リ ュ ーシ ョ ンが よ り 柔軟に見つけ ら れ る よ う に し ます。
パーテ ィ シ ョ ン を使用す る 目的が検証時間の短縮であ る 場合は、 常に保持レベルを配線に設定 し て
く だ さ い。 次の目的で保持レベルを変更す る 必要があ る 場合は、 パーテ ィ シ ョ ン を再検証 し て く だ
さ い。
•
タ イ ミ ン グ を満たす。
•
デザ イ ンのほかの部分の配線を完了す る 。
パーテ ィ シ ョ ン を フ ロ アプ ラ ンす る と 、 保持レベルを緩和す る 必要がな く な る こ と があ り ます。
イ ンポー ト デ ィ レ ク ト リ
パーテ ィ シ ョ ン を イ ン ポー ト す る 際は、 エ ク ス ポー ト し た結果の場所を指定す る 必要があ り ます。
イ ンプ リ メ ン ト さ れたデザ イ ン を エ ク ス ポー ト す る と 、 デザ イ ンに含まれ る すべてのパーテ ィ シ ョ
ンが自動的にエ ク ス ポー ト さ れます。
チーム デザ イ ンや順次構築す る フ ロ ーでは、 複数の場所ま たは複数のエ ク ス ポー ト デザ イ ンか ら
パーテ ィ シ ョ ン を イ ン ポー ト で き ます。
8
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
異な る階層へのイ ンポー ト
異な る階層へのイ ンポー ト
パーテ ィ シ ョ ンは、 イ ンプ リ メ ン ト し た元の階層 と は異な る 階層に イ ン ポー ト で き ます。
異な る 階層レベルにパーテ ィ シ ョ ン を イ ン ポー ト す る には、 PXML フ ァ イ ルで ImportTag 属性を
使用 し ます。 こ の属性は、 次の よ う な場合に使用で き ます。
•
同 じ デザ イ ンのバ リ エーシ ョ ン間で最上位ブ ロ ッ ク の名前が変更 さ れてい る (Top、 Top2 な ど )
•
パーテ ィ シ ョ ンが次の よ う な場合
•
•
その他の ロ ジ ッ ク は最小限で イ ンプ リ メ ン ト さ れてい る ( ク ロ ッ ク お よ び I/O を含む最
上位)。
•
階層が変更 さ れ る デザ イ ン全体に追加 さ れてい る 。
パーテ ィ シ ョ ンが ま っ た く 異な る 階層に イ ン ポー ト さ れ る 。 パーテ ィ シ ョ ンの入力お よ び出力
への接続は、 一定 し てい る 必要があ り ます。
ImportTag 属性には、 次の よ う な特徴があ り ます。
•
•
次の ツールでサポー ト さ れます。
•
XST (Xilinx Synthesis Technology) 合成ツール
•
ISE Design Suite イ ンプ リ メ ン テーシ ョ ン ツール
次の方法で定義で き ます。
•
•
次で手動で
-
PXML フ ァ イ ル
-
コ マン ド ラ イ ン フ ロ ー
PlanAhead ソ フ ト ウ ェ アで属性を使用
PlanAhead ソ フ ト ウ ェ アで ImportTag 属性を設定する 方法については、 次を参照 し て く だ さ い。
•
第 5 章 「PlanAhead でのパーテ ィ シ ョ ン フ ロ ー」
ImportTag 属性には、 値 と し て イ ン ポー ト する 元のパーテ ィ シ ョ ン を指定 し ます。 新 し い階層は、
パーテ ィ シ ョ ン名で定義 さ れます。
次の よ う に定義 さ れ、 イ ンプ リ メ ン ト さ れた元のパーテ ィ シ ョ ンがあ る と し ます。
Partition Name=”/iptop/ip”
こ のパーテ ィ シ ョ ン を エ ク ス ポー ト し 、 新 し いデザ イ ンで次の名前で使用す る と し ます。
Partition Name = “/top/x/y”
“/iptop/ip” と い う 名前のパーテ ィ シ ョ ン を “/top/x/y” に イ ン ポー ト す る には、 ImportTag
属性を次の よ う に設定 し ます。
Partition Name=”/iptop/ip”
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
9
第 1 章 : パーテ ィ シ ョ ン
大型デザイ ンの メ モ リ 使用量の管理
パーテ ィ シ ョ ン を使用す る と 、 通常合計ピー ク メ モ リ 使用量が増加 し ます。 ほ と ん ど の場合、 こ の
増加はたい し た量ではあ り ませんが、 ス ラ イ ス数が 100,000 以上の大型デザ イ ンでは、 増加量が大
き く な る 可能性があ り ます。 こ の増加は、 パーテ ィ シ ョ ンの イ ン ポー ト 元であ る ネ ッ ト リ ス ト 制約
定義 (NCD) フ ァ イ ルのサ イ ズが原因です。
複数のパーテ ィ シ ョ ン を含むデザ イ ンでは、 次の方法を使用す る と メ モ リ 使用量の増加を抑え る こ
と がで き ます。
•
パーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス と し て定義する
•
最小限の ロ ジ ッ ク を使用 し てパーテ ィ シ ョ ン を定義す る
パーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス と し て定義する
合成お よ び イ ンプ リ メ ン テーシ ョ ンで、 パーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス と し て定義で き ます。
パーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス と し て定義 し た場合の利点
1 つのパーテ ィ シ ョ ンに ロ ジ ッ ク が含まれてお り 、 その他のパーテ ィ シ ョ ン をブ ラ ッ ク ボ ッ ク ス と
し て定義 し た場合にデザ イ ン を イ ンプ リ メ ン ト す る と 、 次の よ う にな り ます。
•
生成 さ れ る NCD フ ァ イ ルのサ イ ズが小 さ く な り ます。
•
デザ イ ンに含まれ る ロ ジ ッ ク 数が少な く な り ます。
•
通常、 ラ ン タ イ ムが短縮 さ れます。
•
イ ンプ リ メ ン テーシ ョ ン ツールでデザ イ ンの一部分のみが処理 さ れ る ので、パーテ ィ シ ョ ン内
の タ イ ミ ン グが向上す る 場合があ り ます。
ブ ラ ッ ク ボ ッ ク ス と し て定義す る 部分を増やす と 、 次の よ う にな り ます。
•
生成 さ れ る NCD フ ァ イ ルのサ イ ズが小 さ く な り ます。
•
イ ン ポー ト 時の メ モ リ 使用量を よ り 削減で き ます。
こ のプ ロ セ ス を繰 り 返 し てすべてのパーテ ィ シ ョ ン を イ ンプ リ メ ン ト し 、 それぞれの場所にエ ク ス
ポー ト し て、 最終的な実行でそれ ら の場所か ら 各パーテ ィ シ ョ ン を イ ン ポー ト し ます。
こ の方法は、 次で説明 さ れてい る フ ロ ー と 似てい ます。
•
第 7 章 「チーム デザ イ ン フ ロ ー」
パーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス と し て定義 し た場合の欠点
パーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス と し て定義す る と 、 最終的にデザ イ ン を アセ ン ブル し た と き
に、 パーテ ィ シ ョ ンの イ ン タ ーフ ェ イ ス の タ イ ミ ン グが満た さ れない こ と があ り ます。
1 つのパーテ ィ シ ョ ン を イ ンプ リ メ ン ト す る と き にほかのパーテ ィ シ ョ ンはブ ラ ッ ク ボ ッ ク ス と し
て定義 さ れてい る ので、欠けてい る ロ ジ ッ ク に接続 さ れてい る タ イ ミ ン グ パ ス に既存の制約が適用
さ れ ません。 ブ ラ ッ ク ボ ッ ク ス モジ ュ ールへの接続は存在 し ますが、 LUT1 と し て イ ンプ リ メ ン
ト さ れ る プ ロ キ シ ロ ジ ッ ク に接続 さ れます。
プ ロ キ シ ロ ジ ッ ク に入出力す る パ ス の タ イ ミ ン グ制約は、 次を使用 し て作成で き ます。
10
•
FROM:TO 制約
•
TPSYNC ま たは PPS
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
ブ ラ ッ ク ボ ッ ク スの使用法
ブ ラ ッ ク ボ ッ ク ス モジ ュ ールのプ ロ キ シ ロ ジ ッ ク に対する 制約例は、 次を参照 し て く だ さ い。
•
「ブ ラ ッ ク ボ ッ ク ス の使用法」
最小限のロ ジ ッ ク を使用 し てパーテ ィ シ ョ ン を定義する
プ ロ キ シ ロ ジ ッ ク と ブ ラ ッ ク ボ ッ ク ス モジ ュ ールを使用す る 方法のほかに、 最小限の ロ ジ ッ ク を
使用 し てパーテ ィ シ ョ ン を定義す る 方法 も あ り ます。
必要な ロ ジ ッ ク は、 既存の制約を使用し て現実的な タ イ ミ ング結果を得る ために必要な イ ン ターフ ェ
イ ス接続です。 入力および出力がレ ジ ス タ を介する よ う にする と 、 通常 こ の要件は満た さ れます。
イ ンプ リ メ ン ト さ れ る パーテ ィ シ ョ ン以外のパーテ ィ シ ョ ンには最小限の ロ ジ ッ ク し か含まれてい
ないので、 次の よ う にな り ます。
•
生成 さ れ る NCD フ ァ イ ルのサ イ ズが完全なデザ イ ン よ り かな り 小 さ く な り ます。
•
メ モ リ 使用量が減少 し ます。
イ ン タ ーフ ェ イ ス の タ イ ミ ン グは次の よ う にな り ます。
•
よ り 正確
•
最終デザ イ ン を アセンブル し た と き に QoR が向上
イ ン タ ーフ ェ イ ス ロ ジ ッ ク を供給する と 、 次の よ う にな り ます。
•
追加の設計時間が必要にな り ます。
•
プ ロ キ シ ロ ジ ッ ク を使用す る 方法 よ り も 適切です。
•
ほかのパーテ ィ シ ョ ンへの イ ン タ ーフ ェ イ ス タ イ ミ ン グが正確な も のにな る ので、 アセンブ リ
時の結果を予測 し やす く な り ます。
ブ ラ ッ ク ボ ッ ク スの使用法
ISE Design Suite 13.1 では、 合成か ら イ ン プ リ メ ン テーシ ョ ン ま ででブ ラ ッ ク ボ ッ ク ス パーテ ィ
シ ョ ンがサポー ト さ れます。
XST イ ン ク リ メ ン タ ル フ ロ ーを使用す る 場合は、 次の よ う にな り ます。
•
PXML フ ァ イ ルを使用 し てパーテ ィ シ ョ ン を定義 し ます。
•
パーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス モジ ュ ールに追加で き ます。
ポー ト の幅 と 方向を定義す る モジ ュ ールま たは コ ン ポーネ ン ト 宣言のみが必要です。
ブ ラ ッ ク ボ ッ ク スがサポー ト さ れる状況
ブ ラ ッ ク ボ ッ ク ス イ ン ス タ ン ス が PXML フ ァ イ ルでパーテ ィ シ ョ ン と し て定義 さ れていれば、 ブ
ラ ッ ク ボ ッ ク ス は イ ンプ リ メ ン テーシ ョ ンでサポー ト さ れます。 こ れは、 次の場合に有益です。
•
チーム デザ イ ン
チーム メ ンバーのブ ロ ッ ク が定義 さ れてお ら ず、 使用で き ない場合
詳細は、 次を参照 し て く だ さ い。
•
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第 7 章 「チーム デザ イ ン フ ロ ー」
japan.xilinx.com
11
第 1 章 : パーテ ィ シ ョ ン
•
メ モ リ 量削減手法
複数の小型の NCD フ ァ イ ルを使用 し て個々のパーテ ィ シ ョ ン をエ ク ス ポー ト す る 場合
詳細は、 次を参照 し て く だ さ い。
•
•
「大型デザ イ ンの メ モ リ 使用量の管理」
順次構築手法
パーテ ィ シ ョ ン を 1 つずつ追加す る こ と で、イ ンプ リ メ ン テーシ ョ ン ツールでデザ イ ンの一部
分のみが集中 し て処理 さ れます。 こ れは、チーム デザ イ ン フ ロ ーを順次処理す る 手法 と 考え る
こ と がで き ます。
詳細は、 次を参照 し て く だ さ い。
•
第 7 章 「チーム デザ イ ン フ ロ ー」
ブ ラ ッ ク ボ ッ ク ス パーテ ィ シ ョ ン を含むデザ イ ン を イ ンプ リ メ ン ト す る と 、 NGDBuild で次の よ
う な警告 メ ッ セージが表示 さ れます。
WARNING:NgdBuild:1419 - Could not resolve Partition block 'top/u0'.
This might be legal if you are implementing the Partition as a
blackbox.If it is not a blackbox, you should check that the Partition's
module file, 'u0.ngc' or 'u0.edf' (or another valid EDIF extension,
exists and is properly set up in a search path (see the -sd option.
NGDBuild レ ポー ト (.bld) の 「Partition Implementation Status」 ( パーテ ィ シ ョ ン イ ン プ リ メ ン
テーシ ョ ン ス テー タ ス ) セ ク シ ョ ンに、 ブ ラ ッ ク ボ ッ ク ス モジ ュールに関す る情報 も 含まれます。
Partition Implementation Status
------------------------------Preserved Partitions:
Implemented Partitions:
Partition "/eth_aggregator":
Attribute STATE set to IMPLEMENT.
Partition "/top/u0" (Black Box Module):
Attribute STATE set to IMPLEMENT.
------------------------------パーテ ィ シ ョ ン が空にな る の を回避す る ため、 NGDBuild に よ り ク ロ ッ ク ポー ト 以外のパーテ ィ
シ ョ ン ポー ト にプ ロ キ シ ロ ジ ッ ク (LUT1) が追加 さ れ ます。 タ イ ミ ン グ ク ロ ージ ャ のため、 最終
的には こ のブ ラ ッ ク ボ ッ ク ス モジ ュ ールを実際の ロ ジ ッ ク に置換す る こ と をお勧め し ますが、 こ
のプ ロ キ シ ロ ジ ッ ク に、 TPSYNC ま たは PPS タ イ ム グループ を使用 し て FROM:TO 制約を適用
で き ます。
デザ イ ンに よ っ て、 こ れ ら の制約には次の制約例の一部ま たはすべて を含め る こ と がで き ます。
TIMESPEC TS_FFS2PPS = FROM FFS TO PPS 3 ns;
TIMESPEC TS_PPS2FFS = FROM PPS TO FFS 3 ns;
TIMESPEC TS_PPS2PPS = FROM PPS TO PPS 3 ns;
12
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
ブ ラ ッ ク ボ ッ ク スの使用法
ブ ロ ッ ク RAM や I/O ロ ジ ッ ク な ど のその他の同期エ ン ド ポ イ ン ト を使用 し た TO ま たは FROM
制約、 パーテ ィ シ ョ ン ご と に特定の PPS タ イ ム グループ を作成 し たパーテ ィ シ ョ ン特定の制約を
使用す る こ と も 可能です。
TIMEGRP “PPS_TM1” = PPS(u1/*);
TIMESPEC TS_FFS2PPS_TM1 = FROM FFS TO PPS_TM1 3 ns;
こ のプ ロ キ シ ロ ジ ッ ク は実際の ロ ジ ッ ク のプ レース ホルダー と し て挿入 さ れ、最終デザ イ ンには含
まれません。
ブ ラ ッ ク ボ ッ ク スがサポー ト さ れない状況
専用接続が関係す る 場合は、 ブ ラ ッ ク ボ ッ ク ス はサポー ト さ れません。
た と えば、 パーテ ィ シ ョ ン モジ ュ ールに、 ト ッ プ パーテ ィ シ ョ ンの専用 I/O サ イ ト に接続 さ れ る
ギガ ビ ッ ト ト ラ ン シーバー (GT) が含まれ る 場合、 こ の イ ン ス タ ン ス をブ ラ ッ ク ボ ッ ク ス にす る こ
と はで き ません。
専用接続の両方のエン ド ポ イ ン ト ( こ の例の場合は I/O と GT) が同 じ パーテ ィ シ ョ ンに含まれてい
る こ と が必要です。 こ の例の場合、 次のいずれかの方法 を使用す る と パーテ ィ シ ョ ン を ブ ラ ッ ク
ボ ッ ク ス にす る こ と がで き ます。
•
GT を ト ッ プ パーテ ィ シ ョ ンに移動 し ます。
•
I/O バ ッ フ ァ ーお よ びパ ッ ド を子パーテ ィ シ ョ ン内に配置 し ます。
ブ ラ ッ ク ボ ッ ク ス を含むデザイ ンの合成 と イ ン プ リ メ ン テーシ ョ ン
ブ ラ ッ ク ボ ッ ク ス を含むデザ イ ン を合成お よ び イ ンプ リ メ ン ト する 場合、デザ イ ンの一部は存在 し
ません。 こ れに よ り 、 予測 さ れない結果が発生す る こ と があ り ます。
ブ ラ ッ ク ボ ッ ク ス を使用す る 際は、 次の推奨事項に従っ て く だ さ い。
•
グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ーを最上位に イ ン ス タ ン シエー ト し ます。 合成ツールで推論 さ
れない よ う に し て く だ さ い。
グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ーを最上位に イ ン ス タ ン シエー ト し ない場合、 グ ロ ーバル ク
ロ ッ ク が使用 さ れないか、ク ロ ッ ク ネ ッ ト に複数のグ ロ ーバル バ ッ フ ァ ーが配置 さ れ る 可能性
があ り ます。
•
I/O バ ッ フ ァ ーを下位パーテ ィ シ ョ ンに イ ン ス タ ン シエー ト し ないで く だ さ い。
I/O バ ッ フ ァ ーを下位パーテ ィ シ ョ ンに イ ン ス タ ン シエー ト す る と 、 バ ッ フ ァ ーが ト ッ プ パー
テ ィ シ ョ ンに も 推論 さ れた場合に、 1 つのネ ッ ト に複数の I/O バ ッ フ ァ ーが存在す る こ と にな
り ます。
こ れ ら の推奨事項に従 う こ と がで き ない場合は、 BUFFER_TYPE=NONE を使用 し てバ ッ フ ァ ー ( グ
ロ ーバルま たは I/O) がいつ推論 さ れ る か を制御 し て く だ さ い。
BUFFER_TYPE の詳細は、 次を参照 し て く だ さ い。
•
『XST ユーザー ガ イ ド (Virtex-4、 Virtex-5、 Spartan-3 お よ び CPLD デバ イ ス用)』 (UG627)
(付録 A 「その他の リ ソ ース」 に リ ン ク を リ ス ト )
•
『XST ユーザー ガ イ ド (Virtex-6 お よ び Spartan-6 デバ イ ス用)』 (UG687) (付録 A 「その他の リ
ソ ース」 に リ ン ク を リ ス ト )
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
13
第 1 章 : パーテ ィ シ ョ ン
パーテ ィ シ ョ ンのコ ン テキス ト ルール
「 コ ン テ キ ス ト 」 と は、 パーテ ィ シ ョ ンの周囲の ロ ジ ッ ク を表 し ます。
あ る コ ン テキ ス ト で イ ンプ リ メ ン ト し たパーテ ィ シ ョ ン を別の コ ン テキ ス ト のデザ イ ンに イ ン ポー
ト す る と 、 エ ラ ーが発生す る 可能性があ り ます。
コ ン テキス ト の変更が許容 さ れる状況
通常、パーテ ィ シ ョ ンの イ ンプ リ メ ン テーシ ョ ン と イ ンポー ト の両方に汎用配線を使用 し ていれば、
コ ン テキ ス ト の変更は許容 さ れます。 次の よ う な例があ る と し ます。
イ ンプ リ メ ン ト さ れたパーテ ィ シ ョ ンに レ ジ ス タ が含まれてお り 、 その レ ジ ス タ が親に含まれ
る 別の レ ジ ス タ に接続 さ れてい ます。
イ ン ポー ト す る と 、 パーテ ィ シ ョ ン内の レ ジ ス タ が親パーテ ィ シ ョ ン の LUT に接続 さ れ ます。 こ
れ ら の 2 つの コ ン テ キ ス ト に配置ま たは配線の制限はあ り ません。
コ ン テキス ト の変更が許容 さ れない状況
次の条件が両方満た さ れ る 場合、 コ ン テキ ス ト の変更は許容 さ れません。
•
パーテ ィ シ ョ ン内の ロ ジ ッ ク がパーテ ィ シ ョ ン外の ロ ジ ッ ク と 通信す る 。
•
汎用配線が使用 さ れていない。
子パーテ ィ シ ョ ンに次の も のが含ま れてい る と 、 コ ン テキ ス ト が変更 さ れた場合に子パーテ ィ シ ョ
ンの再 イ ンプ リ メ ン ト が必要にな り ます。
•
親パーテ ィ シ ョ ンの IBUF で駆動 さ れてい る 、 IOB=FORCE 属性が設定 さ れた汎用レ ジ ス タ
フ リ ッ プ フ ロ ッ プは IOB にパ ッ ク さ れます。 イ ン ポー ト す る と 、 こ の レ ジ ス タ が親パーテ ィ
シ ョ ンの別の ロ ジ ッ ク (LUT な ど ) で駆動 さ れ、 IOB=FORCE が削除 さ れます。
•
CLKIN が親パーテ ィ シ ョ ンの PLL_ADV で駆動 さ れ る 、 DCM_ADV な ど の ク ロ ッ キ ン グ モ
ジ ュ ール
イ ン ポー ト す る と 、 DCM_ADV が PLL 以外の も ので駆動 さ れます。 こ れは、 親パーテ ィ シ ョ
ンで CLKIN の ド ラ イ バーが IBUF (IBUFG、 IBUFGDS な ど ) か ら IBUF 以外の も のに変更 さ
れ る か ら です。
•
親パーテ ィ シ ョ ンの IODELAY ブ ロ ッ ク で駆動 さ れ る ISERDES ブ ロ ッ ク
イ ン ポー ト す る と 、 ISERDES が IODELAY 以外の も ので駆動 さ れます。
•
親パーテ ィ シ ョ ンの ロ ジ ッ ク (IPAD/OPAD) への専用接続 (GT ブ ロ ッ ク の RX/TX ピ ン ) を持
つブ ロ ッ ク
イ ン ポー ト す る と 、RX/TX ピ ンが専用 IPAD/OPAD 接続以外の も ので駆動 さ れます。ブ ロ ッ ク
と その専用接続は、 1 つのパーテ ィ シ ョ ンに含め る こ と をお勧め し ます。 GT ブ ロ ッ ク を親パー
テ ィ シ ョ ンに移動す る か、 IPAD/OPAD を子パーテ ィ シ ョ ンに移動 し て く だ さ い。
14
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第2章
設計に関する考慮事項
階層デザ イ ン フ ロ ーを使用す る か ど う かは、 タ イ ミ ン グ ク ロ ージ ャ での問題や結果に一貫性がな
いな ど の問題が発生 し てか ら ではな く 、 設計の初期段階で決定 し ます。
階層デザ イ ン フ ロ ーの利点を最大限に活用す る には、 次の事項を考慮 し て く だ さ い。
•
デザ イ ンの論理お よ び物理レ イ ア ウ ト
•
HDL コ ーデ ィ ン グ ガ イ ド ラ イ ン
•
フ ロ アプ ラ ン制約の使用
最適化の制限
パーテ ィ シ ョ ンに よ り 境界が作成 さ れ る ため、 最適化に次の よ う な制限が発生 し ます。
•
パーテ ィ シ ョ ンの境界を越えた最適化は実行 さ れない
•
パーテ ィ シ ョ ンの入力に供給 さ れ る 定数
•
パーテ ィ シ ョ ンの未接続の出力は最適化 さ れない
•
1 つのパーテ ィ シ ョ ンの ロ ジ ッ ク を別のパーテ ィ シ ョ ンの ロ ジ ッ ク にパ ッ ク で き ない
デザ イ ンにパーテ ィ シ ョ ン を 1 つ追加 し ただけで、 すべての イ ン ス タ ン ス がパーテ ィ シ ョ ンの一部
にな り ます。 パーテ ィ シ ョ ン と し て指定 さ れていない イ ン ス タ ン スは、 最上位パーテ ィ シ ョ ンの一
部 と な り ます。
パーテ ィ シ ョ ンの境界を越えた最適化は実行 さ れない
パーテ ィ シ ョ ンの境界を越えた最適化は実行 さ れません。 こ の制限には、 次の も のの間の最適化が
含まれます。
•
親パーテ ィ シ ョ ン と 子パーテ ィ シ ョ ン
•
2 つの子パーテ ィ シ ョ ン
フ ラ ッ ト デザ イ ン と 比較 し た場合、 こ の最適化の制限が次の も のに影響 し ます。
•
タ イ ミ ング
•
リ ソ ース使用率
•
消費電力
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
15
第 2 章 : 設計に関する考慮事項
次に、 最適化の制限の例を示 し ます。
•
1 つのパーテ ィ シ ョ ンの組み合わせ ロ ジ ッ ク を別のパーテ ィ シ ョ ンの組み合わせ ロ ジ ッ ク と 結
合 し て最適化す る こ と はで き ません。
•
パーテ ィ シ ョ ン間では リ ソ ース の共有は実行 さ れません。
複数の イ ン ス タ ン ス に含まれ る 共通 ロ ジ ッ ク を共有 し て最適化す る には、 それ ら の イ ン ス タ ン
ス を 1 つのパーテ ィ シ ョ ンに含め る 必要があ り ます。
ロ ジ ッ ク を特定の組み合わせで使用す る こ と に よ り 、 ソ フ ト ウ ェ アで特定のハー ド ウ ェ ア機能を利
用 し たデザ イ ンが生成 さ れ る よ う にす る こ と がで き ます。
•
ブ ロ ッ ク RAM を フ リ ッ プ フ ロ ッ プに直接接続す る と 、 ブ ロ ッ ク RAM 専用の レ ジ ス タ が使用
さ れます。
•
DSP を フ リ ッ プ フ ロ ッ プに接続す る と 、 DSP 内に フ リ ッ プ フ ロ ッ プが取 り 込まれ、 よ り 高速
のパ イ プ ラ イ ン DSP が作成 さ れます。
こ れ ら のエ レ メ ン ト の間にパーテ ィ シ ョ ンの境界があ る と 、 こ れ ら のパフ ォーマン ス最適化は実行
さ れません。 最適化が実行 さ れ る よ う にす る には、 こ れ ら のエ レ メ ン ト を 1 つのパーテ ィ シ ョ ンに
含め る 必要があ り ます。
パーテ ィ シ ョ ンの入力に供給 さ れる定数
最適化で削除 さ れ る こ と を目的 と し てパーテ ィ シ ョ ンの入力を定数値に固定 し てい る 場合、 こ の定
数はパーテ ィ シ ョ ンの境界を越え てパーテ ィ シ ョ ンに挿入で き ないので、最適化は実行 さ れません。
こ の状態は、 コ ア ま たはモジ ュ ールの特定の機能を イ ネーブルま たはデ ィ ス エーブルにす る ために
定数を使用 し てい る 場合に発生 し ます。
モジ ュ ールの ロ ジ ッ ク を ポー ト を介 し て制御す る こ と はお勧め し ません。 次の方法を使用す る こ と
をお勧め し ます。
•
パ ラ メ ー タ ーま たは属性を使用す る 。
•
パ ッ ケージ フ ァ イ ルを含め る 。
パーテ ィ シ ョ ンの未接続の出力は最適化 さ れない
パーテ ィ シ ョ ンの未接続の出力は最適化 さ れません。
パーテ ィ シ ョ ン の出力が何 も 駆動 し ていない場合、 ソ ー ス ロ ジ ッ ク はフ ラ ッ ト フ ロ ーでの よ う に
は最適化 さ れません。
1 つのパーテ ィ シ ョ ンのロ ジ ッ ク を別のパーテ ィ シ ョ ンのロ ジ ッ ク にパ ッ ク で
き ない
1 つのパーテ ィ シ ョ ンの ロ ジ ッ ク は、 別のパーテ ィ シ ョ ンの ロ ジ ッ ク にはパ ッ ク で き ません。
こ の制限は、 フ リ ッ プ フ ロ ッ プ と LUT の比率が大 き く 異な る 場合に リ ソ ース使用率に影響 し ます。
パーテ ィ シ ョ ン内の組み合わせ ロ ジ ッ ク が最終的に フ リ ッ プ フ ロ ッ プにな る 出力を駆動 し てい る 場
合、 LUT はフ リ ッ プ フ ロ ッ プ と 共にパ ッ ク で き ません。
16
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
最適化の制限
パーテ ィ シ ョ ン を設定する イ ン ス タ ン スの制限
次の よ う な イ ン ス タ ン スはパーテ ィ シ ョ ンに設定で き ません。
•
モジ ュ ールま たはエン テ ィ テ ィ が、 独自の HDL フ ァ イ ルで定義 さ れていない。
•
イ ン ス タ ン ス名が変更す る 可能性があ る ( イ ン ス タ ン ス名がパ ラ メ ー タ ーま たはジ ェ ネ レー ト
文に基づいてい る 場合)。
ア ク テ ィ ブ Low の制御セ ッ ト
メ モ : 次の説明では リ セ ッ ト を例 と し て使用 し てい ますが、 同 じ 概念は ク ロ ッ ク イ ネーブルに も 適
用 さ れます。
制御ピ ン ( リ セ ッ ト ま たは ク ロ ッ ク イ ネーブル) には ロ ーカル イ ンバー タ ーはあ り ません。
パーテ ィ シ ョ ン を含ま ないデザイ ン
パーテ ィ シ ョ ン を含ま ないデザ イ ンでア ク テ ィ ブ Low リ セ ッ ト を使用する と 、 LUT を使用 し て信
号が反転 さ れます。
•
ア ク テ ィ ブ Low の リ セ ッ ト
1 つま たは複数の LUT が推論 さ れます。 ただ し 、 こ れ ら を 1 つの LUT に結合 し 、 I/O エ レ メ
ン ト に挿入で き ます。 LUT は削除 さ れます。
•
ア ク テ ィ ブ High の リ セ ッ ト と ア ク テ ィ ブ Low の リ セ ッ ト
LUT イ ンバー タ ーを 1 つの LUT に結合で き ます。こ の LUT はデザ イ ンに残 り ますが、リ セ ッ
ト ネ ッ ト の配線お よび タ イ ミ ン グにはそれほど影響 し ません。LUT 出力は、グ ロ ーバル リ ソ ー
ス に配置で き ます。
パーテ ィ シ ョ ン を含むデザイ ン
パーテ ィ シ ョ ン内でア ク テ ィ ブ Low の リ セ ッ ト を使用す る デザ イ ン では、 イ ンバー タ ーは次の よ
う に処理 さ れます。
•
パーテ ィ シ ョ ン内で推論で き ます。
•
パーテ ィ シ ョ ン外に取 り 出す こ と はで き ません。
•
親パーテ ィ シ ョ ンのほかの イ ンバー タ ー と 結合す る こ と はで き ません。
こ の場合、 次の よ う にな り ます。
•
リ セ ッ ト はグ ロ ーバル リ ソ ース に配置で き ません。
•
デザ イ ンが密集 し てい る 場合、 リ セ ッ ト の タ イ ミ ン グお よ び配線の問題が発生す る 可能性があ
り ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
17
第 2 章 : 設計に関する考慮事項
こ の問題を回避す る には、 ア ク テ ィ ブ Low の制御信号を使用 し ないで く だ さ い。 ただ し 、 AXI イ
ン タ ーフ ェ イ ス を使用す る IP コ アの場合な ど、 それが不可能な場合 も あ り ます。 その場合、 次の
よ う にす る こ と をお勧め し ます。
•
ア ク テ ィ ブ Low の リ セ ッ ト を最上位信号に割 り 当て ます。
•
その信号をデザ イ ンのその他の場所で使用 し ます。
例:
reset_n <= !reset;
•
すべてに reset_n を使用 し ます。
•
上記以外の信号ま たはポー ト の割 り 当てには !reset は使用 し ません。
こ の よ う にす る と 、 次の利点があ り ます。
•
デザ イ ン全体で リ セ ッ ト ネ ッ ト に LUT のみが推論 さ れます。
•
デザ イ ン パフ ォーマ ン スへの影響は最小限に抑え ら れます。
BoundaryOpt 属性を使用 し た IP コ アの最適化
IP コ ア を最適化する には、 パーテ ィ シ ョ ンで BoundaryOpt 属性を使用 し ます。
BoundaryOpt の詳細は、 次を参照 し て く だ さ い。
•
第 4 章 「 コ マン ド ラ イ ンでのパーテ ィ シ ョ ン フ ロ ー」
•
第 5 章 「PlanAhead でのパーテ ィ シ ョ ン フ ロ ー」
BoundaryOpt の利点
BoundaryOpt 属性には、 次の よ う な利点があ り ます。
•
パーテ ィ シ ョ ンの イ ン タ ーフ ェ イ ス が緩和 さ れます。
•
次の一部の最適化が可能にな り ます。
•
入力/出力定数
•
未接続出力
BoundaryOpt の制限
BoundaryOpt には、 次の よ う な制限があ り ます。
RTL ア ク セスのないモ ジ ュ ール
BoundaryOpt は、 IP コ アな ど、 レ ジ ス タ ト ラ ン ス フ ァ ー レベル (RTL) ア ク セ ス のないモジ ュ ー
ルでのみ使用 し て く だ さ い。
RTL ア ク セ ス のあ る モジ ュ ールでは、 HDL コ ー ド で こ れ ら の イ ン タ ーフ ェ イ ス の問題を解決す る
必要があ り ます。
18
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
BoundaryOpt 属性を使用 し た IP コ アの最適化
イ ン プ リ メ ン テーシ ョ ン でのパーテ ィ シ ョ ン に対する BoundaryOpt の設定
イ ンプ リ メ ン テーシ ョ ンでパーテ ィ シ ョ ンに BoundaryOpt を設定す る と 、 パーテ ィ シ ョ ンの イ ン
タ ーフ ェ イ ス が変更 さ れ る 場合があ り ます。 た と えば、 パーテ ィ シ ョ ン ポー ト が最適化で削除 さ れ
る こ と があ り ます。
こ れ ら の最適化 さ れたポー ト に ロ ジ ッ ク を接続す る ために親パーテ ィ シ ョ ン も 変更 さ れた場合、 次
の よ う にな り ます。
•
パーテ ィ シ ョ ン イ ン ターフ ェ イ スは イ ンプ リ メ ン テーシ ョ ン実行か ら エ ク ス ポー ト さ れたデー
タ と 一致し な く な り ます。
•
エ ク ス ポー ト さ れたデー タ は失われます。
•
親パーテ ィ シ ョ ン と 子パーテ ィ シ ョ ンの両方を再 イ ンプ リ メ ン ト す る 必要があ り ます。
こ れは、 次の 2 つの規則に ま と め ら れます。
•
各実行でパーテ ィ シ ョ ン イ ン タ ーフ ェ イ ス の コ ン テ キ ス ト を同 じ にする 必要があ り ます。
BoundaryOpt を使用 し た場合、 ポー ト が最適化で削除 さ れ る な ど、 こ の条件が満た さ れな く
な る 場合があ り ます。
•
BoundaryOpt の値は、 各実行で同 じ にす る 必要があ り ます。
最適化の制限
BoundaryOpt に よ り 、 最適化で き る も の と で き ない も のが あ り ま す。 次の図に、 BoundaryOpt
で最適化 さ れ る 場合を示 し ます。
定数のプ ッ シ ュ
図 2-1 「定数のプ ッ シ ュ 」 では、 BoundaryOpt に よ り 定数がパーテ ィ シ ョ ンの境界を 1 つだけ越
え てプ ッ シ ュ さ れ、 パーテ ィ シ ョ ン イ ン タ ーフ ェ イ ス か ら ポー ト が削除 さ れ ます。 ルー ト ス ルー
ネ ッ ト は削除 さ れません。
X-Ref Target - Figure 2-1
3DUHQW3DUWLWLRQWRS
3DUHQW3DUWLWLRQWRS
&KLOG3DUWLWLRQ
5RXWHWKUX
/87))
&KLOG3DUWLWLRQ
/87))
5RXWHWKUX
/87))
/87))
/87))
/87))
/87))
*1'
&KLOG3DUWLWLRQ
/87))
*1'
*1'
&KLOG3DUWLWLRQ
/87))
/87))
*1'
&KLOG3DUWLWLRQ
*1'
/87))
*1'
&KLOG3DUWLWLRQ
/87))
*1'
*1'
;
図 2-1 : 定数のプ ッ シ ュ
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
19
第 2 章 : 設計に関する考慮事項
未使用の出力
図 2-2 「未使用の出力」 では、 BoundaryOpt に よ り 未使用のパーテ ィ シ ョ ン出力が切断 さ れ、 パー
テ ィ シ ョ ン イ ン ターフ ェ イ ス か ら ポー ト が削除 さ れます。
X-Ref Target - Figure 2-2
3DUHQW3DUWLWLRQWRS
3DUHQW3DUWLWLRQWRS
&KLOG3DUWLWLRQ
&KLOG3DUWLWLRQ
/87))
/87))
/87))
/87))
/87))
/87))
&KLOG3DUWLWLRQ
&KLOG3DUWLWLRQ
&KLOG3DUWLWLRQ
/87))
/87))
/87))
&KLOG3DUWLWLRQ
/87))
;
図 2-2 : 未使用の出力
BoundaryOpt の値
BoundaryOpt には、 次の値を設定で き ます。
•
all
•
none
パーテ ィ シ ョ ン に設定 さ れた値は、 マ ッ プ レ ポー ト のパーテ ィ シ ョ ン サマ リ のセ ク シ ョ ンに リ ス
ト さ れます。
デザイ ンの構造
デザ イ ン を フ ラ ッ ト フ ローを使用 し て イ ンプ リ メ ン ト する と 、合成ツールお よ び イ ンプ リ メ ン テー
シ ョ ン ツールでデザ イ ン全体を ス ピー ド お よ びエ リ ア を優先 し て最適化で き ます。デザ イ ンは階層
の境界を越え て最適化 さ れ る ので、 デザ イ ンの論理レ イ ア ウ ト はそれほ ど重要ではあ り ません。
デザ イ ン を階層フ ロ ーで イ ンプ リ メ ン ト す る 場合、 ロ ジ ッ ク が分離 さ れ る ので、 パーテ ィ シ ョ ンが
最適化の壁 と な り 、 デザ イ ンに悪影響を及ぼす こ と があ り ます。 次の図に例を示 し ます。
20
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
階層デザイ ン フ ローの有効活用
デザイ ン階層の例
X-Ref Target - Figure 2-3
'HVLJQ/D\RXW
'HVLJQ/D\RXW
723
0(0
'0$
723
&38
&175/
'$7$
0(0
&38
&175/
'0$
;
図 2-3 : デザイ ン階層の例
デザイ ン レ イ アウ ト 1 での最適化
デザ イ ン レ イ ア ウ ト 1 には、 同 じ 階層レベルに MEM お よ び DMA と い う モジ ュ ールがあ り ます。
TOP の下にあ る すべてのモジ ュ ールにパーテ ィ シ ョ ン を追加す る と 、MEM と DMA の間では最適化は
実行 さ れません。
こ れ ら の2 つのモジ ュ ールに関連する ロ ジ ッ ク が多数あ る 場合、 次の よ う にな り ます。
•
フ ラ ッ ト フ ロ ーでは最適化が実行 さ れます。
•
階層デザ イ ン フ ロ ーでは最適化は実行 さ れず、 リ ソ ース使用量が増加 し 、 よ い タ イ ミ ン グ結果
が得 ら れない可能性があ り ます。
デザイ ン レ イ アウ ト 2 での最適化
デザ イ ン レ イ ア ウ ト 2 では、共有 ロ ジ ッ ク を含むモジ ュ ールが 1 つのパーテ ィ シ ョ ン DATA の下に
グループ化 さ れてお り 、 フ ラ ッ ト フ ロ ー と 同様に MEM と DMA の間で最適化が実行 さ れます。
階層デザイ ン フ ローの有効活用
階層デザ イ ン フ ロ ーを使用する かど う かは、デザ イ ンの構築、モジ ュ ール イ ン ターフ ェ イ スの定義、
およびモジ ュール コ ー ド の記述の前に決定する 必要があ り ます。 階層デザ イ ン フ ロ ーは、 フ ラ ッ ト
フ ローで タ イ ミ ン グ問題が発生 し た後に使用する タ イ ミ ン グ ク ロージ ャ 手法ではあ り ません。
パーテ ィ シ ョ ン を使用す る と モジ ュ ールが分離 さ れ、 ソ フ ト ウ ェ アで境界を越えた最適化は実行 さ
れな く な り ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
21
第 2 章 : 設計に関する考慮事項
階層デザ イ ン フ ローの利点を活かすため、 次の よ う なガ イ ド ラ イ ンお よ び推奨事項があ り ます。
•
入力ポー ト お よ び出力ポー ト に レ ジ ス タ を付け る
•
パーテ ィ シ ョ ンの内部 と 外部の両方にネ ッ ト を使用 し ない
•
フ ァ ン ア ウ ト の大 き いネ ッ ト を管理す る
•
パーテ ィ シ ョ ンの入力 と し て定数を使用 し ない
•
ポー ト を未接続の ま ま に し ない
•
専用接続を 1 つのパーテ ィ シ ョ ン内に配置す る
入力ポー ト および出力ポー ト に レ ジ ス タ を付ける
可能な限 り 入力お よ び出力に レ ジ ス タ を付け ます。
パーテ ィ シ ョ ンの境界を越えた最適化は実行 さ れないので、 入力お よ び出力で タ イ ミ ン グの問題が
発生 し やす く な り ます。
入力お よ び出力に レ ジ ス タ を付け る と 、 次の よ う な利点があ り ます。
•
パーテ ィ シ ョ ン内のパ ス に焦点を置いた処理が可能 と な り ます。
•
モジ ュ ールの タ イ ミ ン グ を確実に保持で き ます。
パーテ ィ シ ョ ン の境界を 横切 る ネ ッ ト は、 ネ ッ ト に接続 さ れてい る パーテ ィ シ ョ ンすべて を イ ン
ポー ト し ない限 り 保持 さ れ ません。 そのため、 タ イ ミ ン グ ク リ テ ィ カル ネ ッ ト が こ の境界を横切
る 場合、 イ ン ポー ト し た場合で も パーテ ィ シ ョ ン で タ イ ミ ン グ違反が発生す る 可能性があ り ます。
こ のネ ッ ト に レ ジ ス タ を付け る と 、パーテ ィ シ ョ ン内で タ イ ミ ン グ ク リ テ ィ カルな変更が発生す る
のを回避で き ます。
パーテ ィ シ ョ ンの内部 と 外部の両方にネ ッ ト を使用 し ない
パーテ ィ シ ョ ンの内部 と 外部の両方にネ ッ ト を使用 し ない よ う に し ます。
ネ ッ ト をパーテ ィ シ ョ ン内お よ び出力ポー ト と し て使用す る 必要があ る 場合は、次の よ う に し ます。
•
ネ ッ ト の ソ ース を複製 し ます。
•
1 つのネ ッ ト を内部ネ ッ ト と し て使用 し ます。
•
も う 1 つのネ ッ ト を出力ポー ト と し て使用 し ます。
フ ァ ン アウ ト の大き いネ ッ ト を管理する
パーテ ィ シ ョ ン モジ ュ ールの出力の フ ァ ン ア ウ ト も 考慮する 必要があ り ます。パーテ ィ シ ョ ンの出
力の フ ァ ン ア ウ ト が大 き く 、 デザ イ ンの複数のエ リ アに接続 さ れ る 場合、 ド ラ イ バーを複製す る 必
要があ る 場合 も あ り ます。
22
•
フ ラ ッ ト フ ローでは、 こ の複製は自動的に実行 さ れます。
•
階層デザ イ ン フ ロ ーでは手動で複製す る 必要があ り ます。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
階層デザイ ン フ ローの有効活用
パーテ ィ シ ョ ンの入力 と し て定数を使用 し ない
定数を ネ ッ ト と し て使用 し ない よ う に し ます。
IP コ ア な ど のネ ッ ト リ ス ト モジ ュ ールには、 ロ ジ ッ ク の不要な部分がマ ッ プの最適化で削除 さ れ
る こ と を前提 と し て設計 さ れてい る も のがあ り ま す。 こ の よ う な IP では、 コ アの特定の ロ ジ ッ ク
を イ ネーブルま たはデ ィ ス エーブルにす る ために、 入力を定数に接続 し ます。
こ の方法には、 次の よ う な特徴があ り ます。
•
IP を ネ ッ ト リ ス ト と し て提供す る と 同時に、 多少のカ ス タ マ イ ズ も 可能にな り ます。
•
パーテ ィ シ ョ ンでは境界を越えた最適化が実行 さ れないので、 機能 し ません。
ポー ト に定数を接続す る こ と に よ り 最適化で ロ ジ ッ ク が削除 さ れ る こ と を前提 と し た EDIF/NGC
コ アにパーテ ィ シ ョ ン を直接追加す る と 、 ロ ジ ッ ク の最適化は実行 さ れず、 最適な結果は得 ら れま
せん。
こ の よ う に動作す る コ アにパーテ ィ シ ョ ン を追加す る 必要があ る 場合は、次の よ う に し て く だ さ い。
•
EDIF ま たは NGC コ ア を含む HDL ラ ッ パーを追加 し ます。
•
こ の ラ ッ パーにパーテ ィ シ ョ ン を配置 し ます。
HDL ラ ッ パーのポー ト リ ス ト には、 IP コ ア をデザ イ ンの残 り の部分に接続す る のに必要な I/O の
みを含め る よ う に し 、 定数の割 り 当ては ラ ッ パー ロ ジ ッ ク 内に残 し ます。 パーテ ィ シ ョ ン を IP コ
アの上の レベルで定義す る こ と に よ り 、マ ッ プ ツールで定数を コ アに ト レースす る こ と が可能 と な
り 、 必要な最適化が実行 さ れます。
ポー ト を未接続のま まに し ない
ポー ト を未接続の ま ま に し ない よ う に し ます。
未接続のネ ッ ト で も 、 同 じ よ う な最適化の問題が発生 し ます。 パーテ ィ シ ョ ンの出力を未接続の ま
ま にす る と 、ソ ース のない こ のネ ッ ト に接続 さ れた ド ラ イ バーがマ ッ プの最適化で削除 さ れません。
こ の ロ ジ ッ ク を HDL コ ー ド で削除で き ない場合は、 パーテ ィ シ ョ ン を含む ラ ッ パーを作成す る と
次の よ う にな り ます。
•
パーテ ィ シ ョ ンの境界が移動 し ます。
•
マ ッ プ ツールで ロ ジ ッ ク を最適化で き る よ う にな り ます。
パーテ ィ シ ョ ンの出力が次のすべての条件に一致す る 場合、 エ ラ ーが発生す る こ と があ り ます。
•
ロ ジ ッ ク で駆動 さ れていない。
•
パーテ ィ シ ョ ンの外部の ロ ジ ッ ク に接続 さ れいて る 。
イ ンプ リ メ ン テーシ ョ ン ツールでパーテ ィ シ ョ ンの出力が駆動 さ れていない こ と を検出で き ず、部
分的なネ ッ ト が配線 さ れ ます。 こ れは無効であ り 、 BitGen でデザ イ ン ルール チ ェ ッ ク (DRC) エ
ラ ーが発生 し ます。 不要なパーテ ィ シ ョ ン ポー ト を削除 し 、 パーテ ィ シ ョ ン を再 イ ンプ リ メ ン ト し
て く だ さ い。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
23
第 2 章 : 設計に関する考慮事項
専用接続を 1 つのパーテ ィ シ ョ ン内に配置する
専用接続を 1 つのパーテ ィ シ ョ ン内に配置 し ます。
FPGA デバ イ ス のエ レ メ ン ト には、 特定の機能や高速の低ス キ ュ ー配線用の専用接続を提供す る た
め、 特定の方法で連動す る も のがあ り ます。
こ れ ら のエ レ メ ン ト が別々のパーテ ィ シ ョ ンに含まれてい る と 、 正 し く コ ン フ ィ ギ ュ レーシ ョ ン さ
れません。 こ れ ら の イ ン ス タ ン スは 1 つのパーテ ィ シ ョ ン内に配置 し ます。
次に、 こ れ ら のエ レ メ ン ト を リ ス ト し ます。
•
OSERDES/IODELAY と OBUFTDS
•
OSERDES/ODDR と OBUFTDS
•
IDELAY と IDELAYCNTRL
•
ISERDES/IDDR と IBUFDS
配線情報の保持に関する制限
すべての配線情報を保持で き ない こ と があ り ます。
次の よ う な場合、 パーテ ィ シ ョ ンの配線が再配線 さ れ る 可能性があ り ます。
•
イ ン ポー ト さ れたパーテ ィ シ ョ ンの保持レベルが、 配線ではな く 配置ま たは合成に設定 さ れて
いる。
•
下位パーテ ィ シ ョ ンの I/O バ ッ フ ァ ーが イ ン ポー ト さ れ、 接続 さ れてい る パ ッ ド が イ ンプ リ メ
ン ト さ れ る 親パーテ ィ シ ョ ンに含まれてい る 。
こ れは専用配線であ る ため、 厳密にいえば保持 さ れませんが、 変更 さ れません。
•
下位パーテ ィ シ ョ ンの フ リ ッ プ フ ロ ッ プが イ ン ポー ト さ れ、 イ ンプ リ メ ン ト さ れ る 親パーテ ィ
シ ョ ンに含まれてい る I/O バ ッ フ ァ ーに接続 さ れてい る 。
こ れは専用配線であ り 、フ リ ッ プ フ ロ ッ プが I/O ロ ジ ッ ク にパ ッ ク さ れれば変更 さ れません。フ
リ ッ プ フ ロ ッ プをパーテ ィ シ ョ ンの境界を越え て取 り 込み、 I/O ロ ジ ッ ク にパ ッ ク す る ため、
IOB=FORCE ま たは IOB=TRUE 制約を設定する 必要があ り ます。 フ リ ッ プ フ ロ ッ プが ス ラ イ ス
にパ ッ ク さ れてい る 場合、 配線は保持 さ れず、 タ イ ミ ン グが満た さ れ る と は限 り ません。
フ リ ッ プ フ ロ ッ プが I/O ロ ジ ッ ク にパ ッ ク さ れない場合、 次の よ う にな り ます。
•
•
•
IOB=FORCE を使用 し た場合はエ ラ ーが表示 さ れます。
•
IOB=TRUE を使用 し た場合は警告が表示 さ れます。
下位パーテ ィ シ ョ ンの LUT が イ ン ポー ト さ れ、 イ ンプ リ メ ン ト さ れ る 親パーテ ィ シ ョ ンに含
まれてい る I/O バ ッ フ ァ ーに接続 さ れてい る 。 こ の イ ン ス タ ン スは、 次の よ う にな り ます。
•
LUT はス ラ イ ス ロ ジ ッ ク にパ ッ ク さ れ る 必要があ り ます。
•
専用配線ではあ り ません。
•
タ イ ミ ン グが保持 さ れ る と は限 り ません。
デザ イ ンに PWR/GND ネ ッ ト が含まれ、 ト ッ プ パーテ ィ シ ョ ンが イ ンプ リ メ ン ト さ れ る 。
PWR/GND ネ ッ ト は常に イ ンプ リ メ ン ト さ れ、子パーテ ィ シ ョ ンに含まれていて も 、最上位パー
テ ィ シ ョ ン と 共に イ ンポー ト さ れます。
24
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
パーテ ィ シ ョ ンのフ ロ ア プ ラ ン
パーテ ィ シ ョ ンのフ ロ ア プ ラ ン
メ モ : こ のセ ク シ ョ ンでは、 AREA_GROUP 制約を使用す る 方法を説明 し ます。
フ ロ アプ ラ ン と は、 デザ イ ンの配置を制約を使用 し て制御す る こ と を意味 し ます。
CLB 境界にス ラ イ ス範囲を作成する
パーテ ィ シ ョ ン デザ イ ンで AREA_GROUP 制約を使用す る のに制限はあ り ませんが、CLB 境界に
ス ラ イ ス範囲を作成す る こ と をお勧め し ます。 こ れに よ り 、 配置お よ び配線の リ ソ ース を最大限に
利用で き ます。
ス ラ イ ス範囲が CLB 境界上にあ る か ど う か を検証す る には、 制約の XY 座標を確認 し ます。
XY 座標が次の よ う にな っ てい る 場合、 ア ド レ ス は CLB 境界にあ り ます。
•
偶数で開始 し てい る 。
•
奇数で終了 し てい る 。
例 : X0Y0 ~ X3Y9
PlanAhead™ ソ フ ト ウ ェ ア を使用 し て、 次を実行で き ます。
•
AREA_GROUP 制約を作成 し ます。
•
制約を CLB 境界上に自動的に設定 し ます。
CLB ま たは FPGA デバ イ ス のその他のブ ロ ッ ク の詳細は、 付録 A 「その他の リ ソ ース」 に リ ス ト
さ れてい る デバ イ ス のデー タ シー ト を参照 し て く だ さ い。
ロ ジ ッ ク をデバイ スの 1 つのエ リ アに制限する
パーテ ィ シ ョ ンで フ ロ アプ ラ ン を使用す る と 、 パーテ ィ シ ョ ンに関連す る すべての ロ ジ ッ ク をデバ
イ ス の 1 つのエ リ アに制限で き ます。
ロ ジ ッ ク をデバ イ ス の 1 つのエ リ アに制限す る と 、 次の利点があ り ます。
•
各パーテ ィ シ ョ ン を配置配線す る 領域を作成 し ます。
•
イ ン ポー ト の際に配線の競合が発生す る 可能性を最小限に抑え ます。
•
後で追加す る ロ ジ ッ ク 用に FPGA のその他の部分を予約で き ます。
コ マ ン ド ラ イ ン ツールの使用
パーテ ィ シ ョ ンは PlanAhead ツールでサポー ト さ れてい ますが、 コ マ ン ド ラ イ ン ツールを使用 し
てパーテ ィ シ ョ ン デザ イ ン を実行する こ と も 可能です。
こ の場合、 PlanAhead ソ フ ト ウ ェ ア を使用 し て次を実行で き ます。
•
パーテ ィ シ ョ ンの設定
•
デザ イ ンの フ ロ アプ ラ ン
•
PXML フ ァ イ ルの作成
詳細は、 次を参照 し て く だ さ い。
•
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第 4 章 「 コ マン ド ラ イ ンでのパーテ ィ シ ョ ン フ ロ ー」
japan.xilinx.com
25
第 2 章 : 設計に関する考慮事項
デザイ ン保持
デザ イ ン保持パーテ ィ シ ョ ンでは AREA_GROUP 制約は必要あ り ませんが、 デザ イ ンに よ っ ては
次の よ う な利点があ り ます。
•
ラ ン タ イ ム と タ イ ミ ン グ結果が向上 し ます。
•
イ ン ポー ト の際に配置ま たは配線の競合が発生す る 可能性を低減 し ます。
チーム デザイ ン フ ローでの要件
•
各チーム メ ンバー パーテ ィ シ ョ ンには、 そのパーテ ィ シ ョ ンに必要な ロ ジ ッ ク を含む
AREA_GROUP RANGE 制約を設定する 必要があ り ます。
チーム メ ンバー パーテ ィ シ ョ ン を AREA_GROUP RANGE 外に配置す る 必要があ る 場合
は、その ロ ジ ッ ク を最上位パーテ ィ シ ョ ン に移動 し て アセ ン ブ リ 中の配置の競合を回避 し て く
だ さ い。
•
あ る チーム メ ンバー パーテ ィ シ ョ ンの AREA_GROUP RANGE を ほかのチーム メ ンバー
パーテ ィ シ ョ ンの AREA_GROUP RANGE と オーバー ラ ッ プ さ せ る こ と はで き ません。
こ れは、 ト ッ プ パーテ ィ シ ョ ンの AREA_GROUP RANGE 制約で も 同 じ です。
•
•
各チーム メ ンバー パーテ ィ シ ョ ンは、 次の も のに含め る 必要があ り ます。
•
1 つの AREA_GROUP
•
その AREA_GROUP の子
1 つのチーム メ ンバーの ロ ジ ッ ク と ほかのチーム メ ンバーの ロ ジ ッ ク を 1 つの AREA_GROUP
制約に含めないで く だ さ い。 2 つのチーム メ ンバー パーテ ィ シ ョ ンの間の イ ン ターフ ェ イ ス タ
イ ミ ン グに ク リ テ ィ カルであ る ロ ジ ッ ク は、 ト ッ プ パーテ ィ シ ョ ンに移動し ます。 こ の よ う にす
る と 、 ロ ジ ッ ク を両方のチーム メ ンバー パーテ ィ シ ョ ンにま たがっ て配置で き ます。
プ ロ セ ッ サ シ ス テムのパーテ ィ シ ョ ン
EDK プ ロ セ ッ サ シ ス テ ム にパーテ ィ シ ョ ン を設定す る 際は、 最初の実行お よ びその後の実行で、
NGDBuild に BMM フ ァ イ ルを入力す る 必要があ り ます。
26
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第3章
合成パーテ ィ シ ョ ン フ ロー
こ の章では、 合成パーテ ィ シ ョ ン フ ロ ーについて説明 し ます。 次のセ ク シ ョ ンが含まれます。
•
合成フ ロ ー
•
合成ツール
合成フ ロー
階層デザ イ ン フ ローでは、 各パーテ ィ シ ョ ンが個別に合成 さ れます。 こ れに よ り 、 1 つのエ リ アが
変更 さ れた と き に別のエ リ アの合成結果が変更 さ れ る のを回避で き ます。
次の フ ロ ーを使用で き ます。
•
イ ン ク リ メ ン タ ル合成フ ロ ー
•
ボ ト ム ア ッ プ合成フ ロ ー
イ ン ク リ メ ン タ ル合成 フ ロー
ほ と ん ど のサー ド パーテ ィ 合成ツールで、 イ ン ク リ メ ン タ ル合成がサポー ト さ れてい ます。
イ ン ク リ メ ン タ ル合成では、 次の よ う に処理 さ れます。
•
レ ジ ス タ ト ラ ン ス フ ァ ー レベル (RTL) モジ ュ ールをパーテ ィ シ ョ ン と し て設定で き ます。
•
各パーテ ィ シ ョ ンは個別に合成 さ れ、 階層の境界が作成 さ れます。
•
1 つのモジ ュ ールで HDL が変更 さ れて も 、 ほかのモジ ュ ールには影響 し ません。
•
再合成する モジ ュ ールま たは イ ン ス タ ン スは、 HDL ま たは制約の変更に基づいて ツールに よ り
判断 さ れます。
サポー ト さ れる イ ン ク リ メ ン タ ル合成 フ ロー
サポー ト さ れてい る イ ン ク リ メ ン タ ル合成フ ロ ーは、 次の と お り です。
•
Synplify Pro お よ び Synplify Premier
コ ンパ イ ル ポ イ ン ト を使用 し ます。
•
Precision
HDL の属性を使用 し てパーテ ィ シ ョ ン を指定 し ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
27
第 3 章 : 合成パーテ ィ シ ョ ン フ ロー
イ ン ク リ メ ン タ ル合成 フ ローの利点
イ ン ク リ メ ン タ ル合成フ ロ ーには、 次の よ う な利点があ り ます。
•
各パーテ ィ シ ョ ンに対 し て個別の合成プ ロ ジ ェ ク ト フ ァ イ ルを作成する 必要はあ り ません。
•
フ ラ ッ ト 合成フ ロ ーか ら の移行が簡単です。
•
再合成が必要なモジ ュ ールは、 HDL コ ー ド お よ び タ イ ミ ン グ制約の変更に基づいて合成ツー
ルに よ り 判断 さ れます。
ボ ト ムア ッ プ合成 フ ロー
ボ ト ム ア ッ プ合成フ ロ ーには、 次の よ う な特徴があ り ます。
•
各パーテ ィ シ ョ ンに個別の合成プ ロ ジ ェ ク ト お よ びネ ッ ト リ ス ト があ り ます。
•
再合成する必要のあ る合成プ ロ ジ ェ ク ト は、 HDL コー ド および合成制約の変更に基づいてユー
ザーが判断し ます。
•
下位モジ ュ ールを ブ ラ ッ ク ボ ッ ク ス と し て最上位を合成 し ます。
•
下位モジ ュ ールは、 I/O ま たは ク ロ ッ ク バ ッ フ ァ ーを推論せずに合成 し ます。
サポー ト さ れる ボ ト ムア ッ プ合成フ ロー
ボ ト ム ア ッ プ合成フ ロ ーは、 次の ツールでサポー ト さ れます。
•
サー ド パーテ ィ 合成ツール
•
XST (Xilinx Synthesis Technology)
HDL の属性を使用 し てパーテ ィ シ ョ ン を指定 し ます。
ボ ト ムア ッ プ合成フ ロ ーの利点
ボ ト ム ア ッ プ合成フ ロ ーには、 次の よ う な利点があ り ます。
•
各チーム メ ンバーが独自の合成プ ロ ジ ェ ク ト を作成 し ます。
合成中、 複数のチーム メ ンバーが同 じ デザ イ ン を作業で き ます。
•
28
再合成す る イ ン ス タ ン ス をチーム メ ンバーが完全に制御で き ます。
•
チーム メ ンバーが再合成する プ ロ ジ ェ ク ト を決定する ので、 ど の イ ン ス タ ン ス が再合成 さ
れたかを容易に判断で き ます。
•
各ネ ッ ト リ ス ト に個別の タ イ ム ス タ ンプがあ り ます。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
合成ツール
合成ツール
次の合成ツールについて説明 し ます。
•
Synplify Pro お よ び Synplify Premier
•
Precision
•
XST (Xilinx Synthesis Technology)
Synplify Pro および Synplify Premier
Synplify Pro およびSynplify Premier でパーテ ィ シ ョ ン を使用する には、次の 2 つの方法があ り ます。
•
Synplify Pro お よ び Symplify Premier のボ ト ム ア ッ プ合成フ ロ ー
•
Synplify Pro お よ び Symplify Premier の イ ン ク リ メ ン タ ル合成フ ロ ー
Synplify Pro およ び Symplify Premier のボ ト ムア ッ プ合成フ ロ ー
Synplify Pro お よ び Symplify Premier のボ ト ム ア ッ プ フ ロ ーでは、 各 イ ン ス タ ン ス に Synplify プ
ロ ジ ェ ク ト フ ァ イ ルが あ り ます。 下位プ ロ ジ ェ ク ト フ ァ イ ルに IOB ま たはグ ロ ーバル ク ロ ッ ク
バ ッ フ ァ ーを推論 し ない よ う に し て く だ さ い。
•
プ ロ ジ ェ ク ト フ ァ イ ルで I/O 挿入を オフ にする には、 次の構文を使用 し ます。
set_option disable_io_insertion 1
•
ク ロ ッ ク バ ッ フ ァ ーの使用を オフ にする には、 syn_noclockbuf 属性を使用 し ます。
•
次の構文を Synplify デザ イ ン制約 (SDC) フ ァ イ ルに追加 し ます。
define_attribute { clock_port } syn_noclockbuf 0
define_global_attribute syn_noclockbuf 0
ま たは
•
syn_noclockbuf を HDL コ ー ド に直接挿入 し ます。
詳細は、 Symplify のマニ ュ アルを参照 し て く だ さ い。
Synplify Pro およ び Symplify Premier のイ ン ク リ メ ン タ ル合成 フ ロー
Synplify Pro お よ び Symplify Premier では、 イ ン ク リ メ ン タ ル合成フ ロ ーがサポー ト さ れてい ま
す。 イ ン ク リ メ ン タ ル合成 フ ロ ーでは、 コ ンパ イ ル ポ イ ン ト を使用 し てデザ イ ン を小型の合成ユ
ニ ッ ト に分割 し ます。
locked モー ド を使用す る と 、 コ ンパ イ ル ポ イ ン ト を越え た ロ ジ ッ ク の移動は実行 さ れません。 soft
モー ド お よ び hard モー ド では境界を越え た最適化が許容 さ れ ま すが、 サポー ト さ れてい ま せん。
パーテ ィ シ ョ ンのネ ッ ト リ ス ト が変更 さ れた場合、 パーテ ィ シ ョ ンの再 イ ンプ リ メ ン ト が必要にな
り ます。 イ ン ポー ト さ れたパーテ ィ シ ョ ンがネ ッ ト リ ス ト と 一致 し ない場合、 NGDBuild ツールで
エ ラ ーが発生 し ます。
次に、 SDC フ ァ イ ルの コ ンパ イ ルポ イ ン ト の例を示 し ます。
define_compile_point {v:controller} -type {locked} -cpfile {}
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
29
第 3 章 : 合成パーテ ィ シ ョ ン フ ロー
Synplify 合成レ ポー ト
SDC フ ァ イ ルで コ ンパ イ ル ポ イ ン ト を作成お よ び変更す る には、Synplify を使用 し て く だ さ い。合
成レ ポー ト フ ァ イ ルに、 各 コ ンパ イ ル ポ イ ン ト の ス テー タ ス が示 さ れます。
Summary of Compile Points
Name Status Reason
------------------------------------------------controller Unchanged elevator_car Remapped Design changed
express_car Remapped Design changed
top Remapped Design changed
=================================================
ザイ リ ン ク ス イ ン プ リ メ ン テーシ ョ ン ツールの実行 (Synplify)
合成が終了 し た ら 、 次のいずれかの方法でザ イ リ ン ク ス イ ンプ リ メ ン テーシ ョ ン ツールを実行 し
ます。
•
ISE® Design Suite コ マ ン ド ラ イ ン フ ロ ー (Synplify)
•
PlanAhead ソ フ ト ウ ェ ア フ ロ ー (Synplify)
•
Synplify コ ッ ク ピ ッ ト (Synplify)
ISE® Design Suite コ マ ン ド ラ イ ン フ ロー (Synplify)
Synplify で Tcl コ マ ン ド が実行 さ れ、 ザ イ リ ン ク ス イ ン プ リ メ ン テーシ ョ ン ツ ールで使用す る
PXML フ ァ イ ルが作成 さ れます。
詳細は、 次を参照 し て く だ さ い。
•
第 4 章 「 コ マン ド ラ イ ンでのパーテ ィ シ ョ ン フ ロ ー」
PlanAhead ソ フ ト ウ ェ ア フ ロー (Synplify)
PlanAhead™ ソ フ ト ウ ェ ア フ ロ ーでは、 次の も の を イ ンポー ト し ます。
•
合成ネ ッ ト リ ス ト
•
Synplify で生成 さ れた PXML フ ァ イ ル (オプシ ョ ン )
PlanAhead ソ フ ト ウ ェ ア内でパーテ ィ シ ョ ン を手動で再定義す る こ と も 可能です。
詳細は、 次を参照 し て く だ さ い。
•
第 5 章 「PlanAhead でのパーテ ィ シ ョ ン フ ロ ー」
Synplify コ ッ ク ピ ッ ト (Synplify)
Synplify コ ッ ク ピ ッ ト か ら ザ イ リ ン ク ス イ ンプ リ メ ン テーシ ョ ン ツールを実行 し ます。
詳細は、 次のサ イ ト か ら Synplify Pro お よ び Synplify Premier の資料を参照 し て く だ さ い。
•
30
http://www.synopsys.co.jp/
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
合成ツール
Precision
Mentor Graphics 社の Precision 合成ツールで も 、 階層デザ イ ン フ ロ ーがサポー ト さ れます。 最 も
よ く 使用 さ れ る フ ロ ーは、 パーテ ィ シ ョ ン ベース の イ ン ク リ メ ン タ ル フ ロ ーです。 こ の フ ロ ーで
は、 パーテ ィ シ ョ ンは属性を使用 し てモジ ュ ールま たは イ ン ス タ ン ス に設定 し ます。
Precision 合成レ ポー ト
Verilog Module:
module my_block( input clk; ...)/* synthesis incr_partition */;
Verilog Instance:
my_block my_block_inst( .clk(clk), ....data_out(data_out) ); // synthesis attribute
my_block_inst
incr_partition true
VHDL Module:
entity my_block is port( clk: in std_logic; ...); attribute incr_partition : boolean;
attribute incr_partition
of my_block : entity is true; end entity my_block;
VHDL Instance:
component my_block is port( ... end component; ... attribute incr_partition : boolean;
attribute
incr_partition of my_block_inst : label is true; ... my_block_inst
合成レ ポー ト には、 パーテ ィ シ ョ ンの ス テー ト に基づいてパーテ ィ シ ョ ンが最適化 さ れたか ど う か
が示 さ れます。
[16027]:Incremental:Skipping Optimize for <...>.fifo_16_64.rtl_unfold_0
[16027]:Incremental:Skipping Optimize for <...>.fir_filter.rtl_unfold_0
[15002]:Optimizing design <...>.fsm.rtl_unfold_0
[16027]:Incremental:Skipping Optimize for <...>.fir_top.rtl
ザイ リ ン ク ス イ ン プ リ メ ン テーシ ョ ン ツールの実行 (Precision)
合成が終了 し た ら 、 次のいずれかの方法でザ イ リ ン ク ス イ ンプ リ メ ン テーシ ョ ン ツールを実行 し
ます。
•
ISE Design Suite コ マン ド ラ イ ン フ ロ ー (Synplify)
•
PlanAhead ソ フ ト ウ ェ ア フ ロ ー (Precision)
•
Precision (Precision)
ISE Design Suite コ マ ン ド ラ イ ン フ ロー (Synplify)
[Place & Route] を ク リ ッ ク し 、 ザ イ リ ン ク ス イ ン プ リ メ ン テーシ ョ ン ツールで使用す る PXML
フ ァ イ ルを作成 し ます。
詳細は、 次を参照 し て く だ さ い。
•
第 4 章 「 コ マン ド ラ イ ンでのパーテ ィ シ ョ ン フ ロ ー」
PlanAhead ソ フ ト ウ ェ ア フ ロー (Precision)
PlanAhead ソ フ ト ウ ェ ア では、 合成済みネ ッ ト リ ス ト を イ ン ポー ト し ま す。 パーテ ィ シ ョ ン は、
PlanAhead ソ フ ト ウ ェ アで定義 し ます。
詳細は、 次を参照 し て く だ さ い。
•
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第 5 章 「PlanAhead でのパーテ ィ シ ョ ン フ ロ ー」
japan.xilinx.com
31
第 3 章 : 合成パーテ ィ シ ョ ン フ ロー
Precision (Precision)
[Place & Route] を ク リ ッ ク し て ISE Design Suite の イ ンプ リ メ ン テーシ ョ ン ツールを実行 し ます。
こ の フ ロ ーの詳細は、 次のMentor Graphics 社のSupportNet サ イ ト か ら アプ リ ケーシ ョ ン ノ ー ト を
参照 し て く だ さ い。
http://supportnet.mentor.com/japan/index.cfm
XST (Xilinx Synthesis Technology)
XST (Xilinx Synthesis Technology) では、 次の フ ロ ーがサポー ト さ れてい ます。
•
XST ボ ト ム ア ッ プ合成フ ロ ー
•
XST ト ッ プダ ウ ン イ ン ク リ メ ン タ ル フ ロ ー
XST ボ ト ムア ッ プ合成フ ロ ー
パーテ ィ シ ョ ン と し て使用 さ れ る 各 イ ン ス タ ン ス ( ト ッ プ パーテ ィ シ ョ ン を含む) に合成プ ロ ジ ェ
ク ト フ ァ イ ルがあ り ます。
注意 : 最上位パーテ ィ シ ョ ンに IOB ま たはグ ローバル ク ロ ッ ク バ ッ フ ァ ーが含まれてい る 場
合は、 下位パーテ ィ シ ョ ンでは推論 し ないで く だ さ い。
I/O が推論 さ れない よ う にす る には、 XST フ ァ イ ルで次のオプシ ョ ン を指定 し ます。
-iobuf NO
下位パーテ ィ シ ョ ンに IOB を使用す る こ と は可能ですが、その場合は最上位パーテ ィ シ ョ ンに余分
な IOB が推論 さ れない よ う にす る 必要があ り ます。 IOB の挿入を オ フ にす る には、 次の よ う に設
定 し ます。
•
最上位全体に対 し ては、 –iobuf オプシ ョ ン を設定 し ます。
•
個々の信号に対 し ては、 信号名に BUFFER_TYPE=NONE 属性を設定 し ます。
BUFFER_TYPE=NONE 属性は、下位パーテ ィ シ ョ ンにグ ロ ーバル バ ッ フ ァ ー (BUFG) が イ ン ス タ ン
シエー ト さ れてい る 場合に、最上位パーテ ィ シ ョ ンで BUFG が推論 さ れない よ う にす る ために も 使
用で き ます。
BUFFER_TYPE 属性の設定方法、 XST を コ マ ン ド ラ イ ン モー ド で実行す る 方法の詳細は、 次を参
照 し て く だ さ い。
32
•
『XST ユーザー ガ イ ド (Virtex®-4、Virtex-5、Spartan®-3 お よ び CPLD デバ イ ス用)』 (UG627)
(付録 A 「その他の リ ソ ース」 に リ ン ク を リ ス ト )
•
『XST ユーザー ガ イ ド (Virtex-6 お よ び Spartan-6 デバ イ ス用)』 (UG687) (付録 A 「その他の リ
ソ ース」 に リ ン ク を リ ス ト )
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
合成ツール
XST ト ッ プ ダウ ン イ ン ク リ メ ン タ ル フ ロ ー
XST ト ッ プダ ウ ン イ ン ク リ メ ン タ ル フ ロ ーには、 次の特徴があ り ます。
•
ISE Design Suite 13.1 リ リ ース の新機能です。
•
Virtex-6、 Spartan-6、 お よび 7 シ リ ーズ FPGA デバ イ ス のみをサポー ト し ます。
•
Virtex-4、 Virtex-5、 お よ び Spartan-3 デバ イ スはサポー ト さ れません。
•
ボ ト ム ア ッ プ フ ロー よ り も セ ッ ト ア ッ プが簡単です。
•
コ マ ン ド ラ イ ンお よび PlanAhead ソ フ ト ウ ェ アの両方がサポー ト さ れてい ます。
•
階層 イ ン ス タ ン ス にパーテ ィ シ ョ ン を定義で き ます。 各パーテ ィ シ ョ ンに個別の NGC フ ァ イ
ルが作成 さ れます。
パーテ ィ シ ョ ンは、 xpartition.pxml と い う PXML フ ァ イ ルで定義お よ び制御 し ます。
•
コ マ ン ド ラ イ ンでは、 イ ンプ リ メ ン テーシ ョ ンに使用 さ れ る PXML フ ァ イ ル と 同 じ ま たは異
な る PXML フ ァ イ ルを使用で き ます。
•
PlanAhead ソ フ ト ウ ェ アで PXML フ ァ イ ルを管理で き ます。
デザ イ ン保持やチーム デザ イ ン な ど の特定の手法で こ の機能を使用する 方法については、 こ のガ イ
ド のほかの章を参照 し て く だ さ い。
XST では、 PXML フ ァ イ ルは次の よ う に読み込まれます。
•
PXML フ ァ イ ルが現在の作業デ ィ レ ク ト リ に存在す る 場合は、 自動的に読み込まれます。
•
PXML が異な る デ ィ レ ク ト リ ( イ ンプ リ メ ン テーシ ョ ン デ ィ レ ク ト リ な ど ) に存在す る 場合
は、 -partition_file オプシ ョ ン を使用 し て フ ァ イ ルを指定 し ます。
こ のオプシ ョ ンでは、 PXML フ ァ イルを検索する複数の リ モー ト ロ ケーシ ョ ン を指定で き ます。
XST イ ン ク リ メ ン タ ル フ ロ ーでは変更 さ れていないパーテ ィ シ ョ ン を イ ン ポー ト で き る ので、 一
部のパーテ ィ シ ョ ンが Import に設定 さ れてお り 、 ImportLocation 属性が定義 さ れてい る 場合
があ り ます。 ImportLocation が相対パ ス で定義 さ れてい る 場合、 そのパ ス は現在の作業デ ィ レ
ク ト リ に対す る パ ス ではな く 、 PXML フ ァ イ ルに対す る パ ス であ る 必要があ り ます。
合成が import に設定 さ れてい る パーテ ィ シ ョ ンで、 エ ク ス ポー ト さ れた イ ンプ リ メ ン テーシ ョ ン
デー タ が次の場合、 implement に設定す る 必要があ る 場合があ り ます。
•
最新でない
•
存在 し ない
こ の場合、 合成 と イ ン プ リ メ ン テーシ ョ ン に別々の PXML フ ァ イ ルを使用 し た方が簡単であ る 可
能性があ り ます。
前回の合成結果を イ ン ポー ト す る には、 結果を別の場所にエ ク ス ポー ト す る 必要があ り ます。 こ れ
に よ り 、 次の合成実行で結果が上書 き さ れ る のを防ぐ こ と がで き ます。 エ ク ス ポー ト さ れた合成結
果には、 パーテ ィ シ ョ ンの NGC フ ァ イ ル と HDX フ ァ イ ルが含まれてい る必要があ り ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
33
第 3 章 : 合成パーテ ィ シ ョ ン フ ロー
34
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第4章
コ マ ン ド ラ イ ン でのパーテ ィ シ ョ ン フ ロー
ISE® Design Suite コ マ ン ド ラ イ ン パーテ ィ シ ョ ン フ ロ ーは、 次の よ う に実行 し ます。
•
合成後のデザ イ ンにパーテ ィ シ ョ ン を使用 し ます。
•
コ マ ン ド ラ イ ンで実行 し ます。
•
次のザ イ リ ン ク ス イ ンプ リ メ ン テーシ ョ ン ツールを使用 し ます。
•
NGDBuild
•
MAP
•
PAR
ザ イ リ ン ク ス イ ンプ リ メ ン テーシ ョ ン ツールは、 次の処理を実行 し ます。
•
現在の作業デ ィ レ ク ト リ で PXML フ ァ イ ルを自動的に検索 し ます。
現在の作業デ ィ レ ク ト リ は、 イ ンプ リ メ ン テーシ ョ ン ツールを実行 し たデ ィ レ ク ト リ です。
•
PXML フ ァ イ ルか ら 次の情報を取得 し ます。
•
デザ イ ン内で定義 さ れてい る パーテ ィ シ ョ ン
•
パーテ ィ シ ョ ンの ス テー ト
PXML フ ァ イルの作成
PXML フ ァ イ ル と は、 次の よ う な フ ァ イ ルです。
•
パーテ ィ シ ョ ンの定義が含ま れます。
•
大文字 と 小文字が区別 さ れます。
•
必ず xpartition.pxml と い う 名前を付け る 必要があ り ます。
•
次のすべての イ ンプ リ メ ン テーシ ョ ン ツールに対 し て存在 し てい る 必要があ り ます。
•
•
NGDBuild
•
MAP
•
PAR
次の方法で作成で き ます。
•
テキ ス ト エデ ィ ターで手動で作成
手動で PXML フ ァ イ ルを作成する 際の参考に、 PXML フ ァ イ ルのテ ンプ レー ト が提供 さ
れてい ます。 テ ンプ レー ト フ ァ イ ルは、 次のデ ィ レ ク ト リ にあ り ます。
<Xilinx_13_directory>/PlanAhead/testcases/templates/xpartition.pxml
•
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
PlanAhead™ ソ フ ト ウ ェ アな ど の ソ フ ト ウ ェ ア ツールで作成
japan.xilinx.com
35
第 4 章 : コ マ ン ド ラ イ ン でのパーテ ィ シ ョ ン フ ロー
PlanAhead ソ フ ト ウ ェ アで PXML フ ァ イ ルを作成す る 方法は、 次を参照 し て く だ さ い。
•
第 5 章 「PlanAhead でのパーテ ィ シ ョ ン フ ロ ー」 の 「PXML フ ァ イ ルのエ ク ス ポー ト 」
PXML フ ァ イ ルを手動で作成 し た場合やサー ド パーテ ィ の合成ツールで生成 し た場合は、次を参照
し て く だ さ い。
•
「 イ ンプ リ メ ン テーシ ョ ンの実行」
下位パーテ ィ シ ョ ン と 共に、 デザ イ ンの最上位モジ ュ ールをパーテ ィ シ ョ ン と し て定義す る 必要が
あ り ます。 子パーテ ィ シ ョ ン ま たはネ ス ト さ れたパーテ ィ シ ョ ン も サポー ト さ れてい ます。
PXML フ ァ イ ルが現在の作業デ ィ レ ク ト リ に含ま れていれば、 イ ンプ リ メ ン テーシ ョ ン ツールで
自動的に認識 さ れます。
PXML フ ァ イルの例
<?xml version="1.0" encoding="UTF-8" ?>
<Project FileVersion="1.2" Name="Example" ProjectVersion="2.0">
<Partition Name="/top" State="implement" ImportLocation="NONE">
<Partition Name="/top/module_A" State="import" ImportLocation="/
home/user/Example/export" Preserve="routing">
</Partition>
<Partition Name="/top/module_B" State="import" ImportLocation="../
export" Preserve="routing">
</Partition>
<Partition Name="/top/module_C" State="implement"
ImportLocation="../export" Preserve="placement">
</Partition>
</Partition>
</Project>
PXML の属性 と その値
次の表に、 上記の PXML フ ァ イ ルの例で使用 さ れてい る 属性 と その値を説明 し ます。
表 4-1 : Project を定義する ための PXML 属性
属性名
36
値
説明
FileVersion
1.2
ツールで使用 さ れ ま す。 こ の値は変更 し ないで く だ
さ い。
Name
プロジェ ク ト 名
プ ロ ジ ェ ク ト 名を指定 し ます。
ProjectVersion
2.0
ツールで使用 さ れ ま す。 こ の値は変更 し ないで く だ
さ い。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
PXML フ ァ イルの作成
表 4-2 : Partition を定義する ための PXML 属性
属性名
値
説明
Name
パーテ ィ シ ョ ン名
パーテ ィ シ ョ ン を適用す る モ ジ ュ ールの階層 イ ン
ス タ ン ス名を指定 し ます。
State
implement
パーテ ィ シ ョ ンは再 イ ンプ リ メ ン ト さ れます。
import
パーテ ィ シ ョ ンは イ ン ポー ト さ れ、 Preserve で
設定 さ れた レ ベルで イ ン プ リ メ ン テーシ ョ ン が保
持 さ れます。
auto
論理的に変更 さ れていないパーテ ィ シ ョ ン を イ ン
ポー ト し 、 論理的に変更 さ れてい る パーテ ィ シ ョ
ン を イ ンプ リ メ ン ト し ます。 ImportLocation 属
性を設定す る 必要があ り ます。 コ マ ン ド ラ イ ン で
のみサポー ト さ れます。
ImportLocation
パス
イ ン ポー ト 元のデ ィ レ ク ト リ を指定 し ます。State
が import に設定 さ れていない場合は無視 さ れま
す。 State が import に設定 さ れてい る 場合、 パ
ス を 相対パ ス ま た は絶対パ ス で指定で き ま すが、
指定 し た場所に export デ ィ レ ク ト リ が含まれて
い る 必要があ り ます。 こ の属性が無視 さ れ る 場合、
デ ィ レ ク ト リ を設定 し た り こ の属性を削除す る 代
わ り に、 NONE キー ワー ド を設定で き ます。
ImportTag
パーテ ィ シ ョ ン名
パーテ ィ シ ョ ン を イ ン プ リ メ ン ト さ れた階層 レ ベ
ル と は別の階層 レ ベルに イ ン ポー ト で き る よ う に
し ま す。 値を イ ン プ リ メ ン ト さ れたパーテ ィ シ ョ
ンの階層 イ ン ス タ ン ス に設定 し ます。
Preserve
routing
コ ン ポーネ ン ト の配置配線が 100% 保持 さ れます。
最上位パーテ ィ シ ョ ンのデフ ォ ル ト 設定です。
placement
配置が保持 さ れ ま す。 配線は変更 さ れ る 場合が あ
り ます。
synthesis
配置お よ び配線が変更 さ れ る 場合があ り ます。
inherit
親パーテ ィ シ ョ ン の設定値が使用 さ れ ま す。 最上
位パーテ ィ シ ョ ン以外のすべてのパーテ ィ シ ョ ン
のデフ ォ ル ト 設定です。
all
定数に接続 さ れてい る パーテ ィ シ ョ ン ポー ト お よ
び未使用のパーテ ィ シ ョ ン ポー ト の最適化を イ
ネーブルに し ます。
none
通常 の パー テ ィ シ ョ ン 最適化規則が 適用 さ れ ま
す。 パーテ ィ シ ョ ン の境界内での最適化のみ を有
効に し ます。 こ れがデフ ォ ル ト 値です。
BoundaryOpt
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
37
第 4 章 : コ マ ン ド ラ イ ン でのパーテ ィ シ ョ ン フ ロー
イ ン プ リ メ ン テーシ ョ ンの実行
PXML フ ァ イ ルを作成 し た ら 、 ザ イ リ ン ク ス イ ンプ リ メ ン テーシ ョ ン ツールを コ マ ン ド ラ イ ン ま
たはバ ッ チ モー ド で実行で き ます。
基本的な ス ク リ プ ト は、 次の よ う にな り ます。
ngdbuild -uc design.ucf design.edn design.ngd
map -w design.ngd -o design_map.ncd design.pcf
par -w design_map.ncd design.ncd design.pcf
NGDBuild コ マン ド で指定す る ネ ッ ト リ ス ト には、 フ ラ ッ ト 合成の出力は指定で き ません。 合成プ
ロ ジ ェ ク ト を設定お よ び実行す る 際に、 パーテ ィ シ ョ ン を考慮す る 必要があ り ます。
詳細は、 次を参照 し て く だ さ い。
•
第 3 章 「合成パーテ ィ シ ョ ン フ ロ ー」
イ ン プ リ メ ン テーシ ョ ン ツールのレ ポー ト
イ ンプ リ メ ン テーシ ョ ン ツールの レ ポー ト で、 次を確認 し ます。
•
ツールで PXML フ ァ イ ルが認識 さ れてい る 。
•
パーテ ィ シ ョ ンの ス テー ト が正 し く 設定 さ れてい る 。
た と えば、NGDBuild レ ポー ト (BLD) を見 る と 、次に示す よ う なパーテ ィ シ ョ ン イ ンプ リ メ ン テー
シ ョ ン ス テー タ ス を示すセ ク シ ョ ン があ り ます。 MAP レ ポー ト お よ び PAR レ ポー ト に も 、 同様
のパーテ ィ シ ョ ン セ ク シ ョ ンがあ り ます。
------------------------------Partition Implementation Status
------------------------------Preserved Partitions:
Implemented Partitions:
Partition "/top":
Attribute STATE set to IMPLEMENT.
Partition "/top/Control_Module":
Attribute STATE set to IMPLEMENT.
Partition "/top/Express_Car":
Attribute STATE set to IMPLEMENT.
Partition "/top/Main_Car":
Attribute STATE set to IMPLEMENT.
Partition "/top/Tracking_Module":
38
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
パーテ ィ シ ョ ンのエ ク スポー ト
パーテ ィ シ ョ ン でサポー ト さ れていない イ ン プ リ メ ン テーシ ョ ン オプ シ ョ ン
パーテ ィ シ ョ ンでは、 次の イ ンプ リ メ ン テーシ ョ ン オプシ ョ ンはサポー ト さ れてい ません。
•
-glob_opt ( グ ロ ーバル最適化)
•
-smartguide (SmartGuide™ テ ク ノ ロ ジ )
•
-power (消費電力の最適化)
•
-mt ( マルチ ス レ ッ ド )
イ ンプ リ メ ン テーシ ョ ン ツールの動作に影響を与え る ザ イ リ ン ク ス環境変数 (XIL_*) も 多数あ り 、
ISE Design Suite の リ リ ース に よ っ てその影響は異な り ます。 ザ イ リ ン ク ス の階層デザ イ ン フ ロ ー
は、 環境変数に対 し てテ ス ト さ れていないので、 ツールを実行す る 前に特別なザ イ リ ン ク ス環境変
数をすべて削除す る こ と をお勧め し ます。
パーテ ィ シ ョ ンのエ ク スポー ト
満足す る イ ンプ リ メ ン テーシ ョ ン結果が得 ら れた ら 、 パーテ ィ シ ョ ン を エ ク ス ポー ト し ます。 パー
テ ィ シ ョ ン を エ ク ス ポー ト す る には、 イ ン プ リ メ ン テーシ ョ ン フ ァ イ ルを エ ク ス ポー ト デ ィ レ ク
ト リ に コ ピー し ます。
イ ンプ リ メ ン テーシ ョ ン デ ィ レ ク ト リ の完全な コ ピーのサ イ ズが大き すぎ る 場合は、 ス ク リ プ ト を
使用 し て、 次にの フ ァ イ ルのみを コ ピー し ます。
•
必須フ ァ イ ル
•
オプシ ョ ンの フ ァ イ ル
必須 フ ァ イル
必須フ ァ イ ルは、 次の と お り です。
•
*prev*.* フ ァ イ ル
パーテ ィ シ ョ ン を イ ンポー ト する のに必要な イ ンプ リ メ ンテーシ ョ ン データ が含まれてい ます。
•
PXML フ ァ イ ル
パーテ ィ シ ョ ン を イ ン ポー ト す る のが適切であ る か ど う かを確認す る ために必要です。 た と え
ば、 PXML フ ァ イ ルに イ ン ポー ト す る パーテ ィ シ ョ ンが含まれていない場合、 エ ラ ーが生成 さ
れます。
オ プ シ ョ ンのフ ァ イル
オプシ ョ ンの フ ァ イ ルは、 次の と お り です。
•
•
次の ツールか ら の レ ポー ト フ ァ イ ル
•
NGDBuild (.bld)
•
Map (.mrp お よ び .map)
•
PAR (.par)
•
TRACE (.twr/.twx)
ユーザー制約フ ァ イ ル (UCF)
こ れ ら はオプシ ョ ンですが、 重要な フ ァ イ ルです。 こ れ ら の フ ァ イ ルには、 デザ イ ン を イ ンプ リ メ
ン ト し た と き に使用 さ れたオプシ ョ ンが記録 さ れてい ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
39
第 4 章 : コ マ ン ド ラ イ ン でのパーテ ィ シ ョ ン フ ロー
注意 : エ ク ス ポー ト デ ィ レ ク ト リ の フ ァ イ ルは変更 し ないで く だ さ い。 こ れ ら の フ ァ イ ルは、
ソ ース フ ァ イ ルの よ う な も の と 考え る こ と がで き ます。
デザ イ ンに複数のパーテ ィ シ ョ ンがあ る 場合、すべてがエ ク ス ポー ト さ れます。特定のパーテ ィ シ ョ
ンがエ ク ス ポー ト さ れ る と い う よ り は、 デザ イ ン全体がエ ク ス ポー ト さ れ る と 考え る と わか り やす
いです。
ラ ン タ イ ム を短縮す る ため、 エ ク ス ポー ト さ れ る デー タ をすべて 1 つのデ ィ レ ク ト リ に配置 し て く
だ さ い。 こ れに よ り 、 パーテ ィ シ ョ ン を イ ン ポー ト す る 際に メ モ リ に読み込む必要のあ る デザ イ ン
フ ァ イ ルの数を制限で き ます。
パーテ ィ シ ョ ンのス テー ト を import に変更
パーテ ィ シ ョ ン を エ ク ス ポー ト し た ら 、PXML フ ァ イ ルでパーテ ィ シ ョ ンの ス テー ト を ア ッ プデー
ト す る 必要があ り ます。 こ れには、 テキ ス ト エデ ィ タ ーを使用 し ます。
エ ク ス ポー ト し たパーテ ィ シ ョ ン を イ ン ポー ト す る には、 次の手順に従い ます。
1. パーテ ィ シ ョ ンの ス テー ト を import に変更 し ます。
2. ImportLocation 属性を エ ク ス ポー ト さ れたパーテ ィ シ ョ ンの場所に設定 し ます。
こ の属性は、 次のいずれかで指定 し ます。
•
次の よ う な相対パ ス
../export
•
次の よ う な絶対パ ス
/home/user/Example/export
デザイ ン での反復作業
必要に応 じ てデザ イ ン を変更 し 、 再合成 し ます。 合成でエ ク ス ポー ト さ れたパーテ ィ シ ョ ンが変更
さ れた場合は、 PXML フ ァ イ ルでそのパーテ ィ シ ョ ンの ス テー ト を import か ら implement に手動
で変更す る 必要があ り ます。
イ ン ポー ト デ ィ レ ク ト リ に あ る パーテ ィ シ ョ ン に完全に一致 し ないパーテ ィ シ ョ ン を イ ン ポー ト
し よ う と す る と 、 NGDBuild で次の よ う なエ ラ ー メ ッ セージが表示 さ れます。
ERROR:NgdBuild:1037 - The logic for imported partition '/top/Main_Car'
using previous implementation './export/top_prev_built.ngd' has been
modified.
こ のエ ラ ー メ ッ セージは、 パーテ ィ シ ョ ン ソ ース が変更 さ れたパーテ ィ シ ョ ン を再 イ ン プ リ メ ン
ト お よ びエ ク ス ポー ト し ていない場合に表示 さ れます。 パーテ ィ シ ョ ン を再 イ ンプ リ メ ン ト し 、 エ
ク ス ポー ト し てか ら 、 デザ イ ンに イ ン ポー ト す る 必要があ り ます。
HDL に コ メ ン ト を追加 し た場合に も 、 ネ ッ ト リ ス ト で多少の ロ ジ ッ ク の変更や名前の変更が発生
す る 可能性があ り 、 パーテ ィ シ ョ ン を再 イ ンプ リ メ ン ト す る 必要があ る こ と に注意 し て く だ さ い。
保持レベルを routing 以外に設定 し てパーテ ィ シ ョ ン を イ ン ポー ト し 、 PAR ツールに よ り 配置お よ
び配線が変更 さ れた場合、 次の実行でその結果が使用 さ れ る よ う パーテ ィ シ ョ ン を エ ク ス ポー ト す
る必要があ り ます。
40
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
パーテ ィ シ ョ ン を含むデザイ ン での SmartXplorer の使用
パーテ ィ シ ョ ン を含むデザイ ン での SmartXplorer の使用
パー テ ィ シ ョ ン を 含むデザ イ ン の タ イ ミ ン グ 要件 が 厳 し い 場合、 タ イ ミ ン グ を 満 た す た め に
SmartXplorer を使用で き ます。
1. デザ イ ンの完了 し たパーテ ィ シ ョ ン部分に対 し て SmartXplorer を実行 し ます。
2. 変更 さ れ る 可能性のあ る デザ イ ンのほかの部分の イ ンプ リ メ ン テーシ ョ ンには、 通常の フ ロ ー
を使用 し ます。
3. タ イ ミ ン グ ク リ テ ィ カルなモジ ュ ールの SmartXplorer での結果を イ ン ポー ト し ます。
SmartXplorer の詳細は、 付録 A 「その他の リ ソ ース」 に リ ス ト さ れてい る 『 コ マン ド ラ イ ン ツー
ル ユーザー ガ イ ド 』 (UG688) を参照 し て く だ さ い。
ネ ッ ト リ ス ト または NGD フ ァ イルを指定 し て SmartXplorer を実行
SmartXplorer を次のいずれかのフ ァ イ ルを指定 し て実行で き ます。
•
ネ ッ ト リ ス ト フ ァ イ ル (EDIF ま たは NGC)
•
NGD フ ァ イ ル
ネ ッ ト リ ス ト フ ァ イ ル ま たは NGD フ ァ イ ル と 同 じ デ ィ レ ク ト リ に PXML フ ァ イ ルを配置 し てお
く 必要があ り ます。
PXML フ ァ イ ルは通常 NGD フ ァ イ ル と 同 じ デ ィ レ ク ト リ に配置 さ れてい る ので、 次の手順で実行
す る こ と をお勧め し ます。
1. NGDBuild を実行 し ます。
2. SmartXplorer を NGD フ ァ イ ルを使用 し て実行 し ます。
ネ ッ ト リ ス ト フ ァ イ ルを使用する 場合は、 PXML フ ァ イ ルを ネ ッ ト リ ス ト デ ィ レ ク ト リ に コ ピー
す る 必要があ り ます。
SmartXplorer のデ ィ レ ク ト リ パス
SmartXplorer の 実行 結果 か ら パ ー テ ィ シ ョ ン を イ ン ポ ー ト す る 場合 は、 PXML フ ァ イ ル の
ImportLocation と し て SmartXplorer で作成 さ れたデ ィ レ ク ト リ を指定す る 必要があ り ます。
デ ィ レ ク ト リ パ ス は、 次の よ う に指定で き ます。
•
次の よ う な相対パ ス
../run2
•
次の よ う な絶対パ ス
/home/user/Example/run2
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
41
第 4 章 : コ マ ン ド ラ イ ン でのパーテ ィ シ ョ ン フ ロー
SmartXplorer の入力 フ ァ イル
SmartXplorer には、 最上位ネ ッ ト リ ス ト ま たは NGD フ ァ イ ルを入力 し ます。
NGD フ ァ イ ルを指定す る 場合は、 次の点に注意す る 必要があ り ます。
•
NGD フ ァ イ ルは、MAP ツールお よ び PAR ツールで使用 さ れ る の と 同 じ PXML フ ァ イ ルを使
用 し て作成す る 必要があ り ます。
NGDBuild を実行 し た と き に PXML フ ァ イ ルが存在 し ない場合は、 MAP お よ び PAR で
PXML フ ァ イ ルが無視 さ れます。
•
SmartXplorer で MAP ツールお よ び PAR ツールが実行 さ れ、 NGD フ ァ イ ルは 1 レベル上に
作成 さ れます。
SmartXplorer の結果を イ ン ポー ト する には、 1 レベル上にあ る *prev_built.ngd フ ァ イ ル
を SmartXplorer で作成 さ れた適切な run デ ィ レ ク ト リ に コ ピーす る 必要があ り ます。
パーテ ィ シ ョ ンの削除 と 復元
パーテ ィ シ ョ ン を削除 し た り 復元 し た り で き ます。
個々のパーテ ィ シ ョ ンの削除
個々のパーテ ィ シ ョ ン を削除す る には、 次の手順に従い ます。
1. PXML フ ァ イ ルか ら そのパーテ ィ シ ョ ンの参照を削除 し ます。
2. 親パーテ ィ シ ョ ンの ス テー ト を implement に設定 し ます。
すべてのパーテ ィ シ ョ ンの削除
すべてのパーテ ィ シ ョ ン を削除 し て フ ラ ッ ト フ ロ ーを実行する には、 次の手順にい従い ます。
1. implementation デ ィ レ ク ト リ の PXML フ ァ イ ルを削除す る か、 名前を変更 し ます。
パーテ ィ シ ョ ンの復元
パーテ ィ シ ョ ン を復元す る には、 次のいずれかを実行 し ます。
•
すべてのパーテ ィ シ ョ ンが削除 さ れてい る 場合は、 PXML フ ァ イ ルを implementation デ ィ レ
ク ト リ に戻 し ます。
•
個々のパーテ ィ シ ョ ンが削除 さ れてい る 場合は、PXML フ ァ イ ルにパーテ ィ シ ョ ン を定義す る
行を戻 し ます。
一度削除 し て復元 し たパーテ ィ シ ョ ン を、 イ ン ポー ト で き る 場合があ り ます。
次の場合に イ ン ポー ト で き ます。
42
•
入力ネ ッ ト リ ス ト が変更 さ れていない。
•
エ ク ス ポー ト デ ィ レ ク ト リ が存在 し てい る 。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第5章
PlanAhead でのパーテ ィ シ ョ ン フ ロー
PlanAhead™ ソ フ ト ウ ェ アでは、 レ ジ ス タ ト ラ ン ス フ ァ ー レベル (RTL) プ ロ ジ ェ ク ト と ネ ッ ト リ
ス ト プ ロ ジ ェ ク ト でパーテ ィ シ ョ ン フ ロ ーがサポー ト さ れます。
次の表示を使用 し て、 パーテ ィ シ ョ ン を追加ま たは削除 し ます。
表 5-1 : パーテ ィ シ ョ ンの追加 と 削除を実行する表示
プロジ ェ ク ト
表示
RTL
RTL Design
ネッ ト リ ス ト
Netlist Design
RTL プ ロ ジ ェ ク ト には、 次の よ う な特徴があ り ます。
•
Virtex-6、 Spartan-6、 お よ び 7 シ リ ーズ FPGA デバ イ ス のみをサポー ト し ます。
•
XST (Xilinx Synthesis Technology) の イ ン ク リ メ ン タ ル機能を使用 し て、 次を実行 し ます。
•
デザ イ ン を合成 し ます。
•
各パーテ ィ シ ョ ンに個別の NGC フ ァ イ ルを生成 し ます。
別の合成ツールま たは XST のボ ト ムア ッ プ合成を使用する場合は、 次の よ う にする必要があ り ます。
•
PlanAhead ソ フ ト ウ ェ ア外で合成を実行 し ます。
•
PlanAhead でネ ッ ト リ ス ト プ ロ ジ ェ ク ト を作成 し て イ ンプ リ メ ン テーシ ョ ン を実行 し ます。
ネ ッ ト リ ス ト プ ロ ジ ェ ク ト では、 独自のネ ッ ト リ ス ト を持つ階層にのみパーテ ィ シ ョ ン を設定 し
ます。
PlanAhead ソ フ ト ウ ェ アで フ ラ ッ ト ネ ッ ト リ ス ト プ ロ ジ ェ ク ト を作成 し 、 プ ロ ジ ェ ク ト の階層に
パーテ ィ シ ョ ン を追加す る こ と も 可能ですが、 合成で生成 さ れ る ネ ッ ト リ ス ト は 1 つだけなので、
デザ イ ンの 1 つの部分を変更す る と ほかの部分に も 影響 し 、 プ ロ モー ト し た結果を イ ン ポー ト で き
ません。 フ ラ ッ ト な グ ロ ーバル最適化合成フ ロ ーはサポー ト さ れてい ません。
パーテ ィ シ ョ ン用に合成プ ロ ジ ェ ク ト を設定する 方法の詳細は、 次を参照 し て く だ さ い。
•
第 3 章 「合成パーテ ィ シ ョ ン フ ロ ー」
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
43
第 5 章 : PlanAhead でのパーテ ィ シ ョ ン フ ロー
新規プ ロ ジ ェ ク ト の作成
PlanAhead ソ フ ト ウ ェ ア で新規プ ロ ジ ェ ク ト を作成する には、 次の手順に従い ます。
1. Getting Started ページの [Create a New Project] リ ン ク を ク リ ッ ク し ます。
開いた New Project ウ ィ ザー ド の指示に従っ て、 新規 PlanAhead プ ロ ジ ェ ク ト を作成 し ます。
2. [Design Source] ページで、 次のいずれか をオンに し ます。
a. [Specify RTL Sources] (RTL プ ロ ジ ェ ク ト を作成する 場合)
b. [Specify synthesized (EDIF or NGC) netlist] (ネ ッ ト リ ス ト プ ロ ジ ェ ク ト を作成する 場合)
3. ウ ィ ザー ド を続行 し ます。
4. 次の も のを指定 し ます。
a. ソ ース
b. ユーザー制約フ ァ イ ル (UCF)
5. [Finish] を ク リ ッ ク し ます。
パーテ ィ シ ョ ンの設定
PlanAhead ソ フ ト ウ ェ ア でパーテ ィ シ ョ ン を設定する には、 次の手順に従い ます。
1. Flow Navigator の [RTL Design] ま たは [Netlist Design] を ク リ ッ ク し て RTL デザ イ ン ま たは
ネ ッ ト リ ス ト デザ イ ン を メ モ リ に読み込みます。
2. [RTL Netlist] ビ ュ ーま たは [Netlist] ビ ュ ーを ク リ ッ ク し てデザ イ ン階層を確認 し ます。
3. パーテ ィ シ ョ ンす る モジ ュ ール イ ン ス タ ン ス を選択 し ます。
4. 右 ク リ ッ ク し 、 [Set Partition] を ク リ ッ ク し ます。
パーテ ィ シ ョ ンは、 パーテ ィ シ ョ ンに設定す る こ と を考慮 し て設計お よ び合成 し た イ ン ス タ ン
ス にのみ設定 し て く だ さ い。
PXML フ ァ イルのイ ンポー ト
Synplify コ ンパ イ ル ポ イ ン ト フ ロ ーでは、 Synplify で PXML フ ァ イ ルを生成で き ます。
詳細は、 Symplify の sxml2pxml に関す る 資料を参照 し て く だ さ い。
sxml2pxml フ ァ イ ルの値を PlanAhead に イ ン ポー ト し 、パーテ ィ シ ョ ン を定義で き ます。パーテ ィ
シ ョ ンが既に定義 さ れてい る 場合は、 オプシ ョ ンが淡色表示 さ れます。
PXML フ ァ イ ルを イ ンポー ト す る には、 次の手順に従い ます。
1. Flow Navigator の [RTL Design] ま たは [Netlist Design] を ク リ ッ ク し て RTL デザ イ ン ま たは
ネ ッ ト リ ス ト デザ イ ン を メ モ リ に読み込みます。
2. [Netlist] ビ ュ ーを ク リ ッ ク し てデザ イ ン階層を確認 し ます。
3. [Netlist] ビ ュ ーを右 ク リ ッ ク し 、 [Import Partition Settings] を ク リ ッ ク し ます。
44
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
PXML フ ァ イルのエ ク スポー ト
PXML フ ァ イルのエ ク スポー ト
ISE® Design Suite の コ マ ン ド ラ イ ン フ ロ ーで使用する PXML を、 PlanAhead ソ フ ト ウ ェ アで作
成で き ます。
メ モ : 次に示す例はネ ッ ト リ ス ト プ ロ ジ ェ ク ト の も のですが、 RTL プ ロ ジ ェ ク ト で も RTL デザ イ
ン (合成前) ま たはネ ッ ト リ ス ト デザ イ ン (合成後) か ら 同 じ 操作を実行で き ます。
PXML フ ァ イ ルを作成す る には、 次の手順に従い ます。
1. Flow Navigator の [Netlist Design] を ク リ ッ ク し てネ ッ ト リ ス ト デザ イ ン を メ モ リ に読み込み
ます。
2. [Netlist] ビ ュ ーを ク リ ッ ク し ます。
3. パーテ ィ シ ョ ン を設定す る モジ ュ ール イ ン ス タ ン ス を選択 し ます。
4. 右 ク リ ッ ク し 、 [Set Partition] を ク リ ッ ク し ます。
5. [Implement] ボ タ ンの右側の矢印を ク リ ッ ク し 、 [Implementation Settings] を ク リ ッ ク し ます。
[Implementation Settings] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
6. [Launch Options] フ ィ ール ド の右側にあ る ボ タ ン を ク リ ッ ク し ます。
[Launch Options] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
7. [Generate scripts only] を オンに し ます。
8. [OK] を ク リ ッ ク し ます。
9. [Run] を ク リ ッ ク し ます。
PXML フ ァ イ ルが、 次の よ う に生成 さ れます。
•
<project_name>.runs/impl_1 デ ィ レ ク ト リ に生成 さ れます。
•
ISE コ マン ド ラ イ ン フ ロ ーを実行す る デ ィ レ ク ト リ に コ ピー し て使用で き ます。
階層デザ イ ン フ ローの実行に関する 詳細は、 次を参照 し て く だ さ い。
•
第 6 章 「デザ イ ン保持フ ロ ー」 の 「PlanAhead フ ロー」
PlanAhead ソ フ ト ウ ェ ア の使用法の詳細は、 付録 A 「そ の他の リ ソ ー ス」 に リ ス ト さ れ て い る
『PlanAhead ユーザー ガ イ ド 』 (UG632) を参照 し て く だ さ い。
BoundaryOpt 属性の設定
BoundaryOpt 属性を使用す る と 、 パーテ ィ シ ョ ンの境界で一部の最適化を実行で き ます。 こ の最適
化は、 イ ンプ リ メ ン テーシ ョ ン結果にのみ影響 し ます。 XST ではサポー ト さ れてい ません。
パーテ ィ シ ョ ンに BoundaryOpt 属性を追加する には、 次の手順に従い ます。
1. [Netlist] ビ ュ ーでパーテ ィ シ ョ ン を選択 し ます。
2. [Instance Properties] ビ ュ ーで [Partition] タ ブを ク リ ッ ク し ます。
3. [Boundary Optimization] チ ェ ッ ク ボ ッ ク ス を オンに し ます。
4. [Apply] を ク リ ッ ク し ます。
詳細は、 次を参照 し て く だ さ い。
•
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第 2 章 「設計に関す る 考慮事項」
japan.xilinx.com
45
第 5 章 : PlanAhead でのパーテ ィ シ ョ ン フ ロー
ImportTag 属性の設定
ImportTag 属性を使用す る と 、1 つの階層で定義 し たパーテ ィ シ ョ ン を別の階層に イ ン ポー ト で き
ます。 こ の機能は、 次でサポー ト さ れます。
•
XST イ ン ク リ メ ン タ ル フ ロ ー
•
イ ンプ リ メ ン テーシ ョ ン ツール
パーテ ィ シ ョ ン での ImportTag 属性の設定
パーテ ィ シ ョ ンに ImportTag 属性を設定する には、 次の手順に従い ます。
1. [(RTL) Netlist] ビ ュ ーでパーテ ィ シ ョ ン を選択 し ます。
2. [Instance Properties] ビ ュ ーで [Partition] タ ブを ク リ ッ ク し ます。
3. [ImportTag] フ ィ ール ド にパーテ ィ シ ョ ンが イ ンプ リ メ ン ト さ れた階層名を入力 し ます。
4. [Apply] を ク リ ッ ク し ます。
Tcl コ ン ソ ールか ら の ImportTag 属性の設定
ImportTag 属性を Tcl コ ン ソ ールか ら 設定す る には、 次の Tcl コ マ ン ド を入力 し ます。
set_property HD_IMPORT_TAG "<original_partition_name>" [get_cells"<current_instance_name>"]
ImportTag 属性を削除す る には、 同 じ コ マン ド を値を空に し て実行 し ます。
set_property HD_IMPORT_TAG "" [get_cells "<current_instance_name>"]
get_cells の値は、 次の と お り です。
•
パーテ ィ シ ョ ン名ではな く イ ン ス タ ン ス名を指定 し ます。
•
最上位モジ ュ ールま たはエン テ ィ テ ィ 名を含みます。
詳細は、 次を参照 し て く だ さ い。
•
第 1 章 「パーテ ィ シ ョ ン」
パーテ ィ シ ョ ンのフ ロ ア プ ラ ン
パーテ ィ シ ョ ン を フ ロ アプ ラ ンす る か ど う かを判断す る には、 次を参照 し て く だ さ い。
•
「パーテ ィ シ ョ ン を使用す る 状況の判断」
[Netlist] ビ ュ ーでパーテ ィ シ ョ ン を 1 つずつ選択 し て、 各パーテ ィ シ ョ ン に対 し て Pblock を作成
で き ます。PlanAhead ソ フ ト ウ ェ アで Pblock を作成す る と 、AREA_GROUP 制約が定義 さ れます。
Pblock を作成す る には、 次の手順に従い ます。
1. パーテ ィ シ ョ ン イ ン ス タ ン ス を右 ク リ ッ ク し ます。
2. [Draw Pblock] を ク リ ッ ク し ます。
3. [Device] ビ ュ ーで、 各パーテ ィ シ ョ ン を配置す る 矩形を描 き ます。
PlanAhead ソ フ ト ウ ェ アでモジ ュ ールを フ ロ アプ ラ ンす る 方法の詳細は、 付録 A 「その他の リ ソ ー
ス」 に リ ス ト さ れてい る 『PlanAhead チ ュ ー ト リ アル : デザ イ ン解析 と フ ロ アプ ラ ン』 (UG676) を
参照 し て く だ さ い。
46
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
パーテ ィ シ ョ ン デザイ ンの合成
パーテ ィ シ ョ ン デザイ ンの合成
パーテ ィ シ ョ ン を含むデザ イ ン を合成す る には、 次の手順に従い ます。
1. RTL プ ロ ジ ェ ク ト を作成 し ます。
2. RTL デザ イ ン を表示 し てパーテ ィ シ ョ ン を定義 し ます。
3. [Synthesize] を ク リ ッ ク し ます。
XST がデフ ォ ル ト の イ ン ク リ メ ン タ ル手法を使用 し て実行 さ れ ま す。 各パーテ ィ シ ョ ン に個別の
NGC フ ァ イ ルが生成 さ れます。
合成を実行す る 前に合成オプシ ョ ン を変更す る には、 次の手順に従い ます。
1. [Synthesize] ボ タ ンの右側の矢印を ク リ ッ ク し ます。
2. [Synthesis Settings] を ク リ ッ ク し ます。
3. 設定を変更 し ます。
パーテ ィ シ ョ ン デザイ ンのイ ン プ リ メ ン ト
パーテ ィ シ ョ ン を含むデザ イ ン を イ ンプ リ メ ン ト す る には、 次のいずれかのセ ク シ ョ ンの手順に従
います。
•
初心者ユーザー
•
上級ユーザー
初心者ユーザー
こ のセ ク シ ョ ンは、 次のユーザー用です。
•
初心者ユーザー
•
最小限のセ ッ ト ア ッ プを使用す る ユーザー
パーテ ィ シ ョ ン を含むデザ イ ン を イ ンプ リ メ ン ト す る には、 次の手順に従い ます。
1. [Implement] を ク リ ッ ク し ます。
2. イ ンプ リ メ ン テーシ ョ ン ツールがデフ ォル ト の ス ト ラ テジ を使用 し て実行 さ れます。
デフ ォ ル ト の ス ト ラ テジは、 通常次の ツールの ISE Design Suite でのデフ ォ ル ト 設定です。
•
NGDBuild
•
MAP
•
PAR
•
TRACE
イ ンプ リ メ ン テーシ ョ ン を実行す る 前に イ ンプ リ メ ン テーシ ョ ン オプシ ョ ン を変更する には、次の
手順に従い ます。
1. [Implement] ボ タ ンの右側の矢印を ク リ ッ ク し ます。
2. [Implementation Settings] を ク リ ッ ク し ます。
3. 設定を変更 し ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
47
第 5 章 : PlanAhead でのパーテ ィ シ ョ ン フ ロー
上級ユーザー
こ のセ ク シ ョ ンは、 上級ユーザー用です。
パーテ ィ シ ョ ン を含むデザ イ ン を イ ンプ リ メ ン ト す る には、 次の手順に従い ます。
1. [Implement] ボ タ ンの右側の矢印を ク リ ッ ク し ます。
2. [Create New Implementation Runs] を ク リ ッ ク し ます。
こ のオプシ ョ ンは、 次の よ う に使用で き ます。
•
異な る イ ンプ リ メ ン テーシ ョ ン オプシ ョ ン を使用 し て、複数の イ ンプ リ メ ン テーシ ョ ン実行を
作成で き ます。
•
SmartXplorer の実行に似てい ます。
イ ンプ リ メ ン テーシ ョ ンの結果は、 次の場所に示 さ れます。
•
[Compilation] ビ ュ ー
•
ス テー タ ス バー
•
[Window] → [Design Runs] を ク リ ッ ク
イ ンプ リ メ ン テーシ ョ ンが完了 し た ら 、 次の操作を実行 し ます。
1. [Implemented Design] を ク リ ッ ク し て結果を読み込みます。
2. パーテ ィ シ ョ ンが適切に定義 さ れてお り 、 イ ンプ リ メ ン テーシ ョ ン ツールで使用 さ れてい る か
ど う かを確認 し ます。
パーテ ィ シ ョ ンのプ ロ モー ト
パーテ ィ シ ョ ン を合成ま たは イ ンプ リ メ ン ト し た ら 、 今後の実行で イ ン ポー ト で き る よ う プ ロ モー
ト す る 必要があ り ます。 PlanAhead ソ フ ト ウ ェ アでパーテ ィ シ ョ ン を プ ロ モー ト する のは、 コ マン
ド ラ イ ン フ ロ ーでパーテ ィ シ ョ ン をエ ク ス ポー ト す る の と 同 じ です。
ア ク テ ィ ブ な 実行 か ら パ ー テ ィ シ ョ ン を プ ロ モ ー ト す る に は、 Flow Navigator で [Promote
Partitions] ボ タ ン を ク リ ッ ク し ます。
実行結果を プ ロ モー ト し ない と 、 実行を リ セ ッ ト し た と き に現在のパーテ ィ シ ョ ンが失われます。
結果を プ ロ モー ト し た ら 、現在の実行を リ セ ッ ト し て、再実行を必要なだけ繰 り 返 し ます。プ ロ モー
ト さ れた結果は、 パーテ ィ シ ョ ンが変更 さ れていなければ イ ン ポー ト さ れます。 新 し い結果を プ ロ
モー ト す る と 、 現在プ ロ モー ト さ れてい る デー タ が上書 き さ れます。
複数の実行お よ びプ ロ モー ト さ れたデー タ の管理については、 付録 A 「その他の リ ソ ース」 に リ ス
ト さ れてい る 『PlanAhead ソ フ ト ウ ェ ア チ ュ ー ト リ アル : デザ イ ン保持の利用』 (UG747) を参照 し
て く だ さ い。
パーテ ィ シ ョ ン属性の管理
次のパーテ ィ シ ョ ン属性を変更で き ます。
•
[Action]
パーテ ィ シ ョ ン を イ ンプ リ メ ン ト す る か イ ン ポー ト す る かを指定 し ます。
48
•
[Implement] : パーテ ィ シ ョ ン を合成ま たは イ ンプ リ メ ン ト し ます。
•
[Import] : 以前の実行を イ ン ポー ト し ます。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
パーテ ィ シ ョ ン属性の管理
•
[Import From]
イ ン ポー ト す る パーテ ィ シ ョ ンの場所を指定 し ます。 [Action] を [Implement] に設定 し た場合
は、 こ の値は [N/A] に設定 し ます。
•
[Preservation]
パーテ ィ シ ョ ン を イ ン ポー ト す る 際の保持 レ ベルを 指定 し ま す。 指定で き る 値は次の と お り
です。
•
[Routing] (デフ ォル ト )
•
[Placement]
•
[Synthesis]
[Action] お よび [Import From] フ ィ ール ド の管理
パーテ ィ シ ョ ン を プ ロ ポー ト す る と 、 自動的に次の よ う に設定 さ れます。
•
[Action] を [Import] に設定
•
[Import From] をパーテ ィ シ ョ ン を プ ロ モー ト し た場所に設定
自動管理のオ フ
こ の自動管理機能を オ フ にす る には、 [Promote Partitions] ダ イ ア ロ グ ボ ッ ク ス で [Automatically
manage Partition action and import location] チ ェ ッ ク ボ ッ ク ス を オフ に し ます。
パーテ ィ シ ョ ンの再イ ン プ リ メ ン ト が必要にな っ た場合
PlanAhead ソ フ ト ウ ェ アでは、 パーテ ィ シ ョ ンの再 イ ンプ リ メ ン ト が必要にな っ た場合、 [Action]
フ ィ ール ド は自動的には [Implement] に戻 さ れません。
プ ロ モー ト さ れたパーテ ィ シ ョ ンは、 次の よ う な場合に再 イ ンプ リ メ ン ト が必要にな り ます。
•
ソ ース フ ァ イ ル (HDL ま たはネ ッ ト リ ス ト ) がア ッ プデー ト さ れた場合
•
パーテ ィ シ ョ ンに関連す る 物理制約が変更 さ れた場合
こ れ ら はプ ロ モー ト さ れた イ ンプ リ メ ン テーシ ョ ン デー タ にのみ影響 し 、プ ロ モー ト さ れた合
成デー タ には影響 し ません。
再 イ ンプ リ メ ン ト が必要な状態にな る と 、 ソ ース がプ ロ モー ト さ れてい る デー タ と 一致せず、 次の
よ う な NGDBuild エ ラ ーが生成 さ れます。
ERROR:NgdBuild:1037 - The logic for imported Partition '/top/
Express_Car'
using previous implementation
'../../project_1.promote/Ximpl_1/top_prev_built.ngd'
has been modified.This situation can occur when the source for the
Partition was modified but the Partition was not re-implemented
and exported.
You must re-implement and export the Partition before it can be
imported into this design.
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
49
第 5 章 : PlanAhead でのパーテ ィ シ ョ ン フ ロー
Preservation 属性の管理
PlanAhead ソ フ ト ウ ェ アでは、Preservation 属性は管理 さ れません。手動で管理する 必要があ り ます。
1. [Implement] ボ タ ンの右側の矢印を ク リ ッ ク し 、 [Specify Partitions] を ク リ ッ ク し ます。
2. [Specify Partition] ダ イ ア ロ グ ボ ッ ク ス で [Preservation] の設定を変更 し ます。
合成 と イ ンプ リ メ ン テーシ ョ ンのパーテ ィ シ ョ ン属性は独立 し てお り 、 個別に設定 し ます。 合成 と
イ ンプ リ メ ン テーシ ョ ンの両方で属性値を変更す る 必要があ る 場合 も あ り ます。
デザイ ン実行の管理
デザ イ ンは、 次の場合に再 イ ンプ リ メ ン ト さ れます。
•
デザ イ ンが変更 さ れてい る 。
•
パーテ ィ シ ョ ンの ス テー ト が正 し く 設定 さ れてい る 。
推奨 さ れる フ ロ ー
デザ イ ン保持に推奨 さ れ る フ ロ ーは、 次の と お り です。
1. 1 つのデザ イ ン実行 (impl_1) を保持 し ます。
2. 必要に応 じ てプ ロ モー ト お よ び再 イ ンプ リ メ ン ト を繰 り 返 し ます。
デザイ ンの再イ ン プ リ メ ン テーシ ョ ン
イ ン プ リ メ ン テーシ ョ ン を プ ロ モー ト し た後、 [Implement] を ク リ ッ ク し てデザ イ ン を再 イ ン プ リ
メ ン ト し ます。
デザ イ ン を再 イ ンプ リ メ ン ト す る と 、 次の処理が実行 さ れます。
•
実行デー タ が リ セ ッ ト さ れます。
•
イ ンプ リ メ ン テーシ ョ ン ツールが起動 し ます。
•
パーテ ィ シ ョ ン設定に従っ てパーテ ィ シ ョ ンが イ ン ポー ト さ れます。
結果のプ ロ モー ト
イ ンプ リ メ ン テーシ ョ ンが問題な く 終了 し た ら 、 その結果を プ ロ モー ト で き ます。 以前にプ ロ モー
ト さ れていた結果は上書 き さ れ る ので、デザ イ ン パーテ ィ シ ョ ンに存在す る promote デ ィ レ ク ト リ
は 1 つのみです。
複数のプ ロ モー ト 場所を作成 し 、 複数の場所か ら パーテ ィ シ ョ ン を イ ン ポー ト す る よ う に し た方が
有益な場合 も あ り ます。 その場合は、 正 し い結果が得 ら れ る よ う プ ロ モー ト 場所お よ び イ ン ポー ト
場所を適切に管理 し て く だ さ い。
50
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第6章
デザイ ン保持 フ ロー
デザ イ ン保持を使用す る と 、 次の よ う な利点があ り ます。
•
タ イ ミ ン グ ク ロージ ャ 段階での イ ンプ リ メ ン テーシ ョ ンの実行回数を削減で き ます。
デザ イ ンの一部で タ イ ミ ン グが満た さ れた ら 、 その イ ンプ リ メ ン テーシ ョ ン結果 (配置お よ び
配線) を次の実行で使用 し ます。
•
完成 し 、 タ イ ミ ン グ を満た し てい る 部分が、 デザ イ ンのほかの部分を変更 し た と き に影響を受
け る のを防ぎ ます。
•
パーテ ィ シ ョ ン を使用 し てモジ ュ ール
保持 し ます。
イ ン ス タ ン ス の以前の イ ンプ リ メ ン テーシ ョ ン結果を
パーテ ィ シ ョ ン を適切に使用す る と 、 次の よ う な利点があ り ます。
•
デザ イ ンの実行回数が削減 さ れます。
•
タ イ ミ ン グ ク ロ ージ ャ 段階の時間を短縮 し ます。
•
変更 さ れていない イ ン ス タ ン ス を再検証す る 必要がな く な り ます。
イ ン プ リ メ ン テーシ ョ ンのラ ン タ イム
デザ イ ン の一部 を保持 し た場合、 イ ン プ リ メ ン テーシ ョ ン の ラ ン タ イ ム は次の条件に よ り 異な り
ま す。
•
イ ンプ リ メ ン ト さ れ る モジ ュ ール
•
保持 さ れ る モジ ュ ール
イ ンプ リ メ ン ト さ れ る モジ ュ ールの タ イ ミ ン グ要件が厳 し い場合、 ラ ン タ イ ムが長 く な り ます。
次の よ う な場合は、 ラ ン タ イ ムは短 く な り ます。
•
イ ンプ リ メ ン ト さ れ る モジ ュ ールの タ イ ミ ン グ を簡単に満たす こ と がで き る 。
•
ク リ テ ィ カル パ ス が保持 さ れ る モジ ュ ールに含まれてい る 。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
51
第 6 章 : デザイ ン保持 フ ロー
コ マ ン ド ラ イ ン フ ロー
こ のセ ク シ ョ ンでは、 コ マン ド ラ イ ン フ ロ ーについて説明 し ます。 次の内容が含まれます。
•
ユーザーに よ る 管理
•
デザ イ ン保持フ ロ ー
ユーザーに よ る管理
コ マ ン ド ラ イ ンか ら デザ イ ン保持フ ロ ーを実行す る 際は、次を ユーザーが管理す る 必要があ り ます。
•
ど のモジ ュ ールがア ッ プデー ト さ れたか。
•
ど のパーテ ィ シ ョ ン を イ ンプ リ メ ン ト し 、 ど のパーテ ィ シ ョ ン を イ ン ポー ト す る のか。
次のガ イ ド ラ イ ンに従っ て く だ さ い。
•
テキ ス ト エデ ィ ターま たは XML エデ ィ タ ーで PXML フ ァ イ ルを変更 し ます。
•
こ の フ ロ ーを実行す る のに特別な イ ンプ リ メ ン テーシ ョ ン オプシ ョ ンは必要あ り ません。
•
PXML フ ァ イ ルを イ ンプ リ メ ン テーシ ョ ン を実行す る デ ィ レ ク ト リ に配置 し ます。
PXML フ ァ イ ルの作成お よ び管理の詳細は、 次を参照 し て く だ さ い。
•
第 4 章 「 コ マン ド ラ イ ンでのパーテ ィ シ ョ ン フ ロ ー」
デザイ ン保持フ ロー
デザ イ ン保持フ ロ ーは、 次の よ う に実行 し ます。
1. デザ イ ン サ イ ク ルの初期段階でデザ イ ンのパーテ ィ シ ョ ン を定義 し ます。
2. デザ イ ン コ ー ド を記述 し ます。
3. イ ン ク リ メ ン タル合成フ ローま たはボ ト ム ア ッ プ合成フ ローを使用し てデザ イ ン を合成し ます。
サポー ト さ れ る 合成ツールお よ びフ ロ ーの詳細は、 次を参照 し て く だ さ い。
•
第 3 章 「合成パーテ ィ シ ョ ン フ ロ ー」
4. PXML フ ァ イ ルですべてのパーテ ィ シ ョ ンの ス テー ト を implement に設定 し てデザ イ ン を イ
ンプ リ メ ン ト し ます。
5. パーテ ィ シ ョ ンで タ イ ミ ン グが満た さ れた ら 、その結果を今後の実行用にエ ク ス ポー ト し ます。
6. バグの修正や機能の向上のためにデザ イ ン を変更 し た ら 、 変更 し たパーテ ィ シ ョ ン を再 イ ンプ
リ メ ン ト し ます。
7. ネ ッ ト リ ス ト レベルで変更 さ れていないパーテ ィ シ ョ ンは、 イ ン ポー ト し て配置配線情報を保
持 し ます。
8. イ ン ポー ト
デ ィ レ ク ト リ で指定 さ れたパーテ ィ シ ョ ンに完全に一致 し ないパーテ ィ シ ョ ン を
イ ン ポー ト し よ う と す る と 、NGDBuild ツールでエ ラ ー メ ッ セージが表示 さ れます。こ の場合、
パーテ ィ シ ョ ンの ス テー ト を implement に変更する 必要があ り ます。
9. パーテ ィ シ ョ ン モジ ュ ールが完了 し 、 タ イ ミ ン グが満た さ れていれば、 デザ イ ンのほかの部分
を変更 し てい る 間、 継続 し て イ ン ポー ト で き ます。
52
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
PlanAhead フ ロー
PlanAhead フ ロー
こ のセ ク シ ョ ンでは、デザ イ ン を保持す る ために PlanAhead™ ソ フ ト ウ ェ ア を使用す る 方法を説明
し ます。 デザ イ ン保持フ ロ ーは、 パーテ ィ シ ョ ン ベース の フ ロ ーです。
詳細は、 次を参照 し て く だ さ い。
•
第 5 章 「PlanAhead でのパーテ ィ シ ョ ン フ ロ ー」
•
『デザ イ ン保持の利用』 (UG747) (付録 A 「その他の リ ソ ース」 に リ ン ク を リ ス ト )
PlanAhead でのデザ イ ン保持フ ロ ーの手順は、 次の と お り です。
1. 次の も のを追加 し て レ ジ ス タ ト ラ ン ス フ ァ ー レベル (RTL) PlanAhead プ ロ ジ ェ ク ト を作成 し
ます。
•
RTL コ ー ド
•
ユーザー制約フ ァ イ ル (UCF)
2. Flow Navigator で [RTL Design] を ク リ ッ ク し て RTL デザ イ ン を エ ラ ボ レー ト し ます。
3. 次のいずれかの方法でパーテ ィ シ ョ ン を定義 し ます。
•
PlanAhead ソ フ ト ウ ェ ア を使用す る 。
•
既存の PXML フ ァ イ ルを イ ン ポー ト す る 。
4. すべてのパーテ ィ シ ョ ンの ス テー ト を implement に設定 し てデザ イ ン を合成 し ます。
各パーテ ィ シ ョ ンに個別の NGC フ ァ イ ルが作成 さ れます。
5. 必要に応 じ て次の制約を作成 し ます。
•
•
次の よ う な タ イ ミ ン グ制約
-
PERIOD
-
OFFSET IN/OUT
次の よ う な フ ロ アプ ラ ン制約
-
I/O ピ ンの LOC
-
AREA_GROUP
6. すべてのパーテ ィ シ ョ ンの ス テー ト を implement に設定 し てデザ イ ン を イ ン プ リ メ ン ト し
ま す。
7. 適切な ス タ テ ィ ッ ク およ びダ イ ナ ミ ッ ク タ イ ミ ン グ結果が得 ら れたパーテ ィ シ ョ ンの合成結果
および イ ンプ リ メ ン テーシ ョ ン結果をプ ロ モー ト し ます。
8. プ ロ モー ト し たパーテ ィ シ ョ ン を イ ン ポー ト し 、 合成お よ び イ ンプ リ メ ン テーシ ョ ン を繰 り 返
し ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
53
第 6 章 : デザイ ン保持 フ ロー
ネ ッ ト リ ス ト フ ロー
次に、 ネ ッ ト リ ス ト フ ローの手順を示 し ます。
1. PlanAhead ソ フ ト ウ ェ ア外で、 デザ イ ンのボ ト ム ア ッ プ合成ま たは イ ン ク リ メ ン タ ル合成を実
行 し ます。
2. 次の よ う にネ ッ ト リ ス ト ベース の PlanAhead プ ロ ジ ェ ク ト を作成 し ます。
•
手順 1 の合成結果を使用 し ます。
•
既存の UCF 制約フ ァ イ ルを読み込みます。
3. 次のいずれかの方法でパーテ ィ シ ョ ン を定義 し ます。
•
PlanAhead ソ フ ト ウ ェ ア を使用す る 。
•
既存の PXML フ ァ イ ルを イ ン ポー ト す る 。
4. 必要に応 じ て次の制約を作成 し ます。
•
•
次の よ う な タ イ ミ ン グ制約
-
PERIOD
-
OFFSET IN/OUT
次の よ う な フ ロ アプ ラ ン制約
-
I/O ピ ンの LOC
-
AREA_GROUP
5. すべてのパーテ ィ シ ョ ンの ス テー ト を implement に設定 し てデザ イ ン を イ ン プ リ メ ン ト し
ま す。
6. 適切な結果が得 ら れたパーテ ィ シ ョ ンの イ ンプ リ メ ン テーシ ョ ン結果を プ ロ モー ト し ます。
適切な結果が得 ら れたパーテ ィ シ ョ ン と は、適切な ス タ テ ィ ッ ク お よ びダ イ ナ ミ ッ ク タ イ ミ ン
グ結果が得 ら れたパーテ ィ シ ョ ンです。
7. PlanAhead ソ フ ト ウ ェ ア外で合成を繰 り 返 し ます。
8. PlanAhead ソ フ ト ウ ェ ア を使用 し て、 プ ロ モー ト し たパーテ ィ シ ョ ン を イ ンポー ト し 、 イ ンプ
リ メ ン テーシ ョ ン を繰 り 返 し ます。
54
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第7章
チーム デザイ ン フ ロー
チーム デザ イ ン フ ロ ーは、 次の よ う な フ ロ ーです。
•
階層デザ イ ン手法です。
•
パーテ ィ シ ョ ン を使用 し て、 複雑な大型デザ イ ン を小型の論理ブ ロ ッ ク に分割 し ます。
こ れ ら のブ ロ ッ ク は、 個別に平行 し て イ ンプ リ メ ン ト で き ます。 こ の手法を使用す る と 、 デザ イ ン
のほかの部分を含む コ ン テキ ス ト で、 各ブ ロ ッ ク を個別に設計、 イ ンプ リ メ ン ト 、 お よ び検証で き
ます。
すべてのブ ロ ッ ク が完了 し た ら 、 その結果を イ ン ポー ト し てデザ イ ン アセ ンブ リ を実行 し ます。
チーム デザイ ン フ ローのチーム
チーム デザ イ ン フ ロ ーのチームは、 次の メ ンバーで構成 さ れます。
•
1 人のチーム リ ーダー (TL)
•
1 人ま たは複数のチーム メ ンバー (TM)
チーム リ ーダー
チーム リ ーダーには、 次の よ う な設計者をお勧め し ます。
•
ISE® Design Suite ソ フ ト ウ ェ アの使用経験が豊富
•
タ ーゲ ッ ト アーキテ ク チ ャ に関する 知識があ る
チーム リ ーダーの役割 り は、 次の と お り です。
•
最上位 ロ ジ ッ ク を設計、 合成、 イ ンプ リ メ ン テーシ ョ ン、 お よ び検証 し ます。
•
タ イ ミ ン グ制約お よ びフ ロ アプ ラ ン制約含む最上位 UCF ( ユーザー制約フ ァ イ ル) を作成 し
ま す。
•
最後にデザ イ ン を アセンブル し ます。
チーム メ ンバー
チーム メ ンバーの数に特に制限はあ り ま せん。 通常チーム メ ンバーの数は、 デザ イ ン を分割す る
ブ ロ ッ ク の数にな り ます。
チーム メ ンバーの役割 り は、 次の と お り です。
•
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
割 り 当て ら れたパーテ ィ シ ョ ン を設計、 合成、 イ ンプ リ メ ン テーシ ョ ン、 お よ び検証 し ます。
japan.xilinx.com
55
第 7 章 : チーム デザイ ン フ ロー
チーム デザイ ン フ ローの概要
チーム デザ イ ン フ ロ ーには、 次の よ う な特徴があ り ます。
•
パーテ ィ シ ョ ン を使用 し て各モジ ュ ールの タ イ ミ ン グ ク ロ ージ ャ お よび検証を個別に実行 し 、
各チーム メ ンバー ブ ロ ッ ク を最終デザ イ ンに イ ン ポー ト し ます。
•
各チーム メ ンバーが定期的に最新バージ ョ ン をパブ リ ッ シ ュ し 、 チーム リ ーダーがそれ ら を
アセ ンブルす る プ ロ セ ス を繰 り 返 し ます。
•
デザ イ ン サ イ ク ルの初期段階でパーテ ィ シ ョ ン イ ン タ ーフ ェ イ ス での タ イ ミ ン グの問題を特
定 し 、 修正で き ます。
デザ イ ンが最終段階に近づ き 、 各パーテ ィ シ ョ ンの配置が最適化 さ れた ら 、 最終アセンブ リ ですべ
てのパーテ ィ シ ョ ン を イ ン ポー ト し ます。
最終アセ ンブ リ で タ イ ミ ン グが満た さ れない場合は、 次の処理を実行 し ます。
•
一部の'パーテ ィ シ ョ ンの保持レベルを緩和 し ます。
•
一部のパーテ ィ シ ョ ンの ス テー ト を implement に設定 し ます。
既にアセ ンブル さ れたデザ イ ン も 、 同様の方法でア ッ プデー ト で き ます。 再 イ ンプ リ メ ン ト が必要
なのはア ッ プデー ト さ れたパーテ ィ シ ョ ン のみで、 ト ッ プ を 含むその他のパーテ ィ シ ョ ン は イ ン
ポー ト で き ます。
56
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
チーム デザイ ン フ ローのセ ッ ト ア ッ プ
チーム デザイ ン フ ローのダ イ アグ ラ ム
X-Ref Target - Figure 7-1
䝕䝄䜲䞁䛾䝉䝑䝖䜰䝑䝥
䝏䞊䝮㻌䝰䝆䝳䞊䝹䛾㻌
䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁
䝏䞊䝮㻌䝰䝆䝳䞊䝹䛾㻌
䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁
䝏䞊䝮㻌䝰䝆䝳䞊䝹䛾㻌
䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁
䝏䞊䝮㻌䝰䝆䝳䞊䝹䛾㻌
䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁
䝏䞊䝮㻌䝸䞊䝎䞊䛻䜘䜛㻌
䜰䝉䞁䝤䝹
䝕䝄䜲䞁㻌䜸䝥䝅䝵䞁㻌
䛾ኚ᭦
䝕䝄䜲䞁䛜㻌
᏶ᡂ䛧䛯䛛
䝰䝆䝳䞊䝹㻌䜸䝥䝅䝵䞁㻌
䜎䛯䛿㻌㻴㻰㻸㻌䛾ኚ᭦
䛔䛔䛘
䛿䛔
⤊஢
;
図 7-1 : チーム デザイ ン フ ローのダ イ アグ ラ ム
チーム デザイ ン フ ローのセ ッ ト ア ッ プ
チーム リ ーダーがチーム デザ イ ン フ ロ ーを セ ッ ト ア ッ プする こ と をお勧め し ます。
チーム デザ イ ン フ ロ ーのセ ッ ト ア ッ プには、 次の手順があ り ます。
•
階層の定義
•
RTL の作成
•
プ ロ ジ ェ ク ト の設定
•
初期合成
•
制約の定義
•
初期 イ ンプ リ メ ン テーシ ョ ン
•
プ ロ モー ト ま たはエ ク ス ポー ト
•
プ ロ ジ ェ ク ト の配布
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
57
第 7 章 : チーム デザイ ン フ ロー
チーム デザイ ン フ ローのセ ッ ト ア ッ プのダ イ アグ ラ ム
X-Ref Target - Figure 7-2
㝵ᒙ䛾ᐃ⩏
㻔䝟䞊䝔䜱䝅䝵䞁䜢⪃៖㻕
㻾㼀㻸㻌䛾సᡂ
䝥䝻䝆䜵䜽䝖䛾㻌
䝉䝑䝖䜰䝑䝥
ྜᡂ
ไ⣙䛾ᐃ⩏䛸㻌
䝣䝻䜰䝥䝷䞁
䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁
䝥䝻䝰䞊䝖㻛㻌
䜶䜽䝇䝫䞊䝖
䝥䝻䝆䜵䜽䝖䛾㓄ᕸ
;
図 7-2 : チーム デザイ ン フ ローのセ ッ ト ア ッ プ
階層の定義
適切な階層には、 次の よ う な特徴があ り ます。
•
最適化お よ びパ ッ ク の制限に よ る 影響を最小限に抑え ます。
•
デザ イ ンが正 し く イ ンプ リ メ ン テーシ ョ ンで き る か ど う かに重要な役割を果た し ます。
•
チーム メ ンバーのパーテ ィ シ ョ ン を定義する ため、階層レベルを追加 し てはっ き り と し た境界
を定義す る 必要があ る 場合があ り ます。
チーム リ ーダーがデザ イ ンのプ ラ ン を立て、 パーテ ィ シ ョ ン を定義 し ます。
RTL の作成
初期設定では、 次を含む最小限のデザ イ ンが必要です。
58
•
すべての I/O ポー ト を含む最上位モジ ュ ール
•
すべてのチーム メ ンバー ブ ロ ッ ク の イ ン ス タ ン シエーシ ョ ン を含む正 し い階層
•
可能な限 り 多 く のグ ロ ーバル ロ ジ ッ ク ( ク ロ ッ ク お よ び リ セ ッ ト )
•
最上位の IP コ ア ( オプシ ョ ン )
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
チーム デザイ ン フ ローのセ ッ ト ア ッ プ
各チー ム メ ン バー ブ ロ ッ ク は、 ブ ラ ッ ク ボ ッ ク ス か ら 完全な レ ジ ス タ ト ラ ン ス フ ァ ー レ ベル
(RTL) ま でを使用で き ます。 ポー ト の幅 と 方向を定義する ため、 モジ ュ ールま たは コ ン ポーネ ン ト
宣言が必要です。
プ ロ ジ ェ ク ト の設定
ISE Design Suite お よ び PlanAhead™ ソ フ ト ウ ェ アの両方で、 チーム デザ イ ン フ ロ ーがサポー ト
さ れます。 ど ち ら で も 、 あ る 程度の初期設定が必要にな り ます。 次を決定す る 必要があ り ます。
•
コ マ ン ド ラ イ ン フ ロ ーま たは PlanAhead ソ フ ト ウ ェ ア フ ロ ー
•
合成ツール
•
合成の タ イ プ
•
合成お よ び イ ンプ リ メ ン テーシ ョ ンのオプシ ョ ン
•
ソ ース制御
チーム デザ イ ン フ ロ ーでは、 ソ ース を柔軟に管理で き ます。 各チーム メ ンバーがそれぞれの ソ ー
ス フ ァ イ ルを管理す る こ と をお勧め し ます。 こ れには、 次の よ う に し ます。
•
バージ ョ ン管理シ ス テ ム を使用 し ます。
•
各チーム メ ンバーが ローカルにサ ン ド ボ ッ ク ス を用意 し 、 必要に応 じ てア ッ プデー ト し ます。
コ マ ン ド ラ イ ン フ ロ ーお よ び PlanAhead ソ フ ト ウ ェ ア フ ローの両方で、 こ の方法がサポー ト さ れ
てい ます。 PlanAhead ソ フ ト ウ ェ ア を使用 し てい る 場合、 ソ ース を プ ロ ジ ェ ク ト に コ ピーで き る の
で、 すべてのチーム メ ンバーが共通 ソ ース を ロ ーカルに コ ピー し て使用で き ます。
こ の よ う にす る と 、 ほかのチーム メ ンバーに影響を与えずに ソ ース を ア ッ プデー ト で き ます。 すべ
てのチーム メ ンバーが同 じ ソ ー ス を使用す る 場合、 ソ ース を変更す る と すべてのチーム メ ンバー
に影響 し ます。 ソ ース の変更に よ り 、 エ ク ス ポー ト さ れた イ ンプ リ メ ン テーシ ョ ン デー タ が最新で
はな く な り ます。 上記の推奨事項に従 う と 、 共通の リ ポジ ト リ を ア ッ プデー ト す る 前に変更を テ ス
ト お よ び検証で き ます。
初期合成
初期合成では、 すべてのモジ ュ ールが正 し く 定義 さ れてい る こ と を確認 し ます。
チーム メ ンバーのモジ ュ ールには、 次の状態の も の を使用で き ます。
•
完全な RTL ま たは部分的な RTL
•
ブ ラ ッ ク ボ ッ ク ス のモジ ュ ール定義
チーム デザ イ ン フ ロ ーでは各ブ ロ ッ ク を個別に作業す る ので、 次の要件があ り ます。
•
フ ラ ッ ト ト ッ プダ ウ ン合成フ ロ ーは使用で き ません。
•
次のいずれかの合成フ ロ ーを使用す る 必要があ り ます。
•
ボ ト ム ア ッ プ合成フ ロ ー
•
ト ッ プダ ウ ン イ ン ク リ メ ン タ ル合成フ ロ ー
ボ ト ム ア ッ プ合成では、チーム メ ンバーのパーテ ィ シ ョ ンは ト ッ プの コ ン テキ ス ト 外で合成 さ れ る
ので、 チーム メ ンバーは ト ッ プ用に合成済みネ ッ ト リ ス ト のみが必要です。 イ ンプ リ メ ン テーシ ョ
ンは、 コ ン テキ ス ト 内で実行 さ れます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
59
第 7 章 : チーム デザイ ン フ ロー
チーム デザ イ ン フ ロ ーは、ISE Design Suite でサポー ト さ れ る Xilinx Synthesis Technology (XST)
イ ン ク リ メ ン タ ル フ ロ ーに基づいてい ます。 こ の フ ロ ーでは各チーム メ ンバーのパーテ ィ シ ョ ン
は ト ッ プの コ ン テキ ス ト 内で合成 さ れ る ので、 各チーム メ ンバーは次が必要です。
•
最上位 HDL コ ー ド
•
すべてのチーム メ ンバーのパーテ ィ シ ョ ンで結果を保持す る ため、 合成中に最上位パーテ ィ
シ ョ ン を イ ン ポー ト で き ます。
詳細は、 次を参照 し て く だ さ い。
•
第 3 章 「合成パーテ ィ シ ョ ン フ ロ ー」
制約の定義
チーム リ ーダーが、 次を含む最上位ユーザー制約フ ァ イ ル (UCF) を作成 し ます。
•
•
•
次の よ う な I/O ロ ジ ッ ク 制約お よ び属性
•
I/O お よ び LOC 配置制約
•
IOSTANDARD タ イ ミ ン グ制約
•
OFFSET IN/OUT タ イ ミ ン グ制約
次の よ う なグ ロ ーバル ク ロ ッ ク の タ イ ミ ン グ制約お よ び配置制約
•
BUFG/PLL/MMCM の LOC 制約
•
PERIOD 制約
AREA_GROUP 制約を使用 し た各チーム メ ンバーのパーテ ィ シ ョ ンの配置
チーム リ ーダーは、 各パーテ ィ シ ョ ン が必要な リ ソ ー ス にア ク セ ス で き る よ う ク ロ ッ ク リ ソ ー ス
お よ びグ ロ ーバル リ ソ ース を管理す る 必要があ る ので、 チーム リ ーダーは タ ーゲ ッ ト アーキテ ク
チ ャ に関す る 知識が必要です。
初期イ ン プ リ メ ン テーシ ョ ン
チーム メ ンバーの イ ン プ リ メ ン テーシ ョ ン も 含め、 すべての イ ン プ リ メ ン テーシ ョ ンは最上位 ロ
ジ ッ ク の コ ン テキ ス ト 内で実行 し ます。 初期 イ ンプ リ メ ン テーシ ョ ンでは、 デザ イ ンのほ と ん ど の
部分が存在 し ていないので、 有益な配置お よ び タ イ ミ ン グ結果が得 ら れない場合があ り ます。
次の こ と を確認で き ます。
•
すべてのモジ ュ ールが正 し く 解決す る か。
•
パーテ ィ シ ョ ンが正 し く 定義 さ れてい る か。
•
すべての タ イ ミ ン グ制約 と 物理制約の構文が正 し いか。
ブ ラ ッ ク ボ ッ ク ス と し て定義 さ れてい る パーテ ィ シ ョ ンは、 合成 と イ ン プ リ メ ン テーシ ョ ン でサ
ポー ト さ れてお り 、 特別なオプシ ョ ンや属性は必要あ り ません。 チーム メ ンバーのパーテ ィ シ ョ ン
がすべてブ ラ ッ ク ボ ッ ク ス であ っ て も 、 パーテ ィ シ ョ ン フ ロ ーを使用す る ので、 こ れ ら のブ ロ ッ
ク を イ ンプ リ メ ン ト す る こ と は可能です。NGDBuild ツールでパーテ ィ シ ョ ンがブ ラ ッ ク ボ ッ ク ス
と し て イ ンプ リ メ ン ト さ れ る こ と を示す警告 メ ッ セージが表示 さ れます。
60
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
チーム デザイ ン フ ローのセ ッ ト ア ッ プ
プ ロ モー ト ま たはエ ク スポー ト
合成お よ び イ ン プ リ メ ン テーシ ョ ン の結果は、 ど の段階で も プ ロ モー ト ま たはエ ク ス ポー ト で き
ま す。
初期のデザ イ ン セ ッ ト ア ッ プ段階では、 ト ッ プ ま たはチーム メ ンバー モジ ュ ールの有益な イ ンプ
リ メ ン テーシ ョ ン デー タ はほ と んど あ り ませんが、最上位 ロ ジ ッ ク にパーテ ィ シ ョ ン さ れた完了 し
た IP コ アがあ る こ と も あ り ます。 各チーム メ ンバー パーテ ィ シ ョ ンは ト ッ プの コ ン テキ ス ト 内で
イ ンプ リ メ ン ト さ れ る ので、 IP コ ア を エ ク ス ポー ト し 、各チーム メ ンバーが イ ンプ リ メ ン テーシ ョ
ン を実行す る 際に イ ン ポー ト で き ます。
XST イ ン ク リ メ ン タ ル フ ロ ーでは、 チーム メ ンバーが最上位合成結果を イ ン ポー ト し 、 すべての
チーム メ ンバー パーテ ィ シ ョ ン が一定の最上位を使用で き る よ う に し ます。 ボ ト ム ア ッ プ合成フ
ロ ーでは、各チーム メ ンバーの合成は ト ッ プの コ ン テ キ ス ト 外で実行 さ れ る ので、こ れは不要です。
プ ロ ジ ェ ク ト の配布
次の時点でチーム リ ーダーが各チーム メ ンバーにプ ロ ジ ェ ク ト フ ァ イ ルを配布 し ます。
•
パーテ ィ シ ョ ンが定義 さ れた。
•
制約が作成 さ れた。
•
デザ イ ンが合成お よ び イ ンプ リ メ ン ト さ れた。
コ マ ン ド ラ イ ン でのプ ロ ジ ェ ク ト の配布
コ マ ン ド ラ イ ンでは、 プ ロ ジ ェ ク ト の配布に次の も のが含まれます。
•
合成プ ロ ジ ェ ク ト
•
HDL コ ー ド
•
UCF フ ァ イ ル
PlanAhead ソ フ ト ウ ェ ア でのプ ロ ジ ェ ク ト の配布
PlanAhead ソ フ ト ウ ェ アでは、 プ ロ ジ ェ ク ト の配布に次の も のが含まれます。
•
各チーム メ ンバー用のチーム リ ーダー プ ロ ジ ェ ク ト
チーム リ ーダーは、 [File] → [Save Project As] を ク リ ッ ク し て各チーム メ ンバー用に コ ピーを作
成 し ます。 こ れに よ り 、 すべてのチーム メ ンバーが同 じ デー タ に基づいて設計を開始で き ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
61
第 7 章 : チーム デザイ ン フ ロー
チーム メ ンバーの役割 り
各チーム メ ンバーの役割 り は、 それぞれのモジ ュ ールを開発 し て検証 し 、 タ イ ミ ン グ ク ロ ージ ャ
を達成す る こ と です。 こ のプ ロ セ スは、 デザ イ ン サ イ ク ル中繰 り 返 さ れます。
各チーム メ ンバーの手順は、 次の と お り です。
•
モジ ュ ールの開発お よ びア ッ プデー ト (チーム メ ンバー )
•
モジ ュ ールの合成 (チーム メ ンバー )
•
イ ンプ リ メ ン テーシ ョ ン (チーム メ ンバー )
•
エ ク ス ポー ト ま たはプ ロ モー ト (チーム メ ンバー )
•
イ ン ポー ト (チーム メ ンバー )
チーム メ ンバーの開発 フ ローのダ イ アグ ラ ム
X-Ref Target - Figure 7-3
䝰䝆䝳䞊䝹䛾㛤Ⓨ㻛㻌
䜰䝑䝥䝕䞊䝖
ྜᡂ
䜲䞁䝫䞊䝖
㻌
㻌䝸䞊䝎䞊䛾
䝏䞊䝮
䜰䝉䞁䝤䝸⤖ᯝ
䜲䞁䝫䞊䝖
㻌
㻌䝸䞊䝎䞊䛾
䝏䞊䝮
䜰䝉䞁䝤䝸⤖ᯝ
䝥䝻䝰䞊䝖㻛㻌
䜶䜽䝇䝫䞊䝖
䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁
䝥䝻䝰䞊䝖㻛㻌
䜶䜽䝇䝫䞊䝖
;
図 7-3 : チーム メ ンバーの開発フ ロー
モ ジ ュ ールの開発およびア ッ プデー ト ( チーム メ ンバー )
モジ ュ ールの開発お よ びア ッ プデー ト では、 HDL コ ー ド を作成お よ び変更 し ます。
チーム メ ンバーが次の操作を実行 し ます。
62
•
HDL コ ー ド を作成お よ び変更 し ます。
•
次の場合に変更をチーム リ ーダーに戻 し ます。
•
パーテ ィ シ ョ ンの イ ン タ ーフ ェ イ ス を変更 し た。
•
新 し い機能を イ ンプ リ メ ン ト し た。
•
チーム メ ンバー パーテ ィ シ ョ ンに変更があ る 。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
チーム メ ンバーの役割 り
チーム リ ーダーは、 次の操作を実行 し ます。
•
最上位を ア ッ プデー ト し ます。
•
ア ッ プデー ト し た最上位を各チーム メ ンバーに配布 し ます。
モ ジ ュ ールの合成 ( チーム メ ンバー )
各チーム メ ンバーのモジ ュ ールは、 次の よ う に合成で き ます。
•
ボ ト ム ア ッ プ フ ローを使用 し て ト ッ プか ら は独立 し て合成
チーム リ ーダーが イ ンプ リ メ ン テーシ ョ ン用に各チーム メ ンバーに最上位ネ ッ ト リ ス ト を配
布 し ます。
•
イ ン ク リ メ ン タ ル フ ローを使用 し て ト ッ プの コ ン テ キ ス ト で合成
•
ト ッ プの コ ンテキ ス ト でモジ ュールを合成する ため、 各チーム メ ンバーに最上位 HDL コー
ド が必要です。
•
各チーム メ ンバーがチーム リ ーダーの最新の実行結果を イ ンポー ト し 、すべての メ ンバー
で同 じ 実行結果が使用 さ れ る よ う に し ます。
イ ン プ リ メ ン テーシ ョ ン ( チーム メ ンバー )
チーム メ ンバーは、 それぞれのブ ロ ッ ク を最上位パーテ ィ シ ョ ンの コ ン テキ ス ト 内で実行 し ます。
次の事項に従 う こ と をお勧め し ます。
•
ほ と ん ど の場合、 最上位パーテ ィ シ ョ ン を implement に設定 し ます。
•
ほかのチーム メ ンバーのブ ロ ッ ク は、 ブ ラ ッ ク ボ ッ ク ス と し て イ ン ポー ト ま たは イ ンプ リ メ
ン ト し ます。
•
ほかのチーム メ ンバーのパーテ ィ シ ョ ンは、 すべてのパーテ ィ シ ョ ンの イ ン ターフ ェ イ ス タ
イ ミ ン グ を満た し たチーム リ ーダーのアセ ンブ リ 実行の も の を イ ンポー ト し ます。
ほかのチーム メ ンバーのパーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス と し て イ ン プ リ メ ン ト し てい る 場合
の タ イ ミ ン グ ク ロージ ャ については、 次を参照 し て く だ さ い。
•
第 1 章 「パーテ ィ シ ョ ン」 の 「ブ ラ ッ ク ボ ッ ク ス の使用法」
チーム メ ンバーは、 次を含む使用可能なすべての方法を使用 し て タ イ ミ ン グ ク ロ ージ ャ を達成 し
ます。
•
•
次の よ う な物理制約を作成
•
AREA_GROUP
•
LOC
次の よ う な特殊な タ イ ミ ン グ制約を作成
•
複数サ イ ク ル パ ス
•
フ ォ ルス パ ス
•
ソ フ ト ウ ェ ア オプシ ョ ン を使用
•
SmartXplorer を使用
チーム メ ンバー パーテ ィ シ ョ ン を イ ン ポー ト す る 場合は、 すべての制約をチーム リ ーダーに渡す
必要はあ り ませんが、 チーム リ ーダーがチーム メ ンバー パーテ ィ シ ョ ン を イ ンプ リ メ ン ト す る 場
合を考慮 し ていつで も 渡せ る 状態に し てお く 必要があ り ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
63
第 7 章 : チーム デザイ ン フ ロー
チーム メ ンバーがブ ロ ッ ク の新 し いバージ ョ ン をパブ リ ッ シ ュ し た ら 、 チーム リ ーダーは次の操
作を実行 し ます。
•
デザ イ ンの最新バージ ョ ン と 共に タ イ ミ ン グ を検証 し ます。
•
新 し い結果をすべてのチーム メ ンバーにエ ク ス ポー ト し ます。
各チーム メ ンバーは、 デザ イ ンが完成に近づ く ま では、 最上位を イ ンポー ト す る のではな く イ ンプ
リ メ ン ト し て イ ンプ リ メ ン テーシ ョ ン を実行す る こ と をお勧め し ます。 デザ イ ンが完成に近づいて
き た ら 、 イ ンポー ト す る か イ ンプ リ メ ン ト す る か を決定で き ます。
エ ク スポー ト ま たはプ ロ モー ト ( チーム メ ンバー )
最終ア セ ン ブ リ で予測 さ れない結果が得 ら れ る の を回避す る ため、 デザ イ ン プ ロ セ ス全体を通 し
て、 各チーム メ ンバーは結果をチーム リ ーダーにエ ク ス ポー ト ( コ マ ン ド ラ イ ン ) ま たはプ ロ モー
ト (PlanAhead ソ フ ト ウ ェ ア ) する こ と をお勧め し ます。 こ のプ ロ セ ス に よ り 、 発生す る 可能性のあ
る 問題を開発中に特定 し 、 修正で き ます。
イ ンポー ト ( チーム メ ンバー )
各チーム メ ンバーは、合成お よ び イ ンプ リ メ ン テーシ ョ ン時にほかのパーテ ィ シ ョ ン を イ ンポー ト
ま たは イ ンプ リ メ ン ト で き ます。 こ の操作には柔軟性があ り ますが、 各チーム メ ンバーが次の よ う
に操作す る こ と をお勧め し ます。
•
イ ン ク リ メ ン タ ル合成を使用す る 場合は、 合成で最上位パーテ ィ シ ョ ン を イ ンポー ト し ます。
•
デザ イ ンが完成に近づ き 、 アセ ンブ リ 実行か ら のエ ク ス ポー ト さ れた結果が最終デザ イ ンの配
置配線を正 し く 表す よ う にな る ま では、 イ ンプ リ メ ン テーシ ョ ンで最上位パーテ ィ シ ョ ン を イ
ンプ リ メ ン ト し ます。
•
イ ン ク リ メ ン タ ル合成を使用す る 場合は、合成でほかのチーム メ ンバーのブ ロ ッ ク を イ ンポー
ト し ます。
•
イ ンプ リ メ ン テーシ ョ ンでほかのチーム
ボ ッ ク ス と し ます。
メ ンバーのブ ロ ッ ク を イ ンポー ト す る か、 ブ ラ ッ ク
各チーム メ ンバーは、 ほかのチーム メ ンバーのブ ロ ッ ク を それぞれの メ ンバーか ら 直接 イ ン ポー
ト す る のではな く 、 プ ロ モー ト さ れたチーム リ ーダーのア セ ン ブ リ 実行の も の を イ ン ポー ト し ま
す。 こ れに よ り 、 すべてのチーム メ ンバーがデザ イ ンの同 じ バージ ョ ンに基づいて作業す る こ と を
確実にで き ます。
チーム リ ーダーの役割 り
チーム リ ーダーは、 アセ ンブ リ フ ロ ーを管理 し ます。 アセ ンブ リ フ ロ ーでは、 デザ イ ン を完全に
アセンブ リ し 、 次の状態に し ます。
•
配置配線を完了す る 。
•
タ イ ミ ン グ を満たす。
アセンブ リ は、 次の要素に よ っ て簡単な場合 と 困難な場合があ り ます。
64
•
デザ イ ンの密度お よ び速度
•
デザ イ ン フ ロ ーを通 し てチーム メ ンバーどれだけ緊密に作業 し たか
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
チーム リ ーダーの役割 り
アセ ン ブ リ は、 反復作業です。 チーム メ ンバーは、 新 し い結果が得 ら れ、 チーム リ ーダーお よ び
ほかのチーム メ ンバー と 共有で き る よ う にな っ た ら 、 チーム リ ーダーのアセ ン ブ リ 実行用にデー
タ を エ ク ス ポー ト し ます。
アセ ンブ リ 実行の結果に よ っ て、 チーム リ ーダーは次のいずれかの操作を実行 し ます。
•
チーム メ ンバー と 協力 し て問題を解決 し ます。
•
結果に問題がない場合は、 すべてのチーム メ ンバーにエ ク ス ポー ト し ます。
ア セ ン ブ リ フ ローのダ イ アグ ラ ム
X-Ref Target - Figure 7-4
᭱ୖ఩䛾⟶⌮
ྜᡂ
䜲䞁䝫䞊䝖
䝏䞊䝮㻌㻌
㻌
䝯䞁䝞䞊
䛾⤖ᯝ
䜲䞁䝫䞊䝖
䝏䞊䝮㻌㻌
䝯䞁䝞䞊㻌
䛾⤖ᯝ
䝥䝻䝰䞊䝖㻛㻌
䜶䜽䝇䝫䞊䝖
䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁
䝥䝻䝰䞊䝖㻛㻌
䜶䜽䝇䝫䞊䝖
;
図 7-4 : ア セ ン ブ リ フ ロー
最上位の管理 ( チーム リ ーダー )
最上位は、 チーム リ ーダーが開発 し て管理 し ます。
ト ッ プに どれだけの ロ ジ ッ ク があ る かに よ っ て、各チーム メ ンバーがそれぞれブ ロ ッ ク を開発 し て
い る 間、 チーム リ ーダー も デザ イ ン プ ロ セ ス全体を通 し て ト ッ プの開発を続け る 必要があ る 場合
も あ り ます。
ト ッ プに含まれてい る のが主に I/O と ク ロ ッ ク であ る 場合、初期デザ イ ン セ ッ ト ア ッ プの後に必要
な開発はそれほ ど あ り ません。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
65
第 7 章 : チーム デザイ ン フ ロー
合成 ( チーム リ ーダー )
イ ン ク リ メ ン タ ル XST フ ロ ーを使用 し てい る 場合は、 チーム リ ーダーは次を実行で き ます。
•
各チーム メ ンバーか ら 最新の RTL コ ー ド を取得 し 、 デザ イ ン全体を合成 し ます。
•
各チーム メ ンバーがエ ク ス ポー ト し た最新の合成結果を イ ンポー ト し ます。
デザ イ ン全体を再合成す る 必要がなければ、 最新の NGC フ ァ イ ルを イ ン ポー ト す る だけで十分で
す。 こ れに よ り 、 チーム リ ーダー と チーム メ ンバーの間での一貫性を保つ こ と がで き ます。
イ ン プ リ メ ン テーシ ョ ン ( チーム リ ーダー )
ア セ ン ブ リ 段階の イ ン プ リ メ ン テーシ ョ ン では、 各チーム メ ンバーか ら の最新の結果を使用 し ま
す。 チーム リ ーダーは、 次の操作を実行 し ます。
•
最上位パーテ ィ シ ョ ンの タ イ ミ ン グの問題を解決 し ます。
•
チーム メ ンバー パーテ ィ シ ョ ン間の タ イ ミ ン グの問題を特定 し ます。
•
制約フ ァ イ ルを管理 し ます。
チーム メ ンバーのユーザー制約フ ァ イル (UCF)
各チーム メ ンバーが、最上位 UCF のほかに UCF を使用 し てい る こ と があ り ます。チーム メ ンバー
の UCF には、 そのチーム メ ンバー ブ ロ ッ ク に特定の タ イ ミ ン グ制約お よ び配置制約が含まれてい
ます。
こ れ ら の制約をチーム リ ーダーの イ ンプ リ メ ン テーシ ョ ン に含め る には、 チーム リ ーダーは次の
いずれかの操作を実行 し ます。
•
フ ァ イ ルを手動で結合 し ます。
•
複数の UCF フ ァ イ ルを PlanAhead プ ロ ジ ェ ク ト に追加 し ます。
•
複数の UCF フ ァ イ ルを コ マン ド ラ イ ン (NGDBuild ツール) で指定 し ます。
複数の UCF フ ァ イ ルがあ る 場合は、 重複する 制約がない よ う にする必要があ り ます。 同 じ ロ ジ ッ ク
に対 し て異な る 値の 2 つの制約が設定 さ れてい る 場合、 イ ンプ リ メ ン テーシ ョ ン ツールで最後に読
み込まれた制約が使用 さ れます。 こ の競合に よ り 、 結果が予測 さ れない も のにな る こ と があ り ます。
チーム メ ンバー ブ ロ ッ ク のイ ン ポー ト またはイ ン プ リ メ ン ト
イ ンプ リ メ ン テーシ ョ ンでは、 チーム リ ーダーは各チーム メ ンバー ブ ロ ッ ク を イ ンプ リ メ ン ト ま
たは イ ン ポー ト し ます。
•
•
66
チーム メ ンバー ブ ロ ッ ク を イ ンプ リ メ ン ト す る と 、 次の よ う にな り ます。
•
ト ッ プを よ り 柔軟に配置で き ます。
•
デザ イ ン サ イ ク ルの初期段階では、 タ イ ミ ン グの問題を特定す る ために必要な場合があ り
ます。
各チーム メ ンバー ブ ロ ッ ク を イ ン ポー ト す る のは、 次の よ う な状態にな っ てか ら に し ます。
•
ブ ロ ッ ク が完成に近づいてい る 。
•
パーテ ィ シ ョ ン イ ン タ ーフ ェ イ ス の タ イ ミ ン グが満た さ れてい る 。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
チーム リ ーダーの役割 り
最終ア セ ン ブ リ
すべてのチーム メ ンバー ブ ロ ッ ク が完成 し た ら 、 最終アセ ン ブ リ を実行 し ます。 最終アセ ンブ リ
は、 次の よ う に実行 し ます。
•
各チーム メ ンバーのモジ ュ ールを イ ンポー ト し ます。
•
ト ッ プは、 タ イ ミ ン グ結果に よ っ て イ ンプ リ メ ン ト ま たは イ ン ポー ト し ます。
•
チーム メ ンバー ブ ロ ッ ク の保持レベルは緩和で き ます。
保持レベルを緩和する と 、 イ ンポー ト し たチーム メ ンバー ブ ロ ッ ク の配置配線を調整で き ます。
•
次の よ う な場合は、 個々のパーテ ィ シ ョ ン を イ ンプ リ メ ン ト で き ます。
•
1 つのチーム メ ンバー ブ ロ ッ ク に少 し の変更が加え ら れてい る 。
•
アセ ンブ リ 実行で タ イ ミ ン グが満た さ れない。
プ ロ モー ト ま たはエ ク スポー ト ( チーム リ ーダー )
各チーム メ ンバーがパブ リ ッ シ ュ する ブ ロ ッ ク が完成に近づいて く る と 、 イ ンプ リ メ ン テーシ ョ ン
結果 も よ り 統合 さ れた も のに近づ き ます。 チーム リ ーダーは、 最新の合成お よ び イ ンプ リ メ ン テー
シ ョ ン結果を エ ク ス ポー ト ま たはプ ロ モー ト し 、 各チーム メ ンバーに配布 し ます。
各チーム メ ンバーは、 ほかのチーム メ ンバーのブ ロ ッ ク を それぞれの メ ンバーか ら 直接 イ ン ポー
ト す る のではな く 、 プ ロ モー ト さ れたチーム リ ーダーの ア セ ン ブ リ 実行の も の を イ ン ポー ト し ま
す。 こ れに よ り 、 すべてのチーム メ ンバーがデザ イ ンの同 じ バージ ョ ンに基づいて作業す る こ と を
確実にで き ます。
ほ と ん ど の場合、 チーム リ ーダーは イ ンプ リ メ ン テーシ ョ ン デー タ のみを エ ク ス ポー ト し ますが、
次の よ う にす る こ と も で き ます。
•
合成結果を プ ロ モー ト し て、 すべてのチーム メ ンバーがほかのチーム メ ンバーのブ ロ ッ ク の
最新ネ ッ ト リ ス ト を使用で き る よ う に し ます。
•
各チーム メ ンバー ブ ロ ッ ク を イ ン ポー ト す る 際に最上位の合成に対 し て反復実行 し ます。
イ ンポー ト ( チーム リ ーダー )
チーム リ ーダーは、 次の段階で各チーム メ ンバー ブ ロ ッ ク を イ ン ポー ト す る か イ ンプ リ メ ン ト す
る かを決定 し ます。
•
合成 ( イ ン ク リ メ ン タ ル合成の場合)
次のいずれかを実行す る こ と をお勧め し ます。
•
チーム メ ンバーの結果を イ ンポー ト し ます。
•
XST の read_cores オプシ ョ ン を使用 し て、 各ブ ロ ッ ク の最新の NGC フ ァ イ ルを読み
込みます。
•
イ ンプ リ メ ン テーシ ョ ン
可能な限 り 、 チーム メ ンバー ブ ロ ッ ク を イ ン ポー ト す る こ と をお勧め し ます。
最上位ま たはほかのチーム メ ンバーのブ ロ ッ ク への イ ン ターフ ェ イ ス タ イ ミ ン グが満た さ れな
い場合は、 一部のチーム メ ンバー ブ ロ ッ ク を イ ンプ リ メ ン ト する必要があ る場合があ り ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
67
第 7 章 : チーム デザイ ン フ ロー
保持レ ベルの変更
チーム リ ーダーは、 次の よ う に イ ンポー ト する パーテ ィ シ ョ ンの保持レベルを変更で き ます。
•
次の場合に、 placement に変更 し ます。
•
配線競合が発生 し てい る 。
保持レベルを placement に変更す る と 、 配線ツールで配線を変更で き る よ う にな り ます。
•
次の場合に、 synthesis に変更 し ます。
•
タ イ ミ ン グが満た さ れていない。
•
配置競合が発生 し てい る 。
保持レベルを synthesis に変更する と 、 イ ンプ リ メ ン テーシ ョ ン ツールで配置配線を変更
で き る よ う にな り ます。 チーム デザ イ ン フ ロ ーのエ リ ア グループ制約の要件に従っ てい
れば、 配置競合は発生 し ません。
パーテ ィ シ ョ ン ス テー ト の変更
チーム リ ーダーは、 次の よ う な場合にパーテ ィ シ ョ ンの ス テー ト を import か ら implement に変更
し ます。
•
保持レベルを緩和 し て も デザ イ ンが完了 し ない。
•
既にアセ ンブル さ れたデザ イ ンに少 し の変更が加え ら れてい る 。
設計に関する推奨事項
次の推奨事項は、チーム デザ イ ン フ ロ ーを含むすべてのパーテ ィ シ ョ ン デザ イ ンに適用 さ れます。
•
パーテ ィ シ ョ ン境界の両側で信号に レ ジ ス タ を付け ます。
•
ロ ジ ッ ク をデザ イ ンのほかの部分か ら 独立 し た機能を持つグループに分離 し ます。
•
一緒に配置す る 必要のあ る ロ ジ ッ ク を 1 つのパーテ ィ シ ョ ンに含め ます。
次の推奨事項は、 チーム デザ イ ン フ ロ ー特有の も のです。
•
最上位チーム リ ーダー ロ ジ ッ ク 以外の各チーム メ ンバー ブ ロ ッ ク を、 デバ イ ス の特定の領域
にエ リ ア グループ制約を使用 し て制約する 必要があ り ます。
•
可能な場合、 1 つのパーテ ィ シ ョ ンか ら 別のパーテ ィ シ ョ ン (チーム リ ーダーか ら チーム メ ン
バー、チーム メ ンバーか ら チーム メ ンバー ) への タ イ ミ ン グ ク リ テ ィ カル パス に、最上位パー
テ ィ シ ョ ン内でパ イ プ ラ イ ン レ ジ ス タ 段を追加 し ま す。 チーム デザ イ ン フ ロ ーのエ リ ア グ
ループ要件のため、 こ の よ う にする と 配置が制限 さ れた ロ ジ ッ ク (チーム メ ンバー ブ ロ ッ ク な
ど ) への タ イ ミ ン グ を満た し やす く な り ます。
•
ブ ラ ッ ク ボ ッ ク ス モジ ュ ールがサポー ト さ れます。
チーム メ ンバー モジ ュ ールが ま だ存在 し ていない場合や、タ イ ミ ン グ ま たは ラ ン タ イ ムのため
にブ ラ ッ ク ボ ッ ク ス を使用する のが有益な場合は、合成お よ び イ ンプ リ メ ン テーシ ョ ンの両方
でブ ラ ッ ク ボ ッ ク ス に し てお く こ と がで き ます。
ブ ラ ッ ク ボ ッ ク ス の詳細は、 次を参照 し て く だ さ い。
第 1 章 「パーテ ィ シ ョ ン」 の 「ブ ラ ッ ク ボ ッ ク ス の使用法」
68
•
最上位デザ イ ンにすべての I/O バ ッ フ ァ ーを含め ます。
•
最上位デザ イ ンに含め る ロ ジ ッ ク は、 少量に し ます。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
ISE Design Suite コ マ ン ド ラ イ ン フ ロー
「少量」 と は、デザ イ ン に よ っ て異な り ます。通常は、 ト ッ プに含ま れ る ロ ジ ッ ク が多 く な る と 、
最終アセ ン ブ リ が よ り 複雑にな り ます。 チーム リ ーダーが管理す る ト ッ プに子パーテ ィ シ ョ
ン を設定す る と 、アセ ン ブ リ で イ ン プ リ メ ン ト す る ロ ジ ッ ク の量を最小限に抑え る こ と がで き
ます。
ISE Design Suite コ マ ン ド ラ イ ン フ ロー
コ マ ン ド ラ イ ン フ ロ ーには、 特別なオプシ ョ ンやツールは不要です。 パーテ ィ シ ョ ン のすべての
情報は、 PXML フ ァ イ ルに保存 さ れます。
チーム リ ーダーお よ びチーム メ ンバーは、 SmartXplorer を使用 し てデザ イ ンに適切な イ ンプ リ メ
ン テーシ ョ ン オプシ ョ ン を判断で き ます。
詳細は、 次を参照 し て く だ さ い。
•
第 5 章 「PlanAhead でのパーテ ィ シ ョ ン フ ロ ー」 の 「パーテ ィ シ ョ ン を含むデザ イ ンでの
SmartXplorer の使用」
チーム デザ イ ン フ ローを コ マン ド ラ イ ンか ら 実行する場合は、チーム リ ーダーおよび各チーム メ ン
バーがそれぞれの PXML を管理する必要があ り ます。 PXML フ ァ イ ルの名前は xpartition.pxml
にする必要があ り ます。
PXML フ ァ イ ルの例は、 次を参照 し て く だ さ い。
•
「PXML フ ァ イ ルの例 (チーム リ ーダー )」
•
「PXML フ ァ イ ルの例 (チーム メ ンバー )」
デ ィ レ ク ト リ 構造 ( コ マ ン ド ラ イ ン フ ロー )
チーム デザ イ ン プ ロ ジ ェ ク ト では、デ ィ レ ク ト リ 構造に特に要件はあ り ません。通常、 ソ ース フ ァ
イ ルは Perforce や CVS な ど のバージ ョ ン管理シ ス テ ム を使用 し て管理 さ れ ま す。 各チーム メ ン
バーは、 リ ポジ ト リ か ら ロ ーカル サ ン ド ボ ッ ク ス にチ ェ ッ ク ア ウ ト し ます。
次のデ ィ レ ク ト リ 構造の例を開始点 と し て使用で き ます。
チーム リ ーダーのデ ィ レ ク ト リ 構造 ( コ マ ン ド ラ イ ン フ ロー )
•
TL
•
Synth
ト ッ プお よ びチーム メ ンバー パーテ ィ シ ョ ンの合成結果
メ モ : ボ ト ム ア ッ プ合成プ ロ ジ ェ ク ト ま たは イ ン ク リ メ ン タ ル合成プ ロ ジ ェ ク ト の場合
•
•
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
HDL
-
チーム メ ンバー ブ ロ ッ ク の VHDL ま たは Verilog ソ ース フ ァ イ ル
-
ま だ存在 し ていないチーム メ ンバー パーテ ィ シ ョ ンのブ ラ ッ ク ボ ッ ク ス モジ ュ ール
の定義
UCF
-
最上位 UCF フ ァ イ ル
-
チーム メ ンバー特定の UCF フ ァ イ ル
japan.xilinx.com
69
第 7 章 : チーム デザイ ン フ ロー
•
•
Impl
-
最上位 イ ンプ リ メ ン テーシ ョ ン結果
-
各チーム メ ンバー デザ イ ンの最新バージ ョ ン
-
xpartition.pxml
XImpl
-
エ ク ス ポー ト ま たはプ ロ モー ト さ れた最新の イ ンプ リ メ ン テーシ ョ ン結果
チーム メ ンバーは、 こ のデ ィ レ ク ト リ か ら ト ッ プお よ びほかのチーム メ ンバーのブ
ロ ッ ク を イ ン ポー ト し ます。 こ の場所にア ク セ ス で き ないチーム メ ンバーがい る 場合
は、 適切なエ ク ス ポー ト 場所を選択 し て く だ さ い。
•
Assemble
-
各チーム メ ンバー ブ ロ ッ ク を イ ンポー ト するデザ イ ンの最終イ ンプ リ メ ンテーシ ョ ン
-
ト ッ プは、 タ イ ミ ン グ結果に よ っ て イ ンプ リ メ ン ト ま たは イ ン ポー ト し ます。
チーム メ ンバーのデ ィ レ ク ト リ 構造 ( コ マ ン ド ラ イ ン フ ロー )
•
TM
•
Synth
-
チーム メ ンバー ブ ロ ッ ク の合成結果 ( ボ ト ム ア ッ プ合成プ ロ ジ ェ ク ト の場合)
-
ト ッ プお よ びチーム メ ンバー ブ ロ ッ ク の結果 ( イ ン ク リ メ ン タ ル合成プ ロ ジ ェ ク ト
の場合)
チーム メ ンバー ブ ロ ッ ク に含まれ る HDL が少ない場合は、プ ロ キシ HDL フ ァ イ ルの
合成結果です。 こ のプ ロ キシ HDL フ ァ イ ルには、 ほかのパーテ ィ シ ョ ンへの イ ン ター
フ ェ イ ス タ イ ミ ン グ を満たすため、 すべての入力お よび出力に レ ジ ス タ を付け ます。
•
•
•
•
HDL
-
デザ イ ン全体の VHDL ま たは Verilog ソ ース フ ァ イ ル
-
ト ッ プの VHDL ま たは Verilog ソース フ ァ イ ル ( イ ン ク リ メ ン タル合成フ ローの場合)
-
ま だ存在 し ていないチーム メ ンバー パーテ ィ シ ョ ンのブ ラ ッ ク ボ ッ ク ス モジ ュ ール
の定義
UCF
-
最上位 UCF フ ァ イ ル
-
LOC や AREA_GROUP な ど、 チーム メ ンバー パーテ ィ シ ョ ン特定の物理制約を含
むチーム メ ンバーの UCF フ ァ イ ル
Impl
-
チーム メ ンバー ブ ロ ッ ク の イ ンプ リ メ ン テーシ ョ ン結果 ( ほかのチーム メ ンバー ブ
ロ ッ ク は イ ン ポー ト 、 ト ッ プは イ ンプ リ メ ン ト ま たは イ ン ポー ト )
-
xpartition.pxml
XImpl
-
エ ク ス ポー ト さ れた最新のチーム メ ンバー イ ンプ リ メ ン テーシ ョ ン結果
チーム リ ーダーが こ れを イ ンポー ト し 、 アセ ンブ リ 実行に使用で き ます。
チーム リ ーダーが こ の場所にア ク セ ス で き ない場合は、適切なエ ク ス ポー ト 場所を選
択 し て く だ さ い。
70
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
ISE Design Suite コ マ ン ド ラ イ ン フ ロー
チーム リ ーダーの役割 り ( コ マ ン ド ラ イ ン フ ロー )
チーム リ ーダーは、 最新の ト ッ プお よ び各チーム メ ンバー ブ ロ ッ ク を使用 し てデザ イ ン全体を イ
ンプ リ メ ン ト し ます。 こ の フ ロ ーのすべての イ ンプ リ メ ン テーシ ョ ン と 同様、 パーテ ィ シ ョ ンは各
チーム メ ンバー ブ ロ ッ ク と ト ッ プに設定 さ れ ます。 下位パーテ ィ シ ョ ン をデザ イ ンに追加 し た場
合、 ト ッ プ も パーテ ィ シ ョ ンにす る 必要があ り ます。
PXML フ ァ イルの例 ( チーム リ ーダー )
<?xml version="1.0"?>
<Project Name="impl_1" FileVersion="1.2" ProjectVersion="2.0">
<Partition Name="/top" State="implement" ImportLocation="NONE">
<Partition Name="/top/U0" State="implement" ImportLocation="NONE" Preserve="routing">
</Partition>
<Partition Name="/top/U1" State="implement" ImportLocation="NONE" Preserve="routing">
</Partition>
<Partition Name="/top/U2" State="import" ImportLocation="../../TM3/Ximpl"
Preserve="routing">
</Partition>
</Partition>
チーム メ ンバー ブ ロ ッ ク が完成に近づいて き た ら 、 最終アセ ンブ リ で各チーム メ ンバー パーテ ィ
シ ョ ンの ス テー ト を import に設定 し ます。 ImportLocation は、 チーム メ ンバー パーテ ィ シ ョ
ンがエ ク ス ポー ト さ れてい る デ ィ レ ク ト リ に設定 し ます。 イ ンプ リ メ ン テーシ ョ ンが正常に完了 し
た ら 、 チーム リ ーダーはその結果をチーム メ ンバーにエ ク ス ポー ト し ます。
チーム メ ンバーは ト ッ プ を イ ン ポー ト ま たは イ ン プ リ メ ン ト で き ますが、 ほかのチーム メ ンバー
のブ ロ ッ ク はチーム リ ーダーがエ ク ス ポー ト し た結果を常に イ ンポー ト する 必要があ り ます。
チーム メ ンバーの役割 り ( コ マ ン ド ラ イ ン フ ロー )
各チーム メ ンバーは、 それぞれのデザ イ ン を、 ト ッ プの コ ン テ キ ス ト 内でほかのチーム メ ンバー
のパーテ ィ シ ョ ン を イ ン ポー ト し て イ ン プ リ メ ン ト し ます。 各チーム メ ンバーは、 通常は ト ッ プ
パーテ ィ シ ョ ン を イ ン プ リ メ ン ト し ます。 その方が、 チーム メ ンバー ブ ロ ッ ク を柔軟に イ ンプ リ
メ ン ト で き ます。
デザ イ ンが完成に近づ き 、 チーム メ ンバーがそれぞれのブ ロ ッ ク を調整す る 段階にな っ た ら 、 ト ッ
プを イ ン ポー ト す る と イ ン タ ーフ ェ イ ス タ イ ミ ン グ を保持で き ます。
デザ イ ン を正常に イ ンプ リ メ ン ト で き た ら 、 チーム メ ンバーは次の操作を実行 し ます。
•
イ ンプ リ メ ン テーシ ョ ン結果をチーム リ ーダーにエ ク ス ポー ト し ます。
•
ブ ロ ッ ク の最新の ソ ース ( ネ ッ ト リ ス ト お よ び HDL) をチーム リ ーダーに渡 し ます。
こ れに よ り 、 ソ ース と エ ク ス ポー ト さ れたパーテ ィ シ ョ ン デー タ が一致 し 、 NGDBuild ツールで ロ
ジ ッ ク 変更検出エ ラ ーが誤っ て表示 さ れ る のを回避で き ます。
デザ イ ンの最新バージ ョ ンで イ ンプ リ メ ン テーシ ョ ン を実行 し た ら 、チーム リ ーダーはその結果を
チーム メ ンバーにエ ク ス ポー ト し ます。
各チーム メ ンバーは、 ほかのチーム メ ンバーのブ ロ ッ ク を それぞれの メ ンバーか ら 直接 イ ン ポー
ト す る のではな く 、 チーム リ ーダーがプ ロ モー ト し たデー タ を イ ン ポー ト し ます。 こ れに よ り 、 す
べてのチーム メ ンバーがデザ イ ンの同 じ バージ ョ ンに基づいて作業する こ と を確実にで き ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
71
第 7 章 : チーム デザイ ン フ ロー
PXML フ ァ イルの例 ( チーム メ ンバー )
<?xml version="1.0"?>
<Project Name="impl_1" FileVersion="1.2" ProjectVersion="2.0">
<Partition Name="/top" State="import" ImportLocation="../../TL/Ximpl ">
<Partition Name="/top/U0" State="implement" ImportLocation="NONE" Preserve="routing">
</Partition>
<Partition Name="/top/U1" State="import" ImportLocation="../../TM2/Ximpl"
Preserve="routing">
</Partition>
<Partition Name="/top/U2" State="import" ImportLocation="../../TM3/Ximpl"
Preserve="routing">
</Partition>
</Partition>
</Project>
PlanAhead ソ フ ト ウ ェ ア フ ロー
PlanAhead ソ フ ト ウ ェ アの環境外で合成を実行 し 、 ネ ッ ト リ ス ト ベース の PlanAhead ソ フ ト ウ ェ
ア プ ロ ジ ェ ク ト を使用 し てチーム デザ イ ン フ ロ ーを イ ンプ リ メ ン ト す る こ と は可能ですが、 こ の
セ ク シ ョ ン では RTL プ ロ ジ ェ ク ト を XST イ ン ク リ メ ン タ ル フ ロ ーで実行す る こ と を前提 と し て
説明 し ます。 特別な PlanAhead ソ フ ト ウ ェ ア設定や ラ イ セ ン ス は必要あ り ません。
詳細は、 次を参照 し て く だ さ い。
•
第 5 章 「PlanAhead でのパーテ ィ シ ョ ン フ ロ ー」
チーム リ ーダーの役割 り (PlanAhead ソ フ ト ウ ェ ア フ ロー )
PlanAhead ソ フ ト ウ ェ ア フ ロ ーでは、 チーム リ ーダーは次の手順に従い ます。
1. 初期 RTL PlanAhead ソ フ ト ウ ェ ア プ ロ ジ ェ ク ト を作成 し ます。
•
プ ロ ジ ェ ク ト に、デザ イ ンの こ の段階でのすべての ソ ース フ ァ イ ルが含まれ る 場合があ り
ます。
•
プ ロ ジ ェ ク ト には、 チーム メ ンバー モジ ュ ールのブ ラ ッ ク ボ ッ ク ス を イ ン ス タ ン シエー
ト す る 最上位 HDL フ ァ イ ルを含め る 必要があ り ます。
•
プ ロ ジ ェ ク ト は、 こ の章で前述 し た ソ ース管理の推奨事項に従っ てい る 必要があ り ます。
2. RTL デザ イ ンでチーム メ ンバー ブ ロ ッ ク にパーテ ィ シ ョ ン を定義 し ます。
•
パーテ ィ シ ョ ン を定義す る には、 HDL を エ ラ ボ レー ト す る 必要があ り ます。
•
HDL にエ ラ ーがあ る ためにエ ラ ボ レー ト で き ない場合は、 パーテ ィ シ ョ ンは定義で き ま
せん。
3. 合成を実行 し ます。
4. 問題のなかっ た結果を プ ロ モー ト し ます。
5. 必要に応 じ て次の よ う なグ ロ ーバル制約を追加ま たは作成 し ます。
•
72
次の よ う な タ イ ミ ン グ制約
-
PERIOD
-
OFFSET
-
FROM:TO
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
PlanAhead ソ フ ト ウ ェ ア フ ロー
•
次の よ う な物理制約
-
チーム メ ンバー ブ ロ ッ ク の AREA_GROUP 制約
-
ク ロ ッ ク ロ ジ ッ ク お よ び I/O の LOC 制約
こ れは、 フ ロ アプ ラ ン と 呼ばれます。
6. 次を実行 し て こ の時点でのデザ イ ン を検証 し ます。
•
PlanAhead ソ フ ト ウ ェ アのデザ イ ン ルール チ ェ ッ ク (DRC) を実行
•
イ ンプ リ メ ン テーシ ョ ン を実行
こ の時点では有益な イ ンプ リ メ ン テーシ ョ ン結果は得 ら れないか も し れませんが、 デザ イ ン を
検証す る こ と で イ ンプ リ メ ン テーシ ョ ン ツールの論理的お よび物理的 DRC チ ェ ッ ク を使用 し
てデザ イ ンお よ び制約を確認で き ます。
7. [Project Save As] コ マ ン ド を使用 し て、各チーム メ ンバー用に 1 つずつプ ロ ジ ェ ク ト を作成 し
ます。
各チーム メ ンバーがそれぞれのブ ロ ッ ク を開発、 イ ンプ リ メ ン ト 、 プ ロ モー ト し た ら 、 こ の手
順を繰 り 返 し てすべてのチーム メ ンバーのプ ロ ジ ェ ク ト がチーム リ ーダーのプ ロ ジ ェ ク ト と
一致 し てい る よ う に し ます。 次の図に、 上記の手順を図示 し ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
73
第 7 章 : チーム デザイ ン フ ロー
X-Ref Target - Figure 7-5
㻾㼀㻸㻌䛾ᐃ⩏㻌㻌
㻔䝖䝑䝥䚸䝏䞊䝮
㻌䝯䞁䝞䞊䚸㻌
䜽䝻䝑䜽䛸䝸䝉䝑䝖㻕
㻼㼘㼍㼚㻭㼔㼑㼍㼐㻌㻾㼀㻸㻌㻌
䝥䝻䝆䜵䜽䝖䛾సᡂ
䝕䝄䜲䞁䛾䜶䝷䝪䝺䞊䝖
䝏䞊䝮㻌䝯䞁䝞䞊㻌㻌
䝟䞊䝔䜱䝅䝵䞁䛾ᐃ⩏㻌
㻔䝤䝷䝑䜽㻌䝪䝑䜽䝇
㻌䝃䝫䞊䝖㻕
ྜᡂ
䝥䝻䝰䞊䝖
ไ⣙㻌
㻔䝍䜲䝭䞁䜾䛚䜘䜃䝣䝻䜰䝥䝷䞁
㻕
㻰㻾㻯㻌䛾ᐇ⾜䛸㻌
䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁
㼀㻹㻝㻌⏝䛻䝥䝻䝆䜵䜽䝖䜢ಖᏑ
㼀㻹㻞㻌⏝䛻䝥䝻䝆䜵䜽䝖䜢ಖᏑ
㼀㻹㼚㻌⏝䛻䝥䝻䝆䜵䜽䝖䜢ಖᏑ
;
図 7-5 : チーム リ ーダーの初期操作 (PlanAhead フ ロー )
74
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
イ ン タ ー フ ェ イ ス タ イ ミ ング
イ ン タ ー フ ェ イ ス タ イ ミ ング
タ イ ミ ン グ を満た し 、 タ イ ミ ン グ を保持す る ためにパーテ ィ シ ョ ン間の イ ン タ ーフ ェ イ ス タ イ ミ ン
グ を指定す る のは、 困難な場合があ り ます。 通常、 1 つのパーテ ィ シ ョ ン を イ ンプ リ メ ン ト し てほ
かのパーテ ィ シ ョ ン を イ ン ポー ト し ますが、ロ ジ ッ ク を最適な場所に配置で き ない こ と も あ り ます。
こ の問題を解決す る には、 使用す る フ ロ ーに よ っ て次の 2 つの方法があ り ます。
•
チーム メ ンバー パーテ ィ シ ョ ン をブ ラ ッ ク ボ ッ ク ス と し て定義す る
1 つのチーム メ ンバー パーテ ィ シ ョ ンの イ ン タ ーフ ェ イ ス ロ ジ ッ ク に制約を設定 し 、 ほかの
チーム メ ンバー パーテ ィ シ ョ ンはブ ラ ッ ク ボ ッ ク ス と し て定義 し ます。
•
チーム メ ンバー パーテ ィ シ ョ ン を イ ン タ ーフ ェ イ ス ロ ジ ッ ク と し て定義す る
すべての イ ン タ ーフ ェ イ ス ロ ジ ッ ク が存在 し てい る 状態で ( ブ ラ ッ ク ボ ッ ク ス な し )、 チーム
メ ンバー パーテ ィ シ ョ ン間の イ ン タ ーフ ェ イ ス タ イ ミ ン グ を制約 し 、 満た し 、 保持 し ます。
チーム メ ンバー パーテ ィ シ ョ ン を ブ ラ ッ ク ボ ッ ク ス と し て定義する
次の場合、 イ ン タ ーフ ェ イ ス タ イ ミ ン グ をパーテ ィ シ ョ ン ピ ンへの制約を使用 し て定義で き ます。
•
チーム メ ンバーが自分の ロ ジ ッ ク のみを ト ッ プ と 共に イ ンプ リ メ ン ト し てい る 。
•
ほかのチーム メ ンバー パーテ ィ シ ョ ンはブ ラ ッ ク ボ ッ ク ス と し て定義 さ れてい る 。
チーム リ ーダーは最初、 パーテ ィ シ ョ ン ピ ンの タ イ ミ ン グ制約を作成 し ます。
ブ ラ ッ ク ボ ッ ク ス モジ ュ ールのプ ロ キ シ ロ ジ ッ ク を制約する 例は、 次を参照 し て く だ さ い。
•
第 1 章 「パーテ ィ シ ョ ン」 の 「ブ ラ ッ ク ボ ッ ク ス の使用法」
パーテ ィ シ ョ ン ピ ンの タ イ ミ ン グ制約を定義 し た ら 、 チーム リ ーダーはすべてのチーム メ ンバー
パーテ ィ シ ョ ン をブ ラ ッ ク ボ ッ ク ス と し て定義 し てデザ イ ン を イ ンプ リ メ ン ト し ます。 イ ンプ リ メ
ン テーシ ョ ンが完了し て イ ン ターフ ェ イ ス タ イ ミ ン グが満た さ れた ら 、ブ ラ ッ ク ボ ッ ク ス パーテ ィ
シ ョ ン をプ ロ モー ト する こ と に よ り パーテ ィ シ ョ ン ピ ン ロ ケーシ ョ ン をエ ク ス ポー ト で き ます。
チーム メ ンバーは、自分のブ ロ ッ ク を イ ンプ リ メ ン ト す る 際に こ のプ ロ モー ト さ れたデー タ と 適切
な タ イ ミ ン グ制約を使用 し て、 次を達成 し ます。
•
イ ン タ ーフ ェ イ ス ロ ジ ッ ク をパーテ ィ シ ョ ンの AREA_GROUP の適切なエ ッ ジの近 く に配
置 し ます。
•
アセ ンブ リ で タ イ ミ ン グ を満た し ます。
プ ロ キ シ ピ ン の ロ ケーシ ョ ン を チーム リ ーダーの初期 イ ン プ リ メ ン テーシ ョ ン か ら 変更す る 必要
があ る 場合は、 pr2ucf を使用 し て制約を抽出 し ます。
pr2ucf top_routed.ncd -o partition_pins.ucf
こ れ ら の制約は、 次の よ う に変更 し ます。
•
手動で変更で き ます。
•
PlanAhead ソ フ ト ウ ェ アでは変更で き ません。
変更 さ れた ロ ケーシ ョ ンは、 次のいずれかの方法で各チーム メ ンバーに配布 し ます。
•
デザ イ ン フ ローに UCF フ ァ イ ルを追加 し ます。
•
制約を最上位 UCF に統合 し ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
75
第 7 章 : チーム デザイ ン フ ロー
パーテ ィ シ ョ ン ピ ン の ロ ケーシ ョ ンは UCF 制約で固定す る ので、 各チーム メ ンバーのブ ラ ッ ク
ボ ッ ク ス モジ ュールは、 イ ンポー ト する のではな く イ ンプ リ メ ン ト する 必要があ り ます。
こ の時点で、 チーム リ ーダーは次の操作を実行で き ます。
•
変更 さ れたパーテ ィ シ ョ ン ピ ンの ロ ケーシ ョ ン を使用 し てブ ラ ッ ク ボ ッ ク ス を再 イ ンプ リ メ
ン ト し ます。
•
各チーム メ ンバー用に結果を再度エ ク ス ポー ト ( ま たはプ ロ モー ト ) し ます。
1 つのモジ ュ ールを イ ンプ リ メ ン ト す る と き にほかのチーム メ ンバー パーテ ィ シ ョ ン を ブ ラ ッ ク
ボ ッ ク ス と し て定義す る と 、 メ モ リ 使用量を削減 し 、 ラ ン タ イ ム を短縮で き ますが、 次の理由に よ
り イ ン タ ーフ ェ イ ス タ イ ミ ン グが不正確にな る 可能性があ り ます。
•
ク ロ ッ ク ス キ ュ ー、 フ ァ ン ア ウ ト 、 ま たは適切な ロ ジ ッ ク レベル数が考慮 さ れていない。
•
イ ン タ ーフ ェ イ ス タ イ ミ ン グの問題がアセ ンブ リ 中に発生する 可能性があ る 。
こ の フ ロ ーを使用 し て メ モ リ の使用量を削減す る 方法の詳細は、 次を参照 し て く だ さ い。
•
第 1 章 「パーテ ィ シ ョ ン」 の 「大型デザ イ ンの メ モ リ 使用量の管理」
チーム メ ンバー パーテ ィ シ ョ ン を イ ン タ ー フ ェ イ ス ロ ジ ッ ク と し て定義する
デザ イ ン サ イ ク ルの初期段階では、 ほ と ん ど の場合 イ ン タ ーフ ェ イ ス タ イ ミ ン グは無視で き ます。
各チーム メ ンバーは自分のブ ロ ッ ク を イ ン プ リ メ ン ト す る 際に、 ほかのチーム メ ンバーのブ ロ ッ
ク を イ ン ポー ト す る か、ブ ラ ッ ク ボ ッ ク ス と し て定義 し ます。チーム メ ンバー ブ ロ ッ ク の イ ン タ ー
フ ェ イ ス ロ ジ ッ ク が定義 さ れた ら 、 コ ー ド をチーム リ ーダーに渡 し 、 チーム リ ーダーがすべての
パーテ ィ シ ョ ン を イ ンプ リ メ ン ト し ます。
チーム リ ーダーは、 次の操作を実行 し ます。
•
イ ン タ ーフ ェ イ ス の タ イ ミ ン グ問題を特定 し 、 解決 し ます。
•
結果を プ ロ モー ト し 、 すべてのチーム メ ンバーが使用で き る よ う に し ます。
チーム メ ンバー A は自分のブ ロ ッ ク を開発お よ び イ ンプ リ メ ン ト し 、 チーム リ ーダーがプ ロ モー
ト し た結果か ら チーム メ ンバー B を イ ン ポー ト し ます。 チーム メ ンバー B も 、 同様にチーム メ ン
バー A を イ ンポー ト し ます。 パーテ ィ シ ョ ン イ ン タ ーフ ェ イ ス の タ イ ミ ン グは変更 さ れません。
こ の フ ロ ーの利点は、 次の と お り です。
76
•
イ ン タ ーフ ェ イ ス タ イ ミ ン グは 100% 正確です。
•
イ ン タ ー フ ェ イ ス の タ イ ミ ン グ問題は、 変更が加え ら れてい る フ ロ ーの初期段階で特定で き
ま す。
•
特別な タ イ ミ ン グ制約ま たは配置制約を作成す る 必要はあ り ません。 ほ と ん ど の場合、 通常の
PERIOD 制約があ り ます。
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
イ ン タ ー フ ェ イ ス タ イ ミ ング
チーム メ ンバーの役割 り (PlanAhead ソ フ ト ウ ェ ア フ ロー )
各チーム メ ンバーに、チーム リ ーダー プ ロ ジ ェ ク ト と 同一の PlanAhead ソ フ ト ウ ェ ア プ ロ ジ ェ ク
ト が配布 さ れます。
チーム メ ンバーは、 次の操作を実行 し ます。
1. ソ ース を開発 し 、 プ ロ ジ ェ ク ト に追加 し ます。
2. 合成、 制約の定義、 イ ンプ リ メ ン テーシ ョ ン を実行 し 、 結果を プ ロ モー ト し ます。
プ ロ ジ ェ ク ト が分岐 し 始め ます。 チーム メ ンバーは、 チーム リ ーダーのプ ロ ジ ェ ク ト と 定期的に
同期 さ せ る こ と をお勧め し ます。
チーム メ ンバーの結果が、 ほかのチーム メ ンバーお よ びチーム リ ーダーが使用で き る 状態にな っ
た ら 、 合成お よ び イ ン プ リ メ ン テーシ ョ ン の結果を チーム リ ーダーが ア ク セ ス で き る 場所にプ ロ
モー ト し ます。
チーム リ ーダーは、 次の操作を実行 し ます。
1. デザ イ ンの最新バージ ョ ン を使用 し て、 合成ま たは イ ンプ リ メ ン テーシ ョ ン、 あ る いはその両
方を実行 し ます。
2. 結果を プ ロ モー ト し てチーム メ ンバーが使用で き る よ う に し ます。
各チーム メ ンバーは、 ほかのチーム メ ンバーのブ ロ ッ ク を それぞれの メ ンバーか ら 直接 イ ン ポー
ト す る のではな く 、 プ ロ モー ト さ れたチーム リ ーダーの ア セ ン ブ リ 実行の も の を イ ン ポー ト し ま
す。 こ れに よ り 、 すべてのチーム メ ンバーがデザ イ ンの同 じ バージ ョ ンに基づいて作業す る こ と を
確実にで き ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
77
第 7 章 : チーム デザイ ン フ ロー
78
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
第8章
パーテ ィ シ ョ ンのデバ ッ グ
こ の章では、 パーテ ィ シ ョ ンのデバ ッ グについて説明 し ます。 次の内容が含まれます。
•
イ ンプ リ メ ン テーシ ョ ン エ ラ ー
•
BitGen の DRC エ ラ ー
•
ChipScope のサポー ト
イ ン プ リ メ ン テーシ ョ ン エ ラ ー
こ のセ ク シ ョ ンでは、イ ンプ リ メ ン テーシ ョ ン エ ラ ーについて説明 し ます。次の内容が含まれます。
•
パーテ ィ シ ョ ン を イ ン ポー ト で き ない
•
デザ イ ンが タ イ ミ ン グ を満た し ていない
•
デザ イ ン を配置で き ない
•
デザ イ ン を配線で き ない
•
パーテ ィ シ ョ ンに よ り ス ラ イ ス の使用量が増加す る
パーテ ィ シ ョ ン を イ ンポー ト で き ない
次の よ う な理由でパーテ ィ シ ョ ン を イ ン ポー ト で き ない場合があ り ます。
•
ソ ース ネ ッ ト リ ス ト の変更
•
ソ フ ト ウ ェ アの変更
•
PXML フ ァ イ ルが イ ンポー ト デ ィ レ ク ト リ に コ ピー さ れない
ソ ース ネ ッ ト リ ス ト の変更
次の時点の間で ソ ース ネ ッ ト リ ス ト が変更 さ れてい る と 、パーテ ィ シ ョ ン を イ ン ポー ト で き ない場
合があ り ます。
1. パーテ ィ シ ョ ンがエ ク ス ポー ト さ れた時点
2. パーテ ィ シ ョ ンが イ ン ポー ト さ れた時点
こ れが、 最 も よ く あ る イ ン ポー ト で き ない理由です。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
79
第 8 章 : パーテ ィ シ ョ ンのデバ ッ グ
ソ フ ト ウ ェ アの変更
次の時点の間で ソ フ ト ウ ェ アが変更 さ れてい る と 、 パーテ ィ シ ョ ン を イ ン ポー ト で き ない場合があ
り ます。
1. パーテ ィ シ ョ ンがエ ク ス ポー ト さ れた時点
2. パーテ ィ シ ョ ンが イ ン ポー ト さ れた時点
以前の ソ フ ト ウ ェ ア バージ ョ ンか ら のパーテ ィ シ ョ ンの イ ン ポー ト は、 機能す る と は限 り ません。
リ リ ー ス間で属性値や DRC ルールが変更 さ れてい る 可能性があ り ます。 こ れ ら の変更に対応す る
ため、 イ ン ポー ト さ れたパーテ ィ シ ョ ン を変更 し た り 、 再 イ ンプ リ メ ン ト し た り す る 必要があ る場
合があ り ます。 こ れは、 特にテ ス ト 中の新 し いアーキ テ ク チ ャ に当ては ま り ます。
た と えば、 前のバージ ョ ンの ソ フ ト ウ ェ アで問題な く 実行 さ れていたデザ イ ン で、 MMCM に対 し
て次の よ う な DRC エ ラ ーが発生する 場合があ り ます。
ERROR:PhysDesignRules - The calculated CLKIN1_PERIOD frequency/DIVCLK_DIVIDE value of
100.000000 for MMCM_ADV instance clocks/dcm200/DCM_ADV is less than the allowed lower limit
of 135.0 MHz, when BANDWIDTH is HIGH or OPTIMIZED.Change BANDWIDTH to LOW to correct this
problem.
PXML フ ァ イルがイ ンポー ト デ ィ レ ク ト リ に コ ピー さ れない
PXML フ ァ イ ルが イ ン ポー ト デ ィ レ ク ト リ に コ ピー さ れていない と 、 パーテ ィ シ ョ ン を イ ン ポー
ト で き ない こ と があ り ます。
こ の場合、 次の よ う なエ ラ ー メ ッ セージが表示 さ れます。
ERROR:HierarchicalDesignC:154 - Import project "./import" is not an XPartition project.
ERROR:HierarchicalDesignC:143 - Error importing Partition "/top/module".
ERROR:HierarchicalDesignC:142 - Error found in XPartition file data.
デザイ ンが タ イ ミ ング を満た し ていない
デザ イ ン のパーテ ィ シ ョ ン さ れてい る 部分で タ イ ミ ン グ が満た さ れない場合、 イ ン ポー ト さ れた
パーテ ィ シ ョ ンの保持レベルを synthesis に緩和す る と 、 イ ン ポー ト さ れたパーテ ィ シ ョ ンの配置
お よ び配線を必要に応 じ て変更で き 、 ツールで よ り 柔軟な処理が可能 と な る ため、 タ イ ミ ン グが満
た さ れ る 可能性が高 く な り ます。
タ イ ミ ン グが満た さ れた ら 、 次の よ う に し ます。
•
パーテ ィ シ ョ ン を エ ク ス ポー ト し ます。
•
保持レベルを必要に応 じ て placement ま たは routing に変更 し ます。
保持レベルを緩和 し て も デザ イ ンの タ イ ミ ン グが満た さ れない場合は、 次の よ う に し ます。
•
1 つま たは複数のパーテ ィ シ ョ ンの ス テー ト を import か ら implement に変更 し ます。
•
ク リ テ ィ カルパ ス を含むパーテ ィ シ ョ ン を削除 し ます。
標準フ ラ ッ ト フ ローの タ イ ミ ン グ ク ロ ージ ャ 手法を適用で き ます。
80
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
イ ン プ リ メ ン テーシ ョ ン エ ラ ー
デザイ ン を配置で き ない
デザ イ ンのパーテ ィ シ ョ ン数を多 く し、 イ ンポー ト さ れる ロ ジ ッ ク の割合を高 く する と 、 イ ンプ リ メ
ン ト さ れる ロ ジ ッ ク で使用可能な リ ソースが少な く な り 、 デザ イ ン を配置で き ない こ と があ り ます。
こ の場合、 配置で次の よ う な メ ッ セージが表示 さ れます。
WARNING:Place:1178 - 4 sites were unavailable during the placement
phase because they were already used by routing within preserved
Partitions.If the Placer is not able to find a successful solution, the
following suggestions might help the Placer find a solution.
1) To allow the Placer to use these sites, back off the preservation
level on one or more of the following Partitions.The following
Partitions contain unavailable sites:
Partition /top/Control_Module:3 (preserve=routing)
Partition /top/Express_Car:1 (preserve=routing)
If the problem persists, then careful floorplanning can minimize the
number of sites occupied by routing.
こ れ ら のサ イ ト を使用で き ないのは、 イ ン ポー ト さ れた配線に含まれ る ピ ンに よ り コ ン ポーネ ン ト
が使用不可能にな っ てい る か ら です。 配線ツールで イ ン ポー ト さ れた配線を移動す る こ と がで き れ
ば、 こ れ ら の コ ン ポーネ ン ト に ロ ジ ッ ク を配置で き ます。 こ れには、使用不可能なサ イ ト の多いパー
テ ィ シ ョ ンで保持レベルを placement ま たは synthesis に変更 し ます。 こ れで も 十分でない場合は、
パーテ ィ シ ョ ン を再 イ ンプ リ メ ン ト す る 必要があ り ます。
最上位パーテ ィ シ ョ ンの ス テー ト を implement に設定する と 、配置ツールで有効な配置を見つけ る
のに十分な リ ソ ース が使用可能にな る 可能性があ り ます。 こ れで も 十分でない場合は、 そのほかの
パーテ ィ シ ョ ンの ス テー ト も implement に変更 し てみて く だ さ い。
PlanAhead™ ソ フ ト ウ ェ ア を使用 し て、ど のパーテ ィ シ ョ ンの ス テー ト を implement に変更 し た ら
よ いのかを判断 し ます。
1. 結果ビ ュ ーアーに配置配線情報を読み込みます。
2. 各パーテ ィ シ ョ ン をハ イ ラ イ ト し て FPGA の ど こ に位置 し てい る かを確認 し ます。
パーテ ィ シ ョ ンの数が多すぎ る と 、 デバ イ ス の使用率に悪影響を与え る 場合があ り ます。 デザ イ ン
の ク リ テ ィ カルでない部分のモジ ュ ールか ら パーテ ィ シ ョ ン を削除す る と 、 その他の ロ ジ ッ ク で使
用で き る リ ソ ース が増え、 ツールで タ イ ミ ン グ を満たすための ソ リ ュ ーシ ョ ン を よ り 柔軟に見つけ
る こ と がで き ます。
ま た、 適切な フ ロ アプ ラ ン を使用す る と 、 配置を見つけ る のに役立つ場合があ り ます。 すべての ロ
ジ ッ ク を チ ッ プ全体の ど こ にで も 配置可能な場合、 配置 ツールで イ ン プ リ メ ン ト さ れ る 新 し い ロ
ジ ッ ク 用の リ ソ ース を見つけ る こ と がで き ない場合があ り ます。フ ロ アプ ラ ンでは、各パーテ ィ シ ョ
ン をデザ イ ンの特定の部分に制限 し ま す。 AREA_GROUP RANGE を追加 ま たは変更す る と 、 エ
ク ス ポー ト さ れたパーテ ィ シ ョ ン デー タ の ア ッ プデー ト が必要 と な る ので、 次の実行でパーテ ィ
シ ョ ンの ス テー ト を implement に設定する 必要があ り ます。
デザイ ン を配線で き ない
イ ン ポー ト し たパーテ ィ シ ョ ン を使用 し てデザ イ ン を配線で き ない場合は、 次の よ う に し ます。
1. 保持レベルを placement に変更 し ます。
2. PAR を再実行 し ます。
MAP を再実行す る 必要はあ り ません。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
81
第 8 章 : パーテ ィ シ ョ ンのデバ ッ グ
フ ロ アプ ラ ンが、 配置の問題を解決す る のに役立つの と 同様の理由で、 配線の問題を解決す る のに
役立つ場合があ り ます。
保持レベルを変更 し た り 、 フ ロ アプ ラ ン を適用 し て も 配線が完了 し ない場合は、 配置 さ れたデザ イ
ン を解析す る と 、 ス テー ト を変更す る 必要のあ る パーテ ィ シ ョ ン を判断で き ます。
PlanAhead™ ソ フ ト ウ ェ ア を使用 し て、 ど のパーテ ィ シ ョ ンの ス テー ト placement に変更 し た ら よ
いのかを判断 し ます。
1. 結果ビ ュ ーアーに配置配線情報を読み込みます。
2. 各パーテ ィ シ ョ ン をハ イ ラ イ ト し て FPGA の ど こ に位置 し てい る かを確認 し ます。
パーテ ィ シ ョ ンに よ り ス ラ イ スの使用量が増加する
パーテ ィ シ ョ ン を使用す る と 、 最適化お よ びパ ッ キ ン グの制限に よ り 、 ス ラ イ ス の使用量が多少増
加す る こ と が予測 さ れますが、 こ れは通常数パーセン ト か、 無視で き る 程度です。
ス ラ イ スの使用量が大幅に増加す る場合
LUT と フ リ ッ プ フ ロ ッ プの比率が大き く 異な っ てい る と 、ス ラ イ ス の使用量が大幅に増加す る こ と
があ り ます。
•
パーテ ィ シ ョ ンが使用 さ れていないデザ イ ンでは、モジ ュ ール A の コ ン ポーネ ン ト の一部を モ
ジ ュ ール B の コ ン ポーネ ン ト と 結合で き ます。
•
パーテ ィ シ ョ ン を使用 し たデザ イ ンでは、 パ ッ キ ン グが制限 さ れ、 パーテ ィ シ ョ ン A の コ ン
ポーネ ン ト をパーテ ィ シ ョ ン B の コ ン ポーネ ン ト と 共にパ ッ ク す る こ と はで き ません。 こ のた
め、LUT と フ リ ッ プ フ ロ ッ プのバ ラ ン ス が取 ら れていない ロ ジ ッ ク で空の ス ラ イ ス が使用 さ れ
る こ と にな り 、 ス ラ イ ス の使用量が増加 し ます。
エ リ ア グループお よびパーテ ィ シ ョ ン サマ リ
デザ イ ンで こ の問題が発生 し てい る か ど う かを確認す る には、 マ ッ プ レ ポー ト (.mrp) でエ リ ア グ
ループお よ びパーテ ィ シ ョ ン サマ リ を参照 し て く だ さ い。
マ ッ プ レ ポー ト のパーテ ィ シ ョ ン リ ソ ース サマ リ の例
Partition "/top/moduleA":
State=implement
Slice Logic Utilization:
Number of Slice Registers:
4,318 (4,318)
Number of Slice LUTs:
4,337 (4,337)
Number used as logic:
3,717 (3,717)
Number used as Memory:
620 (620)
Slice Logic Distribution:
Number of occupied Slices:
1,750 (1,750)
Number of LUT Flip Flop pairs used:
5,249 (5,249)
Number with an unused Flip Flop:
931 out of 5,249
17%
Number with an unused LUT:
1,508 out of 5,249
28%
Number of fully used LUT-FF pairs:2,810 out of 5,249
53%
Number of Block RAM/FIFOs:
3 (3)
Number of BUFDS:
1 (1)
Number of BUFR:
1 (1)
Number of GTX_DUAL:
2 (2)
Number of PLL_ADV:
1 (1)
82
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
イ ンポー ト するパーテ ィ シ ョ ンの属性値について
リ ソ ース使用率の数値
マ ッ プ レ ポー ト には、 使用量に対 し て次の 2 つの値が示 さ れてい ます。
•
1 つ目の値は個々のパーテ ィ シ ョ ンの リ ソ ース使用量を示 し ます。
•
かっ こ に含まれてい る 2 つ目の値はそのパーテ ィ シ ョ ン と 子パーテ ィ シ ョ ンすべての値です。
こ の情報はマ ッ プ レ ポー ト のパーテ ィ シ ョ ン リ ソ ー ス サマ リ セ ク シ ョ ン の最初に記述 さ れてお
り 、 見逃 さ れがちです。 次に例を示 し ます。
Partition Resource Summary:
--------------------------Resources are reported for each Partition followed in parenthesis by
resources for the Partition plus all of its descendents.
イ ンポー ト するパーテ ィ シ ョ ンの属性値について
注意 : イ ンポー ト さ れた MMCM で属性を変更 し た場合、ソ フ ト ウ ェ アでエ ラ ーは検出 さ れず、
以前の値が使用 さ れます。 変更は失われます。
MMCM ( ま たは同様の コ ン ポーネ ン ト ) の属性を変更 し てお り 、 その イ ン ス タ ン ス を イ ン ポー ト す
る と 、 次の よ う に処理 さ れます。
•
以前の値が イ ン ポー ト さ れ、 新 し い値が上書 き さ れます。
•
エ ラ ーま たは警告 メ ッ セージは表示 さ れません。
イ ン ポー ト さ れたパーテ ィ シ ョ ンの属性を HDL ま たは UCF 制約で変更 し た場合は、パーテ ィ シ ョ
ン を必ず イ ンプ リ メ ン ト し て く だ さ い。 イ ンプ リ メ ン ト し ない と 、 新 し い値は失われます。
BitGen の DRC エ ラ ー
デザ イ ンで PAR ツールの実行が問題な く 完了 し て も 、 BitGen で次の よ う な DRC エ ラ ーが発生す
る こ と があ り ます。
ERROR:PhysDesignRules:10 - The network <signal_OBUF> is completely
unrouted
こ れは、 パーテ ィ シ ョ ンの駆動 さ れていない出力が、 親パーテ ィ シ ョ ンの ロ ジ ッ ク に接続 さ れてい
る こ と が原因です。 フ ラ ッ ト フ ロ ーの よ う に親パーテ ィ シ ョ ンの ロ ジ ッ ク を マ ッ プで最適化で き な
いため、 部分的に配線 さ れた信号が最終デザ イ ンに含まれ る こ と にな り 、 BitGen で DRC エ ラ ーが
発生 し ます。
こ の問題は、 パーテ ィ シ ョ ンに BoundaryOpt 属性を使用す る と 修正 さ れ る こ と があ り ます。 こ の
属性を使用す る と 、 マ ッ プ ツールで未接続のポー ト を削除で き る よ う にな り ます。
BoundaryOpt 属性には制限があ る ため、 問題を解決す る のに HDL レ ベルでの修正が必要 と な る
場合 も あ り ます。 いずれの場合で も 、 修正 さ れたパーテ ィ シ ョ ン を再 イ ンプ リ メ ン ト す る 必要があ
り ます。
ChipScope のサポー ト
ChipScope™ ツールでパーテ ィ シ ョ ンはサポー ト さ れてい ます。
パーテ ィ シ ョ ンで ChipScope コ ア を変更 し た場合は、 パーテ ィ シ ョ ン ス テー ト を implement に変
更す る 必要があ り ます。
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
83
第 8 章 : パーテ ィ シ ョ ンのデバ ッ グ
84
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
付録 A
その他の リ ソ ース
ザイ リ ン ク ス リ ソ ース
•
『ISE® Design Suite : イ ン ス ト ールお よ び ラ イ ンセ ス ガ イ ド 』 (UG798) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/iil.pdf
•
『ISE Design Suite 13 : リ リ ース ノ ー ト ガ イ ド 』 (UG631) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/irn.pdf
•
ザ イ リ ン ク ス資料 :
http://japan.xilinx.com/support/documentation/
•
ザ イ リ ン ク ス用語集 :
http://japan.xilinx.com/support/documentation/sw_manuals/glossary.pdf
•
ザ イ リ ン ク ス サポー ト : http://japan.xilinx.com/support/
•
デー タ シー ト :
http://japan.xilinx.com/support/documentation/data_sheets.htm
ISE 資料
•
ISE 資料 :
http://japan.xilinx.com/support/documentation/dt_ise13-2.htm
- 『コ マン ド ラ イ ン ツール ユーザー ガ イ ド 』 (UG628) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/devref.pdf
- 『制約ガ イ ド 』 (UG625) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/cgd.pdf
- 『合成/ シ ミ ュ レーシ ョ ン デザ イ ン ガ イ ド 』 (UG626) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/sim.pdf
- 『XST ユーザー ガ イ ド (Virtex-4、Virtex-5、Spartan-3 および CPLD デバ イ ス用)』 (UG627) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/xst.pdf
- 『XST ユーザー ガ イ ド (Virtex-6、 Spartan-6、 お よ び 7 シ リ ーズ デバ イ ス用)』 (UG687) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/xst_v6s6.pdf
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日
japan.xilinx.com
81
付録 A : その他の リ ソ ース
PlanAhead 資料
•
PlanAhead 資料 :
http://japan.xilinx.com/support/documentation/dt_planahead_planahead13-2_userguides.htm
•
手法ガ イ ド :
http://japan.xilinx.com/support/documentation/dt_planahead_planahead13-2_userguides.htm
- 『フ ロ アプ ラ ン手法ガ イ ド 』 (UG633) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/
Floorplanning_Methodology_Guide.pdf
- 『階層デザ イ ン手法ガ イ ド 』 (UG748) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/
Hierarchical_Design_Methodology_Guide.pdf
- 『ピ ン配置手法ガ イ ド 』 (UG792) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/ug792_pinplan.pdf
•
•
『PlanAhead ユーザー ガ イ ド 』 (UG632) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/
PlanAhead_UserGuide.pdf
•
『PlanAhead Tcl コ マン ド リ フ ァ レ ン ス ガ イ ド 』 (UG789) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/
ug789_tcl_commands.pdf
PlanAhead チ ュ ー ト リ アル :
http://japan.xilinx.com/support/documentation/dt_planahead_planahead13-2_tutorials.htm
- 『デザ イ ン解析お よ びフ ロ アプ ラ ン』 (UG676) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/
PlanAhead_Tutorial_Design_Analysis_Floorplan.pdf
- 『I/O ピ ンの配置』 (UG674) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/
PlanAhead_Tutorial_IO_Pin_Planning.pdf
- 『デザ イ ン保持の利用』 (UG747) :
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx13_2/
PlanAhead_Tutorial_Design_Preservation.pdf
82
japan.xilinx.com
階層デザイ ン手法ガ イ ド
UG748 (v13.2) 2011 年 7 月 6 日