Verification Engineerの戯言 : SystemVerilogの世界へようこそ
OVM-SVのtlm1_to_tlm2クラスのtransportは、次のようになっています。
引数のrequestと戻り値のresponseからtlm_generic_payloadクラスのインスタンス(tx)に変換し、
isocket->b_transport(tx,t)を呼び出し、SystemC TLM-2を呼び出しています。
引数のrequestと戻り値のresponseからtlm_generic_payloadクラスのインスタンス(tx)に変換し、
isocket->b_transport(tx,t)を呼び出し、SystemC TLM-2を呼び出しています。
RSP transport( const REQ &request ) { RSP response; tlm_generic_payload tx; request.sync_request_to_tlm2_gp(tx); response.sync_response_to_tlm2_gp(tx); sc_time t(SC_ZERO_TIME); // send a TLM2 transaction on the initiator socket isocket->b_transport(tx, t); response.sync_tlm2_gp_to_response(tx); // if target annotated any time, sync with simulator scheduler now. if (t != sc_time(SC_ZERO_TIME)) wait(t); return response; }
検証、Verification、SystemVerilog、OVM、Open Verification Methodology