get_board_component_interfaces - 2023.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
UG835
Release Date
2023-05-16
Version
2023.1 English

Gets the list of interfaces in the board components that implement busdef specified by VLNV

Syntax

get_board_component_interfaces [‑regexp] [‑nocase] [‑all] [‑filter <arg>]
    [‑of_objects <args>] [‑quiet] [‑verbose] [<patterns>...]

Returns

List of bus interfaces.

Usage

Name Description
[-regexp] Patterns are full regular expressions
[-nocase] Perform case-insensitive matching
[-all] Returns all enabled as well as disabled interfaces
[-filter] Filter list with expression
[-of_objects] Get 'board_component_interface' objects of these types: 'board board_component'.
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
[<patterns>] Match Bus Interface names against patterns Default: * Values: The default search pattern is the wildcard *, or .* when -regexp is specified.

Categories

Object, Board

Description

Gets a list of interfaces defined on the components found on the current board, as defined in the Board Interface file.

The board file, board.xml located in the data/boards folder of the Vivado® Design Suite installation area, stores information regarding board attributes. The board provides a representation of the overall system that the Xilinx® device is a part of, and can help define key aspects of the design, such as clock constraints, I/O port assignments, defined components and supported interfaces. You can create custom boards by defining a custom Board Interface file, as described in the Vivado Design Suite User Guide: System-Level Design Entry (UG895).

The component interface defines related groups of signals that are found on a component, or a component mode.

This command returns a list of component interfaces, or returns an error if it fails.

Arguments

-regexp - (Optional) Specifies that the search <patterns> are written as regular expressions. Both search <patterns> and -filter expressions must be written as regular expressions when this argument is used. Xilinx® regular expression Tcl commands are always anchored to the start of the search string. You can add ".*" to the beginning or end of a search string to widen the search to include a substring. See http://perldoc.perl.org/perlre.html for help with regular expression syntax.
Note: The Tcl built-in command regexp is not anchored, and works as a standard Tcl command. For more information refer to http://www.tcl.tk/man/tcl8.5/TclCmd/regexp.htm.

-nocase - (Optional) Perform case-insensitive matching when a pattern has been specified. This argument applies to the use of -regexp only.

-all - (Optional) Return a list of all component interfaces defined in the Board Interface file of the current board.

-filter - (Optional) Filter the results list with the specified expression. The -filter argument filters the list of objects returned by get_board_component_interfaces based on property values on the component interfaces. You can find the properties on an object with the report_property or list_property commands. Any property/value pair can be used as a filter. In the case of the component interface object, "NAME" and "BUSDEF_NAME" are two of the properties that can be used to filter results.

The filter search pattern should be quoted to avoid having to escape special characters. String matching is case-sensitive and is always anchored to the start and to the end of the search string. The wildcard “*” character can be used at the beginning or at the end of a search string to widen the search to include a substring of the property value.
Note: The filter returns an object if a specified property exists on the object, and the specified pattern matches the property value on the object. In the case of the "*" wildcard character, this will match a property with a defined value of "".
For string comparison, the specific operators that can be used in filter expressions are "equal" (==), "not-equal" (!=), "match" (=~), and "not-match" (!~). Numeric comparison operators <, >, <=, and >= can also be used. Multiple filter expressions can be joined by AND and OR (&& and ||). The following gets input pins that do NOT contain the “RESET” substring within their name:
get_pins * -filter {DIRECTION == IN && NAME !~ "*RESET*"}
Boolean (bool) type properties can be directly evaluated in filter expressions as true or not true:
-filter {IS_PRIMITIVE && !IS_LOC_FIXED}

-of_objects <args> - (Optional) Get the component interfaces of the specified board, or board_component objects.

-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.

<patterns> - (Optional) Match component interfaces against the specified search patterns. The default pattern is the wildcard '*' which gets a list of all component interfaces defined on the current board.

Examples

The following example gets the component interfaces defined in the Board Interface file for the specified board component:

get_board_component_interfaces -of_objects [get_board_components *part0*]

The following example gets the component interfaces defined in the Board Interface file, and then uses that information to create interfaces in the current project:

#Get and Create Interfaces for I/O Ports
foreach x [get_board_component_interfaces] {
create_interface $x }