Changeset 706 for trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster
- Timestamp:
- May 30, 2014, 5:07:05 PM (10 years ago)
- Location:
- trunk/platforms/tsar_generic_xbar
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_xbar
-
Property
svn:ignore
set to
term*
-
Property
svn:ignore
set to
-
trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/metadata/tsar_xbar_cluster.sd
r547 r706 3 3 4 4 Module('caba:tsar_xbar_cluster', 5 5 classname = 'soclib::caba::TsarXbarCluster', 6 6 tmpl_parameters = [ 7 7 parameter.Int('dspin_cmd_width'), … … 47 47 48 48 Uses('caba:vci_xicu', 49 cell_size = parameter.Reference('vci_data_width_int')), 50 51 Uses('caba:vci_local_crossbar', 49 52 cell_size = parameter.Reference('vci_data_width_int')), 50 53 -
trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/include/tsar_xbar_cluster.h
r624 r706 24 24 #include "vci_xicu.h" 25 25 #include "dspin_local_crossbar.h" 26 #include "vci_local_crossbar.h" 26 27 #include "vci_dspin_initiator_wrapper.h" 27 28 #include "vci_dspin_target_wrapper.h" … … 36 37 #include "vci_cc_vcache_wrapper.h" 37 38 #include "vci_simhelper.h" 38 #include "../../../../giet_vm/hard_config.h"39 39 40 40 namespace soclib { namespace caba { … … 63 63 // interrupt signals 64 64 sc_signal<bool> signal_false; 65 sc_signal<bool> signal_proc_it[8 *IRQ_PER_PROCESSOR];65 sc_signal<bool> signal_proc_it[8 * 6]; // 6 = Number of IRQs in the MIPS 66 66 sc_signal<bool> signal_irq_mdma[8]; 67 67 sc_signal<bool> signal_irq_mtty[23]; … … 85 85 86 86 // Direct VCI signals to VCI/DSPIN wrappers 87 VciSignals<vci_param_int> signal_vci_g2l_d; 88 VciSignals<vci_param_int> signal_vci_l2g_d; 89 87 90 VciSignals<vci_param_int> signal_vci_ini_proc[8]; 88 91 VciSignals<vci_param_int> signal_vci_ini_mdma; … … 101 104 VciSignals<vci_param_int> signal_vci_tgt_simh; 102 105 103 // Direct DSPIN signals to local crossbars104 DspinSignals<dspin_cmd_width> signal_dspin_cmd_proc_i[8];105 DspinSignals<dspin_rsp_width> signal_dspin_rsp_proc_i[8];106 DspinSignals<dspin_cmd_width> signal_dspin_cmd_mdma_i;107 DspinSignals<dspin_rsp_width> signal_dspin_rsp_mdma_i;108 DspinSignals<dspin_cmd_width> signal_dspin_cmd_bdev_i;109 DspinSignals<dspin_rsp_width> signal_dspin_rsp_bdev_i;110 DspinSignals<dspin_cmd_width> signal_dspin_cmd_chbuf_i;111 DspinSignals<dspin_rsp_width> signal_dspin_rsp_chbuf_i;112 113 DspinSignals<dspin_cmd_width> signal_dspin_cmd_memc_t;114 DspinSignals<dspin_rsp_width> signal_dspin_rsp_memc_t;115 DspinSignals<dspin_cmd_width> signal_dspin_cmd_xicu_t;116 DspinSignals<dspin_rsp_width> signal_dspin_rsp_xicu_t;117 DspinSignals<dspin_cmd_width> signal_dspin_cmd_mdma_t;118 DspinSignals<dspin_rsp_width> signal_dspin_rsp_mdma_t;119 DspinSignals<dspin_cmd_width> signal_dspin_cmd_mtty_t;120 DspinSignals<dspin_rsp_width> signal_dspin_rsp_mtty_t;121 DspinSignals<dspin_cmd_width> signal_dspin_cmd_bdev_t;122 DspinSignals<dspin_rsp_width> signal_dspin_rsp_bdev_t;123 DspinSignals<dspin_cmd_width> signal_dspin_cmd_brom_t;124 DspinSignals<dspin_rsp_width> signal_dspin_rsp_brom_t;125 DspinSignals<dspin_cmd_width> signal_dspin_cmd_fbuf_t;126 DspinSignals<dspin_rsp_width> signal_dspin_rsp_fbuf_t;127 DspinSignals<dspin_cmd_width> signal_dspin_cmd_mnic_t;128 DspinSignals<dspin_rsp_width> signal_dspin_rsp_mnic_t;129 DspinSignals<dspin_cmd_width> signal_dspin_cmd_chbuf_t;130 DspinSignals<dspin_rsp_width> signal_dspin_rsp_chbuf_t;131 DspinSignals<dspin_cmd_width> signal_dspin_cmd_simh_t;132 DspinSignals<dspin_rsp_width> signal_dspin_rsp_simh_t;133 106 134 107 // Coherence DSPIN signals to local crossbar … … 150 123 GdbServer<Mips32ElIss> >* proc[8]; 151 124 152 VciDspinInitiatorWrapper<vci_param_int,153 dspin_cmd_width,154 dspin_rsp_width>* wi_proc[8];155 125 156 126 VciMemCache<vci_param_int, … … 159 129 dspin_cmd_width>* memc; 160 130 131 VciXicu<vci_param_int>* xicu; 132 133 VciMultiDma<vci_param_int>* mdma; 134 135 VciSimpleRam<vci_param_ext>* xram; 136 137 VciSimpleRom<vci_param_int>* brom; 138 139 VciMultiTty<vci_param_int>* mtty; 140 141 VciSimhelper<vci_param_int>* simhelper; 142 143 VciFrameBuffer<vci_param_int>* fbuf; 144 145 VciMultiNic<vci_param_int>* mnic; 146 147 VciChbufDma<vci_param_int>* chbuf; 148 149 VciBlockDeviceTsar<vci_param_int>* bdev; 150 151 VciLocalCrossbar<vci_param_int>* xbar_d; 152 VciDspinInitiatorWrapper<vci_param_int, 153 dspin_cmd_width, 154 dspin_rsp_width>* wi_xbar_d; 161 155 VciDspinTargetWrapper<vci_param_int, 162 156 dspin_cmd_width, 163 dspin_rsp_width>* wt_memc; 164 165 VciXicu<vci_param_int>* xicu; 166 167 VciDspinTargetWrapper<vci_param_int, 168 dspin_cmd_width, 169 dspin_rsp_width>* wt_xicu; 170 171 VciMultiDma<vci_param_int>* mdma; 172 173 VciDspinInitiatorWrapper<vci_param_int, 174 dspin_cmd_width, 175 dspin_rsp_width>* wi_mdma; 176 177 VciDspinTargetWrapper<vci_param_int, 178 dspin_cmd_width, 179 dspin_rsp_width>* wt_mdma; 180 181 VciSimpleRam<vci_param_ext>* xram; 182 183 VciSimpleRom<vci_param_int>* brom; 184 185 VciDspinTargetWrapper<vci_param_int, 186 dspin_cmd_width, 187 dspin_rsp_width>* wt_brom; 188 189 VciMultiTty<vci_param_int>* mtty; 190 191 VciDspinTargetWrapper<vci_param_int, 192 dspin_cmd_width, 193 dspin_rsp_width>* wt_mtty; 194 195 VciSimhelper<vci_param_int>* simhelper; 196 197 VciDspinTargetWrapper<vci_param_int, 198 dspin_cmd_width, 199 dspin_rsp_width>* wt_simhelper; 200 201 202 VciFrameBuffer<vci_param_int>* fbuf; 203 204 VciDspinTargetWrapper<vci_param_int, 205 dspin_cmd_width, 206 dspin_rsp_width>* wt_fbuf; 207 208 VciMultiNic<vci_param_int>* mnic; 209 210 VciDspinTargetWrapper<vci_param_int, 211 dspin_cmd_width, 212 dspin_rsp_width>* wt_mnic; 213 214 VciChbufDma<vci_param_int>* chbuf; 215 216 VciDspinTargetWrapper<vci_param_int, 217 dspin_cmd_width, 218 dspin_rsp_width>* wt_chbuf; 219 220 VciDspinInitiatorWrapper<vci_param_int, 221 dspin_cmd_width, 222 dspin_rsp_width>* wi_chbuf; 223 224 VciBlockDeviceTsar<vci_param_int>* bdev; 225 226 VciDspinInitiatorWrapper<vci_param_int, 227 dspin_cmd_width, 228 dspin_rsp_width>* wi_bdev; 229 230 VciDspinTargetWrapper<vci_param_int, 231 dspin_cmd_width, 232 dspin_rsp_width>* wt_bdev; 233 234 DspinLocalCrossbar<dspin_cmd_width>* xbar_cmd_d; 235 DspinLocalCrossbar<dspin_rsp_width>* xbar_rsp_d; 157 dspin_rsp_width>* wt_xbar_d; 158 236 159 DspinLocalCrossbar<dspin_cmd_width>* xbar_m2p_c; 237 160 DspinLocalCrossbar<dspin_rsp_width>* xbar_p2m_c; … … 269 192 size_t l1_d_ways, 270 193 size_t l1_d_sets, 194 size_t irq_per_processor, 271 195 size_t xram_latency, // external ram 272 196 bool io, // I/O cluster -
trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/src/tsar_xbar_cluster.cpp
r624 r706 66 66 size_t l1_d_ways, 67 67 size_t l1_d_sets, 68 size_t irq_per_processor, 68 69 size_t xram_latency, 69 70 bool io, … … 77 78 uint32_t nic_timeout, 78 79 size_t chbufdma_channels, 79 const Loader &loader,80 const Loader & loader, 80 81 uint32_t frozen_cycles, 81 82 uint32_t debug_start_cycle, … … 127 128 proc_debug_ok); 128 129 129 std::ostringstream swip;130 swip << "wi_proc_" << x_id << "_" << y_id << "_" << p;131 wi_proc[p] = new VciDspinInitiatorWrapper<vci_param_int,132 dspin_cmd_width,133 dspin_rsp_width>(134 swip.str().c_str(),135 x_width + y_width + l_width);136 130 } 137 131 … … 148 142 IntTab(cluster_id), // SRCID external space 149 143 IntTab(cluster_id, tgtid_memc), // TGTID direct space 144 //(cluster_id << l_width) + nb_procs, // CC_GLOBAL_ID 150 145 x_width, // Number of x bits in platform 151 146 y_width, // Number of y bits in platform … … 159 154 memc_debug_ok); 160 155 161 wt_memc = new VciDspinTargetWrapper<vci_param_int,162 dspin_cmd_width,163 dspin_rsp_width>(164 "wt_memc",165 x_width + y_width + l_width);166 156 167 157 ///////////////////////////////////////////////////////////////////////////// … … 182 172 mtd, // mapping table 183 173 IntTab(cluster_id, tgtid_xicu), // TGTID_D 184 32,// number of timer IRQs174 nb_procs, // number of timer IRQs 185 175 32, // number of hard IRQs 186 176 32, // number of soft IRQs 187 nb_procs*IRQ_PER_PROCESSOR); // number of output IRQs 188 189 wt_xicu = new VciDspinTargetWrapper<vci_param_int, 190 dspin_cmd_width, 191 dspin_rsp_width>( 192 "wt_xicu", 193 x_width + y_width + l_width); 177 nb_procs*irq_per_processor); // number of output IRQs 178 194 179 195 180 ///////////////////////////////////////////////////////////////////////////// … … 204 189 nb_dmas); // number of IRQs 205 190 206 wt_mdma = new VciDspinTargetWrapper<vci_param_int,207 dspin_cmd_width,208 dspin_rsp_width>(209 "wt_mdma",210 x_width + y_width + l_width);211 212 wi_mdma = new VciDspinInitiatorWrapper<vci_param_int,213 dspin_cmd_width,214 dspin_rsp_width>(215 "wi_mdma",216 x_width + y_width + l_width);217 191 218 192 ///////////////////////////////////////////////////////////////////////////// … … 225 199 } 226 200 227 xbar_cmd_d = new DspinLocalCrossbar<dspin_cmd_width>( 228 "xbar_cmd_d", 229 mtd, // mapping table 230 x_id, y_id, // cluster coordinates 231 x_width, y_width, l_width, 232 nb_direct_initiators, // number of local of sources 233 nb_direct_targets, // number of local dests 234 2, 2, // fifo depths 235 true, // CMD 236 true, // use local routing table 237 false ); // no broadcast 238 239 ///////////////////////////////////////////////////////////////////////////// 240 xbar_rsp_d = new DspinLocalCrossbar<dspin_rsp_width>( 241 "xbar_rsp_d", 242 mtd, // mapping table 243 x_id, y_id, // cluster coordinates 244 x_width, y_width, l_width, 245 nb_direct_targets, // number of local sources 246 nb_direct_initiators, // number of local dests 247 2, 2, // fifo depths 248 false, // RSP 249 false, // don't use local routing table 250 false ); // no broadcast 201 std::ostringstream sxbar; 202 sxbar << "xbar_" << x_id << "_" << y_id; 203 xbar_d = new VciLocalCrossbar<vci_param_int>( 204 sxbar.str().c_str(), 205 mtd, // mapping table 206 //x_id, y_id, // cluster coordinates 207 cluster_id, 208 nb_direct_initiators, // number of local of sources 209 nb_direct_targets, // number of local dests 210 tgtid_memc); // Default target 211 212 ////////////// vci_dspin wrappers 213 std::ostringstream swtxbar; 214 swtxbar << "wt_xbar_" << x_id << "_" << y_id; 215 wt_xbar_d = new VciDspinTargetWrapper<vci_param_int, dspin_cmd_width, dspin_rsp_width>( 216 swtxbar.str().c_str(), 217 x_width + y_width + l_width ); 218 219 std::ostringstream swixbar; 220 swixbar << "wi_xbar_" << x_id << "_" << y_id; 221 wi_xbar_d = new VciDspinInitiatorWrapper<vci_param_int, dspin_cmd_width, dspin_rsp_width>( 222 swixbar.str().c_str(), 223 x_width + y_width + l_width ); 251 224 252 225 ///////////////////////////////////////////////////////////////////////////// … … 315 288 loader); 316 289 317 wt_brom = new VciDspinTargetWrapper<vci_param_int,318 dspin_cmd_width,319 dspin_rsp_width>(320 "wt_brom",321 x_width + y_width + l_width);322 323 290 ///////////////////////////////////////////// 324 291 fbuf = new VciFrameBuffer<vci_param_int>( … … 327 294 mtd, 328 295 xfb, yfb); 329 330 wt_fbuf = new VciDspinTargetWrapper<vci_param_int,331 dspin_cmd_width,332 dspin_rsp_width>(333 "wt_fbuf",334 x_width + y_width + l_width);335 296 336 297 ///////////////////////////////////////////// … … 343 304 block_size, 344 305 64); // burst size 345 346 wt_bdev = new VciDspinTargetWrapper<vci_param_int,347 dspin_cmd_width,348 dspin_rsp_width>(349 "wt_bdev",350 x_width + y_width + l_width);351 352 wi_bdev = new VciDspinInitiatorWrapper<vci_param_int,353 dspin_cmd_width,354 dspin_rsp_width>(355 "wi_bdev",356 x_width + y_width + l_width);357 306 358 307 int mac = 0xBEEF0000; … … 367 316 nic_tx_name); 368 317 369 wt_mnic = new VciDspinTargetWrapper<vci_param_int, 370 dspin_cmd_width, 371 dspin_rsp_width>( 372 "wt_mnic", 373 x_width + y_width + l_width); 318 374 319 375 320 ///////////////////////////////////////////// … … 382 327 chbufdma_channels); 383 328 384 wt_chbuf = new VciDspinTargetWrapper<vci_param_int,385 dspin_cmd_width,386 dspin_rsp_width>(387 "wt_chbuf",388 x_width + y_width + l_width);389 390 wi_chbuf = new VciDspinInitiatorWrapper<vci_param_int,391 dspin_cmd_width,392 dspin_rsp_width>(393 "wi_chbuf",394 x_width + y_width + l_width);395 396 329 ///////////////////////////////////////////// 397 330 std::vector<std::string> vect_names; … … 408 341 vect_names); 409 342 410 wt_mtty = new VciDspinTargetWrapper<vci_param_int,411 dspin_cmd_width,412 dspin_rsp_width>(413 "wt_mtty",414 x_width + y_width + l_width);415 416 343 simhelper = new VciSimhelper<vci_param_int>( 417 344 "sim_helper", 418 345 IntTab(cluster_id, tgtid_simh), 419 346 mtd); 420 421 wt_simhelper = new VciDspinTargetWrapper<vci_param_int,422 dspin_cmd_width,423 dspin_rsp_width>(424 "wt_simhelper",425 x_width + y_width + l_width);426 347 } 427 348 … … 466 387 std::cout << " - CMD & RSP routers connected" << std::endl; 467 388 468 ///////////////////// CMD DSPIN local crossbar direct 469 xbar_cmd_d->p_clk (this->p_clk); 470 xbar_cmd_d->p_resetn (this->p_resetn); 471 xbar_cmd_d->p_global_out (signal_dspin_cmd_l2g_d); 472 xbar_cmd_d->p_global_in (signal_dspin_cmd_g2l_d); 473 474 xbar_cmd_d->p_local_out[tgtid_memc] (signal_dspin_cmd_memc_t); 475 xbar_cmd_d->p_local_out[tgtid_xicu] (signal_dspin_cmd_xicu_t); 476 xbar_cmd_d->p_local_out[tgtid_mdma] (signal_dspin_cmd_mdma_t); 477 478 xbar_cmd_d->p_local_in[nb_procs] (signal_dspin_cmd_mdma_i); 389 wi_xbar_d->p_clk (this->p_clk); 390 wi_xbar_d->p_resetn (this->p_resetn); 391 wi_xbar_d->p_vci (signal_vci_l2g_d); 392 wi_xbar_d->p_dspin_cmd (signal_dspin_cmd_l2g_d); 393 wi_xbar_d->p_dspin_rsp (signal_dspin_rsp_g2l_d); 394 395 std::cout << " - Wrapper Ini VCI2DSPIN Direct connected" << std::endl; 396 397 wt_xbar_d->p_clk (this->p_clk); 398 wt_xbar_d->p_resetn (this->p_resetn); 399 wt_xbar_d->p_vci (signal_vci_g2l_d); 400 wt_xbar_d->p_dspin_cmd (signal_dspin_cmd_g2l_d); 401 wt_xbar_d->p_dspin_rsp (signal_dspin_rsp_l2g_d); 402 403 std::cout << " - Wrapper Tgt VCI2DSPIN Direct connected" << std::endl; 404 405 ///////////////////// CMD VCI local crossbar direct 406 xbar_d->p_clk (this->p_clk); 407 xbar_d->p_resetn (this->p_resetn); 408 xbar_d->p_target_to_up (signal_vci_g2l_d); 409 xbar_d->p_initiator_to_up (signal_vci_l2g_d); 410 411 xbar_d->p_to_target[tgtid_memc] (signal_vci_tgt_memc); 412 xbar_d->p_to_target[tgtid_xicu] (signal_vci_tgt_xicu); 413 xbar_d->p_to_target[tgtid_mdma] (signal_vci_tgt_mdma); 414 415 xbar_d->p_to_initiator[nb_procs] (signal_vci_ini_mdma); 479 416 480 417 for (size_t p = 0; p < nb_procs; p++) 481 xbar_ cmd_d->p_local_in[p] (signal_dspin_cmd_proc_i[p]);418 xbar_d->p_to_initiator[p] (signal_vci_ini_proc[p]); 482 419 483 420 if (io) 484 421 { 485 xbar_cmd_d->p_local_out[tgtid_mtty] (signal_dspin_cmd_mtty_t); 486 xbar_cmd_d->p_local_out[tgtid_brom] (signal_dspin_cmd_brom_t); 487 xbar_cmd_d->p_local_out[tgtid_bdev] (signal_dspin_cmd_bdev_t); 488 xbar_cmd_d->p_local_out[tgtid_fbuf] (signal_dspin_cmd_fbuf_t); 489 xbar_cmd_d->p_local_out[tgtid_mnic] (signal_dspin_cmd_mnic_t); 490 xbar_cmd_d->p_local_out[tgtid_chbuf] (signal_dspin_cmd_chbuf_t); 491 xbar_cmd_d->p_local_out[tgtid_simh] (signal_dspin_cmd_simh_t); 492 493 xbar_cmd_d->p_local_in[nb_procs + 1] (signal_dspin_cmd_bdev_i); 494 xbar_cmd_d->p_local_in[nb_procs + 2] (signal_dspin_cmd_chbuf_i); 495 } 496 497 std::cout << " - Command Direct crossbar connected" << std::endl; 498 499 //////////////////////// RSP DSPIN local crossbar direct 500 xbar_rsp_d->p_clk (this->p_clk); 501 xbar_rsp_d->p_resetn (this->p_resetn); 502 xbar_rsp_d->p_global_out (signal_dspin_rsp_l2g_d); 503 xbar_rsp_d->p_global_in (signal_dspin_rsp_g2l_d); 504 505 xbar_rsp_d->p_local_in[tgtid_memc] (signal_dspin_rsp_memc_t); 506 xbar_rsp_d->p_local_in[tgtid_xicu] (signal_dspin_rsp_xicu_t); 507 xbar_rsp_d->p_local_in[tgtid_mdma] (signal_dspin_rsp_mdma_t); 508 509 xbar_rsp_d->p_local_out[nb_procs] (signal_dspin_rsp_mdma_i); 510 511 for (size_t p = 0; p < nb_procs; p++) 512 xbar_rsp_d->p_local_out[p] (signal_dspin_rsp_proc_i[p]); 513 514 if (io) 515 { 516 xbar_rsp_d->p_local_in[tgtid_mtty] (signal_dspin_rsp_mtty_t); 517 xbar_rsp_d->p_local_in[tgtid_brom] (signal_dspin_rsp_brom_t); 518 xbar_rsp_d->p_local_in[tgtid_bdev] (signal_dspin_rsp_bdev_t); 519 xbar_rsp_d->p_local_in[tgtid_fbuf] (signal_dspin_rsp_fbuf_t); 520 xbar_rsp_d->p_local_in[tgtid_mnic] (signal_dspin_rsp_mnic_t); 521 xbar_rsp_d->p_local_in[tgtid_chbuf] (signal_dspin_rsp_chbuf_t); 522 xbar_rsp_d->p_local_in[tgtid_simh] (signal_dspin_rsp_simh_t); 523 524 xbar_rsp_d->p_local_out[nb_procs + 1] (signal_dspin_rsp_bdev_i); 525 xbar_rsp_d->p_local_out[nb_procs + 2] (signal_dspin_rsp_chbuf_i); 526 } 527 528 std::cout << " - Response Direct crossbar connected" << std::endl; 422 xbar_d->p_to_target[tgtid_mtty] (signal_vci_tgt_mtty); 423 xbar_d->p_to_target[tgtid_brom] (signal_vci_tgt_brom); 424 xbar_d->p_to_target[tgtid_bdev] (signal_vci_tgt_bdev); 425 xbar_d->p_to_target[tgtid_fbuf] (signal_vci_tgt_fbuf); 426 xbar_d->p_to_target[tgtid_mnic] (signal_vci_tgt_mnic); 427 xbar_d->p_to_target[tgtid_chbuf] (signal_vci_tgt_chbuf); 428 xbar_d->p_to_target[tgtid_simh] (signal_vci_tgt_simh); 429 430 xbar_d->p_to_initiator[nb_procs + 1] (signal_vci_ini_bdev); 431 xbar_d->p_to_initiator[nb_procs + 2] (signal_vci_ini_chbuf); 432 } 433 434 std::cout << " - Direct crossbar connected" << std::endl; 529 435 530 436 ////////////////////// M2P DSPIN local crossbar coherence … … 572 478 proc[p]->p_dspin_clack (signal_dspin_clack_proc[p]); 573 479 574 for ( size_t i = 0 ; i < IRQ_PER_PROCESSOR; i++)575 { 576 proc[p]->p_irq[i] (signal_proc_it[p* IRQ_PER_PROCESSOR+i]);577 } 578 for ( size_t j = IRQ_PER_PROCESSOR ; j < 6 ; j++)480 for ( size_t i = 0; i < irq_per_processor; i++) 481 { 482 proc[p]->p_irq[i] (signal_proc_it[p*irq_per_processor + i]); 483 } 484 for ( size_t j = irq_per_processor; j < 6; j++) // 6 = number of irqs in the MIPS 579 485 { 580 486 proc[p]->p_irq[j] (signal_false); 581 487 } 582 488 583 wi_proc[p]->p_clk (this->p_clk);584 wi_proc[p]->p_resetn (this->p_resetn);585 wi_proc[p]->p_dspin_cmd (signal_dspin_cmd_proc_i[p]);586 wi_proc[p]->p_dspin_rsp (signal_dspin_rsp_proc_i[p]);587 wi_proc[p]->p_vci (signal_vci_ini_proc[p]);588 489 } 589 490 … … 594 495 xicu->p_resetn (this->p_resetn); 595 496 xicu->p_vci (signal_vci_tgt_xicu); 596 597 for (size_t i = 0; i < nb_procs*IRQ_PER_PROCESSOR; i++) 598 { 599 xicu->p_irq[i] (signal_proc_it[i]); 497 for (size_t p = 0; p < nb_procs * irq_per_processor; p++) 498 { 499 xicu->p_irq[p] (signal_proc_it[p]); 600 500 } 601 501 for (size_t i = 0; i < 32; i++) … … 620 520 } 621 521 } 622 623 // wrapper XICU624 wt_xicu->p_clk (this->p_clk);625 wt_xicu->p_resetn (this->p_resetn);626 wt_xicu->p_dspin_cmd (signal_dspin_cmd_xicu_t);627 wt_xicu->p_dspin_rsp (signal_dspin_rsp_xicu_t);628 wt_xicu->p_vci (signal_vci_tgt_xicu);629 522 630 523 std::cout << " - XICU connected" << std::endl; … … 640 533 memc->p_dspin_clack (signal_dspin_clack_memc); 641 534 642 // wrapper MEMC643 wt_memc->p_clk (this->p_clk);644 wt_memc->p_resetn (this->p_resetn);645 wt_memc->p_dspin_cmd (signal_dspin_cmd_memc_t);646 wt_memc->p_dspin_rsp (signal_dspin_rsp_memc_t);647 wt_memc->p_vci (signal_vci_tgt_memc);648 649 535 std::cout << " - MEMC connected" << std::endl; 650 536 … … 664 550 mdma->p_irq[i] (signal_irq_mdma[i]); 665 551 666 // wrapper tgt MDMA667 wt_mdma->p_clk (this->p_clk);668 wt_mdma->p_resetn (this->p_resetn);669 wt_mdma->p_dspin_cmd (signal_dspin_cmd_mdma_t);670 wt_mdma->p_dspin_rsp (signal_dspin_rsp_mdma_t);671 wt_mdma->p_vci (signal_vci_tgt_mdma);672 673 // wrapper ini MDMA674 wi_mdma->p_clk (this->p_clk);675 wi_mdma->p_resetn (this->p_resetn);676 wi_mdma->p_dspin_cmd (signal_dspin_cmd_mdma_i);677 wi_mdma->p_dspin_rsp (signal_dspin_rsp_mdma_i);678 wi_mdma->p_vci (signal_vci_ini_mdma);679 680 552 std::cout << " - MDMA connected" << std::endl; 681 553 … … 691 563 bdev->p_vci_initiator (signal_vci_ini_bdev); 692 564 693 // wrapper tgt BDEV694 wt_bdev->p_clk (this->p_clk);695 wt_bdev->p_resetn (this->p_resetn);696 wt_bdev->p_dspin_cmd (signal_dspin_cmd_bdev_t);697 wt_bdev->p_dspin_rsp (signal_dspin_rsp_bdev_t);698 wt_bdev->p_vci (signal_vci_tgt_bdev);699 700 // wrapper ini BDEV701 wi_bdev->p_clk (this->p_clk);702 wi_bdev->p_resetn (this->p_resetn);703 wi_bdev->p_dspin_cmd (signal_dspin_cmd_bdev_i);704 wi_bdev->p_dspin_rsp (signal_dspin_rsp_bdev_i);705 wi_bdev->p_vci (signal_vci_ini_bdev);706 707 565 std::cout << " - BDEV connected" << std::endl; 708 566 … … 711 569 fbuf->p_resetn (this->p_resetn); 712 570 fbuf->p_vci (signal_vci_tgt_fbuf); 713 714 // wrapper tgt FBUF715 wt_fbuf->p_clk (this->p_clk);716 wt_fbuf->p_resetn (this->p_resetn);717 wt_fbuf->p_dspin_cmd (signal_dspin_cmd_fbuf_t);718 wt_fbuf->p_dspin_rsp (signal_dspin_rsp_fbuf_t);719 wt_fbuf->p_vci (signal_vci_tgt_fbuf);720 571 721 572 std::cout << " - FBUF connected" << std::endl; … … 730 581 mnic->p_tx_irq[i] (signal_irq_mnic_tx[i]); 731 582 } 732 733 // wrapper tgt MNIC734 wt_mnic->p_clk (this->p_clk);735 wt_mnic->p_resetn (this->p_resetn);736 wt_mnic->p_dspin_cmd (signal_dspin_cmd_mnic_t);737 wt_mnic->p_dspin_rsp (signal_dspin_rsp_mnic_t);738 wt_mnic->p_vci (signal_vci_tgt_mnic);739 583 740 584 std::cout << " - MNIC connected" << std::endl; … … 750 594 } 751 595 752 // wrapper tgt CHBUF753 wt_chbuf->p_clk (this->p_clk);754 wt_chbuf->p_resetn (this->p_resetn);755 wt_chbuf->p_dspin_cmd (signal_dspin_cmd_chbuf_t);756 wt_chbuf->p_dspin_rsp (signal_dspin_rsp_chbuf_t);757 wt_chbuf->p_vci (signal_vci_tgt_chbuf);758 759 // wrapper ini CHBUF760 wi_chbuf->p_clk (this->p_clk);761 wi_chbuf->p_resetn (this->p_resetn);762 wi_chbuf->p_dspin_cmd (signal_dspin_cmd_chbuf_i);763 wi_chbuf->p_dspin_rsp (signal_dspin_rsp_chbuf_i);764 wi_chbuf->p_vci (signal_vci_ini_chbuf);765 766 596 std::cout << " - CHBUF connected" << std::endl; 767 597 … … 770 600 brom->p_resetn (this->p_resetn); 771 601 brom->p_vci (signal_vci_tgt_brom); 772 773 // wrapper tgt BROM774 wt_brom->p_clk (this->p_clk);775 wt_brom->p_resetn (this->p_resetn);776 wt_brom->p_dspin_cmd (signal_dspin_cmd_brom_t);777 wt_brom->p_dspin_rsp (signal_dspin_rsp_brom_t);778 wt_brom->p_vci (signal_vci_tgt_brom);779 602 780 603 std::cout << " - BROM connected" << std::endl; … … 789 612 } 790 613 791 // wrapper tgt MTTY 792 wt_mtty->p_clk (this->p_clk); 793 wt_mtty->p_resetn (this->p_resetn); 794 wt_mtty->p_dspin_cmd (signal_dspin_cmd_mtty_t); 795 wt_mtty->p_dspin_rsp (signal_dspin_rsp_mtty_t); 796 wt_mtty->p_vci (signal_vci_tgt_mtty); 614 std::cout << " - MTTY connected" << std::endl; 797 615 798 616 … … 802 620 simhelper->p_vci (signal_vci_tgt_simh); 803 621 804 // wrapper tgt Sim Helper 805 wt_simhelper->p_clk (this->p_clk); 806 wt_simhelper->p_resetn (this->p_resetn); 807 wt_simhelper->p_dspin_cmd (signal_dspin_cmd_simh_t); 808 wt_simhelper->p_dspin_rsp (signal_dspin_rsp_simh_t); 809 wt_simhelper->p_vci (signal_vci_tgt_simh); 810 811 std::cout << " - MTTY connected" << std::endl; 622 std::cout << " - SIMH connected" << std::endl; 812 623 } 813 624 } // end constructor … … 831 642 { 832 643 delete proc[p]; 833 delete wi_proc[p];834 644 } 835 645 836 646 delete memc; 837 delete wt_memc;838 647 delete xram; 839 648 delete xicu; 840 delete wt_xicu;841 649 delete mdma; 842 delete wt_mdma; 843 delete wi_mdma; 844 delete xbar_cmd_d; 845 delete xbar_rsp_d; 650 delete xbar_d; 651 delete wt_xbar_d; 652 delete wi_xbar_d; 846 653 delete xbar_m2p_c; 847 654 delete xbar_p2m_c; … … 852 659 { 853 660 delete brom; 854 delete wt_brom;855 661 delete fbuf; 856 delete wt_fbuf;857 662 delete bdev; 858 delete wt_bdev;859 delete wi_bdev;860 663 delete mnic; 861 delete wt_mnic;862 664 delete chbuf; 863 delete wt_chbuf;864 delete wi_chbuf;865 665 delete mtty; 866 delete wt_mtty;867 666 delete simhelper; 868 delete wt_simhelper;869 667 } 870 668 }
Note: See TracChangeset
for help on using the changeset viewer.