rename_pin - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2023.2 English

rename a pin


rename_pin ‑to <arg> [‑quiet] [‑verbose] <pin>...


Name Description
-to New name
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<pin> Pin to rename




Rename the specified pin on a hierarchical cell in the current synthesized or implemented design.

The following are limitations with regard to renaming pins:

  • Pins on primitive cells cannot be renamed.
  • A pin on a hierarchical cell that has the DONT_TOUCH property can be renamed, but a pin on an hierarchical cell inside a DON'T_TOUCH cell cannot be renamed.
  • You cannot rename individual bits of a bus pin, but you can collectively rename the whole bus.
Netlist editing changes the in-memory view of the netlist in the current design. It does not change the files in the source fileset, or change the persistent design on the disk. Changes made to the netlist may be saved to a design checkpoint using the write_checkpoint command, or may be exported to a netlist file such as Verilog, VHDL, or EDIF, using the appropriate write_* command.
Note: Netlist editing is not allowed on the elaborated RTL design.

Changes to the names of cells, nets, pins, and ports, will also affect the design constraints defined in the in-memory design. Constraints are automatically modified to target the new object name, however these are not written back to the source XDC file. Saving the modified in-memory design using write_checkpoint will save both the renamed objects and modified constraints.

This command returns nothing if successful, or an error if it fails.


-to <arg> - (Required) The new name to assign to the specified pin. The new name only needs to specify the pin name, rather than the whole hierarchical name of the pin. Specified names can not contain Tcl special characters: '"\{};$#

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

<pin> - (Required) The hierarchical name of a pin, starting with the instance name of the cell it is found on.


The following example renames the specified pin:

rename_pin -to in1 egressLoop[0].egressFifo/I1

The following example shows the error that is returned when you try to rename a single bit of a bus, and then renames the whole bus pin:

rename_pin -to din[0] egressLoop[0].egressFifo/buffer_fifo/dataInput[0]
WARNING: [Coretcl 2-1480] rename_pin can not rename bits of a bus, \
use resize_pin_bus instead.
rename_pin -to dataInput egressLoop[0].egressFifo/buffer_fifo/din