- Timestamp:
- Jan 16, 2016, 7:44:23 PM (9 years ago)
- Location:
- trunk/platforms/tsar_generic_iob
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_iob/top.cpp
r1025 r1030 338 338 ssize_t threads = 1; // simulator's threads number 339 339 bool debug_ok = false; // trace activated 340 size_t debug_memc_id = 0xFFFFFFFF; // index of traced memc 341 size_t debug_proc_id = 0xFFFFFFFF; // index of traced proc 342 size_t debug_xram_id = 0xFFFFFFFF; // index of traced xram 340 uint32_t debug_memc_id = 0xFFFFFFFF; // index of traced memc 341 uint32_t debug_proc_id = 0xFFFFFFFF; // index of traced proc 343 342 bool debug_iob = false; // trace iob0 & iob1 when true 344 343 uint32_t debug_from = 0; // trace start cycle … … 391 390 std::cout << " - XMAX = " << std::hex << XMAX << std::endl; 392 391 std::cout << " - YMAX = " << std::hex << YMAX << std::endl; 393 exit(0);394 }395 }396 else if ((strcmp(argv[n],"-XRAMID") == 0) && (n+1<argc) )397 {398 debug_xram_id = atoi(argv[n+1]);399 size_t x = debug_xram_id >> 4;400 size_t y = debug_xram_id & 0xF;401 if( (x>=XMAX) || (y>=YMAX) )402 {403 std::cout << "XRAMID parameter does'nt fit XMAX/YMAX" << std::endl;404 392 exit(0); 405 393 } … … 441 429 std::cout << " - DEBUG debug_start_cycle" << std::endl; 442 430 std::cout << " - THREADS simulator's threads number" << std::endl; 443 std::cout << " - FROZEN max_number_of_ lines" << std::endl;431 std::cout << " - FROZEN max_number_of_cycles" << std::endl; 444 432 std::cout << " - MEMCID index_memc_to_be_traced" << std::endl; 445 433 std::cout << " - PROCID index_proc_to_be_traced" << std::endl; … … 506 494 << " - OPENMP THREADS = " << threads << std::endl 507 495 << " - DEBUG_PROCID = " << debug_proc_id << std::endl 508 << " - DEBUG_MEMCID = " << debug_memc_id << std::endl 509 << " - DEBUG_XRAMID = " << debug_xram_id << std::endl 510 << " - DEBUG_XRAMID = " << debug_xram_id << std::endl; 496 << " - DEBUG_MEMCID = " << debug_memc_id << std::endl; 511 497 512 498 std::cout << std::endl; … … 1228 1214 1229 1215 frozen_cycles, 1216 debug_ok, 1230 1217 debug_from, 1231 debug_ ok and (cluster(x,y) == debug_memc_id),1232 debug_ ok and (cluster(x,y) == debug_proc_id),1233 debug_ ok and debug_iob1218 debug_proc_id, 1219 debug_memc_id, 1220 debug_iob 1234 1221 ); 1235 1222 … … 1765 1752 sxram_tgt << "[SIG]XRAM_TGT_" << x << "_" << y; 1766 1753 clusters[x][y]->signal_ram_vci_tgt_xram.print_trace(sxram_tgt.str()); 1767 } 1768 1769 1770 // trace XRAM and XRAM network routers in cluster[debug_xram_id] 1771 if ( debug_xram_id != 0xFFFFFFFF ) 1772 { 1773 size_t x = debug_xram_id >> 4; 1774 size_t y = debug_xram_id & 0xF; 1775 1776 clusters[x][y]->xram->print_trace(); 1777 std::ostringstream sxram_tgt; 1778 sxram_tgt << "[SIG]XRAM_TGT_" << x << "_" << y; 1779 clusters[x][y]->signal_ram_vci_tgt_xram.print_trace(sxram_tgt.str()); 1780 1781 clusters[x][y]->ram_router_cmd->print_trace(); 1782 clusters[x][y]->ram_router_rsp->print_trace(); 1754 1755 // clusters[x][y]->ram_router_cmd->print_trace(); 1756 // clusters[x][y]->ram_router_rsp->print_trace(); 1783 1757 } 1784 1758 -
trunk/platforms/tsar_generic_iob/tsar_iob_cluster/caba/source/include/tsar_iob_cluster.h
r1002 r1030 261 261 262 262 uint32_t frozen_cycles, 263 uint32_t start_debug_cycle, 264 bool memc_debug_ok, 265 bool proc_debug_ok, 266 bool iob0_debug_ok ); 263 bool debug_ok, 264 uint32_t debug_start_cycle, 265 uint32_t debug_proc_id, 266 uint32_t debug_memc_id, 267 bool debug_iob ); 267 268 268 269 protected: -
trunk/platforms/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp
r1002 r1030 83 83 84 84 uint32_t frozen_cycles, 85 bool debug_ok, 85 86 uint32_t debug_start_cycle, 86 bool memc_debug_ok,87 bool proc_debug_ok,88 bool iob_debug_ok)87 uint32_t debug_proc_id, 88 uint32_t debug_memc_id, 89 bool debug_iob ) 89 90 : soclib::caba::BaseModule(insname), 90 91 p_clk("clk"), … … 129 130 ////////////////////////////////////////////////////////////////////////////////// 130 131 132 size_t x_debug; 133 size_t y_debug; 134 size_t p_debug; 135 131 136 //////////// PROCS ///////////////////////////////////////////////////////////// 132 137 for (size_t p = 0; p < nb_procs; p++) 133 138 { 134 139 std::ostringstream s_proc; 140 x_debug = (debug_proc_id >> (y_width + p_width)) & ((1<<x_width)-1); 141 y_debug = (debug_proc_id >> p_width ) & ((1<<y_width)-1); 142 p_debug = (debug_proc_id ) & ((1<<p_width)-1); 143 144 135 145 s_proc << "proc_" << x_id << "_" << y_id << "_" << p; 136 146 proc[p] = new VciCcVCacheWrapper<vci_param_int, … … 155 165 frozen_cycles, // max frozen cycles 156 166 debug_start_cycle, 157 proc_debug_ok);167 debug_ok and (x_id == x_debug) and (y_id == y_debug) and (p_debug == p) ); 158 168 } 159 169 … … 161 171 std::ostringstream s_memc; 162 172 s_memc << "memc_" << x_id << "_" << y_id; 173 x_debug = (debug_memc_id >> y_width) & ((1<<x_width)-1); 174 y_debug = (debug_memc_id ) & ((1<<y_width)-1); 163 175 memc = new VciMemCache<vci_param_int, 164 176 vci_param_ext, … … 179 191 8, // INVALIDATE TABLE DEPTH 180 192 debug_start_cycle, 181 memc_debug_ok);193 debug_ok and (x_id == x_debug) and (y_id = y_debug) ); 182 194 183 195 std::ostringstream s_wi_memc; … … 437 449 8, // IOTLB sets 438 450 debug_start_cycle, 439 iob_debug_ok);451 debug_iob ); 440 452 441 453 std::ostringstream s_iob_ram_wi;
Note: See TracChangeset
for help on using the changeset viewer.