We use the ipx::add_register_parameter
and set_property
commands to create connections between the address pointer arguments and the AXI master port, such as the below command lines for AXI read master axi_rmst
:
ipx::add_register_parameter ASSOCIATED_BUSIF [ipx::get_registers SRC_ADDR -of_objects [ipx::get_address_blocks reg0 -of_objects [ipx::get_memory_maps s_axi_control -of_objects [ipx::current_core]]]]
set_property value {axi_rmst} [ipx::get_register_parameters ASSOCIATED_BUSIF \
-of_objects [ipx::get_registers SRC_ADDR \
-of_objects [ipx::get_address_blocks reg0 \
-of_objects [ipx::get_memory_maps s_axi_control \
-of_objects [ipx::current_core]]]]]
You will use the ipx::add_bus_parameter
and set_property
commands to correctly set the AXI master data width, as shown in the following example:
ipx::add_bus_parameter DATA_WIDTH [ipx::get_bus_interfaces axi_wmst -of_objects [ipx::current_core]]
set_property value {128} [ipx::get_bus_parameters DATA_WIDTH -of_objects [ipx::get_bus_interfaces axi_wmst -of_objects [ipx::current_core]]]
The DATA_WIDTH
property is written to the generated kernel XML file.