Custom GUI Buttons - 2023.2 English

Vivado Design Suite User Guide: Using Tcl Scripting (UG894)

Document ID
Release Date
2023.2 English

In GUI mode, custom buttons can be added to the main toolbar. These buttons can be linked to a Vivado command or user proc and can be defined with or without arguments. Dedicated icons can also be used for the custom buttons. If a button defines arguments, a simple widget opens up when the button is activated by the user.

Any change to the custom buttons is automatically saved on-disk inside the user area for the Vivado tools version that is modified. These changes are reflected in subsequent calls of the same Vivado tools version. Custom buttons do not need to be re-defined every time Vivado Design Suite is started.

There are two ways to define a custom button:

  • Through the GUI: Tools > Custom Commands > Customize Commands.
  • Programmatically through a Tcl API.

The following table lists commands of the Tcl API to create or delete custom GUI buttons.

Table 1. Tcl APIs for Custom GUI buttons
Tcl API Description
create_gui_custom_command Create a custom GUI button
remove_gui_custom_commands Remove a custom GUI button
get_gui_custom_commands Get the list of custom GUI buttons
create_gui_custom_command_arg Create an argument for an existing custom GUI button
remove_gui_custom_command_arg Remove an argument for an existing custom GUI button
get_gui_custom_command_arg Get the list of arguments for an existing custom GUI button

A custom button can be defined with or without one or more arguments. After the custom button has been created using create_gui_custom_command, each argument must be added with create_gui_custom_command_arg.

When a custom button is removed, Vivado Design Suite automatically removes all its arguments. There is no need to manually remove the arguments.