Changeset 132 for trunk


Ignore:
Timestamp:
Jul 11, 2009, 6:39:35 PM (15 years ago)
Author:
rosiere
Message:

1) add constant method - compatibility with SystemC
2) add Script to test sensitive list
3) fix bug in sensitive list

Location:
trunk
Files:
2 added
61 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/Environment/src/Environment_transition.cpp

    r128 r132  
    2525          for (int32_t j=param->icache_dedicated_nb_port [i]-1; j>=0; j--)
    2626            {
    27               _cout(ENVIRONMENT, "  * ICACHE_RSP [%d][%d]\n",i,j);
     27              _cout(ENVIRONMENT, "  * ICACHE_RSP [%d][%d] (%d - %d)\n",i,j,icache_rsp_val [i][j],ICACHE_RSP_ACK [i][j]->read());
    2828
    2929              if (icache_rsp_val [i][j] and ICACHE_RSP_ACK [i][j]->read())
    3030                {
    31                   _cout(ENVIRONMENT, "  * ICACHE_RSP [%d][%d] : Transaction accepted\n",i,j);
     31//                   _cout(ENVIRONMENT, "  * ICACHE_RSP [%d][%d] : Transaction accepted\n",i,j);
    3232                 
    3333                  uint32_t num = icache_rsp_num [i][j];
     
    4343          for (int32_t j=param->dcache_dedicated_nb_port [i]-1; j>=0; j--)
    4444            {
    45               _cout(ENVIRONMENT, "  * DCACHE_RSP [%d][%d]\n",i,j);
     45              _cout(ENVIRONMENT, "  * DCACHE_RSP [%d][%d] (%d - %d)\n",i,j,dcache_rsp_val [i][j],DCACHE_RSP_ACK [i][j]->read());
     46
    4647              if (dcache_rsp_val [i][j] and DCACHE_RSP_ACK [i][j]->read())
    4748                {
    48                   _cout(ENVIRONMENT, "  * DCACHE_RSP [%d][%d] : Transaction accepted\n",i,j);
     49//                   _cout(ENVIRONMENT, "  * DCACHE_RSP [%d][%d] : Transaction accepted\n",i,j);
    4950                 
    5051                  uint32_t num = dcache_rsp_num [i][j];
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Core_Glue/src/Core_Glue.cpp

    r131 r132  
    109109        dont_initialize ();
    110110//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     111        sensitive << (*(in_NRESET));
    111112        for (uint32_t i=0; i<_param->_nb_front_end; ++i)
    112113          for (uint32_t j=0; j<_param->_front_end_nb_inst_branch_complete[i]; ++j)
     
    137138        dont_initialize ();
    138139//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     140        sensitive << (*(in_NRESET));
    139141        for (uint32_t i=0; i<_param->_nb_front_end; ++i)
    140142          sensitive << (*(in_COMMIT_EVENT_FRONT_END_ACK               [i]));
     
    165167        dont_initialize ();
    166168//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
    167 
     169        sensitive << (*(in_NRESET));
    168170        for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
    169171          for (uint32_t j=0; j<_param->_nb_inst_issue_queue [i]; ++j)
     
    209211        dont_initialize ();
    210212//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     213        sensitive << (*(in_NRESET));
    211214
    212215        for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
     
    244247        dont_initialize ();
    245248//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     249        sensitive << (*(in_NRESET));
    246250
    247251        for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Dcache_Access/src/Dcache_Access.cpp

    r123 r132  
    9797        SC_METHOD (genMealy_req);
    9898        dont_initialize ();
    99         sensitive << (*(in_CLOCK)).neg(); // need internal register
     99        sensitive << (*(in_CLOCK)).neg() // need internal register
     100                  << (*(in_NRESET));
    100101        for (uint32_t i=0; i<_param->_nb_dcache_port; ++i)
    101102          sensitive << (*(in_DCACHE_REQ_ACK [i]));
     
    124125        SC_METHOD (genMealy_rsp);
    125126        dont_initialize ();
    126         sensitive << (*(in_CLOCK)).neg(); // need internal register
     127        sensitive << (*(in_CLOCK)).neg() // need internal register
     128                  << (*(in_NRESET));
    127129
    128130        for (uint32_t i=0; i<_param->_nb_dcache_port; ++i)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Icache_Access/src/Icache_Access.cpp

    r123 r132  
    9797        SC_METHOD (genMealy_req);
    9898        dont_initialize ();
    99         sensitive << (*(in_CLOCK)).neg(); // need internal register
     99        sensitive << (*(in_CLOCK)).neg() // need internal register
     100                  << (*(in_NRESET));
    100101
    101102        for (uint32_t i=0; i<_param->_nb_icache_port; ++i)
     
    153154        SC_METHOD (genMealy_rsp);
    154155        dont_initialize ();
    155         sensitive << (*(in_CLOCK)).neg(); // need internal register
     156        sensitive << (*(in_CLOCK)).neg() // need internal register
     157                  << (*(in_NRESET));
     158
    156159        for (uint32_t i=0; i<_param->_nb_icache_port; ++i)
    157160          {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Icache_Access/src/Icache_Access_genMealy_rsp.cpp

    r124 r132  
    7070
    7171            ack = PORT_READ(in_CONTEXT_RSP_ACK [front_end_id][context_id]);
     72
     73            log_printf(TRACE,Icache_Access,FUNCTION,"    * context_rsp_ack: %d",ack);
    7274           
    7375            context_rsp_val [front_end_id][context_id] = 1;
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Execute_loop_Glue/src/Execute_loop_Glue.cpp

    r123 r132  
    100100        dont_initialize ();
    101101//      sensitive << (*(in_CLOCK)).neg(); // don't internal register
    102        
     102        sensitive << (*(in_NRESET));
     103
    103104    for (uint32_t i=0; i<_param->_nb_gpr_write; i++)
    104105      {
     
    135136        dont_initialize ();
    136137//      sensitive << (*(in_CLOCK)).neg(); // don't internal register
    137        
     138        sensitive << (*(in_NRESET));
     139
    138140    for (uint32_t i=0; i<_param->_nb_spr_write; i++)
    139141      {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit.cpp

    r123 r132  
    9595        dont_initialize ();
    9696        sensitive << (*(in_CLOCK)).neg()  // use internal register
     97                  << (*(in_NRESET))
    9798//                << (*(in_EXECUTE_IN_VAL ))
    9899                  << (*(in_EXECUTE_OUT_ACK));
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit.cpp

    r131 r132  
    132132    SC_METHOD (genMealy_insert);
    133133    dont_initialize ();
    134     sensitive << (*(in_CLOCK)).neg();
     134    sensitive << (*(in_CLOCK)).neg()
     135              << (*(in_NRESET));
    135136    for (uint32_t i=0; i<_param->_nb_inst_memory; i++)
    136137      sensitive << (*(in_MEMORY_IN_VAL       [i]))
     
    151152    SC_METHOD (genMealy_retire);
    152153    dont_initialize ();
    153     sensitive << (*(in_CLOCK)).neg();
     154    sensitive << (*(in_CLOCK)).neg()
     155              << (*(in_NRESET));
    154156
    155157#ifdef SYSTEMCASS_SPECIFIC
     
    161163    SC_METHOD (genMealy_dcache);
    162164    dont_initialize ();
    163     sensitive << (*(in_CLOCK)).neg();
     165    sensitive << (*(in_CLOCK)).neg()
     166              << (*(in_NRESET));
    164167
    165168#ifdef SYSTEMCASS_SPECIFIC
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_queue.cpp

    r131 r132  
    8686    SC_METHOD (genMealy_read_queue_out_val);
    8787    dont_initialize ();
    88     sensitive << (*(in_CLOCK)).neg();
     88    sensitive << (*(in_CLOCK)).neg()
     89              << (*(in_NRESET));
    8990    for (uint32_t i=0; i<_param->_nb_gpr_read ; i++)
    9091      sensitive << *(in_GPR_READ_ACK      [i]);
     
    133134    SC_METHOD (genMealy_read_queue_out_gpr);
    134135    dont_initialize ();
    135     sensitive << (*(in_CLOCK)).neg();
     136    sensitive << (*(in_CLOCK)).neg()
     137              << (*(in_NRESET));
    136138    for (uint32_t i=0; i<_param->_nb_gpr_read ; i++)
    137139      sensitive << *(in_GPR_READ_ACK      [i])
     
    185187    SC_METHOD (genMealy_read_queue_out_spr);
    186188    dont_initialize ();
    187     sensitive << (*(in_CLOCK)).neg();
     189    sensitive << (*(in_CLOCK)).neg()
     190              << (*(in_NRESET));
    188191    for (uint32_t i=0; i<_param->_nb_spr_read ; i++)
    189192      sensitive << *(in_SPR_READ_ACK      [i])
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue.cpp

    r118 r132  
    9696        SC_METHOD (genMealy_write);
    9797        dont_initialize ();
    98         sensitive << (*(in_CLOCK)).neg(); // need internal register
     98        sensitive << (*(in_CLOCK)).neg() // need internal register
     99                  << (*(in_NRESET));
    99100        for (uint32_t i=0; i<_param->_nb_gpr_write; ++i)
    100101          sensitive << (*(in_GPR_WRITE_ACK [i]));
     
    115116        dont_initialize ();
    116117//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
    117         sensitive << (*(in_WRITE_QUEUE_IN_VAL          ))
     118        sensitive << (*(in_NRESET))
     119                  << (*(in_WRITE_QUEUE_IN_VAL          ))
    118120                  << (*(in_WRITE_QUEUE_IN_WRITE_RD     ))
    119121                  << (*(in_WRITE_QUEUE_IN_NUM_REG_RD   ))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Execution_unit_to_Write_unit/src/Execution_unit_to_Write_unit.cpp

    r123 r132  
    8888        SC_METHOD (genMealy);
    8989        dont_initialize ();
    90         sensitive << (*(in_CLOCK)).pos();
     90        sensitive << (*(in_CLOCK)).neg()
     91                  << (*(in_NRESET));
    9192        for (uint32_t i=0; i<_param->_nb_execute_unit; i++)
    9293          for (uint32_t j=0; j<_param->_nb_execute_unit_port[i]; j++)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Network/Read_unit_to_Execution_unit/src/Read_unit_to_Execution_unit.cpp

    r123 r132  
    8888        SC_METHOD (genMealy);
    8989        dont_initialize ();
    90         sensitive << (*(in_CLOCK)).neg();
     90        sensitive << (*(in_CLOCK)).neg()
     91                  << (*(in_NRESET));
    9192
    9293        for (uint32_t i=0; i<_param->_nb_read_unit; i++)
     
    105106                        << (*(in_READ_UNIT_OUT_WRITE_RE              [i][j]))
    106107                        << (*(in_READ_UNIT_OUT_NUM_REG_RE            [i][j]))
    107                         << (*(in_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE [i][j]));
     108                        << (*(in_READ_UNIT_OUT_STORE_QUEUE_PTR_WRITE [i][j]))
     109                        << (*(in_READ_UNIT_OUT_STORE_QUEUE_PTR_READ  [i][j]))
     110                        << (*(in_READ_UNIT_OUT_STORE_QUEUE_EMPTY     [i][j]));
    108111
    109112              if (_param->_have_port_load_queue_ptr)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp

    r131 r132  
    9898    dont_initialize ();
    9999//     sensitive << (*(in_CLOCK)).neg();
     100    sensitive << (*(in_NRESET));
    100101    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    101102      {
     
    135136    dont_initialize ();
    136137//     sensitive << (*(in_CLOCK)).neg();
     138    sensitive << (*(in_NRESET));
    137139    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    138140      {
     
    164166    dont_initialize ();
    165167//     sensitive << (*(in_CLOCK)).neg();
     168    sensitive << (*(in_NRESET));
    166169    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
    167170      {
     
    193196    dont_initialize ();
    194197//     sensitive << (*(in_CLOCK)).neg();
     198    sensitive << (*(in_NRESET));
    195199    for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    196200      {
     
    223227    dont_initialize ();
    224228//     sensitive << (*(in_CLOCK)).neg();
     229    sensitive << (*(in_NRESET));
    225230    for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    226231      {
     
    252257    dont_initialize ();
    253258//     sensitive << (*(in_CLOCK)).neg();
     259    sensitive << (*(in_NRESET));
    254260    for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
    255261      {
     
    281287    dont_initialize ();
    282288//     sensitive << (*(in_CLOCK)).neg();
     289    sensitive << (*(in_NRESET));
    283290    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    284291      {
     
    318325    dont_initialize ();
    319326//     sensitive << (*(in_CLOCK)).neg();
     327    sensitive << (*(in_NRESET));
    320328    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    321329      {
     
    347355    dont_initialize ();
    348356//     sensitive << (*(in_CLOCK)).neg();
     357    sensitive << (*(in_NRESET));
    349358    for (uint32_t j=0; j<_param->_nb_spr_read; j++)
    350359      {
     
    376385    dont_initialize ();
    377386//     sensitive << (*(in_CLOCK)).neg();
     387    sensitive << (*(in_NRESET));
    378388    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    379389      {
     
    406416    dont_initialize ();
    407417//     sensitive << (*(in_CLOCK)).neg();
     418    sensitive << (*(in_NRESET));
    408419    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    409420      {
     
    435446    dont_initialize ();
    436447//     sensitive << (*(in_CLOCK)).neg();
     448    sensitive << (*(in_NRESET));
    437449    for (uint32_t j=0; j<_param->_nb_spr_write; j++)
    438450      {
     
    464476    dont_initialize ();
    465477//     sensitive << (*(in_CLOCK)).neg();
     478    sensitive << (*(in_NRESET));
    466479    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
    467480      {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State.cpp

    r131 r132  
    112112        SC_METHOD (genMealy_decod_event);
    113113        dont_initialize ();
    114         sensitive << (*(in_CLOCK)).neg(); // use internal register
     114        sensitive << (*(in_CLOCK)).neg() // use internal register
     115                  << (*(in_NRESET));
     116
    115117        for (uint32_t i=0; i<_param->_nb_decod_unit; ++i)
    116118          {
     
    136138        dont_initialize ();
    137139//      sensitive << (*(in_CLOCK)).neg(); // use internal register
    138         sensitive << (*(in_COMMIT_EVENT_VAL             ));
     140        sensitive << (*(in_NRESET))
     141                  << (*(in_COMMIT_EVENT_VAL             ));
    139142        if (_param->_have_port_context_id)                                     
    140143        sensitive << (*(in_COMMIT_EVENT_CONTEXT_ID      ));
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod.cpp

    r123 r132  
    8989        dont_initialize ();
    9090        sensitive << (*(in_CLOCK)).neg() //use internal register
     91                  << (*(in_NRESET))
    9192                  << (*(in_CONTEXT_EVENT_ACK));
    9293        for (uint32_t i=0; i<_param->_nb_context; i++)
     
    9899//                    << (*(in_IFETCH_ADDRESS_NEXT                [i]))
    99100                      << (*(in_IFETCH_BRANCH_STATE                [i]))
     101                      << (*(in_IFETCH_EXCEPTION                   [i]))
    100102                      << (*(in_CONTEXT_DECOD_ENABLE               [i]));
    101103            if (_param->_have_port_context_id)
     
    113115          sensitive << (*(in_DECOD_ACK            [i]))
    114116                    << (*(in_PREDICT_ACK          [i]))
    115 //                  << (*(in_PREDICT_CAN_CONTINUE [i]))
     117                    << (*(in_PREDICT_CAN_CONTINUE [i]))
    116118            ;
    117119
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/src/test.cpp

    r113 r132  
    2424
    2525  Tusage_t _usage = USE_ALL;
     26
     27  _model.set_model(MODEL_SYSTEMC,true);
    2628
    2729//   _usage = usage_unset(_usage,USE_SYSTEMC              );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/src/Decod_queue.cpp

    r123 r132  
    125125        SC_METHOD (genMealy_decod_out);
    126126        dont_initialize ();
    127         sensitive << (*(in_CLOCK)).neg(); // use internal register
    128 
     127        sensitive << (*(in_CLOCK)).neg() // use internal register
     128                  << (*(in_NRESET));
    129129        for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
    130130          sensitive << (*(in_DECOD_OUT_ACK [i]));
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue.cpp

    r131 r132  
    115115        dont_initialize ();
    116116//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     117        sensitive << (*(in_NRESET));
    117118        for (uint32_t i=0; i<_param->_nb_decod_unit; ++i)
    118119          for (uint32_t j=0; j<_param->_nb_inst_decod[i]; ++j)
     
    129130        dont_initialize ();
    130131//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     132        sensitive << (*(in_NRESET));
    131133        for (uint32_t i=0; i<_param->_nb_inst_branch_complete; ++i)
    132134          sensitive << (*( in_BRANCH_COMPLETE_VAL                             [i]))
     
    144146        dont_initialize ();
    145147//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     148        sensitive << (*(in_NRESET));
    146149        for (uint32_t i=0; i<_param->_nb_context; ++i)
    147150          {
     
    170173        dont_initialize ();
    171174//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     175        sensitive << (*(in_NRESET));
    172176        for (uint32_t i=0; i<_param->_nb_context; ++i)
    173177          {
     
    190194        dont_initialize ();
    191195//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     196        sensitive << (*(in_NRESET));
    192197        for (uint32_t i=0; i<_param->_nb_context; ++i)
    193198            sensitive << (*( in_NB_INST_DECOD_UNIT_DECOD_ALL [i]));
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management_genMoore.cpp

    r123 r132  
    2222  void Address_management::genMoore (void)
    2323  {
    24     log_printf(FUNC,Address_management,FUNCTION,"Begin");
     24    log_begin(Address_management,FUNCTION);
     25    log_function(Address_management,FUNCTION,_name.c_str());
    2526
    2627    if (PORT_READ(in_NRESET))
     
    5253    PORT_WRITE(out_PREDICT_PC_CURRENT           ,reg_PC_NEXT           );
    5354    PORT_WRITE(out_PREDICT_PC_CURRENT_IS_DS_TAKE,reg_PC_NEXT_IS_DS_TAKE);
     55
    5456      }
    5557    else
     
    5961      }
    6062
     63    log_printf(TRACE,Address_management,FUNCTION," * ADDRESS_VAL : %d",internal_ADDRESS_VAL);
     64    log_printf(TRACE,Address_management,FUNCTION," * PREDICT_VAL : %d",internal_PREDICT_VAL);
     65
    6166    PORT_WRITE(out_ADDRESS_VAL,internal_ADDRESS_VAL);
    6267    PORT_WRITE(out_PREDICT_VAL,internal_PREDICT_VAL);
    6368
    64     log_printf(FUNC,Address_management,FUNCTION,"End");
     69    log_end(Address_management,FUNCTION);
    6570  };
    6671
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp

    r131 r132  
    7676        log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - constant"),_name.c_str());
    7777
     78#ifdef SYSTEMCASS_SPECIFIC
     79        constant();
     80#else
    7881        SC_METHOD (constant);
    7982//      dont_initialize ();
     
    8285        // List dependency information
    8386# endif   
    84 
     87#endif
    8588        log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - transition"),_name.c_str());
    8689
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_genMoore.cpp

    r123 r132  
    2121  void Ifetch_queue::genMoore (void)
    2222  {
    23     log_printf(FUNC,Ifetch_queue,FUNCTION,"Begin");
     23    log_begin(Ifetch_queue,FUNCTION);
     24    log_function(Ifetch_queue,FUNCTION,_name.c_str());
    2425
    2526    if (PORT_READ(in_NRESET))
     
    3031    {
    3132      internal_ADDRESS_ACK = (_queue[reg_PTR_WRITE]->_state == IFETCH_QUEUE_STATE_EMPTY);
    32      
     33 
     34      log_printf(TRACE,Ifetch_queue,FUNCTION,"  * ADDRESS_ACK : %d",internal_ADDRESS_ACK);
     35     
    3336      if (_param->_have_port_ifetch_queue_ptr)
    3437      PORT_WRITE(out_ADDRESS_IFETCH_QUEUE_ID, reg_PTR_WRITE);
     
    4447        {
    4548          internal_DECOD_VAL [i] = ack and _queue[reg_PTR_READ]->_instruction_enable [i];
     49
     50          log_printf(TRACE,Ifetch_queue,FUNCTION,"  * DECOD_VAL [%d] : %d",i,internal_DECOD_VAL [i]);
     51
    4652          PORT_WRITE(out_DECOD_INSTRUCTION [i],         _queue[reg_PTR_READ]->_instruction        [i]);
    4753        }
     
    7076    PORT_WRITE(out_DECOD_VAL [i], internal_DECOD_VAL [i]);
    7177
    72     log_printf(FUNC,Ifetch_queue,FUNCTION,"End");
     78    log_end(Ifetch_queue,FUNCTION);
    7379  };
    7480
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp

    r131 r132  
    103103        dont_initialize ();
    104104//      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
    105         sensitive << (*(in_ICACHE_REQ_ADDRESS_VAL))
     105        sensitive << (*(in_NRESET))
     106                  << (*(in_ICACHE_REQ_ADDRESS_VAL))
    106107                  << (*(in_ICACHE_REQ_ACK        ))
    107108                  << (*(in_ICACHE_REQ_QUEUE_ACK  ))
     
    130131        dont_initialize ();
    131132//      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
    132         sensitive << (*(in_EVENT_VAL        ))
     133        sensitive << (*(in_NRESET))
     134                  << (*(in_EVENT_VAL        ))
    133135                  << (*(in_EVENT_ADDRESS_ACK))
    134136                  << (*(in_EVENT_QUEUE_ACK  ));
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue.cpp

    r123 r132  
    9191        SC_METHOD (genMealy_predict);
    9292        dont_initialize ();
    93 //      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
     93//      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
     94        sensitive << (*(in_NRESET));
    9495
    9596        for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
     
    186187        dont_initialize ();
    187188//      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
    188 
     189        sensitive << (*(in_NRESET));
     190                 
    189191        for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
    190192          {
     
    228230        dont_initialize ();
    229231//      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
     232        sensitive << (*(in_NRESET));
    230233
    231234        for (uint32_t i=0; i<_param->_nb_inst_update; i++)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/src/Branch_Target_Buffer_Register.cpp

    r131 r132  
    101101        SC_METHOD (genMealy_predict);
    102102        dont_initialize ();
    103         sensitive << (*(in_CLOCK)).neg(); // use internal register
     103        sensitive << (*(in_CLOCK)).neg() // use internal register
     104                  << (*(in_NRESET));
    104105        for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
    105106          {
     
    147148        SC_METHOD (genMealy_decod);
    148149        dont_initialize ();
    149         sensitive << (*(in_CLOCK)).neg(); // use internal register
     150        sensitive << (*(in_CLOCK)).neg() // use internal register
     151                  << (*(in_NRESET));
    150152        for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
    151153          {
     
    179181        SC_METHOD (genMealy_update);
    180182        dont_initialize ();
    181         sensitive << (*(in_CLOCK)).neg(); // use internal register
     183        sensitive << (*(in_CLOCK)).neg() // use internal register
     184                  << (*(in_NRESET));
    182185        for (uint32_t i=0; i<_param->_nb_inst_update; i++)
    183186          {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue.cpp

    r131 r132  
    138138            dont_initialize ();
    139139//          sensitive << (*(in_CLOCK)).neg(); // don't use internal register
     140            sensitive << (*(in_NRESET));
    140141            for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
    141142              {
     
    221222            dont_initialize ();
    222223//          sensitive << (*(in_CLOCK)).neg(); // don't use internal register
     224            sensitive << (*(in_NRESET));
    223225            for (uint32_t i=0; i<_param->_nb_inst_update; i++)
    224226              sensitive << (*(in_UPDATE_VAL               [i]))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/src/Meta_Predictor_Glue.cpp

    r112 r132  
    8787        dont_initialize ();
    8888//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     89        sensitive << (*(in_NRESET));
    8990        for (uint32_t i=0; i<_param->_nb_inst_update; ++i)
    9091          {
     
    100101        dont_initialize ();
    101102//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     103        sensitive << (*(in_NRESET));
    102104        for (uint32_t i=0; i<_param->_nb_inst_update; ++i)
    103105          sensitive << (*(in_UPDATE_HISTORY     [i]))
     
    114116        dont_initialize ();
    115117//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     118        sensitive << (*(in_NRESET));
    116119        for (uint32_t i=0; i<_param->_nb_inst_predict; ++i)
    117120          {
     
    131134        dont_initialize ();
    132135//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     136        sensitive << (*(in_NRESET));
    133137        for (uint32_t i=0; i<_param->_nb_inst_predict; ++i)
    134138          for (uint32_t j=0; j<_param->_nb_predictor; ++j)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/src/Two_Level_Branch_Predictor.cpp

    r131 r132  
    9999        SC_METHOD (genMealy_predict);
    100100        dont_initialize ();
    101         sensitive << (*(in_CLOCK)).neg(); // need internal register
     101        sensitive << (*(in_CLOCK)).neg() // need internal register
     102                  << (*(in_NRESET));
    102103
    103104        for (uint32_t i=0; i<_param->_nb_inst_predict; ++i)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/src/Prediction_unit_Glue.cpp

    r123 r132  
    9191       
    9292        dont_initialize ();
    93         sensitive << (*(in_CLOCK)).neg(); // use internal register
    94        
     93        sensitive << (*(in_CLOCK)).neg() // use internal register
     94                  << (*(in_NRESET));
    9595        for (uint32_t i=0; i<_param->_nb_context; i++)
    9696          {
     
    10341034        SC_METHOD (genMealy_decod);
    10351035        dont_initialize ();
    1036         sensitive << (*(in_CLOCK)).neg(); // use internal register
     1036        sensitive << (*(in_CLOCK)).neg() // use internal register
     1037                  << (*(in_NRESET));
    10371038        for (uint32_t i=0; i<_param->_nb_decod_unit; i++)
    10381039          for (uint32_t j=0; j<_param->_nb_inst_decod[i]; j++)
     
    17111712        dont_initialize ();
    17121713//      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
     1714        sensitive << (*(in_NRESET));
    17131715        for (uint32_t i=0; i<_param->_nb_inst_branch_update; i++)
    17141716          sensitive << (*(in_UPDATE_BTB_ACK           [i]))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/src/Return_Address_Stack.cpp

    r131 r132  
    100100        SC_METHOD (genMealy_decod);
    101101        dont_initialize ();
    102         sensitive << (*(in_CLOCK)).neg(); // use internal registers
     102        sensitive << (*(in_CLOCK)).neg() // use internal registers
     103                  << (*(in_NRESET));
    103104        for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
    104105          {
    105106            if (_param->_have_port_context_id)
    106107            sensitive << (*( in_DECOD_CONTEXT_ID [i]));
    107             sensitive << (*( in_DECOD_PUSH       [i]));
     108            sensitive << (*( in_DECOD_VAL        [i]))
     109                      << (*( in_DECOD_PUSH       [i]));
    108110          }
    109111
     
    130132        SC_METHOD (genMealy_predict);
    131133        dont_initialize ();
    132         sensitive << (*(in_CLOCK)).neg(); // use internal registers
     134        sensitive << (*(in_CLOCK)).neg() // use internal registers
     135                  << (*(in_NRESET));
    133136        for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
    134137          {
    135138            if (_param->_have_port_context_id)
    136139            sensitive << (*( in_PREDICT_CONTEXT_ID [i]));
    137             sensitive << (*( in_PREDICT_PUSH       [i]));
     140            sensitive << (*( in_PREDICT_VAL        [i]))
     141                      << (*( in_PREDICT_PUSH       [i]));
    138142          }
    139143
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table.cpp

    r131 r132  
    112112        SC_METHOD (genMealy_predict);
    113113        dont_initialize ();
    114         sensitive << (*(in_CLOCK)).neg(); // use internal register
     114        sensitive << (*(in_CLOCK)).neg() // use internal register
     115                  << (*(in_NRESET));
    115116        for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
    116117          {
     
    134135        SC_METHOD (genMealy_decod);
    135136        dont_initialize ();
    136         sensitive << (*(in_CLOCK)).neg(); // use internal register
     137        sensitive << (*(in_CLOCK)).neg() // use internal register
     138                  << (*(in_NRESET));
    137139        for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
    138140          {
     
    154156        SC_METHOD (genMealy_branch_complete);
    155157        dont_initialize ();
    156         sensitive << (*(in_CLOCK)).neg(); // use internal register
     158        sensitive << (*(in_CLOCK)).neg() // use internal register
     159                  << (*(in_NRESET));
    157160        for (uint32_t i=0; i<_param->_nb_inst_branch_complete; i++)
    158161          {
     
    161164            if (_param->_have_port_depth)
    162165            sensitive << (*(in_BRANCH_COMPLETE_DEPTH [i]));
    163             sensitive << (*(in_BRANCH_COMPLETE_NO_SEQUENCE [i]))
    164                       << (*(in_BRANCH_COMPLETE_ADDRESS [i]));
     166            sensitive << (*(in_BRANCH_COMPLETE_VAL         [i]))
     167                      << (*(in_BRANCH_COMPLETE_NO_SEQUENCE [i]))
     168                      << (*(in_BRANCH_COMPLETE_ADDRESS     [i]));
    165169          }
    166170       
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit.cpp

    r131 r132  
    113113        SC_METHOD (genMealy_insert);
    114114        dont_initialize ();
    115         sensitive << (*(in_CLOCK)).neg(); // need internal register
     115        sensitive << (*(in_CLOCK)).neg() // need internal register
     116                  << (*(in_NRESET));
    116117//      for (uint32_t i=0; i<_param->_nb_rename_unit; i++)
    117118//        for (uint32_t j=0; j<_param->_nb_inst_insert[i]; j++)
     
    135136        SC_METHOD (genMealy_retire);
    136137        dont_initialize ();
    137         sensitive << (*(in_CLOCK)).neg(); // need internal register
     138        sensitive << (*(in_CLOCK)).neg() // need internal register
     139                  << (*(in_NRESET));
    138140        for (uint32_t i=0; i<_param->_nb_rename_unit; i++)
    139141          for (uint32_t j=0; j<_param->_nb_inst_retire[i]; j++)
     
    243245        SC_METHOD (genMealy_commit);
    244246        dont_initialize ();
    245         sensitive << (*(in_CLOCK)).neg(); // need internal register
     247        sensitive << (*(in_CLOCK)).neg() // need internal register
     248                  << (*(in_NRESET));
    246249        for (uint32_t j=0; j<_param->_nb_inst_commit; j++)
    247250          {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Issue_queue/src/Issue_queue.cpp

    r123 r132  
    134134            SC_METHOD (genMealy_issue_in);
    135135            dont_initialize ();
    136             sensitive << (*(in_CLOCK)).neg(); // need internal register
    137            
     136            sensitive << (*(in_CLOCK)).neg() // need internal register
     137                      << (*(in_NRESET));
    138138# ifdef SYSTEMCASS_SPECIFIC
    139139            // List dependency information
     
    147147            SC_METHOD (genMealy_issue_out);
    148148            dont_initialize ();
    149             sensitive << (*(in_CLOCK)).neg(); // need internal register
    150 
     149            sensitive << (*(in_CLOCK)).neg() // need internal register
     150                      << (*(in_NRESET));
    151151            if (_param->_queue_scheme == ISSUE_QUEUE_SCHEME_IN_ORDER)
    152152              {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/src/OOO_Engine_Glue.cpp

    r123 r132  
    102102        dont_initialize ();
    103103        //sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     104        sensitive << (*(in_NRESET));
    104105        for (uint32_t i=0; i<_param->_nb_front_end; ++i)
    105106          for (uint32_t j=0; j<_param->_nb_inst_decod[i]; ++j)
     
    116117        dont_initialize ();
    117118        //sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     119        sensitive << (*(in_NRESET));
    118120        {
    119121          uint32_t x=0;
     
    136138        dont_initialize ();
    137139        //sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     140        sensitive << (*(in_NRESET));
    138141
    139142        for (uint32_t i=0; i<_param->_nb_rename_unit; ++i)
     
    220223        dont_initialize ();
    221224        //sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     225        sensitive << (*(in_NRESET));
    222226        for (uint32_t i=0; i<_param->_nb_front_end; ++i)
    223227          for (uint32_t j=0; j<_param->_nb_context[i]; ++j)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Reexecute_unit/src/Reexecute_unit.cpp

    r131 r132  
    112112        SC_METHOD (genMealy_reexecute);
    113113        dont_initialize ();
    114         sensitive << (*(in_CLOCK)).neg(); // need internal register
     114        sensitive << (*(in_CLOCK)).neg() // need internal register
     115                  << (*(in_NRESET));
    115116
    116117        for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
     
    122123            if (_param->_have_port_rob_ptr  )
    123124            sensitive << (*(in_REEXECUTE_ROB_PACKET_ID             [i]));
    124             sensitive << (*(in_REEXECUTE_ROB_OPERATION             [i]))
     125            sensitive << (*(in_REEXECUTE_ROB_VAL                   [i]))
     126                      << (*(in_REEXECUTE_ACK                       [i]))
     127                      << (*(in_REEXECUTE_ROB_OPERATION             [i]))
    125128                      << (*(in_REEXECUTE_ROB_TYPE                  [i]))
    126129                      << (*(in_REEXECUTE_ROB_STORE_QUEUE_PTR_WRITE [i]));
     
    135138        SC_METHOD (genMealy_commit);
    136139        dont_initialize ();
    137         sensitive << (*(in_CLOCK)).neg(); // need internal register
     140        sensitive << (*(in_CLOCK)).neg() // need internal register
     141                  << (*(in_NRESET));
    138142
    139143        for (uint32_t i=0; i<_param->_nb_execute_loop; ++i)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Load_Store_pointer_unit.cpp

    r131 r132  
    101101        SC_METHOD (genMealy_insert);
    102102        dont_initialize ();
    103         sensitive << (*(in_CLOCK)).neg();
     103        sensitive << (*(in_CLOCK)).neg()
     104                  << (*(in_NRESET));
     105
    104106        for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
    105107          {
     
    150152        SC_METHOD (genMealy_retire);
    151153        dont_initialize ();
    152         sensitive << (*(in_CLOCK)).neg();
     154        sensitive << (*(in_CLOCK)).neg()
     155                  << (*(in_NRESET));
     156
    153157        for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
    154158          {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Dependency_checking_unit/src/Dependency_checking_unit.cpp

    r123 r132  
    9393        dont_initialize ();
    9494//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     95        sensitive << (*(in_NRESET));
    9596        for (uint32_t i=0;i<_param->_nb_inst_insert; i++)
    9697          {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit.cpp

    r123 r132  
    100100        SC_METHOD (genMealy_pop);
    101101        dont_initialize ();
    102         sensitive << (*(in_CLOCK)).neg(); // need internal register
     102        sensitive << (*(in_CLOCK)).neg() // need internal register
     103                  << (*(in_NRESET));
     104
    103105        for (uint32_t i=0; i<_param->_nb_pop; i++)
    104106          sensitive << (*(in_POP_GPR_VAL[i]))
     
    121123        SC_METHOD (genMealy_push_gpr);
    122124        dont_initialize ();
    123         sensitive << (*(in_CLOCK)).neg(); // need internal register
     125        sensitive << (*(in_CLOCK)).neg() // need internal register
     126                  << (*(in_NRESET));
     127
    124128        for (uint32_t i=0; i<_param->_nb_push; i++)
    125129          sensitive << (*(in_PUSH_GPR_VAL    [i]))
     
    140144        SC_METHOD (genMealy_push_spr);
    141145        dont_initialize ();
    142         sensitive << (*(in_CLOCK)).neg(); // need internal register
     146        sensitive << (*(in_CLOCK)).neg() // need internal register
     147                  << (*(in_NRESET));
     148
    143149        for (uint32_t i=0; i<_param->_nb_push; i++)
    144150          sensitive << (*(in_PUSH_SPR_VAL    [i]))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit.cpp

    r131 r132  
    102102        SC_METHOD (genMealy_rename);
    103103        dont_initialize ();
    104         sensitive << (*(in_CLOCK)).neg(); // need internal register
     104        sensitive << (*(in_CLOCK)).neg() // need internal register
     105                  << (*(in_NRESET));
     106
    105107        for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
    106108          {
     
    130132        SC_METHOD (genMealy_retire);
    131133        dont_initialize ();
    132         sensitive << (*(in_CLOCK)).neg(); // need internal register
     134        sensitive << (*(in_CLOCK)).neg() // need internal register
     135                  << (*(in_NRESET));
     136
    133137        for (uint32_t i=0; i<_param->_nb_inst_retire; ++i)
    134138          {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_translation_unit_Glue/src/Register_translation_unit_Glue.cpp

    r123 r132  
    9090        dont_initialize ();
    9191//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     92        sensitive << (*(in_NRESET));
    9293        for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
    9394          sensitive << (*(in_RETIRE_VAL           [i]))
     
    115116        dont_initialize ();
    116117//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     118        sensitive << (*(in_NRESET));
    117119        for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
    118120          sensitive << (*(in_INSERT_RENAME_VAL     [i]))
     
    164166        dont_initialize ();
    165167//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     168        sensitive << (*(in_NRESET));
    166169        for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
    167170          sensitive << (*(in_INSERT_DEPENDENCY_CHECKING_READ_RA            [i]))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select.cpp

    r123 r132  
    8888        SC_METHOD (genMealy);
    8989        dont_initialize ();
    90         sensitive << (*(in_CLOCK)).neg();
     90        sensitive << (*(in_CLOCK)).neg()
     91                  << (*(in_NRESET));
     92
    9193        for (uint32_t i=0; i<_param->_nb_front_end; i++)
    9294          for (uint32_t j=0; j<_param->_nb_inst_decod [i]; j++)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_unit_Glue/src/Rename_unit_Glue.cpp

    r123 r132  
    101101        dont_initialize ();
    102102//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
    103        
     103        sensitive << (*(in_NRESET));
     104
    104105        for (uint32_t i=0; i<_param->_nb_inst_insert; i++)
    105106          sensitive
     
    120121        dont_initialize ();
    121122//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     123        sensitive << (*(in_NRESET));
    122124        for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
    123125          sensitive
     
    136138        dont_initialize ();
    137139//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     140        sensitive << (*(in_NRESET));
    138141        for (uint32_t i=0; i<_param->_nb_front_end; i++)
    139142          for (uint32_t j=0; j<_param->_nb_context[i]; j++)
     
    153156        dont_initialize ();
    154157//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
     158        sensitive << (*(in_NRESET));
    155159        for (uint32_t i=0; i<_param->_nb_inst_retire; i++)
    156160          {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit.cpp

    r131 r132  
    112112        SC_METHOD (genMealy_spr_access);
    113113        dont_initialize ();
    114         sensitive << (*(in_CLOCK)).neg(); // need internal register
    115        
     114        sensitive << (*(in_CLOCK)).neg() // need internal register
     115                  << (*(in_NRESET));
     116
    116117        for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
    117118          {
    118             sensitive << (*(in_SPR_ACCESS_NUM_GROUP    [i]))
     119            sensitive << (*(in_SPR_ACCESS_VAL          [i]))
     120                      << (*(in_SPR_ACCESS_NUM_GROUP    [i]))
    119121                      << (*(in_SPR_ACCESS_NUM_REG      [i]))
    120122//                    << (*(in_SPR_ACCESS_VAL          [i]))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator.cpp

    r113 r132  
    8282        dont_initialize ();
    8383//      sensitive << (*(in_CLOCK)).neg(); // don't need internal register
    84         sensitive << (*(in_COMPARE_DATA_0))
     84        sensitive << (*(in_NRESET))
     85                  << (*(in_COMPARE_DATA_0))
    8586                  << (*(in_COMPARE_DATA_1));
    8687       
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Counter.cpp

    r113 r132  
    7777        SC_METHOD (genMealy);
    7878        dont_initialize ();
     79        sensitive << (*(in_NRESET));
    7980        for (uint32_t i=0; i<_param->_nb_port; i++)
    8081          sensitive << *(in_COUNTER_DATA   [i])
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Multiplier/src/Multiplier.cpp

    r116 r132  
    8282        dont_initialize ();
    8383        sensitive << (*(in_CLOCK)).neg(); // need internal register
     84        sensitive << (*(in_NRESET));
    8485
    8586        if (_param->_latency == 0)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/RegisterFile_Monolithic.cpp

    r131 r132  
    7070        SC_METHOD (genMealy_read);
    7171        dont_initialize ();
    72         sensitive << (*(in_CLOCK)).neg();
     72        sensitive << (*(in_CLOCK)).neg()
     73                  << (*(in_NRESET));
     74
    7375        for (uint32_t i=0; i<_param->_nb_port_read; i++)
    7476          {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked.cpp

    r123 r132  
    9595    SC_METHOD (genMealy_read);
    9696    dont_initialize ();
    97     sensitive << (*(in_CLOCK)).neg();
     97    sensitive << (*(in_CLOCK)).neg()
     98              << (*(in_NRESET));
    9899    for (uint32_t i=0; i<_param->_nb_port_read; i++)
    99100      {
     
    124125    SC_METHOD (genMealy_write);
    125126    dont_initialize ();
    126     sensitive<< (*(in_CLOCK)).neg();
     127    sensitive<< (*(in_CLOCK)).neg()
     128             << (*(in_NRESET));
    127129    for (uint32_t i=0; i<_param->_nb_port_write; i++)
    128130      {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp

    r123 r132  
    6767    SC_METHOD (genMealy_shift);
    6868    dont_initialize ();
    69     sensitive << (*(in_CLOCK)).neg();
     69    sensitive << (*(in_CLOCK)).neg()
     70              << (*(in_NRESET));
    7071    for (uint32_t i=0; i<param->_nb_port; i++)
    7172      {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort.cpp

    r128 r132  
    8888        dont_initialize ();
    8989//      sensitive << (*(in_CLOCK)).neg(); // don't use internal register
     90        sensitive << (*(in_NRESET));
    9091        for (uint32_t i=0; i<_param->_nb_input; i++)
    9192          sensitive << (*(in_INPUT_VAL  [i]))
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort_genMealy.cpp

    r123 r132  
    2929      {
    3030        array[i].index = i;
    31         array[i].val   = PORT_READ ( in_INPUT_VAL  [i]);
    32         array[i].data  = PORT_READ ( in_INPUT_DATA [i]);
     31        array[i].val   = PORT_READ( in_INPUT_VAL  [i]);
     32        array[i].data  = PORT_READ( in_INPUT_DATA [i]);
    3333      }
    3434
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Victim_Pseudo_LRU.cpp

    r131 r132  
    7878    SC_METHOD (genMealy);
    7979    dont_initialize ();
    80     sensitive << (*(in_CLOCK)).neg();
     80    sensitive << (*(in_CLOCK)).neg()
     81              << (*(in_NRESET));
    8182    for (uint32_t i=0; i<_param->_nb_access; i++)
    8283      if (_param->_size_table>1)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h

    r131 r132  
    1010#define MORPHEO_MAJOR_VERSION "0"
    1111#define MORPHEO_MINOR_VERSION "2"
    12 #define MORPHEO_REVISION      "131"
     12#define MORPHEO_REVISION      "132"
    1313#define MORPHEO_CODENAME      "Castor"
    1414
    15 #define MORPHEO_DATE_DAY      "08
     15#define MORPHEO_DATE_DAY      "11
    1616#define MORPHEO_DATE_MONTH    "07"
    1717#define MORPHEO_DATE_YEAR     "2009"
  • trunk/IPs/systemC/processor/Morpheo/Common/include/Systemc.h

    r131 r132  
    3939#else
    4040# ifdef SYSTEMCASS_SPECIFIC
    41 #  define simulation_run(x) do{ sc_time t (x,TIME_UNIT); sc_start(t); } while(0)
     41#  define simulation_run(x) do{ sc_start(x); } while(0)
    4242# else // systemc
    4343#  define simulation_run(x) do{ if(x==0) {sc_start(SC_ZERO_TIME);} else {sc_time t (x,TIME_UNIT); sc_start(t);}} while(0)
     
    5050#endif
    5151#endif
    52 
  • trunk/IPs/systemC/processor/Morpheo/Files/Morpheo.sim

    r130 r132  
    1717  <parameter  name="directory_log"                          value="."       />
    1818
    19   <parameter  name="statistics_cycle_start"                 value="1000000" />
     19  <parameter  name="statistics_cycle_start"                 value="100" />
    2020  <parameter  name="statistics_period"                      value="0"       />
    2121                                                           
  • trunk/IPs/systemC/processor/Morpheo/Files/debug.sim

    r131 r132  
    108108  <component  name="TopLevel"                               model="systemc" debug="1" />
    109109
    110   <component  name="Behavioural"                            model="systemc" debug="1" />
    111   <component  name="Interface"                              model="systemc" debug="1" />
    112   <component  name="Allocation"                             model="systemc" debug="1" />
     110  <component  name="Behavioural"                            model="systemc" debug="0" />
     111  <component  name="Interface"                              model="systemc" debug="0" />
     112  <component  name="Allocation"                             model="systemc" debug="0" />
    113113
    114114</parameters>
  • trunk/Makefile.flags

    r131 r132  
    66
    77#-----[ Simulator ]----------------------------------------
    8 SIMULATOR_SYSTEMC               ?= systemc
     8SIMULATOR_SYSTEMC               ?= systemcass
    99SIMULATOR_VHDL                  ?= modelsim
    1010
  • trunk/Makefile.tools

    r131 r132  
    77#
    88
    9 LOCALIZATION                            = labs
     9ifeq ($(origin MORPHEO_LOCALIZATION), undefined)
     10        $(error "variable MORPHEO_LOCALIZATION is undefined");
     11endif
    1012
    1113ifeq ($(origin MORPHEO_TOPLEVEL), undefined)
     
    5961labs_CC_PREFIX                          = $(DISTCC)
    6062home_CC_PREFIX                          =
    61 CC_PREFIX                               = $($(LOCALIZATION)_CC_PREFIX)
     63CC_PREFIX                               = $($(MORPHEO_LOCALIZATION)_CC_PREFIX)
    6264CC_FLAGS_COMMON                         = -O3            \
    6365                                          -Wall          \
  • trunk/Makefile.tools_path

    r131 r132  
    4040# Path
    4141#----------------------------------------------------------
    42 ENV                                     = $($(LOCALIZATION)_ENV)
    43 SYSTEMC_systemc                         = $($(LOCALIZATION)_SYSTEMC_systemc)
    44 SYSTEMC_systemcass                      = $($(LOCALIZATION)_SYSTEMC_systemcass)
    45 SYSTEMC_systemcass_deps                 = $($(LOCALIZATION)_SYSTEMC_systemcass_deps)
    46 XILINX                                  = $($(LOCALIZATION)_XILINX)
    47 XILINX_CORELIB                          = $($(LOCALIZATION)_XILINX_CORELIB)
    48 MODELTECH                               = $($(LOCALIZATION)_MODELTECH)
    49 MODELTECH_LICENCE                       = $($(LOCALIZATION)_MODELTECH_LICENCE)
    50 OR1K                                    = $($(LOCALIZATION)_OR1K)
    51 NEWLIB                                  = $($(LOCALIZATION)_NEWLIB)
    52 QT                                      = $($(LOCALIZATION)_QT)
     42ENV                                     = $($(MORPHEO_LOCALIZATION)_ENV)
     43SYSTEMC_systemc                         = $($(MORPHEO_LOCALIZATION)_SYSTEMC_systemc)
     44SYSTEMC_systemcass                      = $($(MORPHEO_LOCALIZATION)_SYSTEMC_systemcass)
     45SYSTEMC_systemcass_deps                 = $($(MORPHEO_LOCALIZATION)_SYSTEMC_systemcass_deps)
     46XILINX                                  = $($(MORPHEO_LOCALIZATION)_XILINX)
     47XILINX_CORELIB                          = $($(MORPHEO_LOCALIZATION)_XILINX_CORELIB)
     48MODELTECH                               = $($(MORPHEO_LOCALIZATION)_MODELTECH)
     49MODELTECH_LICENCE                       = $($(MORPHEO_LOCALIZATION)_MODELTECH_LICENCE)
     50OR1K                                    = $($(MORPHEO_LOCALIZATION)_OR1K)
     51NEWLIB                                  = $($(MORPHEO_LOCALIZATION)_NEWLIB)
     52QT                                      = $($(MORPHEO_LOCALIZATION)_QT)
  • trunk/Platforms/Test/data/debug/debug.cfg

    r129 r132  
    11${MORPHEO_TOPLEVEL}/IPs/systemC/processor/Morpheo/Files/debug.sim
    22${MORPHEO_TOPLEVEL}/IPs/systemC/processor/Morpheo/Files/Morpheo.gen
    3 ${MORPHEO_TOPLEVEL}/IPs/systemC/processor/Morpheo/Files/Instance_x1_w1_0.cfg
     3${MORPHEO_TOPLEVEL}/IPs/systemC/processor/Morpheo/Files/Instance_x1_w1_1.cfg
    44${MORPHEO_TOPLEVEL}/Softwares/Test/Test_000/bin/soft.x
    550
  • trunk/Platforms/Test/src/test.cpp

    r131 r132  
    321321  //===== [ SIGNAL ]==============================================================
    322322  //==============================================================================
    323 
     323#ifdef SYSTEMCASS_SPECIFIC
     324  sc_clock              *  CLOCK  = new sc_clock ("clock", 1.0, 0.5); 
     325#else
    324326  sc_time period (TIME_PERIOD, TIME_UNIT);
    325327  sc_clock              *  CLOCK  = new sc_clock ("clock", period);     
     328#endif
    326329  sc_signal<Tcontrol_t> *  NRESET = new sc_signal<Tcontrol_t> ("NRESET");
    327330
     
    491494  cerr << "<test> Simulation Init" << endl;
    492495
    493 //   sc_time t (0, TIME_UNIT);
    494 //   sc_start(t);
     496  sc_time t (0, TIME_UNIT);
     497  sc_start(t);
    495498
    496499  cerr << "<test> Simulation Start" << endl;
  • trunk/environment.sh

    r130 r132  
    2525
    2626# Export environement
    27 export MORPHEO_TOPLEVEL=${PWD}
    28 export MORPHEO_SCRIPT=${MORPHEO_TOPLEVEL}/IPs/systemC/processor/Morpheo/Script
    29 export MORPHEO_HOME=${HOME}/.Morpheo
    30 export MORPHEO_PREFIX=/users/chaos/kane/Morpheo
    31 #export MORPHEO_TMP=${HOME}/tmp/Morpheo
    32 #export MORPHEO_TMP=/dsk/l1/misc/Morpheo
    33 export MORPHEO_TMP=${MORPHEO_PREFIX}
    34        MORPHEO_XTTY=${MORPHEO_TOPLEVEL}/IPs/systemC/Environment/TTY/xtty
     27export MORPHEO_LOCALIZATION="labs";
     28export MORPHEO_TOPLEVEL=${PWD};
     29export MORPHEO_SCRIPT=${MORPHEO_TOPLEVEL}/IPs/systemC/processor/Morpheo/Script;
     30export MORPHEO_HOME=${HOME}/.Morpheo;
     31       MORPHEO_XTTY=${MORPHEO_TOPLEVEL}/IPs/systemC/Environment/TTY/xtty;
     32
     33case ${MORPHEO_LOCALIZATION} in
     34    "labs")
     35        export MORPHEO_PREFIX=/users/chaos/kane/Morpheo;
     36        export MORPHEO_TMP=${MORPHEO_PREFIX};
     37       
     38        ;;
     39    "home")
     40        export MORPHEO_PREFIX=${HOME}/tmp/Morpheo;
     41        export MORPHEO_TMP=${MORPHEO_PREFIX};
     42        ;;
     43    *)
     44        echo "Bad localization : \"${MORPHEO_LOCALIZATION}\"";
     45        ;;
     46esac
    3547
    3648echo ""
     
    3850echo ""
    3951echo "Modification of environement's variable :"
    40 echo " - MORPHEO_TOPLEVEL is set to ${MORPHEO_TOPLEVEL}"
    41 echo " - MORPHEO_SCRIPT   is set to ${MORPHEO_SCRIPT}"
    42 echo " - MORPHEO_HOME     is set to ${MORPHEO_HOME}"
    43 echo " - MORPHEO_PREFIX   is set to ${MORPHEO_PREFIX}"
    44 echo " - MORPHEO_TMP      is set to ${MORPHEO_TMP}"
     52echo " - MORPHEO_LOCALIZATION is set to ${MORPHEO_LOCALIZATION}"
     53echo " - MORPHEO_TOPLEVEL     is set to ${MORPHEO_TOPLEVEL}"
     54echo " - MORPHEO_SCRIPT       is set to ${MORPHEO_SCRIPT}"
     55echo " - MORPHEO_HOME         is set to ${MORPHEO_HOME}"
     56echo " - MORPHEO_PREFIX       is set to ${MORPHEO_PREFIX}"
     57echo " - MORPHEO_TMP          is set to ${MORPHEO_TMP}"
    4558
    4659#----------
Note: See TracChangeset for help on using the changeset viewer.