Ignore:
Timestamp:
Jul 17, 2014, 11:37:17 AM (10 years ago)
Author:
cfuguet
Message:

reconfiguration/tsar_generic_iob: reverting part of last commit

  • Use of the same dspin signal for boundaries is not possible because for the data coming from routers, there will be more than one driver.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/reconfiguration/platforms/tsar_generic_iob/top.cpp

    r750 r751  
    844844
    845845   // Mesh boundaries INT network DSPIN
    846    DspinSignals<dspin_int_cmd_width> signal_dspin_false_int_cmd_in;
    847    DspinSignals<dspin_int_cmd_width> signal_dspin_false_int_cmd_out;
    848    DspinSignals<dspin_int_rsp_width> signal_dspin_false_int_rsp_in;
    849    DspinSignals<dspin_int_rsp_width> signal_dspin_false_int_rsp_out;
     846   DspinSignals<dspin_int_cmd_width>**** signal_dspin_false_int_cmd_in =
     847      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_cmd_in", XMAX, YMAX, 4, 3);
     848   DspinSignals<dspin_int_cmd_width>**** signal_dspin_false_int_cmd_out =
     849      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_cmd_out", XMAX, YMAX, 4, 3);
     850   DspinSignals<dspin_int_rsp_width>**** signal_dspin_false_int_rsp_in =
     851      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_false_int_rsp_in", XMAX, YMAX, 4, 2);
     852   DspinSignals<dspin_int_rsp_width>**** signal_dspin_false_int_rsp_out =
     853      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_false_int_rsp_out", XMAX, YMAX, 4, 2);
     854
    850855
    851856   // Horizontal inter-clusters RAM network DSPIN
     
    870875
    871876   // Mesh boundaries RAM network DSPIN
    872    DspinSignals<dspin_ram_cmd_width> signal_dspin_false_ram_cmd_in;
    873    DspinSignals<dspin_ram_cmd_width> signal_dspin_false_ram_cmd_out;
    874    DspinSignals<dspin_ram_rsp_width> signal_dspin_false_ram_rsp_in;
    875    DspinSignals<dspin_ram_rsp_width> signal_dspin_false_ram_rsp_out;
     877   DspinSignals<dspin_ram_cmd_width>*** signal_dspin_false_ram_cmd_in =
     878      alloc_elems<DspinSignals<dspin_ram_cmd_width> >("signal_dspin_false_ram_cmd_in", XMAX, YMAX, 4);
     879   DspinSignals<dspin_ram_cmd_width>*** signal_dspin_false_ram_cmd_out =
     880      alloc_elems<DspinSignals<dspin_ram_cmd_width> >("signal_dspin_false_ram_cmd_out", XMAX, YMAX, 4);
     881   DspinSignals<dspin_ram_rsp_width>*** signal_dspin_false_ram_rsp_in =
     882      alloc_elems<DspinSignals<dspin_ram_rsp_width> >("signal_dspin_false_ram_rsp_in", XMAX, YMAX, 4);
     883   DspinSignals<dspin_ram_rsp_width>*** signal_dspin_false_ram_rsp_out =
     884      alloc_elems<DspinSignals<dspin_ram_rsp_width> >("signal_dspin_false_ram_rsp_out", XMAX, YMAX, 4);
    876885
    877886   ////////////////////////////
     
    12751284      for (size_t k = 0; k < 3; k++)
    12761285      {
    1277          clusters[0][y]->p_dspin_int_cmd_in[WEST][k]          (signal_dspin_false_int_cmd_in);
    1278          clusters[0][y]->p_dspin_int_cmd_out[WEST][k]         (signal_dspin_false_int_cmd_out);
    1279          clusters[XMAX-1][y]->p_dspin_int_cmd_in[EAST][k]     (signal_dspin_false_int_cmd_in);
    1280          clusters[XMAX-1][y]->p_dspin_int_cmd_out[EAST][k]    (signal_dspin_false_int_cmd_out);
     1286         clusters[0][y]->p_dspin_int_cmd_in[WEST][k]          (signal_dspin_false_int_cmd_in[0][y][WEST][k]);
     1287         clusters[0][y]->p_dspin_int_cmd_out[WEST][k]         (signal_dspin_false_int_cmd_out[0][y][WEST][k]);
     1288         clusters[XMAX-1][y]->p_dspin_int_cmd_in[EAST][k]     (signal_dspin_false_int_cmd_in[XMAX-1][y][EAST][k]);
     1289         clusters[XMAX-1][y]->p_dspin_int_cmd_out[EAST][k]    (signal_dspin_false_int_cmd_out[XMAX-1][y][EAST][k]);
    12811290      }
    12821291
    12831292      for (size_t k = 0; k < 2; k++)
    12841293      {
    1285          clusters[0][y]->p_dspin_int_rsp_in[WEST][k]          (signal_dspin_false_int_rsp_in);
    1286          clusters[0][y]->p_dspin_int_rsp_out[WEST][k]         (signal_dspin_false_int_rsp_out);
    1287          clusters[XMAX-1][y]->p_dspin_int_rsp_in[EAST][k]     (signal_dspin_false_int_rsp_in);
    1288          clusters[XMAX-1][y]->p_dspin_int_rsp_out[EAST][k]    (signal_dspin_false_int_rsp_out);
     1294         clusters[0][y]->p_dspin_int_rsp_in[WEST][k]          (signal_dspin_false_int_rsp_in[0][y][WEST][k]);
     1295         clusters[0][y]->p_dspin_int_rsp_out[WEST][k]         (signal_dspin_false_int_rsp_out[0][y][WEST][k]);
     1296         clusters[XMAX-1][y]->p_dspin_int_rsp_in[EAST][k]     (signal_dspin_false_int_rsp_in[XMAX-1][y][EAST][k]);
     1297         clusters[XMAX-1][y]->p_dspin_int_rsp_out[EAST][k]    (signal_dspin_false_int_rsp_out[XMAX-1][y][EAST][k]);
    12891298      }
    12901299
    1291      clusters[0][y]->p_dspin_ram_cmd_in[WEST]       (signal_dspin_false_ram_cmd_in);
    1292      clusters[0][y]->p_dspin_ram_cmd_out[WEST]      (signal_dspin_false_ram_cmd_out);
    1293      clusters[0][y]->p_dspin_ram_rsp_in[WEST]       (signal_dspin_false_ram_rsp_in);
    1294      clusters[0][y]->p_dspin_ram_rsp_out[WEST]      (signal_dspin_false_ram_rsp_out);
    1295 
    1296      clusters[XMAX-1][y]->p_dspin_ram_cmd_in[EAST]  (signal_dspin_false_ram_cmd_in);
    1297      clusters[XMAX-1][y]->p_dspin_ram_cmd_out[EAST] (signal_dspin_false_ram_cmd_out);
    1298      clusters[XMAX-1][y]->p_dspin_ram_rsp_in[EAST]  (signal_dspin_false_ram_rsp_in);
    1299      clusters[XMAX-1][y]->p_dspin_ram_rsp_out[EAST] (signal_dspin_false_ram_rsp_out);
     1300     clusters[0][y]->p_dspin_ram_cmd_in[WEST]       (signal_dspin_false_ram_cmd_in[0][y][WEST]);
     1301     clusters[0][y]->p_dspin_ram_cmd_out[WEST]      (signal_dspin_false_ram_cmd_out[0][y][WEST]);
     1302     clusters[0][y]->p_dspin_ram_rsp_in[WEST]       (signal_dspin_false_ram_rsp_in[0][y][WEST]);
     1303     clusters[0][y]->p_dspin_ram_rsp_out[WEST]      (signal_dspin_false_ram_rsp_out[0][y][WEST]);
     1304
     1305     clusters[XMAX-1][y]->p_dspin_ram_cmd_in[EAST]  (signal_dspin_false_ram_cmd_in[XMAX-1][y][EAST]);
     1306     clusters[XMAX-1][y]->p_dspin_ram_cmd_out[EAST] (signal_dspin_false_ram_cmd_out[XMAX-1][y][EAST]);
     1307     clusters[XMAX-1][y]->p_dspin_ram_rsp_in[EAST]  (signal_dspin_false_ram_rsp_in[XMAX-1][y][EAST]);
     1308     clusters[XMAX-1][y]->p_dspin_ram_rsp_out[EAST] (signal_dspin_false_ram_rsp_out[XMAX-1][y][EAST]);
    13001309   }
    13011310
     
    13071316      for (size_t k = 0; k < 3; k++)
    13081317      {
    1309          clusters[x][0]->p_dspin_int_cmd_in[SOUTH][k]         (signal_dspin_false_int_cmd_in);
    1310          clusters[x][0]->p_dspin_int_cmd_out[SOUTH][k]        (signal_dspin_false_int_cmd_out);
    1311          clusters[x][YMAX-1]->p_dspin_int_cmd_in[NORTH][k]    (signal_dspin_false_int_cmd_in);
    1312          clusters[x][YMAX-1]->p_dspin_int_cmd_out[NORTH][k]   (signal_dspin_false_int_cmd_out);
     1318         clusters[x][0]->p_dspin_int_cmd_in[SOUTH][k]         (signal_dspin_false_int_cmd_in[x][0][SOUTH][k]);
     1319         clusters[x][0]->p_dspin_int_cmd_out[SOUTH][k]        (signal_dspin_false_int_cmd_out[x][0][SOUTH][k]);
     1320         clusters[x][YMAX-1]->p_dspin_int_cmd_in[NORTH][k]    (signal_dspin_false_int_cmd_in[x][YMAX-1][NORTH][k]);
     1321         clusters[x][YMAX-1]->p_dspin_int_cmd_out[NORTH][k]   (signal_dspin_false_int_cmd_out[x][YMAX-1][NORTH][k]);
    13131322      }
    13141323
    13151324      for (size_t k = 0; k < 2; k++)
    13161325      {
    1317          clusters[x][0]->p_dspin_int_rsp_in[SOUTH][k]         (signal_dspin_false_int_rsp_in);
    1318          clusters[x][0]->p_dspin_int_rsp_out[SOUTH][k]        (signal_dspin_false_int_rsp_out);
    1319          clusters[x][YMAX-1]->p_dspin_int_rsp_in[NORTH][k]    (signal_dspin_false_int_rsp_in);
    1320          clusters[x][YMAX-1]->p_dspin_int_rsp_out[NORTH][k]   (signal_dspin_false_int_rsp_out);
     1326         clusters[x][0]->p_dspin_int_rsp_in[SOUTH][k]         (signal_dspin_false_int_rsp_in[x][0][SOUTH][k]);
     1327         clusters[x][0]->p_dspin_int_rsp_out[SOUTH][k]        (signal_dspin_false_int_rsp_out[x][0][SOUTH][k]);
     1328         clusters[x][YMAX-1]->p_dspin_int_rsp_in[NORTH][k]    (signal_dspin_false_int_rsp_in[x][YMAX-1][NORTH][k]);
     1329         clusters[x][YMAX-1]->p_dspin_int_rsp_out[NORTH][k]   (signal_dspin_false_int_rsp_out[x][YMAX-1][NORTH][k]);
    13211330      }
    13221331
    1323       clusters[x][0]->p_dspin_ram_cmd_in[SOUTH]       (signal_dspin_false_ram_cmd_in);
    1324       clusters[x][0]->p_dspin_ram_cmd_out[SOUTH]      (signal_dspin_false_ram_cmd_out);
    1325       clusters[x][0]->p_dspin_ram_rsp_in[SOUTH]       (signal_dspin_false_ram_rsp_in);
    1326       clusters[x][0]->p_dspin_ram_rsp_out[SOUTH]      (signal_dspin_false_ram_rsp_out);
    1327 
    1328       clusters[x][YMAX-1]->p_dspin_ram_cmd_in[NORTH]  (signal_dspin_false_ram_cmd_in);
    1329       clusters[x][YMAX-1]->p_dspin_ram_cmd_out[NORTH] (signal_dspin_false_ram_cmd_out);
    1330       clusters[x][YMAX-1]->p_dspin_ram_rsp_in[NORTH]  (signal_dspin_false_ram_rsp_in);
    1331       clusters[x][YMAX-1]->p_dspin_ram_rsp_out[NORTH] (signal_dspin_false_ram_rsp_out);
     1332      clusters[x][0]->p_dspin_ram_cmd_in[SOUTH]       (signal_dspin_false_ram_cmd_in[x][0][SOUTH]);
     1333      clusters[x][0]->p_dspin_ram_cmd_out[SOUTH]      (signal_dspin_false_ram_cmd_out[x][0][SOUTH]);
     1334      clusters[x][0]->p_dspin_ram_rsp_in[SOUTH]       (signal_dspin_false_ram_rsp_in[x][0][SOUTH]);
     1335      clusters[x][0]->p_dspin_ram_rsp_out[SOUTH]      (signal_dspin_false_ram_rsp_out[x][0][SOUTH]);
     1336
     1337      clusters[x][YMAX-1]->p_dspin_ram_cmd_in[NORTH]  (signal_dspin_false_ram_cmd_in[x][YMAX-1][NORTH]);
     1338      clusters[x][YMAX-1]->p_dspin_ram_cmd_out[NORTH] (signal_dspin_false_ram_cmd_out[x][YMAX-1][NORTH]);
     1339      clusters[x][YMAX-1]->p_dspin_ram_rsp_in[NORTH]  (signal_dspin_false_ram_rsp_in[x][YMAX-1][NORTH]);
     1340      clusters[x][YMAX-1]->p_dspin_ram_rsp_out[NORTH] (signal_dspin_false_ram_rsp_out[x][YMAX-1][NORTH]);
    13321341   }
    13331342
     
    13431352   signal_irq_false = false;
    13441353
    1345    signal_dspin_false_int_cmd_in.write = false;
    1346    signal_dspin_false_int_cmd_out.read = true;
    1347    signal_dspin_false_int_rsp_in.write = false;
    1348    signal_dspin_false_int_rsp_out.read = true;
    1349    signal_dspin_false_ram_cmd_in.write = false;
    1350    signal_dspin_false_ram_cmd_out.read = true;
    1351    signal_dspin_false_ram_rsp_in.write = false;
    1352    signal_dspin_false_ram_rsp_out.read = true;
     1354   // network boundaries signals
     1355   for (size_t x = 0; x < XMAX ; x++)
     1356   {
     1357      for (size_t y = 0; y < YMAX ; y++)
     1358      {
     1359         for (size_t a = 0; a < 4; a++)
     1360         {
     1361            for (size_t k = 0; k < 3; k++)
     1362            {
     1363               signal_dspin_false_int_cmd_in[x][y][a][k].write = false;
     1364               signal_dspin_false_int_cmd_in[x][y][a][k].read = true;
     1365               signal_dspin_false_int_cmd_out[x][y][a][k].write = false;
     1366               signal_dspin_false_int_cmd_out[x][y][a][k].read = true;
     1367            }
     1368
     1369            for (size_t k = 0; k < 2; k++)
     1370            {
     1371               signal_dspin_false_int_rsp_in[x][y][a][k].write = false;
     1372               signal_dspin_false_int_rsp_in[x][y][a][k].read = true;
     1373               signal_dspin_false_int_rsp_out[x][y][a][k].write = false;
     1374               signal_dspin_false_int_rsp_out[x][y][a][k].read = true;
     1375            }
     1376
     1377            signal_dspin_false_ram_cmd_in[x][y][a].write = false;
     1378            signal_dspin_false_ram_cmd_in[x][y][a].read = true;
     1379            signal_dspin_false_ram_cmd_out[x][y][a].write = false;
     1380            signal_dspin_false_ram_cmd_out[x][y][a].read = true;
     1381
     1382            signal_dspin_false_ram_rsp_in[x][y][a].write = false;
     1383            signal_dspin_false_ram_rsp_in[x][y][a].read = true;
     1384            signal_dspin_false_ram_rsp_out[x][y][a].write = false;
     1385            signal_dspin_false_ram_rsp_out[x][y][a].read = true;
     1386         }
     1387      }
     1388   }
    13531389
    13541390   sc_start(sc_core::sc_time(1, SC_NS));
Note: See TracChangeset for help on using the changeset viewer.