コマンド/プロパティ名 | 説明 |
---|---|
create_pblock
|
各 OOC インスタンスの最初の Pblock を作成します。 |
resize_pblock
|
Pblock のサイト タイプ (SLICE、RAMB36 など) とサイト位置を定義します。 |
add_cells_to_pblock
|
Pblock に含めるインスタンスを指定します。通常これは、個別のインスタンスではなく階層レベルです。OOC インプリメンテーションでは、セル名を指定する代わりに、-top を使用して OOC モジュールの下のセルすべてを指定できます。 |
CONTAIN_ROUTING | Pblock に含まれない配線リソースが使用されないようにする Pblock プロパティです。デフォルト値は FALSE です。Pblock 範囲に完全に含まれるパスのみが含まれます。たとえば、BUFGMUX 範囲がない場合、BUFGMUX に入出力されるパスは含まれません。これは BUFGMUX のような多くのコンポーネントで適切な動作です。 |
EXCLUDE_PLACEMENT | 定義された Pblock 範囲内の Pblock に含まれないロジックが配置されないようにするため使用する Pblock プロパティです。デフォルト値は FALSE です。このプロパティは OOC インプリメンテーションには影響しませんが、アセンブリ中の最上位ロジックの配置に影響します。ザイリンクスでは、アセンブリ中に最適な結果を得るには値を FALSE のままにすることをお勧めします。 |
PARENT | Pblock 階層を識別する Pblock プロパティで、子 Pblock を完全に含む親 Pblock の名前を示します。OOC インプリメンテーションを含む入れ子の Pblock には、モジュール再利用で正しく動作するよう PARENT キーワードを使用する必要があります。 |
Pblock コマンドおよびプロパティの例
-
create_pblock <pblock_name>
-
add_cells_to_pblock [get_pblocks <pblock_name>] -top
-
resize_pblock [get_pblocks <pblock_name>] -add {SLICE_X0Y0:SLICE_X100Y100}
-
resize_pblock [get_pblocks <pblock_name>] -add {RAMB18_X0Y0:RAMB18_X2Y20}
-
set_property CONTAIN_ROUTING true [get_pblocks <pblock_name>]
Pblock に追加されるセルが -top
を使用して指定されていることに注意してください。これは、OOC インプリメンテーションでは OOC インスタンスが最上位になり、OOC インスタンス全体が Pblock に含まれる必要があるからです。-top
を使用することで、OOC モジュールが最上位デザインにインポートされる際に、Pblock が正しい階層レベルに適切に変換されるようもなります。
OOC モジュール内のロジックをフロアプランする場合は、Pblock を入れ子にできます。子 Pblock は完全に親 Pblock 内に含まれる必要があります。Pblock 間の親子関係は、次に示すように PARENT プロパティを使用して宣言します。
set_property PARENT <parent_pblock_name> [get_pblocks <child_pblock_name>]
Pblock プロパティ PARENT は別の Pblock を参照するので、制約が処理される順序が重要です。親 Pblock (-top
を使用) は、それを参照する子 Pblock よりも前に定義する必要があります。
上記のタイミング制約および物理制約に加え、OOC のコンテキストを定義する制約もあります。