Index: trunk/platforms/tsar_generic_xbar/top.cpp
===================================================================
--- trunk/platforms/tsar_generic_xbar/top.cpp	(revision 624)
+++ trunk/platforms/tsar_generic_xbar/top.cpp	(revision 625)
@@ -950,6 +950,6 @@
         // trace proc[debug_proc_id] 
         size_t l = debug_proc_id % NB_PROCS_MAX ;
-        size_t y = (debug_proc_id / NB_PROCS_MAX) % YMAX ;
-        size_t x = debug_proc_id / (YMAX * NB_PROCS_MAX) ;
+        size_t y = (debug_proc_id /                   NB_PROCS_MAX)  % YMAX ;
+        size_t x = (debug_proc_id / ((1 << y_width) * NB_PROCS_MAX)) % XMAX ;
 
         std::ostringstream proc_signame;
@@ -1012,7 +1012,7 @@
 
         // trace external peripherals
-        size_t io_x   = cluster_io_id / YMAX;
-        size_t io_y   = cluster_io_id % YMAX;
-        
+        size_t io_x   = cluster_io_id >> y_width;
+        size_t io_y   = cluster_io_id  & ((1 << x_width) - 1);
+
         clusters[io_x][io_y]->brom->print_trace();
         clusters[io_x][io_y]->wt_brom->print_trace();
