Adding Pins and Interfaces to Hierarchies - 2020.2 English

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

Document ID
Release Date
2020.2 English

As mentioned above, you can create an empty hierarchy and you can define the pin interface on that hierarchy before moving blocks of IP under the hierarchy.

Right-click the IP integrator canvas, with no IP blocks selected, and select Create Hierarchy. In the Create Hierarchy dialog box, you specify the name of the hierarchy. After the empty hierarchy is created, the BD should look like the following figure.

Figure 1. Empty Hierarchy

You can add pins to this hierarchy by typing the create_bd_pin command at the Tcl Console:

create_bd_pin -dir I -type rst /hier_0/rst

In the above command, an input pin named rst of type rst was added to the hierarchy. You can add other pins using similar commands. Likewise, you can add a clock pin to the hierarchy using the following Tcl command:

create_bd_pin -dir I -type clk /hier_0/clock

You can also add interfaces to a hierarchy by using the following Tcl commands. First set the BD instance to the appropriate hierarchy where the interface is to be added, using the current_bd_instance Tcl command:

current_bd_instance /hier_0

Next, create the interface using the create_bd_intf_pin Tcl command as follows:

create_bd_intf_pin -mode Master -vlnv gpio

It is assumed that the right type of interface has been created prior to using the above command. After executing the commands shown above the hierarchy should look as shown in the following figure.

Figure 2. Create Pins

After you have created the appropriate pin interfaces, different blocks can be dropped within this hierarchical block and pin connections from those IP to the external pin interface can be made.

Figure 3. Connected IP to Hierarchical Pin Interface