501 | | { |
502 | | |
503 | | payload.set_response_status(soclib::tlm::TLM_OK_RESPONSE); |
504 | | phase = soclib::tlmt::TLMT_RSP; |
505 | | time = time + (nwords * UNIT_TIME); |
506 | | |
507 | | #if MY_TARGET_DEBUG |
508 | | std::cout << "[RAM " << m_targetid << "] Send to source "<< payload.get_src_id() << " a anwser packet " << payload.get_pkt_id() << " Time = " << time.value() << std::endl; |
509 | | #endif |
510 | | |
511 | | p_vci_target->nb_transport_bw(payload, phase, time); |
512 | | return tlm::TLM_COMPLETED; |
513 | | } |
514 | | break; |
515 | | default: |
| 501 | payload.set_response_status(tlm::TLM_OK_RESPONSE); |
| 502 | break; |
| 503 | default: |
| 504 | payload.set_response_status(tlm::TLM_GENERIC_ERROR_RESPONSE); |
518 | | |
519 | | //send error message |
520 | | payload.set_response_status(soclib::tlmt::TLMT_ERROR_RESPONSE); |
521 | | |
522 | | phase = soclib::tlmt::TLMT_RSP; |
523 | | time = time + nwords * UNIT_TIME; |
524 | | |
525 | | #if MY_TARGET_DEBUG |
526 | | std::cout << "[RAM " << m_targetid << "] Address " << payload.get_address() << " does not match any segment " << std::endl; |
527 | | std::cout << "[RAM " << m_targetid << "] Send to source "<< payload.get_src_id() << " a error packet with time = " << time.value() << std::endl; |
528 | | #endif |
529 | | p_vci_target->nb_transport_bw(payload, phase, time); |
530 | | return tlm::TLM_COMPLETED; |
| 507 | phase = soclib::tlmt::TLMT_RSP |
| 508 | time = time + (nwords * UNIT_TIME); |
| 509 | p_vci_target->nb_transport_bw(payload, phase, time); |
| 510 | return tlm::TLM_COMPLETED; |