Configuring Block Design Containers from Top BD  - 2022.2 English

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

Document ID
UG994
Release Date
2022-10-19
Version
2022.2 English
You can access a few settings of a BDC by opening up its Customize Block Design Container dialog box. This can be done by double-clicking the BDC in the top-level block design diagram, or right-click the desired BDC and use the Customize Block command. The BDC options are shown in the following figure.
Figure 1. BDC Customize Block Design Container Dialog Box

Freeze the Boundary of this Container

This option prevents changes that modify the boundary of a BDC. The boundary includes BDC ports, interfaces, port maps, port widths, and parameters. With this option selected, nothing on the BDC boundary will change. All interfaces will have the port maps preserved, port widths will not change, and no parameters (with the exception of clk_domain property) will propagate from the top-level block design to the BDC and vice-versa.

Enable Dynamic Function eXchange on this container

BDCs enable an IP-centric and project-based environment in IP integrator to create a DFX design in Vivado. A BDC represents the Reconfigurable Partition (RP), Enable Dynamic Function eXchange on this container option converts a BDC into an RP. Once the BDC is converted, the icon on BDC changes to show a DFX label.

Multiple variants as Reconfigurable Modules (RM) can be added to the BDC for the RP instance. It is critical that the port list for each RM for a given RP is identical, even if not all of the ports are used by each RM.

A project first needs to be converted into a DFX project by selecting Tools > Enable Dynamic Function eXchange to expose DFX features within the Vivado IDE.
Important: This conversion occurs automatically when Generate Block Design is run for a design with a DFX BDC. No warning is given about the one way conversion in this case. You can still set this Tools option directly prior to generating the block design though.

For further information regarding the DFX flow in IP integrator, refer to Vivado Design Suite User Guide: Dynamic Function eXchange (UG909).

Specify BDC variants for synthesis and/or simulation

You can specify different sources for a Block Design Container. Different sources can be viewed as variants of a BDC. Variants of a BDC can differ in the IP blocks within the same defined boundary of the BDC. Once a variant source block design is added, you can select the active variant among these sources for the top-level BD. This action will update the BDC in real-time to show the contents of the new active variant. In addition, you can specify different sources used for BDC synthesis and simulation. Please refer to the Synthesis sources and Simulation sources in Figure 1. Click the + to add the variants of BDC.

BDC Apertures

An aperture is a range that restricts or bounds the address assignment. Address assignments must fit within apertures on the addressing path. Normally you only specify assignments and not apertures. However, BDC apertures are used in DFX or non-DFX designs to configure the SmartConnect and NoC blocks as if it were an address assignment. Hence BDC apertures cannot overlap (within the same network) or with other assignments. Changing BDC apertures for a design causes a SmartConnect and/or NoC to re-generate.

The general recommendation is to leave aperture settings to Auto for both DFX and non-DFX designs.
Auto
Indicates that is not entered by the user and it is auto-calculated to cover the sum of RM address assignments. A BDC auto-aperture does not restrict assignments, but instead it grows or shrinks based on the assignments. Auto apertures are not saved on disk, and are always calculated from assignments. They cannot be edited by the user.
Manual
Indicates that it was entered by the user, and it restricts address assignment. Manual apertures are saved in the BD file.

In non-DFX designs, Auto setting carries the same values for both address assignment (of the active variant) and aperture. If desired, you can still override and specify manual values. In non-DFX designs, the SmartConnect or NoC blocks do not need to cover each variant.

In DFX designs, the tool examines at all RM variants to automatically calculate the aperture values because the address assignments might be different for each RM (variant) in RP BDC.

For example, if in a DFX design (as shown below) there are two RMs:
  • RM1 with a 1M assignment
  • RM2 with an 8M assignment
Then, the SmartConnect must be configured to decode 8M even if the active variant RM1 has only assigned 1M. It is performed by adding an aperture at the BDC boundary.
Figure 2. Aperture Example in DFX Mode
Figure 3. Addressing Setting
In this case, an 8M aperture is added to S_AXI of the BDC boundary. You can add this aperture manually or automatically with the Vivado tool by examining all assignments. For further information regarding the DFX and BDC apertures, refer to Vivado Design Suite User Guide: Dynamic Function eXchange (UG909).

Addressing Tab of the Block Design Container Customization Dialog Box

The Addressing tab shows a list of interfaces with apertures on the same row. Most interfaces only have one aperture. If an interface has multiple rows, the additional rows will appear below the interface for the apertures.
  • Manual BDC apertures are in black font and are editable.
  • Auto BDC apertures are in gray font and are non-editable.
Tip: If there are multiple manual apertures for one interface, just the line with the interface name has the auto/manual slider.
In non-DFX designs, the auto aperture shows no value (no aperture). If you switch to Manual mode while in non-DFX mode, the initial aperture will display the sum of all variant apertures, which is the same as in DFX mode.
When you click the Show Detailed View button, you can clearly see the address segments in each variant and whether they can fit into the apertures defined by the design. If they cannot fit into the apertures they will be displayed in red. You can manually include all the assignments from all the variants in the aperture list by performing following steps:
  1. Click the button
  2. Select the BDC interface
  3. Assign the address base and range values
Figure 4. Aperture Addition Pop-up
Note: There are set of errors that can be generated while running DFX Design Rule Checks in the IP integrator. These are  common scenarios regarding NoC usage in DFX designs. Additional details and suggested fixes are listed at  NoC DFX DRCs in the section IP integrator: Problems and Solutions in Vivado Design Suite User Guide: Dynamic Function eXchange (UG909)