Changes between Version 44 and Version 45 of Writing Rules/Tlmt


Ignore:
Timestamp:
Feb 19, 2008, 9:54:11 PM (16 years ago)
Author:
fpecheux
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Writing Rules/Tlmt

    v44 v45  
    99
    1010= A) Introduction =
     11
     12Important note: this document is currently being updated and deeply modified. A stable version will be available on February 22, 2008.
    1113
    1214This document describes the modeling rules for writing TLM-T SystemC simulation models for SoCLib.
     
    102104The constructor of the class '''!VciSimpleInitiator''' must initialize all the member variables, including the '''p_vci''' port. The '''rspReceived()''' call-back function being executed in the context of the thread sending the response packet, a link between the '''p_vci''' port and the call-back function must be established. Moreover, the '''p_vci''' port must contain a pointer to the initiator thread context '''c0'''.
    103105
    104 The '''!VciInitiator''' constructor must be called with the following arguments:
     106The '''!VciInitiator''' constructor for the '''p_vci_''' object must be called with the following arguments:
    105107{{{
    106108p_vci("vci", new tlmt_core::tlmt_callback<VciSimpleInitiator,soclib::tlmt::vci_rsp_packet<vci_param> *>(
     
    112114The SystemC simulation engine behaves as a cooperative, non-preemptive multi-tasks system. Any thread in the system must stop execution after at some point, in order to allow the other threads to execute. With the proposed approach, a TLM-T initiator will never stop if it does not execute blocking communication (such as a processor that has all code and data in the L1 caches).
    113115
    114 To solve this problem, it is necessary to define - for each initiator module- a '''lookahead''' parameter. This parameter defines the maximum number of cycles that can be executed by the thread before it stops. The '''lookahead''' parameter allows the system designer to bound the de-synchronization between threads.
    115 
    116 A small value for this parameter result in a better timing accuracy for the simulation, but implies a larger number of context switch, and a slower simulation speed.
     116To solve this issue, it is necessary to define - for each initiator module- a '''lookahead''' parameter. This parameter defines the maximum number of cycles that can be executed by the thread before it is automatically stopped. The '''lookahead''' parameter allows the system designer to bound the de-synchronization time interval between threads.
     117
     118A small value for this parameter results in a better timing accuracy for the simulation, but implies a larger number of context switches, and a slower simulation speed.
    117119
    118120== C.4) VCI initiator example ==