Changeset 85 for trunk/platforms/caba-xxx-ccxcachemulti-mipsel/top.cpp
- Timestamp:
- Sep 3, 2010, 3:57:30 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/caba-xxx-ccxcachemulti-mipsel/top.cpp
r46 r85 11 11 #include "vci_simple_ram.h" 12 12 #include "vci_multi_tty.h" 13 //#include "vci_vgsb.h"14 13 #include "vci_vgmn.h" 15 //#include "vci_simple_ring_network.h"16 14 #include "vci_mem_cache_v1.h" 17 15 #include "vci_cc_xcache_wrapper_multi.h" 18 #include "vci_logger.h"19 16 20 17 #ifdef USE_GDB_SERVER … … 32 29 33 30 // Define VCI parameters 34 typedef soclib::caba::VciParams<4,8, 32,1,1,1,8,6,6,1> vci_param;31 typedef soclib::caba::VciParams<4,8,64,1,1,1,14,4,4,1> vci_param; 35 32 typedef soclib::common::Iss2Simhelper<soclib::common::Mips32ElIss> proc_iss; 36 33 // Mapping table 37 34 38 soclib::common::MappingTable maptabp( 32, IntTab(8), IntTab(8), 0x00300000);39 40 maptabp.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab( 2), true));41 maptabp.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab( 2), true));42 maptabp.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab( 2), true));35 soclib::common::MappingTable maptabp(40, IntTab(16), IntTab(8), 0x00300000); 36 37 maptabp.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab(0), true)); 38 maptabp.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab(0), true)); 39 maptabp.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab(0), true)); 43 40 maptabp.add(Segment("tty" , TTY_BASE , TTY_SIZE , IntTab(1), false)); 44 maptabp.add(Segment("mc_r" , MC_R_BASE , MC_R_SIZE , IntTab(2), false, true, IntTab(0))); 45 maptabp.add(Segment("mc_m" , MC_M_BASE , MC_M_SIZE , IntTab(2), true )); 46 maptabp.add(Segment("ptba" , PTD_ADDR , TAB_SIZE , IntTab(2), true)); 41 maptabp.add(Segment("mc_m" , MC_M_BASE , MC_M_SIZE , IntTab(0), true )); 47 42 48 43 std::cout << maptabp << std::endl; 49 44 50 soclib::common::MappingTable maptabc( 32, IntTab(8), IntTab(8), 0x00300000);45 soclib::common::MappingTable maptabc(40, IntTab(16), IntTab(8), 0x00300000); 51 46 maptabc.add(Segment("c_proc0" , C_PROC0_BASE , C_PROC0_SIZE , IntTab(0), false, true, IntTab(0))); 52 maptabc.add(Segment("c_proc1" , C_PROC1_BASE , C_PROC1_SIZE , IntTab(1), false, true, IntTab(1))); 53 maptabc.add(Segment("c_proc2" , C_PROC2_BASE , C_PROC2_SIZE , IntTab(2), false, true, IntTab(2))); 54 maptabc.add(Segment("c_proc3" , C_PROC3_BASE , C_PROC3_SIZE , IntTab(3), false, true, IntTab(3))); 55 maptabc.add(Segment("mc_r" , MC_R_BASE , MC_R_SIZE , IntTab(4), false, false)); 56 maptabc.add(Segment("mc_m" , MC_M_BASE , MC_M_SIZE , IntTab(4), false, false)); 57 maptabc.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab(4), false, false)); 58 maptabc.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab(4), false, false)); 59 maptabc.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab(4), false, false)); 60 maptabc.add(Segment("ptba" , PTD_ADDR , TAB_SIZE , IntTab(4), false, false)); 47 maptabc.add(Segment("mc_m" , MC_M_BASE , MC_M_SIZE , IntTab(1), false, false)); 48 maptabc.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab(1), false, false)); 49 maptabc.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab(1), false, false)); 50 maptabc.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab(1), false, false)); 61 51 62 52 std::cout << maptabc << std::endl; 63 53 64 soclib::common::MappingTable maptabx( 32, IntTab(8), IntTab(8), 0x00300000);54 soclib::common::MappingTable maptabx(40, IntTab(16), IntTab(8), 0x00300000); 65 55 maptabx.add(Segment("xram" , MC_M_BASE , MC_M_SIZE , IntTab(0), false)); 66 56 maptabx.add(Segment("reset", RESET_BASE, RESET_SIZE, IntTab(0), false)); 67 57 maptabx.add(Segment("excep", EXCEP_BASE, EXCEP_SIZE, IntTab(0), false)); 68 58 maptabx.add(Segment("text" , TEXT_BASE , TEXT_SIZE , IntTab(0), false)); 69 maptabx.add(Segment("ptba" , PTD_ADDR , TAB_SIZE , IntTab(0), false));70 59 71 60 std::cout << maptabx << std::endl; … … 81 70 sc_signal<bool> signal_proc0_it4("proc0_it4"); 82 71 sc_signal<bool> signal_proc0_it5("proc0_it5"); 83 72 /* 84 73 sc_signal<bool> signal_proc1_it0("proc1_it0"); 85 74 sc_signal<bool> signal_proc1_it1("proc1_it1"); … … 102 91 sc_signal<bool> signal_proc3_it4("proc3_it4"); 103 92 sc_signal<bool> signal_proc3_it5("proc3_it5"); 104 93 */ 105 94 soclib::caba::VciSignals<vci_param> signal_vci_ini_d_proc0("vci_ini_d_proc0"); 106 95 soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc0("vci_ini_c_proc0"); 107 96 soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_proc0("vci_tgt_proc0"); 108 97 /* 109 98 soclib::caba::VciSignals<vci_param> signal_vci_ini_d_proc1("vci_ini_d_proc1"); 110 99 soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc1("vci_ini_c_proc1"); … … 118 107 soclib::caba::VciSignals<vci_param> signal_vci_ini_c_proc3("vci_ini_c_proc3"); 119 108 soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_proc3("vci_tgt_proc3"); 120 109 */ 121 110 soclib::caba::VciSignals<vci_param> signal_vci_tgt_tty("vci_tgt_tty"); 122 123 soclib::caba::VciSignals<vci_param> signal_vci_tgt_rom("vci_tgt_rom");124 111 125 112 soclib::caba::VciSignals<vci_param> signal_vci_tgt_xram("vci_tgt_xram"); … … 130 117 soclib::caba::VciSignals<vci_param> signal_vci_tgt_c_memc("vci_tgt_cleanup_memc"); 131 118 132 sc_signal<bool> signal_tty_irq0("signal_tty_irq0"); 119 sc_signal<bool> signal_tty_irq0("signal_tty_irq0"); 120 /* 133 121 sc_signal<bool> signal_tty_irq1("signal_tty_irq1"); 134 122 sc_signal<bool> signal_tty_irq2("signal_tty_irq2"); 135 123 sc_signal<bool> signal_tty_irq3("signal_tty_irq3"); 136 124 */ 137 125 sc_signal<bool> signal_stuck0("signal_stuck0"); 138 126 … … 142 130 soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss > 143 131 proc0("proc0", 0, maptabp, maptabc, IntTab(0),IntTab(0),IntTab(0),1,8,16,1,8,16,4,8,16); 144 132 /* 145 133 soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss > 146 134 proc1("proc1", 1, maptabp, maptabc, IntTab(1),IntTab(1),IntTab(1),1,8,16,1,8,16,4,8,16); … … 151 139 soclib::caba::VciCcXCacheWrapperMulti<vci_param, proc_iss > 152 140 proc3("proc3", 3, maptabp, maptabc, IntTab(3),IntTab(3),IntTab(3),1,8,16,1,8,16,4,8,16); 153 154 soclib::caba::VciSimpleRam<vci_param> 155 rom("rom", IntTab(0), maptabp, loader); 141 */ 156 142 157 143 soclib::caba::VciSimpleRam<vci_param> … … 159 145 160 146 soclib::caba::VciMemCacheV1<vci_param> 161 memc("memc",maptabp,maptabc,maptabx,IntTab(0),IntTab( 4),IntTab(2), IntTab(4),4,16,16);147 memc("memc",maptabp,maptabc,maptabx,IntTab(0),IntTab(1),IntTab(0), IntTab(1),4,16,16); 162 148 163 149 soclib::caba::VciMultiTty<vci_param> 164 tty("tty",IntTab(1),maptabp,"tty0","tty1","tty2","tty3",NULL); 165 166 // soclib::caba::VciLogger<vci_param> vci_logger_proc0("vci_logger_proc0",maptabp); 167 // soclib::caba::VciLogger<vci_param> vci_logger_proc1("vci_logger_proc1",maptabp); 168 // soclib::caba::VciLogger<vci_param> vci_logger_proc2("vci_logger_proc2",maptabp); 169 // soclib::caba::VciLogger<vci_param> vci_logger_proc3("vci_logger_proc3",maptabp); 170 // soclib::caba::VciLogger<vci_param> vci_logger_memc("vci_logger_memc",maptabp); 171 172 // soclib::caba::VciSimpleRingNetwork<vci_param> 173 // ringd("ringd",maptabp, IntTab(), 2, 4, 3); 174 // soclib::caba::VciVgsb<vci_param> 175 // ringd("ringd",maptabp, 4, 3); 150 tty("tty",IntTab(1),maptabp,"tty0", NULL); 151 176 152 soclib::caba::VciVgmn<vci_param> 177 ringd("ringd",maptabp, 4, 3, 2, 2); 178 179 // soclib::caba::VciSimpleRingNetwork<vci_param> 180 // ringc("ringc",maptabc, IntTab(), 2, 5, 5); 181 // soclib::caba::VciVgsb<vci_param> 182 // ringc("ringc",maptabc, 5, 5); 153 ringd("ringd",maptabp, 1, 2, 2, 2); 154 183 155 soclib::caba::VciVgmn<vci_param> 184 ringc("ringc",maptabc, 5, 5, 2, 2); 185 186 // soclib::caba::VciSimpleRingNetwork<vci_param> 187 // ringx("ringx",maptabx, IntTab(), 2, 1, 1); 188 // soclib::caba::VciVgsb<vci_param> 189 // ringx("ringx",maptabx, 1, 1); 156 ringc("ringc",maptabc, 2, 2, 2, 2); 157 190 158 soclib::caba::VciVgmn<vci_param> 191 159 ringx("ringx",maptabx, 1, 1, 2, 2); … … 204 172 proc0.p_vci_ini_c(signal_vci_ini_c_proc0); 205 173 proc0.p_vci_tgt_c(signal_vci_tgt_c_proc0); 206 174 /* 207 175 proc1.p_clk(signal_clk); 208 176 proc1.p_resetn(signal_resetn); … … 240 208 proc3.p_vci_ini_c(signal_vci_ini_c_proc3); 241 209 proc3.p_vci_tgt_c(signal_vci_tgt_c_proc3); 242 243 rom.p_clk(signal_clk); 244 rom.p_resetn(signal_resetn); 245 rom.p_vci(signal_vci_tgt_rom); 210 */ 246 211 247 212 tty.p_clk(signal_clk); 248 213 tty.p_resetn(signal_resetn); 249 214 tty.p_vci(signal_vci_tgt_tty); 250 tty.p_irq[0](signal_tty_irq0); 215 tty.p_irq[0](signal_tty_irq0); 216 /* 251 217 tty.p_irq[1](signal_tty_irq1); 252 218 tty.p_irq[2](signal_tty_irq2); 253 219 tty.p_irq[3](signal_tty_irq3); 254 220 */ 255 221 memc.p_clk(signal_clk); 256 222 memc.p_resetn(signal_resetn); … … 267 233 ringd.p_resetn(signal_resetn); 268 234 ringd.p_to_initiator[0](signal_vci_ini_d_proc0); 235 /* 269 236 ringd.p_to_initiator[1](signal_vci_ini_d_proc1); 270 237 ringd.p_to_initiator[2](signal_vci_ini_d_proc2); 271 238 ringd.p_to_initiator[3](signal_vci_ini_d_proc3); 272 ringd.p_to_target[0](signal_vci_tgt_rom); 239 */ 273 240 ringd.p_to_target[1](signal_vci_tgt_tty); 274 ringd.p_to_target[ 2](signal_vci_tgt_d_memc);241 ringd.p_to_target[0](signal_vci_tgt_d_memc); 275 242 276 243 ringc.p_clk(signal_clk); 277 244 ringc.p_resetn(signal_resetn); 278 245 ringc.p_to_initiator[0](signal_vci_ini_c_proc0); 246 /* 279 247 ringc.p_to_initiator[1](signal_vci_ini_c_proc1); 280 248 ringc.p_to_initiator[2](signal_vci_ini_c_proc2); 281 249 ringc.p_to_initiator[3](signal_vci_ini_c_proc3); 282 ringc.p_to_initiator[4](signal_vci_ini_memc); 250 */ 251 ringc.p_to_initiator[1](signal_vci_ini_memc); 283 252 ringc.p_to_target[0](signal_vci_tgt_c_proc0); 253 /* 284 254 ringc.p_to_target[1](signal_vci_tgt_c_proc1); 285 255 ringc.p_to_target[2](signal_vci_tgt_c_proc2); 286 256 ringc.p_to_target[3](signal_vci_tgt_c_proc3); 287 ringc.p_to_target[4](signal_vci_tgt_c_memc); 257 */ 258 ringc.p_to_target[1](signal_vci_tgt_c_memc); 288 259 289 260 ringx.p_clk(signal_clk);
Note: See TracChangeset
for help on using the changeset viewer.