When active the AXI Monitor will record transactions that are presented on the virtual interface.It does below functions: Monitors all 5 AXI channels: AW, AR, R, W, and B. Collects and re-orders R Channel beats and returns a completed transaction when the RLAST is accepted Collects and re-orders B Channel response and returns a completed transaction when the B channel is accepted Transaction based protocol checking
xil_analysis_port #(axi_monitor_transaction) item_collected_port; provides methods for axi monitor transaction.
xil_analysis_port #(xil_axi_cmd_beat) axi_cmd_port; provides methods for axi command.
xil_analysis_port #(xil_axi_cmd_beat) axi_rd_cmd_port; provides methods for axi read command.
xil_analysis_port #(xil_axi_cmd_beat) axi_wr_cmd_port; provides methods for axi write command.
xil_analysis_port #(xil_axi_resp_beat) axi_bresp_port; provides methods for axi bresponse.
xil_analysis_port #(xil_axi_write_beat) axi_wr_beat_port; provides methods for axi write beat.
xil_analysis_port #(xil_axi_read_beat) axi_rd_beat_port; provides methods for axi read beat.
axi_vif_mem_proxy `AXI_PARAM_ORDER vif_proxy; AXI VIF Proxy Class
By default, only item_collected_port is on. To turn on other ports.Use below codes
axi_cmd_port.set_enabled() to turn on axi_cmd_port,
axi_wr_cmd_port.set_enabled() to turn on axi_wr_cmd_port;
axi_rd_cmd_port.set_enabled() to turn on axi_rd_cmd_port;
axi_bresp_port.set_enabled() to turn on axi_bresp_port;
axi_wr_beat_port.set_enabled()to turn on axi_wr_beat_port;
axi_rd_beat_port.set_enabled() to turn on axi_rd_beat_port;
function new ( |
| ); |
Constructor to create a new monitor object,initalize the original settings and pass the input name as the montior instance name.
function void set_vif( |
| ); |
Assigns input virtual interface vif to the virtual interface of the monitor.
Returns the value of AXI version of the transaction of axi_monitor. please refer xil_axi_vif_axi_version_t for possible axi version.
Returns the enum string name of AXI version of the transaction of axi_monitor. please refer xil_axi_vif_axi_version_t for possible axi version
function void set_wr_transaction_depth( |
| ); |
Sets the maximum number of WRITE transactions which axi_monitor can accept. Usually user set this depth from the agent which will automatically set it's driver/monitor
Returns the maximum number of WRITE transactions of axi_monitor.
function void set_rd_transaction_depth( |
| ); |
Sets the maximum number of READ transactions which axi_monitor can accept. Usually user set this depth from the agent which will automatically set it's driver/monitor
Returns the maximum number of READ transactions of axi_monitor.
Turn on checker for comparison of current write/read transaction depth against maximum wr_transaction_depth/rd_transaction_depth of axi_monitor.
Turn off checker for comparison of current write/read transaction depth against maximum wr_transaction_depth/rd_transaction_depth of axi_monitor.
Returns transaction_depth_checks_enabled value of axi_monitor. If user is not sure whether transaction_depth_checks_enabled is on or off, This API can be called to serve this purpose.
Returns number of read transaction in flight of axi_monitor.
Returns number of write transaction in flight of axi_monitor.
virtual function axi_monitor_transaction create_transaction ( |
| ); |
Returns an AXI monitor transaction class that has been "newed".