xil_sqr_if_base

xil_sqr_if_base is a base class which provides the interfaces necessary in order to receive or send sequence items and/or other sequences. xil_sqr_if_base #(T1, T2)

Functions
set_name
function void set_name(
input string in
);

Set the name of the xil_sqr_if_base.

get_name
function string get_name();

Return the name of the xil_sqr_if_base .

set_max_item_cnt
function void set_max_item_cnt(
input integer unsigned in
);

Set the maximum number of concurrent connections to the same inbound/output sequence port.

get_max_item_cnt
function integer unsigned get_max_item_cnt();

Return the maximum number of concurrent connections to the same inbound/output sequence port.

get_next_item
virtual task get_next_item(
output T1 t
);

Pop out sequence item from item queue of xil_sqr_if_base when item queue is not empty. It is a block task and will wait until there is item in the queue.

try_next_item
virtual function void try_next_item(
output T1 t
);

Pop out sequence item from item queue of xil_sqr_if_base when item queue is not empty,othewise it returns a null object.It is a non-block task

wait_for_item_done
virtual task wait_for_item_done(
int transaction_id = -1
);

When item_done_cnt of xil_sqr_if_base is not zero, item_done_cnt decrements. it is a block task till there is a done_item_cnt_event occurs.

item_done
virtual function xil_uint item_done(
input T1 t = null
);

Give error message about attempting to double pop the item_done queue,and returns 1 while item_inflight_cnt of xil_sqr_if_base is zero.  Else it increments item_done_cnt of xil_sqr_if_base and return 0.

put_item
virtual function xil_uint put_item(
input T1 t = null
);

Give error message about FIFO is overfilled when item_cnt is bigger than max_item_cnt of xil_sqr_if_base and returns 1. Else it push the item into item queue, increment item_cnt and returns 0.

get_next_rsp
virtual task get_next_rsp(
output T2 t
);

Pop out response item from resonse item queue of xil_sqr_if_base when response queue is not empty. It is a block task until there is response item in the queue.

try_next_rsp
virtual function void try_next_rsp(
output T2 t
);

Pop out response item from item queue of xil_sqr_if_base when response queue is not empty,othewise it returns a null object.It is a non-block task

wait_for_rsp_done
virtual task wait_for_rsp_done(
int transaction_id = -1
);

When rsp_done_cnt of xil_sqr_if_base is not zero, rsp_done_cnt decrements. it is a block task.

rsp_done
virtual function xil_uint rsp_done(
input T2 t = null
);

Give error message about attempting to double pop the rsp_done queue and returns 1 when rsp_inflight_cnt is zero. Else, it will increment rsp_done_cnt, decrement rsp_inflight_cnt and returns 0.

put_rsp
virtual function xil_uint put_rsp(
input T2 t = null
);

Give error message about response FIFO has overfilled and returns 1 when rsp_cnt is bigger than max_item_cnt. Else, it will put response item into rsp_q of xil_sqr_if_base, increment rsp_cnt and return 0.