Index: trunk/platforms/caba-xxx-ccxcachemulti-mipsel/top.cpp
===================================================================
--- trunk/platforms/caba-xxx-ccxcachemulti-mipsel/top.cpp	(revision 46)
+++ trunk/platforms/caba-xxx-ccxcachemulti-mipsel/top.cpp	(revision 85)
@@ -11,10 +11,7 @@
 #include "vci_simple_ram.h"
 #include "vci_multi_tty.h"
-//#include "vci_vgsb.h"
 #include "vci_vgmn.h"
-//#include "vci_simple_ring_network.h"
 #include "vci_mem_cache_v1.h"
 #include "vci_cc_xcache_wrapper_multi.h"
-#include "vci_logger.h"
 
 #ifdef USE_GDB_SERVER
@@ -32,40 +29,32 @@
 
 	// Define VCI parameters
-	typedef soclib::caba::VciParams<4,8,32,1,1,1,8,6,6,1> vci_param;
+	typedef soclib::caba::VciParams<4,8,64,1,1,1,14,4,4,1> vci_param;
 	typedef soclib::common::Iss2Simhelper<soclib::common::Mips32ElIss> proc_iss;
 	// Mapping table
 
-	soclib::common::MappingTable maptabp(32, IntTab(8), IntTab(8), 0x00300000);
-
-	maptabp.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab(2), true));
-	maptabp.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab(2), true));
-	maptabp.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab(2), true));
+	soclib::common::MappingTable maptabp(40, IntTab(16), IntTab(8), 0x00300000);
+
+	maptabp.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab(0), true));
+	maptabp.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab(0), true));
+	maptabp.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab(0), true));
 	maptabp.add(Segment("tty"  , TTY_BASE  , TTY_SIZE  , IntTab(1), false));
-	maptabp.add(Segment("mc_r" , MC_R_BASE , MC_R_SIZE , IntTab(2), false, true, IntTab(0)));
-	maptabp.add(Segment("mc_m" , MC_M_BASE , MC_M_SIZE , IntTab(2), true ));
-	maptabp.add(Segment("ptba" , PTD_ADDR  , TAB_SIZE  , IntTab(2), true));
+	maptabp.add(Segment("mc_m" , MC_M_BASE , MC_M_SIZE , IntTab(0), true ));
  
 	std::cout << maptabp << std::endl;
 
-        soclib::common::MappingTable maptabc(32, IntTab(8), IntTab(8), 0x00300000);
+        soclib::common::MappingTable maptabc(40, IntTab(16), IntTab(8), 0x00300000);
 	maptabc.add(Segment("c_proc0" , C_PROC0_BASE , C_PROC0_SIZE , IntTab(0), false, true, IntTab(0)));
-	maptabc.add(Segment("c_proc1" , C_PROC1_BASE , C_PROC1_SIZE , IntTab(1), false, true, IntTab(1)));
-	maptabc.add(Segment("c_proc2" , C_PROC2_BASE , C_PROC2_SIZE , IntTab(2), false, true, IntTab(2)));
-	maptabc.add(Segment("c_proc3" , C_PROC3_BASE , C_PROC3_SIZE , IntTab(3), false, true, IntTab(3)));
-	maptabc.add(Segment("mc_r"    , MC_R_BASE , MC_R_SIZE , IntTab(4), false, false));
-	maptabc.add(Segment("mc_m"  , MC_M_BASE , MC_M_SIZE  , IntTab(4), false, false));
-	maptabc.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab(4), false, false));
-	maptabc.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab(4), false, false));
-	maptabc.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab(4), false, false));
-	maptabc.add(Segment("ptba" , PTD_ADDR  , TAB_SIZE  , IntTab(4), false, false));
+	maptabc.add(Segment("mc_m" , MC_M_BASE , MC_M_SIZE , IntTab(1), false, false));
+	maptabc.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab(1), false, false));
+	maptabc.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab(1), false, false));
+	maptabc.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab(1), false, false));
 
 	std::cout << maptabc << std::endl;
 	
-	soclib::common::MappingTable maptabx(32, IntTab(8), IntTab(8), 0x00300000);
+	soclib::common::MappingTable maptabx(40, IntTab(16), IntTab(8), 0x00300000);
 	maptabx.add(Segment("xram" , MC_M_BASE , MC_M_SIZE , IntTab(0), false));
 	maptabx.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab(0), false));
 	maptabx.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab(0), false));
 	maptabx.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab(0), false));
-	maptabx.add(Segment("ptba" , PTD_ADDR  , TAB_SIZE  , IntTab(0), false));
 	
 	std::cout << maptabx << std::endl;
@@ -81,5 +70,5 @@
 	sc_signal<bool> signal_proc0_it4("proc0_it4"); 
 	sc_signal<bool> signal_proc0_it5("proc0_it5");
-
+/*
 	sc_signal<bool> signal_proc1_it0("proc1_it0"); 
 	sc_signal<bool> signal_proc1_it1("proc1_it1"); 
@@ -102,9 +91,9 @@
 	sc_signal<bool> signal_proc3_it4("proc3_it4"); 
 	sc_signal<bool> signal_proc3_it5("proc3_it5");
-
+*/
 	soclib::caba::VciSignals<vci_param> signal_vci_ini_d_proc0("vci_ini_d_proc0");
 	soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc0("vci_ini_c_proc0");
 	soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_proc0("vci_tgt_proc0");
-
+/*
 	soclib::caba::VciSignals<vci_param> signal_vci_ini_d_proc1("vci_ini_d_proc1");
 	soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc1("vci_ini_c_proc1");
@@ -118,8 +107,6 @@
 	soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc3("vci_ini_c_proc3");
 	soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_proc3("vci_tgt_proc3");
-
+*/
 	soclib::caba::VciSignals<vci_param> signal_vci_tgt_tty("vci_tgt_tty");
-
-	soclib::caba::VciSignals<vci_param> signal_vci_tgt_rom("vci_tgt_rom");
 
 	soclib::caba::VciSignals<vci_param> signal_vci_tgt_xram("vci_tgt_xram");
@@ -130,9 +117,10 @@
 	soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_memc("vci_tgt_cleanup_memc");
 
-	sc_signal<bool> signal_tty_irq0("signal_tty_irq0"); 
+	sc_signal<bool> signal_tty_irq0("signal_tty_irq0");
+/* 
 	sc_signal<bool> signal_tty_irq1("signal_tty_irq1"); 
 	sc_signal<bool> signal_tty_irq2("signal_tty_irq2"); 
 	sc_signal<bool> signal_tty_irq3("signal_tty_irq3"); 
-
+*/
         sc_signal<bool> signal_stuck0("signal_stuck0");
 
@@ -142,5 +130,5 @@
 	soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss > 
 	proc0("proc0", 0, maptabp, maptabc, IntTab(0),IntTab(0),IntTab(0),1,8,16,1,8,16,4,8,16);
-
+/*
 	soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss > 
 	proc1("proc1", 1, maptabp, maptabc, IntTab(1),IntTab(1),IntTab(1),1,8,16,1,8,16,4,8,16);
@@ -151,7 +139,5 @@
 	soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss > 
 	proc3("proc3", 3, maptabp, maptabc, IntTab(3),IntTab(3),IntTab(3),1,8,16,1,8,16,4,8,16);
-
-	soclib::caba::VciSimpleRam<vci_param> 
-	rom("rom", IntTab(0), maptabp, loader);
+*/
 
 	soclib::caba::VciSimpleRam<vci_param> 
@@ -159,33 +145,15 @@
 
 	soclib::caba::VciMemCacheV1<vci_param> 
-	memc("memc",maptabp,maptabc,maptabx,IntTab(0),IntTab(4),IntTab(2), IntTab(4),4,16,16);
+	memc("memc",maptabp,maptabc,maptabx,IntTab(0),IntTab(1),IntTab(0), IntTab(1),4,16,16);
 	
 	soclib::caba::VciMultiTty<vci_param> 
-	tty("tty",IntTab(1),maptabp,"tty0","tty1","tty2","tty3",NULL);
-
-//      soclib::caba::VciLogger<vci_param> vci_logger_proc0("vci_logger_proc0",maptabp);
-//      soclib::caba::VciLogger<vci_param> vci_logger_proc1("vci_logger_proc1",maptabp);
-//      soclib::caba::VciLogger<vci_param> vci_logger_proc2("vci_logger_proc2",maptabp);
-//      soclib::caba::VciLogger<vci_param> vci_logger_proc3("vci_logger_proc3",maptabp);
-//      soclib::caba::VciLogger<vci_param> vci_logger_memc("vci_logger_memc",maptabp);
-
-//	soclib::caba::VciSimpleRingNetwork<vci_param> 
-//	ringd("ringd",maptabp, IntTab(), 2, 4, 3);
-//  	soclib::caba::VciVgsb<vci_param> 
-//	ringd("ringd",maptabp, 4, 3);
+	tty("tty",IntTab(1),maptabp,"tty0", NULL);
+
   	soclib::caba::VciVgmn<vci_param> 
-	ringd("ringd",maptabp, 4, 3, 2, 2);
-
-//	soclib::caba::VciSimpleRingNetwork<vci_param> 
-//	ringc("ringc",maptabc, IntTab(), 2, 5, 5);
-//	soclib::caba::VciVgsb<vci_param> 
-//	ringc("ringc",maptabc, 5, 5);
+	ringd("ringd",maptabp, 1, 2, 2, 2);
+
   	soclib::caba::VciVgmn<vci_param> 
-	ringc("ringc",maptabc, 5, 5, 2, 2);
-
-//	soclib::caba::VciSimpleRingNetwork<vci_param> 
-//	ringx("ringx",maptabx, IntTab(), 2, 1, 1);
-//	soclib::caba::VciVgsb<vci_param> 
-//	ringx("ringx",maptabx, 1, 1);
+	ringc("ringc",maptabc, 2, 2, 2, 2);
+
   	soclib::caba::VciVgmn<vci_param> 
 	ringx("ringx",maptabx, 1, 1, 2, 2);
@@ -204,5 +172,5 @@
 	proc0.p_vci_ini_c(signal_vci_ini_c_proc0);
 	proc0.p_vci_tgt_c(signal_vci_tgt_c_proc0);
-
+/*
 	proc1.p_clk(signal_clk);  
 	proc1.p_resetn(signal_resetn);  
@@ -240,17 +208,15 @@
 	proc3.p_vci_ini_c(signal_vci_ini_c_proc3);
 	proc3.p_vci_tgt_c(signal_vci_tgt_c_proc3);
-
-	rom.p_clk(signal_clk);
-	rom.p_resetn(signal_resetn);
-	rom.p_vci(signal_vci_tgt_rom);
+*/
 
 	tty.p_clk(signal_clk);
 	tty.p_resetn(signal_resetn);
 	tty.p_vci(signal_vci_tgt_tty);
-	tty.p_irq[0](signal_tty_irq0); 
+	tty.p_irq[0](signal_tty_irq0);
+/* 
 	tty.p_irq[1](signal_tty_irq1); 
 	tty.p_irq[2](signal_tty_irq2); 
 	tty.p_irq[3](signal_tty_irq3); 
-
+*/
 	memc.p_clk(signal_clk);
 	memc.p_resetn(signal_resetn);
@@ -267,23 +233,28 @@
 	ringd.p_resetn(signal_resetn);
 	ringd.p_to_initiator[0](signal_vci_ini_d_proc0);
+/*
 	ringd.p_to_initiator[1](signal_vci_ini_d_proc1);
 	ringd.p_to_initiator[2](signal_vci_ini_d_proc2);
 	ringd.p_to_initiator[3](signal_vci_ini_d_proc3);
-	ringd.p_to_target[0](signal_vci_tgt_rom);
+*/
 	ringd.p_to_target[1](signal_vci_tgt_tty);
-	ringd.p_to_target[2](signal_vci_tgt_d_memc);
+	ringd.p_to_target[0](signal_vci_tgt_d_memc);
 
 	ringc.p_clk(signal_clk);
 	ringc.p_resetn(signal_resetn);
 	ringc.p_to_initiator[0](signal_vci_ini_c_proc0);
+/*
 	ringc.p_to_initiator[1](signal_vci_ini_c_proc1);
 	ringc.p_to_initiator[2](signal_vci_ini_c_proc2);
 	ringc.p_to_initiator[3](signal_vci_ini_c_proc3);
-	ringc.p_to_initiator[4](signal_vci_ini_memc);
+*/
+	ringc.p_to_initiator[1](signal_vci_ini_memc);
 	ringc.p_to_target[0](signal_vci_tgt_c_proc0);
+/*
 	ringc.p_to_target[1](signal_vci_tgt_c_proc1);
 	ringc.p_to_target[2](signal_vci_tgt_c_proc2);
 	ringc.p_to_target[3](signal_vci_tgt_c_proc3);
-	ringc.p_to_target[4](signal_vci_tgt_c_memc);
+*/
+	ringc.p_to_target[1](signal_vci_tgt_c_memc);
 
 	ringx.p_clk(signal_clk);
