README.txt revision 12027
13170Sstever@eecs.umich.edu 23170Sstever@eecs.umich.eduTLM-2.0 standard utilities 33170Sstever@eecs.umich.edu========================== 43170Sstever@eecs.umich.edu 53170Sstever@eecs.umich.eduDir: include/tlm_utils 63170Sstever@eecs.umich.edu 73170Sstever@eecs.umich.eduSubDirs: 83170Sstever@eecs.umich.edu 93170Sstever@eecs.umich.eduFiles: README.txt 103170Sstever@eecs.umich.edu instance_specific_extensions.h 113170Sstever@eecs.umich.edu multi_passthrough_initiator_socket.h 123170Sstever@eecs.umich.edu multi_passthrough_target_socket.h 133170Sstever@eecs.umich.edu multi_socket_bases.h 143170Sstever@eecs.umich.edu peq_with_get.h 153170Sstever@eecs.umich.edu simple_initiator_socket.h 163170Sstever@eecs.umich.edu simple_target_socket.h 173170Sstever@eecs.umich.edu peq_with_cb_and_phase.h 183170Sstever@eecs.umich.edu passthrough_target_socket.h 193170Sstever@eecs.umich.edu tlm_quantumkeeper.h 203170Sstever@eecs.umich.edu 213170Sstever@eecs.umich.edu 223170Sstever@eecs.umich.eduComments 233170Sstever@eecs.umich.edu======== 243170Sstever@eecs.umich.edu 253170Sstever@eecs.umich.eduThis directory contains a number of ease-of-use and convenience implementations 263170Sstever@eecs.umich.edufor the interoperability standard. All objects defined in the header files of 273170Sstever@eecs.umich.eduthis directory are contained in the tlm_util namespace. 283170Sstever@eecs.umich.eduThere is no tlm_utils.h header files containing all includes in order to avoid 293170Sstever@eecs.umich.eduadditional dependencies for TLM 2.0 303170Sstever@eecs.umich.edu 313170Sstever@eecs.umich.eduFiles: 323170Sstever@eecs.umich.edu simple_initiator_socket.h 333170Sstever@eecs.umich.edu version of an initiator socket that has a default implementation of all 343170Sstever@eecs.umich.edu interfaces and allows to register an implementation for any of the 353170Sstever@eecs.umich.edu interfaces to the socket, either unique interfaces or tagged interfaces 363170Sstever@eecs.umich.edu (carrying an additional id) 373170Sstever@eecs.umich.edu 383170Sstever@eecs.umich.edu simple_target_socket.h 393170Sstever@eecs.umich.edu version of a target socket that has a default implementation of all 4012218Snikos.nikoleris@arm.com interfaces and allows to register an implementation for any of the 413170Sstever@eecs.umich.edu interfaces to the socket, either unique interfaces or tagged interfaces 423170Sstever@eecs.umich.edu (carrying an additional id) 43 This socket allows to register only 1 of the transport interfaces 44 (blocking or non-blocking) and implements a conversion in case the 45 socket is used on the other interface 46 47 passthrough_target_socket.h 48 version of a target socket that has a default implementation of all 49 interfaces and allows to register an implementation for any of the 50 interfaces to the socket. 51 52 multi_passthrough_initiator_socket.h 53 an implementation of a socket that allows to bind multiple targets to the 54 same initiator socket. Implements a mechanism to allow to identify in the 55 backward path through which index of the socket the call passed through 56 57 multi_passthrough_target_socket.h 58 an implementation of a socket that allows to bind multiple initiators to 59 the same target socket. Implements a mechanism to allow to identify in the 60 forward path through which index of the socket the call passed through 61 62 multi_socket_bases.h 63 contains base class definitions used by the multi_passthrough sockets 64 65 peq_with_get.h 66 payload event queue (PEQ) implementation using a pull interface. 67 Has a get_next_transaction API that returns the transaction that is 68 scheduled in the event queue 69 70 peq_with_cb_and_phase.h 71 another payload event queue, this one with a push interface (callback 72 mechanism ). Allows to register a callback that will be called whenever 73 the event in the event queue is triggered, the callback gets transaction 74 and phase as arguments 75 76 instance_specific_extensions.h 77 is an implementation for adding extentions in the generic payload that 78 are specific to an instance along the path of a transaction, to allow that 79 extentions of the same type can be used by the different blocks along 80 the path of the transaction 81 82 tlm_quantumkeeper.h 83 is an convenience object used to keep track of the local time in 84 an initiator (how much it has run ahead of the SystemC time), to 85 synchronize with SystemC time etc. 86