Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | |
2 | The basic user level include is tlm.h. Everything is in the tlm namespace. | |
3 | ||
4 | There are five sub namespaces | |
5 | ||
6 | 1. tlm_core | |
7 | ||
8 | This contains the old TLM 1.0 standard, with the addition of a few new methods | |
9 | such as the reference based form of transport. | |
10 | ||
11 | 2. analysis | |
12 | ||
13 | This contains the basic mechanisms for doing analysis : analysis_if, | |
14 | analysis_port, analysis_fifo, analysis_triple. | |
15 | ||
16 | 3. tlm_annotated | |
17 | ||
18 | This contains all the annotated interfaces and channels. | |
19 | ||
20 | These interfaces add | |
21 | ||
22 | bool nb_put( const T & , const sc_time & ); | |
23 | bool nb_can_put( const sc_time & , tlm_tag<T> * ); | |
24 | ||
25 | to any interface which inherits, however indirectly, from | |
26 | tlm_nonblocking_put_if, | |
27 | ||
28 | and | |
29 | ||
30 | bool nb_get( const T & , const sc_time & ); | |
31 | bool nb_can_get( const sc_time & , tlm_tag<T> * ); | |
32 | ||
33 | to any interface which inherits, however indirectly, from | |
34 | tlm_nonblocking_get_if. | |
35 | ||
36 | The annotated interfaces are all of the form tlm_annotated_* | |
37 | ||
38 | The annotated channels are tlm_annotated_fifo and tlm_annotated_req_rsp_channel | |
39 | ||
40 | This code depends on tlm_core and analysis. | |
41 | ||
42 | 4. tlm_bus | |
43 | ||
44 | This contains the transaction level interoperability section of the TLM 2.0 | |
45 | standard. | |
46 | ||
47 | This consists of the request and response datastructures, and everything | |
48 | required for these datastructures. | |
49 | ||
50 | In addition, there is | |
51 | ||
52 | 5. tlm_ports | |
53 | ||
54 | This contains all the code for tlm_initiator_port and tlm_target_port. These | |
55 | provide some infrastructure used for transaction recording and target ids ( | |
56 | see To Be Done below ). | |
57 | ||
58 | In addition to these five directories, there is an extension to the analysis | |
59 | namespace in : | |
60 | ||
61 | 6. tlm_bus_analysis | |
62 | ||
63 | This contains prototype code that disables analysis fifo for pointer versions | |
64 | of tlm_request and tlm_response, and an adaptor widget to convert from pointer | |
65 | versions to by-val versions. This code is currently untested ! | |
66 | ||
67 | To be Done : | |
68 | ||
69 | Analysis | |
70 | - add analysis_buffer to analysis | |
71 | - test tlm_bus_anlysis | |
72 | - merge tlm_initiator_port and tlm_target_port functionality into analysis | |
73 | - enable / disable for both local analysis and upward propagation | |
74 | TLM_BUS | |
75 | - ostream & operators for request and response | |
76 | GENERAL | |
77 | - add more docs | |
78 |