Ignore:
Timestamp:
Jul 2, 2015, 3:17:14 PM (9 years ago)
Author:
alain
Message:

Introducing the BDV / SDC / HBA switch in the tsar_generic_iob plat-form

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsar_generic_iob/top.cpp

    r982 r1002  
    141141#include "vci_multi_ahci.h"
    142142#include "vci_block_device_tsar.h"
     143#include "vci_ahci_sdc.h"
     144#include "sd_card.h"
    143145#include "vci_framebuffer.h"
    144146#include "vci_iox_network.h"
     
    856858    VciSignals<vci_param_ext>         signal_vci_tgt_iopi("signal_vci_tgt_iopi");
    857859
    858    // Horizontal inter-clusters INT network DSPIN
    859    DspinSignals<dspin_int_cmd_width>*** signal_dspin_int_cmd_h_inc =
    860       alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cmd_h_inc", XMAX-1, YMAX, 3);
    861    DspinSignals<dspin_int_cmd_width>*** signal_dspin_int_cmd_h_dec =
    862       alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cmd_h_dec", XMAX-1, YMAX, 3);
    863    DspinSignals<dspin_int_rsp_width>*** signal_dspin_int_rsp_h_inc =
    864       alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_rsp_h_inc", XMAX-1, YMAX, 2);
    865    DspinSignals<dspin_int_rsp_width>*** signal_dspin_int_rsp_h_dec =
    866       alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_rsp_h_dec", XMAX-1, YMAX, 2);
    867 
    868    // Vertical inter-clusters INT network DSPIN
    869    DspinSignals<dspin_int_cmd_width>*** signal_dspin_int_cmd_v_inc =
    870       alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cmd_v_inc", XMAX, YMAX-1, 3);
    871    DspinSignals<dspin_int_cmd_width>*** signal_dspin_int_cmd_v_dec =
    872       alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cmd_v_dec", XMAX, YMAX-1, 3);
    873    DspinSignals<dspin_int_rsp_width>*** signal_dspin_int_rsp_v_inc =
    874       alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_rsp_v_inc", XMAX, YMAX-1, 2);
    875    DspinSignals<dspin_int_rsp_width>*** signal_dspin_int_rsp_v_dec =
    876       alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_rsp_v_dec", XMAX, YMAX-1, 2);
    877 
    878    // Mesh boundaries INT network DSPIN
    879    DspinSignals<dspin_int_cmd_width>**** signal_dspin_false_int_cmd_in =
    880       alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_cmd_in", XMAX, YMAX, 4, 3);
    881    DspinSignals<dspin_int_cmd_width>**** signal_dspin_false_int_cmd_out =
    882       alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_cmd_out", XMAX, YMAX, 4, 3);
    883    DspinSignals<dspin_int_rsp_width>**** signal_dspin_false_int_rsp_in =
    884       alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_false_int_rsp_in", XMAX, YMAX, 4, 2);
    885    DspinSignals<dspin_int_rsp_width>**** signal_dspin_false_int_rsp_out =
    886       alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_false_int_rsp_out", XMAX, YMAX, 4, 2);
    887 
    888 
    889    // Horizontal inter-clusters RAM network DSPIN
     860   // Horizontal inter-clusters INT_CMD DSPIN
     861   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_cmd_h_inc =
     862      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cmd_h_inc", XMAX-1, YMAX);
     863   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_cmd_h_dec =
     864      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cmd_h_dec", XMAX-1, YMAX);
     865
     866   // Horizontal inter-clusters INT_RSP DSPIN
     867   DspinSignals<dspin_int_rsp_width>** signal_dspin_int_rsp_h_inc =
     868      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_rsp_h_inc", XMAX-1, YMAX);
     869   DspinSignals<dspin_int_rsp_width>** signal_dspin_int_rsp_h_dec =
     870      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_rsp_h_dec", XMAX-1, YMAX);
     871
     872   // Horizontal inter-clusters INT_M2P DSPIN
     873   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_m2p_h_inc =
     874      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_m2p_h_inc", XMAX-1, YMAX);
     875   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_m2p_h_dec =
     876      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_m2p_h_dec", XMAX-1, YMAX);
     877
     878   // Horizontal inter-clusters INT_P2M DSPIN
     879   DspinSignals<dspin_int_rsp_width>** signal_dspin_int_p2m_h_inc =
     880      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_p2m_h_inc", XMAX-1, YMAX);
     881   DspinSignals<dspin_int_rsp_width>** signal_dspin_int_p2m_h_dec =
     882      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_p2m_h_dec", XMAX-1, YMAX);
     883
     884   // Horizontal inter-clusters INT_CLA DSPIN
     885   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_cla_h_inc =
     886      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cla_h_inc", XMAX-1, YMAX);
     887   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_cla_h_dec =
     888      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cla_h_dec", XMAX-1, YMAX);
     889
     890
     891   // Vertical inter-clusters INT_CMD DSPIN
     892   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_cmd_v_inc =
     893      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cmd_v_inc", XMAX, YMAX-1);
     894   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_cmd_v_dec =
     895      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cmd_v_dec", XMAX, YMAX-1);
     896
     897   // Vertical inter-clusters INT_RSP DSPIN
     898   DspinSignals<dspin_int_rsp_width>** signal_dspin_int_rsp_v_inc =
     899      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_rsp_v_inc", XMAX, YMAX-1);
     900   DspinSignals<dspin_int_rsp_width>** signal_dspin_int_rsp_v_dec =
     901      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_rsp_v_dec", XMAX, YMAX-1);
     902
     903   // Vertical inter-clusters INT_M2P DSPIN
     904   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_m2p_v_inc =
     905      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_m2p_v_inc", XMAX, YMAX-1);
     906   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_m2p_v_dec =
     907      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_m2p_v_dec", XMAX, YMAX-1);
     908
     909   // Vertical inter-clusters INT_P2M DSPIN
     910   DspinSignals<dspin_int_rsp_width>** signal_dspin_int_p2m_v_inc =
     911      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_p2m_v_inc", XMAX, YMAX-1);
     912   DspinSignals<dspin_int_rsp_width>** signal_dspin_int_p2m_v_dec =
     913      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_int_p2m_v_dec", XMAX, YMAX-1);
     914
     915   // Vertical inter-clusters INT_CLA DSPIN
     916   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_cla_v_inc =
     917      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cla_v_inc", XMAX, YMAX-1);
     918   DspinSignals<dspin_int_cmd_width>** signal_dspin_int_cla_v_dec =
     919      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_int_cla_v_dec", XMAX, YMAX-1);
     920
     921
     922   // Mesh boundaries INT_CMD DSPIN
     923   DspinSignals<dspin_int_cmd_width>*** signal_dspin_false_int_cmd_in =
     924      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_cmd_in", XMAX, YMAX, 4);
     925   DspinSignals<dspin_int_cmd_width>*** signal_dspin_false_int_cmd_out =
     926      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_cmd_out", XMAX, YMAX, 4);
     927
     928   // Mesh boundaries INT_RSP DSPIN
     929   DspinSignals<dspin_int_rsp_width>*** signal_dspin_false_int_rsp_in =
     930      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_false_int_rsp_in", XMAX, YMAX, 4);
     931   DspinSignals<dspin_int_rsp_width>*** signal_dspin_false_int_rsp_out =
     932      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_false_int_rsp_out", XMAX, YMAX, 4);
     933
     934   // Mesh boundaries INT_M2P DSPIN
     935   DspinSignals<dspin_int_cmd_width>*** signal_dspin_false_int_m2p_in =
     936      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_m2p_in", XMAX, YMAX, 4);
     937   DspinSignals<dspin_int_cmd_width>*** signal_dspin_false_int_m2p_out =
     938      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_m2P_out", XMAX, YMAX, 4);
     939
     940   // Mesh boundaries INT_P2M DSPIN
     941   DspinSignals<dspin_int_rsp_width>*** signal_dspin_false_int_p2m_in =
     942      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_false_int_p2m_in", XMAX, YMAX, 4);
     943   DspinSignals<dspin_int_rsp_width>*** signal_dspin_false_int_p2m_out =
     944      alloc_elems<DspinSignals<dspin_int_rsp_width> >("signal_dspin_false_int_p2m_out", XMAX, YMAX, 4);
     945
     946   // Mesh boundaries INT_CLA DSPIN
     947   DspinSignals<dspin_int_cmd_width>*** signal_dspin_false_int_cla_in =
     948      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_cla_in", XMAX, YMAX, 4);
     949   DspinSignals<dspin_int_cmd_width>*** signal_dspin_false_int_cla_out =
     950      alloc_elems<DspinSignals<dspin_int_cmd_width> >("signal_dspin_false_int_cla_out", XMAX, YMAX, 4);
     951
     952
     953   // Horizontal inter-clusters RAM_CMD DSPIN
    890954   DspinSignals<dspin_ram_cmd_width>** signal_dspin_ram_cmd_h_inc =
    891955      alloc_elems<DspinSignals<dspin_ram_cmd_width> >("signal_dspin_ram_cmd_h_inc", XMAX-1, YMAX);
    892956   DspinSignals<dspin_ram_cmd_width>** signal_dspin_ram_cmd_h_dec =
    893957      alloc_elems<DspinSignals<dspin_ram_cmd_width> >("signal_dspin_ram_cmd_h_dec", XMAX-1, YMAX);
     958
     959   // Horizontal inter-clusters RAM_RSP DSPIN
    894960   DspinSignals<dspin_ram_rsp_width>** signal_dspin_ram_rsp_h_inc =
    895961      alloc_elems<DspinSignals<dspin_ram_rsp_width> >("signal_dspin_ram_rsp_h_inc", XMAX-1, YMAX);
     
    897963      alloc_elems<DspinSignals<dspin_ram_rsp_width> >("signal_dspin_ram_rsp_h_dec", XMAX-1, YMAX);
    898964
    899    // Vertical inter-clusters RAM network DSPIN
     965   // Vertical inter-clusters RAM_CMD DSPIN
    900966   DspinSignals<dspin_ram_cmd_width>** signal_dspin_ram_cmd_v_inc =
    901967      alloc_elems<DspinSignals<dspin_ram_cmd_width> >("signal_dspin_ram_cmd_v_inc", XMAX, YMAX-1);
    902968   DspinSignals<dspin_ram_cmd_width>** signal_dspin_ram_cmd_v_dec =
    903969      alloc_elems<DspinSignals<dspin_ram_cmd_width> >("signal_dspin_ram_cmd_v_dec", XMAX, YMAX-1);
     970
     971   // Vertical inter-clusters RAM_RSP DSPIN
    904972   DspinSignals<dspin_ram_rsp_width>** signal_dspin_ram_rsp_v_inc =
    905973      alloc_elems<DspinSignals<dspin_ram_rsp_width> >("signal_dspin_ram_rsp_v_inc", XMAX, YMAX-1);
     
    907975      alloc_elems<DspinSignals<dspin_ram_rsp_width> >("signal_dspin_ram_rsp_v_dec", XMAX, YMAX-1);
    908976
    909    // Mesh boundaries RAM network DSPIN
     977   // Mesh boundaries RAM_CMD DSPIN
    910978   DspinSignals<dspin_ram_cmd_width>*** signal_dspin_false_ram_cmd_in =
    911979      alloc_elems<DspinSignals<dspin_ram_cmd_width> >("signal_dspin_false_ram_cmd_in", XMAX, YMAX, 4);
    912980   DspinSignals<dspin_ram_cmd_width>*** signal_dspin_false_ram_cmd_out =
    913981      alloc_elems<DspinSignals<dspin_ram_cmd_width> >("signal_dspin_false_ram_cmd_out", XMAX, YMAX, 4);
     982
     983   // Mesh boundaries RAM_RSP DSPIN
    914984   DspinSignals<dspin_ram_rsp_width>*** signal_dspin_false_ram_rsp_in =
    915985      alloc_elems<DspinSignals<dspin_ram_rsp_width> >("signal_dspin_false_ram_rsp_in", XMAX, YMAX, 4);
    916986   DspinSignals<dspin_ram_rsp_width>*** signal_dspin_false_ram_rsp_out =
    917987      alloc_elems<DspinSignals<dspin_ram_rsp_width> >("signal_dspin_false_ram_rsp_out", XMAX, YMAX, 4);
     988
     989   // SD card signals
     990   sc_signal<bool>   signal_sdc_clk;
     991   sc_signal<bool>   signal_sdc_cmd_enable_to_card;
     992   sc_signal<bool>   signal_sdc_cmd_value_to_card;
     993   sc_signal<bool>   signal_sdc_dat_enable_to_card;
     994   sc_signal<bool>   signal_sdc_dat_value_to_card[4];
     995   sc_signal<bool>   signal_sdc_cmd_enable_from_card;
     996   sc_signal<bool>   signal_sdc_cmd_value_from_card;
     997   sc_signal<bool>   signal_sdc_dat_enable_from_card;
     998   sc_signal<bool>   signal_sdc_dat_value_from_card[4];
    918999
    9191000    ////////////////////////////
     
    9851066                                            64,         // burst size (bytes)
    9861067                                            0 );        // disk latency
    987 #elif ( USE_IOC_BDV or USE_IOC_SDC )
     1068#elif ( USE_IOC_BDV )
    9881069
    9891070    VciBlockDeviceTsar<vci_param_ext>*  disk;
     
    9961077                                                  64,         // burst size (bytes)
    9971078                                                  0 );        // disk latency
     1079#elif ( USE_IOC_SDC )
     1080
     1081    VciAhciSdc<vci_param_ext>*  disk;
     1082    disk = new VciAhciSdc<vci_param_ext>( "disk",
     1083                                          maptab_iox,
     1084                                          IntTab(0, DISK_LOCAL_SRCID),
     1085                                          IntTab(0, IOX_DISK_TGT_ID),
     1086                                          64 );       // burst size (bytes)
     1087    SdCard* card;
     1088    card = new SdCard( "card",
     1089                       disk_name,
     1090                       10,         // RX one block latency
     1091                       10 );       // TX one block latency
    9981092#endif
    9991093
     
    11751269
    11761270    // DISK connexion
     1271
     1272#if ( USE_IOC_HBA )
     1273
    11771274    disk->p_clk                                          (signal_clk);
    11781275    disk->p_resetn                                       (signal_resetn);
    11791276    disk->p_vci_target                                   (signal_vci_tgt_disk);
    11801277    disk->p_vci_initiator                                (signal_vci_ini_disk);
    1181 #if ( USE_IOC_HBA )
    11821278    disk->p_channel_irq[0]                               (signal_irq_disk);
    1183 #else
     1279
     1280#elif ( USE_IOC_BDV )
     1281
     1282    disk->p_clk                                          (signal_clk);
     1283    disk->p_resetn                                       (signal_resetn);
     1284    disk->p_vci_target                                   (signal_vci_tgt_disk);
     1285    disk->p_vci_initiator                                (signal_vci_ini_disk);
    11841286    disk->p_irq                                          (signal_irq_disk);
     1287
     1288#elif ( USE_IOC_SDC )
     1289
     1290    disk->p_clk                                          (signal_clk);
     1291    disk->p_resetn                                       (signal_resetn);
     1292    disk->p_vci_target                                   (signal_vci_tgt_disk);
     1293    disk->p_vci_initiator                                (signal_vci_ini_disk);
     1294    disk->p_irq                                          (signal_irq_disk);
     1295
     1296    disk->p_sdc_clk                                      (signal_sdc_clk);
     1297    disk->p_sdc_cmd_enable_out                           (signal_sdc_cmd_enable_to_card);
     1298    disk->p_sdc_cmd_value_out                            (signal_sdc_cmd_value_to_card);
     1299    disk->p_sdc_cmd_enable_in                            (signal_sdc_cmd_enable_from_card);
     1300    disk->p_sdc_cmd_value_in                             (signal_sdc_cmd_value_from_card);
     1301    disk->p_sdc_dat_enable_out                           (signal_sdc_dat_enable_to_card);
     1302    disk->p_sdc_dat_value_out[0]                         (signal_sdc_dat_value_to_card[0]);
     1303    disk->p_sdc_dat_value_out[1]                         (signal_sdc_dat_value_to_card[1]);
     1304    disk->p_sdc_dat_value_out[2]                         (signal_sdc_dat_value_to_card[2]);
     1305    disk->p_sdc_dat_value_out[3]                         (signal_sdc_dat_value_to_card[3]);
     1306    disk->p_sdc_dat_enable_in                            (signal_sdc_dat_enable_from_card);
     1307    disk->p_sdc_dat_value_in[0]                          (signal_sdc_dat_value_from_card[0]);
     1308    disk->p_sdc_dat_value_in[1]                          (signal_sdc_dat_value_from_card[1]);
     1309    disk->p_sdc_dat_value_in[2]                          (signal_sdc_dat_value_from_card[2]);
     1310    disk->p_sdc_dat_value_in[3]                          (signal_sdc_dat_value_from_card[3]);
     1311   
     1312    card->p_clk                                          (signal_clk);
     1313    card->p_resetn                                       (signal_resetn);
     1314
     1315    card->p_sdc_clk                                      (signal_sdc_clk);
     1316    card->p_sdc_cmd_enable_out                           (signal_sdc_cmd_enable_from_card);
     1317    card->p_sdc_cmd_value_out                            (signal_sdc_cmd_value_from_card);
     1318    card->p_sdc_cmd_enable_in                            (signal_sdc_cmd_enable_to_card);
     1319    card->p_sdc_cmd_value_in                             (signal_sdc_cmd_value_to_card);
     1320    card->p_sdc_dat_enable_out                           (signal_sdc_dat_enable_from_card);
     1321    card->p_sdc_dat_value_out[0]                         (signal_sdc_dat_value_from_card[0]);
     1322    card->p_sdc_dat_value_out[1]                         (signal_sdc_dat_value_from_card[1]);
     1323    card->p_sdc_dat_value_out[2]                         (signal_sdc_dat_value_from_card[2]);
     1324    card->p_sdc_dat_value_out[3]                         (signal_sdc_dat_value_from_card[3]);
     1325    card->p_sdc_dat_enable_in                            (signal_sdc_dat_enable_to_card);
     1326    card->p_sdc_dat_value_in[0]                          (signal_sdc_dat_value_to_card[0]);
     1327    card->p_sdc_dat_value_in[1]                          (signal_sdc_dat_value_to_card[1]);
     1328    card->p_sdc_dat_value_in[2]                          (signal_sdc_dat_value_to_card[2]);
     1329    card->p_sdc_dat_value_in[3]                          (signal_sdc_dat_value_to_card[3]);
     1330   
    11851331#endif
    11861332
     
    12861432         for (size_t y = 0; y < YMAX; y++)
    12871433         {
    1288             for (size_t k = 0; k < 3; k++)
    1289             {
    1290                clusters[x][y]->p_dspin_int_cmd_out[EAST][k]      (signal_dspin_int_cmd_h_inc[x][y][k]);
    1291                clusters[x+1][y]->p_dspin_int_cmd_in[WEST][k]     (signal_dspin_int_cmd_h_inc[x][y][k]);
    1292                clusters[x][y]->p_dspin_int_cmd_in[EAST][k]       (signal_dspin_int_cmd_h_dec[x][y][k]);
    1293                clusters[x+1][y]->p_dspin_int_cmd_out[WEST][k]    (signal_dspin_int_cmd_h_dec[x][y][k]);
    1294             }
    1295 
    1296             for (size_t k = 0; k < 2; k++)
    1297             {
    1298                clusters[x][y]->p_dspin_int_rsp_out[EAST][k]      (signal_dspin_int_rsp_h_inc[x][y][k]);
    1299                clusters[x+1][y]->p_dspin_int_rsp_in[WEST][k]     (signal_dspin_int_rsp_h_inc[x][y][k]);
    1300                clusters[x][y]->p_dspin_int_rsp_in[EAST][k]       (signal_dspin_int_rsp_h_dec[x][y][k]);
    1301                clusters[x+1][y]->p_dspin_int_rsp_out[WEST][k]    (signal_dspin_int_rsp_h_dec[x][y][k]);
    1302             }
     1434            clusters[x][y]->p_dspin_int_cmd_out[EAST]      (signal_dspin_int_cmd_h_inc[x][y]);
     1435            clusters[x+1][y]->p_dspin_int_cmd_in[WEST]     (signal_dspin_int_cmd_h_inc[x][y]);
     1436            clusters[x][y]->p_dspin_int_cmd_in[EAST]       (signal_dspin_int_cmd_h_dec[x][y]);
     1437            clusters[x+1][y]->p_dspin_int_cmd_out[WEST]    (signal_dspin_int_cmd_h_dec[x][y]);
     1438
     1439            clusters[x][y]->p_dspin_int_rsp_out[EAST]      (signal_dspin_int_rsp_h_inc[x][y]);
     1440            clusters[x+1][y]->p_dspin_int_rsp_in[WEST]     (signal_dspin_int_rsp_h_inc[x][y]);
     1441            clusters[x][y]->p_dspin_int_rsp_in[EAST]       (signal_dspin_int_rsp_h_dec[x][y]);
     1442            clusters[x+1][y]->p_dspin_int_rsp_out[WEST]    (signal_dspin_int_rsp_h_dec[x][y]);
     1443
     1444            clusters[x][y]->p_dspin_int_m2p_out[EAST]      (signal_dspin_int_m2p_h_inc[x][y]);
     1445            clusters[x+1][y]->p_dspin_int_m2p_in[WEST]     (signal_dspin_int_m2p_h_inc[x][y]);
     1446            clusters[x][y]->p_dspin_int_m2p_in[EAST]       (signal_dspin_int_m2p_h_dec[x][y]);
     1447            clusters[x+1][y]->p_dspin_int_m2p_out[WEST]    (signal_dspin_int_m2p_h_dec[x][y]);
     1448
     1449            clusters[x][y]->p_dspin_int_p2m_out[EAST]      (signal_dspin_int_p2m_h_inc[x][y]);
     1450            clusters[x+1][y]->p_dspin_int_p2m_in[WEST]     (signal_dspin_int_p2m_h_inc[x][y]);
     1451            clusters[x][y]->p_dspin_int_p2m_in[EAST]       (signal_dspin_int_p2m_h_dec[x][y]);
     1452            clusters[x+1][y]->p_dspin_int_p2m_out[WEST]    (signal_dspin_int_p2m_h_dec[x][y]);
     1453
     1454            clusters[x][y]->p_dspin_int_cla_out[EAST]      (signal_dspin_int_cla_h_inc[x][y]);
     1455            clusters[x+1][y]->p_dspin_int_cla_in[WEST]     (signal_dspin_int_cla_h_inc[x][y]);
     1456            clusters[x][y]->p_dspin_int_cla_in[EAST]       (signal_dspin_int_cla_h_dec[x][y]);
     1457            clusters[x+1][y]->p_dspin_int_cla_out[WEST]    (signal_dspin_int_cla_h_dec[x][y]);
    13031458
    13041459            clusters[x][y]->p_dspin_ram_cmd_out[EAST]      (signal_dspin_ram_cmd_h_inc[x][y]);
     
    13061461            clusters[x][y]->p_dspin_ram_cmd_in[EAST]       (signal_dspin_ram_cmd_h_dec[x][y]);
    13071462            clusters[x+1][y]->p_dspin_ram_cmd_out[WEST]    (signal_dspin_ram_cmd_h_dec[x][y]);
     1463
    13081464            clusters[x][y]->p_dspin_ram_rsp_out[EAST]      (signal_dspin_ram_rsp_h_inc[x][y]);
    13091465            clusters[x+1][y]->p_dspin_ram_rsp_in[WEST]     (signal_dspin_ram_rsp_h_inc[x][y]);
     
    13231479         for (size_t x = 0; x < XMAX; x++)
    13241480         {
    1325             for (size_t k = 0; k < 3; k++)
    1326             {
    1327                clusters[x][y]->p_dspin_int_cmd_out[NORTH][k]     (signal_dspin_int_cmd_v_inc[x][y][k]);
    1328                clusters[x][y+1]->p_dspin_int_cmd_in[SOUTH][k]    (signal_dspin_int_cmd_v_inc[x][y][k]);
    1329                clusters[x][y]->p_dspin_int_cmd_in[NORTH][k]      (signal_dspin_int_cmd_v_dec[x][y][k]);
    1330                clusters[x][y+1]->p_dspin_int_cmd_out[SOUTH][k]   (signal_dspin_int_cmd_v_dec[x][y][k]);
    1331             }
    1332 
    1333             for (size_t k = 0; k < 2; k++)
    1334             {
    1335                clusters[x][y]->p_dspin_int_rsp_out[NORTH][k]     (signal_dspin_int_rsp_v_inc[x][y][k]);
    1336                clusters[x][y+1]->p_dspin_int_rsp_in[SOUTH][k]    (signal_dspin_int_rsp_v_inc[x][y][k]);
    1337                clusters[x][y]->p_dspin_int_rsp_in[NORTH][k]      (signal_dspin_int_rsp_v_dec[x][y][k]);
    1338                clusters[x][y+1]->p_dspin_int_rsp_out[SOUTH][k]   (signal_dspin_int_rsp_v_dec[x][y][k]);
    1339             }
     1481            clusters[x][y]->p_dspin_int_cmd_out[NORTH]     (signal_dspin_int_cmd_v_inc[x][y]);
     1482            clusters[x][y+1]->p_dspin_int_cmd_in[SOUTH]    (signal_dspin_int_cmd_v_inc[x][y]);
     1483            clusters[x][y]->p_dspin_int_cmd_in[NORTH]      (signal_dspin_int_cmd_v_dec[x][y]);
     1484            clusters[x][y+1]->p_dspin_int_cmd_out[SOUTH]   (signal_dspin_int_cmd_v_dec[x][y]);
     1485
     1486            clusters[x][y]->p_dspin_int_rsp_out[NORTH]     (signal_dspin_int_rsp_v_inc[x][y]);
     1487            clusters[x][y+1]->p_dspin_int_rsp_in[SOUTH]    (signal_dspin_int_rsp_v_inc[x][y]);
     1488            clusters[x][y]->p_dspin_int_rsp_in[NORTH]      (signal_dspin_int_rsp_v_dec[x][y]);
     1489            clusters[x][y+1]->p_dspin_int_rsp_out[SOUTH]   (signal_dspin_int_rsp_v_dec[x][y]);
     1490
     1491            clusters[x][y]->p_dspin_int_m2p_out[NORTH]     (signal_dspin_int_m2p_v_inc[x][y]);
     1492            clusters[x][y+1]->p_dspin_int_m2p_in[SOUTH]    (signal_dspin_int_m2p_v_inc[x][y]);
     1493            clusters[x][y]->p_dspin_int_m2p_in[NORTH]      (signal_dspin_int_m2p_v_dec[x][y]);
     1494            clusters[x][y+1]->p_dspin_int_m2p_out[SOUTH]   (signal_dspin_int_m2p_v_dec[x][y]);
     1495
     1496            clusters[x][y]->p_dspin_int_p2m_out[NORTH]     (signal_dspin_int_p2m_v_inc[x][y]);
     1497            clusters[x][y+1]->p_dspin_int_p2m_in[SOUTH]    (signal_dspin_int_p2m_v_inc[x][y]);
     1498            clusters[x][y]->p_dspin_int_p2m_in[NORTH]      (signal_dspin_int_p2m_v_dec[x][y]);
     1499            clusters[x][y+1]->p_dspin_int_p2m_out[SOUTH]   (signal_dspin_int_p2m_v_dec[x][y]);
     1500
     1501            clusters[x][y]->p_dspin_int_cla_out[NORTH]     (signal_dspin_int_cla_v_inc[x][y]);
     1502            clusters[x][y+1]->p_dspin_int_cla_in[SOUTH]    (signal_dspin_int_cla_v_inc[x][y]);
     1503            clusters[x][y]->p_dspin_int_cla_in[NORTH]      (signal_dspin_int_cla_v_dec[x][y]);
     1504            clusters[x][y+1]->p_dspin_int_cla_out[SOUTH]   (signal_dspin_int_cla_v_dec[x][y]);
    13401505
    13411506            clusters[x][y]->p_dspin_ram_cmd_out[NORTH]     (signal_dspin_ram_cmd_v_inc[x][y]);
     
    13431508            clusters[x][y]->p_dspin_ram_cmd_in[NORTH]      (signal_dspin_ram_cmd_v_dec[x][y]);
    13441509            clusters[x][y+1]->p_dspin_ram_cmd_out[SOUTH]   (signal_dspin_ram_cmd_v_dec[x][y]);
     1510
    13451511            clusters[x][y]->p_dspin_ram_rsp_out[NORTH]     (signal_dspin_ram_rsp_v_inc[x][y]);
    13461512            clusters[x][y+1]->p_dspin_ram_rsp_in[SOUTH]    (signal_dspin_ram_rsp_v_inc[x][y]);
     
    13561522   for (size_t y = 0; y < YMAX; y++)
    13571523   {
    1358       for (size_t k = 0; k < 3; k++)
    1359       {
    1360          clusters[0][y]->p_dspin_int_cmd_in[WEST][k]          (signal_dspin_false_int_cmd_in[0][y][WEST][k]);
    1361          clusters[0][y]->p_dspin_int_cmd_out[WEST][k]         (signal_dspin_false_int_cmd_out[0][y][WEST][k]);
    1362          clusters[XMAX-1][y]->p_dspin_int_cmd_in[EAST][k]     (signal_dspin_false_int_cmd_in[XMAX-1][y][EAST][k]);
    1363          clusters[XMAX-1][y]->p_dspin_int_cmd_out[EAST][k]    (signal_dspin_false_int_cmd_out[XMAX-1][y][EAST][k]);
    1364       }
    1365 
    1366       for (size_t k = 0; k < 2; k++)
    1367       {
    1368          clusters[0][y]->p_dspin_int_rsp_in[WEST][k]          (signal_dspin_false_int_rsp_in[0][y][WEST][k]);
    1369          clusters[0][y]->p_dspin_int_rsp_out[WEST][k]         (signal_dspin_false_int_rsp_out[0][y][WEST][k]);
    1370          clusters[XMAX-1][y]->p_dspin_int_rsp_in[EAST][k]     (signal_dspin_false_int_rsp_in[XMAX-1][y][EAST][k]);
    1371          clusters[XMAX-1][y]->p_dspin_int_rsp_out[EAST][k]    (signal_dspin_false_int_rsp_out[XMAX-1][y][EAST][k]);
    1372       }
    1373 
    1374      clusters[0][y]->p_dspin_ram_cmd_in[WEST]       (signal_dspin_false_ram_cmd_in[0][y][WEST]);
    1375      clusters[0][y]->p_dspin_ram_cmd_out[WEST]      (signal_dspin_false_ram_cmd_out[0][y][WEST]);
    1376      clusters[0][y]->p_dspin_ram_rsp_in[WEST]       (signal_dspin_false_ram_rsp_in[0][y][WEST]);
    1377      clusters[0][y]->p_dspin_ram_rsp_out[WEST]      (signal_dspin_false_ram_rsp_out[0][y][WEST]);
    1378 
    1379      clusters[XMAX-1][y]->p_dspin_ram_cmd_in[EAST]  (signal_dspin_false_ram_cmd_in[XMAX-1][y][EAST]);
    1380      clusters[XMAX-1][y]->p_dspin_ram_cmd_out[EAST] (signal_dspin_false_ram_cmd_out[XMAX-1][y][EAST]);
    1381      clusters[XMAX-1][y]->p_dspin_ram_rsp_in[EAST]  (signal_dspin_false_ram_rsp_in[XMAX-1][y][EAST]);
    1382      clusters[XMAX-1][y]->p_dspin_ram_rsp_out[EAST] (signal_dspin_false_ram_rsp_out[XMAX-1][y][EAST]);
     1524      clusters[0][y]->p_dspin_int_cmd_in[WEST]         (signal_dspin_false_int_cmd_in[0][y][WEST]);
     1525      clusters[0][y]->p_dspin_int_cmd_out[WEST]        (signal_dspin_false_int_cmd_out[0][y][WEST]);
     1526      clusters[XMAX-1][y]->p_dspin_int_cmd_in[EAST]    (signal_dspin_false_int_cmd_in[XMAX-1][y][EAST]);
     1527      clusters[XMAX-1][y]->p_dspin_int_cmd_out[EAST]   (signal_dspin_false_int_cmd_out[XMAX-1][y][EAST]);
     1528
     1529      clusters[0][y]->p_dspin_int_rsp_in[WEST]         (signal_dspin_false_int_rsp_in[0][y][WEST]);
     1530      clusters[0][y]->p_dspin_int_rsp_out[WEST]        (signal_dspin_false_int_rsp_out[0][y][WEST]);
     1531      clusters[XMAX-1][y]->p_dspin_int_rsp_in[EAST]    (signal_dspin_false_int_rsp_in[XMAX-1][y][EAST]);
     1532      clusters[XMAX-1][y]->p_dspin_int_rsp_out[EAST]   (signal_dspin_false_int_rsp_out[XMAX-1][y][EAST]);
     1533
     1534      clusters[0][y]->p_dspin_int_m2p_in[WEST]         (signal_dspin_false_int_m2p_in[0][y][WEST]);
     1535      clusters[0][y]->p_dspin_int_m2p_out[WEST]        (signal_dspin_false_int_m2p_out[0][y][WEST]);
     1536      clusters[XMAX-1][y]->p_dspin_int_m2p_in[EAST]    (signal_dspin_false_int_m2p_in[XMAX-1][y][EAST]);
     1537      clusters[XMAX-1][y]->p_dspin_int_m2p_out[EAST]   (signal_dspin_false_int_m2p_out[XMAX-1][y][EAST]);
     1538
     1539      clusters[0][y]->p_dspin_int_p2m_in[WEST]         (signal_dspin_false_int_p2m_in[0][y][WEST]);
     1540      clusters[0][y]->p_dspin_int_p2m_out[WEST]        (signal_dspin_false_int_p2m_out[0][y][WEST]);
     1541      clusters[XMAX-1][y]->p_dspin_int_p2m_in[EAST]    (signal_dspin_false_int_p2m_in[XMAX-1][y][EAST]);
     1542      clusters[XMAX-1][y]->p_dspin_int_p2m_out[EAST]   (signal_dspin_false_int_p2m_out[XMAX-1][y][EAST]);
     1543
     1544      clusters[0][y]->p_dspin_int_cla_in[WEST]         (signal_dspin_false_int_cla_in[0][y][WEST]);
     1545      clusters[0][y]->p_dspin_int_cla_out[WEST]        (signal_dspin_false_int_cla_out[0][y][WEST]);
     1546      clusters[XMAX-1][y]->p_dspin_int_cla_in[EAST]    (signal_dspin_false_int_cla_in[XMAX-1][y][EAST]);
     1547      clusters[XMAX-1][y]->p_dspin_int_cla_out[EAST]   (signal_dspin_false_int_cla_out[XMAX-1][y][EAST]);
     1548
     1549      clusters[0][y]->p_dspin_ram_cmd_in[WEST]         (signal_dspin_false_ram_cmd_in[0][y][WEST]);
     1550      clusters[0][y]->p_dspin_ram_cmd_out[WEST]        (signal_dspin_false_ram_cmd_out[0][y][WEST]);
     1551      clusters[XMAX-1][y]->p_dspin_ram_cmd_in[EAST]    (signal_dspin_false_ram_cmd_in[XMAX-1][y][EAST]);
     1552      clusters[XMAX-1][y]->p_dspin_ram_cmd_out[EAST]   (signal_dspin_false_ram_cmd_out[XMAX-1][y][EAST]);
     1553
     1554      clusters[0][y]->p_dspin_ram_rsp_in[WEST]         (signal_dspin_false_ram_rsp_in[0][y][WEST]);
     1555      clusters[0][y]->p_dspin_ram_rsp_out[WEST]        (signal_dspin_false_ram_rsp_out[0][y][WEST]);
     1556      clusters[XMAX-1][y]->p_dspin_ram_rsp_in[EAST]    (signal_dspin_false_ram_rsp_in[XMAX-1][y][EAST]);
     1557      clusters[XMAX-1][y]->p_dspin_ram_rsp_out[EAST]   (signal_dspin_false_ram_rsp_out[XMAX-1][y][EAST]);
    13831558   }
    13841559
     
    13881563   for (size_t x = 0; x < XMAX; x++)
    13891564   {
    1390       for (size_t k = 0; k < 3; k++)
    1391       {
    1392          clusters[x][0]->p_dspin_int_cmd_in[SOUTH][k]         (signal_dspin_false_int_cmd_in[x][0][SOUTH][k]);
    1393          clusters[x][0]->p_dspin_int_cmd_out[SOUTH][k]        (signal_dspin_false_int_cmd_out[x][0][SOUTH][k]);
    1394          clusters[x][YMAX-1]->p_dspin_int_cmd_in[NORTH][k]    (signal_dspin_false_int_cmd_in[x][YMAX-1][NORTH][k]);
    1395          clusters[x][YMAX-1]->p_dspin_int_cmd_out[NORTH][k]   (signal_dspin_false_int_cmd_out[x][YMAX-1][NORTH][k]);
    1396       }
    1397 
    1398       for (size_t k = 0; k < 2; k++)
    1399       {
    1400          clusters[x][0]->p_dspin_int_rsp_in[SOUTH][k]         (signal_dspin_false_int_rsp_in[x][0][SOUTH][k]);
    1401          clusters[x][0]->p_dspin_int_rsp_out[SOUTH][k]        (signal_dspin_false_int_rsp_out[x][0][SOUTH][k]);
    1402          clusters[x][YMAX-1]->p_dspin_int_rsp_in[NORTH][k]    (signal_dspin_false_int_rsp_in[x][YMAX-1][NORTH][k]);
    1403          clusters[x][YMAX-1]->p_dspin_int_rsp_out[NORTH][k]   (signal_dspin_false_int_rsp_out[x][YMAX-1][NORTH][k]);
    1404       }
    1405 
    1406       clusters[x][0]->p_dspin_ram_cmd_in[SOUTH]       (signal_dspin_false_ram_cmd_in[x][0][SOUTH]);
    1407       clusters[x][0]->p_dspin_ram_cmd_out[SOUTH]      (signal_dspin_false_ram_cmd_out[x][0][SOUTH]);
    1408       clusters[x][0]->p_dspin_ram_rsp_in[SOUTH]       (signal_dspin_false_ram_rsp_in[x][0][SOUTH]);
    1409       clusters[x][0]->p_dspin_ram_rsp_out[SOUTH]      (signal_dspin_false_ram_rsp_out[x][0][SOUTH]);
    1410 
    1411       clusters[x][YMAX-1]->p_dspin_ram_cmd_in[NORTH]  (signal_dspin_false_ram_cmd_in[x][YMAX-1][NORTH]);
    1412       clusters[x][YMAX-1]->p_dspin_ram_cmd_out[NORTH] (signal_dspin_false_ram_cmd_out[x][YMAX-1][NORTH]);
    1413       clusters[x][YMAX-1]->p_dspin_ram_rsp_in[NORTH]  (signal_dspin_false_ram_rsp_in[x][YMAX-1][NORTH]);
    1414       clusters[x][YMAX-1]->p_dspin_ram_rsp_out[NORTH] (signal_dspin_false_ram_rsp_out[x][YMAX-1][NORTH]);
     1565      clusters[x][0]->p_dspin_int_cmd_in[SOUTH]        (signal_dspin_false_int_cmd_in[x][0][SOUTH]);
     1566      clusters[x][0]->p_dspin_int_cmd_out[SOUTH]       (signal_dspin_false_int_cmd_out[x][0][SOUTH]);
     1567      clusters[x][YMAX-1]->p_dspin_int_cmd_in[NORTH]   (signal_dspin_false_int_cmd_in[x][YMAX-1][NORTH]);
     1568      clusters[x][YMAX-1]->p_dspin_int_cmd_out[NORTH]  (signal_dspin_false_int_cmd_out[x][YMAX-1][NORTH]);
     1569
     1570      clusters[x][0]->p_dspin_int_rsp_in[SOUTH]        (signal_dspin_false_int_rsp_in[x][0][SOUTH]);
     1571      clusters[x][0]->p_dspin_int_rsp_out[SOUTH]       (signal_dspin_false_int_rsp_out[x][0][SOUTH]);
     1572      clusters[x][YMAX-1]->p_dspin_int_rsp_in[NORTH]   (signal_dspin_false_int_rsp_in[x][YMAX-1][NORTH]);
     1573      clusters[x][YMAX-1]->p_dspin_int_rsp_out[NORTH]  (signal_dspin_false_int_rsp_out[x][YMAX-1][NORTH]);
     1574
     1575      clusters[x][0]->p_dspin_int_m2p_in[SOUTH]        (signal_dspin_false_int_m2p_in[x][0][SOUTH]);
     1576      clusters[x][0]->p_dspin_int_m2p_out[SOUTH]       (signal_dspin_false_int_m2p_out[x][0][SOUTH]);
     1577      clusters[x][YMAX-1]->p_dspin_int_m2p_in[NORTH]   (signal_dspin_false_int_m2p_in[x][YMAX-1][NORTH]);
     1578      clusters[x][YMAX-1]->p_dspin_int_m2p_out[NORTH]  (signal_dspin_false_int_m2p_out[x][YMAX-1][NORTH]);
     1579
     1580      clusters[x][0]->p_dspin_int_p2m_in[SOUTH]        (signal_dspin_false_int_p2m_in[x][0][SOUTH]);
     1581      clusters[x][0]->p_dspin_int_p2m_out[SOUTH]       (signal_dspin_false_int_p2m_out[x][0][SOUTH]);
     1582      clusters[x][YMAX-1]->p_dspin_int_p2m_in[NORTH]   (signal_dspin_false_int_p2m_in[x][YMAX-1][NORTH]);
     1583      clusters[x][YMAX-1]->p_dspin_int_p2m_out[NORTH]  (signal_dspin_false_int_p2m_out[x][YMAX-1][NORTH]);
     1584
     1585      clusters[x][0]->p_dspin_int_cla_in[SOUTH]        (signal_dspin_false_int_cla_in[x][0][SOUTH]);
     1586      clusters[x][0]->p_dspin_int_cla_out[SOUTH]       (signal_dspin_false_int_cla_out[x][0][SOUTH]);
     1587      clusters[x][YMAX-1]->p_dspin_int_cla_in[NORTH]   (signal_dspin_false_int_cla_in[x][YMAX-1][NORTH]);
     1588      clusters[x][YMAX-1]->p_dspin_int_cla_out[NORTH]  (signal_dspin_false_int_cla_out[x][YMAX-1][NORTH]);
     1589
     1590      clusters[x][0]->p_dspin_ram_cmd_in[SOUTH]        (signal_dspin_false_ram_cmd_in[x][0][SOUTH]);
     1591      clusters[x][0]->p_dspin_ram_cmd_out[SOUTH]       (signal_dspin_false_ram_cmd_out[x][0][SOUTH]);
     1592      clusters[x][YMAX-1]->p_dspin_ram_cmd_in[NORTH]   (signal_dspin_false_ram_cmd_in[x][YMAX-1][NORTH]);
     1593      clusters[x][YMAX-1]->p_dspin_ram_cmd_out[NORTH]  (signal_dspin_false_ram_cmd_out[x][YMAX-1][NORTH]);
     1594
     1595      clusters[x][0]->p_dspin_ram_rsp_in[SOUTH]        (signal_dspin_false_ram_rsp_in[x][0][SOUTH]);
     1596      clusters[x][0]->p_dspin_ram_rsp_out[SOUTH]       (signal_dspin_false_ram_rsp_out[x][0][SOUTH]);
     1597      clusters[x][YMAX-1]->p_dspin_ram_rsp_in[NORTH]   (signal_dspin_false_ram_rsp_in[x][YMAX-1][NORTH]);
     1598      clusters[x][YMAX-1]->p_dspin_ram_rsp_out[NORTH]  (signal_dspin_false_ram_rsp_out[x][YMAX-1][NORTH]);
    14151599   }
    14161600
     
    14331617         for (size_t a = 0; a < 4; a++)
    14341618         {
    1435             for (size_t k = 0; k < 3; k++)
    1436             {
    1437                signal_dspin_false_int_cmd_in[x][y][a][k].write = false;
    1438                signal_dspin_false_int_cmd_in[x][y][a][k].read = true;
    1439                signal_dspin_false_int_cmd_out[x][y][a][k].write = false;
    1440                signal_dspin_false_int_cmd_out[x][y][a][k].read = true;
    1441             }
    1442 
    1443             for (size_t k = 0; k < 2; k++)
    1444             {
    1445                signal_dspin_false_int_rsp_in[x][y][a][k].write = false;
    1446                signal_dspin_false_int_rsp_in[x][y][a][k].read = true;
    1447                signal_dspin_false_int_rsp_out[x][y][a][k].write = false;
    1448                signal_dspin_false_int_rsp_out[x][y][a][k].read = true;
    1449             }
     1619            signal_dspin_false_int_cmd_in[x][y][a].write = false;
     1620            signal_dspin_false_int_cmd_in[x][y][a].read = true;
     1621            signal_dspin_false_int_cmd_out[x][y][a].write = false;
     1622            signal_dspin_false_int_cmd_out[x][y][a].read = true;
     1623
     1624            signal_dspin_false_int_rsp_in[x][y][a].write = false;
     1625            signal_dspin_false_int_rsp_in[x][y][a].read = true;
     1626            signal_dspin_false_int_rsp_out[x][y][a].write = false;
     1627            signal_dspin_false_int_rsp_out[x][y][a].read = true;
     1628
     1629            signal_dspin_false_int_m2p_in[x][y][a].write = false;
     1630            signal_dspin_false_int_m2p_in[x][y][a].read = true;
     1631            signal_dspin_false_int_m2p_out[x][y][a].write = false;
     1632            signal_dspin_false_int_m2p_out[x][y][a].read = true;
     1633
     1634            signal_dspin_false_int_p2m_in[x][y][a].write = false;
     1635            signal_dspin_false_int_p2m_in[x][y][a].read = true;
     1636            signal_dspin_false_int_p2m_out[x][y][a].write = false;
     1637            signal_dspin_false_int_p2m_out[x][y][a].read = true;
     1638
     1639            signal_dspin_false_int_cla_in[x][y][a].write = false;
     1640            signal_dspin_false_int_cla_in[x][y][a].read = true;
     1641            signal_dspin_false_int_cla_out[x][y][a].write = false;
     1642            signal_dspin_false_int_cla_out[x][y][a].read = true;
    14501643
    14511644            signal_dspin_false_ram_cmd_in[x][y][a].write = false;
     
    14931686        // clusters[0][0]->proc[0]->cache_monitor(0x800080ULL);
    14941687
    1495         // Monitor a specific address for one L2 cache
    1496         // clusters[0][0]->memc->cache_monitor( 0x800080ULL, false );   // full line
     1688        // Monitor a specific address for one L2 cache (single word if second argument true)
     1689        // clusters[0][0]->memc->cache_monitor( 0x00FF8000ULL, false );
    14971690
    14981691        // Monitor a specific address for one XRAM
     
    15231716
    15241717                // coprocessor in cluster(x,y)
    1525                 clusters[x][y]->mwmr->print_trace();
    1526                 std::ostringstream mwmr_tgt_signame;
    1527                 mwmr_tgt_signame << "[SIG]MWMR_TGT_" << x << "_" << y;
    1528                 clusters[x][y]->signal_int_vci_tgt_mwmr.print_trace(mwmr_tgt_signame.str());
    1529                 std::ostringstream mwmr_ini_signame;
    1530                 mwmr_ini_signame << "[SIG]MWMR_INI_" << x << "_" << y;
    1531                 clusters[x][y]->signal_int_vci_ini_mwmr.print_trace(mwmr_ini_signame.str());
    1532                 if ( USE_MWR_CPY ) clusters[x][y]->cpy->print_trace();
    1533                 if ( USE_MWR_DCT ) clusters[x][y]->dct->print_trace();
    1534                 if ( USE_MWR_GCD ) clusters[x][y]->gcd->print_trace();
     1718//              clusters[x][y]->mwmr->print_trace();
     1719//              std::ostringstream mwmr_tgt_signame;
     1720//              mwmr_tgt_signame << "[SIG]MWMR_TGT_" << x << "_" << y;
     1721//              clusters[x][y]->signal_int_vci_tgt_mwmr.print_trace(mwmr_tgt_signame.str());
     1722//              std::ostringstream mwmr_ini_signame;
     1723//              mwmr_ini_signame << "[SIG]MWMR_INI_" << x << "_" << y;
     1724//              clusters[x][y]->signal_int_vci_ini_mwmr.print_trace(mwmr_ini_signame.str());
     1725//              if ( USE_MWR_CPY ) clusters[x][y]->cpy->print_trace();
     1726//              if ( USE_MWR_DCT ) clusters[x][y]->dct->print_trace();
     1727//              if ( USE_MWR_GCD ) clusters[x][y]->gcd->print_trace();
    15351728
    15361729                // local interrupts in cluster(x,y)
     
    15971790//              signal_vci_tgt_iob0.print_trace("[SIG]IOB0_IOX_TGT");
    15981791
    1599                 cdma->print_trace();
    1600                 signal_vci_tgt_cdma.print_trace("[SIG]CDMA_TGT");
    1601                 signal_vci_ini_cdma.print_trace("[SIG]CDMA_INI");
     1792//              cdma->print_trace();
     1793//              signal_vci_tgt_cdma.print_trace("[SIG]CDMA_TGT");
     1794//              signal_vci_ini_cdma.print_trace("[SIG]CDMA_INI");
    16021795
    16031796//              brom->print_trace();
     
    16071800//              signal_vci_tgt_mtty.print_trace("[SIG]MTTY_TGT");
    16081801
    1609 //              disk->print_trace();
    1610 //              signal_vci_tgt_disk.print_trace("[SIG]DISK_TGT");
    1611 //              signal_vci_ini_disk.print_trace("[SIG]DISK_INI");
    1612 
    1613                 mnic->print_trace( 0x000 );
    1614                 signal_vci_tgt_mnic.print_trace("[SIG]MNIC_TGT");
     1802                disk->print_trace();
     1803                signal_vci_tgt_disk.print_trace("[SIG]DISK_TGT");
     1804                signal_vci_ini_disk.print_trace("[SIG]DISK_INI");
     1805
     1806#if ( USE_IOC_SDC )
     1807                card->print_trace();
     1808#endif
     1809
     1810//              mnic->print_trace( 0x000 );
     1811//              signal_vci_tgt_mnic.print_trace("[SIG]MNIC_TGT");
    16151812
    16161813//              fbuf->print_trace();
     
    16241821
    16251822                // interrupts
    1626                 if (signal_irq_disk)       std::cout << "### IRQ_DISK ACTIVE"       << std::endl;
    1627                 if (signal_irq_mtty_rx[0]) std::cout << "### IRQ_MTTY_RX[0] ACTIVE" << std::endl;
    1628                 if (signal_irq_mnic_rx[0]) std::cout << "### IRQ_MNIC_RX[0] ACTIVE" << std::endl;
    1629                 if (signal_irq_mnic_rx[1]) std::cout << "### IRQ_MNIC_RX[1] ACTIVE" << std::endl;
    1630                 if (signal_irq_mnic_tx[0]) std::cout << "### IRQ_MNIC_TX[0] ACTIVE" << std::endl;
    1631                 if (signal_irq_mnic_tx[1]) std::cout << "### IRQ_MNIC_TX[1] ACTIVE" << std::endl;
     1823                if ( signal_irq_disk.read() )     
     1824                std::cout << "### IRQ_DISK ACTIVE" << std::endl;
     1825
     1826                if ( signal_irq_mtty_rx[0].read() )
     1827                std::cout << "### IRQ_MTTY_RX[0] ACTIVE" << std::endl;
     1828
     1829                if ( signal_irq_mnic_rx[0].read() )
     1830                std::cout << "### IRQ_MNIC_RX[0] ACTIVE" << std::endl;
     1831
     1832                if ( signal_irq_mnic_tx[0].read() )
     1833                std::cout << "### IRQ_MNIC_TX[0] ACTIVE" << std::endl;
    16321834            }
    16331835        }
Note: See TracChangeset for help on using the changeset viewer.