get_bd_regs - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

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

Get a list of registers

Syntax

get_bd_regs [‑of_objects <args>] [‑quiet] [‑verbose]

Returns

List of register objects, "" if failed.

Usage

Name Description
[-of_objects] Get registers of segments, interface pins, external interface ports
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution

Categories

IPIntegrator

Description

Get a list of registers using the objects of address segments, interface pins, and external interface ports. The register objects will provide the register's display name and the memory offset address. There is no default behavior for this command as it requires the use of -of_objects argument with a valid value that is an object of the address segments, interface pins, or external interface ports. The command will get the registers directly from the address segment objects or from address segments associated with the specified interface pin or interface port objects.

Arguments

-of_objects <args> - (Required) The argument value is an object of address segments, interface pins, or external interface ports as returned by the get_bd_addr_segs, get_bd_intf_pins, or get_bd_intf_ports commands. If the object is an address segment, the command will get the registers directly associated with the segment. If the object is either an interface pin or external interface port, the command will find the associated address segments and obtain the registers from those segments.

-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

Examples

The following example creates an external interface pin, assigns an address space, and then gets the registers associated with that address space:

% create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_0
% make_bd_intf_pins_external  [get_bd_intf_pins axi_gpio_0/S_AXI]
% assign_bd_address
% get_bd_addr_segs
/axi_gpio_0/S_AXI/Reg /S_AXI_0/SEG_axi_gpio_0_Reg
% set seg [get_bd_addr_segs /axi_gpio_0/S_AXI/Reg]
/axi_gpio_0/S_AXI/Reg
% get_bd_regs -of_objects $seg
GPIO_DATA GPIO_TRI GPIO2_DATA GPIO2_TRI GIER IP_IER IP_ISR
%set regs [get_bd_regs -of_objects $seg]
GPIO_DATA GPIO_TRI GPIO2_DATA GPIO2_TRI GIER IP_IER IP_ISR
% set reg [lindex $regs 0]
GPIO_DATA
% report_property $reg
Property     Type    Read-only  Visible  Value
CLASS        string  true       true     bd_reg
DISPLAYNAME  string  true       true     Channel_1_GPIO_DATA
NAME         string  true       true     GPIO_DATA
OFFSET       string  true       true     0x0