Add a new bus interface to a peripheral.
Syntax
add_peripheral_interface ‑interface_mode <arg> ‑axi_type <arg> [‑quiet]
[‑verbose] <name> <peripheral>
Usage
Name | Description |
---|---|
-interface_mode
|
Mode of an interface, supported option - master,slave. |
-axi_type
|
Type of a axi interface, supported option - lite,full,stream. |
[-quiet]
|
Ignore command errors |
[-verbose]
|
Suspend message limits during command execution |
<name>
|
Name to initialize the newly added element e.g S1_AXI, M1_AXI |
<peripheral>
|
Peripheral object |
Categories
Description
Add an AXI bus interface to a peripheral created with the create_peripheral
command.
Arguments
-interface_mode [ master | slave ]
- (Optional) Specify the interface as a slave or master interface. The master interface generates out-bound AXI transactions and thus is the source of an AXI transfer. A slave interface receives in-bound AXI transactions and is the target of an AXI transfer.
-axi_type <arg>
- (Optional) Type of AXI interface to add. The supported values are: full, lite, and stream.
- The full AXI4 interface is for memory mapped interfaces allowing bursts of up to 256 data transfer cycles with just a single address phase.
- The AXI4-Lite protocol is a subset of the AXI4 protocol intended for communication with simpler, smaller control register-style interfaces in components.
- The AXI4-Stream protocol is designed for unidirectional data transfers from master to slave with greatly reduced signal routing. Note: For more information on AXI interfaces refer to the AXI Reference Guide (UG761).
-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.
-verbose
- (Optional) Temporarily override any message limits and return all messages from this command.
set_msg_config
command.
<name>
- (Required) User-specified name of the interface to add.
<peripheral>
- (Required) The peripheral object to add the interface to. The peripheral is created with the create_peripheral
command, which should be captured in a Tcl variable to facilitate further processing by this and other related commands. See the example below.
Example
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:
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
add_peripheral_interface {S2_AXI} -interface_mode {slave} \
-axi_type {lite} $perifObj