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