Ignore:
Timestamp:
Dec 10, 2008, 7:31:39 PM (16 years ago)
Author:
rosiere
Message:

Almost complete design
with Test and test platform

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src/main.cpp

    r81 r88  
    1414  err (_("<Usage> %s name_instance list_params.\n"),argv[0]);
    1515  err (_("list_params is :\n"));
    16   err (_(" * nb_read_unit                                                               (uint32_t           )\n"));
    17   err (_(" * nb_functionnal_unit                                                        (uint32_t           )\n"));
    18   err (_(" * nb_load_store_unit                                                         (uint32_t           )\n"));
    19   err (_(" * nb_write_unit                                                              (uint32_t           )\n"));
    20   err (_(" * nb_context                                                                 (uint32_t           )\n"));
    21   err (_(" * nb_front_end                                                               (uint32_t           )\n"));
    22   err (_(" * nb_ooo_engine                                                              (uint32_t           )\n"));
    23   err (_(" * nb_packet                                                                  (uint32_t           )\n"));
    24   err (_(" * size_general_data                                                          (uint32_t           )\n"));
    25   err (_(" * size_special_data                                                          (uint32_t           )\n"));
    26   err (_(" * size_read_queue                           [read_unit]                      (uint32_t           )\n"));
    27   err (_(" * size_reservation_station                  [read_unit]                      (uint32_t           )\n"));
    28   err (_(" * nb_inst_retire                            [read_unit]                      (uint32_t           )\n"));
    29   err (_(" * size_store_queue                          [load_store_unit]                (uint32_t           )\n"));
    30   err (_(" * size_load_queue                           [load_store_unit]                (uint32_t           )\n"));
    31   err (_(" * size_speculative_access_queue             [load_store_unit]                (uint32_t           )\n"));
    32   err (_(" * nb_port_check                             [load_store_unit]                (uint32_t           )\n"));
    33   err (_(" * speculative_load                          [load_store_unit]                (Tspeculative_load_t)\n"));
    34   err (_(" * nb_bypass_memory                          [load_store_unit]                (uint32_t           )\n"));
    35   err (_(" * size_write_queue                          [write_unit]                     (uint32_t           )\n"));
    36   err (_(" * size_execute_queue                        [write_unit]                     (uint32_t           )\n"));
    37   err (_(" * nb_bypass_write                           [write_unit]                     (uint32_t           )\n"));
    38   err (_(" * nb_gpr_bank                                                                (uint32_t           )\n"));
    39   err (_(" * nb_gpr_port_read_by_bank                                                   (uint32_t           )\n"));
    40   err (_(" * nb_gpr_port_write_by_bank                                                  (uint32_t           )\n"));
    41   err (_(" * nb_spr_bank                                                                (uint32_t           )\n"));
    42   err (_(" * nb_spr_port_read_by_bank                                                   (uint32_t           )\n"));
    43   err (_(" * nb_spr_port_write_by_bank                                                  (uint32_t           )\n"));
    44   err (_(" * nb_general_register                       [nb_ooo_engine]                  (uint32_t           )\n"));
    45   err (_(" * nb_special_register                       [nb_ooo_engine]                  (uint32_t           )\n"));
    46   err (_(" * nb_inst_insert_rob                        [nb_ooo_engine]                  (uint32_t           )\n"));
    47   err (_(" * nb_inst_retire_rob                        [nb_ooo_engine]                  (uint32_t           )\n"));
    48   err (_(" * execution_unit_to_write_unit_priority                                      (Tpriority_t        )\n"));
    49   err (_(" * execution_unit_to_write_unit_table_routing[nb_execute_unit][nb_write_unit] (bool               )\n"));
    50   err (_(" * execution_unit_to_write_unit_table_thread [nb_write_unit][nb_thread]       (bool               )\n"));
    51   err (_(" * read_unit_to_execution_unit_priority                                       (Tpriority_t        )\n"));
    52   err (_(" * read_unit_to_execution_unit_table_routing [nb_read_unit][nb_execute_unit]  (bool               )\n"));
    53   err (_(" * read_unit_to_execution_unit_table_thread  [nb_execute_unit][nb_thread]     (bool               )\n"));
     16  err (_(" * nb_read_unit                                                                                     (uint32_t           )\n"));
     17  err (_(" * nb_functionnal_unit                                                                              (uint32_t           )\n"));
     18  err (_(" * nb_load_store_unit                                                                               (uint32_t           )\n"));
     19  err (_(" * nb_write_unit                                                                                    (uint32_t           )\n"));
     20  err (_(" * nb_context                                                                                       (uint32_t           )\n"));
     21  err (_(" * nb_front_end                                                                                     (uint32_t           )\n"));
     22  err (_(" * nb_ooo_engine                                                                                    (uint32_t           )\n"));
     23  err (_(" * nb_packet                                                                                        (uint32_t           )\n"));
     24  err (_(" * size_general_data                                                                                (uint32_t           )\n"));
     25  err (_(" * size_special_data                                                                                (uint32_t           )\n"));
     26  err (_(" * size_read_queue                           [nb_read_unit]                                         (uint32_t           )\n"));
     27  err (_(" * size_reservation_station                  [nb_read_unit]                                         (uint32_t           )\n"));
     28  err (_(" * nb_inst_retire                            [nb_read_unit]                                         (uint32_t           )\n"));
     29  err (_(" * nb_inst_functionnal_unit                  [nb_functionnal_unit]                                  (uint32_t           )\n"));
     30  err (_(" * size_store_queue                          [nb_load_store_unit]                                   (uint32_t           )\n"));
     31  err (_(" * size_load_queue                           [nb_load_store_unit]                                   (uint32_t           )\n"));
     32  err (_(" * size_speculative_access_queue             [nb_load_store_unit]                                   (uint32_t           )\n"));
     33  err (_(" * nb_port_check                             [nb_load_store_unit]                                   (uint32_t           )\n"));
     34  err (_(" * speculative_load                          [nb_load_store_unit]                                   (Tspeculative_load_t)\n"));
     35  err (_(" * nb_bypass_memory                          [nb_load_store_unit]                                   (uint32_t           )\n"));
     36  err (_(" * nb_cache_port                             [nb_load_store_unit]                                   (uint32_t           )\n"));
     37  err (_(" * nb_inst_memory                            [nb_load_store_unit]                                   (uint32_t           )\n"));
     38  err (_(" * size_write_queue                          [nb_write_unit]                                        (uint32_t           )\n"));
     39  err (_(" * size_execute_queue                        [nb_write_unit]                                        (uint32_t           )\n"));
     40  err (_(" * nb_bypass_write                           [nb_write_unit]                                        (uint32_t           )\n"));
     41  err (_(" * nb_gpr_bank                                                                                      (uint32_t           )\n"));
     42  err (_(" * nb_gpr_port_read_by_bank                                                                         (uint32_t           )\n"));
     43  err (_(" * nb_gpr_port_write_by_bank                                                                        (uint32_t           )\n"));
     44  err (_(" * nb_spr_bank                                                                                      (uint32_t           )\n"));
     45  err (_(" * nb_spr_port_read_by_bank                                                                         (uint32_t           )\n"));
     46  err (_(" * nb_spr_port_write_by_bank                                                                        (uint32_t           )\n"));
     47  err (_(" * nb_general_register                       [nb_ooo_engine]                                        (uint32_t           )\n"));
     48  err (_(" * nb_special_register                       [nb_ooo_engine]                                        (uint32_t           )\n"));
     49  err (_(" * nb_inst_insert_rob                        [nb_ooo_engine]                                        (uint32_t           )\n"));
     50  err (_(" * nb_inst_retire_rob                        [nb_ooo_engine]                                        (uint32_t           )\n"));
     51  err (_(" * execution_unit_to_write_unit_priority                                                            (Tpriority_t        )\n"));
     52  err (_(" * execution_unit_to_write_unit_table_routing[nb_execute_unit][nb_execute_unit_port][nb_write_unit] (bool               )\n"));
     53  err (_(" * execution_unit_to_write_unit_table_thread [nb_write_unit][nb_thread]                             (bool               )\n"));
     54  err (_(" * read_unit_to_execution_unit_priority                                                             (Tpriority_t        )\n"));
     55  err (_(" * read_unit_to_execution_unit_table_routing [nb_read_unit][nb_execute_unit][nb_execute_unit_port]  (bool               )\n"));
     56  err (_(" * read_unit_to_execution_unit_table_thread  [nb_execute_unit][nb_thread]                           (bool               )\n"));
     57  err (_(" * is_load_store_unit                        [nb_execute_unit]                                      (bool               )\n"));
     58  err (_(" * translate_num_execute_unit                [nb_execute_unit]                                      (uint32_t           )\n"));
     59
    5460
    5561  exit (1);
     
    6268#endif
    6369{
     70  // Command
     71  for (int32_t i=0; i<argc; ++i)
     72    msg("%s ",argv[i]);
     73  msg("\n");
     74 
    6475  if (argc < 2+NB_PARAMS)
    6576    usage (argc, argv);
     
    8495  int32_t nb_params = (2+NB_PARAMS+
    8596                       3*nb_read_unit+
    86                        6*nb_load_store_unit+
     97                       1*nb_functionnal_unit+
     98                       8*nb_load_store_unit+
    8799                       3*nb_write_unit+
    88100                       4*nb_ooo_engine+
    89                        nb_execute_unit*nb_write_unit+
     101//                     sum_execute_unit_port*nb_write_unit+
    90102                       nb_write_unit*nb_thread+
    91                        nb_read_unit*nb_execute_unit+
    92                        nb_execute_unit*nb_thread);
    93  
    94  
    95  
    96   if (argc != nb_params)
    97     {
    98       msg(_("Need %d parameters."),nb_params);
    99       usage (argc, argv);
    100     }
     103//                     nb_read_unit*sum_execute_unit_port+
     104                       nb_execute_unit*nb_thread+
     105                       2*nb_execute_unit);
     106 
     107  if (argc <= nb_params)
     108    usage (argc, argv);
     109 
    101110  uint32_t            * size_read_queue          = new uint32_t [nb_read_unit];
    102111  for (uint32_t i=0; i<nb_read_unit; i++)
     
    111120    nb_inst_retire [i] = atoi(argv[x++]);
    112121
     122  uint32_t            * nb_inst_functionnal_unit = new uint32_t [nb_functionnal_unit];
     123  for (uint32_t i=0; i<nb_functionnal_unit; i++)
     124    nb_inst_functionnal_unit [i] = atoi(argv[x++]);
     125
    113126  uint32_t          * size_store_queue              = new uint32_t [nb_load_store_unit];
    114127  for (uint32_t i=0; i<nb_load_store_unit; i++)
     
    134147  for (uint32_t i=0; i<nb_load_store_unit; i++)
    135148    nb_bypass_memory              [i] = atoi(argv[x++]);
     149
     150  uint32_t          * nb_cache_port                 = new uint32_t [nb_load_store_unit];
     151  for (uint32_t i=0; i<nb_load_store_unit; i++)
     152    nb_cache_port                 [i] = atoi(argv[x++]);
     153
     154  uint32_t          * nb_inst_memory                = new uint32_t [nb_load_store_unit];
     155  for (uint32_t i=0; i<nb_load_store_unit; i++)
     156    nb_inst_memory                [i] = atoi(argv[x++]);
     157
     158
     159  uint32_t sum_execute_unit_port = 0;
     160  for (uint32_t i=0; i<nb_load_store_unit; i++)
     161    sum_execute_unit_port += nb_inst_memory[i];
     162  for (uint32_t i=0; i<nb_functionnal_unit; i++)
     163    sum_execute_unit_port += nb_inst_functionnal_unit[i];
     164
     165  nb_params = (2+NB_PARAMS+
     166               3*nb_read_unit+
     167               1*nb_functionnal_unit+
     168               8*nb_load_store_unit+
     169               3*nb_write_unit+
     170               4*nb_ooo_engine+
     171               sum_execute_unit_port*nb_write_unit+
     172               nb_write_unit*nb_thread+
     173               nb_read_unit*sum_execute_unit_port+
     174               nb_execute_unit*nb_thread+
     175               2*nb_execute_unit);
     176 
     177  if (argc != nb_params)
     178    {
     179      msg("nb_functionnal_unit   : %d\n",nb_functionnal_unit);
     180      msg("nb_load_store_unit    : %d\n",nb_load_store_unit );
     181      msg("sum_execute_unit_port : %d.\n",sum_execute_unit_port);
     182      msg(_("Have %d parameters.\n"),argc     );
     183      msg(_("Need %d parameters.\n"),nb_params);
     184      usage (argc, argv);
     185    }
    136186
    137187  uint32_t * size_write_queue   = new uint32_t [nb_write_unit];
     
    172222  Tpriority_t execution_unit_to_write_unit_priority = fromString<Tpriority_t>(argv[x++]);
    173223
    174   bool ** execution_unit_to_write_unit_table_routing = new bool * [nb_execute_unit];
     224  bool *** execution_unit_to_write_unit_table_routing = new bool ** [nb_execute_unit];
    175225  for (uint32_t i=0; i<nb_execute_unit; i++)
    176226    {
    177       execution_unit_to_write_unit_table_routing [i] = new bool [nb_write_unit];
    178       for (uint32_t j=0; j<nb_write_unit; j++)
    179         execution_unit_to_write_unit_table_routing [i][j] = atoi(argv[x++]);
    180     }
     227      uint32_t nb_execute_unit_port = (i<nb_load_store_unit)?nb_inst_memory[i]:nb_inst_functionnal_unit[i-nb_load_store_unit];
     228
     229      execution_unit_to_write_unit_table_routing [i] = new bool * [nb_execute_unit_port];
     230     
     231      for (uint32_t j=0; j<nb_execute_unit_port; j++)
     232        {
     233          execution_unit_to_write_unit_table_routing [i][j] = new bool [nb_write_unit];
     234         
     235          for (uint32_t k=0; k<nb_write_unit; k++)
     236            execution_unit_to_write_unit_table_routing [i][j][k] = atoi(argv[x++]);
     237        }
     238    }
     239
    181240  bool ** execution_unit_to_write_unit_table_thread = new bool * [nb_write_unit];
    182241  for (uint32_t i=0; i<nb_write_unit; i++)
     
    188247  Tpriority_t read_unit_to_execution_unit_priority  = fromString<Tpriority_t>(argv[x++]);
    189248
    190   bool ** read_unit_to_execution_unit_table_routing = new bool * [nb_read_unit];
     249  bool *** read_unit_to_execution_unit_table_routing = new bool ** [nb_read_unit];
    191250  for (uint32_t i=0; i<nb_read_unit; i++)
    192251    {
    193       read_unit_to_execution_unit_table_routing [i] = new bool [nb_execute_unit];
     252      read_unit_to_execution_unit_table_routing [i] = new bool * [nb_execute_unit];
    194253      for (uint32_t j=0; j<nb_execute_unit; j++)
    195         read_unit_to_execution_unit_table_routing [i][j] = atoi(argv[x++]);
    196     }
     254        {
     255          uint32_t nb_execute_unit_port = (j<nb_load_store_unit)?nb_inst_memory[j]:nb_inst_functionnal_unit[j-nb_load_store_unit];
     256          read_unit_to_execution_unit_table_routing [i][j] = new bool [nb_execute_unit_port];
     257
     258          for (uint32_t k=0; k<nb_execute_unit_port; k++)
     259            read_unit_to_execution_unit_table_routing [i][j][k] = atoi(argv[x++]);
     260        }
     261    }
     262
    197263  bool ** read_unit_to_execution_unit_table_thread = new bool * [nb_execute_unit];
    198264  for (uint32_t i=0; i<nb_execute_unit; i++)
     
    202268        read_unit_to_execution_unit_table_thread [i][j] =  atoi(argv[x++]);
    203269    }
    204   execute_timing_t *** timing = new execute_timing_t ** [nb_execute_unit];
    205  
     270
     271  bool * is_load_store_unit = new bool [nb_execute_unit];
     272  for (uint32_t i=0; i<nb_execute_unit; i++)
     273    is_load_store_unit [i] = fromString<bool>(argv[x++]);
     274
     275  uint32_t * translate_num_execute_unit = new uint32_t [nb_execute_unit];
     276  for (uint32_t i=0; i<nb_execute_unit; i++)
     277    translate_num_execute_unit [i] = fromString<uint32_t>(argv[x++]);
     278
     279  execute_timing_t *** timing = new execute_timing_t ** [nb_functionnal_unit];
    206280  // alloc and reset timing array
    207   for (uint32_t i=0; i< nb_execute_unit; i++)
     281  for (uint32_t i=0; i< nb_functionnal_unit; i++)
    208282    {
    209283      timing [i] = new execute_timing_t * [MAX_TYPE];
     
    218292    }
    219293 
    220   for (uint32_t i=0; i< nb_load_store_unit; i++)
    221     for (uint32_t k=0; k< MAX_OPERATION; k++)
    222       timing[i][TYPE_MEMORY][k]._delay = timing[i][TYPE_MEMORY][k]._latence = 1;
    223294  for (uint32_t i=0; i< nb_functionnal_unit; i++)
    224295    for (uint32_t j=0; j< MAX_TYPE; j++)
    225       if (j != TYPE_MEMORY)
    226         for (uint32_t k=0; k< MAX_OPERATION; k++)
    227           timing[i+nb_load_store_unit][j][k]._delay = timing[i+nb_load_store_unit][j][k]._latence = 1;
    228 
    229   morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t) = &(morpheo::behavioural::custom::default_get_custom_information);
     296      {
     297        if ( (j != TYPE_MEMORY) and
     298             not ((i!=0) and ((j == TYPE_SPECIAL) or
     299                              (j == TYPE_CUSTOM))))
     300          for (uint32_t k=0; k< MAX_OPERATION; k++)
     301            timing[i][j][k]._delay = timing[i][j][k]._latence = 1;
     302      }
     303
     304  morpheo::behavioural::custom::custom_information_t (*get_custom_information) (void) = &(morpheo::behavioural::custom::default_get_custom_information);
    230305
    231306  try
     
    247322         size_reservation_station                      ,
    248323         nb_inst_retire                                ,
    249          
     324
     325         nb_inst_functionnal_unit                      ,
    250326         timing                                        ,
    251327         get_custom_information                        ,
     
    256332         nb_port_check                                 ,
    257333         speculative_load                              ,
    258          
    259334         nb_bypass_memory                              ,
     335         nb_cache_port                                 ,
     336         nb_inst_memory                                ,
     337
    260338         size_write_queue                              ,
    261339         size_execute_queue                            ,
     
    279357         read_unit_to_execution_unit_priority          ,
    280358         read_unit_to_execution_unit_table_routing     ,
    281          read_unit_to_execution_unit_table_thread      );
    282      
    283       msg(_("%s"),param->print(1).c_str());
     359         read_unit_to_execution_unit_table_thread      ,
     360
     361         is_load_store_unit                            , //[nb_execute_unit]
     362         translate_num_execute_unit                    , //[nb_execute_unit]
     363         true // is_toplevel
     364         );
    284365     
    285366      test (name,param);
     
    287368  catch (morpheo::ErrorMorpheo & error)
    288369    {
    289       msg (_("<%s> : %s.\n"),name.c_str(), error.what ());
     370      msg (_("%s\n"),error.what ());
    290371      exit (EXIT_FAILURE);
    291372    }
    292373  catch (...)
    293374    {
    294       err (_("<%s> : This test must generate a error.\n"),name.c_str());
     375      err (_("This test must generate a error.\n"));
    295376      exit (EXIT_FAILURE);
    296377    }
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/SelfTest/src/test.cpp

    r82 r88  
    77 */
    88
    9 #define NB_ITERATION  1
     9#define NB_ITERATION  128
    1010#define CYCLE_MAX     (128*NB_ITERATION)
    1111
     
    2121
    2222#ifdef STATISTICS
    23   morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,50);
     23  morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,CYCLE_MAX);
    2424#endif
     25
     26  Tusage_t _usage = USE_ALL;
     27
     28//   _usage = usage_unset(_usage,USE_SYSTEMC              );
     29//   _usage = usage_unset(_usage,USE_VHDL                 );
     30//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH       );
     31//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT);
     32//   _usage = usage_unset(_usage,USE_POSITION             );
     33//   _usage = usage_unset(_usage,USE_STATISTICS           );
     34//   _usage = usage_unset(_usage,USE_INFORMATION          );
    2535
    2636  Execute_loop * _Execute_loop = new Execute_loop
     
    3040#endif
    3141     _param,
    32      USE_ALL);
     42     _usage);
    3343 
    3444#ifdef SYSTEMC
     
    7585  ALLOC1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_NO_SEQUENCE         ,"out_EXECUTE_LOOP_OUT_NO_SEQUENCE         ",Tcontrol_t        ,_param->_nb_write_unit);
    7686  ALLOC1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_ADDRESS             ,"out_EXECUTE_LOOP_OUT_ADDRESS             ",Tgeneral_data_t   ,_param->_nb_write_unit);
    77   ALLOC1_SC_SIGNAL(out_DCACHE_REQ_VAL                       ,"out_DCACHE_REQ_VAL                       ",Tcontrol_t        ,_param->_nb_load_store_unit);
    78   ALLOC1_SC_SIGNAL( in_DCACHE_REQ_ACK                       ," in_DCACHE_REQ_ACK                       ",Tcontrol_t        ,_param->_nb_load_store_unit);
    79   ALLOC1_SC_SIGNAL(out_DCACHE_REQ_CONTEXT_ID                ,"out_DCACHE_REQ_CONTEXT_ID                ",Tcontext_t        ,_param->_nb_load_store_unit);
    80   ALLOC1_SC_SIGNAL(out_DCACHE_REQ_PACKET_ID                 ,"out_DCACHE_REQ_PACKET_ID                 ",Tpacket_t         ,_param->_nb_load_store_unit);
    81   ALLOC1_SC_SIGNAL(out_DCACHE_REQ_ADDRESS                   ,"out_DCACHE_REQ_ADDRESS                   ",Tdcache_address_t ,_param->_nb_load_store_unit);
    82   ALLOC1_SC_SIGNAL(out_DCACHE_REQ_TYPE                      ,"out_DCACHE_REQ_TYPE                      ",Tdcache_type_t    ,_param->_nb_load_store_unit);
    83   ALLOC1_SC_SIGNAL(out_DCACHE_REQ_WDATA                     ,"out_DCACHE_REQ_WDATA                     ",Tdcache_data_t    ,_param->_nb_load_store_unit);
    84   ALLOC1_SC_SIGNAL( in_DCACHE_RSP_VAL                       ," in_DCACHE_RSP_VAL                       ",Tcontrol_t        ,_param->_nb_load_store_unit);
    85   ALLOC1_SC_SIGNAL(out_DCACHE_RSP_ACK                       ,"out_DCACHE_RSP_ACK                       ",Tcontrol_t        ,_param->_nb_load_store_unit);
    86   ALLOC1_SC_SIGNAL( in_DCACHE_RSP_CONTEXT_ID                ," in_DCACHE_RSP_CONTEXT_ID                ",Tcontext_t        ,_param->_nb_load_store_unit);
    87   ALLOC1_SC_SIGNAL( in_DCACHE_RSP_PACKET_ID                 ," in_DCACHE_RSP_PACKET_ID                 ",Tpacket_t         ,_param->_nb_load_store_unit);
    88   ALLOC1_SC_SIGNAL( in_DCACHE_RSP_RDATA                     ," in_DCACHE_RSP_RDATA                     ",Tdcache_data_t    ,_param->_nb_load_store_unit);
    89   ALLOC1_SC_SIGNAL( in_DCACHE_RSP_ERROR                     ," in_DCACHE_RSP_ERROR                     ",Tdcache_error_t   ,_param->_nb_load_store_unit);
    90   ALLOC2_SC_SIGNAL( in_INSERT_ROB_VAL                       ," in_INSERT_ROB_VAL                       ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    91   ALLOC2_SC_SIGNAL(out_INSERT_ROB_ACK                       ,"out_INSERT_ROB_ACK                       ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    92   ALLOC2_SC_SIGNAL( in_INSERT_ROB_RD_USE                    ," in_INSERT_ROB_RD_USE                    ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    93   ALLOC2_SC_SIGNAL( in_INSERT_ROB_RD_NUM_REG                ," in_INSERT_ROB_RD_NUM_REG                ",Tgeneral_address_t,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    94   ALLOC2_SC_SIGNAL( in_INSERT_ROB_RE_USE                    ," in_INSERT_ROB_RE_USE                    ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    95   ALLOC2_SC_SIGNAL( in_INSERT_ROB_RE_NUM_REG                ," in_INSERT_ROB_RE_NUM_REG                ",Tspecial_address_t,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    96   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_VAL                       ," in_RETIRE_ROB_VAL                       ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    97   ALLOC2_SC_SIGNAL(out_RETIRE_ROB_ACK                       ,"out_RETIRE_ROB_ACK                       ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    98   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RD_OLD_USE                ," in_RETIRE_ROB_RD_OLD_USE                ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    99   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RD_OLD_NUM_REG            ," in_RETIRE_ROB_RD_OLD_NUM_REG            ",Tgeneral_address_t,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    100   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RD_NEW_USE                ," in_RETIRE_ROB_RD_NEW_USE                ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    101   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RD_NEW_NUM_REG            ," in_RETIRE_ROB_RD_NEW_NUM_REG            ",Tgeneral_address_t,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    102   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RE_OLD_USE                ," in_RETIRE_ROB_RE_OLD_USE                ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    103   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RE_OLD_NUM_REG            ," in_RETIRE_ROB_RE_OLD_NUM_REG            ",Tspecial_address_t,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    104   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RE_NEW_USE                ," in_RETIRE_ROB_RE_NEW_USE                ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    105   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RE_NEW_NUM_REG            ," in_RETIRE_ROB_RE_NEW_NUM_REG            ",Tspecial_address_t,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
     87  ALLOC1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_DATA                ,"out_EXECUTE_LOOP_OUT_DATA                ",Tgeneral_data_t   ,_param->_nb_write_unit);
     88  ALLOC2_SC_SIGNAL(out_DCACHE_REQ_VAL                       ,"out_DCACHE_REQ_VAL                       ",Tcontrol_t        ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     89  ALLOC2_SC_SIGNAL( in_DCACHE_REQ_ACK                       ," in_DCACHE_REQ_ACK                       ",Tcontrol_t        ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     90  ALLOC2_SC_SIGNAL(out_DCACHE_REQ_CONTEXT_ID                ,"out_DCACHE_REQ_CONTEXT_ID                ",Tcontext_t        ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     91  ALLOC2_SC_SIGNAL(out_DCACHE_REQ_PACKET_ID                 ,"out_DCACHE_REQ_PACKET_ID                 ",Tpacket_t         ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     92  ALLOC2_SC_SIGNAL(out_DCACHE_REQ_ADDRESS                   ,"out_DCACHE_REQ_ADDRESS                   ",Tdcache_address_t ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     93  ALLOC2_SC_SIGNAL(out_DCACHE_REQ_TYPE                      ,"out_DCACHE_REQ_TYPE                      ",Tdcache_type_t    ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     94  ALLOC2_SC_SIGNAL(out_DCACHE_REQ_WDATA                     ,"out_DCACHE_REQ_WDATA                     ",Tdcache_data_t    ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     95  ALLOC2_SC_SIGNAL( in_DCACHE_RSP_VAL                       ," in_DCACHE_RSP_VAL                       ",Tcontrol_t        ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     96  ALLOC2_SC_SIGNAL(out_DCACHE_RSP_ACK                       ,"out_DCACHE_RSP_ACK                       ",Tcontrol_t        ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     97  ALLOC2_SC_SIGNAL( in_DCACHE_RSP_CONTEXT_ID                ," in_DCACHE_RSP_CONTEXT_ID                ",Tcontext_t        ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     98  ALLOC2_SC_SIGNAL( in_DCACHE_RSP_PACKET_ID                 ," in_DCACHE_RSP_PACKET_ID                 ",Tpacket_t         ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     99  ALLOC2_SC_SIGNAL( in_DCACHE_RSP_RDATA                     ," in_DCACHE_RSP_RDATA                     ",Tdcache_data_t    ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     100  ALLOC2_SC_SIGNAL( in_DCACHE_RSP_ERROR                     ," in_DCACHE_RSP_ERROR                     ",Tdcache_error_t   ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     101  ALLOC2_SC_SIGNAL( in_INSERT_ROB_VAL                       ," in_INSERT_ROB_VAL                       ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     102  ALLOC2_SC_SIGNAL(out_INSERT_ROB_ACK                       ,"out_INSERT_ROB_ACK                       ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     103  ALLOC2_SC_SIGNAL( in_INSERT_ROB_RD_USE                    ," in_INSERT_ROB_RD_USE                    ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     104  ALLOC2_SC_SIGNAL( in_INSERT_ROB_RD_NUM_REG                ," in_INSERT_ROB_RD_NUM_REG                ",Tgeneral_address_t,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     105  ALLOC2_SC_SIGNAL( in_INSERT_ROB_RE_USE                    ," in_INSERT_ROB_RE_USE                    ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     106  ALLOC2_SC_SIGNAL( in_INSERT_ROB_RE_NUM_REG                ," in_INSERT_ROB_RE_NUM_REG                ",Tspecial_address_t,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     107//   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_VAL                       ," in_RETIRE_ROB_VAL                       ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     108//   ALLOC2_SC_SIGNAL(out_RETIRE_ROB_ACK                       ,"out_RETIRE_ROB_ACK                       ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     109//   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RD_OLD_USE                ," in_RETIRE_ROB_RD_OLD_USE                ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     110//   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RD_OLD_NUM_REG            ," in_RETIRE_ROB_RD_OLD_NUM_REG            ",Tgeneral_address_t,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     111//   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RD_NEW_USE                ," in_RETIRE_ROB_RD_NEW_USE                ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     112//   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RD_NEW_NUM_REG            ," in_RETIRE_ROB_RD_NEW_NUM_REG            ",Tgeneral_address_t,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     113//   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RE_OLD_USE                ," in_RETIRE_ROB_RE_OLD_USE                ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     114//   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RE_OLD_NUM_REG            ," in_RETIRE_ROB_RE_OLD_NUM_REG            ",Tspecial_address_t,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     115//   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RE_NEW_USE                ," in_RETIRE_ROB_RE_NEW_USE                ",Tcontrol_t        ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     116//   ALLOC2_SC_SIGNAL( in_RETIRE_ROB_RE_NEW_NUM_REG            ," in_RETIRE_ROB_RE_NEW_NUM_REG            ",Tspecial_address_t,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
    106117 
    107118  /********************************************************
     
    122133  if (_param->_have_port_ooo_engine_id)
    123134  INSTANCE1_SC_SIGNAL(_Execute_loop, in_EXECUTE_LOOP_IN_OOO_ENGINE_ID        ,_param->_nb_read_unit);
    124   if (_param->_have_port_packet_id)
     135  if (_param->_have_port_rob_ptr  )
    125136  INSTANCE1_SC_SIGNAL(_Execute_loop, in_EXECUTE_LOOP_IN_PACKET_ID            ,_param->_nb_read_unit);
    126137  INSTANCE1_SC_SIGNAL(_Execute_loop, in_EXECUTE_LOOP_IN_OPERATION            ,_param->_nb_read_unit);
     
    149160  if (_param->_have_port_ooo_engine_id)
    150161  INSTANCE1_SC_SIGNAL(_Execute_loop,out_EXECUTE_LOOP_OUT_OOO_ENGINE_ID       ,_param->_nb_write_unit);
    151   if (_param->_have_port_packet_id)
     162  if (_param->_have_port_rob_ptr  )
    152163  INSTANCE1_SC_SIGNAL(_Execute_loop,out_EXECUTE_LOOP_OUT_PACKET_ID           ,_param->_nb_write_unit);
    153164//INSTANCE1_SC_SIGNAL(_Execute_loop,out_EXECUTE_LOOP_OUT_OPERATION           ,_param->_nb_write_unit);
     
    157168  INSTANCE1_SC_SIGNAL(_Execute_loop,out_EXECUTE_LOOP_OUT_NO_SEQUENCE         ,_param->_nb_write_unit);
    158169  INSTANCE1_SC_SIGNAL(_Execute_loop,out_EXECUTE_LOOP_OUT_ADDRESS             ,_param->_nb_write_unit);
    159   INSTANCE1_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_VAL                       ,_param->_nb_load_store_unit);
    160   INSTANCE1_SC_SIGNAL(_Execute_loop, in_DCACHE_REQ_ACK                       ,_param->_nb_load_store_unit);
     170  INSTANCE1_SC_SIGNAL(_Execute_loop,out_EXECUTE_LOOP_OUT_DATA                ,_param->_nb_write_unit);
     171  INSTANCE2_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_VAL                       ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     172  INSTANCE2_SC_SIGNAL(_Execute_loop, in_DCACHE_REQ_ACK                       ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
    161173  if (_param->_have_port_dcache_context_id)
    162   INSTANCE1_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_CONTEXT_ID                ,_param->_nb_load_store_unit);
    163   INSTANCE1_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_PACKET_ID                 ,_param->_nb_load_store_unit);
    164   INSTANCE1_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_ADDRESS                   ,_param->_nb_load_store_unit);
    165   INSTANCE1_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_TYPE                      ,_param->_nb_load_store_unit);
    166   INSTANCE1_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_WDATA                     ,_param->_nb_load_store_unit);
    167   INSTANCE1_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_VAL                       ,_param->_nb_load_store_unit);
    168   INSTANCE1_SC_SIGNAL(_Execute_loop,out_DCACHE_RSP_ACK                       ,_param->_nb_load_store_unit);
     174  INSTANCE2_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_CONTEXT_ID                ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     175  INSTANCE2_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_PACKET_ID                 ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     176  INSTANCE2_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_ADDRESS                   ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     177  INSTANCE2_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_TYPE                      ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     178  INSTANCE2_SC_SIGNAL(_Execute_loop,out_DCACHE_REQ_WDATA                     ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     179  INSTANCE2_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_VAL                       ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     180  INSTANCE2_SC_SIGNAL(_Execute_loop,out_DCACHE_RSP_ACK                       ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
    169181  if (_param->_have_port_dcache_context_id)
    170   INSTANCE1_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_CONTEXT_ID                ,_param->_nb_load_store_unit);
    171   INSTANCE1_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_PACKET_ID                 ,_param->_nb_load_store_unit);
    172   INSTANCE1_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_RDATA                     ,_param->_nb_load_store_unit);
    173   INSTANCE1_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_ERROR                     ,_param->_nb_load_store_unit);
    174   INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_VAL                       ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    175   INSTANCE2_SC_SIGNAL(_Execute_loop,out_INSERT_ROB_ACK                       ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    176   INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_RD_USE                    ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    177   INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_RD_NUM_REG                ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    178   INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_RE_USE                    ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    179   INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_RE_NUM_REG                ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[alloc_signal_it1]);
    180   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_VAL                       ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    181   INSTANCE2_SC_SIGNAL(_Execute_loop,out_RETIRE_ROB_ACK                       ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    182   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RD_OLD_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    183   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RD_OLD_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    184   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RD_NEW_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    185   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RD_NEW_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    186   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RE_OLD_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    187   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RE_OLD_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    188   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RE_NEW_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
    189   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RE_NEW_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[alloc_signal_it1]);
     182  INSTANCE2_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_CONTEXT_ID                ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     183  INSTANCE2_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_PACKET_ID                 ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     184  INSTANCE2_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_RDATA                     ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     185  INSTANCE2_SC_SIGNAL(_Execute_loop, in_DCACHE_RSP_ERROR                     ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     186  INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_VAL                       ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     187  INSTANCE2_SC_SIGNAL(_Execute_loop,out_INSERT_ROB_ACK                       ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     188  INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_RD_USE                    ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     189  INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_RD_NUM_REG                ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     190  INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_RE_USE                    ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     191  INSTANCE2_SC_SIGNAL(_Execute_loop, in_INSERT_ROB_RE_NUM_REG                ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     192//   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_VAL                       ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     193//   INSTANCE2_SC_SIGNAL(_Execute_loop,out_RETIRE_ROB_ACK                       ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     194//   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RD_OLD_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     195//   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RD_OLD_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     196//   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RD_NEW_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     197//   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RD_NEW_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     198//   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RE_OLD_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     199//   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RE_OLD_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     200//   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RE_NEW_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     201//   INSTANCE2_SC_SIGNAL(_Execute_loop, in_RETIRE_ROB_RE_NEW_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
    190202
    191203  msg(_("<%s> : Start Simulation ............\n"),name.c_str());
     
    233245  delete in_NRESET;
    234246
    235   delete []  in_EXECUTE_LOOP_IN_VAL                  ;
    236   delete [] out_EXECUTE_LOOP_IN_ACK                  ;
    237   delete []  in_EXECUTE_LOOP_IN_CONTEXT_ID           ;
    238   delete []  in_EXECUTE_LOOP_IN_FRONT_END_ID         ;
    239   delete []  in_EXECUTE_LOOP_IN_OOO_ENGINE_ID        ;
    240   delete []  in_EXECUTE_LOOP_IN_PACKET_ID            ;
    241   delete []  in_EXECUTE_LOOP_IN_OPERATION            ;
    242   delete []  in_EXECUTE_LOOP_IN_TYPE                 ;
    243   delete []  in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_WRITE;
    244   delete []  in_EXECUTE_LOOP_IN_LOAD_QUEUE_PTR_WRITE ;
    245   delete []  in_EXECUTE_LOOP_IN_HAS_IMMEDIAT         ;
    246   delete []  in_EXECUTE_LOOP_IN_IMMEDIAT             ;
    247   delete []  in_EXECUTE_LOOP_IN_READ_RA              ;
    248   delete []  in_EXECUTE_LOOP_IN_NUM_REG_RA           ;
    249   delete []  in_EXECUTE_LOOP_IN_READ_RB              ;
    250   delete []  in_EXECUTE_LOOP_IN_NUM_REG_RB           ;
    251   delete []  in_EXECUTE_LOOP_IN_READ_RC              ;
    252   delete []  in_EXECUTE_LOOP_IN_NUM_REG_RC           ;
    253   delete []  in_EXECUTE_LOOP_IN_WRITE_RD             ;
    254   delete []  in_EXECUTE_LOOP_IN_NUM_REG_RD           ;
    255   delete []  in_EXECUTE_LOOP_IN_WRITE_RE             ;
    256   delete []  in_EXECUTE_LOOP_IN_NUM_REG_RE           ;
    257   delete [] out_EXECUTE_LOOP_OUT_VAL                 ;
    258   delete []  in_EXECUTE_LOOP_OUT_ACK                 ;
    259   delete [] out_EXECUTE_LOOP_OUT_CONTEXT_ID          ;
    260   delete [] out_EXECUTE_LOOP_OUT_FRONT_END_ID        ;
    261   delete [] out_EXECUTE_LOOP_OUT_OOO_ENGINE_ID       ;
    262   delete [] out_EXECUTE_LOOP_OUT_PACKET_ID           ;
    263 //delete [] out_EXECUTE_LOOP_OUT_OPERATION           ;
    264 //delete [] out_EXECUTE_LOOP_OUT_TYPE                ;
    265   delete [] out_EXECUTE_LOOP_OUT_FLAGS               ;
    266   delete [] out_EXECUTE_LOOP_OUT_EXCEPTION           ;
    267   delete [] out_EXECUTE_LOOP_OUT_NO_SEQUENCE         ;
    268   delete [] out_EXECUTE_LOOP_OUT_ADDRESS             ;
    269   delete [] out_DCACHE_REQ_VAL                       ;
    270   delete []  in_DCACHE_REQ_ACK                       ;
    271   delete [] out_DCACHE_REQ_CONTEXT_ID                ;
    272   delete [] out_DCACHE_REQ_PACKET_ID                 ;
    273   delete [] out_DCACHE_REQ_ADDRESS                   ;
    274   delete [] out_DCACHE_REQ_TYPE                      ;
    275   delete [] out_DCACHE_REQ_WDATA                     ;
    276   delete []  in_DCACHE_RSP_VAL                       ;
    277   delete [] out_DCACHE_RSP_ACK                       ;
    278   delete []  in_DCACHE_RSP_CONTEXT_ID                ;
    279   delete []  in_DCACHE_RSP_PACKET_ID                 ;
    280   delete []  in_DCACHE_RSP_RDATA                     ;
    281   delete []  in_DCACHE_RSP_ERROR                     ;
    282   delete []  in_INSERT_ROB_VAL                       ;
    283   delete [] out_INSERT_ROB_ACK                       ;
    284   delete []  in_INSERT_ROB_RD_USE                    ;
    285   delete []  in_INSERT_ROB_RD_NUM_REG                ;
    286   delete []  in_INSERT_ROB_RE_USE                    ;
    287   delete []  in_INSERT_ROB_RE_NUM_REG                ;
    288   delete []  in_RETIRE_ROB_VAL                       ;
    289   delete [] out_RETIRE_ROB_ACK                       ;
    290   delete []  in_RETIRE_ROB_RD_OLD_USE                ;
    291   delete []  in_RETIRE_ROB_RD_OLD_NUM_REG            ;
    292   delete []  in_RETIRE_ROB_RD_NEW_USE                ;
    293   delete []  in_RETIRE_ROB_RD_NEW_NUM_REG            ;
    294   delete []  in_RETIRE_ROB_RE_OLD_USE                ;
    295   delete []  in_RETIRE_ROB_RE_OLD_NUM_REG            ;
    296   delete []  in_RETIRE_ROB_RE_NEW_USE                ;
    297   delete []  in_RETIRE_ROB_RE_NEW_NUM_REG            ;
     247  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_VAL                  ,_param->_nb_read_unit);
     248  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_IN_ACK                  ,_param->_nb_read_unit);
     249  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_CONTEXT_ID           ,_param->_nb_read_unit);
     250  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_FRONT_END_ID         ,_param->_nb_read_unit);
     251  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_OOO_ENGINE_ID        ,_param->_nb_read_unit);
     252  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_PACKET_ID            ,_param->_nb_read_unit);
     253  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_OPERATION            ,_param->_nb_read_unit);
     254  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_TYPE                 ,_param->_nb_read_unit);
     255  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_STORE_QUEUE_PTR_WRITE,_param->_nb_read_unit);
     256  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_LOAD_QUEUE_PTR_WRITE ,_param->_nb_read_unit);
     257  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_HAS_IMMEDIAT         ,_param->_nb_read_unit);
     258  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_IMMEDIAT             ,_param->_nb_read_unit);
     259  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_READ_RA              ,_param->_nb_read_unit);
     260  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_NUM_REG_RA           ,_param->_nb_read_unit);
     261  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_READ_RB              ,_param->_nb_read_unit);
     262  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_NUM_REG_RB           ,_param->_nb_read_unit);
     263  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_READ_RC              ,_param->_nb_read_unit);
     264  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_NUM_REG_RC           ,_param->_nb_read_unit);
     265  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_WRITE_RD             ,_param->_nb_read_unit);
     266  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_NUM_REG_RD           ,_param->_nb_read_unit);
     267  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_WRITE_RE             ,_param->_nb_read_unit);
     268  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_IN_NUM_REG_RE           ,_param->_nb_read_unit);
     269  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_VAL                 ,_param->_nb_write_unit);
     270  DELETE1_SC_SIGNAL( in_EXECUTE_LOOP_OUT_ACK                 ,_param->_nb_write_unit);
     271  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_CONTEXT_ID          ,_param->_nb_write_unit);
     272  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_FRONT_END_ID        ,_param->_nb_write_unit);
     273  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_OOO_ENGINE_ID       ,_param->_nb_write_unit);
     274  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_PACKET_ID           ,_param->_nb_write_unit);
     275//DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_OPERATION           ,_param->_nb_write_unit);
     276//DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_TYPE                ,_param->_nb_write_unit);
     277  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_FLAGS               ,_param->_nb_write_unit);
     278  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_EXCEPTION           ,_param->_nb_write_unit);
     279  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_NO_SEQUENCE         ,_param->_nb_write_unit);
     280  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_ADDRESS             ,_param->_nb_write_unit);
     281  DELETE1_SC_SIGNAL(out_EXECUTE_LOOP_OUT_DATA                ,_param->_nb_write_unit);
     282  DELETE2_SC_SIGNAL(out_DCACHE_REQ_VAL                       ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     283  DELETE2_SC_SIGNAL( in_DCACHE_REQ_ACK                       ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     284  DELETE2_SC_SIGNAL(out_DCACHE_REQ_CONTEXT_ID                ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     285  DELETE2_SC_SIGNAL(out_DCACHE_REQ_PACKET_ID                 ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     286  DELETE2_SC_SIGNAL(out_DCACHE_REQ_ADDRESS                   ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     287  DELETE2_SC_SIGNAL(out_DCACHE_REQ_TYPE                      ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     288  DELETE2_SC_SIGNAL(out_DCACHE_REQ_WDATA                     ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     289  DELETE2_SC_SIGNAL( in_DCACHE_RSP_VAL                       ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     290  DELETE2_SC_SIGNAL(out_DCACHE_RSP_ACK                       ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     291  DELETE2_SC_SIGNAL( in_DCACHE_RSP_CONTEXT_ID                ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     292  DELETE2_SC_SIGNAL( in_DCACHE_RSP_PACKET_ID                 ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     293  DELETE2_SC_SIGNAL( in_DCACHE_RSP_RDATA                     ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     294  DELETE2_SC_SIGNAL( in_DCACHE_RSP_ERROR                     ,_param->_nb_load_store_unit,_param->_nb_cache_port[it1]);
     295  DELETE2_SC_SIGNAL( in_INSERT_ROB_VAL                       ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     296  DELETE2_SC_SIGNAL(out_INSERT_ROB_ACK                       ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     297  DELETE2_SC_SIGNAL( in_INSERT_ROB_RD_USE                    ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     298  DELETE2_SC_SIGNAL( in_INSERT_ROB_RD_NUM_REG                ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     299  DELETE2_SC_SIGNAL( in_INSERT_ROB_RE_USE                    ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     300  DELETE2_SC_SIGNAL( in_INSERT_ROB_RE_NUM_REG                ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob[it1]);
     301//   DELETE2_SC_SIGNAL( in_RETIRE_ROB_VAL                       ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     302//   DELETE2_SC_SIGNAL(out_RETIRE_ROB_ACK                       ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     303//   DELETE2_SC_SIGNAL( in_RETIRE_ROB_RD_OLD_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     304//   DELETE2_SC_SIGNAL( in_RETIRE_ROB_RD_OLD_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     305//   DELETE2_SC_SIGNAL( in_RETIRE_ROB_RD_NEW_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     306//   DELETE2_SC_SIGNAL( in_RETIRE_ROB_RD_NEW_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     307//   DELETE2_SC_SIGNAL( in_RETIRE_ROB_RE_OLD_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     308//   DELETE2_SC_SIGNAL( in_RETIRE_ROB_RE_OLD_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     309//   DELETE2_SC_SIGNAL( in_RETIRE_ROB_RE_NEW_USE                ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
     310//   DELETE2_SC_SIGNAL( in_RETIRE_ROB_RE_NEW_NUM_REG            ,_param->_nb_ooo_engine,_param->_nb_inst_retire_rob[it1]);
    298311
    299312#endif
Note: See TracChangeset for help on using the changeset viewer.