How to Lock the Address - 2024.2 English - UG994

Vivado Design Suite User Guide: Designing IP Subsystems Using IP Integrator (UG994)

Document ID
UG994
Release Date
2024-11-13
Version
2024.2 English

Single BD Design

This feature can be used if user decided that they wish to lock 'N' address segments at their current addresses while moving the remainder of the segments to new addresses.

  1. You can lock the Block RAM using the Tcl command set_property locktype local [get_bd_addr_segs {versal_cips_0/FPD_CCI_NOC_0/SEG_axi_bram_ctrl_0_Mem0}]. Following is the CIPS_DDR_PL_debug example design, which locks the block RAM at their current addresses but assigns everything else.

    You can also lock the block RAM using the GUI as shown in the following figure.



  2. After the segment is locked, it is grayed out in the address editor as shown in the following image.

  3. Unassign all would unassign every master segment in the design, except for the segments locked, that is, CIPS- block RAM address segment.

  4. Locked segments cannot be unassigned individually, nor can their ranges or offsets be changed, while they are in the locked state.
  5. You then can call assign BD address to reassign all except the locked segment.

Multiple BD Design

Addressing can be spread out across multiple independent block diagrams that are later combined together into a top design using block containers technology. Locking lets you to define sections of the addressing of individual designs that are fixed and remains so when the design's addressing is combined on top, while leaving the other unlocked parts dynamic.

  1. Following is an example use case that describes how this feature is useful to you with block containers. Consider the CIPS_DDR_PL_debug example design with block RAM inside block container is mapped to CIPS through NOC.

  2. The source diagram for the block container BRAMs and the address editor looks as follows.



  3. Locking globally the address segment in source BD, it would remain locked in top BD as well.



    Note: If the source BD (that is, in BRAMs.bd) address segment is locked local instead of global, the address segment would remain unlocked in top BD (that is, cips_dd_pl_debug.bd).