Creating a Block Design to Use the Board Flow - 2023.2 English

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

Document ID
UG994
Release Date
2023-10-18
Version
2023.2 English

The real power of the board flow can be seen in the IP integrator.

From Flow Navigator, click IP Integrator > Create Block Design to start a new block design.

As the design canvas opens, you see a Board window, as shown in the following figure.

Figure 1. Board Window

This Board window lists all the possible components for an evaluation board (see the KC705 board above) and a FMC card (if selected). By selecting one of these components, an IP can be quickly instantiated on the block design canvas.

The first way of using the Board window is to select a component from the Board window and drag it onto the block design canvas. This instantiates an IP that can connect to that component and configures it appropriately for the interface in question. It then also connects the interface pin of the IP to an I/O port.

As an example, when you drag and drop the Linear Flash component under the External Memory folder, on the IP integrator canvas, the AXI EMC IP is instantiated and the interface called linear_flash is connected, as shown in the following figure.

Figure 2. Dragging and Dropping an Interface on the Block Design Canvas

The second way to use an interface on the target board is to double-click the unconnected component in question from the Board window.

As an example, when you double-click the DDR3 SDRAM component in the Board window, the Connect Board Component dialog box opens, as shown in the following figure.

Figure 3. Connect Board Component Dialog Box

The mig_ddr_interface is selected by default. If there are multiple interfaces listed under the IP, select the interface desired. Select the mig_ddr_interface, and click OK.

The IP is placed on the Diagram canvas and connections are made to the interface using the I/O ports. As shown in the following figure, the IP is all configured accordingly to connect to that interface.

Figure 4. IP Instantiated, Configured, and Connected to Interfaces on the Diagram Canvas

As an interface is connected, that particular interface now shows up as a shaded circle in the Board window, as shown in the following figure.

Figure 5. Board Window After Connecting to an Interface

A component can also be connected using the Auto Connect command.

To do this, select and right-click the component and from the menu, as shown in the following figure, and click Auto Connect.

Figure 6. Auto Connect Command

The GPIO IP has been instantiated and the GPIO interface is connected to the preferred I/O port defined in the Board Interface file, as shown in the following figure.

Figure 7. Instantiating an IP Using Auto Connect

If another component such as DIP switches is selected, the board flow is aware enough to know that a GPIO already is instantiated in the design and it re-uses the second channel of the GPIO, shown in the following figure.

Figure 8. GPIO Auto Connection

The already instantiated GPIO is re-configured to use the second channel of the GPIO as shown in the following figure.

Figure 9. GPIO IP Configured to Use the Second Channel

If an external memory component such as the Linear Flash or the SPI Flash is chosen, then as one of them is used, the other component becomes unusable because only one of these interfaces can be used on the target board.

In this case, the following message pops-up when the user tries to drag the other interface such as the SPI Flash on the block design canvas.

Figure 10. Auto Connect Warning

If a component on the FMC card is selected, then that component would be connected using an appropriate IP.

Figure 11. Connecting to Components on FMC Card

As can be seen in the following figure, another GPIO has been instantiated that connects to the LEDs on the FMC card.

Figure 12. Connecting to Components on FMC Card