Index: /trunk/platforms/tsar_generic_iob/arch_info.py
===================================================================
--- /trunk/platforms/tsar_generic_iob/arch_info.py	(revision 1059)
+++ /trunk/platforms/tsar_generic_iob/arch_info.py	(revision 1060)
@@ -4,9 +4,11 @@
 
 #########################################################################################
-#   file   : arch_info.py for the tsar_generic_iob architecture)
+#   file   : arch_info.py 
 #   date   : august 2016
 #   author : Alain Greiner
+#
+#   This file describes the <tsar_generic_iob> architecture for ALMOS-MKH.
 #########################################################################################
-#  This python script defines a specific instance of "tsar_generic_iob" architecture
+#  This python script defines a specific instance of ithe "tsar_generic_iob" architecture
 #  for the ALMOS-MKH operating system. It is used to generate the "hard_config.h" file, 
 #  used to configure the hardware architecture, and the "arch_info.bin" file, used by 
@@ -30,17 +32,20 @@
 #  - nb_ttys        : number of TTY channels (can be from 1 to 8)
 #  - nb_nics        : number of NIC channels (from 1 to 2)
-#  - fbf_width      : frame_buffer width = frame_buffer heigth
-#  - ioc_type       : can be 'IOC_BDV','IOC_HBA','IOC_SDC', 'IOC_SPI','NONE'
-#
-#  The following parameters are imposed by the "tsar_generic_iob" architecture:
-#  - devices_max    : max number of devices per cluster
+#  - ioc_type       : can be IOC_BDV, IOC_HBA, IOC_SDC, IOC_SPI
+#  - txt_type       : IOB architecture use TXT_TTY 
+#  - fbf_type       : IOB architecture use FBF_SCL
+#  - sys_clk        : IOB architecture is SystemC only
+#
+#  The other hardware parameters are defined below:
 #  - x_width        : number of bits for x coordinate
 #  - y_width        : number of bits for y coordinate
+#  - p_width        : number of bits for local processor index
 #  - paddr_width    : number of bits for physical address
-#  - p_width        : number of bits for local processor index
 #  - irqs_per_core  : number of input IRQs per processor
 #  - io_cxy         : IO cluster identifier
 #  - boot_cxy       : boot cluster identifier
 #  - cache_line     : number of bytes in cache line (in 16,32,64)
+#  - devices_max    : max number of internal devices per cluster
+#  - fbf_width      : number of lines = number of pixels
 ########################################################################################
 
@@ -49,8 +54,10 @@
           y_size        = 2,
           nb_cores      = 2,
-          nb_ttys       = 1,
+          nb_ttys       = 3,
           nb_nics       = 1, 
-          fbf_width     = 128,
-          ioc_type      = 'IOC_BDV'):
+          ioc_type      = 'IOC_BDV',
+          txt_type      = 'TXT_TTY',
+          fbf_type      = 'FBF_SCL',
+          sys_clk       = 50000 ): 
 
     ### architecture constants
@@ -61,8 +68,9 @@
     paddr_width   = 40
     irqs_per_core = 4           
-    devices_max   = 16  
+    io_cxy        = ((x_size-1)<<y_width) + (y_size-1)   # upper right cluster
     boot_cxy      = 0
     cache_line    = 64
-    io_cxy        = ((x_size-1)<<y_width) + (y_size-1)   # upper right cluster
+    devices_max   = 16  
+    fbf_width     = 256
 
     ### constructor parameters checking
@@ -95,5 +103,5 @@
 
     ram_base = 0x0000000000
-    ram_size = 0x800000                    # 8 Mbytes
+    ram_size = 0x1000000                   # 16 Mbytes
 
     xcu_base = 0x00B0000000
@@ -113,8 +121,8 @@
 
     tty_base  = 0x00B4000000
-    tty_size  = 0x4000                     # 16 Kbytes
+    tty_size  = 0x8000                     # 4 Kbytes * 8 channels
 
     nic_base  = 0x00B5000000
-    nic_size  = 0x4000                     # 16 kbytes
+    nic_size  = 0x4000                     # 4 Kbytes * 4 channels
 
     fbf_base  = 0x00B7000000
Index: /trunk/platforms/tsar_generic_iob/top.cpp
===================================================================
--- /trunk/platforms/tsar_generic_iob/top.cpp	(revision 1059)
+++ /trunk/platforms/tsar_generic_iob/top.cpp	(revision 1060)
@@ -1656,11 +1656,11 @@
 
         // Monitor a specific address for one L1 cache
-        // clusters[0][0]->proc[0]->cache_monitor( 0x00032D74ULL );
+        // clusters[0][1]->proc[0]->cache_monitor( 0x10003ddb4ULL );
 
         // Monitor a specific address for L2 cache (single word if second argument true)
-        clusters[0][0]->memc->cache_monitor( 0xdbc7cULL , true );
+        // clusters[0][0]->memc->cache_monitor( 0x0000d74c0ULL , false );
 
         // Monitor a specific address for one XRAM
-        // clusters[0][0]->xram->start_monitor( 0x0008A000ULL , 64);
+        // clusters[0][1]->xram->start_monitor( 0x100094000ULL , 64);
 
         if ( debug_ok and (n > debug_from) )
@@ -1668,4 +1668,5 @@
             std::cout << "****************** cycle " << std::dec << n ;
             std::cout << " ************************************************" << std::endl;
+//
             // trace proc[debug_proc_id]
             if ( debug_proc_id != 0xFFFFFFFF )
@@ -1679,4 +1680,5 @@
                 // 0x20 : itlb trace
                 // 0x40 : SR
+
                 size_t l          = debug_proc_id & ((1<<P_WIDTH)-1) ;
                 size_t cluster_xy = debug_proc_id >> P_WIDTH ;
@@ -1767,10 +1769,10 @@
 //              signal_vci_tgt_brom.print_trace("[SIG]BROM_TGT");
 
-                mtty->print_trace( 1 );
-                signal_vci_tgt_mtty.print_trace("[SIG]MTTY_TGT");
-
-//              disk->print_trace();
-//              signal_vci_tgt_disk.print_trace("[SIG]DISK_TGT");
-//              signal_vci_ini_disk.print_trace("[SIG]DISK_INI");
+//              mtty->print_trace( 1 );
+//              signal_vci_tgt_mtty.print_trace("[SIG]MTTY_TGT");
+
+                disk->print_trace();
+                signal_vci_tgt_disk.print_trace("[SIG]DISK_TGT");
+                signal_vci_ini_disk.print_trace("[SIG]DISK_INI");
 
 #if ( USE_IOC_SDC )
