RTL デザインを使用すると、異なる階層レベルのさまざまな RTL モジュールに、個別の IP インテグレーター ブロック デザイン ソースをインスタンシエートできます。ただし、これらのブロック デザインは分離されたインスタンスであり、モジュール化を使用してブロック デザイン内のアドレス指定またはパラメーター伝搬を制御することはできません。
ブロック デザイン コンテナー (BDC) を使用すると、1 つまたは複数のブロック デザインを別のブロック デザイン内にインスタンシエートできます。この機能は、階層ブロックとその内容をブロック デザインに変換します。変換後のブロック デザインは .bd ファイルとして定義され、別のブロック デザイン プロジェクトの一部としても使用できます。
次の図では、1 つの階層にインスタンシエートされた 3 つの個別のブロック デザインが 2 つの階層レベルに変換され、ブロック デザイン コンテナーを使用して、ブロック デザイン 1 にブロック デザイン 2 とブロック デザイン 3 がインスタンシエートされています。
BDC の利点は次のとおりです。
- 大型ブロック デザインを BDC サブブロックに分割し、各ブロック デザインを個別に開発できます。
- キャンバスで BD の内容を複製できます。
- さまざま IP インテグレーター プロジェクトで .bd ソースを再利用できます。
サブブロック デザイン階層の内容を、最上位ブロック デザインのブロック図から表示できます。BDC の内容の変更は、その BDC のソース ブロック デザイン内で加える必要があります。加えた変更は、最上位ブロック デザインに自動的に反映されます。
最上位ブロック デザインに含まれる IP からのすべてのパラメーターは、サブブロック デザイン BDC 内の接続された IP に自動的に伝搬されます。これにより、同じソース ブロック デザインの複数のインスタンスを含め、それらのインスタンスに異なるパラメーターまたはプロパティを伝搬させることができます。BDC サブブロックのすべてのアドレス指定も、最上位ブロック デザインから実行する必要があります。