Configuring Block Design Containers from Top BD  - 2021.1 English

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

Document ID
UG994
Release Date
2021-06-16
Version
2021.1 English
User 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 the BDC

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 DFX on BDC

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 intergrator, refer Vivado Design Suite User Guide: Dynamic Function eXchange (UG909).

Specify BDC variants for synthesis and/or simulation

User 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, user 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, user can specify different sources used for BDC synthesis and simulation.

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 the user only specifies 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.
Aperture settings set to 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.
Aperture settings set to 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, User 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 since the address assignments may 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. This aperture can be added automatically by the Vivado tool by examining all assignments, or manually added by the user. For further information regarding the DFX and BDC apertures, refer Vivado Design Suite User Guide: Dynamic Function eXchange (UG909).

BDC Customization GUI Addressing Tab

The Addressing tab shows a list of interfaces with apertures. Most interfaces only have one aperture and it is shown on the same row as the interface. If an interface has multiple rows then it has additional rows below that interface for the apertures.
  • Manual BDC apertures are in black color and editable.
  • Auto BDC apertures are in gray color and non-editable.
Tip: If there are multiple manual apertures for one interface only the line with the interface name has the auto/manual slider.
In non-DFX designs, the auto aperture shows no value (no aperture). If the user switches to Manual mode in non-DFX mode, then the initial aperture is the sum of all variant apertures, the same as in DFX mode.
Upon clicking the Show Detailed View button, the user can clearly see the address segments in each variant and whether they can or cannot (shown in red) fit into the apertures defined by the design. User can manually include all the assignments from all the variants in the aperture list by performing following steps:
  1. Click button
  2. Select the BDC interface
  3. Assign the address base and range values
Figure 4. Aperture Addition Pop-up