Changes between Version 91 and Version 92 of Writing Rules/Tlmt


Ignore:
Timestamp:
Nov 17, 2008, 2:11:54 PM (15 years ago)
Author:
alinevieiramello@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Writing Rules/Tlmt

    v91 v92  
    135135  tlm::tlm_sync_enum nb_transport_fw           
    136136  ( soclib_vci_types::tlm_payload_type &payload,      // payload
    137     soclib_vci_types::tlm_phase_type   &phase,        // transaction phase (TLMT_CMD)
     137    soclib_vci_types::tlm_phase_type   &phase,        // phase (TLMT_CMD)
    138138    sc_core::sc_time                   &time);        // local time
    139139}}}
     
    156156  tlm::tlm_sync_enum vci_rsp_received             
    157157    ( soclib_vci_types::tlm_payload_type &payload,     // payload
    158       soclib_vci_types::tlm_phase_type   &phase,       // transaction phase (TLMT_RSP)
     158      soclib_vci_types::tlm_phase_type   &phase,       // phase (TLMT_RSP)
    159159      sc_core::sc_time                   &time);       // response time
    160160}}}
    161161The return value (type tlm::tlm_sync_enum)  is not used in this TLM-T implementation, and must be sytematically set to tlm::TLM_COMPLETED.
    162162
    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).
     163In 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).
    164164For sake of simplicity, the interface function proposed below does not make any distinction between transaction types.
    165165
     
    380380  tlm::tlm_sync_enum vci_cmd_received             
    381381  ( soclib_vci_types::tlm_payload_type &payload,      // payload
    382     soclib_vci_types::tlm_phase_type   &phase,       // transaction phase (TLMT_CMD)
     382    soclib_vci_types::tlm_phase_type   &phase,       // phase (TLMT_CMD)
    383383    sc_core::sc_time                   &time);        // time
    384384}}} 
     
    389389To 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
    390390the 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,
     391Respecting 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,
    392392and the associated interface functions. Only two values are used for the '''response_status''' field in this TLM-T implementation:
    393393 * TLM_OK_RESPONSE
     
    555555by 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
    556556uses 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''').
    558558
    559559{{{