ovm中关于class tlm_transport_channel的问题
时间:10-02
整理:3721RD
点击:
class tlm_transport_channel #(type REQ=int, type RSP=REQ)extends tlm_req_rsp_channel #(REQ, RSP);
ovm_transport_imp #(REQ, RSP, this_type) transport_export;
task transport (REQ request, output RSP response );
......
endtask
function bit nb_transport (REQ req, output RSP rsp );
......
endtask
endclass
有单独的transport和nb_transport定义。
但是对于transport_export,这算什么意思呢,是blocking的还是non-blocking的呢?难道是OVM自己会识别该用blocking的还是non-blocking的?
ovm_transport_imp #(REQ, RSP, this_type) transport_export;
task transport (REQ request, output RSP response );
......
endtask
function bit nb_transport (REQ req, output RSP rsp );
......
endtask
endclass
有单独的transport和nb_transport定义。
但是对于transport_export,这算什么意思呢,是blocking的还是non-blocking的呢?难道是OVM自己会识别该用blocking的还是non-blocking的?
transport_export既可以是blocking port(调用transport(req, rsp)),又可以是non-blocking port(调用nb_transport(req, rsp))
transport_export 和其他的端口相连转发事务的 无所谓non-blocking或blocking