200 | | === TLM-T constructor parameters === |
201 | | |
202 | | === TLM-T ports === |
203 | | |
204 | | |
| 200 | All these components have two template parameters, defining respectively the width of the various VCI signals, |
| 201 | and the instanciated ISS. |
| 202 | {{{ |
| 203 | template<typename vci_param, typename iss_t> |
| 204 | }}} |
| 205 | |
| 206 | === TLM-DT constructor parameters === |
| 207 | |
| 208 | '''Xcache''' |
| 209 | {{{ |
| 210 | VciXcacheWrapper( |
| 211 | sc_module_name insname, |
| 212 | int proc_id, |
| 213 | const soclib::common::MappingTable &mt, |
| 214 | const soclib::common::IntTab &index, |
| 215 | size_t icache_ways, // number of ways per associative set (instruction cache) |
| 216 | size_t icache_sets, // number of associative sets (instruction cache) |
| 217 | size_t icache_words, // number of words per line (instruction cache) |
| 218 | size_t dcache_ways, // number of ways per associative set (data cache) |
| 219 | size_t dcache_sets, // number of associative sets (data cache) |
| 220 | size_t dcache_words); // number of words per line (data cache) |
| 221 | or |
| 222 | VciXcacheWrapper( |
| 223 | sc_module_name insname, |
| 224 | int proc_id, |
| 225 | const soclib::common::MappingTable &mt, |
| 226 | const soclib::common::IntTab &index, |
| 227 | size_t icache_ways, // number of ways per associative set (instruction cache) |
| 228 | size_t icache_sets, // number of associative sets (instruction cache) |
| 229 | size_t icache_words, // number of words per line (instruction cache) |
| 230 | size_t dcache_ways, // number of ways per associative set (data cache) |
| 231 | size_t dcache_sets, // number of associative sets (data cache) |
| 232 | size_t dcache_words, // number of words per line (data cache) |
| 233 | size_t time_quantum); // maximal number of cycles between two consecutive messages (default = 100 cycles) |
| 234 | |
| 235 | }}} |
| 236 | |
| 237 | |
| 238 | === TLM-DT ports === |
| 239 | '''Xcache''' |
| 240 | * tlm::tlm_initiator_socket<32, tlm::tlm_base_protocol_types> p_vci_initiator; // VCI initiator port |
| 241 | * std::vector<tlm_utils::simple_target_socket_tagged<VciXcacheWrapper,32,tlm::tlm_base_protocol_types> *> p_irq_target; // IRQ target port |