Changeset 584 for trunk/platforms/tsar_generic_iob/tsar_iob_cluster/caba
- Timestamp:
- Dec 4, 2013, 7:49:03 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp
r550 r584 206 206 mt_int, // mapping table INT network 207 207 IntTab(cluster_id,xicu_int_tgtid), // TGTID direct space 208 nb_procs,// number of timer IRQs208 32, // number of timer IRQs 209 209 32, // number of hard IRQs 210 210 32, // number of soft IRQs … … 366 366 std::ostringstream s_ram_router_cmd; 367 367 s_ram_router_cmd << "ram_router_cmd_" << x_id << "_" << y_id; 368 size_t is_iob0 = (x_id == 0) and (y_id == 0); 369 size_t is_iob1 = (x_id == (xmax-1)) and (y_id == (ymax-1)); 368 370 ram_router_cmd = new DspinRouterTsar<dspin_ram_cmd_width>( 369 371 s_ram_router_cmd.str().c_str(), 370 x_id, y_id, // router coordinates in mesh371 x_width, // x field width in first flit372 x_width,// y field width in first flit373 4, 4, // input & output fifo depths374 cluster_iob0, // cluster containingIOB0375 cluster_iob1, // cluster containingIOB1376 l_width, // local field width in first flit377 iobx_ram_srcid ); // IOB local index372 x_id, y_id, // router coordinates in mesh 373 x_width, // x field width in first flit 374 y_width, // y field width in first flit 375 4, 4, // input & output fifo depths 376 is_iob0, // cluster contains IOB0 377 is_iob1, // cluster contains IOB1 378 false, // not a response router 379 l_width); // local field width in first flit 378 380 379 381 std::ostringstream s_ram_router_rsp; … … 381 383 ram_router_rsp = new DspinRouterTsar<dspin_ram_rsp_width>( 382 384 s_ram_router_rsp.str().c_str(), 383 x_id, y_id, // coordinates in mesh384 x_width, // x field width in first flit385 y_width, // y field width in first flit386 4, 4, // input & output fifo depths387 cluster_iob0, // cluster containingIOB0388 cluster_iob1, // cluster containingIOB1389 l_width, // local field width in first flit390 iobx_ram_srcid ); // IOB local index385 x_id, y_id, // coordinates in mesh 386 x_width, // x field width in first flit 387 y_width, // y field width in first flit 388 4, 4, // input & output fifo depths 389 is_iob0, // cluster contains IOB0 390 is_iob1, // cluster contains IOB1 391 true, // response router 392 l_width); // local field width in first flit 391 393 392 394 … … 460 462 // on coherence network : local srcid[proc] in [0...nb_procs-1] 461 463 // : local srcid[memc] = nb_procs 462 464 // In cluster_iob0, 32 HWI interrupts from external peripherals 465 // are connected to the XICU ports p_hwi[0:31] 466 // In other clusters, no HWI interrupts are connected to XICU 467 463 468 //////////////////////// internal CMD & RSP routers 464 469 int_router_cmd->p_clk (this->p_clk); … … 594 599 xicu->p_irq[p] (signal_proc_it[p]); 595 600 } 596 for ( size_t i=0 ; i<4 ; i++) 597 { 598 xicu->p_hwi[i] (signal_irq_mdma[i]); 599 } 600 for ( size_t i=4 ; i<32 ; i++) 601 for ( size_t i=0 ; i<32 ; i++) 601 602 { 602 603 if (cluster_id == cluster_iob0) 603 xicu->p_hwi[i](*(this->p_irq[i]));604 xicu->p_hwi[i] (*(this->p_irq[i])); 604 605 else 605 xicu->p_hwi[i](signal_false);606 xicu->p_hwi[i] (signal_false); 606 607 } 607 608
Note: See TracChangeset
for help on using the changeset viewer.