RP に定義された Pblock 領域内には、パーティション ピンと呼ばれるインターフェイス ポイントが自動的に作成されます。これらの仮想 I/O はインターコネクト タイル内にアンカー ポイントとして作成され、モジュール間で一定に保たれます。これらのアンカー ポイントを作成するのに、LUT やフリップフロップなどの物理リソースは不要で、遅延が追加されることもありません。
ツールによりソース、ロード、およびタイミング要件に基づいて位置が選択されますが、ユーザーがこれらの位置を指定することもできます。次の制約を適用すると、パーティション ピンの配置を制御できます。
コマンド/プロパティ名 | 説明 |
---|---|
HD.PARTPIN_LOCS
|
配線される指定ポートにインターコネクト タイル (INT) を指定します。 クロック ポートには使用しないでください。クロック ポートに使用すると、クロックにローカル配線が使用されます。 このプロパティを専用接続には使用しないでください。 |
HD.PARTPIN_RANGE
|
指定したポートを配線するために使用可能なコンポーネント サイト (SLICE、DSP、ブロック RAM) またはインターコネクト タイル (INT) の範囲を定義します。 ユーザー定義の |
パーティション ピンの配置を制御するプロパティの例
-
set_property HD.PARTPIN_LOCS INT_R_X4Y153 [get_pins <hier/pin>]
-
set_property HD.PARTPIN_RANGE SLICE_X4Y153:SLICE_X5Y157 [get_pins <hier/pins>]
get_pins には、パーティション インターフェイスに制約するピンへの絶対階層パスを使用する必要があります。get_ports を称することもできますが、適切な階層レベルを参照する必要があります。インターコネクト タイル サイトのインスタンス名は、[Device] ウィンドウで [Routing Resources] をイネーブルにすると表示できます。
HD.PARTPIN_RANGE
は place_design
の実行中に自動的に設定されます。値が設定されたら、インタラクティブ配置配線中 (RP Pblock の試行のための変更、place_design
-unplace
の実行など) にはリセットされません。Pblock を変更した場合は、HD.PARTPIN_RANGE
および HD.PARTPIN_LOCS
を手動でリセットする必要があります。これらのプロパティは、ほかのほとんどのプロパティと同様にリセットできます。次の Tcl プロシージャは、DFX デザインにこのようなインタラクティブ フロアプランを実行する場合に便利です。
##################################################
Proc to unroute, uplace, and reset HD.PARTPIN_*
#################################################
proc pr_unplace {} {
route_design -unroute
place_design -unplace
set cells [get_cells -quiet -hier -filter HD.RECONFIGURABLE]
foreach cell $cells {
reset_property HD.PARTPIN_LOCS [get_pins $cell/*]
reset_property HD.PARTPIN_RANGE [get_pins $cell/*]
}
}
配置済みまたは配線済みデザインからのパーティション ピンの情報は、get_pplocs
コマンドを使用して取得できます。-nets
または -pins
オプションを使用すると、特定の RP またはインターフェイス ピンの情報を取得できます。
get_pplocs -nets <args> -pins <args> [-count] [-unlocked] [-locked] [-level <arg>] [-quiet] [-verbose]
名前 | 説明 |
---|---|
-nets
|
PPLOC をレポートするネットを 1 つ以上指定します。 |
-pins
|
PPLOC をレポートするピンを 1 つ以上指定します。 |
[-count]
|
PPLOC の数をレポートし、PPLOC またはノードの名前はレポートしません。 |
[-unlocked]
|
固定されていない PPLOC のみをレポートします。 |
[-locked]
|
固定されている PPLOC のみをレポートします。-level オプションを使用して固定レベルを指定してください。 |
[-level]
|
固定レベルを指定します。 |
[-quiet]
|
コマンド エラーを表示しません。 |
[-verbose]
|
メッセージの非表示設定を解除し、すべてのメッセージを表示します。 |
例:
get_pplocs -pins [get_pins u_count/*]
UltraScale または UltraScale+ デザインでは、すべてのインターフェイス ポートに対してパーティション ピンが作成されるわけではありません。CONTAIN_ROUTING エリアの拡張に説明されている配線拡張機能を使用すると、一部のインターフェイス ネットは完全に拡張領域内に含まれます。この場合、パーティション ピンは挿入されず、ソースおよびすべてのロードを含むネット全体がパーシャル BIT ファイルでキャプチャされるエリアに含まれます。配線用に不要な中間ポイントが選択されるのではなくネット全体が配線し直されるので、Vivado ツールで柔軟に最適なソリューションを選択できます。