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.