Step 3: Create a Block Design Container - 2021.2 English

Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947)

Document ID
UG947
Release Date
2022-04-18
Version
2021.2 English

Now that levels of hierarchy are established, the rp1 instance can be converted to a block design container, which will represent the Reconfigurable Partition.

  1. Right-click on the collapsed rp1 instance and select Create Block Design Container.
  2. Name the container rp1rm1 and click OK.
    Figure 1. Create a Block Design Container Named rp1rm1

    This will convert the hierarchical instance into a block design container. The level of the hierarchy is labeled rp1rm1.bd and the block contains an icon that looks like a pyramid of six rectangles.

    Figure 2. rp1 as a Block Design Container

    In the sources view, you will see a new block design has been added to the project.

    Figure 3. Design Hierarchy After Block Design Container Creation

    This action has created a new block design for the rp1 submodule. If you expand the rp1 instance in the design_1 block design, you will see that you cannot edit the design at that level. This is a read-only copy, so to edit the design you must open the source rp1rm1.bd block design from the Sources view as seen in Figure 9.

  3. Double click on the rp1rm1 block design in the Sources window to open the block design.
    Figure 4. The Editable rp1rm1 Block Design Source
  4. Select the Address Editor tab and ensure the range for /rp1/axi_gpio_1/S_AXI is 64K.
    Figure 5. Confirm the Address Range for the GPIO AXI Port is 64K
  5. If any changes have been made, return to the diagram, right-click and select Validate Design. After validation completes, save the block design.

    The design as it stands now is still a standard IP integrator project but with two block designs instead of just one. The block design container feature in IP integrator allows you to add multiple design sources for the rp1 hierarchical instance, enabling changes through the use of multiple design revisions, or allowing for team design by sharing submodule block designs with team members.