シングル BD デザイン
この機能を使用することで、N 個のアドレス セグメントを現在のアドレスでロックし、残りのセグメントを新しいアドレスに移動させることができます。
- Tcl コマンド
set_property locktype local [get_bd_addr_segs {versal_cips_0/FPD_CCI_NOC_0/SEG_axi_bram_ctrl_0_Mem0}]
を使用してブロック RAM をロックできます。次に示すのは、CIPS_DDR_PL_debug
のサンプル デザインで、ブロック RAM を現在のアドレスでロックしますが、それ以外はすべて割り当てます。また、次の図に示すように、GUI を使用してブロック RAM をロックすることも可能です。
- セグメントがロックされると、次の図に示すように [Address Editor] ウィンドウでは淡色表示されます。
-
Unassign all は、ロックされているセグメント (CIPS - ブロック RAM アドレス セグメント) を除き、デザイン内のすべてのマスター セグメントの割り当てを解除します。
- ロック セグメントは、ロックされている間は、個別に割り当てを解除したり、範囲またはオフセットを変更したりすることはできません。
- その後、割り当て BD アドレスを呼び出し、ロックされたセグメントを除くすべてのセグメントを再度割り当てることができます。
複数 BD デザイン
アドレス指定は複数の独立したブロック図に分散させることができ、ブロック コンテナー技術を用いて後で最上位デザインに統合できます。ロック機能を使用することで、個々のデザインのアドレス指定のうち固定される部分を定義して、デザインのアドレス指定が最上位に統合されたときにその状態が維持されるようにし、その他のロックされていない部分は動的なままにすることができます。
- 次のユース ケースの例から、この機能がブロック コンテナーでどのように役立つかがわかります。CIPS_DDR_PL_debug のサンプル デザインを例にとると、ブロック コンテナー内の BRAM は NOC を介して CIPS にマップされています。
- ブロック コンテナー BRAM のソース図および [Address Editor] ウィンドウは次のように表示されます。
- ソース BD のアドレス セグメントをグローバルにロックすると、最上位 BD でもロックされたままになります。
注記: ソース BD (つまり BRAMs.bd) のアドレス セグメントがグローバルではなくローカルにロックされた場合、最上位 BD (つまり cips_dd_pl_debug.bd) ではアドレス セグメントのロックは解除されたままとなります。