Block Design Container (BDC) is a new feature in Vivado IP Integrator which allows one or more block designs to be instantiated inside another block design. This enables a seamless team-based design environment for engineers who work on parts of a bigger design. BDC also provides a project-based approach to enable and disable DFX (formerly called Partial
OR
4. Observe that up_counter is inserted as a BDC. Now run Connection Automation twice based on the banner for Clock and Reset connections
5. The BD should look like the following :
6. Click on the + sign on the up_counter_0. This will show the BD inside the BDC. This is In Place Expansion
Now let us use the down counter for simulation and the up-counter for synthesis. This is where the concept of variance comes in. We will change select up_counter as the synthesis variant and down_counter as simulation variant
7. Double click on the up_counter_0 to open the BDC customization dialog.
8. Un-check using the same source as the Synthesis checkbox. Click on the '+' sign under Simulation Sources. In the Select Block Design Dialog, select down_counter.bd and click OK. Observe that down_counter.bd is added as a simulation source. Check the radio button next to it to make it active. Click OK
Note that there is an option to Freeze the boundary of the container in the BDC Customization GUI. Selecting this option will lock the boundaries and parameter propagation from the top-level BD will not take place.
9. Observe the change in the BD canvas to reflect that up_counter.bd will be used for Synthesis and down_counter.bd will be used for simulation.
Note that for Variants, the port level Boundaries should not change.
4. Name the hierarchy as microblaze_subsystem and click OK
5. Validate the BD
6. Now Right Click on the Microblaze Subsystem and Click on Create Block Design Container. Click OK in the following Popup
7. Since this is a Microblaze design, any Elf file Associated with Microblaze previously will be lost. Hence you will get a Critical Warning. For this demo, we can safely ignore the Critical Warning.
8. Observe that microblaze_subsystem is now a BDC.
9. Additionally, you can see that a separate BD is created for microblaze_subsystem
In Conclusion, BDC is an important feature for a Collaborative Design Scenario. The following three features available in Vivado in 2021.2, when used in conjunction gives a seamless Collaborative Design experience :
Chapter 5 of UG 994. Link: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_2/ug994-vivado-ip-subsystems.pdf
Snehal Ullagaddi is a senior product marketing manager at AMD, focused on Vivado ML. Prior to AMD, she has worked at both semiconductor and software companies. She holds a Master’s degree in Electrical Engineering from the University of Minnesota, Twin Cities.
See all Snehal Ullagaddi's articles