write_peripheral - 2024.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2024.1 English

Save peripheral component to the disk.


write_peripheral [‑quiet] [‑verbose] <peripheral>


Name Description
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<peripheral> Peripheral object


Write the specified AXI peripheral object to disk in the form of the component.xml file. The peripheral is written to the repository location specified by the create_peripheral command, under the name specified at creation.


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

<peripheral> - (Required) The peripheral object to write. The peripheral is created with the create_peripheral command, and should be captured in a Tcl variable to facilitate further processing by this and other related commands. See the example below.


This example creates a new AXI peripheral, with the VLNV attribute as specified, and captures the peripheral object in a Tcl variable for later processing, then adds AXI slave interfaces to the peripheral, and generates the output products for the peripheral, and writes the component.xml file to disk. The directory of the new peripheral is added to the IP_REPO_PATH property of the current fileset, and the IP catalog is updated to include the new peripheral:

set perifObj [ create_peripheral {myCompany.com} {user} {testAXI1} \
   {1.3} -dir {C:/Data/new_periph} ]
add_peripheral_interface {S0_AXI} -interface_mode {slave} \
   -axi_type {lite} $perifObj
add_peripheral_interface {S1_AXI} -interface_mode {slave} \
   -axi_type {lite} $perifObj
generate_peripheral -driver -bfm_example_design \
   -enable_interrupt $perifObj
write_peripheral $perifObj
set_property ip_repo_paths  C:/Data/new_periph [current_fileset]
update_ip_catalog -rebuild