Changes between Version 91 and Version 92 of Writing Rules/Tlmt
- Timestamp:
- Nov 17, 2008, 2:11:54 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Writing Rules/Tlmt
v91 v92 135 135 tlm::tlm_sync_enum nb_transport_fw 136 136 ( soclib_vci_types::tlm_payload_type &payload, // payload 137 soclib_vci_types::tlm_phase_type &phase, // transactionphase (TLMT_CMD)137 soclib_vci_types::tlm_phase_type &phase, // phase (TLMT_CMD) 138 138 sc_core::sc_time &time); // local time 139 139 }}} … … 156 156 tlm::tlm_sync_enum vci_rsp_received 157 157 ( soclib_vci_types::tlm_payload_type &payload, // payload 158 soclib_vci_types::tlm_phase_type &phase, // transactionphase (TLMT_RSP)158 soclib_vci_types::tlm_phase_type &phase, // phase (TLMT_RSP) 159 159 sc_core::sc_time &time); // response time 160 160 }}} 161 161 The return value (type tlm::tlm_sync_enum) is not used in this TLM-T implementation, and must be sytematically set to tlm::TLM_COMPLETED. 162 162 163 In the general case, the actions executed by the interface function depend on both the phase argument, and on the transaction type(defined in the payload).163 In the general case, the actions executed by the interface function depend on both the phase argument, and on the transaction command (defined in the payload). 164 164 For sake of simplicity, the interface function proposed below does not make any distinction between transaction types. 165 165 … … 380 380 tlm::tlm_sync_enum vci_cmd_received 381 381 ( soclib_vci_types::tlm_payload_type &payload, // payload 382 soclib_vci_types::tlm_phase_type &phase, // transactionphase (TLMT_CMD)382 soclib_vci_types::tlm_phase_type &phase, // phase (TLMT_CMD) 383 383 sc_core::sc_time &time); // time 384 384 }}} … … 389 389 To send a VCI response packet the call-back function '''vci_cmd_received()''' uses the '''nb_transport_bw()''' method, defined by TLM2.0, that is a member function of 390 390 the class '''tlmt_simple_target_socket''', and has the same arguments as the '''nb_transport_fw()''' function. 391 Respecting the general TLM2.0 policy, the payload argument refers to the same '''tlmt_vci_ transaction''' object for both the '''nb_transport_fw()''' and '''nb_transport_bw()''' functions,391 Respecting the general TLM2.0 policy, the payload argument refers to the same '''tlmt_vci_payload''' object for both the '''nb_transport_fw()''' and '''nb_transport_bw()''' functions, 392 392 and the associated interface functions. Only two values are used for the '''response_status''' field in this TLM-T implementation: 393 393 * TLM_OK_RESPONSE … … 555 555 by the input channel index) to access the '''m_local_time''' and '''m_activity_status''' variables of all VCI initiators. To get this information, each arbitration thread 556 556 uses the '''nb_transport_bw()''' function on all its VCI target ports, with a dedicated value for the phase called '''soclib::tlmt::TLMT_INFO'''. The payload argument refers to the same 557 '''tlmt_vci_ transaction''' object as the two other phase values ('''soclib::tlmt::TLMT_CMD''' and '''soclib::tlmt::TLMT_RSP''').557 '''tlmt_vci_payload''' object as the two other phase values ('''soclib::tlmt::TLMT_CMD''' and '''soclib::tlmt::TLMT_RSP'''). 558 558 559 559 {{{