Ignore:
Timestamp:
Jul 8, 2009, 8:40:08 PM (15 years ago)
Author:
rosiere
Message:

1) add constant method
2) test with systemc 2.2.0

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end
Files:
10 added
24 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/include/Context_State.h

    r123 r131  
    209209                                               
    210210#ifdef SYSTEMC                                 
     211  public  : void        constant                  (void);
    211212  public  : void        transition                (void);
    212213  public  : void        genMoore                  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State.cpp

    r123 r131  
    7575    if (usage_is_set(_usage,USE_SYSTEMC))
    7676      {
    77         // Constant
    78         for (uint32_t i=0; i<_param->_nb_context; i++)
    79           {
    80             internal_BRANCH_EVENT_ACK [i] = 1;
    81             PORT_WRITE(out_BRANCH_EVENT_ACK [i], internal_BRANCH_EVENT_ACK [i]);
    82           }
     77#ifdef SYSTEMCASS_SPECIFIC
     78        constant();
     79#else
     80        log_printf(INFO,Context_State,FUNCTION,_("Method - constant"));
    8381
    84 //      for (uint32_t i=0; i<_param->_nb_decod_unit; i++)
    85 //        {
    86 //          internal_DECOD_EVENT_ACK [i] = 1;
    87 //          PORT_WRITE(out_DECOD_EVENT_ACK [i], internal_DECOD_EVENT_ACK [i]);
    88 //        }
    89 
    90         internal_COMMIT_EVENT_ACK = 1;
    91         PORT_WRITE(out_COMMIT_EVENT_ACK, internal_COMMIT_EVENT_ACK);
    92 
    93         for (uint32_t i=0; i<_param->_nb_inst_branch_complete; i++)
    94           {
    95             internal_BRANCH_COMPLETE_ACK [i] = 1;
    96             PORT_WRITE(out_BRANCH_COMPLETE_ACK [i], internal_BRANCH_COMPLETE_ACK [i]);
    97           }
     82        SC_METHOD (constant);
     83//      dont_initialize ();
     84       
     85# ifdef SYSTEMCASS_SPECIFIC
     86        // List dependency information
     87# endif   
     88#endif
    9889
    9990        log_printf(INFO,Context_State,FUNCTION,_("Method - transition"));
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/include/Front_end_Glue.h

    r119 r131  
    180180                                               
    181181#ifdef SYSTEMC                                 
     182  public  : void        constant                  (void);
    182183  public  : void        transition                (void);
    183184//public  : void        genMoore                  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/src/Front_end_Glue.cpp

    r123 r131  
    7575    if (usage_is_set(_usage,USE_SYSTEMC))
    7676      {
    77         // Constant
    78         if (_param->_have_port_context_id)
    79           for (uint32_t i=0; i<_param->_nb_decod_unit; ++i)
    80             for (uint32_t j=0; j<_param->_decod_unit_nb_context[i]; ++j)
    81               PORT_WRITE(out_IFETCH_DECOD_UNIT_CONTEXT_ID [i][j],j);
    82        
     77#ifdef SYSTEMCASS_SPECIFIC
     78        constant();
     79#else
     80        log_printf(INFO,Front_end_Glue,FUNCTION,_("<%s> : Method - constant"),_name.c_str());
     81
     82        SC_METHOD (constant);
     83//      dont_initialize ();
     84       
     85# ifdef SYSTEMCASS_SPECIFIC
     86        // List dependency information
     87# endif   
     88#endif
     89
    8390        log_printf(INFO,Front_end_Glue,FUNCTION,_("<%s> : Method - transition"),_name.c_str());
    8491
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/SelfTest/src/test.cpp

    r113 r131  
    2323  morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,50);
    2424#endif
     25
     26  _model.set_model(MODEL_SYSTEMC, true);
    2527
    2628  Tusage_t _usage = USE_ALL;
     
    180182  TEST(Tcontrol_t, out_EVENT_ACK->read()  , true ); // can receveive an event
    181183
     184#ifdef SELFTEST
    182185  uint32_t        jump      = 7 ;// packet
    183186  uint32_t        nb_packet = 1;
     
    412415
    413416      SC_START(1);
    414      
    415417    }
     418#else
     419  SC_START(100);
     420#endif // SELFTEST
    416421
    417422  /********************************************************
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/include/Address_management.h

    r101 r131  
    167167                                               
    168168#ifdef SYSTEMC                                 
     169  public  : void        constant                  (void);
    169170  public  : void        transition                (void);
    170171  public  : void        genMoore                  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management.cpp

    r123 r131  
    7474    if (usage_is_set(_usage,USE_SYSTEMC))
    7575      {
    76         // Affect output constant
    77         internal_EVENT_ACK = 1;
    78         PORT_WRITE(out_EVENT_ACK, internal_EVENT_ACK);
     76#ifdef SYSTEMCASS_SPECIFIC
     77        constant();
     78#else
     79        log_printf(INFO,Address_management,FUNCTION,"Method - constant");
     80
     81        SC_METHOD (constant);
     82//      dont_initialize ();
     83       
     84# ifdef SYSTEMCASS_SPECIFIC
     85        // List dependency information
     86# endif   
     87#endif
    7988
    8089        log_printf(INFO,Address_management,FUNCTION,"Method - transition");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/src/test.cpp

    r113 r131  
    107107  ALLOC0_SC_SIGNAL(out_DECOD_BRANCH_STATE                 ,"out_DECOD_BRANCH_STATE                 ",Tbranch_state_t      );
    108108  ALLOC0_SC_SIGNAL(out_DECOD_BRANCH_UPDATE_PREDICTION_ID  ,"out_DECOD_BRANCH_UPDATE_PREDICTION_ID  ",Tprediction_ptr_t    );
    109   ALLOC0_SC_SIGNAL(out_DECOD_EXCEPTION                    ,"out_DECOD_EXCEPTION                    ",Tprediction_ptr_t    );
     109  ALLOC0_SC_SIGNAL(out_DECOD_EXCEPTION                    ,"out_DECOD_EXCEPTION                    ",Texception_t         );
    110110  ALLOC0_SC_SIGNAL( in_ICACHE_RSP_VAL                     ," in_ICACHE_RSP_VAL                     ",Tcontrol_t           );
    111111  ALLOC0_SC_SIGNAL(out_ICACHE_RSP_ACK                     ,"out_ICACHE_RSP_ACK                     ",Tcontrol_t           );
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/include/Ifetch_queue.h

    r82 r131  
    145145                                               
    146146#ifdef SYSTEMC                                 
     147  public  : void        constant                  (void);
    147148  public  : void        transition                (void);
    148149  public  : void        genMoore                  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp

    r123 r131  
    7474    if (usage_is_set(_usage,USE_SYSTEMC))
    7575      {
    76         // constant output
    77         internal_ICACHE_RSP_ACK  = 1;
    78         internal_EVENT_RESET_ACK = 1;
     76        log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - constant"),_name.c_str());
    7977
    80         PORT_WRITE(out_ICACHE_RSP_ACK , internal_ICACHE_RSP_ACK );
    81         PORT_WRITE(out_EVENT_RESET_ACK, internal_EVENT_RESET_ACK);
     78        SC_METHOD (constant);
     79//      dont_initialize ();
     80       
     81# ifdef SYSTEMCASS_SPECIFIC
     82        // List dependency information
     83# endif   
    8284
    8385        log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - transition"),_name.c_str());
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/include/Ifetch_unit_Glue.h

    r85 r131  
    123123                                               
    124124#ifdef SYSTEMC                                 
     125  public  : void        constant                  (void);
    125126# if defined(STATISTICS) or defined(VHDL_TESTBENCH)
    126127  public  : void        transition                (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp

    r123 r131  
    7474    if (usage_is_set(_usage,USE_SYSTEMC))
    7575      {
    76         // Write constant
    77         PORT_WRITE(out_ICACHE_REQ_TYPE,ICACHE_TYPE_LOAD);
     76#ifdef SYSTEMCASS_SPECIFIC
     77        constant();
     78#else
     79        log_printf(INFO,Ifetch_unit_Glue,FUNCTION,"Method - constant");
     80
     81        SC_METHOD (constant);
     82//      dont_initialize ();
     83
     84#  ifdef SYSTEMCASS_SPECIFIC
     85        // List dependency information
     86#  endif   
     87#endif
    7888
    7989# if defined(STATISTICS) or defined(VHDL_TESTBENCH)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Ifetch_unit_allocation.cpp

    r112 r131  
    156156    {
    157157      name = _name+"_address_management";
    158       log_printf(Ifetch_unit,Core,FUNCTION,_("Create   : %s"),name.c_str());
    159      
     158      log_printf(INFO,Ifetch_unit,FUNCTION,_("Create   : %s"),name.c_str());
     159   
    160160      _component_address_management = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::address_management::Address_management
    161161        (name.c_str()
     
    165165         ,_param->_param_address_management
    166166         ,_usage);
    167      
     167
    168168      _component->set_component (_component_address_management->_component
    169169#ifdef POSITION
     
    175175    {
    176176      name = _name+"_ifetch_queue";
    177       log_printf(Ifetch_unit,Core,FUNCTION,_("Create   : %s"),name.c_str());
    178      
     177      log_printf(INFO,Ifetch_unit,FUNCTION,_("Create   : %s"),name.c_str());
     178
    179179      _component_ifetch_queue = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::ifetch_queue::Ifetch_queue
    180180        (name.c_str()
     
    184184         ,_param->_param_ifetch_queue
    185185         ,_usage);
    186      
     186
    187187      _component->set_component (_component_ifetch_queue->_component
    188188#ifdef POSITION
     
    194194    {
    195195      name = _name+"_ifetch_unit_glue";
    196       log_printf(Ifetch_unit,Core,FUNCTION,_("Create   : %s"),name.c_str());
    197      
     196      log_printf(INFO,Ifetch_unit,FUNCTION,_("Create   : %s"),name.c_str());
     197
    198198      _component_ifetch_unit_glue = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::ifetch_unit_glue::Ifetch_unit_Glue
    199199        (name.c_str()
     
    203203         ,_param->_param_ifetch_unit_glue
    204204         ,_usage);
    205      
     205
    206206      _component->set_component (_component_ifetch_unit_glue->_component
    207207#ifdef POSITION
     
    219219    {
    220220      src = _name+"_address_management";
    221       log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
     221      log_printf(INFO,Ifetch_unit,FUNCTION,_("Instance : %s"),src.c_str());
    222222           
    223223      {
     
    337337    {
    338338      src = _name+"_ifetch_queue";
    339       log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
     339      log_printf(INFO,Ifetch_unit,FUNCTION,_("Instance : %s"),src.c_str());
    340340           
    341341      {
     
    459459    {
    460460      src = _name+"_ifetch_unit_glue";
    461       log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
     461      log_printf(INFO,Ifetch_unit,FUNCTION,_("Instance : %s"),src.c_str());
    462462           
    463463      {
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/include/Branch_Target_Buffer_Register.h

    r113 r131  
    150150                                               
    151151#ifdef SYSTEMC                                 
     152  public  : void        constant                  (void);
    152153  public  : void        transition                (void);
    153154  public  : void        genMealy_predict          (void);
  • 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

    r123 r131  
    7474    if (usage_is_set(_usage,USE_SYSTEMC))
    7575      {
    76         // Constant
    77         for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
    78           {
    79             PORT_WRITE(out_PREDICT_ACK [i],1);
    80           }
    81         for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
    82           {
    83             internal_DECOD_ACK [i] = 1;
    84             PORT_WRITE(out_DECOD_ACK [i], internal_DECOD_ACK [i]);
    85           }
    86         for (uint32_t i=0; i<_param->_nb_inst_update; i++)
    87           {
    88             internal_UPDATE_ACK [i] = 1;
    89             PORT_WRITE(out_UPDATE_ACK [i], internal_UPDATE_ACK [i]);
    90           }
     76#ifdef SYSTEMCASS_SPECIFIC
     77        constant();
     78#else
     79        log_printf(INFO,Branch_Target_Buffer_Register,FUNCTION,"Method - constant");
     80
     81        SC_METHOD (constant);
     82//      dont_initialize ();
     83       
     84# ifdef SYSTEMCASS_SPECIFIC
     85        // List dependency information
     86# endif   
     87#endif
    9188
    9289        log_printf(INFO,Branch_Target_Buffer_Register,FUNCTION,"Method - transition");
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/include/Direction_Glue.h

    r112 r131  
    130130                                               
    131131#ifdef SYSTEMC                                 
     132  public  : void        constant                  (void);
    132133# if defined(STATISTICS) or defined(VHDL_TESTBENCH)
    133134  public  : void        transition                (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/src/Direction_Glue.cpp

    r123 r131  
    8484            // no need update
    8585            need_genmealy_update = false;
    86             for (uint32_t i=0; i<_param->_nb_inst_update; i++)
    87               PORT_WRITE(out_UPDATE_ACK [i], 1);
    8886
    8987            // always ack
    9088            for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
    9189              {
    92                 PORT_WRITE(out_PREDICT_ACK [i], 1);
    93                
    9490                // constant direction : never / always
    9591                switch (_param->_predictor_scheme)
     
    9894                    {
    9995                      need_genmealy_predict = false;
    100                       PORT_WRITE(out_PREDICT_DIRECTION [i], 0);
    10196                      break;
    10297                    }
     
    10499                    {
    105100                      need_genmealy_predict = false;
    106                       PORT_WRITE(out_PREDICT_DIRECTION [i], 1);
    107101                      break;
    108102                    }
     
    111105              }
    112106          }
     107
     108#ifdef SYSTEMCASS_SPECIFIC
     109        constant();
     110#else
     111        log_printf(INFO,Direction_Glue,FUNCTION,"Method - constant");
     112       
     113        SC_METHOD (constant);
     114//      dont_initialize ();
     115       
     116#  ifdef SYSTEMCASS_SPECIFIC
     117        // List dependency information
     118#  endif   
     119#endif
    113120
    114121# if defined(STATISTICS) or defined(VHDL_TESTBENCH)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/include/Two_Level_Branch_Predictor.h

    r115 r131  
    129129                                               
    130130#ifdef SYSTEMC                                 
     131  public  : void        constant                  (void);
    131132  public  : void        transition                (void);
    132133  public  : void        genMealy_predict          (void);
  • 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

    r111 r131  
    7272    if (usage_is_set(_usage,USE_SYSTEMC))
    7373      {
    74         // Constants :
    75         for (uint32_t i=0; i<_param->_nb_inst_predict; ++i)
    76           {
    77             internal_PREDICT_ACK [i] = 1;
    78             PORT_WRITE(out_PREDICT_ACK [i], internal_PREDICT_ACK [i]);
    79           }
    80         for (uint32_t i=0; i<_param->_nb_inst_update; ++i)
    81           {
    82             internal_UPDATE_ACK [i] = 1;
    83             PORT_WRITE(out_UPDATE_ACK [i], internal_UPDATE_ACK [i]);
    84           }
    85        
     74#ifdef SYSTEMCASS_SPECIFIC
     75        constant();
     76#else
     77        log_printf(INFO,Two_Level_Branch_Predictor,FUNCTION,_("<%s> : Method - constant"),_name.c_str());
     78
     79        SC_METHOD (constant);
     80//      dont_initialize ();
     81       
     82# ifdef SYSTEMCASS_SPECIFIC
     83        // List dependency information
     84# endif   
     85#endif
    8686
    8787        log_printf(INFO,Two_Level_Branch_Predictor,FUNCTION,_("<%s> : Method - transition"),_name.c_str());
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/include/Return_Address_Stack.h

    r100 r131  
    143143                                               
    144144#ifdef SYSTEMC                                 
     145  public  : void        constant                  (void);
    145146  public  : void        transition                (void);
    146147  public  : void        genMealy_predict          (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/src/Return_Address_Stack.cpp

    r123 r131  
    7474    if (usage_is_set(_usage,USE_SYSTEMC))
    7575      {
    76         for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
    77           {
    78             internal_PREDICT_ACK [i] = 1;
    79             PORT_WRITE(out_PREDICT_ACK [i], internal_PREDICT_ACK [i]);
    80           }
    81         for (uint32_t i=0; i<_param->_nb_inst_decod  ; i++)
    82           {
    83             internal_DECOD_ACK   [i] = 1;
    84             PORT_WRITE(out_DECOD_ACK   [i], internal_DECOD_ACK   [i]);
    85           }
    86         for (uint32_t i=0; i<_param->_nb_inst_update ; i++)
    87           {
    88             internal_UPDATE_ACK  [i] = 1;
    89             PORT_WRITE(out_UPDATE_ACK  [i], internal_UPDATE_ACK  [i]);
    90           }
     76#ifdef SYSTEMCASS_SPECIFIC
     77        constant();
     78#else
     79        log_printf(INFO,Return_Address_Stack,FUNCTION,"Method - constant");
    9180
     81        SC_METHOD (constant);
     82//      dont_initialize ();
     83       
     84# ifdef SYSTEMCASS_SPECIFIC
     85        // List dependency information
     86# endif   
     87#endif
    9288        log_printf(INFO,Return_Address_Stack,FUNCTION,"Method - transition");
    9389
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/include/Update_Prediction_Table.h

    r122 r131  
    254254                                               
    255255#ifdef SYSTEMC                                 
     256  public  : void        constant                  (void);
    256257  public  : void        transition                (void);
    257258  public  : void        genMoore                  (void);
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table.cpp

    r124 r131  
    7676    if (usage_is_set(_usage,USE_SYSTEMC))
    7777      {
    78         // Constant
    79         for (uint32_t i=0; i<_param->_nb_inst_branch_complete; i++)
    80           {
    81             internal_BRANCH_COMPLETE_ACK [i] = 1;
    82             PORT_WRITE(out_BRANCH_COMPLETE_ACK [i], internal_BRANCH_COMPLETE_ACK [i]);
    83           }
    84         for (uint32_t i=0; i<_param->_nb_context; ++i)
    85           {
    86             internal_EVENT_ACK [i] = 1;
    87             PORT_WRITE(out_EVENT_ACK [i], internal_EVENT_ACK [i]);
    88           }
    89 
     78#ifdef SYSTEMCASS_SPECIFIC
     79        constant();
     80#else
     81        log_printf(INFO,Update_Prediction_Table,FUNCTION,"Method - constant");
     82
     83        SC_METHOD (constant);
     84//      dont_initialize ();
     85       
     86# ifdef SYSTEMCASS_SPECIFIC
     87        // List dependency information
     88# endif   
     89#endif
    9090        log_printf(INFO,Update_Prediction_Table,FUNCTION,"Method - transition");
    9191
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/src/test.cpp

    r128 r131  
    6767  sc_signal<Toperation_t         >  ** out_DECOD_OPERATION                ;
    6868  sc_signal<Tcontrol_t           >  ** out_DECOD_NO_EXECUTE               ;
     69  sc_signal<Tcontrol_t           >  ** out_DECOD_LAST_EVENT               ;
    6970  sc_signal<Tcontrol_t           >  ** out_DECOD_IS_DELAY_SLOT            ;
    7071  sc_signal<Tgeneral_data_t      >  ** out_DECOD_ADDRESS                  ;
     
    144145  ALLOC1_SC_SIGNAL(out_DECOD_OPERATION                ,"out_DECOD_OPERATION                ",Toperation_t         ,_param->_sum_inst_decod);
    145146  ALLOC1_SC_SIGNAL(out_DECOD_NO_EXECUTE               ,"out_DECOD_NO_EXECUTE               ",Tcontrol_t           ,_param->_sum_inst_decod);
     147  ALLOC1_SC_SIGNAL(out_DECOD_LAST_EVENT               ,"out_DECOD_LAST_EVENT               ",Tcontrol_t           ,_param->_sum_inst_decod);
    146148  ALLOC1_SC_SIGNAL(out_DECOD_IS_DELAY_SLOT            ,"out_DECOD_IS_DELAY_SLOT            ",Tcontrol_t           ,_param->_sum_inst_decod);
    147149  ALLOC1_SC_SIGNAL(out_DECOD_ADDRESS                  ,"out_DECOD_ADDRESS                  ",Tgeneral_data_t      ,_param->_sum_inst_decod);
     
    234236  INSTANCE1_SC_SIGNAL(_Front_end,out_DECOD_OPERATION                ,_param->_sum_inst_decod);
    235237  INSTANCE1_SC_SIGNAL(_Front_end,out_DECOD_NO_EXECUTE               ,_param->_sum_inst_decod);
     238  INSTANCE1_SC_SIGNAL(_Front_end,out_DECOD_LAST_EVENT               ,_param->_sum_inst_decod);
    236239  INSTANCE1_SC_SIGNAL(_Front_end,out_DECOD_IS_DELAY_SLOT            ,_param->_sum_inst_decod);
    237240#ifdef DEBUG
     
    319322  LABEL("Initialisation");
    320323
    321   for (uint32_t i=0; i<_param->_nb_context; ++i)
    322     {
    323       in_ICACHE_REQ_ACK     [i]->write(0);
    324       in_ICACHE_RSP_VAL     [i]->write(0);
    325       in_EVENT_ACK          [i]->write(0);
    326       in_SPR_EVENT_ACK      [i]->write(0);
    327       in_NB_INST_COMMIT_ALL [i]->write(0); // no inst
    328       in_NB_INST_COMMIT_MEM [i]->write(0); // no inst
    329       in_SPR_SR_IEE         [i]->write(0); // interrupt disable
    330       in_SPR_SR_EPH         [i]->write(0); // exception msb = 0
    331       in_INTERRUPT_ENABLE   [i]->write(0); // no interrupt
    332     }
    333   for (uint32_t i=0; i<_param->_sum_inst_decod; ++i)
    334     in_DECOD_ACK [i]->write(0);
    335   for (uint32_t i=0; i<_param->_nb_inst_branch_complete; ++i)
    336     in_BRANCH_COMPLETE_VAL [i]->write(0);
    337   in_COMMIT_EVENT_VAL->write(0);
    338 
    339 
    340   for (uint32_t i=0; i<_param->_nb_context; ++i)
    341     {
    342       TEST(Tcontrol_t,out_ICACHE_REQ_VAL      [i]->read(),0);
    343       TEST(Tcontrol_t,out_ICACHE_RSP_ACK      [i]->read(),1); // Can accept a respons
    344       TEST(Tcontrol_t,out_EVENT_VAL           [i]->read(),0);
    345       TEST(Tcontrol_t,out_SPR_EVENT_VAL       [i]->read(),0);
    346       TEST(Tdepth_t  ,out_DEPTH_MIN           [i]->read(),0); // no branch speculated
    347       TEST(Tdepth_t  ,out_DEPTH_MAX           [i]->read(),0); // no branch speculated
    348       TEST(Tdepth_t  ,out_DEPTH_FULL          [i]->read(),0); // no branch speculated
    349     }
    350   for (uint32_t i=0; i<_param->_sum_inst_decod; ++i)
    351   TEST(Tcontrol_t,out_DECOD_VAL           [i]->read(),0);
    352   for (uint32_t i=0; i<_param->_nb_inst_branch_complete; ++i)
    353   TEST(Tcontrol_t,out_BRANCH_COMPLETE_ACK [i]->read(),0); // can't accept (interactive)
    354   TEST(Tcontrol_t,out_COMMIT_EVENT_ACK       ->read(),1); // can accept
     324//   for (uint32_t i=0; i<_param->_nb_context; ++i)
     325//     {
     326//       in_ICACHE_REQ_ACK     [i]->write(0);
     327//       in_ICACHE_RSP_VAL     [i]->write(0);
     328//       in_EVENT_ACK          [i]->write(0);
     329//       in_SPR_EVENT_ACK      [i]->write(0);
     330//       in_NB_INST_COMMIT_ALL [i]->write(0); // no inst
     331//       in_NB_INST_COMMIT_MEM [i]->write(0); // no inst
     332//       in_SPR_SR_IEE         [i]->write(0); // interrupt disable
     333//       in_SPR_SR_EPH         [i]->write(0); // exception msb = 0
     334//       in_INTERRUPT_ENABLE   [i]->write(0); // no interrupt
     335//     }
     336//   for (uint32_t i=0; i<_param->_sum_inst_decod; ++i)
     337//     in_DECOD_ACK [i]->write(0);
     338//   for (uint32_t i=0; i<_param->_nb_inst_branch_complete; ++i)
     339//     in_BRANCH_COMPLETE_VAL [i]->write(0);
     340//   in_COMMIT_EVENT_VAL->write(0);
     341
     342
     343//   for (uint32_t i=0; i<_param->_nb_context; ++i)
     344//     {
     345//       TEST(Tcontrol_t,out_ICACHE_REQ_VAL      [i]->read(),0);
     346//       TEST(Tcontrol_t,out_ICACHE_RSP_ACK      [i]->read(),1); // Can accept a respons
     347//       TEST(Tcontrol_t,out_EVENT_VAL           [i]->read(),0);
     348//       TEST(Tcontrol_t,out_SPR_EVENT_VAL       [i]->read(),0);
     349//       TEST(Tdepth_t  ,out_DEPTH_MIN           [i]->read(),0); // no branch speculated
     350//       TEST(Tdepth_t  ,out_DEPTH_MAX           [i]->read(),0); // no branch speculated
     351//       TEST(Tdepth_t  ,out_DEPTH_FULL          [i]->read(),0); // no branch speculated
     352//     }
     353//   for (uint32_t i=0; i<_param->_sum_inst_decod; ++i)
     354//   TEST(Tcontrol_t,out_DECOD_VAL           [i]->read(),0);
     355//   for (uint32_t i=0; i<_param->_nb_inst_branch_complete; ++i)
     356//   TEST(Tcontrol_t,out_BRANCH_COMPLETE_ACK [i]->read(),0); // can't accept (interactive)
     357//   TEST(Tcontrol_t,out_COMMIT_EVENT_ACK       ->read(),1); // can accept
    355358
    356359  LABEL("Reset");
     
    361364  LABEL("Loop of Test");
    362365
    363   for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++)
     366  for (uint32_t iteration=0; iteration< NB_ITERATION; iteration ++)
    364367    {
    365368      LABEL("Iteration %d",iteration);
     
    399402  DELETE1_SC_SIGNAL(out_DECOD_OPERATION                ,_param->_sum_inst_decod);
    400403  DELETE1_SC_SIGNAL(out_DECOD_NO_EXECUTE               ,_param->_sum_inst_decod);
     404  DELETE1_SC_SIGNAL(out_DECOD_LAST_EVENT               ,_param->_sum_inst_decod);
    401405  DELETE1_SC_SIGNAL(out_DECOD_IS_DELAY_SLOT            ,_param->_sum_inst_decod);
    402406  DELETE1_SC_SIGNAL(out_DECOD_ADDRESS                  ,_param->_sum_inst_decod);
Note: See TracChangeset for help on using the changeset viewer.